<?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>186008</bug_id>
          
          <creation_ts>2018-05-25 21:34:00 -0700</creation_ts>
          <short_desc>[LFC] Implement margin computation</short_desc>
          <delta_ts>2018-05-26 08:27:21 -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>commit-queue</cc>
    
    <cc>koivisto</cc>
    
    <cc>sam</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>1427670</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2018-05-25 21:34:00 -0700</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1427678</commentid>
    <comment_count>1</comment_count>
      <attachid>341386</attachid>
    <who name="alan">zalan</who>
    <bug_when>2018-05-25 21:49:28 -0700</bug_when>
    <thetext>Created attachment 341386
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1427720</commentid>
    <comment_count>2</comment_count>
      <attachid>341386</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-05-26 08:26:10 -0700</bug_when>
    <thetext>Comment on attachment 341386
Patch

Clearing flags on attachment: 341386

Committed r232225: &lt;https://trac.webkit.org/changeset/232225&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1427721</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-05-26 08:26:11 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1427722</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-05-26 08:27:21 -0700</bug_when>
    <thetext>&lt;rdar://problem/40579570&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>341386</attachid>
            <date>2018-05-25 21:49:28 -0700</date>
            <delta_ts>2018-05-26 08:26:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-186008-20180525214927.patch</filename>
            <type>text/plain</type>
            <size>21770</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMyMTg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjFlZTZmYzQzNTFlZmM0
OTNhMjY1MDJlYmIzZjdkYzc5OTgxOWE0My4uMGNjODg4ZjBlMGQwMTU2MWRjY2MyYmFkZmU0MjQ0
OWI5MzIxZmM3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDE4LTA1LTI1ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ10gSW1wbGVtZW50IG1h
cmdpbiBjb21wdXRhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTg2MDA4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICog
bGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6
Rm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVNYXJnaW4gY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0OjpGb3JtYXR0aW5nQ29udGV4dDo6bWFyZ2luVG9wIGNvbnN0KTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Rm9ybWF0dGluZ0NvbnRleHQ6Om1hcmdpbkxlZnQg
Y29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpGb3JtYXR0aW5nQ29u
dGV4dDo6bWFyZ2luQm90dG9tIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Okxh
eW91dDo6Rm9ybWF0dGluZ0NvbnRleHQ6Om1hcmdpblJpZ2h0IGNvbnN0KTogRGVsZXRlZC4KKyAg
ICAgICAgKiBsYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuaDoKKyAgICAgICAgKiBsYXlvdXQvYmxv
Y2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0OjpCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpsYXlvdXQgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlTWFyZ2lu
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6QmxvY2tGb3JtYXR0aW5nQ29udGV4
dDo6bWFyZ2luVG9wIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6
QmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6bWFyZ2luQm90dG9tIGNvbnN0KTogRGVsZXRlZC4KKyAg
ICAgICAgKiBsYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuaDoK
KyAgICAgICAgKiBsYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHRH
ZW9tZXRyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9ybWF0dGluZ0Nv
bnRleHQ6Okdlb21ldHJ5OjppbkZsb3dOb25SZXBsYWNlZEhlaWdodCk6CisgICAgICAgIChXZWJD
b3JlOjpMYXlvdXQ6OkJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5Ojpjb21wdXRlZE1h
cmdpbik6CisgICAgICAgICogbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja01hcmdpbkNvbGxh
cHNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6X2lzTWFyZ2luQm90dG9tQ29sbGFw
c2VkV2l0aFBhcmVudCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OmNvbGxhcHNlZE1hcmdp
bkJvdHRvbUZyb21MYXN0Q2hpbGQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zv
cm1hdHRpbmdDb250ZXh0OjpNYXJnaW5Db2xsYXBzZTo6bWFyZ2luVG9wKToKKyAgICAgICAgKFdl
YkNvcmU6OkxheW91dDo6QmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6TWFyZ2luQ29sbGFwc2U6Om1h
cmdpbkJvdHRvbSk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9ybWF0dGluZ0Nv
bnRleHQ6Ok1hcmdpbkNvbGxhcHNlOjppc01hcmdpbkJvdHRvbUNvbGxhcHNlZFdpdGhQYXJlbnQp
OgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpNYXJn
aW5Db2xsYXBzZTo6aXNNYXJnaW5Ub3BDb2xsYXBzZWRXaXRoUGFyZW50TWFyZ2luQm90dG9tKToK
KyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6QmxvY2tNYXJnaW5Db2xsYXBzZTo6bWFyZ2luVG9w
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6QmxvY2tNYXJnaW5Db2xsYXBz
ZTo6bWFyZ2luQm90dG9tKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Qmxv
Y2tNYXJnaW5Db2xsYXBzZTo6aXNNYXJnaW5Cb3R0b21Db2xsYXBzZWRXaXRoUGFyZW50KTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6QmxvY2tNYXJnaW5Db2xsYXBzZTo6aXNN
YXJnaW5Ub3BDb2xsYXBzZWRXaXRoUGFyZW50TWFyZ2luQm90dG9tKTogRGVsZXRlZC4KKyAgICAg
ICAgKiBsYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrTWFyZ2luQ29sbGFwc2UuaDogUmVtb3Zl
ZC4KKwogMjAxOC0wNS0yNSAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAg
ICAgIFtMRkNdIEltcGxlbWVudCBib3JkZXIgYW5kIHBhZGRpbmcgY29tcHV0YXRpb24KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAy
ZmI3MjRjY2IzZjJiZmE1NjYyNjdiYmJkZjkzZmI4YWI0YjA5MDdjLi5kMzczZTk5MDllNjZlODkz
ZDA3Y2IwYTg1YjQwZjY0OWQ3ZmE3ZTA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC00MDAsNyArNDAwLDYgQEAKIAkJMTE1Q0ZB
N0UyMDhCOEUxMDAwMUU2OTkxIC8qIElubGluZUZvcm1hdHRpbmdTdGF0ZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTE1Q0ZBN0MyMDhCOEUxMDAwMUU2
OTkxIC8qIElubGluZUZvcm1hdHRpbmdTdGF0ZS5oICovOyB9OwogCQkxMTVDRkE4MjIwOEI4RURB
MDAxRTY5OTEgLyogRmxvYXRpbmdTdGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMTE1Q0ZBODAyMDhCOEVEQTAwMUU2OTkxIC8qIEZsb2F0aW5nU3Rh
dGUuaCAqLzsgfTsKIAkJMTE1Q0ZBODYyMDhCOTA2NjAwMUU2OTkxIC8qIEZsb2F0aW5nQ29udGV4
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTE1Q0ZB
ODQyMDhCOTA2NjAwMUU2OTkxIC8qIEZsb2F0aW5nQ29udGV4dC5oICovOyB9OwotCQkxMTVDRkE4
QTIwOEI5MjFBMDAxRTY5OTEgLyogQmxvY2tNYXJnaW5Db2xsYXBzZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTE1Q0ZBODgyMDhCOTIxQTAwMUU2OTkx
IC8qIEJsb2NrTWFyZ2luQ29sbGFwc2UuaCAqLzsgfTsKIAkJMTE1Q0ZBOTcyMDhCOTUyQjAwMUU2
OTkxIC8qIExheW91dEJveC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMTE1Q0ZBOTUyMDhCOTUyQjAwMUU2OTkxIC8qIExheW91dEJveC5oICovOyB9Owog
CQkxMTkzNDA3OTFGRThCOTIzMDA5MzVGMUUgLyogUmVuZGVyVHJlZUJ1aWxkZXJUYWJsZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTE5MzQwNzcxRkU4
QjkyMzAwOTM1RjFFIC8qIFJlbmRlclRyZWVCdWlsZGVyVGFibGUuaCAqLzsgfTsKIAkJMTE5MzQw
OEExRkVCMzU1RDAwOTM1RjFFIC8qIFJlbmRlclRyZWVCdWlsZGVyUnVieS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTE5MzQwODgxRkVCMzU1RDAwOTM1
RjFFIC8qIFJlbmRlclRyZWVCdWlsZGVyUnVieS5oICovOyB9OwpAQCAtNTc1NCw3ICs1NzUzLDYg
QEAKIAkJMTE1Q0ZBODEyMDhCOEVEQTAwMUU2OTkxIC8qIEZsb2F0aW5nU3RhdGUuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gRmxvYXRpbmdTdGF0ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTExNUNGQTg0MjA4QjkwNjYwMDFFNjk5MSAvKiBGbG9hdGluZ0NvbnRleHQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gRmxvYXRpbmdDb250ZXh0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTExNUNGQTg1MjA4QjkwNjYwMDFFNjk5MSAvKiBGbG9hdGluZ0NvbnRleHQuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gRmxvYXRpbmdDb250ZXh0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJMTE1Q0ZBODgyMDhCOTIxQTAwMUU2OTkxIC8qIEJsb2NrTWFyZ2luQ29sbGFwc2Uu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQmxvY2tNYXJnaW5Db2xsYXBzZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkxMTVDRkE4OTIwOEI5MjFBMDAxRTY5OTEgLyogQmxvY2tNYXJnaW5Db2xs
YXBzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBCbG9ja01hcmdpbkNvbGxhcHNlLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMTE1Q0ZBOTUyMDhCOTUyQjAwMUU2OTkxIC8qIExh
eW91dEJveC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMYXlvdXRCb3guaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMTE1Q0ZBOTYyMDhCOTUyQjAwMUU2OTkxIC8qIExheW91dEJveC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBMYXlvdXRCb3guY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMTU3MjcsNyArMTU3MjUsNiBAQAogCQkJCTExMjNBRkRBMjA5QUJCMjAwMDczNkFDQyAv
KiBCbG9ja0ludmFsaWRhdGlvbi5jcHAgKi8sCiAJCQkJMTEyM0FGRDkyMDlBQkIyMDAwNzM2QUND
IC8qIEJsb2NrSW52YWxpZGF0aW9uLmggKi8sCiAJCQkJMTE1Q0ZBODkyMDhCOTIxQTAwMUU2OTkx
IC8qIEJsb2NrTWFyZ2luQ29sbGFwc2UuY3BwICovLAotCQkJCTExNUNGQTg4MjA4QjkyMUEwMDFF
Njk5MSAvKiBCbG9ja01hcmdpbkNvbGxhcHNlLmggKi8sCiAJCQkpOwogCQkJcGF0aCA9IGJsb2Nr
Zm9ybWF0dGluZzsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0yNzE2OCw3ICsyNzE2
NSw2IEBACiAJCQkJOTc2RDZDN0YxMjJCOEEzRDAwMUZEMUY3IC8qIEJsb2JVUkwuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTExNUNGQTZFMjA4QUZBQjcwMDFFNjk5MSAvKiBCbG9ja0Zvcm1hdHRpbmdD
b250ZXh0LmggaW4gSGVhZGVycyAqLywKIAkJCQkxMTVDRkE3QTIwOEI4RDlEMDAxRTY5OTEgLyog
QmxvY2tGb3JtYXR0aW5nU3RhdGUuaCBpbiBIZWFkZXJzICovLAotCQkJCTExNUNGQThBMjA4Qjky
MUEwMDFFNjk5MSAvKiBCbG9ja01hcmdpbkNvbGxhcHNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlC
QzVFQjVFMTBFODFCRTg3MDBCMjU5NjUgLyogQm9yZGVyRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNTg5NTU2RUQxOEQ0QTQ0MDAwNzY0QjAzIC8qIEJvcmRlckVkZ2UuaCBpbiBIZWFkZXJzICov
LAogCQkJCUJDNUVCNURCMEU4MUI3RUEwMEIyNTk2NSAvKiBCb3JkZXJWYWx1ZS5oIGluIEhlYWRl
cnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRl
eHQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmNwcAppbmRl
eCA2NWRkOThhYWIxNDJjMjMxYmJjNzI0NDcwOWEyYTMxYTAwYjU3ODNmLi5lMjM1YTMzZjFiY2Y0
ODg3NWJkNjQyYTBjYmMzMGFjYWZlYTc2OTE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9G
b3JtYXR0aW5nQ29udGV4dC5jcHAKQEAgLTEzNSwyNCArMTM1LDkgQEAgdm9pZCBGb3JtYXR0aW5n
Q29udGV4dDo6Y29tcHV0ZUZsb2F0aW5nSGVpZ2h0KExheW91dENvbnRleHQmIGxheW91dENvbnRl
eHQsIGNvbnMKICAgICBkaXNwbGF5Qm94LnNldEhlaWdodChjb21wdXRlZEhlaWdodCk7CiB9CiAK
LUxheW91dFVuaXQgRm9ybWF0dGluZ0NvbnRleHQ6Om1hcmdpblRvcChjb25zdCBCb3gmKSBjb25z
dAordm9pZCBGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZU1hcmdpbihMYXlvdXRDb250ZXh0Jiwg
Y29uc3QgQm94JiwgRGlzcGxheTo6Qm94JiBkaXNwbGF5Qm94KSBjb25zdAogewotICAgIHJldHVy
biAwOwotfQotCi1MYXlvdXRVbml0IEZvcm1hdHRpbmdDb250ZXh0OjptYXJnaW5MZWZ0KGNvbnN0
IEJveCYpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIDA7Ci19Ci0KLUxheW91dFVuaXQgRm9ybWF0dGlu
Z0NvbnRleHQ6Om1hcmdpbkJvdHRvbShjb25zdCBCb3gmKSBjb25zdAotewotICAgIHJldHVybiAw
OwotfQotCi1MYXlvdXRVbml0IEZvcm1hdHRpbmdDb250ZXh0OjptYXJnaW5SaWdodChjb25zdCBC
b3gmKSBjb25zdAotewotICAgIHJldHVybiAwOworICAgIGRpc3BsYXlCb3guc2V0TWFyZ2luKHsg
MCwgMCwgMCwgMCB9KTsKIH0KIAogdm9pZCBGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZUJvcmRl
ckFuZFBhZGRpbmcoTGF5b3V0Q29udGV4dCYgbGF5b3V0Q29udGV4dCwgY29uc3QgQm94JiBsYXlv
dXRCb3gsIERpc3BsYXk6OkJveCYgZGlzcGxheUJveCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvbGF5
b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmgKaW5kZXggYzU4Njg1Nzk3ODJmZTM4ZDU0YmVkZjBlMmRm
ZGRiZWFlZmRhMzAwYS4uMTQzMjkyYjRiYjIzYjNkODkyODA2NWY4MDlhNzg2ZjZlZDEwNTNhOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmgKQEAgLTc4LDExICs3
OCw3IEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgY29tcHV0ZUZsb2F0aW5nSGVpZ2h0
KExheW91dENvbnRleHQmLCBjb25zdCBCb3gmLCBEaXNwbGF5OjpCb3gmKSBjb25zdDsKICAgICB2
aXJ0dWFsIHZvaWQgY29tcHV0ZUluRmxvd0hlaWdodChMYXlvdXRDb250ZXh0JiwgY29uc3QgQm94
JiwgRGlzcGxheTo6Qm94JikgY29uc3QgPSAwOwogCi0gICAgdmlydHVhbCBMYXlvdXRVbml0IG1h
cmdpblRvcChjb25zdCBCb3gmKSBjb25zdDsKLSAgICB2aXJ0dWFsIExheW91dFVuaXQgbWFyZ2lu
TGVmdChjb25zdCBCb3gmKSBjb25zdDsKLSAgICB2aXJ0dWFsIExheW91dFVuaXQgbWFyZ2luQm90
dG9tKGNvbnN0IEJveCYpIGNvbnN0OwotICAgIHZpcnR1YWwgTGF5b3V0VW5pdCBtYXJnaW5SaWdo
dChjb25zdCBCb3gmKSBjb25zdDsKLQorICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlTWFyZ2luKExh
eW91dENvbnRleHQmLCBjb25zdCBCb3gmLCBEaXNwbGF5OjpCb3gmKSBjb25zdDsKICAgICB2b2lk
IGNvbXB1dGVCb3JkZXJBbmRQYWRkaW5nKExheW91dENvbnRleHQmLCBjb25zdCBCb3gmLCBEaXNw
bGF5OjpCb3gmKSBjb25zdDsKIAogICAgIHZvaWQgcGxhY2VJbkZsb3dQb3NpdGlvbmVkQ2hpbGRy
ZW4oTGF5b3V0Q29udGV4dCYsIGNvbnN0IENvbnRhaW5lciYpIGNvbnN0OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250
ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3Jt
YXR0aW5nQ29udGV4dC5jcHAKaW5kZXggMTUyNjgyMGQyNDI1OTY3NDcxYzk5ZTVhODI2YzJmY2Fm
NmRmYTU0ZS4uYmRlYTNhYjA5MjZkNTA4ZmY2YmUxNjZkNGE5OWUwNDI4YmI0N2UzNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRp
bmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5n
L0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuY3BwCkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgRU5BQkxF
KExBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCiAKICNpbmNsdWRlICJCbG9ja0Zvcm1hdHRpbmdT
dGF0ZS5oIgotI2luY2x1ZGUgIkJsb2NrTWFyZ2luQ29sbGFwc2UuaCIKICNpbmNsdWRlICJEaXNw
bGF5Qm94LmgiCiAjaW5jbHVkZSAiRmxvYXRpbmdDb250ZXh0LmgiCiAjaW5jbHVkZSAiRmxvYXRp
bmdTdGF0ZS5oIgpAQCAtNzUsNiArNzQsNyBAQCB2b2lkIEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6
OmxheW91dChMYXlvdXRDb250ZXh0JiBsYXlvdXRDb250ZXh0LCBGb3JtYXR0aW5nU3RhdAogICAg
ICAgICAgICAgYXV0byYgZGlzcGxheUJveCA9IGxheW91dFBhaXIuZGlzcGxheUJveDsKICAgICAg
ICAgICAgIAogICAgICAgICAgICAgY29tcHV0ZVdpZHRoKGxheW91dENvbnRleHQsIGxheW91dEJv
eCwgZGlzcGxheUJveCk7CisgICAgICAgICAgICBjb21wdXRlTWFyZ2luKGxheW91dENvbnRleHQs
IGxheW91dEJveCwgZGlzcGxheUJveCk7CiAgICAgICAgICAgICBjb21wdXRlQm9yZGVyQW5kUGFk
ZGluZyhsYXlvdXRDb250ZXh0LCBsYXlvdXRCb3gsIGRpc3BsYXlCb3gpOwogICAgICAgICAgICAg
Y29tcHV0ZVN0YXRpY1Bvc2l0aW9uKGxheW91dENvbnRleHQsIGxheW91dEJveCwgZGlzcGxheUJv
eCk7CiAgICAgICAgICAgICBpZiAobGF5b3V0Qm94LmVzdGFibGlzaGVzRm9ybWF0dGluZ0NvbnRl
eHQoKSkgewpAQCAtMTY5LDE0ICsxNjksOSBAQCB2b2lkIEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6
OmNvbXB1dGVJbkZsb3dXaWR0aChMYXlvdXRDb250ZXh0JiBsYXlvdXRDb250ZXh0LCBjbwogICAg
IGRpc3BsYXlCb3guc2V0V2lkdGgoY29tcHV0ZWRXaWR0aCk7CiB9CiAKLUxheW91dFVuaXQgQmxv
Y2tGb3JtYXR0aW5nQ29udGV4dDo6bWFyZ2luVG9wKGNvbnN0IEJveCYgbGF5b3V0Qm94KSBjb25z
dAordm9pZCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlTWFyZ2luKExheW91dENvbnRl
eHQmIGxheW91dENvbnRleHQsIGNvbnN0IEJveCYgbGF5b3V0Qm94LCBEaXNwbGF5OjpCb3gmIGRp
c3BsYXlCb3gpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIEJsb2NrTWFyZ2luQ29sbGFwc2U6Om1hcmdp
blRvcChsYXlvdXRCb3gpOwotfQotCi1MYXlvdXRVbml0IEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6
Om1hcmdpbkJvdHRvbShjb25zdCBCb3gmIGxheW91dEJveCkgY29uc3QKLXsKLSAgICByZXR1cm4g
QmxvY2tNYXJnaW5Db2xsYXBzZTo6bWFyZ2luQm90dG9tKGxheW91dEJveCk7CisgICAgZGlzcGxh
eUJveC5zZXRNYXJnaW4oR2VvbWV0cnk6OmNvbXB1dGVkTWFyZ2luKGxheW91dENvbnRleHQsIGxh
eW91dEJveCkpOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxv
Y2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5oCmluZGV4IDM5Nzgy
OGNkMTMxZThiODZhNGY1MjlhY2MzMWI0YWIxMjJiYzUwODUuLjcxMTFkMjZkMDVjZDk2ZWRjN2Zj
MTBkNDdmOWY1ZThlODU1ZDJhMDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9i
bG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5oCkBAIC01
NSwxMCArNTUsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgY29tcHV0ZUluRmxvd1Bvc2l0aW9uZWRQ
b3NpdGlvbihMYXlvdXRDb250ZXh0JiwgY29uc3QgQm94JiwgRGlzcGxheTo6Qm94JikgY29uc3Qg
b3ZlcnJpZGU7CiAgICAgdm9pZCBjb21wdXRlSW5GbG93V2lkdGgoTGF5b3V0Q29udGV4dCYsIGNv
bnN0IEJveCYsIERpc3BsYXk6OkJveCYpIGNvbnN0IG92ZXJyaWRlOwogICAgIHZvaWQgY29tcHV0
ZUluRmxvd0hlaWdodChMYXlvdXRDb250ZXh0JiwgY29uc3QgQm94JiwgRGlzcGxheTo6Qm94Jikg
Y29uc3Qgb3ZlcnJpZGU7CisgICAgdm9pZCBjb21wdXRlTWFyZ2luKExheW91dENvbnRleHQmLCBj
b25zdCBCb3gmLCBEaXNwbGF5OjpCb3gmKSBjb25zdCBvdmVycmlkZTsKIAotICAgIExheW91dFVu
aXQgbWFyZ2luVG9wKGNvbnN0IEJveCYpIGNvbnN0IG92ZXJyaWRlOwotICAgIExheW91dFVuaXQg
bWFyZ2luQm90dG9tKGNvbnN0IEJveCYpIGNvbnN0IG92ZXJyaWRlOwotICAgIAogICAgIC8vIFRo
aXMgY2xhc3MgaW1wbGVtZW50cyBwb3NpdGlvbmluZyBhbmQgc2l6aW5nIGZvciBib3hlcyBwYXJ0
aWNpcGF0aW5nIGluIGEgYmxvY2sgZm9ybWF0dGluZyBjb250ZXh0LgogICAgIGNsYXNzIEdlb21l
dHJ5IHsKICAgICBwdWJsaWM6CkBAIC02Nyw2ICs2NSwyMiBAQCBwcml2YXRlOgogCiAgICAgICAg
IHN0YXRpYyBMYXlvdXRQb2ludCBzdGF0aWNQb3NpdGlvbihMYXlvdXRDb250ZXh0JiwgY29uc3Qg
Qm94Jik7CiAgICAgICAgIHN0YXRpYyBMYXlvdXRQb2ludCBpbkZsb3dQb3NpdGlvbmVkUG9zaXRp
b24oTGF5b3V0Q29udGV4dCYsIGNvbnN0IEJveCYpOworCisgICAgICAgIHN0YXRpYyBEaXNwbGF5
OjpCb3g6OkVkZ2VzIGNvbXB1dGVkTWFyZ2luKExheW91dENvbnRleHQmLCBjb25zdCBCb3gmKTsK
KyAgICB9OworICAgIAorICAgIC8vIFRoaXMgY2xhc3MgaW1wbGVtZW50cyBtYXJnaW4gY29sbGFw
c2luZyBmb3IgYmxvY2sgZm9ybWF0dGluZyBjb250ZXh0LgorICAgIGNsYXNzIE1hcmdpbkNvbGxh
cHNlIHsKKyAgICBwdWJsaWM6CisgICAgICAgIHN0YXRpYyBMYXlvdXRVbml0IG1hcmdpblRvcChj
b25zdCBCb3gmKTsKKyAgICAgICAgc3RhdGljIExheW91dFVuaXQgbWFyZ2luQm90dG9tKGNvbnN0
IEJveCYpOworCisgICAgICAgIHN0YXRpYyBib29sIGlzTWFyZ2luQm90dG9tQ29sbGFwc2VkV2l0
aFBhcmVudChjb25zdCBCb3gmKTsKKyAgICAgICAgc3RhdGljIGJvb2wgaXNNYXJnaW5Ub3BDb2xs
YXBzZWRXaXRoUGFyZW50TWFyZ2luQm90dG9tKGNvbnN0IEJveCYpOworICAgIAorICAgIHByaXZh
dGU6CisgICAgICAgIHN0YXRpYyBMYXlvdXRVbml0IGNvbGxhcHNlZE1hcmdpbkJvdHRvbUZyb21M
YXN0Q2hpbGQoY29uc3QgQm94Jik7CisgICAgICAgIHN0YXRpYyBMYXlvdXRVbml0IG5vbkNvbGxh
cHNlZE1hcmdpbkJvdHRvbShjb25zdCBCb3gmKTsKICAgICB9OwogfTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250
ZXh0R2VvbWV0cnkuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9C
bG9ja0Zvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwCmluZGV4IGM2NzFjNjZiNDIwMzRkMDVj
MDVhNjQ4MzEyOTk3NzE3YTIwYTIzODQuLmQ1YmU2ZGRiOWMxYTY5OWNmNGI3ZTM1YTNjMGM1ZDk0
MjQ2MjY1ZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRp
bmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5j
cHAKQEAgLTY0LDcgKzY0LDcgQEAgTGF5b3V0VW5pdCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpH
ZW9tZXRyeTo6aW5GbG93Tm9uUmVwbGFjZWRIZWlnaHQoTGF5b3V0Q29udGUKICAgICAvLyAyLiB0
aGUgYm90dG9tIGVkZ2Ugb2YgdGhlIGJvdHRvbSAocG9zc2libHkgY29sbGFwc2VkKSBtYXJnaW4g
b2YgaXRzIGxhc3QgaW4tZmxvdyBjaGlsZCwgaWYgdGhlIGNoaWxkJ3MgYm90dG9tIG1hcmdpbi4u
LgogICAgIGF1dG8qIGxhc3RJbkZsb3dDaGlsZCA9IGRvd25jYXN0PENvbnRhaW5lcj4obGF5b3V0
Qm94KS5sYXN0SW5GbG93Q2hpbGQoKTsKICAgICBBU1NFUlQobGFzdEluRmxvd0NoaWxkKTsKLSAg
ICBpZiAoIUJsb2NrTWFyZ2luQ29sbGFwc2U6OmlzTWFyZ2luQm90dG9tQ29sbGFwc2VkV2l0aFBh
cmVudCgqbGFzdEluRmxvd0NoaWxkKSkgeworICAgIGlmICghQmxvY2tGb3JtYXR0aW5nQ29udGV4
dDo6TWFyZ2luQ29sbGFwc2U6OmlzTWFyZ2luQm90dG9tQ29sbGFwc2VkV2l0aFBhcmVudCgqbGFz
dEluRmxvd0NoaWxkKSkgewogICAgICAgICBhdXRvKiBsYXN0SW5GbG93RGlzcGxheUJveCA9IGxh
eW91dENvbnRleHQuZGlzcGxheUJveEZvckxheW91dEJveCgqbGFzdEluRmxvd0NoaWxkKTsKICAg
ICAgICAgQVNTRVJUKGxhc3RJbkZsb3dEaXNwbGF5Qm94KTsKICAgICAgICAgcmV0dXJuIGxhc3RJ
bkZsb3dEaXNwbGF5Qm94LT5ib3R0b20oKSArIGxhc3RJbkZsb3dEaXNwbGF5Qm94LT5tYXJnaW5C
b3R0b20oKTsKQEAgLTcyLDcgKzcyLDcgQEAgTGF5b3V0VW5pdCBCbG9ja0Zvcm1hdHRpbmdDb250
ZXh0OjpHZW9tZXRyeTo6aW5GbG93Tm9uUmVwbGFjZWRIZWlnaHQoTGF5b3V0Q29udGUKIAogICAg
IC8vIDMuIHRoZSBib3R0b20gYm9yZGVyIGVkZ2Ugb2YgdGhlIGxhc3QgaW4tZmxvdyBjaGlsZCB3
aG9zZSB0b3AgbWFyZ2luIGRvZXNuJ3QgY29sbGFwc2Ugd2l0aCB0aGUgZWxlbWVudCdzIGJvdHRv
bSBtYXJnaW4KICAgICBhdXRvKiBpbkZsb3dDaGlsZCA9IGxhc3RJbkZsb3dDaGlsZDsKLSAgICB3
aGlsZSAoaW5GbG93Q2hpbGQgJiYgQmxvY2tNYXJnaW5Db2xsYXBzZTo6aXNNYXJnaW5Ub3BDb2xs
YXBzZWRXaXRoUGFyZW50TWFyZ2luQm90dG9tKCppbkZsb3dDaGlsZCkpCisgICAgd2hpbGUgKGlu
Rmxvd0NoaWxkICYmIEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Ok1hcmdpbkNvbGxhcHNlOjppc01h
cmdpblRvcENvbGxhcHNlZFdpdGhQYXJlbnRNYXJnaW5Cb3R0b20oKmluRmxvd0NoaWxkKSkKICAg
ICAgICAgaW5GbG93Q2hpbGQgPSBpbkZsb3dDaGlsZC0+cHJldmlvdXNJbkZsb3dTaWJsaW5nKCk7
CiAgICAgaWYgKGluRmxvd0NoaWxkKSB7CiAgICAgICAgIGF1dG8qIGluRmxvd0Rpc3BsYXlCb3gg
PSBsYXlvdXRDb250ZXh0LmRpc3BsYXlCb3hGb3JMYXlvdXRCb3goKmluRmxvd0NoaWxkKTsKQEAg
LTE5OSw2ICsxOTksMTkgQEAgTGF5b3V0UG9pbnQgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6R2Vv
bWV0cnk6OmluRmxvd1Bvc2l0aW9uZWRQb3NpdGlvbihMYXlvdXRDb24KICAgICByZXR1cm4geyBk
aXNwbGF5Qm94LmxlZnQoKSArIGxlZnREZWx0YSwgZGlzcGxheUJveC50b3AoKSArIHRvcERlbHRh
IH07CiB9CiAKK0Rpc3BsYXk6OkJveDo6RWRnZXMgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6R2Vv
bWV0cnk6OmNvbXB1dGVkTWFyZ2luKExheW91dENvbnRleHQmIGxheW91dENvbnRleHQsIGNvbnN0
IEJveCYgbGF5b3V0Qm94KQoreworICAgIGF1dG8mIHN0eWxlID0gbGF5b3V0Qm94LnN0eWxlKCk7
CisgICAgYXV0byBjb250YWluaW5nQmxvY2tXaWR0aCA9IGxheW91dENvbnRleHQuZGlzcGxheUJv
eEZvckxheW91dEJveCgqbGF5b3V0Qm94LmNvbnRhaW5pbmdCbG9jaygpKS0+d2lkdGgoKTsKKwor
ICAgIHJldHVybiBEaXNwbGF5OjpCb3g6OkVkZ2VzKAorICAgICAgICBCbG9ja0Zvcm1hdHRpbmdD
b250ZXh0OjpNYXJnaW5Db2xsYXBzZTo6bWFyZ2luVG9wKGxheW91dEJveCksCisgICAgICAgIHZh
bHVlRm9yTGVuZ3RoKHN0eWxlLm1hcmdpbkxlZnQoKSwgY29udGFpbmluZ0Jsb2NrV2lkdGgpLAor
ICAgICAgICBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpNYXJnaW5Db2xsYXBzZTo6bWFyZ2luQm90
dG9tKGxheW91dEJveCksCisgICAgICAgIHZhbHVlRm9yTGVuZ3RoKHN0eWxlLm1hcmdpblJpZ2h0
KCksIGNvbnRhaW5pbmdCbG9ja1dpZHRoKQorICAgICk7Cit9CisKIH0KIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja01hcmdpbkNvbGxh
cHNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tNYXJn
aW5Db2xsYXBzZS5jcHAKaW5kZXggNTg0ZjQzYWY4YWZlYzdmNTJkMTlmY2E3NDViMTY5MjcyZGQ3
M2U5Yy4uYWNmNWE5ZWE0MDlmMzdjOGJmMGY0NzE4MGI3YzZiZTBlMzY4YjljYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja01hcmdpbkNvbGxh
cHNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2Nr
TWFyZ2luQ29sbGFwc2UuY3BwCkBAIC0yNCw3ICsyNCw3IEBACiAgKi8KIAogI2luY2x1ZGUgImNv
bmZpZy5oIgotI2luY2x1ZGUgIkJsb2NrTWFyZ2luQ29sbGFwc2UuaCIKKyNpbmNsdWRlICJCbG9j
a0Zvcm1hdHRpbmdDb250ZXh0LmgiCiAKICNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09O
VEVYVCkKIApAQCAtMzIsMTMgKzMyLDEwIEBACiAjaW5jbHVkZSAiTGF5b3V0Q29udGFpbmVyLmgi
CiAjaW5jbHVkZSAiTGF5b3V0VW5pdC5oIgogI2luY2x1ZGUgIlJlbmRlclN0eWxlLmgiCi0jaW5j
bHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogbmFt
ZXNwYWNlIExheW91dCB7CiAKLVdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChCbG9ja01hcmdp
bkNvbGxhcHNlKTsKLQogc3RhdGljIExheW91dFVuaXQgbWFyZ2luVmFsdWUoTGF5b3V0VW5pdCBj
dXJyZW50TWFyZ2luVmFsdWUsIExheW91dFVuaXQgY2FuZGlkYXRlTWFyZ2luVmFsdWUpCiB7CiAg
ICAgaWYgKCFjYW5kaWRhdGVNYXJnaW5WYWx1ZSkKQEAgLTEyOCwzMiArMTI1LDEyIEBAIHN0YXRp
YyBMYXlvdXRVbml0IGNvbGxhcHNlZE1hcmdpblRvcEZyb21GaXJzdENoaWxkKGNvbnN0IEJveCYg
bGF5b3V0Qm94KQogICAgIHJldHVybiBtYXJnaW5WYWx1ZShmaXJzdEluRmxvd0NoaWxkLnN0eWxl
KCkubWFyZ2luVG9wKCkudmFsdWUoKSwgY29sbGFwc2VkTWFyZ2luVG9wRnJvbUZpcnN0Q2hpbGQo
Zmlyc3RJbkZsb3dDaGlsZCkpOwogfQogCi1zdGF0aWMgTGF5b3V0VW5pdCBjb2xsYXBzZWRNYXJn
aW5Cb3R0b21Gcm9tTGFzdENoaWxkKGNvbnN0IEJveCYgbGF5b3V0Qm94KQotewotICAgIC8vIENo
ZWNrIGlmIHRoZSBsYXN0IGNoaWxkIHByb3BhZ2F0ZXMgaXRzIG1hcmdpbiBib3R0b20uCi0gICAg
aWYgKCFpczxDb250YWluZXI+KGxheW91dEJveCkgfHwgIWRvd25jYXN0PENvbnRhaW5lcj4obGF5
b3V0Qm94KS5oYXNJbkZsb3dDaGlsZCgpKQotICAgICAgICByZXR1cm4gMDsKLQotICAgIGF1dG8m
IGxhc3RJbkZsb3dDaGlsZCA9ICpkb3duY2FzdDxDb250YWluZXI+KGxheW91dEJveCkubGFzdElu
Rmxvd0NoaWxkKCk7Ci0gICAgaWYgKCFCbG9ja01hcmdpbkNvbGxhcHNlOjppc01hcmdpbkJvdHRv
bUNvbGxhcHNlZFdpdGhQYXJlbnQobGFzdEluRmxvd0NoaWxkKSkKLSAgICAgICAgcmV0dXJuIDA7
Ci0KLSAgICAvLyBDb2xsZWN0IGNvbGxhcHNlZCBtYXJnaW4gYm90dG9tIHJlY3Vyc2l2ZWx5Lgot
ICAgIHJldHVybiBtYXJnaW5WYWx1ZShsYXN0SW5GbG93Q2hpbGQuc3R5bGUoKS5tYXJnaW5Cb3R0
b20oKS52YWx1ZSgpLCBjb2xsYXBzZWRNYXJnaW5Cb3R0b21Gcm9tTGFzdENoaWxkKGxhc3RJbkZs
b3dDaGlsZCkpOwotfQotCiBzdGF0aWMgTGF5b3V0VW5pdCBub25Db2xsYXBzZWRNYXJnaW5Ub3Ao
Y29uc3QgQm94JiBsYXlvdXRCb3gpCiB7CiAgICAgLy8gTm9uIGNvbGxhcHNlZCBtYXJnaW4gdG9w
IGluY2x1ZGVzIGNvbGxhcHNlZCBtYXJnaW4gZnJvbSBpbmZsb3cgZmlyc3QgY2hpbGQuCiAgICAg
cmV0dXJuIG1hcmdpblZhbHVlKGxheW91dEJveC5zdHlsZSgpLm1hcmdpblRvcCgpLnZhbHVlKCks
IGNvbGxhcHNlZE1hcmdpblRvcEZyb21GaXJzdENoaWxkKGxheW91dEJveCkpOwogfQogCi1zdGF0
aWMgTGF5b3V0VW5pdCBub25Db2xsYXBzZWRNYXJnaW5Cb3R0b20oY29uc3QgQm94JiBsYXlvdXRC
b3gpCi17Ci0gICAgLy8gTm9uIGNvbGxhcHNlZCBtYXJnaW4gYm90dG9tIGluY2x1ZGVzIGNvbGxh
cHNlZCBtYXJnaW4gZnJvbSBpbmZsb3cgbGFzdCBjaGlsZC4KLSAgICByZXR1cm4gbWFyZ2luVmFs
dWUobGF5b3V0Qm94LnN0eWxlKCkubWFyZ2luQm90dG9tKCkudmFsdWUoKSwgY29sbGFwc2VkTWFy
Z2luQm90dG9tRnJvbUxhc3RDaGlsZChsYXlvdXRCb3gpKTsKLX0KLQogLypzdGF0aWMgYm9vbCBo
YXNBZGpvaW5pbmdNYXJnaW5Ub3BBbmRCb3R0b20oY29uc3QgQm94JikKIHsKICAgICAvLyBUd28g
bWFyZ2lucyBhcmUgYWRqb2luaW5nIGlmIGFuZCBvbmx5IGlmOgpAQCAtMTY5LDcgKzE0Niw3IEBA
IHN0YXRpYyBMYXlvdXRVbml0IG5vbkNvbGxhcHNlZE1hcmdpbkJvdHRvbShjb25zdCBCb3gmIGxh
eW91dEJveCkKICAgICByZXR1cm4gZmFsc2U7CiB9Ki8KIAotTGF5b3V0VW5pdCBCbG9ja01hcmdp
bkNvbGxhcHNlOjptYXJnaW5Ub3AoY29uc3QgQm94JiBsYXlvdXRCb3gpCitMYXlvdXRVbml0IEJs
b2NrRm9ybWF0dGluZ0NvbnRleHQ6Ok1hcmdpbkNvbGxhcHNlOjptYXJnaW5Ub3AoY29uc3QgQm94
JiBsYXlvdXRCb3gpCiB7CiAgICAgaWYgKGxheW91dEJveC5pc0Fub255bW91cygpKQogICAgICAg
ICByZXR1cm4gMDsKQEAgLTE5MywxMyArMTcwLDEzIEBAIExheW91dFVuaXQgQmxvY2tNYXJnaW5D
b2xsYXBzZTo6bWFyZ2luVG9wKGNvbnN0IEJveCYgbGF5b3V0Qm94KQogICAgIHJldHVybiBtYXJn
aW5WYWx1ZShtYXJnaW5Ub3AsIHByZXZpb3VzU2libGluZ01hcmdpbkJvdHRvbSk7CiB9CiAKLUxh
eW91dFVuaXQgQmxvY2tNYXJnaW5Db2xsYXBzZTo6bWFyZ2luQm90dG9tKGNvbnN0IEJveCYgbGF5
b3V0Qm94KQorTGF5b3V0VW5pdCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpNYXJnaW5Db2xsYXBz
ZTo6bWFyZ2luQm90dG9tKGNvbnN0IEJveCYgbGF5b3V0Qm94KQogewogICAgIGlmIChsYXlvdXRC
b3guaXNBbm9ueW1vdXMoKSkKICAgICAgICAgcmV0dXJuIDA7CiAKICAgICAvLyBUT0RPOiB0YWtl
IF9oYXNBZGpvaW5pbmdNYXJnaW5Ub3BBbmRCb3R0b20oKSBpbnRvIGFjY291bnQuCi0gICAgaWYg
KGlzTWFyZ2luQm90dG9tQ29sbGFwc2VkV2l0aFBhcmVudChsYXlvdXRCb3gpKQorICAgIGlmIChC
bG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpNYXJnaW5Db2xsYXBzZTo6aXNNYXJnaW5Cb3R0b21Db2xs
YXBzZWRXaXRoUGFyZW50KGxheW91dEJveCkpCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgLy8g
RmxvYXRzIGFuZCBvdXQgb2YgZmxvdyBwb3NpdGlvbmVkIGJveGVzIGRvIG5vdCBjb2xsYXBzZSB0
aGVpciBtYXJnaW5zLgpAQCAtMjEzLDcgKzE5MCw3IEBAIExheW91dFVuaXQgQmxvY2tNYXJnaW5D
b2xsYXBzZTo6bWFyZ2luQm90dG9tKGNvbnN0IEJveCYgbGF5b3V0Qm94KQogICAgIHJldHVybiBu
b25Db2xsYXBzZWRNYXJnaW5Cb3R0b20obGF5b3V0Qm94KTsKIH0KIAotYm9vbCBCbG9ja01hcmdp
bkNvbGxhcHNlOjppc01hcmdpbkJvdHRvbUNvbGxhcHNlZFdpdGhQYXJlbnQoY29uc3QgQm94JiBs
YXlvdXRCb3gpCitib29sIEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Ok1hcmdpbkNvbGxhcHNlOjpp
c01hcmdpbkJvdHRvbUNvbGxhcHNlZFdpdGhQYXJlbnQoY29uc3QgQm94JiBsYXlvdXRCb3gpCiB7
CiAgICAgLy8gbGFzdCBpbmZsb3cgYm94IHRvIHBhcmVudC4KICAgICAvLyBodHRwczovL3d3dy53
My5vcmcvVFIvQ1NTMjEvYm94Lmh0bWwjY29sbGFwc2luZy1tYXJnaW5zCkBAIC0yNDksMTEgKzIy
NiwzMSBAQCBib29sIEJsb2NrTWFyZ2luQ29sbGFwc2U6OmlzTWFyZ2luQm90dG9tQ29sbGFwc2Vk
V2l0aFBhcmVudChjb25zdCBCb3gmIGxheW91dEJveAogICAgIHJldHVybiB0cnVlOwogfQogCi1i
b29sIEJsb2NrTWFyZ2luQ29sbGFwc2U6OmlzTWFyZ2luVG9wQ29sbGFwc2VkV2l0aFBhcmVudE1h
cmdpbkJvdHRvbShjb25zdCBCb3gmKQorYm9vbCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpNYXJn
aW5Db2xsYXBzZTo6aXNNYXJnaW5Ub3BDb2xsYXBzZWRXaXRoUGFyZW50TWFyZ2luQm90dG9tKGNv
bnN0IEJveCYpCiB7CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitMYXlvdXRVbml0IEJsb2NrRm9y
bWF0dGluZ0NvbnRleHQ6Ok1hcmdpbkNvbGxhcHNlOjpjb2xsYXBzZWRNYXJnaW5Cb3R0b21Gcm9t
TGFzdENoaWxkKGNvbnN0IEJveCYgbGF5b3V0Qm94KQoreworICAgIC8vIENoZWNrIGlmIHRoZSBs
YXN0IGNoaWxkIHByb3BhZ2F0ZXMgaXRzIG1hcmdpbiBib3R0b20uCisgICAgaWYgKCFpczxDb250
YWluZXI+KGxheW91dEJveCkgfHwgIWRvd25jYXN0PENvbnRhaW5lcj4obGF5b3V0Qm94KS5oYXNJ
bkZsb3dDaGlsZCgpKQorICAgICAgICByZXR1cm4gMDsKKworICAgIGF1dG8mIGxhc3RJbkZsb3dD
aGlsZCA9ICpkb3duY2FzdDxDb250YWluZXI+KGxheW91dEJveCkubGFzdEluRmxvd0NoaWxkKCk7
CisgICAgaWYgKCFpc01hcmdpbkJvdHRvbUNvbGxhcHNlZFdpdGhQYXJlbnQobGFzdEluRmxvd0No
aWxkKSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICAvLyBDb2xsZWN0IGNvbGxhcHNlZCBtYXJn
aW4gYm90dG9tIHJlY3Vyc2l2ZWx5LgorICAgIHJldHVybiBtYXJnaW5WYWx1ZShsYXN0SW5GbG93
Q2hpbGQuc3R5bGUoKS5tYXJnaW5Cb3R0b20oKS52YWx1ZSgpLCBjb2xsYXBzZWRNYXJnaW5Cb3R0
b21Gcm9tTGFzdENoaWxkKGxhc3RJbkZsb3dDaGlsZCkpOworfQorCitMYXlvdXRVbml0IEJsb2Nr
Rm9ybWF0dGluZ0NvbnRleHQ6Ok1hcmdpbkNvbGxhcHNlOjpub25Db2xsYXBzZWRNYXJnaW5Cb3R0
b20oY29uc3QgQm94JiBsYXlvdXRCb3gpCit7CisgICAgLy8gTm9uIGNvbGxhcHNlZCBtYXJnaW4g
Ym90dG9tIGluY2x1ZGVzIGNvbGxhcHNlZCBtYXJnaW4gZnJvbSBpbmZsb3cgbGFzdCBjaGlsZC4K
KyAgICByZXR1cm4gbWFyZ2luVmFsdWUobGF5b3V0Qm94LnN0eWxlKCkubWFyZ2luQm90dG9tKCku
dmFsdWUoKSwgY29sbGFwc2VkTWFyZ2luQm90dG9tRnJvbUxhc3RDaGlsZChsYXlvdXRCb3gpKTsK
K30KKwogfQogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxv
Y2tmb3JtYXR0aW5nL0Jsb2NrTWFyZ2luQ29sbGFwc2UuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tNYXJnaW5Db2xsYXBzZS5oCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA5ZGU4YjJkNmVhZDM2OGUyMDkwNGI3Nzk5MzgyZDVhOGNkNTk0MTM0Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tNYXJnaW5Db2xsYXBzZS5oCisrKyAvZGV2
L251bGwKQEAgLTEsNTIgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
LSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwot
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaWYg
RU5BQkxFKExBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCi0KLSNpbmNsdWRlICJMYXlvdXRVbml0
LmgiCi0jaW5jbHVkZSA8d3RmL0lzb01hbGxvYy5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0K
LW5hbWVzcGFjZSBMYXlvdXQgewotCi1jbGFzcyBCb3g7Ci0KLS8vIFRoaXMgY2xhc3MgaW1wbGVt
ZW50cyBtYXJnaW4gY29sbGFwc2luZyBmb3IgYmxvY2sgZm9ybWF0dGluZyBjb250ZXh0LgotY2xh
c3MgQmxvY2tNYXJnaW5Db2xsYXBzZSB7Ci0gICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChCbG9j
a01hcmdpbkNvbGxhcHNlKTsKLXB1YmxpYzoKLSAgICBzdGF0aWMgTGF5b3V0VW5pdCBtYXJnaW5U
b3AoY29uc3QgQm94Jik7Ci0gICAgc3RhdGljIExheW91dFVuaXQgbWFyZ2luQm90dG9tKGNvbnN0
IEJveCYpOwotCi0gICAgc3RhdGljIGJvb2wgaXNNYXJnaW5Cb3R0b21Db2xsYXBzZWRXaXRoUGFy
ZW50KGNvbnN0IEJveCYpOwotICAgIHN0YXRpYyBib29sIGlzTWFyZ2luVG9wQ29sbGFwc2VkV2l0
aFBhcmVudE1hcmdpbkJvdHRvbShjb25zdCBCb3gmKTsKLX07Ci0KLX0KLX0KLSNlbmRpZgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>