<?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>220232</bug_id>
          
          <creation_ts>2021-01-03 21:57:36 -0800</creation_ts>
          <short_desc>[LFC][IFC] Make &quot;inline level box affects line box geometry&quot; logic more explicit</short_desc>
          <delta_ts>2021-01-10 11:14:14 -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="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>1717061</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2021-01-03 21:57:36 -0800</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1717062</commentid>
    <comment_count>1</comment_count>
      <attachid>416921</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-01-03 22:10:02 -0800</bug_when>
    <thetext>Created attachment 416921
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1717108</commentid>
    <comment_count>2</comment_count>
      <attachid>416939</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-01-04 07:12:54 -0800</bug_when>
    <thetext>Created attachment 416939
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718586</commentid>
    <comment_count>3</comment_count>
      <attachid>417344</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-01-09 21:54:32 -0800</bug_when>
    <thetext>Created attachment 417344
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718606</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-01-10 11:13:06 -0800</bug_when>
    <thetext>Committed r271351: &lt;https://trac.webkit.org/changeset/271351&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 417344.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718607</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-01-10 11:14:14 -0800</bug_when>
    <thetext>&lt;rdar://problem/72976751&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>416921</attachid>
            <date>2021-01-03 22:10:02 -0800</date>
            <delta_ts>2021-01-04 07:12:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220232-20210103221001.patch</filename>
            <type>text/plain</type>
            <size>14512</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxMTE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGI1NmYyZWEzNTRkYjE5
NGM1YTY3MDJkMjJmM2U4MGM2YTIzNmFiMi4uY2Y1Y2I5ZWVkYjgwNGQxZjE0NjdiOTZmNTU1NWRj
NmE3MDMzMGU3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIxLTAxLTAzICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBNYWtlICJp
bmxpbmUgbGV2ZWwgYm94IGFmZmVjdHMgbGluZSBib3ggZ2VvbWV0cnkiIGxvZ2ljIG1vcmUgZXhw
bGljaXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
MDIzMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNp
bmNlIElubGluZUxldmVsQm94Ojppc0VtcHR5IG1ha2VzIGxpdHRsZSBzZW5zZSBpbiBjYXNlIG9m
IG5vbi1pbmxpbmUtYm94ZXMgKGUuZy4gPGJyPiksIGxldCdzIG1ha2UKKyAgICAgICAgdGhlIGZv
bGxvd2luZyBzZXQgb2YgY2hhbmdlczoKKyAgICAgICAgMS4gSW50cm9kdWNlIElubGluZUxldmVs
Qm94OjpzZXRIYXNDb250ZW50IGZvciBpbmxpbmUgYm94ZXMgb25seSAoPHNwYW4+aGFzIGNvbnRl
bnQ8L3NwYW4+LCA8ZGl2PnJvb3QgaW5saW5lYm94IGhhcyBjb250ZW50PC9kaXY+KQorICAgICAg
ICAyLiBCb3RoIGF0b21pYyBhbmQgbGluZSBib3ggbG9naWMgaXMgbW92ZWQgdG8gSW5saW5lRm9y
bWF0dGluZ0NvbnRleHQ6OlF1aXJrczo6aW5saW5lTGV2ZWxCb3hBZmZlY3RzTGluZUJveAorICAg
ICAgICBUaGlzIGlzIGFsc28gaW4gcHJlcGFyYXRpb24gZm9yIG1ha2luZyBpcy1jb25zaWRlcmVk
LWVtcHR5IG1vcmUgZXhwbGljaXQgaW4gZ2VuZXJhbCBmb3IgbGluZS9saW5lIGJveC4KKworICAg
ICAgICAqIGxheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0Lmg6
CisgICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRl
eHRHZW9tZXRyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3hCdWlsZGVy
Ojpjb25zdHJ1Y3RJbmxpbmVMZXZlbEJveGVzKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6
TGluZUJveEJ1aWxkZXI6OmNvbXB1dGVMaW5lQm94SGVpZ2h0QW5kQWxpZ25JbmxpbmVMZXZlbEJv
eGVzVmVydGljYWxseSk6CisgICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5l
Rm9ybWF0dGluZ0NvbnRleHRRdWlya3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJ
bmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6UXVpcmtzOjppbmxpbmVMZXZlbEJveEFmZmVjdHNMaW5l
Qm94IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGluZ0Nv
bnRleHQ6OlF1aXJrczo6c2hvdWxkSW5saW5lTGV2ZWxCb3hTdHJldGNoTGluZUJveCBjb25zdCk6
IERlbGV0ZWQuCisgICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJv
eC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3g6OklubGluZUxldmVsQm94
OjpzZXRIYXNDb250ZW50KToKKyAgICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9Jbmxp
bmVMaW5lQm94Lmg6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3g6OklubGluZUxl
dmVsQm94OjpoYXNDb250ZW50IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGlu
ZUJveDo6SW5saW5lTGV2ZWxCb3g6OmlzRW1wdHkgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpMaW5lQm94OjpJbmxpbmVMZXZlbEJveDo6c2V0SXNOb25FbXB0eSk6
IERlbGV0ZWQuCisKIDIwMjAtMTItMzEgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4K
IAogICAgICAgICBbTEZDXVtJRkNdIEhvcml6b250YWwgcGFkZGluZy9ib3JkZXIgbWFrZXMgdGhl
IGlubGluZSBib3ggbm9uLWVtcHR5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
aW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5oIGIvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuaAppbmRl
eCBlMjY0NDNiZGFjMGVjMGIzODJhYTZiMWY5NTc0NDJjNmFhZmI3MDIzLi5hZDdlYzk3MjM3YzFl
ODhkNzg4NjAyNjdhMTgwN2UyMDQ4YWY0MzJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250
ZXh0LmgKQEAgLTUxLDcgKzUxLDcgQEAgcHVibGljOgogICAgIHB1YmxpYzoKICAgICAgICAgSW5s
aW5lTGF5b3V0VW5pdCBpbml0aWFsTGluZUhlaWdodCgpIGNvbnN0OwogICAgICAgICBib29sIGhh
c1NvZnRXcmFwT3Bwb3J0dW5pdHlBdEltYWdlKCkgY29uc3Q7Ci0gICAgICAgIGJvb2wgc2hvdWxk
SW5saW5lTGV2ZWxCb3hTdHJldGNoTGluZUJveChjb25zdCBMaW5lQm94JiwgY29uc3QgTGluZUJv
eDo6SW5saW5lTGV2ZWxCb3gmKSBjb25zdDsKKyAgICAgICAgYm9vbCBpbmxpbmVMZXZlbEJveEFm
ZmVjdHNMaW5lQm94KGNvbnN0IExpbmVCb3g6OklubGluZUxldmVsQm94JiwgY29uc3QgTGluZUJv
eCYpIGNvbnN0OwogCiAgICAgcHJpdmF0ZToKICAgICAgICAgZnJpZW5kIGNsYXNzIElubGluZUZv
cm1hdHRpbmdDb250ZXh0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGlu
ZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dEdl
b21ldHJ5LmNwcAppbmRleCAxYmI5YmMzMjcyZGVmZDIyOTFmZWZhOGY0NmY1YTk5M2I2ZjhhZTEz
Li41Y2FkYmFkN2ZjNjU5OGZkZjc4MGVlN2U3YzI1ZmMxYzQ0NmZjZjI0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29u
dGV4dEdlb21ldHJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0
dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcApAQCAtMjIxLDcgKzIyMSw3
IEBAIHZvaWQgTGluZUJveEJ1aWxkZXI6OmNvbnN0cnVjdElubGluZUxldmVsQm94ZXMoTGluZUJv
eCYgbGluZUJveCwgY29uc3QgTGluZTo6UnVuCiAgICAgICAgIGF1dG8gaW5saW5lQm94SGFzSW1h
Z2luYXJ5U3RydXQgPSBsYXlvdXRTdGF0ZSgpLmluTm9RdWlya3NNb2RlKCk7CiAgICAgICAgIGF1
dG8gaXNJbml0aWFsbHlDb25zaWRlcmVkTm9uRW1wdHkgPSAhbGluZUJveC5pc0NvbnNpZGVyZWRF
bXB0eSgpICYmIGlubGluZUJveEhhc0ltYWdpbmFyeVN0cnV0OwogICAgICAgICBpZiAoaXNJbml0
aWFsbHlDb25zaWRlcmVkTm9uRW1wdHkpCi0gICAgICAgICAgICByb290SW5saW5lQm94LT5zZXRJ
c05vbkVtcHR5KCk7CisgICAgICAgICAgICByb290SW5saW5lQm94LT5zZXRIYXNDb250ZW50KCk7
CiAgICAgICAgIHNldFZlcnRpY2FsR2VvbWV0cnlGb3JJbmxpbmVCb3goKnJvb3RJbmxpbmVCb3gp
OwogICAgICAgICBzaW1wbGlmaWVkVmVydGljYWxBbGlnbm1lbnQgPSB7IHsgfSAsIHJvb3RJbmxp
bmVCb3gtPmxheW91dEJvdW5kcygpLmhlaWdodCgpLCByb290SW5saW5lQm94LT5sYXlvdXRCb3Vu
ZHMoKS5hc2NlbnQgLSByb290SW5saW5lQm94LT5iYXNlbGluZSgpIH07CiAgICAgICAgIGxpbmVC
b3guYWRkUm9vdElubGluZUJveChXVEZNb3ZlKHJvb3RJbmxpbmVCb3gpKTsKQEAgLTI4MywxMCAr
MjgzLDYgQEAgdm9pZCBMaW5lQm94QnVpbGRlcjo6Y29uc3RydWN0SW5saW5lTGV2ZWxCb3hlcyhM
aW5lQm94JiBsaW5lQm94LCBjb25zdCBMaW5lOjpSdW4KICAgICAgICAgICAgIGF1dG8gYXRvbWlj
SW5saW5lTGV2ZWxCb3ggPSBMaW5lQm94OjpJbmxpbmVMZXZlbEJveDo6Y3JlYXRlQXRvbWljSW5s
aW5lTGV2ZWxCb3gobGF5b3V0Qm94LCBsb2dpY2FsTGVmdCwgeyBydW4ubG9naWNhbFdpZHRoKCks
IG1hcmdpbkJveEhlaWdodCB9KTsKICAgICAgICAgICAgIGF0b21pY0lubGluZUxldmVsQm94LT5z
ZXRCYXNlbGluZShhc2NlbnQpOwogICAgICAgICAgICAgYXRvbWljSW5saW5lTGV2ZWxCb3gtPnNl
dExheW91dEJvdW5kcyhMaW5lQm94OjpJbmxpbmVMZXZlbEJveDo6TGF5b3V0Qm91bmRzIHsgYXNj
ZW50LCBtYXJnaW5Cb3hIZWlnaHQgLSBhc2NlbnQgfSk7Ci0gICAgICAgICAgICAvLyBXaGlsZSBp
biBwcmFjdGljZSB3aGVuIHRoZSBuZWdhdGl2ZSB2ZXJ0aWNhbCBtYXJnaW4gbWFrZXMgdGhlIGxh
eW91dCBib3VuZHMgZW1wdHkgKGUuZzogaGVpZ2h0OiAxMDBweDsgbWFyZ2luLXRvcDogLTEwMHB4
OyksIGFuZCB0aGlzIGlubGluZQotICAgICAgICAgICAgLy8gbGV2ZWwgYm94IGNvbnRyaWJ1dGVz
IDBweCB0byB0aGUgbGluZSBib3ggaGVpZ2h0LCBpdCBzaG91bGQgbm90IGJlIGNvbnNpZGVyZWQg
ZW1wdHkuCi0gICAgICAgICAgICBpZiAobWFyZ2luQm94SGVpZ2h0IHx8IGlubGluZUxldmVsQm94
R2VvbWV0cnkubWFyZ2luQmVmb3JlKCkgfHwgaW5saW5lTGV2ZWxCb3hHZW9tZXRyeS5tYXJnaW5B
ZnRlcigpKQotICAgICAgICAgICAgICAgIGF0b21pY0lubGluZUxldmVsQm94LT5zZXRJc05vbkVt
cHR5KCk7CiAgICAgICAgICAgICAvLyBMZXQncyBlc3RpbWF0ZSB0aGUgbG9naWNhbCB0b3Agc28g
dGhhdCB3ZSBjYW4gYXZvaWQgcnVubmluZyB0aGUgYWxpZ25tZW50IG9uIHNpbXBsZSBpbmxpbmUg
Ym94ZXMuCiAgICAgICAgICAgICBhdXRvIGFsaWduSW5saW5lQm94SWZFbGlnaWJsZSA9IFsmXSB7
CiAgICAgICAgICAgICAgICAgaWYgKG1faW5saW5lTGV2ZWxCb3hlc05lZWRWZXJ0aWNhbEFsaWdu
bWVudCkKQEAgLTMyNCw3ICszMjAsNyBAQCB2b2lkIExpbmVCb3hCdWlsZGVyOjpjb25zdHJ1Y3RJ
bmxpbmVMZXZlbEJveGVzKExpbmVCb3gmIGxpbmVCb3gsIGNvbnN0IExpbmU6OlJ1bgogICAgICAg
ICAgICAgYXV0byBpbmxpbmVCb3hIYXNJbWFnaW5hcnlTdHJ1dCA9IGxheW91dFN0YXRlKCkuaW5O
b1F1aXJrc01vZGUoKSAmJiAhbGluZUJveC5pc0NvbnNpZGVyZWRFbXB0eSgpOwogICAgICAgICAg
ICAgYXV0byBpc0NvbnNpZGVyZWROb25FbXB0eSA9IGlubGluZUJveEhhc0ltYWdpbmFyeVN0cnV0
IHx8IGlubGluZUJveEdlb21ldHJ5Lmhvcml6b250YWxQYWRkaW5nKCkudmFsdWVPcigwX2x1KSB8
fCBpbmxpbmVCb3hHZW9tZXRyeS5ob3Jpem9udGFsQm9yZGVyKCk7CiAgICAgICAgICAgICBpZiAo
aXNDb25zaWRlcmVkTm9uRW1wdHkpCi0gICAgICAgICAgICAgICAgaW5saW5lQm94LT5zZXRJc05v
bkVtcHR5KCk7CisgICAgICAgICAgICAgICAgaW5saW5lQm94LT5zZXRIYXNDb250ZW50KCk7CiAg
ICAgICAgICAgICBzZXRWZXJ0aWNhbEdlb21ldHJ5Rm9ySW5saW5lQm94KCppbmxpbmVCb3gpOwog
ICAgICAgICAgICAgbGluZUJveC5hZGRJbmxpbmVMZXZlbEJveChXVEZNb3ZlKGlubGluZUJveCkp
OwogICAgICAgICAgICAgY29udGludWU7CkBAIC0zMzgsMTMgKzMzNCwxMiBAQCB2b2lkIExpbmVC
b3hCdWlsZGVyOjpjb25zdHJ1Y3RJbmxpbmVMZXZlbEJveGVzKExpbmVCb3gmIGxpbmVCb3gsIGNv
bnN0IExpbmU6OlJ1bgogICAgICAgICB9CiAgICAgICAgIGlmIChydW4uaXNUZXh0KCkgfHwgcnVu
LmlzU29mdExpbmVCcmVhaygpKSB7CiAgICAgICAgICAgICAvLyBGSVhNRTogQWRqdXN0IG5vbi1l
bXB0eSBpbmxpbmUgYm94IGhlaWdodCB3aGVuIGdseXBocyBmcm9tIHRoZSBub24tcHJpbWFyeSBm
b250IHN0cmV0Y2ggdGhlIGJveC4KLSAgICAgICAgICAgIGxpbmVCb3guaW5saW5lTGV2ZWxCb3hG
b3JMYXlvdXRCb3gobGF5b3V0Qm94LnBhcmVudCgpKS5zZXRJc05vbkVtcHR5KCk7CisgICAgICAg
ICAgICBsaW5lQm94LmlubGluZUxldmVsQm94Rm9yTGF5b3V0Qm94KGxheW91dEJveC5wYXJlbnQo
KSkuc2V0SGFzQ29udGVudCgpOwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KICAg
ICAgICAgaWYgKHJ1bi5pc0hhcmRMaW5lQnJlYWsoKSkgewogICAgICAgICAgICAgYXV0byBsaW5l
QnJlYWtCb3ggPSBMaW5lQm94OjpJbmxpbmVMZXZlbEJveDo6Y3JlYXRlTGluZUJyZWFrQm94KGxh
eW91dEJveCwgbG9naWNhbExlZnQpOwogICAgICAgICAgICAgc2V0VmVydGljYWxHZW9tZXRyeUZv
cklubGluZUJveCgqbGluZUJyZWFrQm94KTsKLSAgICAgICAgICAgIGxpbmVCcmVha0JveC0+c2V0
SXNOb25FbXB0eSgpOwogICAgICAgICAgICAgbGluZUJveC5hZGRJbmxpbmVMZXZlbEJveChXVEZN
b3ZlKGxpbmVCcmVha0JveCkpOwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KQEAg
LTM4MSw3ICszNzYsNyBAQCB2b2lkIExpbmVCb3hCdWlsZGVyOjpjb21wdXRlTGluZUJveEhlaWdo
dEFuZEFsaWduSW5saW5lTGV2ZWxCb3hlc1ZlcnRpY2FsbHkoTGluZQogCiAgICAgICAgIGF1dG8g
bWluaW11bUxvZ2ljYWxUb3AgPSBPcHRpb25hbDxJbmxpbmVMYXlvdXRVbml0PiB7IH07CiAgICAg
ICAgIGF1dG8gbWF4aW11bUxvZ2ljYWxCb3R0b20gPSBPcHRpb25hbDxJbmxpbmVMYXlvdXRVbml0
PiB7IH07Ci0gICAgICAgIGlmICghcm9vdElubGluZUJveC5pc0VtcHR5KCkpIHsKKyAgICAgICAg
aWYgKHF1aXJrcy5pbmxpbmVMZXZlbEJveEFmZmVjdHNMaW5lQm94KHJvb3RJbmxpbmVCb3gsIGxp
bmVCb3gpKSB7CiAgICAgICAgICAgICBtaW5pbXVtTG9naWNhbFRvcCA9IElubGluZUxheW91dFVu
aXQgeyB9OwogICAgICAgICAgICAgbWF4aW11bUxvZ2ljYWxCb3R0b20gPSByb290SW5saW5lQm94
LmxheW91dEJvdW5kcygpLmhlaWdodCgpOwogICAgICAgICAgICAgaW5saW5lTGV2ZWxCb3hBYnNv
bHV0ZVRvcEFuZEJvdHRvbU1hcC5hZGQoJnJvb3RJbmxpbmVCb3gsIEFic29sdXRlVG9wQW5kQm90
dG9tIHsgKm1pbmltdW1Mb2dpY2FsVG9wLCAqbWF4aW11bUxvZ2ljYWxCb3R0b20gfSk7CkBAIC00
NDMsNyArNDM4LDcgQEAgdm9pZCBMaW5lQm94QnVpbGRlcjo6Y29tcHV0ZUxpbmVCb3hIZWlnaHRB
bmRBbGlnbklubGluZUxldmVsQm94ZXNWZXJ0aWNhbGx5KExpbmUKICAgICAgICAgICAgIGF1dG8g
YWJzb2x1dGVMb2dpY2FsQm90dG9tID0gYWJzb2x1dGVMb2dpY2FsVG9wICsgaW5saW5lTGV2ZWxC
b3gtPmxheW91dEJvdW5kcygpLmhlaWdodCgpOwogICAgICAgICAgICAgaW5saW5lTGV2ZWxCb3hB
YnNvbHV0ZVRvcEFuZEJvdHRvbU1hcC5hZGQoaW5saW5lTGV2ZWxCb3guZ2V0KCksIEFic29sdXRl
VG9wQW5kQm90dG9tIHsgYWJzb2x1dGVMb2dpY2FsVG9wLCBhYnNvbHV0ZUxvZ2ljYWxCb3R0b20g
fSk7CiAgICAgICAgICAgICAvLyBTdHJldGNoIHRoZSBtaW4vbWF4IGFic29sdXRlIHZhbHVlcyBp
ZiBhcHBsaWNhYmxlLgotICAgICAgICAgICAgaWYgKHF1aXJrcy5zaG91bGRJbmxpbmVMZXZlbEJv
eFN0cmV0Y2hMaW5lQm94KGxpbmVCb3gsICppbmxpbmVMZXZlbEJveCkpIHsKKyAgICAgICAgICAg
IGlmIChxdWlya3MuaW5saW5lTGV2ZWxCb3hBZmZlY3RzTGluZUJveCgqaW5saW5lTGV2ZWxCb3gs
IGxpbmVCb3gpKSB7CiAgICAgICAgICAgICAgICAgbWluaW11bUxvZ2ljYWxUb3AgPSBzdGQ6Om1p
bihtaW5pbXVtTG9naWNhbFRvcC52YWx1ZU9yKGFic29sdXRlTG9naWNhbFRvcCksIGFic29sdXRl
TG9naWNhbFRvcCk7CiAgICAgICAgICAgICAgICAgbWF4aW11bUxvZ2ljYWxCb3R0b20gPSBzdGQ6
Om1heChtYXhpbXVtTG9naWNhbEJvdHRvbS52YWx1ZU9yKGFic29sdXRlTG9naWNhbEJvdHRvbSks
IGFic29sdXRlTG9naWNhbEJvdHRvbSk7CiAgICAgICAgICAgICB9CkBAIC00NTMsNyArNDQ4LDcg
QEAgdm9pZCBMaW5lQm94QnVpbGRlcjo6Y29tcHV0ZUxpbmVCb3hIZWlnaHRBbmRBbGlnbklubGlu
ZUxldmVsQm94ZXNWZXJ0aWNhbGx5KExpbmUKICAgICAgICAgLy8gMi4gQ2hlY2sgaWYgdGhlIGxp
bmUgYm94IHJlbGF0aXZlIGFsaWduZWQgaW5saW5lIGJveGVzICh0b3AsIGJvdHRvbSBldGMpIGhh
dmUgZW5vdWdoIHJvb20gYW5kIHN0cmV0Y2ggdGhlIGxpbmUgYm94IGZ1cnRoZXIgaWYgbmVlZGVk
LgogICAgICAgICBhdXRvIGxpbmVCb3hMb2dpY2FsSGVpZ2h0ID0gbWF4aW11bUxvZ2ljYWxCb3R0
b20udmFsdWVPcihJbmxpbmVMYXlvdXRVbml0KCkpIC0gbWluaW11bUxvZ2ljYWxUb3AudmFsdWVP
cihJbmxpbmVMYXlvdXRVbml0KCkpOwogICAgICAgICBmb3IgKGF1dG8qIGxpbmVCb3hSZWxhdGl2
ZUlubGluZUxldmVsQm94IDogbGluZUJveFJlbGF0aXZlSW5saW5lTGV2ZWxCb3hlcykgewotICAg
ICAgICAgICAgaWYgKCFxdWlya3Muc2hvdWxkSW5saW5lTGV2ZWxCb3hTdHJldGNoTGluZUJveChs
aW5lQm94LCAqbGluZUJveFJlbGF0aXZlSW5saW5lTGV2ZWxCb3gpKQorICAgICAgICAgICAgaWYg
KCFxdWlya3MuaW5saW5lTGV2ZWxCb3hBZmZlY3RzTGluZUJveCgqbGluZUJveFJlbGF0aXZlSW5s
aW5lTGV2ZWxCb3gsIGxpbmVCb3gpKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAg
ICAgICAgbGluZUJveExvZ2ljYWxIZWlnaHQgPSBzdGQ6Om1heChsaW5lQm94TG9naWNhbEhlaWdo
dCwgbGluZUJveFJlbGF0aXZlSW5saW5lTGV2ZWxCb3gtPmxheW91dEJvdW5kcygpLmhlaWdodCgp
KTsKICAgICAgICAgfQpAQCAtNDY2LDcgKzQ2MSw3IEBAIHZvaWQgTGluZUJveEJ1aWxkZXI6OmNv
bXB1dGVMaW5lQm94SGVpZ2h0QW5kQWxpZ25JbmxpbmVMZXZlbEJveGVzVmVydGljYWxseShMaW5l
CiAgICAgICAgIGlubGluZUxldmVsQm94QWJzb2x1dGVCYXNlbGluZU9mZnNldE1hcC5hZGQoJnJv
b3RJbmxpbmVCb3gsIElubGluZUxheW91dFVuaXQgeyB9KTsKIAogICAgICAgICBhdXRvIG1heGlt
dW1Ub3BPZmZzZXRGcm9tUm9vdElubGluZUJveEJhc2VsaW5lID0gT3B0aW9uYWw8SW5saW5lTGF5
b3V0VW5pdD4geyB9OwotICAgICAgICBpZiAoIXJvb3RJbmxpbmVCb3guaXNFbXB0eSgpKQorICAg
ICAgICBpZiAocXVpcmtzLmlubGluZUxldmVsQm94QWZmZWN0c0xpbmVCb3gocm9vdElubGluZUJv
eCwgbGluZUJveCkpCiAgICAgICAgICAgICBtYXhpbXVtVG9wT2Zmc2V0RnJvbVJvb3RJbmxpbmVC
b3hCYXNlbGluZSA9IHJvb3RJbmxpbmVCb3gubGF5b3V0Qm91bmRzKCkuYXNjZW50OwogCiAgICAg
ICAgIGZvciAoYXV0byYgaW5saW5lTGV2ZWxCb3ggOiBsaW5lQm94Lm5vblJvb3RJbmxpbmVMZXZl
bEJveGVzKCkpIHsKQEAgLTUyNCw3ICs1MTksNyBAQCB2b2lkIExpbmVCb3hCdWlsZGVyOjpjb21w
dXRlTGluZUJveEhlaWdodEFuZEFsaWduSW5saW5lTGV2ZWxCb3hlc1ZlcnRpY2FsbHkoTGluZQog
ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGlubGluZUxldmVs
Qm94QWJzb2x1dGVCYXNlbGluZU9mZnNldE1hcC5hZGQoaW5saW5lTGV2ZWxCb3guZ2V0KCksIGFi
c29sdXRlQmFzZWxpbmVPZmZzZXQpOwotICAgICAgICAgICAgYXV0byBhZmZlY3RzUm9vdElubGlu
ZUJveFZlcnRpY2FsUG9zaXRpb24gPSBxdWlya3Muc2hvdWxkSW5saW5lTGV2ZWxCb3hTdHJldGNo
TGluZUJveChsaW5lQm94LCAqaW5saW5lTGV2ZWxCb3gpOworICAgICAgICAgICAgYXV0byBhZmZl
Y3RzUm9vdElubGluZUJveFZlcnRpY2FsUG9zaXRpb24gPSBxdWlya3MuaW5saW5lTGV2ZWxCb3hB
ZmZlY3RzTGluZUJveCgqaW5saW5lTGV2ZWxCb3gsIGxpbmVCb3gpOwogICAgICAgICAgICAgaWYg
KGFmZmVjdHNSb290SW5saW5lQm94VmVydGljYWxQb3NpdGlvbikKICAgICAgICAgICAgICAgICBt
YXhpbXVtVG9wT2Zmc2V0RnJvbVJvb3RJbmxpbmVCb3hCYXNlbGluZSA9IHN0ZDo6bWF4KG1heGlt
dW1Ub3BPZmZzZXRGcm9tUm9vdElubGluZUJveEJhc2VsaW5lLnZhbHVlT3Ioc3RkOjpudW1lcmlj
X2xpbWl0czxJbmxpbmVMYXlvdXRVbml0Pjo6bG93ZXN0KCkpLCBhYnNvbHV0ZUJhc2VsaW5lT2Zm
c2V0ICsgaW5saW5lTGV2ZWxCb3gtPmxheW91dEJvdW5kcygpLmFzY2VudCk7CiAgICAgICAgIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGlu
ZUZvcm1hdHRpbmdDb250ZXh0UXVpcmtzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxp
bmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0UXVpcmtzLmNwcAppbmRleCA5ZDU5
YjFmOWYwMGFkNTdlOTZmMDY2ZjUzZGYxOWRlNjk2Y2FmY2Y3Li43YjNiNjBmZjI4MjQ3NDU3ZDRh
NjliNWFkNTk0Y2IwN2MyNGRjZTY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
aW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dFF1aXJrcy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0Nv
bnRleHRRdWlya3MuY3BwCkBAIC00MCwxNyArNDAsMjIgQEAgSW5saW5lTGF5b3V0VW5pdCBJbmxp
bmVGb3JtYXR0aW5nQ29udGV4dDo6UXVpcmtzOjppbml0aWFsTGluZUhlaWdodCgpIGNvbnN0CiAg
ICAgcmV0dXJuIHJvb3Quc3R5bGUoKS5mb250TWV0cmljcygpLmZsb2F0SGVpZ2h0KCk7CiB9CiAK
LWJvb2wgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OlF1aXJrczo6c2hvdWxkSW5saW5lTGV2ZWxC
b3hTdHJldGNoTGluZUJveChjb25zdCBMaW5lQm94JiBsaW5lQm94LCBjb25zdCBMaW5lQm94OjpJ
bmxpbmVMZXZlbEJveCYgaW5saW5lTGV2ZWxCb3gpIGNvbnN0Citib29sIElubGluZUZvcm1hdHRp
bmdDb250ZXh0OjpRdWlya3M6OmlubGluZUxldmVsQm94QWZmZWN0c0xpbmVCb3goY29uc3QgTGlu
ZUJveDo6SW5saW5lTGV2ZWxCb3gmIGlubGluZUxldmVsQm94LCBjb25zdCBMaW5lQm94JiBsaW5l
Qm94KSBjb25zdAogewotICAgIGlmIChpbmxpbmVMZXZlbEJveC5pc0VtcHR5KCkpCi0gICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICBpZiAobGF5b3V0U3RhdGUoKS5pbk5vUXVpcmtzTW9kZSgpKQor
ICAgIGlmIChpbmxpbmVMZXZlbEJveC5pc0lubGluZUJveCgpKQorICAgICAgICByZXR1cm4gaW5s
aW5lTGV2ZWxCb3guaGFzQ29udGVudCgpOworICAgIGlmIChpbmxpbmVMZXZlbEJveC5pc0xpbmVC
cmVha0JveCgpKSB7CisgICAgICAgIC8vIDxicj4gaW4gbm9uLXN0YW5kYXJkIG1vZGUgc3RyZXRj
aGVzIHRoZSBsaW5lIGJveCBvbmx5IHdoZW4gdGhlIGxpbmUgaXMgZW1wdHkuCisgICAgICAgIC8v
IGUuZy4gPGRpdj48c3Bhbj48YnI+PC9zcGFuPjwvZGl2PiB3aWxsIHN0cmV0Y2ggYnV0IDxkaXY+
dGhpcyB3aWxsIG5vdCBzdHJldGNoIHRvIDIwMHB4PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMjAw
cHg7Ij48YnI+PC9zcGFuPjwvZGl2PgorICAgICAgICByZXR1cm4gbGF5b3V0U3RhdGUoKS5pbk5v
UXVpcmtzTW9kZSgpID8gdHJ1ZSA6IGxpbmVCb3guaXNDb25zaWRlcmVkRW1wdHkoKTsKKyAgICB9
CisgICAgQVNTRVJUKGlubGluZUxldmVsQm94LmlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSk7Cisg
ICAgaWYgKGlubGluZUxldmVsQm94LmxheW91dEJvdW5kcygpLmFzY2VudCkKICAgICAgICAgcmV0
dXJuIHRydWU7Ci0gICAgaWYgKCFpbmxpbmVMZXZlbEJveC5pc0xpbmVCcmVha0JveCgpKQotICAg
ICAgICByZXR1cm4gdHJ1ZTsKLSAgICAvLyA8YnI+IGluIG5vbi1zdGFuZGFyZCBtb2RlIHN0cmV0
Y2hlcyB0aGUgbGluZSBib3ggb25seSB3aGVuIHRoZSBsaW5lIGlzIGVtcHR5LgotICAgIC8vIGUu
Zy4gPGRpdj48c3Bhbj48YnI+PC9zcGFuPjwvZGl2PiB3aWxsIHN0cmV0Y2ggYnV0IDxkaXY+dGhp
cyB3aWxsIG5vdCBzdHJldGNoIHRvIDIwMHB4PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMjAwcHg7
Ij48YnI+PC9zcGFuPjwvZGl2PgotICAgIHJldHVybiBsaW5lQm94LmlzQ29uc2lkZXJlZEVtcHR5
KCk7CisgICAgLy8gV2hpbGUgaW4gcHJhY3RpY2Ugd2hlbiB0aGUgbmVnYXRpdmUgdmVydGljYWwg
bWFyZ2luIG1ha2VzIHRoZSBsYXlvdXQgYm91bmRzIGVtcHR5IChlLmc6IGhlaWdodDogMTAwcHg7
IG1hcmdpbi10b3A6IC0xMDBweDspLCBhbmQgdGhpcyBpbmxpbmUKKyAgICAvLyBsZXZlbCBib3gg
Y29udHJpYnV0ZXMgMHB4IHRvIHRoZSBsaW5lIGJveCBoZWlnaHQsIGl0IHN0aWxsIG5lZWRzIHRv
IGJlIHRha2VuIGludG8gYWNjb3VudCB3aGlsZSBjb21wdXRpbmcgbGluZSBib3ggZ2VvbWV0cmll
cy4KKyAgICBhdXRvJiBib3hHZW9tZXRyeSA9IGZvcm1hdHRpbmdDb250ZXh0KCkuZ2VvbWV0cnlG
b3JCb3goaW5saW5lTGV2ZWxCb3gubGF5b3V0Qm94KCkpOworICAgIHJldHVybiBib3hHZW9tZXRy
eS5tYXJnaW5CZWZvcmUoKSB8fCBib3hHZW9tZXRyeS5tYXJnaW5BZnRlcigpOwogfQogCiBib29s
IElubGluZUZvcm1hdHRpbmdDb250ZXh0OjpRdWlya3M6Omhhc1NvZnRXcmFwT3Bwb3J0dW5pdHlB
dEltYWdlKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVm
b3JtYXR0aW5nL0lubGluZUxpbmVCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGlu
ZWZvcm1hdHRpbmcvSW5saW5lTGluZUJveC5jcHAKaW5kZXggNWUwZmQ2NzMxNzZiMDkxZGEwY2Ew
MjcxMGRhN2VlOWEzZjZmOTA1Ny4uNTEwMTNkODRjNDkzYWQzMDY1ZmZkMmI4ZmI1NzFjNzUzNmNh
ZTIwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcv
SW5saW5lTGluZUJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1h
dHRpbmcvSW5saW5lTGluZUJveC5jcHAKQEAgLTcxLDYgKzcxLDEyIEBAIHZvaWQgTGluZUJveDo6
SW5saW5lTGV2ZWxCb3g6OnNldExvZ2ljYWxIZWlnaHQoSW5saW5lTGF5b3V0VW5pdCBsb2dpY2Fs
SGVpZ2h0KQogICAgIG1fbG9naWNhbFJlY3Quc2V0SGVpZ2h0KHJvdW5kVG9JbnQobG9naWNhbEhl
aWdodCkpOwogfQogCit2b2lkIExpbmVCb3g6OklubGluZUxldmVsQm94OjpzZXRIYXNDb250ZW50
KCkKK3sKKyAgICBBU1NFUlQoaXNJbmxpbmVCb3goKSk7CisgICAgbV9oYXNDb250ZW50ID0gdHJ1
ZTsKK30KKwogYm9vbCBMaW5lQm94OjpJbmxpbmVMZXZlbEJveDo6aGFzTGluZUJveFJlbGF0aXZl
QWxpZ25tZW50KCkgY29uc3QKIHsKICAgICBhdXRvIHZlcnRpY2FsQWxpZ25tZW50ID0gbGF5b3V0
Qm94KCkuc3R5bGUoKS52ZXJ0aWNhbEFsaWduKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQm94LmggYi9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQm94LmgKaW5kZXggNTJkNjI0OWI4
MjQyOWY0NDJmMmFjZjYyZDFlMmRhYjE1ODFlOTI2Zi4uNWZlNTc2NjdlMDhiNjA5MWRiNDM2YWVj
NzEzMWIzNjYwNjg3N2ZmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGlu
ZWZvcm1hdHRpbmcvSW5saW5lTGluZUJveC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9p
bmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCb3guaApAQCAtNzcsOCArNzcsOCBAQCBwdWJsaWM6
CiAgICAgICAgIH07CiAgICAgICAgIExheW91dEJvdW5kcyBsYXlvdXRCb3VuZHMoKSBjb25zdCB7
IHJldHVybiBtX2xheW91dEJvdW5kczsgfQogCi0gICAgICAgIGJvb2wgaXNFbXB0eSgpIGNvbnN0
IHsgcmV0dXJuIG1faXNFbXB0eTsgfQotICAgICAgICB2b2lkIHNldElzTm9uRW1wdHkoKSB7IG1f
aXNFbXB0eSA9IGZhbHNlOyB9CisgICAgICAgIGJvb2wgaGFzQ29udGVudCgpIGNvbnN0IHsgcmV0
dXJuIG1faGFzQ29udGVudDsgfQorICAgICAgICB2b2lkIHNldEhhc0NvbnRlbnQoKTsKIAogICAg
ICAgICBWZXJ0aWNhbEFsaWduIHZlcnRpY2FsQWxpZ24oKSBjb25zdCB7IHJldHVybiBsYXlvdXRC
b3goKS5zdHlsZSgpLnZlcnRpY2FsQWxpZ24oKTsgfQogICAgICAgICBjb25zdCBCb3gmIGxheW91
dEJveCgpIGNvbnN0IHsgcmV0dXJuICptX2xheW91dEJveDsgfQpAQCAtMTI0LDcgKzEyNCw3IEBA
IHB1YmxpYzoKICAgICAgICAgTGF5b3V0Qm91bmRzIG1fbGF5b3V0Qm91bmRzOwogICAgICAgICBJ
bmxpbmVMYXlvdXRVbml0IG1fYmFzZWxpbmUgeyAwIH07CiAgICAgICAgIE9wdGlvbmFsPElubGlu
ZUxheW91dFVuaXQ+IG1fZGVzY2VudDsKLSAgICAgICAgYm9vbCBtX2lzRW1wdHkgeyB0cnVlIH07
CisgICAgICAgIGJvb2wgbV9oYXNDb250ZW50IHsgZmFsc2UgfTsKICAgICAgICAgVHlwZSBtX3R5
cGUgeyBUeXBlOjpJbmxpbmVCb3ggfTsKICAgICB9OwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>416939</attachid>
            <date>2021-01-04 07:12:54 -0800</date>
            <delta_ts>2021-01-09 21:54:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220232-20210104071253.patch</filename>
            <type>text/plain</type>
            <size>14582</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxMTE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGI1NmYyZWEzNTRkYjE5
NGM1YTY3MDJkMjJmM2U4MGM2YTIzNmFiMi4uY2Y1Y2I5ZWVkYjgwNGQxZjE0NjdiOTZmNTU1NWRj
NmE3MDMzMGU3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIxLTAxLTAzICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBNYWtlICJp
bmxpbmUgbGV2ZWwgYm94IGFmZmVjdHMgbGluZSBib3ggZ2VvbWV0cnkiIGxvZ2ljIG1vcmUgZXhw
bGljaXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
MDIzMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNp
bmNlIElubGluZUxldmVsQm94Ojppc0VtcHR5IG1ha2VzIGxpdHRsZSBzZW5zZSBpbiBjYXNlIG9m
IG5vbi1pbmxpbmUtYm94ZXMgKGUuZy4gPGJyPiksIGxldCdzIG1ha2UKKyAgICAgICAgdGhlIGZv
bGxvd2luZyBzZXQgb2YgY2hhbmdlczoKKyAgICAgICAgMS4gSW50cm9kdWNlIElubGluZUxldmVs
Qm94OjpzZXRIYXNDb250ZW50IGZvciBpbmxpbmUgYm94ZXMgb25seSAoPHNwYW4+aGFzIGNvbnRl
bnQ8L3NwYW4+LCA8ZGl2PnJvb3QgaW5saW5lYm94IGhhcyBjb250ZW50PC9kaXY+KQorICAgICAg
ICAyLiBCb3RoIGF0b21pYyBhbmQgbGluZSBib3ggbG9naWMgaXMgbW92ZWQgdG8gSW5saW5lRm9y
bWF0dGluZ0NvbnRleHQ6OlF1aXJrczo6aW5saW5lTGV2ZWxCb3hBZmZlY3RzTGluZUJveAorICAg
ICAgICBUaGlzIGlzIGFsc28gaW4gcHJlcGFyYXRpb24gZm9yIG1ha2luZyBpcy1jb25zaWRlcmVk
LWVtcHR5IG1vcmUgZXhwbGljaXQgaW4gZ2VuZXJhbCBmb3IgbGluZS9saW5lIGJveC4KKworICAg
ICAgICAqIGxheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0Lmg6
CisgICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRl
eHRHZW9tZXRyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3hCdWlsZGVy
Ojpjb25zdHJ1Y3RJbmxpbmVMZXZlbEJveGVzKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6
TGluZUJveEJ1aWxkZXI6OmNvbXB1dGVMaW5lQm94SGVpZ2h0QW5kQWxpZ25JbmxpbmVMZXZlbEJv
eGVzVmVydGljYWxseSk6CisgICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5l
Rm9ybWF0dGluZ0NvbnRleHRRdWlya3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJ
bmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6UXVpcmtzOjppbmxpbmVMZXZlbEJveEFmZmVjdHNMaW5l
Qm94IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGluZ0Nv
bnRleHQ6OlF1aXJrczo6c2hvdWxkSW5saW5lTGV2ZWxCb3hTdHJldGNoTGluZUJveCBjb25zdCk6
IERlbGV0ZWQuCisgICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJv
eC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3g6OklubGluZUxldmVsQm94
OjpzZXRIYXNDb250ZW50KToKKyAgICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9Jbmxp
bmVMaW5lQm94Lmg6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3g6OklubGluZUxl
dmVsQm94OjpoYXNDb250ZW50IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGlu
ZUJveDo6SW5saW5lTGV2ZWxCb3g6OmlzRW1wdHkgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpMaW5lQm94OjpJbmxpbmVMZXZlbEJveDo6c2V0SXNOb25FbXB0eSk6
IERlbGV0ZWQuCisKIDIwMjAtMTItMzEgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4K
IAogICAgICAgICBbTEZDXVtJRkNdIEhvcml6b250YWwgcGFkZGluZy9ib3JkZXIgbWFrZXMgdGhl
IGlubGluZSBib3ggbm9uLWVtcHR5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
aW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5oIGIvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuaAppbmRl
eCBlMjY0NDNiZGFjMGVjMGIzODJhYTZiMWY5NTc0NDJjNmFhZmI3MDIzLi5hZDdlYzk3MjM3YzFl
ODhkNzg4NjAyNjdhMTgwN2UyMDQ4YWY0MzJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250
ZXh0LmgKQEAgLTUxLDcgKzUxLDcgQEAgcHVibGljOgogICAgIHB1YmxpYzoKICAgICAgICAgSW5s
aW5lTGF5b3V0VW5pdCBpbml0aWFsTGluZUhlaWdodCgpIGNvbnN0OwogICAgICAgICBib29sIGhh
c1NvZnRXcmFwT3Bwb3J0dW5pdHlBdEltYWdlKCkgY29uc3Q7Ci0gICAgICAgIGJvb2wgc2hvdWxk
SW5saW5lTGV2ZWxCb3hTdHJldGNoTGluZUJveChjb25zdCBMaW5lQm94JiwgY29uc3QgTGluZUJv
eDo6SW5saW5lTGV2ZWxCb3gmKSBjb25zdDsKKyAgICAgICAgYm9vbCBpbmxpbmVMZXZlbEJveEFm
ZmVjdHNMaW5lQm94KGNvbnN0IExpbmVCb3g6OklubGluZUxldmVsQm94JiwgY29uc3QgTGluZUJv
eCYpIGNvbnN0OwogCiAgICAgcHJpdmF0ZToKICAgICAgICAgZnJpZW5kIGNsYXNzIElubGluZUZv
cm1hdHRpbmdDb250ZXh0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGlu
ZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dEdl
b21ldHJ5LmNwcAppbmRleCAxYmI5YmMzMjcyZGVmZDIyOTFmZWZhOGY0NmY1YTk5M2I2ZjhhZTEz
Li41Y2FkYmFkN2ZjNjU5OGZkZjc4MGVlN2U3YzI1ZmMxYzQ0NmZjZjI0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29u
dGV4dEdlb21ldHJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0
dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcApAQCAtMjIxLDcgKzIyMSw3
IEBAIHZvaWQgTGluZUJveEJ1aWxkZXI6OmNvbnN0cnVjdElubGluZUxldmVsQm94ZXMoTGluZUJv
eCYgbGluZUJveCwgY29uc3QgTGluZTo6UnVuCiAgICAgICAgIGF1dG8gaW5saW5lQm94SGFzSW1h
Z2luYXJ5U3RydXQgPSBsYXlvdXRTdGF0ZSgpLmluTm9RdWlya3NNb2RlKCk7CiAgICAgICAgIGF1
dG8gaXNJbml0aWFsbHlDb25zaWRlcmVkTm9uRW1wdHkgPSAhbGluZUJveC5pc0NvbnNpZGVyZWRF
bXB0eSgpICYmIGlubGluZUJveEhhc0ltYWdpbmFyeVN0cnV0OwogICAgICAgICBpZiAoaXNJbml0
aWFsbHlDb25zaWRlcmVkTm9uRW1wdHkpCi0gICAgICAgICAgICByb290SW5saW5lQm94LT5zZXRJ
c05vbkVtcHR5KCk7CisgICAgICAgICAgICByb290SW5saW5lQm94LT5zZXRIYXNDb250ZW50KCk7
CiAgICAgICAgIHNldFZlcnRpY2FsR2VvbWV0cnlGb3JJbmxpbmVCb3goKnJvb3RJbmxpbmVCb3gp
OwogICAgICAgICBzaW1wbGlmaWVkVmVydGljYWxBbGlnbm1lbnQgPSB7IHsgfSAsIHJvb3RJbmxp
bmVCb3gtPmxheW91dEJvdW5kcygpLmhlaWdodCgpLCByb290SW5saW5lQm94LT5sYXlvdXRCb3Vu
ZHMoKS5hc2NlbnQgLSByb290SW5saW5lQm94LT5iYXNlbGluZSgpIH07CiAgICAgICAgIGxpbmVC
b3guYWRkUm9vdElubGluZUJveChXVEZNb3ZlKHJvb3RJbmxpbmVCb3gpKTsKQEAgLTI4MywxMCAr
MjgzLDYgQEAgdm9pZCBMaW5lQm94QnVpbGRlcjo6Y29uc3RydWN0SW5saW5lTGV2ZWxCb3hlcyhM
aW5lQm94JiBsaW5lQm94LCBjb25zdCBMaW5lOjpSdW4KICAgICAgICAgICAgIGF1dG8gYXRvbWlj
SW5saW5lTGV2ZWxCb3ggPSBMaW5lQm94OjpJbmxpbmVMZXZlbEJveDo6Y3JlYXRlQXRvbWljSW5s
aW5lTGV2ZWxCb3gobGF5b3V0Qm94LCBsb2dpY2FsTGVmdCwgeyBydW4ubG9naWNhbFdpZHRoKCks
IG1hcmdpbkJveEhlaWdodCB9KTsKICAgICAgICAgICAgIGF0b21pY0lubGluZUxldmVsQm94LT5z
ZXRCYXNlbGluZShhc2NlbnQpOwogICAgICAgICAgICAgYXRvbWljSW5saW5lTGV2ZWxCb3gtPnNl
dExheW91dEJvdW5kcyhMaW5lQm94OjpJbmxpbmVMZXZlbEJveDo6TGF5b3V0Qm91bmRzIHsgYXNj
ZW50LCBtYXJnaW5Cb3hIZWlnaHQgLSBhc2NlbnQgfSk7Ci0gICAgICAgICAgICAvLyBXaGlsZSBp
biBwcmFjdGljZSB3aGVuIHRoZSBuZWdhdGl2ZSB2ZXJ0aWNhbCBtYXJnaW4gbWFrZXMgdGhlIGxh
eW91dCBib3VuZHMgZW1wdHkgKGUuZzogaGVpZ2h0OiAxMDBweDsgbWFyZ2luLXRvcDogLTEwMHB4
OyksIGFuZCB0aGlzIGlubGluZQotICAgICAgICAgICAgLy8gbGV2ZWwgYm94IGNvbnRyaWJ1dGVz
IDBweCB0byB0aGUgbGluZSBib3ggaGVpZ2h0LCBpdCBzaG91bGQgbm90IGJlIGNvbnNpZGVyZWQg
ZW1wdHkuCi0gICAgICAgICAgICBpZiAobWFyZ2luQm94SGVpZ2h0IHx8IGlubGluZUxldmVsQm94
R2VvbWV0cnkubWFyZ2luQmVmb3JlKCkgfHwgaW5saW5lTGV2ZWxCb3hHZW9tZXRyeS5tYXJnaW5B
ZnRlcigpKQotICAgICAgICAgICAgICAgIGF0b21pY0lubGluZUxldmVsQm94LT5zZXRJc05vbkVt
cHR5KCk7CiAgICAgICAgICAgICAvLyBMZXQncyBlc3RpbWF0ZSB0aGUgbG9naWNhbCB0b3Agc28g
dGhhdCB3ZSBjYW4gYXZvaWQgcnVubmluZyB0aGUgYWxpZ25tZW50IG9uIHNpbXBsZSBpbmxpbmUg
Ym94ZXMuCiAgICAgICAgICAgICBhdXRvIGFsaWduSW5saW5lQm94SWZFbGlnaWJsZSA9IFsmXSB7
CiAgICAgICAgICAgICAgICAgaWYgKG1faW5saW5lTGV2ZWxCb3hlc05lZWRWZXJ0aWNhbEFsaWdu
bWVudCkKQEAgLTMyNCw3ICszMjAsNyBAQCB2b2lkIExpbmVCb3hCdWlsZGVyOjpjb25zdHJ1Y3RJ
bmxpbmVMZXZlbEJveGVzKExpbmVCb3gmIGxpbmVCb3gsIGNvbnN0IExpbmU6OlJ1bgogICAgICAg
ICAgICAgYXV0byBpbmxpbmVCb3hIYXNJbWFnaW5hcnlTdHJ1dCA9IGxheW91dFN0YXRlKCkuaW5O
b1F1aXJrc01vZGUoKSAmJiAhbGluZUJveC5pc0NvbnNpZGVyZWRFbXB0eSgpOwogICAgICAgICAg
ICAgYXV0byBpc0NvbnNpZGVyZWROb25FbXB0eSA9IGlubGluZUJveEhhc0ltYWdpbmFyeVN0cnV0
IHx8IGlubGluZUJveEdlb21ldHJ5Lmhvcml6b250YWxQYWRkaW5nKCkudmFsdWVPcigwX2x1KSB8
fCBpbmxpbmVCb3hHZW9tZXRyeS5ob3Jpem9udGFsQm9yZGVyKCk7CiAgICAgICAgICAgICBpZiAo
aXNDb25zaWRlcmVkTm9uRW1wdHkpCi0gICAgICAgICAgICAgICAgaW5saW5lQm94LT5zZXRJc05v
bkVtcHR5KCk7CisgICAgICAgICAgICAgICAgaW5saW5lQm94LT5zZXRIYXNDb250ZW50KCk7CiAg
ICAgICAgICAgICBzZXRWZXJ0aWNhbEdlb21ldHJ5Rm9ySW5saW5lQm94KCppbmxpbmVCb3gpOwog
ICAgICAgICAgICAgbGluZUJveC5hZGRJbmxpbmVMZXZlbEJveChXVEZNb3ZlKGlubGluZUJveCkp
OwogICAgICAgICAgICAgY29udGludWU7CkBAIC0zMzgsMTMgKzMzNCwxMiBAQCB2b2lkIExpbmVC
b3hCdWlsZGVyOjpjb25zdHJ1Y3RJbmxpbmVMZXZlbEJveGVzKExpbmVCb3gmIGxpbmVCb3gsIGNv
bnN0IExpbmU6OlJ1bgogICAgICAgICB9CiAgICAgICAgIGlmIChydW4uaXNUZXh0KCkgfHwgcnVu
LmlzU29mdExpbmVCcmVhaygpKSB7CiAgICAgICAgICAgICAvLyBGSVhNRTogQWRqdXN0IG5vbi1l
bXB0eSBpbmxpbmUgYm94IGhlaWdodCB3aGVuIGdseXBocyBmcm9tIHRoZSBub24tcHJpbWFyeSBm
b250IHN0cmV0Y2ggdGhlIGJveC4KLSAgICAgICAgICAgIGxpbmVCb3guaW5saW5lTGV2ZWxCb3hG
b3JMYXlvdXRCb3gobGF5b3V0Qm94LnBhcmVudCgpKS5zZXRJc05vbkVtcHR5KCk7CisgICAgICAg
ICAgICBsaW5lQm94LmlubGluZUxldmVsQm94Rm9yTGF5b3V0Qm94KGxheW91dEJveC5wYXJlbnQo
KSkuc2V0SGFzQ29udGVudCgpOwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KICAg
ICAgICAgaWYgKHJ1bi5pc0hhcmRMaW5lQnJlYWsoKSkgewogICAgICAgICAgICAgYXV0byBsaW5l
QnJlYWtCb3ggPSBMaW5lQm94OjpJbmxpbmVMZXZlbEJveDo6Y3JlYXRlTGluZUJyZWFrQm94KGxh
eW91dEJveCwgbG9naWNhbExlZnQpOwogICAgICAgICAgICAgc2V0VmVydGljYWxHZW9tZXRyeUZv
cklubGluZUJveCgqbGluZUJyZWFrQm94KTsKLSAgICAgICAgICAgIGxpbmVCcmVha0JveC0+c2V0
SXNOb25FbXB0eSgpOwogICAgICAgICAgICAgbGluZUJveC5hZGRJbmxpbmVMZXZlbEJveChXVEZN
b3ZlKGxpbmVCcmVha0JveCkpOwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KQEAg
LTM4MSw3ICszNzYsNyBAQCB2b2lkIExpbmVCb3hCdWlsZGVyOjpjb21wdXRlTGluZUJveEhlaWdo
dEFuZEFsaWduSW5saW5lTGV2ZWxCb3hlc1ZlcnRpY2FsbHkoTGluZQogCiAgICAgICAgIGF1dG8g
bWluaW11bUxvZ2ljYWxUb3AgPSBPcHRpb25hbDxJbmxpbmVMYXlvdXRVbml0PiB7IH07CiAgICAg
ICAgIGF1dG8gbWF4aW11bUxvZ2ljYWxCb3R0b20gPSBPcHRpb25hbDxJbmxpbmVMYXlvdXRVbml0
PiB7IH07Ci0gICAgICAgIGlmICghcm9vdElubGluZUJveC5pc0VtcHR5KCkpIHsKKyAgICAgICAg
aWYgKHF1aXJrcy5pbmxpbmVMZXZlbEJveEFmZmVjdHNMaW5lQm94KHJvb3RJbmxpbmVCb3gsIGxp
bmVCb3gpKSB7CiAgICAgICAgICAgICBtaW5pbXVtTG9naWNhbFRvcCA9IElubGluZUxheW91dFVu
aXQgeyB9OwogICAgICAgICAgICAgbWF4aW11bUxvZ2ljYWxCb3R0b20gPSByb290SW5saW5lQm94
LmxheW91dEJvdW5kcygpLmhlaWdodCgpOwogICAgICAgICAgICAgaW5saW5lTGV2ZWxCb3hBYnNv
bHV0ZVRvcEFuZEJvdHRvbU1hcC5hZGQoJnJvb3RJbmxpbmVCb3gsIEFic29sdXRlVG9wQW5kQm90
dG9tIHsgKm1pbmltdW1Mb2dpY2FsVG9wLCAqbWF4aW11bUxvZ2ljYWxCb3R0b20gfSk7CkBAIC00
NDMsNyArNDM4LDcgQEAgdm9pZCBMaW5lQm94QnVpbGRlcjo6Y29tcHV0ZUxpbmVCb3hIZWlnaHRB
bmRBbGlnbklubGluZUxldmVsQm94ZXNWZXJ0aWNhbGx5KExpbmUKICAgICAgICAgICAgIGF1dG8g
YWJzb2x1dGVMb2dpY2FsQm90dG9tID0gYWJzb2x1dGVMb2dpY2FsVG9wICsgaW5saW5lTGV2ZWxC
b3gtPmxheW91dEJvdW5kcygpLmhlaWdodCgpOwogICAgICAgICAgICAgaW5saW5lTGV2ZWxCb3hB
YnNvbHV0ZVRvcEFuZEJvdHRvbU1hcC5hZGQoaW5saW5lTGV2ZWxCb3guZ2V0KCksIEFic29sdXRl
VG9wQW5kQm90dG9tIHsgYWJzb2x1dGVMb2dpY2FsVG9wLCBhYnNvbHV0ZUxvZ2ljYWxCb3R0b20g
fSk7CiAgICAgICAgICAgICAvLyBTdHJldGNoIHRoZSBtaW4vbWF4IGFic29sdXRlIHZhbHVlcyBp
ZiBhcHBsaWNhYmxlLgotICAgICAgICAgICAgaWYgKHF1aXJrcy5zaG91bGRJbmxpbmVMZXZlbEJv
eFN0cmV0Y2hMaW5lQm94KGxpbmVCb3gsICppbmxpbmVMZXZlbEJveCkpIHsKKyAgICAgICAgICAg
IGlmIChxdWlya3MuaW5saW5lTGV2ZWxCb3hBZmZlY3RzTGluZUJveCgqaW5saW5lTGV2ZWxCb3gs
IGxpbmVCb3gpKSB7CiAgICAgICAgICAgICAgICAgbWluaW11bUxvZ2ljYWxUb3AgPSBzdGQ6Om1p
bihtaW5pbXVtTG9naWNhbFRvcC52YWx1ZU9yKGFic29sdXRlTG9naWNhbFRvcCksIGFic29sdXRl
TG9naWNhbFRvcCk7CiAgICAgICAgICAgICAgICAgbWF4aW11bUxvZ2ljYWxCb3R0b20gPSBzdGQ6
Om1heChtYXhpbXVtTG9naWNhbEJvdHRvbS52YWx1ZU9yKGFic29sdXRlTG9naWNhbEJvdHRvbSks
IGFic29sdXRlTG9naWNhbEJvdHRvbSk7CiAgICAgICAgICAgICB9CkBAIC00NTMsNyArNDQ4LDcg
QEAgdm9pZCBMaW5lQm94QnVpbGRlcjo6Y29tcHV0ZUxpbmVCb3hIZWlnaHRBbmRBbGlnbklubGlu
ZUxldmVsQm94ZXNWZXJ0aWNhbGx5KExpbmUKICAgICAgICAgLy8gMi4gQ2hlY2sgaWYgdGhlIGxp
bmUgYm94IHJlbGF0aXZlIGFsaWduZWQgaW5saW5lIGJveGVzICh0b3AsIGJvdHRvbSBldGMpIGhh
dmUgZW5vdWdoIHJvb20gYW5kIHN0cmV0Y2ggdGhlIGxpbmUgYm94IGZ1cnRoZXIgaWYgbmVlZGVk
LgogICAgICAgICBhdXRvIGxpbmVCb3hMb2dpY2FsSGVpZ2h0ID0gbWF4aW11bUxvZ2ljYWxCb3R0
b20udmFsdWVPcihJbmxpbmVMYXlvdXRVbml0KCkpIC0gbWluaW11bUxvZ2ljYWxUb3AudmFsdWVP
cihJbmxpbmVMYXlvdXRVbml0KCkpOwogICAgICAgICBmb3IgKGF1dG8qIGxpbmVCb3hSZWxhdGl2
ZUlubGluZUxldmVsQm94IDogbGluZUJveFJlbGF0aXZlSW5saW5lTGV2ZWxCb3hlcykgewotICAg
ICAgICAgICAgaWYgKCFxdWlya3Muc2hvdWxkSW5saW5lTGV2ZWxCb3hTdHJldGNoTGluZUJveChs
aW5lQm94LCAqbGluZUJveFJlbGF0aXZlSW5saW5lTGV2ZWxCb3gpKQorICAgICAgICAgICAgaWYg
KCFxdWlya3MuaW5saW5lTGV2ZWxCb3hBZmZlY3RzTGluZUJveCgqbGluZUJveFJlbGF0aXZlSW5s
aW5lTGV2ZWxCb3gsIGxpbmVCb3gpKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAg
ICAgICAgbGluZUJveExvZ2ljYWxIZWlnaHQgPSBzdGQ6Om1heChsaW5lQm94TG9naWNhbEhlaWdo
dCwgbGluZUJveFJlbGF0aXZlSW5saW5lTGV2ZWxCb3gtPmxheW91dEJvdW5kcygpLmhlaWdodCgp
KTsKICAgICAgICAgfQpAQCAtNDY2LDcgKzQ2MSw3IEBAIHZvaWQgTGluZUJveEJ1aWxkZXI6OmNv
bXB1dGVMaW5lQm94SGVpZ2h0QW5kQWxpZ25JbmxpbmVMZXZlbEJveGVzVmVydGljYWxseShMaW5l
CiAgICAgICAgIGlubGluZUxldmVsQm94QWJzb2x1dGVCYXNlbGluZU9mZnNldE1hcC5hZGQoJnJv
b3RJbmxpbmVCb3gsIElubGluZUxheW91dFVuaXQgeyB9KTsKIAogICAgICAgICBhdXRvIG1heGlt
dW1Ub3BPZmZzZXRGcm9tUm9vdElubGluZUJveEJhc2VsaW5lID0gT3B0aW9uYWw8SW5saW5lTGF5
b3V0VW5pdD4geyB9OwotICAgICAgICBpZiAoIXJvb3RJbmxpbmVCb3guaXNFbXB0eSgpKQorICAg
ICAgICBpZiAocXVpcmtzLmlubGluZUxldmVsQm94QWZmZWN0c0xpbmVCb3gocm9vdElubGluZUJv
eCwgbGluZUJveCkpCiAgICAgICAgICAgICBtYXhpbXVtVG9wT2Zmc2V0RnJvbVJvb3RJbmxpbmVC
b3hCYXNlbGluZSA9IHJvb3RJbmxpbmVCb3gubGF5b3V0Qm91bmRzKCkuYXNjZW50OwogCiAgICAg
ICAgIGZvciAoYXV0byYgaW5saW5lTGV2ZWxCb3ggOiBsaW5lQm94Lm5vblJvb3RJbmxpbmVMZXZl
bEJveGVzKCkpIHsKQEAgLTUyNCw3ICs1MTksNyBAQCB2b2lkIExpbmVCb3hCdWlsZGVyOjpjb21w
dXRlTGluZUJveEhlaWdodEFuZEFsaWduSW5saW5lTGV2ZWxCb3hlc1ZlcnRpY2FsbHkoTGluZQog
ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGlubGluZUxldmVs
Qm94QWJzb2x1dGVCYXNlbGluZU9mZnNldE1hcC5hZGQoaW5saW5lTGV2ZWxCb3guZ2V0KCksIGFi
c29sdXRlQmFzZWxpbmVPZmZzZXQpOwotICAgICAgICAgICAgYXV0byBhZmZlY3RzUm9vdElubGlu
ZUJveFZlcnRpY2FsUG9zaXRpb24gPSBxdWlya3Muc2hvdWxkSW5saW5lTGV2ZWxCb3hTdHJldGNo
TGluZUJveChsaW5lQm94LCAqaW5saW5lTGV2ZWxCb3gpOworICAgICAgICAgICAgYXV0byBhZmZl
Y3RzUm9vdElubGluZUJveFZlcnRpY2FsUG9zaXRpb24gPSBxdWlya3MuaW5saW5lTGV2ZWxCb3hB
ZmZlY3RzTGluZUJveCgqaW5saW5lTGV2ZWxCb3gsIGxpbmVCb3gpOwogICAgICAgICAgICAgaWYg
KGFmZmVjdHNSb290SW5saW5lQm94VmVydGljYWxQb3NpdGlvbikKICAgICAgICAgICAgICAgICBt
YXhpbXVtVG9wT2Zmc2V0RnJvbVJvb3RJbmxpbmVCb3hCYXNlbGluZSA9IHN0ZDo6bWF4KG1heGlt
dW1Ub3BPZmZzZXRGcm9tUm9vdElubGluZUJveEJhc2VsaW5lLnZhbHVlT3Ioc3RkOjpudW1lcmlj
X2xpbWl0czxJbmxpbmVMYXlvdXRVbml0Pjo6bG93ZXN0KCkpLCBhYnNvbHV0ZUJhc2VsaW5lT2Zm
c2V0ICsgaW5saW5lTGV2ZWxCb3gtPmxheW91dEJvdW5kcygpLmFzY2VudCk7CiAgICAgICAgIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGlu
ZUZvcm1hdHRpbmdDb250ZXh0UXVpcmtzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxp
bmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0UXVpcmtzLmNwcAppbmRleCA5ZDU5
YjFmOWYwMGFkNTdlOTZmMDY2ZjUzZGYxOWRlNjk2Y2FmY2Y3Li5kYmNjZGIxMDJiZjk1NGNlZjY3
NTcyN2VmYTVmODM5MjczYWE2OTg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
aW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dFF1aXJrcy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0Nv
bnRleHRRdWlya3MuY3BwCkBAIC00MCwxNyArNDAsMjQgQEAgSW5saW5lTGF5b3V0VW5pdCBJbmxp
bmVGb3JtYXR0aW5nQ29udGV4dDo6UXVpcmtzOjppbml0aWFsTGluZUhlaWdodCgpIGNvbnN0CiAg
ICAgcmV0dXJuIHJvb3Quc3R5bGUoKS5mb250TWV0cmljcygpLmZsb2F0SGVpZ2h0KCk7CiB9CiAK
LWJvb2wgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OlF1aXJrczo6c2hvdWxkSW5saW5lTGV2ZWxC
b3hTdHJldGNoTGluZUJveChjb25zdCBMaW5lQm94JiBsaW5lQm94LCBjb25zdCBMaW5lQm94OjpJ
bmxpbmVMZXZlbEJveCYgaW5saW5lTGV2ZWxCb3gpIGNvbnN0Citib29sIElubGluZUZvcm1hdHRp
bmdDb250ZXh0OjpRdWlya3M6OmlubGluZUxldmVsQm94QWZmZWN0c0xpbmVCb3goY29uc3QgTGlu
ZUJveDo6SW5saW5lTGV2ZWxCb3gmIGlubGluZUxldmVsQm94LCBjb25zdCBMaW5lQm94JiBsaW5l
Qm94KSBjb25zdAogewotICAgIGlmIChpbmxpbmVMZXZlbEJveC5pc0VtcHR5KCkpCi0gICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICBpZiAobGF5b3V0U3RhdGUoKS5pbk5vUXVpcmtzTW9kZSgpKQot
ICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICBpZiAoIWlubGluZUxldmVsQm94LmlzTGluZUJyZWFr
Qm94KCkpCi0gICAgICAgIHJldHVybiB0cnVlOwotICAgIC8vIDxicj4gaW4gbm9uLXN0YW5kYXJk
IG1vZGUgc3RyZXRjaGVzIHRoZSBsaW5lIGJveCBvbmx5IHdoZW4gdGhlIGxpbmUgaXMgZW1wdHku
Ci0gICAgLy8gZS5nLiA8ZGl2PjxzcGFuPjxicj48L3NwYW4+PC9kaXY+IHdpbGwgc3RyZXRjaCBi
dXQgPGRpdj50aGlzIHdpbGwgbm90IHN0cmV0Y2ggdG8gMjAwcHg8c3BhbiBzdHlsZT0iZm9udC1z
aXplOiAyMDBweDsiPjxicj48L3NwYW4+PC9kaXY+Ci0gICAgcmV0dXJuIGxpbmVCb3guaXNDb25z
aWRlcmVkRW1wdHkoKTsKKyAgICBpZiAoaW5saW5lTGV2ZWxCb3guaXNJbmxpbmVCb3goKSkKKyAg
ICAgICAgcmV0dXJuIGlubGluZUxldmVsQm94Lmhhc0NvbnRlbnQoKTsKKyAgICBpZiAoaW5saW5l
TGV2ZWxCb3guaXNMaW5lQnJlYWtCb3goKSkgeworICAgICAgICAvLyA8YnI+IGluIG5vbi1zdGFu
ZGFyZCBtb2RlIHN0cmV0Y2hlcyB0aGUgbGluZSBib3ggb25seSB3aGVuIHRoZSBsaW5lIGlzIGVt
cHR5LgorICAgICAgICAvLyBlLmcuIDxkaXY+PHNwYW4+PGJyPjwvc3Bhbj48L2Rpdj4gd2lsbCBz
dHJldGNoIGJ1dCA8ZGl2PnRoaXMgd2lsbCBub3Qgc3RyZXRjaCB0byAyMDBweDxzcGFuIHN0eWxl
PSJmb250LXNpemU6IDIwMHB4OyI+PGJyPjwvc3Bhbj48L2Rpdj4KKyAgICAgICAgcmV0dXJuIGxh
eW91dFN0YXRlKCkuaW5Ob1F1aXJrc01vZGUoKSA/IHRydWUgOiBsaW5lQm94LmlzQ29uc2lkZXJl
ZEVtcHR5KCk7CisgICAgfQorICAgIGlmIChpbmxpbmVMZXZlbEJveC5pc0F0b21pY0lubGluZUxl
dmVsQm94KCkpIHsKKyAgICAgICAgaWYgKGlubGluZUxldmVsQm94LmxheW91dEJvdW5kcygpLmFz
Y2VudCkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAvLyBXaGlsZSBpbiBwcmFj
dGljZSB3aGVuIHRoZSBuZWdhdGl2ZSB2ZXJ0aWNhbCBtYXJnaW4gbWFrZXMgdGhlIGxheW91dCBi
b3VuZHMgZW1wdHkgKGUuZzogaGVpZ2h0OiAxMDBweDsgbWFyZ2luLXRvcDogLTEwMHB4OyksIGFu
ZCB0aGlzIGlubGluZQorICAgICAgICAvLyBsZXZlbCBib3ggY29udHJpYnV0ZXMgMHB4IHRvIHRo
ZSBsaW5lIGJveCBoZWlnaHQsIGl0IHN0aWxsIG5lZWRzIHRvIGJlIHRha2VuIGludG8gYWNjb3Vu
dCB3aGlsZSBjb21wdXRpbmcgbGluZSBib3ggZ2VvbWV0cmllcy4KKyAgICAgICAgYXV0byYgYm94
R2VvbWV0cnkgPSBmb3JtYXR0aW5nQ29udGV4dCgpLmdlb21ldHJ5Rm9yQm94KGlubGluZUxldmVs
Qm94LmxheW91dEJveCgpKTsKKyAgICAgICAgcmV0dXJuIGJveEdlb21ldHJ5Lm1hcmdpbkJlZm9y
ZSgpIHx8IGJveEdlb21ldHJ5Lm1hcmdpbkFmdGVyKCk7CisgICAgfQorICAgIHJldHVybiBmYWxz
ZTsKIH0KIAogYm9vbCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6UXVpcmtzOjpoYXNTb2Z0V3Jh
cE9wcG9ydHVuaXR5QXRJbWFnZSgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQm94LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCb3guY3BwCmluZGV4IDVlMGZkNjcz
MTc2YjA5MWRhMGNhMDI3MTBkYTdlZTlhM2Y2ZjkwNTcuLjUxMDEzZDg0YzQ5M2FkMzA2NWZmZDJi
OGZiNTcxYzc1MzZjYWUyMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxp
bmVmb3JtYXR0aW5nL0lubGluZUxpbmVCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCb3guY3BwCkBAIC03MSw2ICs3MSwxMiBAQCB2
b2lkIExpbmVCb3g6OklubGluZUxldmVsQm94OjpzZXRMb2dpY2FsSGVpZ2h0KElubGluZUxheW91
dFVuaXQgbG9naWNhbEhlaWdodCkKICAgICBtX2xvZ2ljYWxSZWN0LnNldEhlaWdodChyb3VuZFRv
SW50KGxvZ2ljYWxIZWlnaHQpKTsKIH0KIAordm9pZCBMaW5lQm94OjpJbmxpbmVMZXZlbEJveDo6
c2V0SGFzQ29udGVudCgpCit7CisgICAgQVNTRVJUKGlzSW5saW5lQm94KCkpOworICAgIG1faGFz
Q29udGVudCA9IHRydWU7Cit9CisKIGJvb2wgTGluZUJveDo6SW5saW5lTGV2ZWxCb3g6Omhhc0xp
bmVCb3hSZWxhdGl2ZUFsaWdubWVudCgpIGNvbnN0CiB7CiAgICAgYXV0byB2ZXJ0aWNhbEFsaWdu
bWVudCA9IGxheW91dEJveCgpLnN0eWxlKCkudmVydGljYWxBbGlnbigpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJveC5oIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJveC5oCmlu
ZGV4IDUyZDYyNDliODI0MjlmNDQyZjJhY2Y2MmQxZTJkYWIxNTgxZTkyNmYuLjVmZTU3NjY3ZTA4
YjYwOTFkYjQzNmFlYzcxMzFiMzY2MDY4NzdmZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCb3guaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQm94LmgKQEAgLTc3LDggKzc3
LDggQEAgcHVibGljOgogICAgICAgICB9OwogICAgICAgICBMYXlvdXRCb3VuZHMgbGF5b3V0Qm91
bmRzKCkgY29uc3QgeyByZXR1cm4gbV9sYXlvdXRCb3VuZHM7IH0KIAotICAgICAgICBib29sIGlz
RW1wdHkoKSBjb25zdCB7IHJldHVybiBtX2lzRW1wdHk7IH0KLSAgICAgICAgdm9pZCBzZXRJc05v
bkVtcHR5KCkgeyBtX2lzRW1wdHkgPSBmYWxzZTsgfQorICAgICAgICBib29sIGhhc0NvbnRlbnQo
KSBjb25zdCB7IHJldHVybiBtX2hhc0NvbnRlbnQ7IH0KKyAgICAgICAgdm9pZCBzZXRIYXNDb250
ZW50KCk7CiAKICAgICAgICAgVmVydGljYWxBbGlnbiB2ZXJ0aWNhbEFsaWduKCkgY29uc3QgeyBy
ZXR1cm4gbGF5b3V0Qm94KCkuc3R5bGUoKS52ZXJ0aWNhbEFsaWduKCk7IH0KICAgICAgICAgY29u
c3QgQm94JiBsYXlvdXRCb3goKSBjb25zdCB7IHJldHVybiAqbV9sYXlvdXRCb3g7IH0KQEAgLTEy
NCw3ICsxMjQsNyBAQCBwdWJsaWM6CiAgICAgICAgIExheW91dEJvdW5kcyBtX2xheW91dEJvdW5k
czsKICAgICAgICAgSW5saW5lTGF5b3V0VW5pdCBtX2Jhc2VsaW5lIHsgMCB9OwogICAgICAgICBP
cHRpb25hbDxJbmxpbmVMYXlvdXRVbml0PiBtX2Rlc2NlbnQ7Ci0gICAgICAgIGJvb2wgbV9pc0Vt
cHR5IHsgdHJ1ZSB9OworICAgICAgICBib29sIG1faGFzQ29udGVudCB7IGZhbHNlIH07CiAgICAg
ICAgIFR5cGUgbV90eXBlIHsgVHlwZTo6SW5saW5lQm94IH07CiAgICAgfTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417344</attachid>
            <date>2021-01-09 21:54:32 -0800</date>
            <delta_ts>2021-01-10 11:13:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220232-20210109215431.patch</filename>
            <type>text/plain</type>
            <size>14559</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxMzQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWJiNzIyZDFjNDhmNTlk
ZThmZTk4ZGU4ZTVjOTdiMDQzYWI1ZDE0ZC4uMDJjNTNhNjIwNGExZGU5YTFiOGEwOWNkMThlZDE5
NzA4ZWVjNTRkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIxLTAxLTA5ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBNYWtlICJp
bmxpbmUgbGV2ZWwgYm94IGFmZmVjdHMgbGluZSBib3ggZ2VvbWV0cnkiIGxvZ2ljIG1vcmUgZXhw
bGljaXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
MDIzMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNp
bmNlIElubGluZUxldmVsQm94Ojppc0VtcHR5IG1ha2VzIGxpdHRsZSBzZW5zZSBpbiBjYXNlIG9m
IG5vbi1pbmxpbmUtYm94ZXMgKGUuZy4gPGJyPiksIGxldCdzIG1ha2UKKyAgICAgICAgdGhlIGZv
bGxvd2luZyBzZXQgb2YgY2hhbmdlczoKKyAgICAgICAgMS4gSW50cm9kdWNlIElubGluZUxldmVs
Qm94OjpzZXRIYXNDb250ZW50IGZvciBpbmxpbmUgYm94ZXMgb25seSAoPHNwYW4+aGFzIGNvbnRl
bnQ8L3NwYW4+LCA8ZGl2PnJvb3QgaW5saW5lYm94IGhhcyBjb250ZW50PC9kaXY+KQorICAgICAg
ICAyLiBCb3RoIGF0b21pYyBhbmQgbGluZSBib3ggbG9naWMgaXMgbW92ZWQgdG8gSW5saW5lRm9y
bWF0dGluZ0NvbnRleHQ6OlF1aXJrczo6aW5saW5lTGV2ZWxCb3hBZmZlY3RzTGluZUJveAorICAg
ICAgICBUaGlzIGlzIGFsc28gaW4gcHJlcGFyYXRpb24gZm9yIGdldHRpbmcgcmlkIG9mIHRoZSBp
cy1jb25zaWRlcmVkLWVtcHR5IGNvbmNlcHQgZm9yIGxpbmUvbGluZSBib3guCisKKyAgICAgICAg
KiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5oOgorICAg
ICAgICAqIGxheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0R2Vv
bWV0cnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQm94QnVpbGRlcjo6Y29u
c3RydWN0SW5saW5lTGV2ZWxCb3hlcyk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVC
b3hCdWlsZGVyOjpjb21wdXRlTGluZUJveEhlaWdodEFuZEFsaWduSW5saW5lTGV2ZWxCb3hlc1Zl
cnRpY2FsbHkpOgorICAgICAgICAqIGxheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1h
dHRpbmdDb250ZXh0UXVpcmtzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5l
Rm9ybWF0dGluZ0NvbnRleHQ6OlF1aXJrczo6aW5saW5lTGV2ZWxCb3hBZmZlY3RzTGluZUJveCBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUZvcm1hdHRpbmdDb250ZXh0
OjpRdWlya3M6OnNob3VsZElubGluZUxldmVsQm94U3RyZXRjaExpbmVCb3ggY29uc3QpOiBEZWxl
dGVkLgorICAgICAgICAqIGxheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCb3guY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQm94OjpJbmxpbmVMZXZlbEJveDo6c2V0
SGFzQ29udGVudCk6CisgICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGlu
ZUJveC5oOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQm94OjpJbmxpbmVMZXZlbEJv
eDo6aGFzQ29udGVudCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3g6
OklubGluZUxldmVsQm94Ojppc0VtcHR5IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dDo6TGluZUJveDo6SW5saW5lTGV2ZWxCb3g6OnNldElzTm9uRW1wdHkpOiBEZWxl
dGVkLgorCiAyMDIxLTAxLTA5ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAg
ICAgICAgcGxheS5nb29nbGUuY29tOiBBcHAgcHJldmlldyBpbWFnZXMgYXJlIGNsaXBwZWQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZv
cm1hdHRpbmdDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGlu
Zy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5oCmluZGV4IGUyNjQ0M2JkYWMwZWMwYjM4MmFhNmIx
Zjk1NzQ0MmM2YWFmYjcwMjMuLmFkN2VjOTcyMzdjMWU4OGQ3ODg2MDI2N2ExODA3ZTIwNDhhZjQz
MmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lu
bGluZUZvcm1hdHRpbmdDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGlu
ZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuaApAQCAtNTEsNyArNTEsNyBAQCBw
dWJsaWM6CiAgICAgcHVibGljOgogICAgICAgICBJbmxpbmVMYXlvdXRVbml0IGluaXRpYWxMaW5l
SGVpZ2h0KCkgY29uc3Q7CiAgICAgICAgIGJvb2wgaGFzU29mdFdyYXBPcHBvcnR1bml0eUF0SW1h
Z2UoKSBjb25zdDsKLSAgICAgICAgYm9vbCBzaG91bGRJbmxpbmVMZXZlbEJveFN0cmV0Y2hMaW5l
Qm94KGNvbnN0IExpbmVCb3gmLCBjb25zdCBMaW5lQm94OjpJbmxpbmVMZXZlbEJveCYpIGNvbnN0
OworICAgICAgICBib29sIGlubGluZUxldmVsQm94QWZmZWN0c0xpbmVCb3goY29uc3QgTGluZUJv
eDo6SW5saW5lTGV2ZWxCb3gmLCBjb25zdCBMaW5lQm94JikgY29uc3Q7CiAKICAgICBwcml2YXRl
OgogICAgICAgICBmcmllbmQgY2xhc3MgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0
aW5nQ29udGV4dEdlb21ldHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3Jt
YXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwCmluZGV4IDhhNDczOTVi
ZmQ0NTU5OWVlOTBkOWY0ZGZhNDIwMjVkYTI4NjYzZWMuLjA0NTk3ZmIxZDFkMzc1MjZkZTc2NjNk
NWQ1ODA2NDAwYjQ0OGY3N2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxp
bmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250
ZXh0R2VvbWV0cnkuY3BwCkBAIC0yMjEsNyArMjIxLDcgQEAgdm9pZCBMaW5lQm94QnVpbGRlcjo6
Y29uc3RydWN0SW5saW5lTGV2ZWxCb3hlcyhMaW5lQm94JiBsaW5lQm94LCBjb25zdCBMaW5lOjpS
dW4KICAgICAgICAgYXV0byBpbmxpbmVCb3hIYXNJbWFnaW5hcnlTdHJ1dCA9IGxheW91dFN0YXRl
KCkuaW5Ob1F1aXJrc01vZGUoKTsKICAgICAgICAgYXV0byBpc0luaXRpYWxseUNvbnNpZGVyZWRO
b25FbXB0eSA9ICFsaW5lQm94LmlzQ29uc2lkZXJlZEVtcHR5KCkgJiYgaW5saW5lQm94SGFzSW1h
Z2luYXJ5U3RydXQ7CiAgICAgICAgIGlmIChpc0luaXRpYWxseUNvbnNpZGVyZWROb25FbXB0eSkK
LSAgICAgICAgICAgIHJvb3RJbmxpbmVCb3gtPnNldElzTm9uRW1wdHkoKTsKKyAgICAgICAgICAg
IHJvb3RJbmxpbmVCb3gtPnNldEhhc0NvbnRlbnQoKTsKICAgICAgICAgc2V0VmVydGljYWxHZW9t
ZXRyeUZvcklubGluZUJveCgqcm9vdElubGluZUJveCk7CiAgICAgICAgIHNpbXBsaWZpZWRWZXJ0
aWNhbEFsaWdubWVudCA9IHsgeyB9ICwgcm9vdElubGluZUJveC0+bGF5b3V0Qm91bmRzKCkuaGVp
Z2h0KCksIHJvb3RJbmxpbmVCb3gtPmxheW91dEJvdW5kcygpLmFzY2VudCAtIHJvb3RJbmxpbmVC
b3gtPmJhc2VsaW5lKCkgfTsKICAgICAgICAgbGluZUJveC5hZGRSb290SW5saW5lQm94KFdURk1v
dmUocm9vdElubGluZUJveCkpOwpAQCAtMjk0LDEwICsyOTQsNiBAQCB2b2lkIExpbmVCb3hCdWls
ZGVyOjpjb25zdHJ1Y3RJbmxpbmVMZXZlbEJveGVzKExpbmVCb3gmIGxpbmVCb3gsIGNvbnN0IExp
bmU6OlJ1bgogICAgICAgICAgICAgYXV0byBhdG9taWNJbmxpbmVMZXZlbEJveCA9IExpbmVCb3g6
OklubGluZUxldmVsQm94OjpjcmVhdGVBdG9taWNJbmxpbmVMZXZlbEJveChsYXlvdXRCb3gsIGxv
Z2ljYWxMZWZ0LCB7IHJ1bi5sb2dpY2FsV2lkdGgoKSwgbWFyZ2luQm94SGVpZ2h0IH0pOwogICAg
ICAgICAgICAgYXRvbWljSW5saW5lTGV2ZWxCb3gtPnNldEJhc2VsaW5lKGFzY2VudCk7CiAgICAg
ICAgICAgICBhdG9taWNJbmxpbmVMZXZlbEJveC0+c2V0TGF5b3V0Qm91bmRzKExpbmVCb3g6Oklu
bGluZUxldmVsQm94OjpMYXlvdXRCb3VuZHMgeyBhc2NlbnQsIG1hcmdpbkJveEhlaWdodCAtIGFz
Y2VudCB9KTsKLSAgICAgICAgICAgIC8vIFdoaWxlIGluIHByYWN0aWNlIHdoZW4gdGhlIG5lZ2F0
aXZlIHZlcnRpY2FsIG1hcmdpbiBtYWtlcyB0aGUgbGF5b3V0IGJvdW5kcyBlbXB0eSAoZS5nOiBo
ZWlnaHQ6IDEwMHB4OyBtYXJnaW4tdG9wOiAtMTAwcHg7KSwgYW5kIHRoaXMgaW5saW5lCi0gICAg
ICAgICAgICAvLyBsZXZlbCBib3ggY29udHJpYnV0ZXMgMHB4IHRvIHRoZSBsaW5lIGJveCBoZWln
aHQsIGl0IHNob3VsZCBub3QgYmUgY29uc2lkZXJlZCBlbXB0eS4KLSAgICAgICAgICAgIGlmICht
YXJnaW5Cb3hIZWlnaHQgfHwgaW5saW5lTGV2ZWxCb3hHZW9tZXRyeS5tYXJnaW5CZWZvcmUoKSB8
fCBpbmxpbmVMZXZlbEJveEdlb21ldHJ5Lm1hcmdpbkFmdGVyKCkpCi0gICAgICAgICAgICAgICAg
YXRvbWljSW5saW5lTGV2ZWxCb3gtPnNldElzTm9uRW1wdHkoKTsKICAgICAgICAgICAgIC8vIExl
dCdzIGVzdGltYXRlIHRoZSBsb2dpY2FsIHRvcCBzbyB0aGF0IHdlIGNhbiBhdm9pZCBydW5uaW5n
IHRoZSBhbGlnbm1lbnQgb24gc2ltcGxlIGlubGluZSBib3hlcy4KICAgICAgICAgICAgIGF1dG8g
YWxpZ25JbmxpbmVCb3hJZkVsaWdpYmxlID0gWyZdIHsKICAgICAgICAgICAgICAgICBpZiAobV9p
bmxpbmVMZXZlbEJveGVzTmVlZFZlcnRpY2FsQWxpZ25tZW50KQpAQCAtMzM1LDcgKzMzMSw3IEBA
IHZvaWQgTGluZUJveEJ1aWxkZXI6OmNvbnN0cnVjdElubGluZUxldmVsQm94ZXMoTGluZUJveCYg
bGluZUJveCwgY29uc3QgTGluZTo6UnVuCiAgICAgICAgICAgICBhdXRvIGlubGluZUJveEhhc0lt
YWdpbmFyeVN0cnV0ID0gbGF5b3V0U3RhdGUoKS5pbk5vUXVpcmtzTW9kZSgpICYmICFsaW5lQm94
LmlzQ29uc2lkZXJlZEVtcHR5KCk7CiAgICAgICAgICAgICBhdXRvIGlzQ29uc2lkZXJlZE5vbkVt
cHR5ID0gaW5saW5lQm94SGFzSW1hZ2luYXJ5U3RydXQgfHwgaW5saW5lQm94R2VvbWV0cnkuaG9y
aXpvbnRhbFBhZGRpbmcoKS52YWx1ZU9yKDBfbHUpIHx8IGlubGluZUJveEdlb21ldHJ5Lmhvcml6
b250YWxCb3JkZXIoKTsKICAgICAgICAgICAgIGlmIChpc0NvbnNpZGVyZWROb25FbXB0eSkKLSAg
ICAgICAgICAgICAgICBpbmxpbmVCb3gtPnNldElzTm9uRW1wdHkoKTsKKyAgICAgICAgICAgICAg
ICBpbmxpbmVCb3gtPnNldEhhc0NvbnRlbnQoKTsKICAgICAgICAgICAgIHNldFZlcnRpY2FsR2Vv
bWV0cnlGb3JJbmxpbmVCb3goKmlubGluZUJveCk7CiAgICAgICAgICAgICBsaW5lQm94LmFkZElu
bGluZUxldmVsQm94KFdURk1vdmUoaW5saW5lQm94KSk7CiAgICAgICAgICAgICBjb250aW51ZTsK
QEAgLTM0OSwxMyArMzQ1LDEyIEBAIHZvaWQgTGluZUJveEJ1aWxkZXI6OmNvbnN0cnVjdElubGlu
ZUxldmVsQm94ZXMoTGluZUJveCYgbGluZUJveCwgY29uc3QgTGluZTo6UnVuCiAgICAgICAgIH0K
ICAgICAgICAgaWYgKHJ1bi5pc1RleHQoKSB8fCBydW4uaXNTb2Z0TGluZUJyZWFrKCkpIHsKICAg
ICAgICAgICAgIC8vIEZJWE1FOiBBZGp1c3Qgbm9uLWVtcHR5IGlubGluZSBib3ggaGVpZ2h0IHdo
ZW4gZ2x5cGhzIGZyb20gdGhlIG5vbi1wcmltYXJ5IGZvbnQgc3RyZXRjaCB0aGUgYm94LgotICAg
ICAgICAgICAgbGluZUJveC5pbmxpbmVMZXZlbEJveEZvckxheW91dEJveChsYXlvdXRCb3gucGFy
ZW50KCkpLnNldElzTm9uRW1wdHkoKTsKKyAgICAgICAgICAgIGxpbmVCb3guaW5saW5lTGV2ZWxC
b3hGb3JMYXlvdXRCb3gobGF5b3V0Qm94LnBhcmVudCgpKS5zZXRIYXNDb250ZW50KCk7CiAgICAg
ICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQogICAgICAgICBpZiAocnVuLmlzSGFyZExpbmVC
cmVhaygpKSB7CiAgICAgICAgICAgICBhdXRvIGxpbmVCcmVha0JveCA9IExpbmVCb3g6OklubGlu
ZUxldmVsQm94OjpjcmVhdGVMaW5lQnJlYWtCb3gobGF5b3V0Qm94LCBsb2dpY2FsTGVmdCk7CiAg
ICAgICAgICAgICBzZXRWZXJ0aWNhbEdlb21ldHJ5Rm9ySW5saW5lQm94KCpsaW5lQnJlYWtCb3gp
OwotICAgICAgICAgICAgbGluZUJyZWFrQm94LT5zZXRJc05vbkVtcHR5KCk7CiAgICAgICAgICAg
ICBsaW5lQm94LmFkZElubGluZUxldmVsQm94KFdURk1vdmUobGluZUJyZWFrQm94KSk7CiAgICAg
ICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQpAQCAtMzkyLDcgKzM4Nyw3IEBAIHZvaWQgTGlu
ZUJveEJ1aWxkZXI6OmNvbXB1dGVMaW5lQm94SGVpZ2h0QW5kQWxpZ25JbmxpbmVMZXZlbEJveGVz
VmVydGljYWxseShMaW5lCiAKICAgICAgICAgYXV0byBtaW5pbXVtTG9naWNhbFRvcCA9IE9wdGlv
bmFsPElubGluZUxheW91dFVuaXQ+IHsgfTsKICAgICAgICAgYXV0byBtYXhpbXVtTG9naWNhbEJv
dHRvbSA9IE9wdGlvbmFsPElubGluZUxheW91dFVuaXQ+IHsgfTsKLSAgICAgICAgaWYgKCFyb290
SW5saW5lQm94LmlzRW1wdHkoKSkgeworICAgICAgICBpZiAocXVpcmtzLmlubGluZUxldmVsQm94
QWZmZWN0c0xpbmVCb3gocm9vdElubGluZUJveCwgbGluZUJveCkpIHsKICAgICAgICAgICAgIG1p
bmltdW1Mb2dpY2FsVG9wID0gSW5saW5lTGF5b3V0VW5pdCB7IH07CiAgICAgICAgICAgICBtYXhp
bXVtTG9naWNhbEJvdHRvbSA9IHJvb3RJbmxpbmVCb3gubGF5b3V0Qm91bmRzKCkuaGVpZ2h0KCk7
CiAgICAgICAgICAgICBpbmxpbmVMZXZlbEJveEFic29sdXRlVG9wQW5kQm90dG9tTWFwLmFkZCgm
cm9vdElubGluZUJveCwgQWJzb2x1dGVUb3BBbmRCb3R0b20geyAqbWluaW11bUxvZ2ljYWxUb3As
ICptYXhpbXVtTG9naWNhbEJvdHRvbSB9KTsKQEAgLTQ1NCw3ICs0NDksNyBAQCB2b2lkIExpbmVC
b3hCdWlsZGVyOjpjb21wdXRlTGluZUJveEhlaWdodEFuZEFsaWduSW5saW5lTGV2ZWxCb3hlc1Zl
cnRpY2FsbHkoTGluZQogICAgICAgICAgICAgYXV0byBhYnNvbHV0ZUxvZ2ljYWxCb3R0b20gPSBh
YnNvbHV0ZUxvZ2ljYWxUb3AgKyBpbmxpbmVMZXZlbEJveC0+bGF5b3V0Qm91bmRzKCkuaGVpZ2h0
KCk7CiAgICAgICAgICAgICBpbmxpbmVMZXZlbEJveEFic29sdXRlVG9wQW5kQm90dG9tTWFwLmFk
ZChpbmxpbmVMZXZlbEJveC5nZXQoKSwgQWJzb2x1dGVUb3BBbmRCb3R0b20geyBhYnNvbHV0ZUxv
Z2ljYWxUb3AsIGFic29sdXRlTG9naWNhbEJvdHRvbSB9KTsKICAgICAgICAgICAgIC8vIFN0cmV0
Y2ggdGhlIG1pbi9tYXggYWJzb2x1dGUgdmFsdWVzIGlmIGFwcGxpY2FibGUuCi0gICAgICAgICAg
ICBpZiAocXVpcmtzLnNob3VsZElubGluZUxldmVsQm94U3RyZXRjaExpbmVCb3gobGluZUJveCwg
KmlubGluZUxldmVsQm94KSkgeworICAgICAgICAgICAgaWYgKHF1aXJrcy5pbmxpbmVMZXZlbEJv
eEFmZmVjdHNMaW5lQm94KCppbmxpbmVMZXZlbEJveCwgbGluZUJveCkpIHsKICAgICAgICAgICAg
ICAgICBtaW5pbXVtTG9naWNhbFRvcCA9IHN0ZDo6bWluKG1pbmltdW1Mb2dpY2FsVG9wLnZhbHVl
T3IoYWJzb2x1dGVMb2dpY2FsVG9wKSwgYWJzb2x1dGVMb2dpY2FsVG9wKTsKICAgICAgICAgICAg
ICAgICBtYXhpbXVtTG9naWNhbEJvdHRvbSA9IHN0ZDo6bWF4KG1heGltdW1Mb2dpY2FsQm90dG9t
LnZhbHVlT3IoYWJzb2x1dGVMb2dpY2FsQm90dG9tKSwgYWJzb2x1dGVMb2dpY2FsQm90dG9tKTsK
ICAgICAgICAgICAgIH0KQEAgLTQ2NCw3ICs0NTksNyBAQCB2b2lkIExpbmVCb3hCdWlsZGVyOjpj
b21wdXRlTGluZUJveEhlaWdodEFuZEFsaWduSW5saW5lTGV2ZWxCb3hlc1ZlcnRpY2FsbHkoTGlu
ZQogICAgICAgICAvLyAyLiBDaGVjayBpZiB0aGUgbGluZSBib3ggcmVsYXRpdmUgYWxpZ25lZCBp
bmxpbmUgYm94ZXMgKHRvcCwgYm90dG9tIGV0YykgaGF2ZSBlbm91Z2ggcm9vbSBhbmQgc3RyZXRj
aCB0aGUgbGluZSBib3ggZnVydGhlciBpZiBuZWVkZWQuCiAgICAgICAgIGF1dG8gbGluZUJveExv
Z2ljYWxIZWlnaHQgPSBtYXhpbXVtTG9naWNhbEJvdHRvbS52YWx1ZU9yKElubGluZUxheW91dFVu
aXQoKSkgLSBtaW5pbXVtTG9naWNhbFRvcC52YWx1ZU9yKElubGluZUxheW91dFVuaXQoKSk7CiAg
ICAgICAgIGZvciAoYXV0byogbGluZUJveFJlbGF0aXZlSW5saW5lTGV2ZWxCb3ggOiBsaW5lQm94
UmVsYXRpdmVJbmxpbmVMZXZlbEJveGVzKSB7Ci0gICAgICAgICAgICBpZiAoIXF1aXJrcy5zaG91
bGRJbmxpbmVMZXZlbEJveFN0cmV0Y2hMaW5lQm94KGxpbmVCb3gsICpsaW5lQm94UmVsYXRpdmVJ
bmxpbmVMZXZlbEJveCkpCisgICAgICAgICAgICBpZiAoIXF1aXJrcy5pbmxpbmVMZXZlbEJveEFm
ZmVjdHNMaW5lQm94KCpsaW5lQm94UmVsYXRpdmVJbmxpbmVMZXZlbEJveCwgbGluZUJveCkpCiAg
ICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICBsaW5lQm94TG9naWNhbEhlaWdo
dCA9IHN0ZDo6bWF4KGxpbmVCb3hMb2dpY2FsSGVpZ2h0LCBsaW5lQm94UmVsYXRpdmVJbmxpbmVM
ZXZlbEJveC0+bGF5b3V0Qm91bmRzKCkuaGVpZ2h0KCkpOwogICAgICAgICB9CkBAIC00NzcsNyAr
NDcyLDcgQEAgdm9pZCBMaW5lQm94QnVpbGRlcjo6Y29tcHV0ZUxpbmVCb3hIZWlnaHRBbmRBbGln
bklubGluZUxldmVsQm94ZXNWZXJ0aWNhbGx5KExpbmUKICAgICAgICAgaW5saW5lTGV2ZWxCb3hB
YnNvbHV0ZUJhc2VsaW5lT2Zmc2V0TWFwLmFkZCgmcm9vdElubGluZUJveCwgSW5saW5lTGF5b3V0
VW5pdCB7IH0pOwogCiAgICAgICAgIGF1dG8gbWF4aW11bVRvcE9mZnNldEZyb21Sb290SW5saW5l
Qm94QmFzZWxpbmUgPSBPcHRpb25hbDxJbmxpbmVMYXlvdXRVbml0PiB7IH07Ci0gICAgICAgIGlm
ICghcm9vdElubGluZUJveC5pc0VtcHR5KCkpCisgICAgICAgIGlmIChxdWlya3MuaW5saW5lTGV2
ZWxCb3hBZmZlY3RzTGluZUJveChyb290SW5saW5lQm94LCBsaW5lQm94KSkKICAgICAgICAgICAg
IG1heGltdW1Ub3BPZmZzZXRGcm9tUm9vdElubGluZUJveEJhc2VsaW5lID0gcm9vdElubGluZUJv
eC5sYXlvdXRCb3VuZHMoKS5hc2NlbnQ7CiAKICAgICAgICAgZm9yIChhdXRvJiBpbmxpbmVMZXZl
bEJveCA6IGxpbmVCb3gubm9uUm9vdElubGluZUxldmVsQm94ZXMoKSkgewpAQCAtNTM1LDcgKzUz
MCw3IEBAIHZvaWQgTGluZUJveEJ1aWxkZXI6OmNvbXB1dGVMaW5lQm94SGVpZ2h0QW5kQWxpZ25J
bmxpbmVMZXZlbEJveGVzVmVydGljYWxseShMaW5lCiAgICAgICAgICAgICAgICAgfQogICAgICAg
ICAgICAgfQogICAgICAgICAgICAgaW5saW5lTGV2ZWxCb3hBYnNvbHV0ZUJhc2VsaW5lT2Zmc2V0
TWFwLmFkZChpbmxpbmVMZXZlbEJveC5nZXQoKSwgYWJzb2x1dGVCYXNlbGluZU9mZnNldCk7Ci0g
ICAgICAgICAgICBhdXRvIGFmZmVjdHNSb290SW5saW5lQm94VmVydGljYWxQb3NpdGlvbiA9IHF1
aXJrcy5zaG91bGRJbmxpbmVMZXZlbEJveFN0cmV0Y2hMaW5lQm94KGxpbmVCb3gsICppbmxpbmVM
ZXZlbEJveCk7CisgICAgICAgICAgICBhdXRvIGFmZmVjdHNSb290SW5saW5lQm94VmVydGljYWxQ
b3NpdGlvbiA9IHF1aXJrcy5pbmxpbmVMZXZlbEJveEFmZmVjdHNMaW5lQm94KCppbmxpbmVMZXZl
bEJveCwgbGluZUJveCk7CiAgICAgICAgICAgICBpZiAoYWZmZWN0c1Jvb3RJbmxpbmVCb3hWZXJ0
aWNhbFBvc2l0aW9uKQogICAgICAgICAgICAgICAgIG1heGltdW1Ub3BPZmZzZXRGcm9tUm9vdElu
bGluZUJveEJhc2VsaW5lID0gc3RkOjptYXgobWF4aW11bVRvcE9mZnNldEZyb21Sb290SW5saW5l
Qm94QmFzZWxpbmUudmFsdWVPcihzdGQ6Om51bWVyaWNfbGltaXRzPElubGluZUxheW91dFVuaXQ+
Ojpsb3dlc3QoKSksIGFic29sdXRlQmFzZWxpbmVPZmZzZXQgKyBpbmxpbmVMZXZlbEJveC0+bGF5
b3V0Qm91bmRzKCkuYXNjZW50KTsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHRRdWlya3Mu
Y3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0
dGluZ0NvbnRleHRRdWlya3MuY3BwCmluZGV4IDlkNTliMWY5ZjAwYWQ1N2U5NmYwNjZmNTNkZjE5
ZGU2OTZjYWZjZjcuLjViODBiNDQxYWYxOGJmNzllZGFjMzk0MjI0Yzk1YjMwYzEwNzcyMTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZv
cm1hdHRpbmdDb250ZXh0UXVpcmtzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5s
aW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dFF1aXJrcy5jcHAKQEAgLTQwLDE3
ICs0MCwyNCBAQCBJbmxpbmVMYXlvdXRVbml0IElubGluZUZvcm1hdHRpbmdDb250ZXh0OjpRdWly
a3M6OmluaXRpYWxMaW5lSGVpZ2h0KCkgY29uc3QKICAgICByZXR1cm4gcm9vdC5zdHlsZSgpLmZv
bnRNZXRyaWNzKCkuZmxvYXRIZWlnaHQoKTsKIH0KIAotYm9vbCBJbmxpbmVGb3JtYXR0aW5nQ29u
dGV4dDo6UXVpcmtzOjpzaG91bGRJbmxpbmVMZXZlbEJveFN0cmV0Y2hMaW5lQm94KGNvbnN0IExp
bmVCb3gmIGxpbmVCb3gsIGNvbnN0IExpbmVCb3g6OklubGluZUxldmVsQm94JiBpbmxpbmVMZXZl
bEJveCkgY29uc3QKK2Jvb2wgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OlF1aXJrczo6aW5saW5l
TGV2ZWxCb3hBZmZlY3RzTGluZUJveChjb25zdCBMaW5lQm94OjpJbmxpbmVMZXZlbEJveCYgaW5s
aW5lTGV2ZWxCb3gsIGNvbnN0IExpbmVCb3gmIGxpbmVCb3gpIGNvbnN0CiB7Ci0gICAgaWYgKGlu
bGluZUxldmVsQm94LmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGlmIChs
YXlvdXRTdGF0ZSgpLmluTm9RdWlya3NNb2RlKCkpCi0gICAgICAgIHJldHVybiB0cnVlOwotICAg
IGlmICghaW5saW5lTGV2ZWxCb3guaXNMaW5lQnJlYWtCb3goKSkKLSAgICAgICAgcmV0dXJuIHRy
dWU7Ci0gICAgLy8gPGJyPiBpbiBub24tc3RhbmRhcmQgbW9kZSBzdHJldGNoZXMgdGhlIGxpbmUg
Ym94IG9ubHkgd2hlbiB0aGUgbGluZSBpcyBlbXB0eS4KLSAgICAvLyBlLmcuIDxkaXY+PHNwYW4+
PGJyPjwvc3Bhbj48L2Rpdj4gd2lsbCBzdHJldGNoIGJ1dCA8ZGl2PnRoaXMgd2lsbCBub3Qgc3Ry
ZXRjaCB0byAyMDBweDxzcGFuIHN0eWxlPSJmb250LXNpemU6IDIwMHB4OyI+PGJyPjwvc3Bhbj48
L2Rpdj4KLSAgICByZXR1cm4gbGluZUJveC5pc0NvbnNpZGVyZWRFbXB0eSgpOworICAgIGlmIChp
bmxpbmVMZXZlbEJveC5pc0lubGluZUJveCgpKQorICAgICAgICByZXR1cm4gaW5saW5lTGV2ZWxC
b3guaGFzQ29udGVudCgpOworICAgIGlmIChpbmxpbmVMZXZlbEJveC5pc0xpbmVCcmVha0JveCgp
KSB7CisgICAgICAgIC8vIDxicj4gaW4gbm9uLXN0YW5kYXJkIG1vZGUgc3RyZXRjaGVzIHRoZSBs
aW5lIGJveCBvbmx5IHdoZW4gdGhlIGxpbmUgaXMgZW1wdHkuCisgICAgICAgIC8vIGUuZy4gPGRp
dj48c3Bhbj48YnI+PC9zcGFuPjwvZGl2PiB3aWxsIHN0cmV0Y2ggYnV0IDxkaXY+dGhpcyB3aWxs
IG5vdCBzdHJldGNoIHRvIDIwMHB4PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMjAwcHg7Ij48YnI+
PC9zcGFuPjwvZGl2PgorICAgICAgICByZXR1cm4gbGF5b3V0U3RhdGUoKS5pbk5vUXVpcmtzTW9k
ZSgpID8gdHJ1ZSA6IGxpbmVCb3guaXNDb25zaWRlcmVkRW1wdHkoKTsKKyAgICB9CisgICAgaWYg
KGlubGluZUxldmVsQm94LmlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSkgeworICAgICAgICBpZiAo
aW5saW5lTGV2ZWxCb3gubGF5b3V0Qm91bmRzKCkuaGVpZ2h0KCkpCisgICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKKyAgICAgICAgLy8gV2hpbGUgaW4gcHJhY3RpY2Ugd2hlbiB0aGUgbmVnYXRpdmUg
dmVydGljYWwgbWFyZ2luIG1ha2VzIHRoZSBsYXlvdXQgYm91bmRzIGVtcHR5IChlLmc6IGhlaWdo
dDogMTAwcHg7IG1hcmdpbi10b3A6IC0xMDBweDspLCBhbmQgdGhpcyBpbmxpbmUKKyAgICAgICAg
Ly8gbGV2ZWwgYm94IGNvbnRyaWJ1dGVzIDBweCB0byB0aGUgbGluZSBib3ggaGVpZ2h0LCBpdCBz
dGlsbCBuZWVkcyB0byBiZSB0YWtlbiBpbnRvIGFjY291bnQgd2hpbGUgY29tcHV0aW5nIGxpbmUg
Ym94IGdlb21ldHJpZXMuCisgICAgICAgIGF1dG8mIGJveEdlb21ldHJ5ID0gZm9ybWF0dGluZ0Nv
bnRleHQoKS5nZW9tZXRyeUZvckJveChpbmxpbmVMZXZlbEJveC5sYXlvdXRCb3goKSk7CisgICAg
ICAgIHJldHVybiBib3hHZW9tZXRyeS5tYXJnaW5CZWZvcmUoKSB8fCBib3hHZW9tZXRyeS5tYXJn
aW5BZnRlcigpOworICAgIH0KKyAgICByZXR1cm4gZmFsc2U7CiB9CiAKIGJvb2wgSW5saW5lRm9y
bWF0dGluZ0NvbnRleHQ6OlF1aXJrczo6aGFzU29mdFdyYXBPcHBvcnR1bml0eUF0SW1hZ2UoKSBj
b25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcv
SW5saW5lTGluZUJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGlu
Zy9JbmxpbmVMaW5lQm94LmNwcAppbmRleCA1ZTBmZDY3MzE3NmIwOTFkYTBjYTAyNzEwZGE3ZWU5
YTNmNmY5MDU3Li41MTAxM2Q4NGM0OTNhZDMwNjVmZmQyYjhmYjU3MWM3NTM2Y2FlMjA4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5l
Qm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9Jbmxp
bmVMaW5lQm94LmNwcApAQCAtNzEsNiArNzEsMTIgQEAgdm9pZCBMaW5lQm94OjpJbmxpbmVMZXZl
bEJveDo6c2V0TG9naWNhbEhlaWdodChJbmxpbmVMYXlvdXRVbml0IGxvZ2ljYWxIZWlnaHQpCiAg
ICAgbV9sb2dpY2FsUmVjdC5zZXRIZWlnaHQocm91bmRUb0ludChsb2dpY2FsSGVpZ2h0KSk7CiB9
CiAKK3ZvaWQgTGluZUJveDo6SW5saW5lTGV2ZWxCb3g6OnNldEhhc0NvbnRlbnQoKQoreworICAg
IEFTU0VSVChpc0lubGluZUJveCgpKTsKKyAgICBtX2hhc0NvbnRlbnQgPSB0cnVlOworfQorCiBi
b29sIExpbmVCb3g6OklubGluZUxldmVsQm94OjpoYXNMaW5lQm94UmVsYXRpdmVBbGlnbm1lbnQo
KSBjb25zdAogewogICAgIGF1dG8gdmVydGljYWxBbGlnbm1lbnQgPSBsYXlvdXRCb3goKS5zdHls
ZSgpLnZlcnRpY2FsQWxpZ24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9p
bmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCb3guaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9p
bmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCb3guaAppbmRleCA1MmQ2MjQ5YjgyNDI5ZjQ0MmYy
YWNmNjJkMWUyZGFiMTU4MWU5MjZmLi41ZmU1NzY2N2UwOGI2MDkxZGI0MzZhZWM3MTMxYjM2NjA2
ODc3ZmZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGlu
Zy9JbmxpbmVMaW5lQm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1h
dHRpbmcvSW5saW5lTGluZUJveC5oCkBAIC03Nyw4ICs3Nyw4IEBAIHB1YmxpYzoKICAgICAgICAg
fTsKICAgICAgICAgTGF5b3V0Qm91bmRzIGxheW91dEJvdW5kcygpIGNvbnN0IHsgcmV0dXJuIG1f
bGF5b3V0Qm91bmRzOyB9CiAKLSAgICAgICAgYm9vbCBpc0VtcHR5KCkgY29uc3QgeyByZXR1cm4g
bV9pc0VtcHR5OyB9Ci0gICAgICAgIHZvaWQgc2V0SXNOb25FbXB0eSgpIHsgbV9pc0VtcHR5ID0g
ZmFsc2U7IH0KKyAgICAgICAgYm9vbCBoYXNDb250ZW50KCkgY29uc3QgeyByZXR1cm4gbV9oYXND
b250ZW50OyB9CisgICAgICAgIHZvaWQgc2V0SGFzQ29udGVudCgpOwogCiAgICAgICAgIFZlcnRp
Y2FsQWxpZ24gdmVydGljYWxBbGlnbigpIGNvbnN0IHsgcmV0dXJuIGxheW91dEJveCgpLnN0eWxl
KCkudmVydGljYWxBbGlnbigpOyB9CiAgICAgICAgIGNvbnN0IEJveCYgbGF5b3V0Qm94KCkgY29u
c3QgeyByZXR1cm4gKm1fbGF5b3V0Qm94OyB9CkBAIC0xMjQsNyArMTI0LDcgQEAgcHVibGljOgog
ICAgICAgICBMYXlvdXRCb3VuZHMgbV9sYXlvdXRCb3VuZHM7CiAgICAgICAgIElubGluZUxheW91
dFVuaXQgbV9iYXNlbGluZSB7IDAgfTsKICAgICAgICAgT3B0aW9uYWw8SW5saW5lTGF5b3V0VW5p
dD4gbV9kZXNjZW50OwotICAgICAgICBib29sIG1faXNFbXB0eSB7IHRydWUgfTsKKyAgICAgICAg
Ym9vbCBtX2hhc0NvbnRlbnQgeyBmYWxzZSB9OwogICAgICAgICBUeXBlIG1fdHlwZSB7IFR5cGU6
OklubGluZUJveCB9OwogICAgIH07CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>