<?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>227488</bug_id>
          
          <creation_ts>2021-06-29 09:12:19 -0700</creation_ts>
          <short_desc>[LFC][TFC] TableGrid::Column holds both the computed and the used width values</short_desc>
          <delta_ts>2021-07-02 08:29:30 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1773416</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2021-06-29 09:12:19 -0700</bug_when>
    <thetext>We should be able to tell them apart</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1773418</commentid>
    <comment_count>1</comment_count>
      <attachid>432483</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-06-29 09:15:50 -0700</bug_when>
    <thetext>Created attachment 432483
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1773421</commentid>
    <comment_count>2</comment_count>
      <attachid>432486</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-06-29 09:31:08 -0700</bug_when>
    <thetext>Created attachment 432486
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1773423</commentid>
    <comment_count>3</comment_count>
      <attachid>432487</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-06-29 09:41:40 -0700</bug_when>
    <thetext>Created attachment 432487
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1773424</commentid>
    <comment_count>4</comment_count>
      <attachid>432488</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-06-29 09:48:40 -0700</bug_when>
    <thetext>Created attachment 432488
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774477</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-07-02 08:28:12 -0700</bug_when>
    <thetext>Committed r279504 (239356@main): &lt;https://commits.webkit.org/239356@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 432488.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774479</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-07-02 08:29:30 -0700</bug_when>
    <thetext>&lt;rdar://problem/80085455&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432483</attachid>
            <date>2021-06-29 09:15:50 -0700</date>
            <delta_ts>2021-06-29 09:31:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227488-20210629091549.patch</filename>
            <type>text/plain</type>
            <size>14918</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5MzIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDFlMTQ1MzUyYjVjNWY2
Y2IyNmUwNmEyYTRkY2M5NjM2MmEyNjJhNy4uYjJkNzJmYjNmNjBkMTViNjU0NzQzZjNiMjFiZjM3
MWVmMjNkMzIwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDIxLTA2LTI5ICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtURkNdIFRhYmxlR3Jp
ZDo6Q29sdW1uIGhvbGRzIGJvdGggdGhlIGNvbXB1dGVkIGFuZCB0aGUgdXNlZCB3aWR0aCB2YWx1
ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzQ4
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMg
cGF0Y2ggY2xlYW5zIHVwIFRhYmxlR3JpZDo6Q29sdW1uIGludGVyZmFjZSB0byBlbnN1cmUgd2Ug
ZG9uJ3QgY29uZnVzZWQKKyAgICAgICAgdGhlIGNvbXB1dGVkIGFuZCB0aGUgdXNlZCB3aWR0aHMg
Zm9yIGNvbHVtbnMuCisgICAgICAgIFRoaXMgaXMgYWxzbyBpbiBwcmVwYXJ0aW9uIGZvciBhZGRp
bmcgbWl4ZWQgd2lkdGggdHlwZSBzdXBwb3J0LgorCisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRp
bmdDb250ZXh0cy90YWJsZS9UYWJsZUZvcm1hdHRpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkxheW91dDo6VGFibGVGb3JtYXR0aW5nQ29udGV4dDo6c2V0VXNlZEdlb21ldHJ5Rm9y
Q2VsbHMpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpUYWJsZUZvcm1hdHRpbmdDb250ZXh0
Ojpjb21wdXRlZFByZWZlcnJlZFdpZHRoRm9yQ29sdW1ucyk6CisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXQ6OlRhYmxlRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVBbmREaXN0cmlidXRlRXh0cmFT
cGFjZSk6CisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUZv
cm1hdHRpbmdHZW9tZXRyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OlRhYmxlRm9y
bWF0dGluZ0dlb21ldHJ5Ojpob3Jpem9udGFsU3BhY2VGb3JDZWxsQ29udGVudCBjb25zdCk6Cisg
ICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUdyaWQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpUYWJsZUdyaWQ6OkNvbHVtbjo6c2V0TG9naWNhbFdp
ZHRoKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6VGFibGVHcmlkOjpDb2x1
bW46OmxvZ2ljYWxXaWR0aCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXQ6OlRhYmxlR3JpZDo6Q29sdW1uOjpzZXRMb2dpY2FsTGVmdCk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpMYXlvdXQ6OlRhYmxlR3JpZDo6Q29sdW1uOjpsb2dpY2FsTGVmdCBjb25zdCk6
IERlbGV0ZWQuCisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJs
ZUdyaWQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6VGFibGVHcmlkOjpDb2x1bW46OnVz
ZWRMb2dpY2FsUmlnaHQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpUYWJsZUdy
aWQ6OkNvbHVtbjo6Y29tcHV0ZWRMb2dpY2FsV2lkdGggY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0OjpUYWJsZUdyaWQ6OkNvbHVtbnM6OmxvZ2ljYWxXaWR0aCBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OlRhYmxlR3JpZDo6Q29sdW1uOjpzZXRDb21wdXRlZExvZ2lj
YWxXaWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OlRhYmxlR3JpZDo6Q29sdW1uOjpz
ZXRVc2VkTG9naWNhbFdpZHRoKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6VGFibGVHcmlk
OjpDb2x1bW46OnVzZWRMb2dpY2FsV2lkdGggY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5
b3V0OjpUYWJsZUdyaWQ6OkNvbHVtbjo6c2V0VXNlZExvZ2ljYWxMZWZ0KToKKyAgICAgICAgKFdl
YkNvcmU6OkxheW91dDo6VGFibGVHcmlkOjpDb2x1bW46OnVzZWRMb2dpY2FsTGVmdCBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OlRhYmxlR3JpZDo6Q29sdW1uOjpsb2dpY2FsUmln
aHQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpUYWJsZUdyaWQ6
OkNvbHVtbjo6Zml4ZWRXaWR0aCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXQ6OlRhYmxlR3JpZDo6Q29sdW1uOjpwZXJjZW50IGNvbnN0KTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OkxheW91dDo6VGFibGVHcmlkOjpDb2x1bW46OnNldEZpeGVkV2lkdGgpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpUYWJsZUdyaWQ6OkNvbHVtbjo6c2V0
UGVyY2VudCk6IERlbGV0ZWQuCisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90
YWJsZS9UYWJsZUxheW91dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OlRhYmxlRm9y
bWF0dGluZ0NvbnRleHQ6OlRhYmxlTGF5b3V0OjpkaXN0cmlidXRlZEhvcml6b250YWxTcGFjZSk6
CisKIDIwMjEtMDYtMjcgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAK
ICAgICAgICAgW2lPUyAxNV0gRml4IHRoZSBpbnRlcm5hbCBidWlsZCBhZnRlciByZGFyOi8vNzY1
NDkxMDkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4
dHMvdGFibGUvVGFibGVGb3JtYXR0aW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvZm9ybWF0dGluZ0NvbnRleHRzL3RhYmxlL1RhYmxlRm9ybWF0dGluZ0NvbnRleHQuY3BwCmlu
ZGV4IGU3ZDMwYzQ0YTI0YjQ1NzZmY2FlNzlhMmM2NTc5YjU4NWMxNjhjNWYuLjI0NTY5YmE5YTc2
Njk2NjQxNTFmMjU3MDVkOWIzY2NjNDM3MGM3YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvdGFibGUvVGFibGVGb3JtYXR0aW5nQ29udGV4dC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9U
YWJsZUZvcm1hdHRpbmdDb250ZXh0LmNwcApAQCAtMTAxLDcgKzEwMSw3IEBAIHZvaWQgVGFibGVG
b3JtYXR0aW5nQ29udGV4dDo6c2V0VXNlZEdlb21ldHJ5Rm9yQ2VsbHMoTGF5b3V0VW5pdCBhdmFp
bGFibGVIb3Jpem9uCiAgICAgICAgIGNlbGxCb3hHZW9tZXRyeS5zZXRCb3JkZXIoZm9ybWF0dGlu
Z0dlb21ldHJ5LmNvbXB1dGVkQ2VsbEJvcmRlcigqY2VsbCkpOwogICAgICAgICBjZWxsQm94R2Vv
bWV0cnkuc2V0UGFkZGluZyhmb3JtYXR0aW5nR2VvbWV0cnkuY29tcHV0ZWRQYWRkaW5nKGNlbGxC
b3gsIGF2YWlsYWJsZUhvcml6b250YWxTcGFjZSkpOwogICAgICAgICBjZWxsQm94R2VvbWV0cnku
c2V0TG9naWNhbFRvcChyb3dMaXN0W2NlbGwtPnN0YXJ0Um93KCldLmxvZ2ljYWxUb3AoKSAtIHNl
Y3Rpb25PZmZzZXQpOwotICAgICAgICBjZWxsQm94R2VvbWV0cnkuc2V0TG9naWNhbExlZnQoY29s
dW1uTGlzdFtjZWxsLT5zdGFydENvbHVtbigpXS5sb2dpY2FsTGVmdCgpKTsKKyAgICAgICAgY2Vs
bEJveEdlb21ldHJ5LnNldExvZ2ljYWxMZWZ0KGNvbHVtbkxpc3RbY2VsbC0+c3RhcnRDb2x1bW4o
KV0udXNlZExvZ2ljYWxMZWZ0KCkpOwogICAgICAgICBjZWxsQm94R2VvbWV0cnkuc2V0Q29udGVu
dEJveFdpZHRoKGZvcm1hdHRpbmdHZW9tZXRyeS5ob3Jpem9udGFsU3BhY2VGb3JDZWxsQ29udGVu
dCgqY2VsbCkpOwogCiAgICAgICAgIGlmIChjZWxsQm94Lmhhc0luRmxvd09yRmxvYXRpbmdDaGls
ZCgpKSB7CkBAIC0zMzYsNyArMzM2LDcgQEAgSW50cmluc2ljV2lkdGhDb25zdHJhaW50cyBUYWJs
ZUZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlZFByZWZlcnJlZFdpZHRoRm9yQ29sdW0KICAgICAg
ICAgICAgIHJldHVybiBmb3JtYXR0aW5nR2VvbWV0cnkuY29tcHV0ZWRDb2x1bW5XaWR0aCgqY29s
dW1uQm94KTsKICAgICAgICAgfSgpOwogICAgICAgICBpZiAoZml4ZWRXaWR0aCkKLSAgICAgICAg
ICAgIGNvbHVtbi5zZXRGaXhlZFdpZHRoKCpmaXhlZFdpZHRoKTsKKyAgICAgICAgICAgIGNvbHVt
bi5zZXRDb21wdXRlZExvZ2ljYWxXaWR0aChMZW5ndGggeyAqZml4ZWRXaWR0aCwgTGVuZ3RoVHlw
ZTo6Rml4ZWQgfSk7CiAgICAgfQogCiAgICAgVmVjdG9yPHN0ZDo6b3B0aW9uYWw8ZmxvYXQ+PiBj
b2x1bW5QZXJjZW50TGlzdChjb2x1bW5MaXN0LnNpemUoKSk7CkBAIC0zNjAsNyArMzYwLDkgQEAg
SW50cmluc2ljV2lkdGhDb25zdHJhaW50cyBUYWJsZUZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRl
ZFByZWZlcnJlZFdpZHRoRm9yQ29sdW0KICAgICAgICAgZ3JpZC5zbG90KGNlbGxQb3NpdGlvbikt
PnNldFdpZHRoQ29uc3RyYWludHMoKmludHJpbnNpY1dpZHRoKTsKICAgICAgICAgaWYgKGF1dG8g
Zml4ZWRXaWR0aCA9IGZvcm1hdHRpbmdHZW9tZXRyeS5maXhlZFZhbHVlKGNlbGxCb3guc3R5bGUo
KS5sb2dpY2FsV2lkdGgoKSkpIHsKICAgICAgICAgICAgICpmaXhlZFdpZHRoICs9IGhvcml6b250
YWxCb3JkZXJBbmRQYWRkaW5nV2lkdGg7Ci0gICAgICAgICAgICBjb2x1bW5MaXN0W2NlbGxQb3Np
dGlvbi5jb2x1bW5dLnNldEZpeGVkV2lkdGgoc3RkOjptYXgoKmZpeGVkV2lkdGgsIGNvbHVtbkxp
c3RbY2VsbFBvc2l0aW9uLmNvbHVtbl0uZml4ZWRXaWR0aCgpLnZhbHVlX29yKDApKSk7CisgICAg
ICAgICAgICBhdXRvJiBjb2x1bW4gPSBjb2x1bW5MaXN0W2NlbGxQb3NpdGlvbi5jb2x1bW5dOwor
ICAgICAgICAgICAgaWYgKCpmaXhlZFdpZHRoID4gY29sdW1uLmNvbXB1dGVkTG9naWNhbFdpZHRo
KCkudmFsdWUoKSkKKyAgICAgICAgICAgICAgICBjb2x1bW4uc2V0Q29tcHV0ZWRMb2dpY2FsV2lk
dGgoTGVuZ3RoIHsgKmZpeGVkV2lkdGgsIExlbmd0aFR5cGU6OkZpeGVkIH0pOwogICAgICAgICB9
CiAgICAgICAgIC8vIENvbGxlY3QgdGhlIHBlcmNlbnQgdmFsdWVzIHNvIHRoYXQgd2UgY2FuIGNv
bXB1dGUgdGhlIG1heGltdW0gdmFsdWVzIHBlciBjb2x1bW4uCiAgICAgICAgIGF1dG8mIGNlbGxM
b2dpY2FsV2lkdGggPSBjZWxsQm94LnN0eWxlKCkubG9naWNhbFdpZHRoKCk7CkBAIC0zODcsOCAr
Mzg5LDggQEAgSW50cmluc2ljV2lkdGhDb25zdHJhaW50cyBUYWJsZUZvcm1hdHRpbmdDb250ZXh0
Ojpjb21wdXRlZFByZWZlcnJlZFdpZHRoRm9yQ29sdW0KICAgICAgICAgICAgICAgICBjb250aW51
ZTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGF1dG8gd2lkdGhDb25zdHJhaW50cyA9IHNs
b3Qud2lkdGhDb25zdHJhaW50cygpOwotICAgICAgICAgICAgaWYgKGF1dG8gY29sdW1uRml4ZWRX
aWR0aCA9IGNvbHVtbkxpc3RbY29sdW1uSW5kZXhdLmZpeGVkV2lkdGgoKSkKLSAgICAgICAgICAg
ICAgICB3aWR0aENvbnN0cmFpbnRzLm1heGltdW0gPSBzdGQ6Om1heCgqY29sdW1uRml4ZWRXaWR0
aCwgd2lkdGhDb25zdHJhaW50cy5taW5pbXVtKTsKKyAgICAgICAgICAgIGlmIChhdXRvIGNvbHVt
bkxvZ2ljYWxXaWR0aCA9IGNvbHVtbkxpc3RbY29sdW1uSW5kZXhdLmNvbXB1dGVkTG9naWNhbFdp
ZHRoKCk7IGNvbHVtbkxvZ2ljYWxXaWR0aC5pc0ZpeGVkKCkpCisgICAgICAgICAgICAgICAgd2lk
dGhDb25zdHJhaW50cy5tYXhpbXVtID0gc3RkOjptYXgoTGF5b3V0VW5pdCB7IGNvbHVtbkxvZ2lj
YWxXaWR0aC52YWx1ZSgpIH0sIHdpZHRoQ29uc3RyYWludHMubWluaW11bSk7CiAKICAgICAgICAg
ICAgIGNvbHVtbkludHJpbnNpY1dpZHRoc1tjb2x1bW5JbmRleF0ubWluaW11bSA9IHN0ZDo6bWF4
KHdpZHRoQ29uc3RyYWludHMubWluaW11bSwgY29sdW1uSW50cmluc2ljV2lkdGhzW2NvbHVtbklu
ZGV4XS5taW5pbXVtKTsKICAgICAgICAgICAgIGNvbHVtbkludHJpbnNpY1dpZHRoc1tjb2x1bW5J
bmRleF0ubWF4aW11bSA9IHN0ZDo6bWF4KHdpZHRoQ29uc3RyYWludHMubWF4aW11bSwgY29sdW1u
SW50cmluc2ljV2lkdGhzW2NvbHVtbkluZGV4XS5tYXhpbXVtKTsKQEAgLTQ0Miw5ICs0NDQsMTAg
QEAgSW50cmluc2ljV2lkdGhDb25zdHJhaW50cyBUYWJsZUZvcm1hdHRpbmdDb250ZXh0Ojpjb21w
dXRlZFByZWZlcnJlZFdpZHRoRm9yQ29sdW0KICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAg
ICAgICAgICAgIH0KICAgICAgICAgICAgIEFTU0VSVCgqcGVyY2VudCA+IDApOwotICAgICAgICAg
ICAgY29sdW1uTGlzdFtjb2x1bW5JbmRleF0uc2V0UGVyY2VudChzdGQ6Om1pbihyZW1haW5pbmdQ
ZXJjZW50LCAqcGVyY2VudCkpOwotICAgICAgICAgICAgcGVyY2VudE1heGltdW1XaWR0aCA9IHN0
ZDo6bWF4KHBlcmNlbnRNYXhpbXVtV2lkdGgsIExheW91dFVuaXQgeyBjb2x1bW5JbnRyaW5zaWNX
aWR0aHNbY29sdW1uSW5kZXhdLm1heGltdW0gKiAxMDAuMGYgLyAqY29sdW1uTGlzdFtjb2x1bW5J
bmRleF0ucGVyY2VudCgpIH0pOwotICAgICAgICAgICAgcmVtYWluaW5nUGVyY2VudCAtPSAqY29s
dW1uTGlzdFtjb2x1bW5JbmRleF0ucGVyY2VudCgpOworICAgICAgICAgICAgcGVyY2VudCA9IHN0
ZDo6bWluKCpwZXJjZW50LCByZW1haW5pbmdQZXJjZW50KTsKKyAgICAgICAgICAgIGNvbHVtbkxp
c3RbY29sdW1uSW5kZXhdLnNldENvbXB1dGVkTG9naWNhbFdpZHRoKExlbmd0aCB7ICpwZXJjZW50
LCBMZW5ndGhUeXBlOjpQZXJjZW50IH0pOworICAgICAgICAgICAgcGVyY2VudE1heGltdW1XaWR0
aCA9IHN0ZDo6bWF4KHBlcmNlbnRNYXhpbXVtV2lkdGgsIExheW91dFVuaXQgeyBjb2x1bW5JbnRy
aW5zaWNXaWR0aHNbY29sdW1uSW5kZXhdLm1heGltdW0gKiAxMDAuMGYgLyAqcGVyY2VudCB9KTsK
KyAgICAgICAgICAgIHJlbWFpbmluZ1BlcmNlbnQgLT0gKnBlcmNlbnQ7CiAgICAgICAgIH0KIAog
ICAgICAgICBBU1NFUlQocmVtYWluaW5nUGVyY2VudCA+PSAwLmYpOwpAQCAtNDcyLDggKzQ3NSw4
IEBAIHZvaWQgVGFibGVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZUFuZERpc3RyaWJ1dGVFeHRy
YVNwYWNlKExheW91dFVuaXQgYXZhaWxhYmxlCiAgICAgYXV0byBjb2x1bW5Mb2dpY2FsTGVmdCA9
IGdyaWQuaG9yaXpvbnRhbFNwYWNpbmcoKTsKICAgICBmb3IgKHNpemVfdCBjb2x1bW5JbmRleCA9
IDA7IGNvbHVtbkluZGV4IDwgY29sdW1ucy5zaXplKCk7ICsrY29sdW1uSW5kZXgpIHsKICAgICAg
ICAgYXV0byYgY29sdW1uID0gY29sdW1uc1tjb2x1bW5JbmRleF07Ci0gICAgICAgIGNvbHVtbi5z
ZXRMb2dpY2FsTGVmdChjb2x1bW5Mb2dpY2FsTGVmdCk7Ci0gICAgICAgIGNvbHVtbi5zZXRMb2dp
Y2FsV2lkdGgoZGlzdHJpYnV0ZWRIb3Jpem9udGFsU3BhY2VzW2NvbHVtbkluZGV4XSk7CisgICAg
ICAgIGNvbHVtbi5zZXRVc2VkTG9naWNhbExlZnQoY29sdW1uTG9naWNhbExlZnQpOworICAgICAg
ICBjb2x1bW4uc2V0VXNlZExvZ2ljYWxXaWR0aChkaXN0cmlidXRlZEhvcml6b250YWxTcGFjZXNb
Y29sdW1uSW5kZXhdKTsKICAgICAgICAgY29sdW1uTG9naWNhbExlZnQgKz0gZGlzdHJpYnV0ZWRI
b3Jpem9udGFsU3BhY2VzW2NvbHVtbkluZGV4XSArIGdyaWQuaG9yaXpvbnRhbFNwYWNpbmcoKTsK
ICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29u
dGV4dHMvdGFibGUvVGFibGVGb3JtYXR0aW5nR2VvbWV0cnkuY3BwIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUZvcm1hdHRpbmdHZW9tZXRyeS5j
cHAKaW5kZXggYmZjNTUwOTY4ZTNjZjAyZDNmMTFlNjk4MTVlM2QwZWMwYjA2MmM4Ny4uNjY5MTA5
M2IyNGZmNGJhYzcyZDM5ZjdmZDYyMjczMDliNDQzNWY0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUZvcm1hdHRpbmdHZW9t
ZXRyeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90
YWJsZS9UYWJsZUZvcm1hdHRpbmdHZW9tZXRyeS5jcHAKQEAgLTE1Miw3ICsxNTIsNyBAQCBMYXlv
dXRVbml0IFRhYmxlRm9ybWF0dGluZ0dlb21ldHJ5Ojpob3Jpem9udGFsU3BhY2VGb3JDZWxsQ29u
dGVudChjb25zdCBUYWJsZUdyaQogICAgIGF1dG8mIGNvbHVtbkxpc3QgPSBncmlkLmNvbHVtbnMo
KS5saXN0KCk7CiAgICAgYXV0byBsb2dpY2FsV2lkdGggPSBMYXlvdXRVbml0IHsgfTsKICAgICBm
b3IgKGF1dG8gY29sdW1uSW5kZXggPSBjZWxsLnN0YXJ0Q29sdW1uKCk7IGNvbHVtbkluZGV4IDwg
Y2VsbC5lbmRDb2x1bW4oKTsgKytjb2x1bW5JbmRleCkKLSAgICAgICAgbG9naWNhbFdpZHRoICs9
IGNvbHVtbkxpc3QuYXQoY29sdW1uSW5kZXgpLmxvZ2ljYWxXaWR0aCgpOworICAgICAgICBsb2dp
Y2FsV2lkdGggKz0gY29sdW1uTGlzdC5hdChjb2x1bW5JbmRleCkudXNlZExvZ2ljYWxXaWR0aCgp
OwogICAgIC8vIE5vIGNvbHVtbiBzcGFjaW5nIHdoZW4gc3Bhbm5pbmcuCiAgICAgbG9naWNhbFdp
ZHRoICs9IChjZWxsLmNvbHVtblNwYW4oKSAtIDEpICogZ3JpZC5ob3Jpem9udGFsU3BhY2luZygp
OwogICAgIGF1dG8mIGNlbGxCb3hHZW9tZXRyeSA9IGZvcm1hdHRpbmdDb250ZXh0KCkuZ2VvbWV0
cnlGb3JCb3goY2VsbC5ib3goKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
Zm9ybWF0dGluZ0NvbnRleHRzL3RhYmxlL1RhYmxlR3JpZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL3RhYmxlL1RhYmxlR3JpZC5jcHAKaW5kZXggNWIzMzZh
MWI2NmYwYjE3ZTQwZjY5YWU0MWY1YWU1ZjFkYzUxNTg5NS4uNDBkMzI0M2Y2YjRjNjZhM2EyZmQ2
ZGEzOTU2MWUzODkyMDc0ZWE5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUdyaWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvdGFibGUvVGFibGVHcmlkLmNwcApAQCAtNDAsMzQg
KzQwLDYgQEAgVGFibGVHcmlkOjpDb2x1bW46OkNvbHVtbihjb25zdCBDb250YWluZXJCb3gqIGNv
bHVtbkJveCkKIHsKIH0KIAotdm9pZCBUYWJsZUdyaWQ6OkNvbHVtbjo6c2V0TG9naWNhbFdpZHRo
KExheW91dFVuaXQgY29tcHV0ZWRMb2dpY2FsV2lkdGgpCi17Ci0jaWYgQVNTRVJUX0VOQUJMRUQK
LSAgICBtX2hhc0NvbXB1dGVkV2lkdGggPSB0cnVlOwotI2VuZGlmCi0gICAgbV9jb21wdXRlZExv
Z2ljYWxXaWR0aCA9IGNvbXB1dGVkTG9naWNhbFdpZHRoOwotfQotCi1MYXlvdXRVbml0IFRhYmxl
R3JpZDo6Q29sdW1uOjpsb2dpY2FsV2lkdGgoKSBjb25zdAotewotICAgIEFTU0VSVChtX2hhc0Nv
bXB1dGVkV2lkdGgpOwotICAgIHJldHVybiBtX2NvbXB1dGVkTG9naWNhbFdpZHRoOwotfQotCi12
b2lkIFRhYmxlR3JpZDo6Q29sdW1uOjpzZXRMb2dpY2FsTGVmdChMYXlvdXRVbml0IGNvbXB1dGVk
TG9naWNhbExlZnQpCi17Ci0jaWYgQVNTRVJUX0VOQUJMRUQKLSAgICBtX2hhc0NvbXB1dGVkTGVm
dCA9IHRydWU7Ci0jZW5kaWYKLSAgICBtX2NvbXB1dGVkTG9naWNhbExlZnQgPSBjb21wdXRlZExv
Z2ljYWxMZWZ0OwotfQotCi1MYXlvdXRVbml0IFRhYmxlR3JpZDo6Q29sdW1uOjpsb2dpY2FsTGVm
dCgpIGNvbnN0Ci17Ci0gICAgQVNTRVJUKG1faGFzQ29tcHV0ZWRMZWZ0KTsKLSAgICByZXR1cm4g
bV9jb21wdXRlZExvZ2ljYWxMZWZ0OwotfQotCiB2b2lkIFRhYmxlR3JpZDo6Q29sdW1uczo6YWRk
Q29sdW1uKGNvbnN0IENvbnRhaW5lckJveCYgY29sdW1uQm94KQogewogICAgIG1fY29sdW1uTGlz
dC5hcHBlbmQoeyAmY29sdW1uQm94IH0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUdyaWQuaCBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvdGFibGUvVGFibGVHcmlkLmgKaW5kZXggNTJhYzE5
ZGQ4ZTM1YTFlMjMyNmZlYjc1YWExOWQ2NjFhMjM4MTdiYS4uNWZjODkxZDNjYjczMzhhNzU5MzFm
NGQ5ZDU1YWUwYTYzOGIwODEyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUdyaWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL3RhYmxlL1RhYmxlR3JpZC5oCkBAIC02NywzMCArNjcs
MjYgQEAgcHVibGljOgogICAgIHB1YmxpYzoKICAgICAgICAgQ29sdW1uKGNvbnN0IENvbnRhaW5l
ckJveCopOwogCi0gICAgICAgIHZvaWQgc2V0TG9naWNhbExlZnQoTGF5b3V0VW5pdCk7Ci0gICAg
ICAgIExheW91dFVuaXQgbG9naWNhbExlZnQoKSBjb25zdDsKLSAgICAgICAgTGF5b3V0VW5pdCBs
b2dpY2FsUmlnaHQoKSBjb25zdCB7IHJldHVybiBsb2dpY2FsTGVmdCgpICsgbG9naWNhbFdpZHRo
KCk7IH0KLSAgICAgICAgdm9pZCBzZXRMb2dpY2FsV2lkdGgoTGF5b3V0VW5pdCk7Ci0gICAgICAg
IExheW91dFVuaXQgbG9naWNhbFdpZHRoKCkgY29uc3Q7CisgICAgICAgIHZvaWQgc2V0VXNlZExv
Z2ljYWxMZWZ0KExheW91dFVuaXQpOworICAgICAgICBMYXlvdXRVbml0IHVzZWRMb2dpY2FsTGVm
dCgpIGNvbnN0OworICAgICAgICBMYXlvdXRVbml0IHVzZWRMb2dpY2FsUmlnaHQoKSBjb25zdCB7
IHJldHVybiB1c2VkTG9naWNhbExlZnQoKSArIHVzZWRMb2dpY2FsV2lkdGgoKTsgfQorICAgICAg
ICB2b2lkIHNldFVzZWRMb2dpY2FsV2lkdGgoTGF5b3V0VW5pdCk7CisgICAgICAgIExheW91dFVu
aXQgdXNlZExvZ2ljYWxXaWR0aCgpIGNvbnN0OwogCi0gICAgICAgIHZvaWQgc2V0Rml4ZWRXaWR0
aChMYXlvdXRVbml0IGZpeGVkVmFsdWUpOwotICAgICAgICBzdGQ6Om9wdGlvbmFsPExheW91dFVu
aXQ+IGZpeGVkV2lkdGgoKSBjb25zdCB7IHJldHVybiBtX2ZpeGVkV2lkdGg7IH0KLQotICAgICAg
ICB2b2lkIHNldFBlcmNlbnQoZmxvYXQpOwotICAgICAgICBzdGQ6Om9wdGlvbmFsPGZsb2F0PiBw
ZXJjZW50KCkgY29uc3QgeyByZXR1cm4gbV9wZXJjZW50OyB9CisgICAgICAgIHZvaWQgc2V0Q29t
cHV0ZWRMb2dpY2FsV2lkdGgoTGVuZ3RoJiYpOworICAgICAgICBjb25zdCBMZW5ndGgmIGNvbXB1
dGVkTG9naWNhbFdpZHRoKCkgY29uc3QgeyByZXR1cm4gbV9jb21wdXRlZExvZ2ljYWxXaWR0aDsg
fQogCiAgICAgICAgIGNvbnN0IENvbnRhaW5lckJveCogYm94KCkgY29uc3QgeyByZXR1cm4gbV9s
YXlvdXRCb3guZ2V0KCk7IH0KIAogICAgIHByaXZhdGU6Ci0gICAgICAgIExheW91dFVuaXQgbV9j
b21wdXRlZExvZ2ljYWxXaWR0aDsKLSAgICAgICAgTGF5b3V0VW5pdCBtX2NvbXB1dGVkTG9naWNh
bExlZnQ7Ci0gICAgICAgIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4gbV9maXhlZFdpZHRoOwot
ICAgICAgICBzdGQ6Om9wdGlvbmFsPGZsb2F0PiBtX3BlcmNlbnQ7CisgICAgICAgIExheW91dFVu
aXQgbV91c2VkTG9naWNhbFdpZHRoOworICAgICAgICBMYXlvdXRVbml0IG1fdXNlZExvZ2ljYWxM
ZWZ0OworICAgICAgICBMZW5ndGggbV9jb21wdXRlZExvZ2ljYWxXaWR0aDsKICAgICAgICAgV2Vh
a1B0cjxjb25zdCBDb250YWluZXJCb3g+IG1fbGF5b3V0Qm94OwogCiAjaWYgQVNTRVJUX0VOQUJM
RUQKLSAgICAgICAgYm9vbCBtX2hhc0NvbXB1dGVkV2lkdGggeyBmYWxzZSB9OwotICAgICAgICBi
b29sIG1faGFzQ29tcHV0ZWRMZWZ0IHsgZmFsc2UgfTsKKyAgICAgICAgYm9vbCBtX2hhc1VzZWRX
aWR0aCB7IGZhbHNlIH07CisgICAgICAgIGJvb2wgbV9oYXNVc2VkTGVmdCB7IGZhbHNlIH07CiAj
ZW5kaWYKICAgICB9OwogCkBAIC0xMDQsNyArMTAwLDcgQEAgcHVibGljOgogICAgICAgICB2b2lk
IGFkZENvbHVtbihjb25zdCBDb250YWluZXJCb3gmKTsKICAgICAgICAgdm9pZCBhZGRBbm9ueW1v
dXNDb2x1bW4oKTsKIAotICAgICAgICBMYXlvdXRVbml0IGxvZ2ljYWxXaWR0aCgpIGNvbnN0IHsg
cmV0dXJuIG1fY29sdW1uTGlzdC5sYXN0KCkubG9naWNhbFJpZ2h0KCkgLSBtX2NvbHVtbkxpc3Qu
Zmlyc3QoKS5sb2dpY2FsTGVmdCgpOyB9CisgICAgICAgIExheW91dFVuaXQgbG9naWNhbFdpZHRo
KCkgY29uc3QgeyByZXR1cm4gbV9jb2x1bW5MaXN0Lmxhc3QoKS51c2VkTG9naWNhbFJpZ2h0KCkg
LSBtX2NvbHVtbkxpc3QuZmlyc3QoKS51c2VkTG9naWNhbExlZnQoKTsgfQogCiAgICAgcHJpdmF0
ZToKICAgICAgICAgQ29sdW1uTGlzdCBtX2NvbHVtbkxpc3Q7CkBAIC0yMzQsMTcgKzIzMCwzOCBA
QCBwcml2YXRlOgogICAgIHN0ZDo6b3B0aW9uYWw8RWRnZXM+IG1fY29sbGFwc2VkQm9yZGVyOwog
fTsKIAoraW5saW5lIHZvaWQgVGFibGVHcmlkOjpDb2x1bW46OnNldENvbXB1dGVkTG9naWNhbFdp
ZHRoKExlbmd0aCYmIGNvbXB1dGVkTG9naWNhbFdpZHRoKQoreworICAgIEFTU0VSVChjb21wdXRl
ZExvZ2ljYWxXaWR0aC50eXBlKCkgPT0gTGVuZ3RoVHlwZTo6Rml4ZWQgfHwgY29tcHV0ZWRMb2dp
Y2FsV2lkdGgudHlwZSgpID09IExlbmd0aFR5cGU6OlBlcmNlbnQgfHwgY29tcHV0ZWRMb2dpY2Fs
V2lkdGgudHlwZSgpID09IExlbmd0aFR5cGU6OlJlbGF0aXZlKTsKKyAgICBtX2NvbXB1dGVkTG9n
aWNhbFdpZHRoID0gV1RGTW92ZShjb21wdXRlZExvZ2ljYWxXaWR0aCk7Cit9CiAKLWlubGluZSB2
b2lkIFRhYmxlR3JpZDo6Q29sdW1uOjpzZXRGaXhlZFdpZHRoKExheW91dFVuaXQgZml4ZWRWYWx1
ZSkKK2lubGluZSB2b2lkIFRhYmxlR3JpZDo6Q29sdW1uOjpzZXRVc2VkTG9naWNhbFdpZHRoKExh
eW91dFVuaXQgdXNlZExvZ2ljYWxXaWR0aCkKIHsKLSAgICBBU1NFUlQoIW1fcGVyY2VudCk7Ci0g
ICAgbV9maXhlZFdpZHRoID0gZml4ZWRWYWx1ZTsKKyNpZiBBU1NFUlRfRU5BQkxFRAorICAgIG1f
aGFzVXNlZFdpZHRoID0gdHJ1ZTsKKyNlbmRpZgorICAgIG1fdXNlZExvZ2ljYWxXaWR0aCA9IHVz
ZWRMb2dpY2FsV2lkdGg7Cit9CisKK2lubGluZSBMYXlvdXRVbml0IFRhYmxlR3JpZDo6Q29sdW1u
Ojp1c2VkTG9naWNhbFdpZHRoKCkgY29uc3QKK3sKKyAgICBBU1NFUlQobV9oYXNVc2VkV2lkdGgp
OworICAgIHJldHVybiBtX3VzZWRMb2dpY2FsV2lkdGg7Cit9CisKK2lubGluZSB2b2lkIFRhYmxl
R3JpZDo6Q29sdW1uOjpzZXRVc2VkTG9naWNhbExlZnQoTGF5b3V0VW5pdCB1c2VkTG9naWNhbExl
ZnQpCit7CisjaWYgQVNTRVJUX0VOQUJMRUQKKyAgICBtX2hhc1VzZWRMZWZ0ID0gdHJ1ZTsKKyNl
bmRpZgorICAgIG1fdXNlZExvZ2ljYWxMZWZ0ID0gdXNlZExvZ2ljYWxMZWZ0OwogfQogCi1pbmxp
bmUgdm9pZCBUYWJsZUdyaWQ6OkNvbHVtbjo6c2V0UGVyY2VudChmbG9hdCBwZXJjZW50KQoraW5s
aW5lIExheW91dFVuaXQgVGFibGVHcmlkOjpDb2x1bW46OnVzZWRMb2dpY2FsTGVmdCgpIGNvbnN0
CiB7Ci0gICAgQVNTRVJUKCFtX2ZpeGVkV2lkdGgpOwotICAgIG1fcGVyY2VudCA9IHBlcmNlbnQ7
CisgICAgQVNTRVJUKG1faGFzVXNlZExlZnQpOworICAgIHJldHVybiBtX3VzZWRMb2dpY2FsTGVm
dDsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdD
b250ZXh0cy90YWJsZS9UYWJsZUxheW91dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9y
bWF0dGluZ0NvbnRleHRzL3RhYmxlL1RhYmxlTGF5b3V0LmNwcAppbmRleCBiNDk4YWQ0ZTJmZWE2
MTkyYzA2YWEyYTA1OWFkNDg5ZmZhMzFhZjYwLi5iY2IxZTkyN2E0MjIxYzhlY2RkZWNiNGYxNTRi
YzIwOWIzNjMxZTQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGlu
Z0NvbnRleHRzL3RhYmxlL1RhYmxlTGF5b3V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvZm9ybWF0dGluZ0NvbnRleHRzL3RhYmxlL1RhYmxlTGF5b3V0LmNwcApAQCAtMjk0LDExICsy
OTQsMTIgQEAgVGFibGVGb3JtYXR0aW5nQ29udGV4dDo6VGFibGVMYXlvdXQ6OkRpc3RyaWJ1dGVk
U3BhY2VzIFRhYmxlRm9ybWF0dGluZ0NvbnRleHQ6OlQKICAgICAgICAgYXV0byYgY29sdW1uID0g
bV9ncmlkLmNvbHVtbnMoKS5saXN0KClbY29sdW1uSW5kZXhdOwogICAgICAgICBhdXRvIGNvbHVt
bldpZHRoID0gc3RkOjpvcHRpb25hbDxmbG9hdD4geyB9OwogICAgICAgICBhdXRvIHR5cGUgPSBH
cmlkU3BhY2U6OlR5cGU6OkF1dG87Ci0gICAgICAgIGlmIChhdXRvIGZpeGVkV2lkdGggPSBjb2x1
bW4uZml4ZWRXaWR0aCgpKSB7Ci0gICAgICAgICAgICBjb2x1bW5XaWR0aCA9ICpmaXhlZFdpZHRo
OworICAgICAgICBhdXRvIGNvbXB1dGVkTG9naWNhbFdpZHRoID0gY29sdW1uLmNvbXB1dGVkTG9n
aWNhbFdpZHRoKCk7CisgICAgICAgIGlmIChjb21wdXRlZExvZ2ljYWxXaWR0aC5pc0ZpeGVkKCkp
IHsKKyAgICAgICAgICAgIGNvbHVtbldpZHRoID0gY29tcHV0ZWRMb2dpY2FsV2lkdGgudmFsdWUo
KTsKICAgICAgICAgICAgIHR5cGUgPSBHcmlkU3BhY2U6OlR5cGU6OkZpeGVkOwotICAgICAgICB9
IGVsc2UgaWYgKGF1dG8gcGVyY2VudCA9IGNvbHVtbi5wZXJjZW50KCkpIHsKLSAgICAgICAgICAg
IGNvbHVtbldpZHRoID0gKnBlcmNlbnQgKiBhdmFpbGFibGVIb3Jpem9udGFsU3BhY2UgLyAxMDAu
MGY7CisgICAgICAgIH0gZWxzZSBpZiAoY29tcHV0ZWRMb2dpY2FsV2lkdGguaXNQZXJjZW50KCkp
IHsKKyAgICAgICAgICAgIGNvbHVtbldpZHRoID0gY29tcHV0ZWRMb2dpY2FsV2lkdGgudmFsdWUo
KSAqIGF2YWlsYWJsZUhvcml6b250YWxTcGFjZSAvIDEwMC4wZjsKICAgICAgICAgICAgIHR5cGUg
PSBHcmlkU3BhY2U6OlR5cGU6OlBlcmNlbnQ7CiAgICAgICAgIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432486</attachid>
            <date>2021-06-29 09:31:08 -0700</date>
            <delta_ts>2021-06-29 09:41:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227488-20210629093107.patch</filename>
            <type>text/plain</type>
            <size>15181</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5MzIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDFlMTQ1MzUyYjVjNWY2
Y2IyNmUwNmEyYTRkY2M5NjM2MmEyNjJhNy4uYjJkNzJmYjNmNjBkMTViNjU0NzQzZjNiMjFiZjM3
MWVmMjNkMzIwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDIxLTA2LTI5ICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtURkNdIFRhYmxlR3Jp
ZDo6Q29sdW1uIGhvbGRzIGJvdGggdGhlIGNvbXB1dGVkIGFuZCB0aGUgdXNlZCB3aWR0aCB2YWx1
ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzQ4
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMg
cGF0Y2ggY2xlYW5zIHVwIFRhYmxlR3JpZDo6Q29sdW1uIGludGVyZmFjZSB0byBlbnN1cmUgd2Ug
ZG9uJ3QgY29uZnVzZWQKKyAgICAgICAgdGhlIGNvbXB1dGVkIGFuZCB0aGUgdXNlZCB3aWR0aHMg
Zm9yIGNvbHVtbnMuCisgICAgICAgIFRoaXMgaXMgYWxzbyBpbiBwcmVwYXJ0aW9uIGZvciBhZGRp
bmcgbWl4ZWQgd2lkdGggdHlwZSBzdXBwb3J0LgorCisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRp
bmdDb250ZXh0cy90YWJsZS9UYWJsZUZvcm1hdHRpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkxheW91dDo6VGFibGVGb3JtYXR0aW5nQ29udGV4dDo6c2V0VXNlZEdlb21ldHJ5Rm9y
Q2VsbHMpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpUYWJsZUZvcm1hdHRpbmdDb250ZXh0
Ojpjb21wdXRlZFByZWZlcnJlZFdpZHRoRm9yQ29sdW1ucyk6CisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXQ6OlRhYmxlRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVBbmREaXN0cmlidXRlRXh0cmFT
cGFjZSk6CisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUZv
cm1hdHRpbmdHZW9tZXRyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OlRhYmxlRm9y
bWF0dGluZ0dlb21ldHJ5Ojpob3Jpem9udGFsU3BhY2VGb3JDZWxsQ29udGVudCBjb25zdCk6Cisg
ICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUdyaWQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpUYWJsZUdyaWQ6OkNvbHVtbjo6c2V0TG9naWNhbFdp
ZHRoKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6VGFibGVHcmlkOjpDb2x1
bW46OmxvZ2ljYWxXaWR0aCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXQ6OlRhYmxlR3JpZDo6Q29sdW1uOjpzZXRMb2dpY2FsTGVmdCk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpMYXlvdXQ6OlRhYmxlR3JpZDo6Q29sdW1uOjpsb2dpY2FsTGVmdCBjb25zdCk6
IERlbGV0ZWQuCisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJs
ZUdyaWQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6VGFibGVHcmlkOjpDb2x1bW46OnVz
ZWRMb2dpY2FsUmlnaHQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpUYWJsZUdy
aWQ6OkNvbHVtbjo6Y29tcHV0ZWRMb2dpY2FsV2lkdGggY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0OjpUYWJsZUdyaWQ6OkNvbHVtbnM6OmxvZ2ljYWxXaWR0aCBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OlRhYmxlR3JpZDo6Q29sdW1uOjpzZXRDb21wdXRlZExvZ2lj
YWxXaWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OlRhYmxlR3JpZDo6Q29sdW1uOjpz
ZXRVc2VkTG9naWNhbFdpZHRoKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6VGFibGVHcmlk
OjpDb2x1bW46OnVzZWRMb2dpY2FsV2lkdGggY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5
b3V0OjpUYWJsZUdyaWQ6OkNvbHVtbjo6c2V0VXNlZExvZ2ljYWxMZWZ0KToKKyAgICAgICAgKFdl
YkNvcmU6OkxheW91dDo6VGFibGVHcmlkOjpDb2x1bW46OnVzZWRMb2dpY2FsTGVmdCBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OlRhYmxlR3JpZDo6Q29sdW1uOjpsb2dpY2FsUmln
aHQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpUYWJsZUdyaWQ6
OkNvbHVtbjo6Zml4ZWRXaWR0aCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXQ6OlRhYmxlR3JpZDo6Q29sdW1uOjpwZXJjZW50IGNvbnN0KTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OkxheW91dDo6VGFibGVHcmlkOjpDb2x1bW46OnNldEZpeGVkV2lkdGgpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpUYWJsZUdyaWQ6OkNvbHVtbjo6c2V0
UGVyY2VudCk6IERlbGV0ZWQuCisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90
YWJsZS9UYWJsZUxheW91dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OlRhYmxlRm9y
bWF0dGluZ0NvbnRleHQ6OlRhYmxlTGF5b3V0OjpkaXN0cmlidXRlZEhvcml6b250YWxTcGFjZSk6
CisKIDIwMjEtMDYtMjcgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAK
ICAgICAgICAgW2lPUyAxNV0gRml4IHRoZSBpbnRlcm5hbCBidWlsZCBhZnRlciByZGFyOi8vNzY1
NDkxMDkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4
dHMvdGFibGUvVGFibGVGb3JtYXR0aW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvZm9ybWF0dGluZ0NvbnRleHRzL3RhYmxlL1RhYmxlRm9ybWF0dGluZ0NvbnRleHQuY3BwCmlu
ZGV4IGU3ZDMwYzQ0YTI0YjQ1NzZmY2FlNzlhMmM2NTc5YjU4NWMxNjhjNWYuLjI0NTY5YmE5YTc2
Njk2NjQxNTFmMjU3MDVkOWIzY2NjNDM3MGM3YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvdGFibGUvVGFibGVGb3JtYXR0aW5nQ29udGV4dC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9U
YWJsZUZvcm1hdHRpbmdDb250ZXh0LmNwcApAQCAtMTAxLDcgKzEwMSw3IEBAIHZvaWQgVGFibGVG
b3JtYXR0aW5nQ29udGV4dDo6c2V0VXNlZEdlb21ldHJ5Rm9yQ2VsbHMoTGF5b3V0VW5pdCBhdmFp
bGFibGVIb3Jpem9uCiAgICAgICAgIGNlbGxCb3hHZW9tZXRyeS5zZXRCb3JkZXIoZm9ybWF0dGlu
Z0dlb21ldHJ5LmNvbXB1dGVkQ2VsbEJvcmRlcigqY2VsbCkpOwogICAgICAgICBjZWxsQm94R2Vv
bWV0cnkuc2V0UGFkZGluZyhmb3JtYXR0aW5nR2VvbWV0cnkuY29tcHV0ZWRQYWRkaW5nKGNlbGxC
b3gsIGF2YWlsYWJsZUhvcml6b250YWxTcGFjZSkpOwogICAgICAgICBjZWxsQm94R2VvbWV0cnku
c2V0TG9naWNhbFRvcChyb3dMaXN0W2NlbGwtPnN0YXJ0Um93KCldLmxvZ2ljYWxUb3AoKSAtIHNl
Y3Rpb25PZmZzZXQpOwotICAgICAgICBjZWxsQm94R2VvbWV0cnkuc2V0TG9naWNhbExlZnQoY29s
dW1uTGlzdFtjZWxsLT5zdGFydENvbHVtbigpXS5sb2dpY2FsTGVmdCgpKTsKKyAgICAgICAgY2Vs
bEJveEdlb21ldHJ5LnNldExvZ2ljYWxMZWZ0KGNvbHVtbkxpc3RbY2VsbC0+c3RhcnRDb2x1bW4o
KV0udXNlZExvZ2ljYWxMZWZ0KCkpOwogICAgICAgICBjZWxsQm94R2VvbWV0cnkuc2V0Q29udGVu
dEJveFdpZHRoKGZvcm1hdHRpbmdHZW9tZXRyeS5ob3Jpem9udGFsU3BhY2VGb3JDZWxsQ29udGVu
dCgqY2VsbCkpOwogCiAgICAgICAgIGlmIChjZWxsQm94Lmhhc0luRmxvd09yRmxvYXRpbmdDaGls
ZCgpKSB7CkBAIC0zMzYsNyArMzM2LDcgQEAgSW50cmluc2ljV2lkdGhDb25zdHJhaW50cyBUYWJs
ZUZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlZFByZWZlcnJlZFdpZHRoRm9yQ29sdW0KICAgICAg
ICAgICAgIHJldHVybiBmb3JtYXR0aW5nR2VvbWV0cnkuY29tcHV0ZWRDb2x1bW5XaWR0aCgqY29s
dW1uQm94KTsKICAgICAgICAgfSgpOwogICAgICAgICBpZiAoZml4ZWRXaWR0aCkKLSAgICAgICAg
ICAgIGNvbHVtbi5zZXRGaXhlZFdpZHRoKCpmaXhlZFdpZHRoKTsKKyAgICAgICAgICAgIGNvbHVt
bi5zZXRDb21wdXRlZExvZ2ljYWxXaWR0aChMZW5ndGggeyAqZml4ZWRXaWR0aCwgTGVuZ3RoVHlw
ZTo6Rml4ZWQgfSk7CiAgICAgfQogCiAgICAgVmVjdG9yPHN0ZDo6b3B0aW9uYWw8ZmxvYXQ+PiBj
b2x1bW5QZXJjZW50TGlzdChjb2x1bW5MaXN0LnNpemUoKSk7CkBAIC0zNjAsNyArMzYwLDkgQEAg
SW50cmluc2ljV2lkdGhDb25zdHJhaW50cyBUYWJsZUZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRl
ZFByZWZlcnJlZFdpZHRoRm9yQ29sdW0KICAgICAgICAgZ3JpZC5zbG90KGNlbGxQb3NpdGlvbikt
PnNldFdpZHRoQ29uc3RyYWludHMoKmludHJpbnNpY1dpZHRoKTsKICAgICAgICAgaWYgKGF1dG8g
Zml4ZWRXaWR0aCA9IGZvcm1hdHRpbmdHZW9tZXRyeS5maXhlZFZhbHVlKGNlbGxCb3guc3R5bGUo
KS5sb2dpY2FsV2lkdGgoKSkpIHsKICAgICAgICAgICAgICpmaXhlZFdpZHRoICs9IGhvcml6b250
YWxCb3JkZXJBbmRQYWRkaW5nV2lkdGg7Ci0gICAgICAgICAgICBjb2x1bW5MaXN0W2NlbGxQb3Np
dGlvbi5jb2x1bW5dLnNldEZpeGVkV2lkdGgoc3RkOjptYXgoKmZpeGVkV2lkdGgsIGNvbHVtbkxp
c3RbY2VsbFBvc2l0aW9uLmNvbHVtbl0uZml4ZWRXaWR0aCgpLnZhbHVlX29yKDApKSk7CisgICAg
ICAgICAgICBhdXRvJiBjb2x1bW4gPSBjb2x1bW5MaXN0W2NlbGxQb3NpdGlvbi5jb2x1bW5dOwor
ICAgICAgICAgICAgaWYgKCpmaXhlZFdpZHRoID4gY29sdW1uLmNvbXB1dGVkTG9naWNhbFdpZHRo
KCkudmFsdWUoKSkKKyAgICAgICAgICAgICAgICBjb2x1bW4uc2V0Q29tcHV0ZWRMb2dpY2FsV2lk
dGgoTGVuZ3RoIHsgKmZpeGVkV2lkdGgsIExlbmd0aFR5cGU6OkZpeGVkIH0pOwogICAgICAgICB9
CiAgICAgICAgIC8vIENvbGxlY3QgdGhlIHBlcmNlbnQgdmFsdWVzIHNvIHRoYXQgd2UgY2FuIGNv
bXB1dGUgdGhlIG1heGltdW0gdmFsdWVzIHBlciBjb2x1bW4uCiAgICAgICAgIGF1dG8mIGNlbGxM
b2dpY2FsV2lkdGggPSBjZWxsQm94LnN0eWxlKCkubG9naWNhbFdpZHRoKCk7CkBAIC0zODcsOCAr
Mzg5LDggQEAgSW50cmluc2ljV2lkdGhDb25zdHJhaW50cyBUYWJsZUZvcm1hdHRpbmdDb250ZXh0
Ojpjb21wdXRlZFByZWZlcnJlZFdpZHRoRm9yQ29sdW0KICAgICAgICAgICAgICAgICBjb250aW51
ZTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGF1dG8gd2lkdGhDb25zdHJhaW50cyA9IHNs
b3Qud2lkdGhDb25zdHJhaW50cygpOwotICAgICAgICAgICAgaWYgKGF1dG8gY29sdW1uRml4ZWRX
aWR0aCA9IGNvbHVtbkxpc3RbY29sdW1uSW5kZXhdLmZpeGVkV2lkdGgoKSkKLSAgICAgICAgICAg
ICAgICB3aWR0aENvbnN0cmFpbnRzLm1heGltdW0gPSBzdGQ6Om1heCgqY29sdW1uRml4ZWRXaWR0
aCwgd2lkdGhDb25zdHJhaW50cy5taW5pbXVtKTsKKyAgICAgICAgICAgIGlmIChhdXRvIGNvbHVt
bkxvZ2ljYWxXaWR0aCA9IGNvbHVtbkxpc3RbY29sdW1uSW5kZXhdLmNvbXB1dGVkTG9naWNhbFdp
ZHRoKCk7IGNvbHVtbkxvZ2ljYWxXaWR0aC5pc0ZpeGVkKCkpCisgICAgICAgICAgICAgICAgd2lk
dGhDb25zdHJhaW50cy5tYXhpbXVtID0gc3RkOjptYXgoTGF5b3V0VW5pdCB7IGNvbHVtbkxvZ2lj
YWxXaWR0aC52YWx1ZSgpIH0sIHdpZHRoQ29uc3RyYWludHMubWluaW11bSk7CiAKICAgICAgICAg
ICAgIGNvbHVtbkludHJpbnNpY1dpZHRoc1tjb2x1bW5JbmRleF0ubWluaW11bSA9IHN0ZDo6bWF4
KHdpZHRoQ29uc3RyYWludHMubWluaW11bSwgY29sdW1uSW50cmluc2ljV2lkdGhzW2NvbHVtbklu
ZGV4XS5taW5pbXVtKTsKICAgICAgICAgICAgIGNvbHVtbkludHJpbnNpY1dpZHRoc1tjb2x1bW5J
bmRleF0ubWF4aW11bSA9IHN0ZDo6bWF4KHdpZHRoQ29uc3RyYWludHMubWF4aW11bSwgY29sdW1u
SW50cmluc2ljV2lkdGhzW2NvbHVtbkluZGV4XS5tYXhpbXVtKTsKQEAgLTQ0Miw5ICs0NDQsMTAg
QEAgSW50cmluc2ljV2lkdGhDb25zdHJhaW50cyBUYWJsZUZvcm1hdHRpbmdDb250ZXh0Ojpjb21w
dXRlZFByZWZlcnJlZFdpZHRoRm9yQ29sdW0KICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAg
ICAgICAgICAgIH0KICAgICAgICAgICAgIEFTU0VSVCgqcGVyY2VudCA+IDApOwotICAgICAgICAg
ICAgY29sdW1uTGlzdFtjb2x1bW5JbmRleF0uc2V0UGVyY2VudChzdGQ6Om1pbihyZW1haW5pbmdQ
ZXJjZW50LCAqcGVyY2VudCkpOwotICAgICAgICAgICAgcGVyY2VudE1heGltdW1XaWR0aCA9IHN0
ZDo6bWF4KHBlcmNlbnRNYXhpbXVtV2lkdGgsIExheW91dFVuaXQgeyBjb2x1bW5JbnRyaW5zaWNX
aWR0aHNbY29sdW1uSW5kZXhdLm1heGltdW0gKiAxMDAuMGYgLyAqY29sdW1uTGlzdFtjb2x1bW5J
bmRleF0ucGVyY2VudCgpIH0pOwotICAgICAgICAgICAgcmVtYWluaW5nUGVyY2VudCAtPSAqY29s
dW1uTGlzdFtjb2x1bW5JbmRleF0ucGVyY2VudCgpOworICAgICAgICAgICAgcGVyY2VudCA9IHN0
ZDo6bWluKCpwZXJjZW50LCByZW1haW5pbmdQZXJjZW50KTsKKyAgICAgICAgICAgIGNvbHVtbkxp
c3RbY29sdW1uSW5kZXhdLnNldENvbXB1dGVkTG9naWNhbFdpZHRoKExlbmd0aCB7ICpwZXJjZW50
LCBMZW5ndGhUeXBlOjpQZXJjZW50IH0pOworICAgICAgICAgICAgcGVyY2VudE1heGltdW1XaWR0
aCA9IHN0ZDo6bWF4KHBlcmNlbnRNYXhpbXVtV2lkdGgsIExheW91dFVuaXQgeyBjb2x1bW5JbnRy
aW5zaWNXaWR0aHNbY29sdW1uSW5kZXhdLm1heGltdW0gKiAxMDAuMGYgLyAqcGVyY2VudCB9KTsK
KyAgICAgICAgICAgIHJlbWFpbmluZ1BlcmNlbnQgLT0gKnBlcmNlbnQ7CiAgICAgICAgIH0KIAog
ICAgICAgICBBU1NFUlQocmVtYWluaW5nUGVyY2VudCA+PSAwLmYpOwpAQCAtNDcyLDggKzQ3NSw4
IEBAIHZvaWQgVGFibGVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZUFuZERpc3RyaWJ1dGVFeHRy
YVNwYWNlKExheW91dFVuaXQgYXZhaWxhYmxlCiAgICAgYXV0byBjb2x1bW5Mb2dpY2FsTGVmdCA9
IGdyaWQuaG9yaXpvbnRhbFNwYWNpbmcoKTsKICAgICBmb3IgKHNpemVfdCBjb2x1bW5JbmRleCA9
IDA7IGNvbHVtbkluZGV4IDwgY29sdW1ucy5zaXplKCk7ICsrY29sdW1uSW5kZXgpIHsKICAgICAg
ICAgYXV0byYgY29sdW1uID0gY29sdW1uc1tjb2x1bW5JbmRleF07Ci0gICAgICAgIGNvbHVtbi5z
ZXRMb2dpY2FsTGVmdChjb2x1bW5Mb2dpY2FsTGVmdCk7Ci0gICAgICAgIGNvbHVtbi5zZXRMb2dp
Y2FsV2lkdGgoZGlzdHJpYnV0ZWRIb3Jpem9udGFsU3BhY2VzW2NvbHVtbkluZGV4XSk7CisgICAg
ICAgIGNvbHVtbi5zZXRVc2VkTG9naWNhbExlZnQoY29sdW1uTG9naWNhbExlZnQpOworICAgICAg
ICBjb2x1bW4uc2V0VXNlZExvZ2ljYWxXaWR0aChkaXN0cmlidXRlZEhvcml6b250YWxTcGFjZXNb
Y29sdW1uSW5kZXhdKTsKICAgICAgICAgY29sdW1uTG9naWNhbExlZnQgKz0gZGlzdHJpYnV0ZWRI
b3Jpem9udGFsU3BhY2VzW2NvbHVtbkluZGV4XSArIGdyaWQuaG9yaXpvbnRhbFNwYWNpbmcoKTsK
ICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29u
dGV4dHMvdGFibGUvVGFibGVGb3JtYXR0aW5nR2VvbWV0cnkuY3BwIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUZvcm1hdHRpbmdHZW9tZXRyeS5j
cHAKaW5kZXggYmZjNTUwOTY4ZTNjZjAyZDNmMTFlNjk4MTVlM2QwZWMwYjA2MmM4Ny4uNjY5MTA5
M2IyNGZmNGJhYzcyZDM5ZjdmZDYyMjczMDliNDQzNWY0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUZvcm1hdHRpbmdHZW9t
ZXRyeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90
YWJsZS9UYWJsZUZvcm1hdHRpbmdHZW9tZXRyeS5jcHAKQEAgLTE1Miw3ICsxNTIsNyBAQCBMYXlv
dXRVbml0IFRhYmxlRm9ybWF0dGluZ0dlb21ldHJ5Ojpob3Jpem9udGFsU3BhY2VGb3JDZWxsQ29u
dGVudChjb25zdCBUYWJsZUdyaQogICAgIGF1dG8mIGNvbHVtbkxpc3QgPSBncmlkLmNvbHVtbnMo
KS5saXN0KCk7CiAgICAgYXV0byBsb2dpY2FsV2lkdGggPSBMYXlvdXRVbml0IHsgfTsKICAgICBm
b3IgKGF1dG8gY29sdW1uSW5kZXggPSBjZWxsLnN0YXJ0Q29sdW1uKCk7IGNvbHVtbkluZGV4IDwg
Y2VsbC5lbmRDb2x1bW4oKTsgKytjb2x1bW5JbmRleCkKLSAgICAgICAgbG9naWNhbFdpZHRoICs9
IGNvbHVtbkxpc3QuYXQoY29sdW1uSW5kZXgpLmxvZ2ljYWxXaWR0aCgpOworICAgICAgICBsb2dp
Y2FsV2lkdGggKz0gY29sdW1uTGlzdC5hdChjb2x1bW5JbmRleCkudXNlZExvZ2ljYWxXaWR0aCgp
OwogICAgIC8vIE5vIGNvbHVtbiBzcGFjaW5nIHdoZW4gc3Bhbm5pbmcuCiAgICAgbG9naWNhbFdp
ZHRoICs9IChjZWxsLmNvbHVtblNwYW4oKSAtIDEpICogZ3JpZC5ob3Jpem9udGFsU3BhY2luZygp
OwogICAgIGF1dG8mIGNlbGxCb3hHZW9tZXRyeSA9IGZvcm1hdHRpbmdDb250ZXh0KCkuZ2VvbWV0
cnlGb3JCb3goY2VsbC5ib3goKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
Zm9ybWF0dGluZ0NvbnRleHRzL3RhYmxlL1RhYmxlR3JpZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL3RhYmxlL1RhYmxlR3JpZC5jcHAKaW5kZXggNWIzMzZh
MWI2NmYwYjE3ZTQwZjY5YWU0MWY1YWU1ZjFkYzUxNTg5NS4uNDBkMzI0M2Y2YjRjNjZhM2EyZmQ2
ZGEzOTU2MWUzODkyMDc0ZWE5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUdyaWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvdGFibGUvVGFibGVHcmlkLmNwcApAQCAtNDAsMzQg
KzQwLDYgQEAgVGFibGVHcmlkOjpDb2x1bW46OkNvbHVtbihjb25zdCBDb250YWluZXJCb3gqIGNv
bHVtbkJveCkKIHsKIH0KIAotdm9pZCBUYWJsZUdyaWQ6OkNvbHVtbjo6c2V0TG9naWNhbFdpZHRo
KExheW91dFVuaXQgY29tcHV0ZWRMb2dpY2FsV2lkdGgpCi17Ci0jaWYgQVNTRVJUX0VOQUJMRUQK
LSAgICBtX2hhc0NvbXB1dGVkV2lkdGggPSB0cnVlOwotI2VuZGlmCi0gICAgbV9jb21wdXRlZExv
Z2ljYWxXaWR0aCA9IGNvbXB1dGVkTG9naWNhbFdpZHRoOwotfQotCi1MYXlvdXRVbml0IFRhYmxl
R3JpZDo6Q29sdW1uOjpsb2dpY2FsV2lkdGgoKSBjb25zdAotewotICAgIEFTU0VSVChtX2hhc0Nv
bXB1dGVkV2lkdGgpOwotICAgIHJldHVybiBtX2NvbXB1dGVkTG9naWNhbFdpZHRoOwotfQotCi12
b2lkIFRhYmxlR3JpZDo6Q29sdW1uOjpzZXRMb2dpY2FsTGVmdChMYXlvdXRVbml0IGNvbXB1dGVk
TG9naWNhbExlZnQpCi17Ci0jaWYgQVNTRVJUX0VOQUJMRUQKLSAgICBtX2hhc0NvbXB1dGVkTGVm
dCA9IHRydWU7Ci0jZW5kaWYKLSAgICBtX2NvbXB1dGVkTG9naWNhbExlZnQgPSBjb21wdXRlZExv
Z2ljYWxMZWZ0OwotfQotCi1MYXlvdXRVbml0IFRhYmxlR3JpZDo6Q29sdW1uOjpsb2dpY2FsTGVm
dCgpIGNvbnN0Ci17Ci0gICAgQVNTRVJUKG1faGFzQ29tcHV0ZWRMZWZ0KTsKLSAgICByZXR1cm4g
bV9jb21wdXRlZExvZ2ljYWxMZWZ0OwotfQotCiB2b2lkIFRhYmxlR3JpZDo6Q29sdW1uczo6YWRk
Q29sdW1uKGNvbnN0IENvbnRhaW5lckJveCYgY29sdW1uQm94KQogewogICAgIG1fY29sdW1uTGlz
dC5hcHBlbmQoeyAmY29sdW1uQm94IH0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUdyaWQuaCBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvdGFibGUvVGFibGVHcmlkLmgKaW5kZXggNTJhYzE5
ZGQ4ZTM1YTFlMjMyNmZlYjc1YWExOWQ2NjFhMjM4MTdiYS4uNWZjODkxZDNjYjczMzhhNzU5MzFm
NGQ5ZDU1YWUwYTYzOGIwODEyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUdyaWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL3RhYmxlL1RhYmxlR3JpZC5oCkBAIC02NywzMCArNjcs
MjYgQEAgcHVibGljOgogICAgIHB1YmxpYzoKICAgICAgICAgQ29sdW1uKGNvbnN0IENvbnRhaW5l
ckJveCopOwogCi0gICAgICAgIHZvaWQgc2V0TG9naWNhbExlZnQoTGF5b3V0VW5pdCk7Ci0gICAg
ICAgIExheW91dFVuaXQgbG9naWNhbExlZnQoKSBjb25zdDsKLSAgICAgICAgTGF5b3V0VW5pdCBs
b2dpY2FsUmlnaHQoKSBjb25zdCB7IHJldHVybiBsb2dpY2FsTGVmdCgpICsgbG9naWNhbFdpZHRo
KCk7IH0KLSAgICAgICAgdm9pZCBzZXRMb2dpY2FsV2lkdGgoTGF5b3V0VW5pdCk7Ci0gICAgICAg
IExheW91dFVuaXQgbG9naWNhbFdpZHRoKCkgY29uc3Q7CisgICAgICAgIHZvaWQgc2V0VXNlZExv
Z2ljYWxMZWZ0KExheW91dFVuaXQpOworICAgICAgICBMYXlvdXRVbml0IHVzZWRMb2dpY2FsTGVm
dCgpIGNvbnN0OworICAgICAgICBMYXlvdXRVbml0IHVzZWRMb2dpY2FsUmlnaHQoKSBjb25zdCB7
IHJldHVybiB1c2VkTG9naWNhbExlZnQoKSArIHVzZWRMb2dpY2FsV2lkdGgoKTsgfQorICAgICAg
ICB2b2lkIHNldFVzZWRMb2dpY2FsV2lkdGgoTGF5b3V0VW5pdCk7CisgICAgICAgIExheW91dFVu
aXQgdXNlZExvZ2ljYWxXaWR0aCgpIGNvbnN0OwogCi0gICAgICAgIHZvaWQgc2V0Rml4ZWRXaWR0
aChMYXlvdXRVbml0IGZpeGVkVmFsdWUpOwotICAgICAgICBzdGQ6Om9wdGlvbmFsPExheW91dFVu
aXQ+IGZpeGVkV2lkdGgoKSBjb25zdCB7IHJldHVybiBtX2ZpeGVkV2lkdGg7IH0KLQotICAgICAg
ICB2b2lkIHNldFBlcmNlbnQoZmxvYXQpOwotICAgICAgICBzdGQ6Om9wdGlvbmFsPGZsb2F0PiBw
ZXJjZW50KCkgY29uc3QgeyByZXR1cm4gbV9wZXJjZW50OyB9CisgICAgICAgIHZvaWQgc2V0Q29t
cHV0ZWRMb2dpY2FsV2lkdGgoTGVuZ3RoJiYpOworICAgICAgICBjb25zdCBMZW5ndGgmIGNvbXB1
dGVkTG9naWNhbFdpZHRoKCkgY29uc3QgeyByZXR1cm4gbV9jb21wdXRlZExvZ2ljYWxXaWR0aDsg
fQogCiAgICAgICAgIGNvbnN0IENvbnRhaW5lckJveCogYm94KCkgY29uc3QgeyByZXR1cm4gbV9s
YXlvdXRCb3guZ2V0KCk7IH0KIAogICAgIHByaXZhdGU6Ci0gICAgICAgIExheW91dFVuaXQgbV9j
b21wdXRlZExvZ2ljYWxXaWR0aDsKLSAgICAgICAgTGF5b3V0VW5pdCBtX2NvbXB1dGVkTG9naWNh
bExlZnQ7Ci0gICAgICAgIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4gbV9maXhlZFdpZHRoOwot
ICAgICAgICBzdGQ6Om9wdGlvbmFsPGZsb2F0PiBtX3BlcmNlbnQ7CisgICAgICAgIExheW91dFVu
aXQgbV91c2VkTG9naWNhbFdpZHRoOworICAgICAgICBMYXlvdXRVbml0IG1fdXNlZExvZ2ljYWxM
ZWZ0OworICAgICAgICBMZW5ndGggbV9jb21wdXRlZExvZ2ljYWxXaWR0aDsKICAgICAgICAgV2Vh
a1B0cjxjb25zdCBDb250YWluZXJCb3g+IG1fbGF5b3V0Qm94OwogCiAjaWYgQVNTRVJUX0VOQUJM
RUQKLSAgICAgICAgYm9vbCBtX2hhc0NvbXB1dGVkV2lkdGggeyBmYWxzZSB9OwotICAgICAgICBi
b29sIG1faGFzQ29tcHV0ZWRMZWZ0IHsgZmFsc2UgfTsKKyAgICAgICAgYm9vbCBtX2hhc1VzZWRX
aWR0aCB7IGZhbHNlIH07CisgICAgICAgIGJvb2wgbV9oYXNVc2VkTGVmdCB7IGZhbHNlIH07CiAj
ZW5kaWYKICAgICB9OwogCkBAIC0xMDQsNyArMTAwLDcgQEAgcHVibGljOgogICAgICAgICB2b2lk
IGFkZENvbHVtbihjb25zdCBDb250YWluZXJCb3gmKTsKICAgICAgICAgdm9pZCBhZGRBbm9ueW1v
dXNDb2x1bW4oKTsKIAotICAgICAgICBMYXlvdXRVbml0IGxvZ2ljYWxXaWR0aCgpIGNvbnN0IHsg
cmV0dXJuIG1fY29sdW1uTGlzdC5sYXN0KCkubG9naWNhbFJpZ2h0KCkgLSBtX2NvbHVtbkxpc3Qu
Zmlyc3QoKS5sb2dpY2FsTGVmdCgpOyB9CisgICAgICAgIExheW91dFVuaXQgbG9naWNhbFdpZHRo
KCkgY29uc3QgeyByZXR1cm4gbV9jb2x1bW5MaXN0Lmxhc3QoKS51c2VkTG9naWNhbFJpZ2h0KCkg
LSBtX2NvbHVtbkxpc3QuZmlyc3QoKS51c2VkTG9naWNhbExlZnQoKTsgfQogCiAgICAgcHJpdmF0
ZToKICAgICAgICAgQ29sdW1uTGlzdCBtX2NvbHVtbkxpc3Q7CkBAIC0yMzQsMTcgKzIzMCwzOCBA
QCBwcml2YXRlOgogICAgIHN0ZDo6b3B0aW9uYWw8RWRnZXM+IG1fY29sbGFwc2VkQm9yZGVyOwog
fTsKIAoraW5saW5lIHZvaWQgVGFibGVHcmlkOjpDb2x1bW46OnNldENvbXB1dGVkTG9naWNhbFdp
ZHRoKExlbmd0aCYmIGNvbXB1dGVkTG9naWNhbFdpZHRoKQoreworICAgIEFTU0VSVChjb21wdXRl
ZExvZ2ljYWxXaWR0aC50eXBlKCkgPT0gTGVuZ3RoVHlwZTo6Rml4ZWQgfHwgY29tcHV0ZWRMb2dp
Y2FsV2lkdGgudHlwZSgpID09IExlbmd0aFR5cGU6OlBlcmNlbnQgfHwgY29tcHV0ZWRMb2dpY2Fs
V2lkdGgudHlwZSgpID09IExlbmd0aFR5cGU6OlJlbGF0aXZlKTsKKyAgICBtX2NvbXB1dGVkTG9n
aWNhbFdpZHRoID0gV1RGTW92ZShjb21wdXRlZExvZ2ljYWxXaWR0aCk7Cit9CiAKLWlubGluZSB2
b2lkIFRhYmxlR3JpZDo6Q29sdW1uOjpzZXRGaXhlZFdpZHRoKExheW91dFVuaXQgZml4ZWRWYWx1
ZSkKK2lubGluZSB2b2lkIFRhYmxlR3JpZDo6Q29sdW1uOjpzZXRVc2VkTG9naWNhbFdpZHRoKExh
eW91dFVuaXQgdXNlZExvZ2ljYWxXaWR0aCkKIHsKLSAgICBBU1NFUlQoIW1fcGVyY2VudCk7Ci0g
ICAgbV9maXhlZFdpZHRoID0gZml4ZWRWYWx1ZTsKKyNpZiBBU1NFUlRfRU5BQkxFRAorICAgIG1f
aGFzVXNlZFdpZHRoID0gdHJ1ZTsKKyNlbmRpZgorICAgIG1fdXNlZExvZ2ljYWxXaWR0aCA9IHVz
ZWRMb2dpY2FsV2lkdGg7Cit9CisKK2lubGluZSBMYXlvdXRVbml0IFRhYmxlR3JpZDo6Q29sdW1u
Ojp1c2VkTG9naWNhbFdpZHRoKCkgY29uc3QKK3sKKyAgICBBU1NFUlQobV9oYXNVc2VkV2lkdGgp
OworICAgIHJldHVybiBtX3VzZWRMb2dpY2FsV2lkdGg7Cit9CisKK2lubGluZSB2b2lkIFRhYmxl
R3JpZDo6Q29sdW1uOjpzZXRVc2VkTG9naWNhbExlZnQoTGF5b3V0VW5pdCB1c2VkTG9naWNhbExl
ZnQpCit7CisjaWYgQVNTRVJUX0VOQUJMRUQKKyAgICBtX2hhc1VzZWRMZWZ0ID0gdHJ1ZTsKKyNl
bmRpZgorICAgIG1fdXNlZExvZ2ljYWxMZWZ0ID0gdXNlZExvZ2ljYWxMZWZ0OwogfQogCi1pbmxp
bmUgdm9pZCBUYWJsZUdyaWQ6OkNvbHVtbjo6c2V0UGVyY2VudChmbG9hdCBwZXJjZW50KQoraW5s
aW5lIExheW91dFVuaXQgVGFibGVHcmlkOjpDb2x1bW46OnVzZWRMb2dpY2FsTGVmdCgpIGNvbnN0
CiB7Ci0gICAgQVNTRVJUKCFtX2ZpeGVkV2lkdGgpOwotICAgIG1fcGVyY2VudCA9IHBlcmNlbnQ7
CisgICAgQVNTRVJUKG1faGFzVXNlZExlZnQpOworICAgIHJldHVybiBtX3VzZWRMb2dpY2FsTGVm
dDsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdD
b250ZXh0cy90YWJsZS9UYWJsZUxheW91dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9y
bWF0dGluZ0NvbnRleHRzL3RhYmxlL1RhYmxlTGF5b3V0LmNwcAppbmRleCBiNDk4YWQ0ZTJmZWE2
MTkyYzA2YWEyYTA1OWFkNDg5ZmZhMzFhZjYwLi4wOWNlNDc3NjQ3Zjc0NzgzNGQxOTZlZDJkOTdi
ZWVkMTk5YzkzY2MzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGlu
Z0NvbnRleHRzL3RhYmxlL1RhYmxlTGF5b3V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvZm9ybWF0dGluZ0NvbnRleHRzL3RhYmxlL1RhYmxlTGF5b3V0LmNwcApAQCAtMjk0LDEyICsy
OTQsMjIgQEAgVGFibGVGb3JtYXR0aW5nQ29udGV4dDo6VGFibGVMYXlvdXQ6OkRpc3RyaWJ1dGVk
U3BhY2VzIFRhYmxlRm9ybWF0dGluZ0NvbnRleHQ6OlQKICAgICAgICAgYXV0byYgY29sdW1uID0g
bV9ncmlkLmNvbHVtbnMoKS5saXN0KClbY29sdW1uSW5kZXhdOwogICAgICAgICBhdXRvIGNvbHVt
bldpZHRoID0gc3RkOjpvcHRpb25hbDxmbG9hdD4geyB9OwogICAgICAgICBhdXRvIHR5cGUgPSBH
cmlkU3BhY2U6OlR5cGU6OkF1dG87Ci0gICAgICAgIGlmIChhdXRvIGZpeGVkV2lkdGggPSBjb2x1
bW4uZml4ZWRXaWR0aCgpKSB7Ci0gICAgICAgICAgICBjb2x1bW5XaWR0aCA9ICpmaXhlZFdpZHRo
OworCisgICAgICAgIGF1dG8mIGNvbXB1dGVkTG9naWNhbFdpZHRoID0gY29sdW1uLmNvbXB1dGVk
TG9naWNhbFdpZHRoKCk7CisgICAgICAgIHN3aXRjaCAoY29tcHV0ZWRMb2dpY2FsV2lkdGgudHlw
ZSgpKSB7CisgICAgICAgIGNhc2UgTGVuZ3RoVHlwZTo6Rml4ZWQ6CisgICAgICAgICAgICBjb2x1
bW5XaWR0aCA9IGNvbXB1dGVkTG9naWNhbFdpZHRoLnZhbHVlKCk7CiAgICAgICAgICAgICB0eXBl
ID0gR3JpZFNwYWNlOjpUeXBlOjpGaXhlZDsKLSAgICAgICAgfSBlbHNlIGlmIChhdXRvIHBlcmNl
bnQgPSBjb2x1bW4ucGVyY2VudCgpKSB7Ci0gICAgICAgICAgICBjb2x1bW5XaWR0aCA9ICpwZXJj
ZW50ICogYXZhaWxhYmxlSG9yaXpvbnRhbFNwYWNlIC8gMTAwLjBmOworICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgIGNhc2UgTGVuZ3RoVHlwZTo6UGVyY2VudDoKKyAgICAgICAgICAgIGNvbHVt
bldpZHRoID0gY29tcHV0ZWRMb2dpY2FsV2lkdGgudmFsdWUoKSAqIGF2YWlsYWJsZUhvcml6b250
YWxTcGFjZSAvIDEwMC4wZjsKICAgICAgICAgICAgIHR5cGUgPSBHcmlkU3BhY2U6OlR5cGU6OlBl
cmNlbnQ7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBMZW5ndGhUeXBlOjpSZWxh
dGl2ZToKKyAgICAgICAgICAgIEFTU0VSVF9OT1RfSU1QTEVNRU5URURfWUVUKCk7CisgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICB9CiAKICAgICAgICAgZmxvYXQgbWluaW11bUNvbnRlbnRXaWR0aCA9IHNsb3Qud2lkdGhDb25z
dHJhaW50cygpLm1pbmltdW07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432487</attachid>
            <date>2021-06-29 09:41:40 -0700</date>
            <delta_ts>2021-06-29 09:48:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227488-20210629094139.patch</filename>
            <type>text/plain</type>
            <size>15181</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5MzIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDFlMTQ1MzUyYjVjNWY2
Y2IyNmUwNmEyYTRkY2M5NjM2MmEyNjJhNy4uYjJkNzJmYjNmNjBkMTViNjU0NzQzZjNiMjFiZjM3
MWVmMjNkMzIwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDIxLTA2LTI5ICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtURkNdIFRhYmxlR3Jp
ZDo6Q29sdW1uIGhvbGRzIGJvdGggdGhlIGNvbXB1dGVkIGFuZCB0aGUgdXNlZCB3aWR0aCB2YWx1
ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzQ4
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMg
cGF0Y2ggY2xlYW5zIHVwIFRhYmxlR3JpZDo6Q29sdW1uIGludGVyZmFjZSB0byBlbnN1cmUgd2Ug
ZG9uJ3QgY29uZnVzZWQKKyAgICAgICAgdGhlIGNvbXB1dGVkIGFuZCB0aGUgdXNlZCB3aWR0aHMg
Zm9yIGNvbHVtbnMuCisgICAgICAgIFRoaXMgaXMgYWxzbyBpbiBwcmVwYXJ0aW9uIGZvciBhZGRp
bmcgbWl4ZWQgd2lkdGggdHlwZSBzdXBwb3J0LgorCisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRp
bmdDb250ZXh0cy90YWJsZS9UYWJsZUZvcm1hdHRpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkxheW91dDo6VGFibGVGb3JtYXR0aW5nQ29udGV4dDo6c2V0VXNlZEdlb21ldHJ5Rm9y
Q2VsbHMpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpUYWJsZUZvcm1hdHRpbmdDb250ZXh0
Ojpjb21wdXRlZFByZWZlcnJlZFdpZHRoRm9yQ29sdW1ucyk6CisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXQ6OlRhYmxlRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVBbmREaXN0cmlidXRlRXh0cmFT
cGFjZSk6CisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUZv
cm1hdHRpbmdHZW9tZXRyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OlRhYmxlRm9y
bWF0dGluZ0dlb21ldHJ5Ojpob3Jpem9udGFsU3BhY2VGb3JDZWxsQ29udGVudCBjb25zdCk6Cisg
ICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUdyaWQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpUYWJsZUdyaWQ6OkNvbHVtbjo6c2V0TG9naWNhbFdp
ZHRoKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6VGFibGVHcmlkOjpDb2x1
bW46OmxvZ2ljYWxXaWR0aCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXQ6OlRhYmxlR3JpZDo6Q29sdW1uOjpzZXRMb2dpY2FsTGVmdCk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpMYXlvdXQ6OlRhYmxlR3JpZDo6Q29sdW1uOjpsb2dpY2FsTGVmdCBjb25zdCk6
IERlbGV0ZWQuCisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJs
ZUdyaWQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6VGFibGVHcmlkOjpDb2x1bW46OnVz
ZWRMb2dpY2FsUmlnaHQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpUYWJsZUdy
aWQ6OkNvbHVtbjo6Y29tcHV0ZWRMb2dpY2FsV2lkdGggY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0OjpUYWJsZUdyaWQ6OkNvbHVtbnM6OmxvZ2ljYWxXaWR0aCBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OlRhYmxlR3JpZDo6Q29sdW1uOjpzZXRDb21wdXRlZExvZ2lj
YWxXaWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OlRhYmxlR3JpZDo6Q29sdW1uOjpz
ZXRVc2VkTG9naWNhbFdpZHRoKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6VGFibGVHcmlk
OjpDb2x1bW46OnVzZWRMb2dpY2FsV2lkdGggY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5
b3V0OjpUYWJsZUdyaWQ6OkNvbHVtbjo6c2V0VXNlZExvZ2ljYWxMZWZ0KToKKyAgICAgICAgKFdl
YkNvcmU6OkxheW91dDo6VGFibGVHcmlkOjpDb2x1bW46OnVzZWRMb2dpY2FsTGVmdCBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OlRhYmxlR3JpZDo6Q29sdW1uOjpsb2dpY2FsUmln
aHQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpUYWJsZUdyaWQ6
OkNvbHVtbjo6Zml4ZWRXaWR0aCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXQ6OlRhYmxlR3JpZDo6Q29sdW1uOjpwZXJjZW50IGNvbnN0KTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OkxheW91dDo6VGFibGVHcmlkOjpDb2x1bW46OnNldEZpeGVkV2lkdGgpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpUYWJsZUdyaWQ6OkNvbHVtbjo6c2V0
UGVyY2VudCk6IERlbGV0ZWQuCisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90
YWJsZS9UYWJsZUxheW91dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OlRhYmxlRm9y
bWF0dGluZ0NvbnRleHQ6OlRhYmxlTGF5b3V0OjpkaXN0cmlidXRlZEhvcml6b250YWxTcGFjZSk6
CisKIDIwMjEtMDYtMjcgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAK
ICAgICAgICAgW2lPUyAxNV0gRml4IHRoZSBpbnRlcm5hbCBidWlsZCBhZnRlciByZGFyOi8vNzY1
NDkxMDkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4
dHMvdGFibGUvVGFibGVGb3JtYXR0aW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvZm9ybWF0dGluZ0NvbnRleHRzL3RhYmxlL1RhYmxlRm9ybWF0dGluZ0NvbnRleHQuY3BwCmlu
ZGV4IGU3ZDMwYzQ0YTI0YjQ1NzZmY2FlNzlhMmM2NTc5YjU4NWMxNjhjNWYuLjI0NTY5YmE5YTc2
Njk2NjQxNTFmMjU3MDVkOWIzY2NjNDM3MGM3YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvdGFibGUvVGFibGVGb3JtYXR0aW5nQ29udGV4dC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9U
YWJsZUZvcm1hdHRpbmdDb250ZXh0LmNwcApAQCAtMTAxLDcgKzEwMSw3IEBAIHZvaWQgVGFibGVG
b3JtYXR0aW5nQ29udGV4dDo6c2V0VXNlZEdlb21ldHJ5Rm9yQ2VsbHMoTGF5b3V0VW5pdCBhdmFp
bGFibGVIb3Jpem9uCiAgICAgICAgIGNlbGxCb3hHZW9tZXRyeS5zZXRCb3JkZXIoZm9ybWF0dGlu
Z0dlb21ldHJ5LmNvbXB1dGVkQ2VsbEJvcmRlcigqY2VsbCkpOwogICAgICAgICBjZWxsQm94R2Vv
bWV0cnkuc2V0UGFkZGluZyhmb3JtYXR0aW5nR2VvbWV0cnkuY29tcHV0ZWRQYWRkaW5nKGNlbGxC
b3gsIGF2YWlsYWJsZUhvcml6b250YWxTcGFjZSkpOwogICAgICAgICBjZWxsQm94R2VvbWV0cnku
c2V0TG9naWNhbFRvcChyb3dMaXN0W2NlbGwtPnN0YXJ0Um93KCldLmxvZ2ljYWxUb3AoKSAtIHNl
Y3Rpb25PZmZzZXQpOwotICAgICAgICBjZWxsQm94R2VvbWV0cnkuc2V0TG9naWNhbExlZnQoY29s
dW1uTGlzdFtjZWxsLT5zdGFydENvbHVtbigpXS5sb2dpY2FsTGVmdCgpKTsKKyAgICAgICAgY2Vs
bEJveEdlb21ldHJ5LnNldExvZ2ljYWxMZWZ0KGNvbHVtbkxpc3RbY2VsbC0+c3RhcnRDb2x1bW4o
KV0udXNlZExvZ2ljYWxMZWZ0KCkpOwogICAgICAgICBjZWxsQm94R2VvbWV0cnkuc2V0Q29udGVu
dEJveFdpZHRoKGZvcm1hdHRpbmdHZW9tZXRyeS5ob3Jpem9udGFsU3BhY2VGb3JDZWxsQ29udGVu
dCgqY2VsbCkpOwogCiAgICAgICAgIGlmIChjZWxsQm94Lmhhc0luRmxvd09yRmxvYXRpbmdDaGls
ZCgpKSB7CkBAIC0zMzYsNyArMzM2LDcgQEAgSW50cmluc2ljV2lkdGhDb25zdHJhaW50cyBUYWJs
ZUZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlZFByZWZlcnJlZFdpZHRoRm9yQ29sdW0KICAgICAg
ICAgICAgIHJldHVybiBmb3JtYXR0aW5nR2VvbWV0cnkuY29tcHV0ZWRDb2x1bW5XaWR0aCgqY29s
dW1uQm94KTsKICAgICAgICAgfSgpOwogICAgICAgICBpZiAoZml4ZWRXaWR0aCkKLSAgICAgICAg
ICAgIGNvbHVtbi5zZXRGaXhlZFdpZHRoKCpmaXhlZFdpZHRoKTsKKyAgICAgICAgICAgIGNvbHVt
bi5zZXRDb21wdXRlZExvZ2ljYWxXaWR0aChMZW5ndGggeyAqZml4ZWRXaWR0aCwgTGVuZ3RoVHlw
ZTo6Rml4ZWQgfSk7CiAgICAgfQogCiAgICAgVmVjdG9yPHN0ZDo6b3B0aW9uYWw8ZmxvYXQ+PiBj
b2x1bW5QZXJjZW50TGlzdChjb2x1bW5MaXN0LnNpemUoKSk7CkBAIC0zNjAsNyArMzYwLDkgQEAg
SW50cmluc2ljV2lkdGhDb25zdHJhaW50cyBUYWJsZUZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRl
ZFByZWZlcnJlZFdpZHRoRm9yQ29sdW0KICAgICAgICAgZ3JpZC5zbG90KGNlbGxQb3NpdGlvbikt
PnNldFdpZHRoQ29uc3RyYWludHMoKmludHJpbnNpY1dpZHRoKTsKICAgICAgICAgaWYgKGF1dG8g
Zml4ZWRXaWR0aCA9IGZvcm1hdHRpbmdHZW9tZXRyeS5maXhlZFZhbHVlKGNlbGxCb3guc3R5bGUo
KS5sb2dpY2FsV2lkdGgoKSkpIHsKICAgICAgICAgICAgICpmaXhlZFdpZHRoICs9IGhvcml6b250
YWxCb3JkZXJBbmRQYWRkaW5nV2lkdGg7Ci0gICAgICAgICAgICBjb2x1bW5MaXN0W2NlbGxQb3Np
dGlvbi5jb2x1bW5dLnNldEZpeGVkV2lkdGgoc3RkOjptYXgoKmZpeGVkV2lkdGgsIGNvbHVtbkxp
c3RbY2VsbFBvc2l0aW9uLmNvbHVtbl0uZml4ZWRXaWR0aCgpLnZhbHVlX29yKDApKSk7CisgICAg
ICAgICAgICBhdXRvJiBjb2x1bW4gPSBjb2x1bW5MaXN0W2NlbGxQb3NpdGlvbi5jb2x1bW5dOwor
ICAgICAgICAgICAgaWYgKCpmaXhlZFdpZHRoID4gY29sdW1uLmNvbXB1dGVkTG9naWNhbFdpZHRo
KCkudmFsdWUoKSkKKyAgICAgICAgICAgICAgICBjb2x1bW4uc2V0Q29tcHV0ZWRMb2dpY2FsV2lk
dGgoTGVuZ3RoIHsgKmZpeGVkV2lkdGgsIExlbmd0aFR5cGU6OkZpeGVkIH0pOwogICAgICAgICB9
CiAgICAgICAgIC8vIENvbGxlY3QgdGhlIHBlcmNlbnQgdmFsdWVzIHNvIHRoYXQgd2UgY2FuIGNv
bXB1dGUgdGhlIG1heGltdW0gdmFsdWVzIHBlciBjb2x1bW4uCiAgICAgICAgIGF1dG8mIGNlbGxM
b2dpY2FsV2lkdGggPSBjZWxsQm94LnN0eWxlKCkubG9naWNhbFdpZHRoKCk7CkBAIC0zODcsOCAr
Mzg5LDggQEAgSW50cmluc2ljV2lkdGhDb25zdHJhaW50cyBUYWJsZUZvcm1hdHRpbmdDb250ZXh0
Ojpjb21wdXRlZFByZWZlcnJlZFdpZHRoRm9yQ29sdW0KICAgICAgICAgICAgICAgICBjb250aW51
ZTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGF1dG8gd2lkdGhDb25zdHJhaW50cyA9IHNs
b3Qud2lkdGhDb25zdHJhaW50cygpOwotICAgICAgICAgICAgaWYgKGF1dG8gY29sdW1uRml4ZWRX
aWR0aCA9IGNvbHVtbkxpc3RbY29sdW1uSW5kZXhdLmZpeGVkV2lkdGgoKSkKLSAgICAgICAgICAg
ICAgICB3aWR0aENvbnN0cmFpbnRzLm1heGltdW0gPSBzdGQ6Om1heCgqY29sdW1uRml4ZWRXaWR0
aCwgd2lkdGhDb25zdHJhaW50cy5taW5pbXVtKTsKKyAgICAgICAgICAgIGlmIChhdXRvIGNvbHVt
bkxvZ2ljYWxXaWR0aCA9IGNvbHVtbkxpc3RbY29sdW1uSW5kZXhdLmNvbXB1dGVkTG9naWNhbFdp
ZHRoKCk7IGNvbHVtbkxvZ2ljYWxXaWR0aC5pc0ZpeGVkKCkpCisgICAgICAgICAgICAgICAgd2lk
dGhDb25zdHJhaW50cy5tYXhpbXVtID0gc3RkOjptYXgoTGF5b3V0VW5pdCB7IGNvbHVtbkxvZ2lj
YWxXaWR0aC52YWx1ZSgpIH0sIHdpZHRoQ29uc3RyYWludHMubWluaW11bSk7CiAKICAgICAgICAg
ICAgIGNvbHVtbkludHJpbnNpY1dpZHRoc1tjb2x1bW5JbmRleF0ubWluaW11bSA9IHN0ZDo6bWF4
KHdpZHRoQ29uc3RyYWludHMubWluaW11bSwgY29sdW1uSW50cmluc2ljV2lkdGhzW2NvbHVtbklu
ZGV4XS5taW5pbXVtKTsKICAgICAgICAgICAgIGNvbHVtbkludHJpbnNpY1dpZHRoc1tjb2x1bW5J
bmRleF0ubWF4aW11bSA9IHN0ZDo6bWF4KHdpZHRoQ29uc3RyYWludHMubWF4aW11bSwgY29sdW1u
SW50cmluc2ljV2lkdGhzW2NvbHVtbkluZGV4XS5tYXhpbXVtKTsKQEAgLTQ0Miw5ICs0NDQsMTAg
QEAgSW50cmluc2ljV2lkdGhDb25zdHJhaW50cyBUYWJsZUZvcm1hdHRpbmdDb250ZXh0Ojpjb21w
dXRlZFByZWZlcnJlZFdpZHRoRm9yQ29sdW0KICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAg
ICAgICAgICAgIH0KICAgICAgICAgICAgIEFTU0VSVCgqcGVyY2VudCA+IDApOwotICAgICAgICAg
ICAgY29sdW1uTGlzdFtjb2x1bW5JbmRleF0uc2V0UGVyY2VudChzdGQ6Om1pbihyZW1haW5pbmdQ
ZXJjZW50LCAqcGVyY2VudCkpOwotICAgICAgICAgICAgcGVyY2VudE1heGltdW1XaWR0aCA9IHN0
ZDo6bWF4KHBlcmNlbnRNYXhpbXVtV2lkdGgsIExheW91dFVuaXQgeyBjb2x1bW5JbnRyaW5zaWNX
aWR0aHNbY29sdW1uSW5kZXhdLm1heGltdW0gKiAxMDAuMGYgLyAqY29sdW1uTGlzdFtjb2x1bW5J
bmRleF0ucGVyY2VudCgpIH0pOwotICAgICAgICAgICAgcmVtYWluaW5nUGVyY2VudCAtPSAqY29s
dW1uTGlzdFtjb2x1bW5JbmRleF0ucGVyY2VudCgpOworICAgICAgICAgICAgcGVyY2VudCA9IHN0
ZDo6bWluKCpwZXJjZW50LCByZW1haW5pbmdQZXJjZW50KTsKKyAgICAgICAgICAgIGNvbHVtbkxp
c3RbY29sdW1uSW5kZXhdLnNldENvbXB1dGVkTG9naWNhbFdpZHRoKExlbmd0aCB7ICpwZXJjZW50
LCBMZW5ndGhUeXBlOjpQZXJjZW50IH0pOworICAgICAgICAgICAgcGVyY2VudE1heGltdW1XaWR0
aCA9IHN0ZDo6bWF4KHBlcmNlbnRNYXhpbXVtV2lkdGgsIExheW91dFVuaXQgeyBjb2x1bW5JbnRy
aW5zaWNXaWR0aHNbY29sdW1uSW5kZXhdLm1heGltdW0gKiAxMDAuMGYgLyAqcGVyY2VudCB9KTsK
KyAgICAgICAgICAgIHJlbWFpbmluZ1BlcmNlbnQgLT0gKnBlcmNlbnQ7CiAgICAgICAgIH0KIAog
ICAgICAgICBBU1NFUlQocmVtYWluaW5nUGVyY2VudCA+PSAwLmYpOwpAQCAtNDcyLDggKzQ3NSw4
IEBAIHZvaWQgVGFibGVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZUFuZERpc3RyaWJ1dGVFeHRy
YVNwYWNlKExheW91dFVuaXQgYXZhaWxhYmxlCiAgICAgYXV0byBjb2x1bW5Mb2dpY2FsTGVmdCA9
IGdyaWQuaG9yaXpvbnRhbFNwYWNpbmcoKTsKICAgICBmb3IgKHNpemVfdCBjb2x1bW5JbmRleCA9
IDA7IGNvbHVtbkluZGV4IDwgY29sdW1ucy5zaXplKCk7ICsrY29sdW1uSW5kZXgpIHsKICAgICAg
ICAgYXV0byYgY29sdW1uID0gY29sdW1uc1tjb2x1bW5JbmRleF07Ci0gICAgICAgIGNvbHVtbi5z
ZXRMb2dpY2FsTGVmdChjb2x1bW5Mb2dpY2FsTGVmdCk7Ci0gICAgICAgIGNvbHVtbi5zZXRMb2dp
Y2FsV2lkdGgoZGlzdHJpYnV0ZWRIb3Jpem9udGFsU3BhY2VzW2NvbHVtbkluZGV4XSk7CisgICAg
ICAgIGNvbHVtbi5zZXRVc2VkTG9naWNhbExlZnQoY29sdW1uTG9naWNhbExlZnQpOworICAgICAg
ICBjb2x1bW4uc2V0VXNlZExvZ2ljYWxXaWR0aChkaXN0cmlidXRlZEhvcml6b250YWxTcGFjZXNb
Y29sdW1uSW5kZXhdKTsKICAgICAgICAgY29sdW1uTG9naWNhbExlZnQgKz0gZGlzdHJpYnV0ZWRI
b3Jpem9udGFsU3BhY2VzW2NvbHVtbkluZGV4XSArIGdyaWQuaG9yaXpvbnRhbFNwYWNpbmcoKTsK
ICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29u
dGV4dHMvdGFibGUvVGFibGVGb3JtYXR0aW5nR2VvbWV0cnkuY3BwIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUZvcm1hdHRpbmdHZW9tZXRyeS5j
cHAKaW5kZXggYmZjNTUwOTY4ZTNjZjAyZDNmMTFlNjk4MTVlM2QwZWMwYjA2MmM4Ny4uNjY5MTA5
M2IyNGZmNGJhYzcyZDM5ZjdmZDYyMjczMDliNDQzNWY0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUZvcm1hdHRpbmdHZW9t
ZXRyeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90
YWJsZS9UYWJsZUZvcm1hdHRpbmdHZW9tZXRyeS5jcHAKQEAgLTE1Miw3ICsxNTIsNyBAQCBMYXlv
dXRVbml0IFRhYmxlRm9ybWF0dGluZ0dlb21ldHJ5Ojpob3Jpem9udGFsU3BhY2VGb3JDZWxsQ29u
dGVudChjb25zdCBUYWJsZUdyaQogICAgIGF1dG8mIGNvbHVtbkxpc3QgPSBncmlkLmNvbHVtbnMo
KS5saXN0KCk7CiAgICAgYXV0byBsb2dpY2FsV2lkdGggPSBMYXlvdXRVbml0IHsgfTsKICAgICBm
b3IgKGF1dG8gY29sdW1uSW5kZXggPSBjZWxsLnN0YXJ0Q29sdW1uKCk7IGNvbHVtbkluZGV4IDwg
Y2VsbC5lbmRDb2x1bW4oKTsgKytjb2x1bW5JbmRleCkKLSAgICAgICAgbG9naWNhbFdpZHRoICs9
IGNvbHVtbkxpc3QuYXQoY29sdW1uSW5kZXgpLmxvZ2ljYWxXaWR0aCgpOworICAgICAgICBsb2dp
Y2FsV2lkdGggKz0gY29sdW1uTGlzdC5hdChjb2x1bW5JbmRleCkudXNlZExvZ2ljYWxXaWR0aCgp
OwogICAgIC8vIE5vIGNvbHVtbiBzcGFjaW5nIHdoZW4gc3Bhbm5pbmcuCiAgICAgbG9naWNhbFdp
ZHRoICs9IChjZWxsLmNvbHVtblNwYW4oKSAtIDEpICogZ3JpZC5ob3Jpem9udGFsU3BhY2luZygp
OwogICAgIGF1dG8mIGNlbGxCb3hHZW9tZXRyeSA9IGZvcm1hdHRpbmdDb250ZXh0KCkuZ2VvbWV0
cnlGb3JCb3goY2VsbC5ib3goKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
Zm9ybWF0dGluZ0NvbnRleHRzL3RhYmxlL1RhYmxlR3JpZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL3RhYmxlL1RhYmxlR3JpZC5jcHAKaW5kZXggNWIzMzZh
MWI2NmYwYjE3ZTQwZjY5YWU0MWY1YWU1ZjFkYzUxNTg5NS4uNDBkMzI0M2Y2YjRjNjZhM2EyZmQ2
ZGEzOTU2MWUzODkyMDc0ZWE5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUdyaWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvdGFibGUvVGFibGVHcmlkLmNwcApAQCAtNDAsMzQg
KzQwLDYgQEAgVGFibGVHcmlkOjpDb2x1bW46OkNvbHVtbihjb25zdCBDb250YWluZXJCb3gqIGNv
bHVtbkJveCkKIHsKIH0KIAotdm9pZCBUYWJsZUdyaWQ6OkNvbHVtbjo6c2V0TG9naWNhbFdpZHRo
KExheW91dFVuaXQgY29tcHV0ZWRMb2dpY2FsV2lkdGgpCi17Ci0jaWYgQVNTRVJUX0VOQUJMRUQK
LSAgICBtX2hhc0NvbXB1dGVkV2lkdGggPSB0cnVlOwotI2VuZGlmCi0gICAgbV9jb21wdXRlZExv
Z2ljYWxXaWR0aCA9IGNvbXB1dGVkTG9naWNhbFdpZHRoOwotfQotCi1MYXlvdXRVbml0IFRhYmxl
R3JpZDo6Q29sdW1uOjpsb2dpY2FsV2lkdGgoKSBjb25zdAotewotICAgIEFTU0VSVChtX2hhc0Nv
bXB1dGVkV2lkdGgpOwotICAgIHJldHVybiBtX2NvbXB1dGVkTG9naWNhbFdpZHRoOwotfQotCi12
b2lkIFRhYmxlR3JpZDo6Q29sdW1uOjpzZXRMb2dpY2FsTGVmdChMYXlvdXRVbml0IGNvbXB1dGVk
TG9naWNhbExlZnQpCi17Ci0jaWYgQVNTRVJUX0VOQUJMRUQKLSAgICBtX2hhc0NvbXB1dGVkTGVm
dCA9IHRydWU7Ci0jZW5kaWYKLSAgICBtX2NvbXB1dGVkTG9naWNhbExlZnQgPSBjb21wdXRlZExv
Z2ljYWxMZWZ0OwotfQotCi1MYXlvdXRVbml0IFRhYmxlR3JpZDo6Q29sdW1uOjpsb2dpY2FsTGVm
dCgpIGNvbnN0Ci17Ci0gICAgQVNTRVJUKG1faGFzQ29tcHV0ZWRMZWZ0KTsKLSAgICByZXR1cm4g
bV9jb21wdXRlZExvZ2ljYWxMZWZ0OwotfQotCiB2b2lkIFRhYmxlR3JpZDo6Q29sdW1uczo6YWRk
Q29sdW1uKGNvbnN0IENvbnRhaW5lckJveCYgY29sdW1uQm94KQogewogICAgIG1fY29sdW1uTGlz
dC5hcHBlbmQoeyAmY29sdW1uQm94IH0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUdyaWQuaCBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvdGFibGUvVGFibGVHcmlkLmgKaW5kZXggNTJhYzE5
ZGQ4ZTM1YTFlMjMyNmZlYjc1YWExOWQ2NjFhMjM4MTdiYS4uNWZjODkxZDNjYjczMzhhNzU5MzFm
NGQ5ZDU1YWUwYTYzOGIwODEyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUdyaWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL3RhYmxlL1RhYmxlR3JpZC5oCkBAIC02NywzMCArNjcs
MjYgQEAgcHVibGljOgogICAgIHB1YmxpYzoKICAgICAgICAgQ29sdW1uKGNvbnN0IENvbnRhaW5l
ckJveCopOwogCi0gICAgICAgIHZvaWQgc2V0TG9naWNhbExlZnQoTGF5b3V0VW5pdCk7Ci0gICAg
ICAgIExheW91dFVuaXQgbG9naWNhbExlZnQoKSBjb25zdDsKLSAgICAgICAgTGF5b3V0VW5pdCBs
b2dpY2FsUmlnaHQoKSBjb25zdCB7IHJldHVybiBsb2dpY2FsTGVmdCgpICsgbG9naWNhbFdpZHRo
KCk7IH0KLSAgICAgICAgdm9pZCBzZXRMb2dpY2FsV2lkdGgoTGF5b3V0VW5pdCk7Ci0gICAgICAg
IExheW91dFVuaXQgbG9naWNhbFdpZHRoKCkgY29uc3Q7CisgICAgICAgIHZvaWQgc2V0VXNlZExv
Z2ljYWxMZWZ0KExheW91dFVuaXQpOworICAgICAgICBMYXlvdXRVbml0IHVzZWRMb2dpY2FsTGVm
dCgpIGNvbnN0OworICAgICAgICBMYXlvdXRVbml0IHVzZWRMb2dpY2FsUmlnaHQoKSBjb25zdCB7
IHJldHVybiB1c2VkTG9naWNhbExlZnQoKSArIHVzZWRMb2dpY2FsV2lkdGgoKTsgfQorICAgICAg
ICB2b2lkIHNldFVzZWRMb2dpY2FsV2lkdGgoTGF5b3V0VW5pdCk7CisgICAgICAgIExheW91dFVu
aXQgdXNlZExvZ2ljYWxXaWR0aCgpIGNvbnN0OwogCi0gICAgICAgIHZvaWQgc2V0Rml4ZWRXaWR0
aChMYXlvdXRVbml0IGZpeGVkVmFsdWUpOwotICAgICAgICBzdGQ6Om9wdGlvbmFsPExheW91dFVu
aXQ+IGZpeGVkV2lkdGgoKSBjb25zdCB7IHJldHVybiBtX2ZpeGVkV2lkdGg7IH0KLQotICAgICAg
ICB2b2lkIHNldFBlcmNlbnQoZmxvYXQpOwotICAgICAgICBzdGQ6Om9wdGlvbmFsPGZsb2F0PiBw
ZXJjZW50KCkgY29uc3QgeyByZXR1cm4gbV9wZXJjZW50OyB9CisgICAgICAgIHZvaWQgc2V0Q29t
cHV0ZWRMb2dpY2FsV2lkdGgoTGVuZ3RoJiYpOworICAgICAgICBjb25zdCBMZW5ndGgmIGNvbXB1
dGVkTG9naWNhbFdpZHRoKCkgY29uc3QgeyByZXR1cm4gbV9jb21wdXRlZExvZ2ljYWxXaWR0aDsg
fQogCiAgICAgICAgIGNvbnN0IENvbnRhaW5lckJveCogYm94KCkgY29uc3QgeyByZXR1cm4gbV9s
YXlvdXRCb3guZ2V0KCk7IH0KIAogICAgIHByaXZhdGU6Ci0gICAgICAgIExheW91dFVuaXQgbV9j
b21wdXRlZExvZ2ljYWxXaWR0aDsKLSAgICAgICAgTGF5b3V0VW5pdCBtX2NvbXB1dGVkTG9naWNh
bExlZnQ7Ci0gICAgICAgIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4gbV9maXhlZFdpZHRoOwot
ICAgICAgICBzdGQ6Om9wdGlvbmFsPGZsb2F0PiBtX3BlcmNlbnQ7CisgICAgICAgIExheW91dFVu
aXQgbV91c2VkTG9naWNhbFdpZHRoOworICAgICAgICBMYXlvdXRVbml0IG1fdXNlZExvZ2ljYWxM
ZWZ0OworICAgICAgICBMZW5ndGggbV9jb21wdXRlZExvZ2ljYWxXaWR0aDsKICAgICAgICAgV2Vh
a1B0cjxjb25zdCBDb250YWluZXJCb3g+IG1fbGF5b3V0Qm94OwogCiAjaWYgQVNTRVJUX0VOQUJM
RUQKLSAgICAgICAgYm9vbCBtX2hhc0NvbXB1dGVkV2lkdGggeyBmYWxzZSB9OwotICAgICAgICBi
b29sIG1faGFzQ29tcHV0ZWRMZWZ0IHsgZmFsc2UgfTsKKyAgICAgICAgYm9vbCBtX2hhc1VzZWRX
aWR0aCB7IGZhbHNlIH07CisgICAgICAgIGJvb2wgbV9oYXNVc2VkTGVmdCB7IGZhbHNlIH07CiAj
ZW5kaWYKICAgICB9OwogCkBAIC0xMDQsNyArMTAwLDcgQEAgcHVibGljOgogICAgICAgICB2b2lk
IGFkZENvbHVtbihjb25zdCBDb250YWluZXJCb3gmKTsKICAgICAgICAgdm9pZCBhZGRBbm9ueW1v
dXNDb2x1bW4oKTsKIAotICAgICAgICBMYXlvdXRVbml0IGxvZ2ljYWxXaWR0aCgpIGNvbnN0IHsg
cmV0dXJuIG1fY29sdW1uTGlzdC5sYXN0KCkubG9naWNhbFJpZ2h0KCkgLSBtX2NvbHVtbkxpc3Qu
Zmlyc3QoKS5sb2dpY2FsTGVmdCgpOyB9CisgICAgICAgIExheW91dFVuaXQgbG9naWNhbFdpZHRo
KCkgY29uc3QgeyByZXR1cm4gbV9jb2x1bW5MaXN0Lmxhc3QoKS51c2VkTG9naWNhbFJpZ2h0KCkg
LSBtX2NvbHVtbkxpc3QuZmlyc3QoKS51c2VkTG9naWNhbExlZnQoKTsgfQogCiAgICAgcHJpdmF0
ZToKICAgICAgICAgQ29sdW1uTGlzdCBtX2NvbHVtbkxpc3Q7CkBAIC0yMzQsMTcgKzIzMCwzOCBA
QCBwcml2YXRlOgogICAgIHN0ZDo6b3B0aW9uYWw8RWRnZXM+IG1fY29sbGFwc2VkQm9yZGVyOwog
fTsKIAoraW5saW5lIHZvaWQgVGFibGVHcmlkOjpDb2x1bW46OnNldENvbXB1dGVkTG9naWNhbFdp
ZHRoKExlbmd0aCYmIGNvbXB1dGVkTG9naWNhbFdpZHRoKQoreworICAgIEFTU0VSVChjb21wdXRl
ZExvZ2ljYWxXaWR0aC50eXBlKCkgPT0gTGVuZ3RoVHlwZTo6Rml4ZWQgfHwgY29tcHV0ZWRMb2dp
Y2FsV2lkdGgudHlwZSgpID09IExlbmd0aFR5cGU6OlBlcmNlbnQgfHwgY29tcHV0ZWRMb2dpY2Fs
V2lkdGgudHlwZSgpID09IExlbmd0aFR5cGU6OlJlbGF0aXZlKTsKKyAgICBtX2NvbXB1dGVkTG9n
aWNhbFdpZHRoID0gV1RGTW92ZShjb21wdXRlZExvZ2ljYWxXaWR0aCk7Cit9CiAKLWlubGluZSB2
b2lkIFRhYmxlR3JpZDo6Q29sdW1uOjpzZXRGaXhlZFdpZHRoKExheW91dFVuaXQgZml4ZWRWYWx1
ZSkKK2lubGluZSB2b2lkIFRhYmxlR3JpZDo6Q29sdW1uOjpzZXRVc2VkTG9naWNhbFdpZHRoKExh
eW91dFVuaXQgdXNlZExvZ2ljYWxXaWR0aCkKIHsKLSAgICBBU1NFUlQoIW1fcGVyY2VudCk7Ci0g
ICAgbV9maXhlZFdpZHRoID0gZml4ZWRWYWx1ZTsKKyNpZiBBU1NFUlRfRU5BQkxFRAorICAgIG1f
aGFzVXNlZFdpZHRoID0gdHJ1ZTsKKyNlbmRpZgorICAgIG1fdXNlZExvZ2ljYWxXaWR0aCA9IHVz
ZWRMb2dpY2FsV2lkdGg7Cit9CisKK2lubGluZSBMYXlvdXRVbml0IFRhYmxlR3JpZDo6Q29sdW1u
Ojp1c2VkTG9naWNhbFdpZHRoKCkgY29uc3QKK3sKKyAgICBBU1NFUlQobV9oYXNVc2VkV2lkdGgp
OworICAgIHJldHVybiBtX3VzZWRMb2dpY2FsV2lkdGg7Cit9CisKK2lubGluZSB2b2lkIFRhYmxl
R3JpZDo6Q29sdW1uOjpzZXRVc2VkTG9naWNhbExlZnQoTGF5b3V0VW5pdCB1c2VkTG9naWNhbExl
ZnQpCit7CisjaWYgQVNTRVJUX0VOQUJMRUQKKyAgICBtX2hhc1VzZWRMZWZ0ID0gdHJ1ZTsKKyNl
bmRpZgorICAgIG1fdXNlZExvZ2ljYWxMZWZ0ID0gdXNlZExvZ2ljYWxMZWZ0OwogfQogCi1pbmxp
bmUgdm9pZCBUYWJsZUdyaWQ6OkNvbHVtbjo6c2V0UGVyY2VudChmbG9hdCBwZXJjZW50KQoraW5s
aW5lIExheW91dFVuaXQgVGFibGVHcmlkOjpDb2x1bW46OnVzZWRMb2dpY2FsTGVmdCgpIGNvbnN0
CiB7Ci0gICAgQVNTRVJUKCFtX2ZpeGVkV2lkdGgpOwotICAgIG1fcGVyY2VudCA9IHBlcmNlbnQ7
CisgICAgQVNTRVJUKG1faGFzVXNlZExlZnQpOworICAgIHJldHVybiBtX3VzZWRMb2dpY2FsTGVm
dDsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdD
b250ZXh0cy90YWJsZS9UYWJsZUxheW91dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9y
bWF0dGluZ0NvbnRleHRzL3RhYmxlL1RhYmxlTGF5b3V0LmNwcAppbmRleCBiNDk4YWQ0ZTJmZWE2
MTkyYzA2YWEyYTA1OWFkNDg5ZmZhMzFhZjYwLi4wOWNlNDc3NjQ3Zjc0NzgzNGQxOTZlZDJkOTdi
ZWVkMTk5YzkzY2MzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGlu
Z0NvbnRleHRzL3RhYmxlL1RhYmxlTGF5b3V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvZm9ybWF0dGluZ0NvbnRleHRzL3RhYmxlL1RhYmxlTGF5b3V0LmNwcApAQCAtMjk0LDEyICsy
OTQsMjIgQEAgVGFibGVGb3JtYXR0aW5nQ29udGV4dDo6VGFibGVMYXlvdXQ6OkRpc3RyaWJ1dGVk
U3BhY2VzIFRhYmxlRm9ybWF0dGluZ0NvbnRleHQ6OlQKICAgICAgICAgYXV0byYgY29sdW1uID0g
bV9ncmlkLmNvbHVtbnMoKS5saXN0KClbY29sdW1uSW5kZXhdOwogICAgICAgICBhdXRvIGNvbHVt
bldpZHRoID0gc3RkOjpvcHRpb25hbDxmbG9hdD4geyB9OwogICAgICAgICBhdXRvIHR5cGUgPSBH
cmlkU3BhY2U6OlR5cGU6OkF1dG87Ci0gICAgICAgIGlmIChhdXRvIGZpeGVkV2lkdGggPSBjb2x1
bW4uZml4ZWRXaWR0aCgpKSB7Ci0gICAgICAgICAgICBjb2x1bW5XaWR0aCA9ICpmaXhlZFdpZHRo
OworCisgICAgICAgIGF1dG8mIGNvbXB1dGVkTG9naWNhbFdpZHRoID0gY29sdW1uLmNvbXB1dGVk
TG9naWNhbFdpZHRoKCk7CisgICAgICAgIHN3aXRjaCAoY29tcHV0ZWRMb2dpY2FsV2lkdGgudHlw
ZSgpKSB7CisgICAgICAgIGNhc2UgTGVuZ3RoVHlwZTo6Rml4ZWQ6CisgICAgICAgICAgICBjb2x1
bW5XaWR0aCA9IGNvbXB1dGVkTG9naWNhbFdpZHRoLnZhbHVlKCk7CiAgICAgICAgICAgICB0eXBl
ID0gR3JpZFNwYWNlOjpUeXBlOjpGaXhlZDsKLSAgICAgICAgfSBlbHNlIGlmIChhdXRvIHBlcmNl
bnQgPSBjb2x1bW4ucGVyY2VudCgpKSB7Ci0gICAgICAgICAgICBjb2x1bW5XaWR0aCA9ICpwZXJj
ZW50ICogYXZhaWxhYmxlSG9yaXpvbnRhbFNwYWNlIC8gMTAwLjBmOworICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgIGNhc2UgTGVuZ3RoVHlwZTo6UGVyY2VudDoKKyAgICAgICAgICAgIGNvbHVt
bldpZHRoID0gY29tcHV0ZWRMb2dpY2FsV2lkdGgudmFsdWUoKSAqIGF2YWlsYWJsZUhvcml6b250
YWxTcGFjZSAvIDEwMC4wZjsKICAgICAgICAgICAgIHR5cGUgPSBHcmlkU3BhY2U6OlR5cGU6OlBl
cmNlbnQ7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBMZW5ndGhUeXBlOjpSZWxh
dGl2ZToKKyAgICAgICAgICAgIEFTU0VSVF9OT1RfSU1QTEVNRU5URURfWUVUKCk7CisgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICB9CiAKICAgICAgICAgZmxvYXQgbWluaW11bUNvbnRlbnRXaWR0aCA9IHNsb3Qud2lkdGhDb25z
dHJhaW50cygpLm1pbmltdW07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432488</attachid>
            <date>2021-06-29 09:48:40 -0700</date>
            <delta_ts>2021-07-02 08:28:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227488-20210629094839.patch</filename>
            <type>text/plain</type>
            <size>15160</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5MzIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDFlMTQ1MzUyYjVjNWY2
Y2IyNmUwNmEyYTRkY2M5NjM2MmEyNjJhNy4uYjJkNzJmYjNmNjBkMTViNjU0NzQzZjNiMjFiZjM3
MWVmMjNkMzIwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDIxLTA2LTI5ICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtURkNdIFRhYmxlR3Jp
ZDo6Q29sdW1uIGhvbGRzIGJvdGggdGhlIGNvbXB1dGVkIGFuZCB0aGUgdXNlZCB3aWR0aCB2YWx1
ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzQ4
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMg
cGF0Y2ggY2xlYW5zIHVwIFRhYmxlR3JpZDo6Q29sdW1uIGludGVyZmFjZSB0byBlbnN1cmUgd2Ug
ZG9uJ3QgY29uZnVzZWQKKyAgICAgICAgdGhlIGNvbXB1dGVkIGFuZCB0aGUgdXNlZCB3aWR0aHMg
Zm9yIGNvbHVtbnMuCisgICAgICAgIFRoaXMgaXMgYWxzbyBpbiBwcmVwYXJ0aW9uIGZvciBhZGRp
bmcgbWl4ZWQgd2lkdGggdHlwZSBzdXBwb3J0LgorCisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRp
bmdDb250ZXh0cy90YWJsZS9UYWJsZUZvcm1hdHRpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkxheW91dDo6VGFibGVGb3JtYXR0aW5nQ29udGV4dDo6c2V0VXNlZEdlb21ldHJ5Rm9y
Q2VsbHMpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpUYWJsZUZvcm1hdHRpbmdDb250ZXh0
Ojpjb21wdXRlZFByZWZlcnJlZFdpZHRoRm9yQ29sdW1ucyk6CisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXQ6OlRhYmxlRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVBbmREaXN0cmlidXRlRXh0cmFT
cGFjZSk6CisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUZv
cm1hdHRpbmdHZW9tZXRyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OlRhYmxlRm9y
bWF0dGluZ0dlb21ldHJ5Ojpob3Jpem9udGFsU3BhY2VGb3JDZWxsQ29udGVudCBjb25zdCk6Cisg
ICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUdyaWQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpUYWJsZUdyaWQ6OkNvbHVtbjo6c2V0TG9naWNhbFdp
ZHRoKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6VGFibGVHcmlkOjpDb2x1
bW46OmxvZ2ljYWxXaWR0aCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXQ6OlRhYmxlR3JpZDo6Q29sdW1uOjpzZXRMb2dpY2FsTGVmdCk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpMYXlvdXQ6OlRhYmxlR3JpZDo6Q29sdW1uOjpsb2dpY2FsTGVmdCBjb25zdCk6
IERlbGV0ZWQuCisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJs
ZUdyaWQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6VGFibGVHcmlkOjpDb2x1bW46OnVz
ZWRMb2dpY2FsUmlnaHQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpUYWJsZUdy
aWQ6OkNvbHVtbjo6Y29tcHV0ZWRMb2dpY2FsV2lkdGggY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0OjpUYWJsZUdyaWQ6OkNvbHVtbnM6OmxvZ2ljYWxXaWR0aCBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OlRhYmxlR3JpZDo6Q29sdW1uOjpzZXRDb21wdXRlZExvZ2lj
YWxXaWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OlRhYmxlR3JpZDo6Q29sdW1uOjpz
ZXRVc2VkTG9naWNhbFdpZHRoKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6VGFibGVHcmlk
OjpDb2x1bW46OnVzZWRMb2dpY2FsV2lkdGggY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5
b3V0OjpUYWJsZUdyaWQ6OkNvbHVtbjo6c2V0VXNlZExvZ2ljYWxMZWZ0KToKKyAgICAgICAgKFdl
YkNvcmU6OkxheW91dDo6VGFibGVHcmlkOjpDb2x1bW46OnVzZWRMb2dpY2FsTGVmdCBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OlRhYmxlR3JpZDo6Q29sdW1uOjpsb2dpY2FsUmln
aHQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpUYWJsZUdyaWQ6
OkNvbHVtbjo6Zml4ZWRXaWR0aCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXQ6OlRhYmxlR3JpZDo6Q29sdW1uOjpwZXJjZW50IGNvbnN0KTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OkxheW91dDo6VGFibGVHcmlkOjpDb2x1bW46OnNldEZpeGVkV2lkdGgpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpUYWJsZUdyaWQ6OkNvbHVtbjo6c2V0
UGVyY2VudCk6IERlbGV0ZWQuCisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90
YWJsZS9UYWJsZUxheW91dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OlRhYmxlRm9y
bWF0dGluZ0NvbnRleHQ6OlRhYmxlTGF5b3V0OjpkaXN0cmlidXRlZEhvcml6b250YWxTcGFjZSk6
CisKIDIwMjEtMDYtMjcgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAK
ICAgICAgICAgW2lPUyAxNV0gRml4IHRoZSBpbnRlcm5hbCBidWlsZCBhZnRlciByZGFyOi8vNzY1
NDkxMDkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4
dHMvdGFibGUvVGFibGVGb3JtYXR0aW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvZm9ybWF0dGluZ0NvbnRleHRzL3RhYmxlL1RhYmxlRm9ybWF0dGluZ0NvbnRleHQuY3BwCmlu
ZGV4IGU3ZDMwYzQ0YTI0YjQ1NzZmY2FlNzlhMmM2NTc5YjU4NWMxNjhjNWYuLjllNzFmNjc3MjM2
NWZiZjRiYzFjMjI0ZDA3YzFlODc3OTkyYjM1NmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvdGFibGUvVGFibGVGb3JtYXR0aW5nQ29udGV4dC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9U
YWJsZUZvcm1hdHRpbmdDb250ZXh0LmNwcApAQCAtMTAxLDcgKzEwMSw3IEBAIHZvaWQgVGFibGVG
b3JtYXR0aW5nQ29udGV4dDo6c2V0VXNlZEdlb21ldHJ5Rm9yQ2VsbHMoTGF5b3V0VW5pdCBhdmFp
bGFibGVIb3Jpem9uCiAgICAgICAgIGNlbGxCb3hHZW9tZXRyeS5zZXRCb3JkZXIoZm9ybWF0dGlu
Z0dlb21ldHJ5LmNvbXB1dGVkQ2VsbEJvcmRlcigqY2VsbCkpOwogICAgICAgICBjZWxsQm94R2Vv
bWV0cnkuc2V0UGFkZGluZyhmb3JtYXR0aW5nR2VvbWV0cnkuY29tcHV0ZWRQYWRkaW5nKGNlbGxC
b3gsIGF2YWlsYWJsZUhvcml6b250YWxTcGFjZSkpOwogICAgICAgICBjZWxsQm94R2VvbWV0cnku
c2V0TG9naWNhbFRvcChyb3dMaXN0W2NlbGwtPnN0YXJ0Um93KCldLmxvZ2ljYWxUb3AoKSAtIHNl
Y3Rpb25PZmZzZXQpOwotICAgICAgICBjZWxsQm94R2VvbWV0cnkuc2V0TG9naWNhbExlZnQoY29s
dW1uTGlzdFtjZWxsLT5zdGFydENvbHVtbigpXS5sb2dpY2FsTGVmdCgpKTsKKyAgICAgICAgY2Vs
bEJveEdlb21ldHJ5LnNldExvZ2ljYWxMZWZ0KGNvbHVtbkxpc3RbY2VsbC0+c3RhcnRDb2x1bW4o
KV0udXNlZExvZ2ljYWxMZWZ0KCkpOwogICAgICAgICBjZWxsQm94R2VvbWV0cnkuc2V0Q29udGVu
dEJveFdpZHRoKGZvcm1hdHRpbmdHZW9tZXRyeS5ob3Jpem9udGFsU3BhY2VGb3JDZWxsQ29udGVu
dCgqY2VsbCkpOwogCiAgICAgICAgIGlmIChjZWxsQm94Lmhhc0luRmxvd09yRmxvYXRpbmdDaGls
ZCgpKSB7CkBAIC0zMzYsNyArMzM2LDcgQEAgSW50cmluc2ljV2lkdGhDb25zdHJhaW50cyBUYWJs
ZUZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlZFByZWZlcnJlZFdpZHRoRm9yQ29sdW0KICAgICAg
ICAgICAgIHJldHVybiBmb3JtYXR0aW5nR2VvbWV0cnkuY29tcHV0ZWRDb2x1bW5XaWR0aCgqY29s
dW1uQm94KTsKICAgICAgICAgfSgpOwogICAgICAgICBpZiAoZml4ZWRXaWR0aCkKLSAgICAgICAg
ICAgIGNvbHVtbi5zZXRGaXhlZFdpZHRoKCpmaXhlZFdpZHRoKTsKKyAgICAgICAgICAgIGNvbHVt
bi5zZXRDb21wdXRlZExvZ2ljYWxXaWR0aCh7ICpmaXhlZFdpZHRoLCBMZW5ndGhUeXBlOjpGaXhl
ZCB9KTsKICAgICB9CiAKICAgICBWZWN0b3I8c3RkOjpvcHRpb25hbDxmbG9hdD4+IGNvbHVtblBl
cmNlbnRMaXN0KGNvbHVtbkxpc3Quc2l6ZSgpKTsKQEAgLTM2MCw3ICszNjAsOSBAQCBJbnRyaW5z
aWNXaWR0aENvbnN0cmFpbnRzIFRhYmxlRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVkUHJlZmVy
cmVkV2lkdGhGb3JDb2x1bQogICAgICAgICBncmlkLnNsb3QoY2VsbFBvc2l0aW9uKS0+c2V0V2lk
dGhDb25zdHJhaW50cygqaW50cmluc2ljV2lkdGgpOwogICAgICAgICBpZiAoYXV0byBmaXhlZFdp
ZHRoID0gZm9ybWF0dGluZ0dlb21ldHJ5LmZpeGVkVmFsdWUoY2VsbEJveC5zdHlsZSgpLmxvZ2lj
YWxXaWR0aCgpKSkgewogICAgICAgICAgICAgKmZpeGVkV2lkdGggKz0gaG9yaXpvbnRhbEJvcmRl
ckFuZFBhZGRpbmdXaWR0aDsKLSAgICAgICAgICAgIGNvbHVtbkxpc3RbY2VsbFBvc2l0aW9uLmNv
bHVtbl0uc2V0Rml4ZWRXaWR0aChzdGQ6Om1heCgqZml4ZWRXaWR0aCwgY29sdW1uTGlzdFtjZWxs
UG9zaXRpb24uY29sdW1uXS5maXhlZFdpZHRoKCkudmFsdWVfb3IoMCkpKTsKKyAgICAgICAgICAg
IGF1dG8mIGNvbHVtbiA9IGNvbHVtbkxpc3RbY2VsbFBvc2l0aW9uLmNvbHVtbl07CisgICAgICAg
ICAgICBpZiAoKmZpeGVkV2lkdGggPiBjb2x1bW4uY29tcHV0ZWRMb2dpY2FsV2lkdGgoKS52YWx1
ZSgpKQorICAgICAgICAgICAgICAgIGNvbHVtbi5zZXRDb21wdXRlZExvZ2ljYWxXaWR0aCh7ICpm
aXhlZFdpZHRoLCBMZW5ndGhUeXBlOjpGaXhlZCB9KTsKICAgICAgICAgfQogICAgICAgICAvLyBD
b2xsZWN0IHRoZSBwZXJjZW50IHZhbHVlcyBzbyB0aGF0IHdlIGNhbiBjb21wdXRlIHRoZSBtYXhp
bXVtIHZhbHVlcyBwZXIgY29sdW1uLgogICAgICAgICBhdXRvJiBjZWxsTG9naWNhbFdpZHRoID0g
Y2VsbEJveC5zdHlsZSgpLmxvZ2ljYWxXaWR0aCgpOwpAQCAtMzg3LDggKzM4OSw4IEBAIEludHJp
bnNpY1dpZHRoQ29uc3RyYWludHMgVGFibGVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZWRQcmVm
ZXJyZWRXaWR0aEZvckNvbHVtCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICBhdXRvIHdpZHRoQ29uc3RyYWludHMgPSBzbG90LndpZHRoQ29uc3Ry
YWludHMoKTsKLSAgICAgICAgICAgIGlmIChhdXRvIGNvbHVtbkZpeGVkV2lkdGggPSBjb2x1bW5M
aXN0W2NvbHVtbkluZGV4XS5maXhlZFdpZHRoKCkpCi0gICAgICAgICAgICAgICAgd2lkdGhDb25z
dHJhaW50cy5tYXhpbXVtID0gc3RkOjptYXgoKmNvbHVtbkZpeGVkV2lkdGgsIHdpZHRoQ29uc3Ry
YWludHMubWluaW11bSk7CisgICAgICAgICAgICBpZiAoYXV0byBjb2x1bW5Mb2dpY2FsV2lkdGgg
PSBjb2x1bW5MaXN0W2NvbHVtbkluZGV4XS5jb21wdXRlZExvZ2ljYWxXaWR0aCgpOyBjb2x1bW5M
b2dpY2FsV2lkdGguaXNGaXhlZCgpKQorICAgICAgICAgICAgICAgIHdpZHRoQ29uc3RyYWludHMu
bWF4aW11bSA9IHN0ZDo6bWF4KExheW91dFVuaXQgeyBjb2x1bW5Mb2dpY2FsV2lkdGgudmFsdWUo
KSB9LCB3aWR0aENvbnN0cmFpbnRzLm1pbmltdW0pOwogCiAgICAgICAgICAgICBjb2x1bW5JbnRy
aW5zaWNXaWR0aHNbY29sdW1uSW5kZXhdLm1pbmltdW0gPSBzdGQ6Om1heCh3aWR0aENvbnN0cmFp
bnRzLm1pbmltdW0sIGNvbHVtbkludHJpbnNpY1dpZHRoc1tjb2x1bW5JbmRleF0ubWluaW11bSk7
CiAgICAgICAgICAgICBjb2x1bW5JbnRyaW5zaWNXaWR0aHNbY29sdW1uSW5kZXhdLm1heGltdW0g
PSBzdGQ6Om1heCh3aWR0aENvbnN0cmFpbnRzLm1heGltdW0sIGNvbHVtbkludHJpbnNpY1dpZHRo
c1tjb2x1bW5JbmRleF0ubWF4aW11bSk7CkBAIC00NDIsOSArNDQ0LDEwIEBAIEludHJpbnNpY1dp
ZHRoQ29uc3RyYWludHMgVGFibGVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZWRQcmVmZXJyZWRX
aWR0aEZvckNvbHVtCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICB9CiAg
ICAgICAgICAgICBBU1NFUlQoKnBlcmNlbnQgPiAwKTsKLSAgICAgICAgICAgIGNvbHVtbkxpc3Rb
Y29sdW1uSW5kZXhdLnNldFBlcmNlbnQoc3RkOjptaW4ocmVtYWluaW5nUGVyY2VudCwgKnBlcmNl
bnQpKTsKLSAgICAgICAgICAgIHBlcmNlbnRNYXhpbXVtV2lkdGggPSBzdGQ6Om1heChwZXJjZW50
TWF4aW11bVdpZHRoLCBMYXlvdXRVbml0IHsgY29sdW1uSW50cmluc2ljV2lkdGhzW2NvbHVtbklu
ZGV4XS5tYXhpbXVtICogMTAwLjBmIC8gKmNvbHVtbkxpc3RbY29sdW1uSW5kZXhdLnBlcmNlbnQo
KSB9KTsKLSAgICAgICAgICAgIHJlbWFpbmluZ1BlcmNlbnQgLT0gKmNvbHVtbkxpc3RbY29sdW1u
SW5kZXhdLnBlcmNlbnQoKTsKKyAgICAgICAgICAgIHBlcmNlbnQgPSBzdGQ6Om1pbigqcGVyY2Vu
dCwgcmVtYWluaW5nUGVyY2VudCk7CisgICAgICAgICAgICBjb2x1bW5MaXN0W2NvbHVtbkluZGV4
XS5zZXRDb21wdXRlZExvZ2ljYWxXaWR0aCh7ICpwZXJjZW50LCBMZW5ndGhUeXBlOjpQZXJjZW50
IH0pOworICAgICAgICAgICAgcGVyY2VudE1heGltdW1XaWR0aCA9IHN0ZDo6bWF4KHBlcmNlbnRN
YXhpbXVtV2lkdGgsIExheW91dFVuaXQgeyBjb2x1bW5JbnRyaW5zaWNXaWR0aHNbY29sdW1uSW5k
ZXhdLm1heGltdW0gKiAxMDAuMGYgLyAqcGVyY2VudCB9KTsKKyAgICAgICAgICAgIHJlbWFpbmlu
Z1BlcmNlbnQgLT0gKnBlcmNlbnQ7CiAgICAgICAgIH0KIAogICAgICAgICBBU1NFUlQocmVtYWlu
aW5nUGVyY2VudCA+PSAwLmYpOwpAQCAtNDcyLDggKzQ3NSw4IEBAIHZvaWQgVGFibGVGb3JtYXR0
aW5nQ29udGV4dDo6Y29tcHV0ZUFuZERpc3RyaWJ1dGVFeHRyYVNwYWNlKExheW91dFVuaXQgYXZh
aWxhYmxlCiAgICAgYXV0byBjb2x1bW5Mb2dpY2FsTGVmdCA9IGdyaWQuaG9yaXpvbnRhbFNwYWNp
bmcoKTsKICAgICBmb3IgKHNpemVfdCBjb2x1bW5JbmRleCA9IDA7IGNvbHVtbkluZGV4IDwgY29s
dW1ucy5zaXplKCk7ICsrY29sdW1uSW5kZXgpIHsKICAgICAgICAgYXV0byYgY29sdW1uID0gY29s
dW1uc1tjb2x1bW5JbmRleF07Ci0gICAgICAgIGNvbHVtbi5zZXRMb2dpY2FsTGVmdChjb2x1bW5M
b2dpY2FsTGVmdCk7Ci0gICAgICAgIGNvbHVtbi5zZXRMb2dpY2FsV2lkdGgoZGlzdHJpYnV0ZWRI
b3Jpem9udGFsU3BhY2VzW2NvbHVtbkluZGV4XSk7CisgICAgICAgIGNvbHVtbi5zZXRVc2VkTG9n
aWNhbExlZnQoY29sdW1uTG9naWNhbExlZnQpOworICAgICAgICBjb2x1bW4uc2V0VXNlZExvZ2lj
YWxXaWR0aChkaXN0cmlidXRlZEhvcml6b250YWxTcGFjZXNbY29sdW1uSW5kZXhdKTsKICAgICAg
ICAgY29sdW1uTG9naWNhbExlZnQgKz0gZGlzdHJpYnV0ZWRIb3Jpem9udGFsU3BhY2VzW2NvbHVt
bkluZGV4XSArIGdyaWQuaG9yaXpvbnRhbFNwYWNpbmcoKTsKICAgICB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvdGFibGUvVGFibGVGb3Jt
YXR0aW5nR2VvbWV0cnkuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy90YWJsZS9UYWJsZUZvcm1hdHRpbmdHZW9tZXRyeS5jcHAKaW5kZXggYmZjNTUwOTY4ZTNj
ZjAyZDNmMTFlNjk4MTVlM2QwZWMwYjA2MmM4Ny4uNjY5MTA5M2IyNGZmNGJhYzcyZDM5ZjdmZDYy
MjczMDliNDQzNWY0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRp
bmdDb250ZXh0cy90YWJsZS9UYWJsZUZvcm1hdHRpbmdHZW9tZXRyeS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUZvcm1hdHRpbmdH
ZW9tZXRyeS5jcHAKQEAgLTE1Miw3ICsxNTIsNyBAQCBMYXlvdXRVbml0IFRhYmxlRm9ybWF0dGlu
Z0dlb21ldHJ5Ojpob3Jpem9udGFsU3BhY2VGb3JDZWxsQ29udGVudChjb25zdCBUYWJsZUdyaQog
ICAgIGF1dG8mIGNvbHVtbkxpc3QgPSBncmlkLmNvbHVtbnMoKS5saXN0KCk7CiAgICAgYXV0byBs
b2dpY2FsV2lkdGggPSBMYXlvdXRVbml0IHsgfTsKICAgICBmb3IgKGF1dG8gY29sdW1uSW5kZXgg
PSBjZWxsLnN0YXJ0Q29sdW1uKCk7IGNvbHVtbkluZGV4IDwgY2VsbC5lbmRDb2x1bW4oKTsgKytj
b2x1bW5JbmRleCkKLSAgICAgICAgbG9naWNhbFdpZHRoICs9IGNvbHVtbkxpc3QuYXQoY29sdW1u
SW5kZXgpLmxvZ2ljYWxXaWR0aCgpOworICAgICAgICBsb2dpY2FsV2lkdGggKz0gY29sdW1uTGlz
dC5hdChjb2x1bW5JbmRleCkudXNlZExvZ2ljYWxXaWR0aCgpOwogICAgIC8vIE5vIGNvbHVtbiBz
cGFjaW5nIHdoZW4gc3Bhbm5pbmcuCiAgICAgbG9naWNhbFdpZHRoICs9IChjZWxsLmNvbHVtblNw
YW4oKSAtIDEpICogZ3JpZC5ob3Jpem9udGFsU3BhY2luZygpOwogICAgIGF1dG8mIGNlbGxCb3hH
ZW9tZXRyeSA9IGZvcm1hdHRpbmdDb250ZXh0KCkuZ2VvbWV0cnlGb3JCb3goY2VsbC5ib3goKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL3Rh
YmxlL1RhYmxlR3JpZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRl
eHRzL3RhYmxlL1RhYmxlR3JpZC5jcHAKaW5kZXggNWIzMzZhMWI2NmYwYjE3ZTQwZjY5YWU0MWY1
YWU1ZjFkYzUxNTg5NS4uNDBkMzI0M2Y2YjRjNjZhM2EyZmQ2ZGEzOTU2MWUzODkyMDc0ZWE5MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJs
ZS9UYWJsZUdyaWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29u
dGV4dHMvdGFibGUvVGFibGVHcmlkLmNwcApAQCAtNDAsMzQgKzQwLDYgQEAgVGFibGVHcmlkOjpD
b2x1bW46OkNvbHVtbihjb25zdCBDb250YWluZXJCb3gqIGNvbHVtbkJveCkKIHsKIH0KIAotdm9p
ZCBUYWJsZUdyaWQ6OkNvbHVtbjo6c2V0TG9naWNhbFdpZHRoKExheW91dFVuaXQgY29tcHV0ZWRM
b2dpY2FsV2lkdGgpCi17Ci0jaWYgQVNTRVJUX0VOQUJMRUQKLSAgICBtX2hhc0NvbXB1dGVkV2lk
dGggPSB0cnVlOwotI2VuZGlmCi0gICAgbV9jb21wdXRlZExvZ2ljYWxXaWR0aCA9IGNvbXB1dGVk
TG9naWNhbFdpZHRoOwotfQotCi1MYXlvdXRVbml0IFRhYmxlR3JpZDo6Q29sdW1uOjpsb2dpY2Fs
V2lkdGgoKSBjb25zdAotewotICAgIEFTU0VSVChtX2hhc0NvbXB1dGVkV2lkdGgpOwotICAgIHJl
dHVybiBtX2NvbXB1dGVkTG9naWNhbFdpZHRoOwotfQotCi12b2lkIFRhYmxlR3JpZDo6Q29sdW1u
OjpzZXRMb2dpY2FsTGVmdChMYXlvdXRVbml0IGNvbXB1dGVkTG9naWNhbExlZnQpCi17Ci0jaWYg
QVNTRVJUX0VOQUJMRUQKLSAgICBtX2hhc0NvbXB1dGVkTGVmdCA9IHRydWU7Ci0jZW5kaWYKLSAg
ICBtX2NvbXB1dGVkTG9naWNhbExlZnQgPSBjb21wdXRlZExvZ2ljYWxMZWZ0OwotfQotCi1MYXlv
dXRVbml0IFRhYmxlR3JpZDo6Q29sdW1uOjpsb2dpY2FsTGVmdCgpIGNvbnN0Ci17Ci0gICAgQVNT
RVJUKG1faGFzQ29tcHV0ZWRMZWZ0KTsKLSAgICByZXR1cm4gbV9jb21wdXRlZExvZ2ljYWxMZWZ0
OwotfQotCiB2b2lkIFRhYmxlR3JpZDo6Q29sdW1uczo6YWRkQ29sdW1uKGNvbnN0IENvbnRhaW5l
ckJveCYgY29sdW1uQm94KQogewogICAgIG1fY29sdW1uTGlzdC5hcHBlbmQoeyAmY29sdW1uQm94
IH0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0
cy90YWJsZS9UYWJsZUdyaWQuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29u
dGV4dHMvdGFibGUvVGFibGVHcmlkLmgKaW5kZXggNTJhYzE5ZGQ4ZTM1YTFlMjMyNmZlYjc1YWEx
OWQ2NjFhMjM4MTdiYS4uNWZjODkxZDNjYjczMzhhNzU5MzFmNGQ5ZDU1YWUwYTYzOGIwODEyMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJs
ZS9UYWJsZUdyaWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRl
eHRzL3RhYmxlL1RhYmxlR3JpZC5oCkBAIC02NywzMCArNjcsMjYgQEAgcHVibGljOgogICAgIHB1
YmxpYzoKICAgICAgICAgQ29sdW1uKGNvbnN0IENvbnRhaW5lckJveCopOwogCi0gICAgICAgIHZv
aWQgc2V0TG9naWNhbExlZnQoTGF5b3V0VW5pdCk7Ci0gICAgICAgIExheW91dFVuaXQgbG9naWNh
bExlZnQoKSBjb25zdDsKLSAgICAgICAgTGF5b3V0VW5pdCBsb2dpY2FsUmlnaHQoKSBjb25zdCB7
IHJldHVybiBsb2dpY2FsTGVmdCgpICsgbG9naWNhbFdpZHRoKCk7IH0KLSAgICAgICAgdm9pZCBz
ZXRMb2dpY2FsV2lkdGgoTGF5b3V0VW5pdCk7Ci0gICAgICAgIExheW91dFVuaXQgbG9naWNhbFdp
ZHRoKCkgY29uc3Q7CisgICAgICAgIHZvaWQgc2V0VXNlZExvZ2ljYWxMZWZ0KExheW91dFVuaXQp
OworICAgICAgICBMYXlvdXRVbml0IHVzZWRMb2dpY2FsTGVmdCgpIGNvbnN0OworICAgICAgICBM
YXlvdXRVbml0IHVzZWRMb2dpY2FsUmlnaHQoKSBjb25zdCB7IHJldHVybiB1c2VkTG9naWNhbExl
ZnQoKSArIHVzZWRMb2dpY2FsV2lkdGgoKTsgfQorICAgICAgICB2b2lkIHNldFVzZWRMb2dpY2Fs
V2lkdGgoTGF5b3V0VW5pdCk7CisgICAgICAgIExheW91dFVuaXQgdXNlZExvZ2ljYWxXaWR0aCgp
IGNvbnN0OwogCi0gICAgICAgIHZvaWQgc2V0Rml4ZWRXaWR0aChMYXlvdXRVbml0IGZpeGVkVmFs
dWUpOwotICAgICAgICBzdGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IGZpeGVkV2lkdGgoKSBjb25z
dCB7IHJldHVybiBtX2ZpeGVkV2lkdGg7IH0KLQotICAgICAgICB2b2lkIHNldFBlcmNlbnQoZmxv
YXQpOwotICAgICAgICBzdGQ6Om9wdGlvbmFsPGZsb2F0PiBwZXJjZW50KCkgY29uc3QgeyByZXR1
cm4gbV9wZXJjZW50OyB9CisgICAgICAgIHZvaWQgc2V0Q29tcHV0ZWRMb2dpY2FsV2lkdGgoTGVu
Z3RoJiYpOworICAgICAgICBjb25zdCBMZW5ndGgmIGNvbXB1dGVkTG9naWNhbFdpZHRoKCkgY29u
c3QgeyByZXR1cm4gbV9jb21wdXRlZExvZ2ljYWxXaWR0aDsgfQogCiAgICAgICAgIGNvbnN0IENv
bnRhaW5lckJveCogYm94KCkgY29uc3QgeyByZXR1cm4gbV9sYXlvdXRCb3guZ2V0KCk7IH0KIAog
ICAgIHByaXZhdGU6Ci0gICAgICAgIExheW91dFVuaXQgbV9jb21wdXRlZExvZ2ljYWxXaWR0aDsK
LSAgICAgICAgTGF5b3V0VW5pdCBtX2NvbXB1dGVkTG9naWNhbExlZnQ7Ci0gICAgICAgIHN0ZDo6
b3B0aW9uYWw8TGF5b3V0VW5pdD4gbV9maXhlZFdpZHRoOwotICAgICAgICBzdGQ6Om9wdGlvbmFs
PGZsb2F0PiBtX3BlcmNlbnQ7CisgICAgICAgIExheW91dFVuaXQgbV91c2VkTG9naWNhbFdpZHRo
OworICAgICAgICBMYXlvdXRVbml0IG1fdXNlZExvZ2ljYWxMZWZ0OworICAgICAgICBMZW5ndGgg
bV9jb21wdXRlZExvZ2ljYWxXaWR0aDsKICAgICAgICAgV2Vha1B0cjxjb25zdCBDb250YWluZXJC
b3g+IG1fbGF5b3V0Qm94OwogCiAjaWYgQVNTRVJUX0VOQUJMRUQKLSAgICAgICAgYm9vbCBtX2hh
c0NvbXB1dGVkV2lkdGggeyBmYWxzZSB9OwotICAgICAgICBib29sIG1faGFzQ29tcHV0ZWRMZWZ0
IHsgZmFsc2UgfTsKKyAgICAgICAgYm9vbCBtX2hhc1VzZWRXaWR0aCB7IGZhbHNlIH07CisgICAg
ICAgIGJvb2wgbV9oYXNVc2VkTGVmdCB7IGZhbHNlIH07CiAjZW5kaWYKICAgICB9OwogCkBAIC0x
MDQsNyArMTAwLDcgQEAgcHVibGljOgogICAgICAgICB2b2lkIGFkZENvbHVtbihjb25zdCBDb250
YWluZXJCb3gmKTsKICAgICAgICAgdm9pZCBhZGRBbm9ueW1vdXNDb2x1bW4oKTsKIAotICAgICAg
ICBMYXlvdXRVbml0IGxvZ2ljYWxXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1fY29sdW1uTGlzdC5s
YXN0KCkubG9naWNhbFJpZ2h0KCkgLSBtX2NvbHVtbkxpc3QuZmlyc3QoKS5sb2dpY2FsTGVmdCgp
OyB9CisgICAgICAgIExheW91dFVuaXQgbG9naWNhbFdpZHRoKCkgY29uc3QgeyByZXR1cm4gbV9j
b2x1bW5MaXN0Lmxhc3QoKS51c2VkTG9naWNhbFJpZ2h0KCkgLSBtX2NvbHVtbkxpc3QuZmlyc3Qo
KS51c2VkTG9naWNhbExlZnQoKTsgfQogCiAgICAgcHJpdmF0ZToKICAgICAgICAgQ29sdW1uTGlz
dCBtX2NvbHVtbkxpc3Q7CkBAIC0yMzQsMTcgKzIzMCwzOCBAQCBwcml2YXRlOgogICAgIHN0ZDo6
b3B0aW9uYWw8RWRnZXM+IG1fY29sbGFwc2VkQm9yZGVyOwogfTsKIAoraW5saW5lIHZvaWQgVGFi
bGVHcmlkOjpDb2x1bW46OnNldENvbXB1dGVkTG9naWNhbFdpZHRoKExlbmd0aCYmIGNvbXB1dGVk
TG9naWNhbFdpZHRoKQoreworICAgIEFTU0VSVChjb21wdXRlZExvZ2ljYWxXaWR0aC50eXBlKCkg
PT0gTGVuZ3RoVHlwZTo6Rml4ZWQgfHwgY29tcHV0ZWRMb2dpY2FsV2lkdGgudHlwZSgpID09IExl
bmd0aFR5cGU6OlBlcmNlbnQgfHwgY29tcHV0ZWRMb2dpY2FsV2lkdGgudHlwZSgpID09IExlbmd0
aFR5cGU6OlJlbGF0aXZlKTsKKyAgICBtX2NvbXB1dGVkTG9naWNhbFdpZHRoID0gV1RGTW92ZShj
b21wdXRlZExvZ2ljYWxXaWR0aCk7Cit9CiAKLWlubGluZSB2b2lkIFRhYmxlR3JpZDo6Q29sdW1u
OjpzZXRGaXhlZFdpZHRoKExheW91dFVuaXQgZml4ZWRWYWx1ZSkKK2lubGluZSB2b2lkIFRhYmxl
R3JpZDo6Q29sdW1uOjpzZXRVc2VkTG9naWNhbFdpZHRoKExheW91dFVuaXQgdXNlZExvZ2ljYWxX
aWR0aCkKIHsKLSAgICBBU1NFUlQoIW1fcGVyY2VudCk7Ci0gICAgbV9maXhlZFdpZHRoID0gZml4
ZWRWYWx1ZTsKKyNpZiBBU1NFUlRfRU5BQkxFRAorICAgIG1faGFzVXNlZFdpZHRoID0gdHJ1ZTsK
KyNlbmRpZgorICAgIG1fdXNlZExvZ2ljYWxXaWR0aCA9IHVzZWRMb2dpY2FsV2lkdGg7Cit9CisK
K2lubGluZSBMYXlvdXRVbml0IFRhYmxlR3JpZDo6Q29sdW1uOjp1c2VkTG9naWNhbFdpZHRoKCkg
Y29uc3QKK3sKKyAgICBBU1NFUlQobV9oYXNVc2VkV2lkdGgpOworICAgIHJldHVybiBtX3VzZWRM
b2dpY2FsV2lkdGg7Cit9CisKK2lubGluZSB2b2lkIFRhYmxlR3JpZDo6Q29sdW1uOjpzZXRVc2Vk
TG9naWNhbExlZnQoTGF5b3V0VW5pdCB1c2VkTG9naWNhbExlZnQpCit7CisjaWYgQVNTRVJUX0VO
QUJMRUQKKyAgICBtX2hhc1VzZWRMZWZ0ID0gdHJ1ZTsKKyNlbmRpZgorICAgIG1fdXNlZExvZ2lj
YWxMZWZ0ID0gdXNlZExvZ2ljYWxMZWZ0OwogfQogCi1pbmxpbmUgdm9pZCBUYWJsZUdyaWQ6OkNv
bHVtbjo6c2V0UGVyY2VudChmbG9hdCBwZXJjZW50KQoraW5saW5lIExheW91dFVuaXQgVGFibGVH
cmlkOjpDb2x1bW46OnVzZWRMb2dpY2FsTGVmdCgpIGNvbnN0CiB7Ci0gICAgQVNTRVJUKCFtX2Zp
eGVkV2lkdGgpOwotICAgIG1fcGVyY2VudCA9IHBlcmNlbnQ7CisgICAgQVNTRVJUKG1faGFzVXNl
ZExlZnQpOworICAgIHJldHVybiBtX3VzZWRMb2dpY2FsTGVmdDsKIH0KIAogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUxh
eW91dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL3RhYmxl
L1RhYmxlTGF5b3V0LmNwcAppbmRleCBiNDk4YWQ0ZTJmZWE2MTkyYzA2YWEyYTA1OWFkNDg5ZmZh
MzFhZjYwLi4wOWNlNDc3NjQ3Zjc0NzgzNGQxOTZlZDJkOTdiZWVkMTk5YzkzY2MzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL3RhYmxlL1RhYmxl
TGF5b3V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRz
L3RhYmxlL1RhYmxlTGF5b3V0LmNwcApAQCAtMjk0LDEyICsyOTQsMjIgQEAgVGFibGVGb3JtYXR0
aW5nQ29udGV4dDo6VGFibGVMYXlvdXQ6OkRpc3RyaWJ1dGVkU3BhY2VzIFRhYmxlRm9ybWF0dGlu
Z0NvbnRleHQ6OlQKICAgICAgICAgYXV0byYgY29sdW1uID0gbV9ncmlkLmNvbHVtbnMoKS5saXN0
KClbY29sdW1uSW5kZXhdOwogICAgICAgICBhdXRvIGNvbHVtbldpZHRoID0gc3RkOjpvcHRpb25h
bDxmbG9hdD4geyB9OwogICAgICAgICBhdXRvIHR5cGUgPSBHcmlkU3BhY2U6OlR5cGU6OkF1dG87
Ci0gICAgICAgIGlmIChhdXRvIGZpeGVkV2lkdGggPSBjb2x1bW4uZml4ZWRXaWR0aCgpKSB7Ci0g
ICAgICAgICAgICBjb2x1bW5XaWR0aCA9ICpmaXhlZFdpZHRoOworCisgICAgICAgIGF1dG8mIGNv
bXB1dGVkTG9naWNhbFdpZHRoID0gY29sdW1uLmNvbXB1dGVkTG9naWNhbFdpZHRoKCk7CisgICAg
ICAgIHN3aXRjaCAoY29tcHV0ZWRMb2dpY2FsV2lkdGgudHlwZSgpKSB7CisgICAgICAgIGNhc2Ug
TGVuZ3RoVHlwZTo6Rml4ZWQ6CisgICAgICAgICAgICBjb2x1bW5XaWR0aCA9IGNvbXB1dGVkTG9n
aWNhbFdpZHRoLnZhbHVlKCk7CiAgICAgICAgICAgICB0eXBlID0gR3JpZFNwYWNlOjpUeXBlOjpG
aXhlZDsKLSAgICAgICAgfSBlbHNlIGlmIChhdXRvIHBlcmNlbnQgPSBjb2x1bW4ucGVyY2VudCgp
KSB7Ci0gICAgICAgICAgICBjb2x1bW5XaWR0aCA9ICpwZXJjZW50ICogYXZhaWxhYmxlSG9yaXpv
bnRhbFNwYWNlIC8gMTAwLjBmOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgTGVu
Z3RoVHlwZTo6UGVyY2VudDoKKyAgICAgICAgICAgIGNvbHVtbldpZHRoID0gY29tcHV0ZWRMb2dp
Y2FsV2lkdGgudmFsdWUoKSAqIGF2YWlsYWJsZUhvcml6b250YWxTcGFjZSAvIDEwMC4wZjsKICAg
ICAgICAgICAgIHR5cGUgPSBHcmlkU3BhY2U6OlR5cGU6OlBlcmNlbnQ7CisgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgY2FzZSBMZW5ndGhUeXBlOjpSZWxhdGl2ZToKKyAgICAgICAgICAgIEFT
U0VSVF9OT1RfSU1QTEVNRU5URURfWUVUKCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
ZGVmYXVsdDoKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKICAgICAgICAgZmxvYXQg
bWluaW11bUNvbnRlbnRXaWR0aCA9IHNsb3Qud2lkdGhDb25zdHJhaW50cygpLm1pbmltdW07Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>