<?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>206447</bug_id>
          
          <creation_ts>2020-01-17 15:07:49 -0800</creation_ts>
          <short_desc>[LFC][IFC] Rename trailing collapsible content to trailing trimmable</short_desc>
          <delta_ts>2020-01-18 08:46:48 -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>commit-queue</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>1608224</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-01-17 15:07:49 -0800</bug_when>
    <thetext>to not to confuse it with collapsing whitespace content.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1608225</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-01-17 15:08:05 -0800</bug_when>
    <thetext>&lt;rdar://problem/58697414&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1608227</commentid>
    <comment_count>2</comment_count>
      <attachid>388094</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-01-17 15:10:03 -0800</bug_when>
    <thetext>Created attachment 388094
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1608442</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-18 08:46:15 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 388094:

imported/w3c/web-platform-tests/IndexedDB/interleaved-cursors-large.html bug 201849
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1608443</commentid>
    <comment_count>4</comment_count>
      <attachid>388094</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-18 08:46:46 -0800</bug_when>
    <thetext>Comment on attachment 388094
Patch

Clearing flags on attachment: 388094

Committed r254796: &lt;https://trac.webkit.org/changeset/254796&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1608444</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-18 08:46:48 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388094</attachid>
            <date>2020-01-17 15:10:03 -0800</date>
            <delta_ts>2020-01-18 08:46:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206447-20200117151002.patch</filename>
            <type>text/plain</type>
            <size>26830</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0NzYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDVmYjljNjMxYmU2MTc4
ZDIzY2IzZmYxNWU4ZjM2NjhiMzU2YzE4OC4uYTkzZWNhZmJiNDVkMGU2OTQ1ZTMxYWEzOTAzZDg3
NmVlYmU4MTRkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU0IEBACisyMDIwLTAxLTE3ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBSZW5hbWUg
dHJhaWxpbmcgY29sbGFwc2libGUgY29udGVudCB0byB0cmFpbGluZyB0cmltbWFibGUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjQ0NworICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vNTg2OTc0MTQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgVHJpbW1pbmcgaXMgdGhlIHNwZWMgdGVybSBmb3IgcmVtb3Zp
bmcgdHJhaWxpbmcgaW5saW5lIGNvbnRlbnQgKGFsc28gdGhpcyBoZWxwcyB0byBub3QgY29uZnVz
ZQorICAgICAgICB0cmFpbGluZyB0cmltbWluZyBhbmQgd2hpdGVzcGFjZSBjb2xsYXBzaW5nLikK
KworICAgICAgICAqIGxheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCdWlsZGVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OkxpbmVCdWlsZGVyKToK
KyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OmluaXRpYWxpemUpOgorICAg
ICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQnVpbGRlcjo6Y2xvc2UpOgorICAgICAgICAoV2Vi
Q29yZTo6TGF5b3V0OjpMaW5lQnVpbGRlcjo6cmV2ZXJ0KToKKyAgICAgICAgKFdlYkNvcmU6Okxh
eW91dDo6TGluZUJ1aWxkZXI6OnJlbW92ZVRyYWlsaW5nVHJpbW1hYmxlQ29udGVudCk6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCdWlsZGVyOjp2aXN1YWxseUNvbGxhcHNlUHJlV3Jh
cE92ZXJmbG93Q29udGVudCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCdWlsZGVy
Ojpjb2xsZWN0SGFuZ2luZ0NvbnRlbnQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5l
QnVpbGRlcjo6YXBwZW5kSW5saW5lQ29udGFpbmVyRW5kKToKKyAgICAgICAgKFdlYkNvcmU6Okxh
eW91dDo6TGluZUJ1aWxkZXI6OmFwcGVuZFRleHRDb250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dDo6TGluZUJ1aWxkZXI6OmFwcGVuZE5vblJlcGxhY2VkSW5saW5lQm94KToKKyAgICAg
ICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OlRyaW1tYWJsZVRyYWlsaW5nQ29udGVu
dDo6VHJpbW1hYmxlVHJhaWxpbmdDb250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6
TGluZUJ1aWxkZXI6OlRyaW1tYWJsZVRyYWlsaW5nQ29udGVudDo6YXBwZW5kKToKKyAgICAgICAg
KFdlYkNvcmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OlRyaW1tYWJsZVRyYWlsaW5nQ29udGVudDo6
cmVtb3ZlKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OlRyaW1tYWJs
ZVRyYWlsaW5nQ29udGVudDo6cmVtb3ZlVHJhaWxpbmdSdW4pOgorICAgICAgICAoV2ViQ29yZTo6
TGF5b3V0OjpMaW5lQnVpbGRlcjo6SW5saW5lSXRlbVJ1bjo6aXNUcmltbWFibGVXaGl0ZXNwYWNl
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OnJlbW92ZVRy
YWlsaW5nQ29sbGFwc2libGVDb250ZW50KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Okxh
eW91dDo6TGluZUJ1aWxkZXI6OkNvbGxhcHNpYmxlQ29udGVudDo6Q29sbGFwc2libGVDb250ZW50
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OkNvbGxh
cHNpYmxlQ29udGVudDo6YXBwZW5kKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91
dDo6TGluZUJ1aWxkZXI6OkNvbGxhcHNpYmxlQ29udGVudDo6Y29sbGFwc2UpOiBEZWxldGVkLgor
ICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQnVpbGRlcjo6Q29sbGFwc2libGVDb250ZW50
Ojpjb2xsYXBzZVRyYWlsaW5nUnVuKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91
dDo6TGluZUJ1aWxkZXI6OklubGluZUl0ZW1SdW46OmlzQ29sbGFwc2libGVXaGl0ZXNwYWNlIGNv
bnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVM
aW5lQnVpbGRlci5oOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQnVpbGRlcjo6dHJp
bW1hYmxlVHJhaWxpbmdXaWR0aCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6Okxp
bmVCdWlsZGVyOjppc1RyYWlsaW5nUnVuRnVsbHlUcmltbWFibGUgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpMaW5lQnVpbGRlcjo6VHJpbW1hYmxlVHJhaWxpbmdDb250ZW50Ojpp
c1RyYWlsaW5nUnVuRnVsbHlUcmltbWFibGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5
b3V0OjpMaW5lQnVpbGRlcjo6VHJpbW1hYmxlVHJhaWxpbmdDb250ZW50Ojppc1RyYWlsaW5nUnVu
UGFydGlhbGx5VHJpbW1hYmxlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGlu
ZUJ1aWxkZXI6OlRyaW1tYWJsZVRyYWlsaW5nQ29udGVudDo6cmVzZXQpOgorICAgICAgICAoV2Vi
Q29yZTo6TGF5b3V0OjpMaW5lQnVpbGRlcjo6dHJhaWxpbmdDb2xsYXBzaWJsZVdpZHRoIGNvbnN0
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OmlzVHJh
aWxpbmdSdW5GdWxseUNvbGxhcHNpYmxlIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OkNvbGxhcHNpYmxlQ29udGVudDo6d2lkdGggY29uc3Qp
OiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQnVpbGRlcjo6Q29sbGFw
c2libGVDb250ZW50OjpmaXJzdFJ1bkluZGV4KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dDo6TGluZUJ1aWxkZXI6OkNvbGxhcHNpYmxlQ29udGVudDo6aXNFbXB0eSBjb25zdCk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCdWlsZGVyOjpDb2xsYXBz
aWJsZUNvbnRlbnQ6OmlzVHJhaWxpbmdSdW5GdWxseUNvbGxhcHNpYmxlIGNvbnN0KTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OkNvbGxhcHNpYmxlQ29u
dGVudDo6aXNUcmFpbGluZ1J1blBhcnRpYWxseUNvbGxhcHNpYmxlIGNvbnN0KTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OkNvbGxhcHNpYmxlQ29udGVu
dDo6cmVzZXQpOiBEZWxldGVkLgorICAgICAgICAqIGxheW91dC9pbmxpbmVmb3JtYXR0aW5nL0xp
bmVMYXlvdXRDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUxheW91
dENvbnRleHQ6OnRyeUFkZGluZ0Zsb2F0SXRlbXMpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0
OjpMaW5lTGF5b3V0Q29udGV4dDo6dHJ5QWRkaW5nSW5saW5lSXRlbXMpOgorCiAyMDIwLTAxLTE3
ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJRkNd
IFVzZSBPcHRpb25hbCBmb3IgcGFydGlhbExlYWRpbmcvVHJhaWxpbmdUZXh0SXRlbQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJ1
aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5l
TGluZUJ1aWxkZXIuY3BwCmluZGV4IDdhYmY0MjYwODRjNzY4YzM3MDAzOTcxMDdhMDg2NjhiNDFk
Yjg4YjcuLmZlNjYzYWE1OWVhNWU1ZWRlMzgxMjJlNGQxMDExMDZkNDZjMmY1NDIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCdWls
ZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9Jbmxp
bmVMaW5lQnVpbGRlci5jcHAKQEAgLTE4Niw3ICsxODYsNyBAQCB2b2lkIExpbmVCdWlsZGVyOjpS
dW46OnNldENvbXB1dGVkSG9yaXpvbnRhbEV4cGFuc2lvbihJbmxpbmVMYXlvdXRVbml0IGxvZ2lj
YWxFeAogCiBMaW5lQnVpbGRlcjo6TGluZUJ1aWxkZXIoY29uc3QgSW5saW5lRm9ybWF0dGluZ0Nv
bnRleHQmIGlubGluZUZvcm1hdHRpbmdDb250ZXh0LCBPcHRpb25hbDxUZXh0QWxpZ25Nb2RlPiBo
b3Jpem9udGFsQWxpZ25tZW50LCBJbnRyaW5zaWNTaXppbmcgaW50cmluc2ljU2l6aW5nKQogICAg
IDogbV9pbmxpbmVGb3JtYXR0aW5nQ29udGV4dChpbmxpbmVGb3JtYXR0aW5nQ29udGV4dCkKLSAg
ICAsIG1fY29sbGFwc2libGVDb250ZW50KG1faW5saW5lSXRlbVJ1bnMpCisgICAgLCBtX3RyaW1t
YWJsZVRyYWlsaW5nQ29udGVudChtX2lubGluZUl0ZW1SdW5zKQogICAgICwgbV9ob3Jpem9udGFs
QWxpZ25tZW50KGhvcml6b250YWxBbGlnbm1lbnQpCiAgICAgLCBtX2lzSW50cmluc2ljU2l6aW5n
KGludHJpbnNpY1NpemluZyA9PSBJbnRyaW5zaWNTaXppbmc6OlllcykKICAgICAsIG1fc2hvdWxk
SWdub3JlVHJhaWxpbmdMZXR0ZXJTcGFjaW5nKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJl
ZEZlYXR1cmVzKCkubGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRJbnRlZ3JhdGlvbkVuYWJsZWQoKSkK
QEAgLTIxNyw4ICsyMTcsOCBAQCB2b2lkIExpbmVCdWlsZGVyOjppbml0aWFsaXplKGNvbnN0IENv
bnN0cmFpbnRzJiBjb25zdHJhaW50cykKICAgICBtX2hhc0ludHJ1c2l2ZUZsb2F0ID0gY29uc3Ry
YWludHMubGluZUlzQ29uc3RyYWluZWRCeUZsb2F0OwogCiAgICAgbV9pbmxpbmVJdGVtUnVucy5j
bGVhcigpOwotICAgIG1fY29sbGFwc2libGVDb250ZW50LnJlc2V0KCk7Ci0gICAgbV9saW5lSXNW
aXN1YWxseUVtcHR5QmVmb3JlQ29sbGFwc2libGVDb250ZW50ID0geyB9OworICAgIG1fdHJpbW1h
YmxlVHJhaWxpbmdDb250ZW50LnJlc2V0KCk7CisgICAgbV9saW5lSXNWaXN1YWxseUVtcHR5QmVm
b3JlVHJpbW1hYmxlVHJhaWxpbmdDb250ZW50ID0geyB9OwogfQogCiBzdGF0aWMgaW5saW5lIGJv
b2wgc2hvdWxkUHJlc2VydmVMZWFkaW5nQ29udGVudChjb25zdCBJbmxpbmVUZXh0SXRlbSYgaW5s
aW5lVGV4dEl0ZW0pCkBAIC0yMzEsMTAgKzIzMSwxMCBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2hv
dWxkUHJlc2VydmVMZWFkaW5nQ29udGVudChjb25zdCBJbmxpbmVUZXh0SXRlbSYgaW5saW5lVGV4
dAogCiBMaW5lQnVpbGRlcjo6UnVuTGlzdCBMaW5lQnVpbGRlcjo6Y2xvc2UoSXNMYXN0TGluZVdp
dGhJbmxpbmVDb250ZW50IGlzTGFzdExpbmVXaXRoSW5saW5lQ29udGVudCkKIHsKLSAgICAvLyAx
LiBSZW1vdmUgY29sbGFwc2libGUgdHJhaWxpbmcgY29udGVudC4KKyAgICAvLyAxLiBSZW1vdmUg
dHJpbW1hYmxlIHRyYWlsaW5nIGNvbnRlbnQuCiAgICAgLy8gMi4gSm9pbiB0ZXh0IHJ1bnMgdG9n
ZXRoZXIgd2hlbiBwb3NzaWJsZSBbZm9vXVsgXVtiYXJdIC0+IFtmb28gYmFyXS4KICAgICAvLyAz
LiBBbGlnbiBtZXJnZWQgcnVucyBib3RoIHZlcnRpY2FsbHkgYW5kIGhvcml6b250YWxseS4KLSAg
ICByZW1vdmVUcmFpbGluZ0NvbGxhcHNpYmxlQ29udGVudCgpOworICAgIHJlbW92ZVRyYWlsaW5n
VHJpbW1hYmxlQ29udGVudCgpOwogICAgIHZpc3VhbGx5Q29sbGFwc2VQcmVXcmFwT3ZlcmZsb3dD
b250ZW50KCk7CiAgICAgYXV0byBoYW5naW5nQ29udGVudCA9IGNvbGxlY3RIYW5naW5nQ29udGVu
dChpc0xhc3RMaW5lV2l0aElubGluZUNvbnRlbnQpOwogCkBAIC0yODYsNyArMjg2LDcgQEAgc2l6
ZV90IExpbmVCdWlsZGVyOjpyZXZlcnQoY29uc3QgSW5saW5lSXRlbSYgcmV2ZXJ0VG8pCiAgICAg
ICAgIHJldHVybiB7IH07CiAgICAgfQogICAgIC8vIDEuIFJlbW92ZSBhbmQgc2hyaW5rIHRoZSB0
cmFpbGluZyBjb250ZW50LgotICAgIC8vIDIuIFJlYnVpbGQgY29sbGFwc2libGUgdHJhaWxpbmcg
d2hpdGVzcGFjZSBjb250ZW50LgorICAgIC8vIDIuIFJlYnVpbGQgdHJpbW1hYmxlIHRyYWlsaW5n
IHdoaXRlc3BhY2UgY29udGVudC4KICAgICBBU1NFUlQoIW1faW5saW5lSXRlbVJ1bnMuaXNFbXB0
eSgpKTsKICAgICBhdXRvIHJldmVydGVkV2lkdGggPSBJbmxpbmVMYXlvdXRVbml0IHsgfTsKICAg
ICBhdXRvIG9yaWdpbmFsU2l6ZSA9IG1faW5saW5lSXRlbVJ1bnMuc2l6ZSgpOwpAQCAtMjk4LDM2
ICsyOTgsMzYgQEAgc2l6ZV90IExpbmVCdWlsZGVyOjpyZXZlcnQoY29uc3QgSW5saW5lSXRlbSYg
cmV2ZXJ0VG8pCiAgICAgLy8gU2hvdWxkIG5ldmVyIG5lZWQgdG8gY2xlYXIgdGhlIGxpbmUuCiAg
ICAgQVNTRVJUKCFtX2lubGluZUl0ZW1SdW5zLmlzRW1wdHkoKSk7CiAKLSAgICAvLyBJdCdzIGVh
c2llciBqdXN0IHRvIHJlYnVpbGQgdHJhaWxpbmcgY29sbGFwc2libGUgY29udGVudC4KLSAgICBt
X2NvbGxhcHNpYmxlQ29udGVudC5yZXNldCgpOwotICAgIG1fbGluZUlzVmlzdWFsbHlFbXB0eUJl
Zm9yZUNvbGxhcHNpYmxlQ29udGVudCA9IGlzVmlzdWFsbHlFbXB0eSgpOwotICAgIC8vIEZpbmQg
dGhlIGZpcnN0IGNvbGxhcHNpYmxlIHJ1bi4KLSAgICBPcHRpb25hbDxzaXplX3Q+IGZpcnN0Q29s
bGFwc2libGVSdW5JbmRleDsKKyAgICAvLyBJdCdzIGVhc2llciBqdXN0IHRvIHJlYnVpbGQgdHJh
aWxpbmcgdHJpbW1hYmxlIGNvbnRlbnQuCisgICAgbV90cmltbWFibGVUcmFpbGluZ0NvbnRlbnQu
cmVzZXQoKTsKKyAgICBtX2xpbmVJc1Zpc3VhbGx5RW1wdHlCZWZvcmVUcmltbWFibGVUcmFpbGlu
Z0NvbnRlbnQgPSBpc1Zpc3VhbGx5RW1wdHkoKTsKKyAgICAvLyBGaW5kIHRoZSBmaXJzdCB0cmlt
bWFibGUgcnVuLgorICAgIE9wdGlvbmFsPHNpemVfdD4gZmlyc3RUcmltbWFibGVSdW5JbmRleDsK
ICAgICBmb3IgKGF1dG8gaW5kZXggPSBtX2lubGluZUl0ZW1SdW5zLnNpemUoKTsgaW5kZXgtLTsp
IHsKICAgICAgICAgYXV0byYgaW5saW5lSXRlbVJ1biA9IG1faW5saW5lSXRlbVJ1bnNbaW5kZXhd
OwogICAgICAgICBpZiAoaW5saW5lSXRlbVJ1bi5pc0NvbnRhaW5lclN0YXJ0KCkgfHwgaW5saW5l
SXRlbVJ1bi5pc0NvbnRhaW5lckVuZCgpKQogICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAg
IGF1dG8gaGFzQ29sbGFwc2libGVDb250ZW50ID0gaW5saW5lSXRlbVJ1bi5pc0NvbGxhcHNpYmxl
V2hpdGVzcGFjZSgpIHx8IGlubGluZUl0ZW1SdW4uaGFzVHJhaWxpbmdMZXR0ZXJTcGFjaW5nKCk7
Ci0gICAgICAgIGlmICghaGFzQ29sbGFwc2libGVDb250ZW50KQorICAgICAgICBhdXRvIGhhc1Ry
YWlsaW5nVHJpbW1hYmxlQ29udGVudCA9IGlubGluZUl0ZW1SdW4uaXNUcmltbWFibGVXaGl0ZXNw
YWNlKCkgfHwgaW5saW5lSXRlbVJ1bi5oYXNUcmFpbGluZ0xldHRlclNwYWNpbmcoKTsKKyAgICAg
ICAgaWYgKCFoYXNUcmFpbGluZ1RyaW1tYWJsZUNvbnRlbnQpCiAgICAgICAgICAgICBicmVhazsK
LSAgICAgICAgaWYgKGlubGluZUl0ZW1SdW4uaXNDb2xsYXBzaWJsZVdoaXRlc3BhY2UoKSkgewot
ICAgICAgICAgICAgZmlyc3RDb2xsYXBzaWJsZVJ1bkluZGV4ID0gaW5kZXg7CisgICAgICAgIGlm
IChpbmxpbmVJdGVtUnVuLmlzVHJpbW1hYmxlV2hpdGVzcGFjZSgpKSB7CisgICAgICAgICAgICBm
aXJzdFRyaW1tYWJsZVJ1bkluZGV4ID0gaW5kZXg7CiAgICAgICAgICAgICBjb250aW51ZTsKICAg
ICAgICAgfQogICAgICAgICBpZiAoaW5saW5lSXRlbVJ1bi5oYXNUcmFpbGluZ0xldHRlclNwYWNp
bmcoKSkgewotICAgICAgICAgICAgLy8gV2hpbGUgdHJhaWxpbmcgbGV0dGVyIHNwYWNpbmcgaXMg
Y29uc2lkZXJlZCBjb2xsYXBzaWJsZSwgaXQgaXMgc3VwcG9zZWQgdG8gYmUgbGFzdCBvbmUgaW4g
dGhlIGxpc3QuCi0gICAgICAgICAgICBmaXJzdENvbGxhcHNpYmxlUnVuSW5kZXggPSBpbmRleDsK
KyAgICAgICAgICAgIC8vIFdoaWxlIHRyYWlsaW5nIGxldHRlciBzcGFjaW5nIGlzIGNvbnNpZGVy
ZWQgdHJpbW1hYmxlLCBpdCBpcyBzdXBwb3NlZCB0byBiZSBsYXN0IG9uZSBpbiB0aGUgbGlzdC4K
KyAgICAgICAgICAgIGZpcnN0VHJpbW1hYmxlUnVuSW5kZXggPSBpbmRleDsKICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICB9CiAgICAgfQotICAgIC8vIEZvcndhcmQtYXBwZW5kIHJ1bnMgdG8g
bV9jb2xsYXBzaWJsZUNvbnRlbnQuIAotICAgIGlmIChmaXJzdENvbGxhcHNpYmxlUnVuSW5kZXgp
IHsKLSAgICAgICAgZm9yIChhdXRvIGluZGV4ID0gKmZpcnN0Q29sbGFwc2libGVSdW5JbmRleDsg
aW5kZXggPCBtX2lubGluZUl0ZW1SdW5zLnNpemUoKTsgKytpbmRleCkgeworICAgIC8vIEZvcndh
cmQtYXBwZW5kIHJ1bnMgdG8gbV90cmltbWFibGVUcmFpbGluZ0NvbnRlbnQuIAorICAgIGlmIChm
aXJzdFRyaW1tYWJsZVJ1bkluZGV4KSB7CisgICAgICAgIGZvciAoYXV0byBpbmRleCA9ICpmaXJz
dFRyaW1tYWJsZVJ1bkluZGV4OyBpbmRleCA8IG1faW5saW5lSXRlbVJ1bnMuc2l6ZSgpOyArK2lu
ZGV4KSB7CiAgICAgICAgICAgICBhdXRvJiBpbmxpbmVJdGVtUnVuID0gbV9pbmxpbmVJdGVtUnVu
c1tpbmRleF07CiAgICAgICAgICAgICBpZiAoaW5saW5lSXRlbVJ1bi5pc0NvbnRhaW5lclN0YXJ0
KCkgfHwgaW5saW5lSXRlbVJ1bi5pc0NvbnRhaW5lckVuZCgpKQogICAgICAgICAgICAgICAgIGNv
bnRpbnVlOwogICAgICAgICAgICAgQVNTRVJUKGlubGluZUl0ZW1SdW4uaXNUZXh0KCkpOwotICAg
ICAgICAgICAgbV9jb2xsYXBzaWJsZUNvbnRlbnQuYXBwZW5kKGluZGV4KTsKKyAgICAgICAgICAg
IG1fdHJpbW1hYmxlVHJhaWxpbmdDb250ZW50LmFwcGVuZChpbmRleCk7CiAgICAgICAgIH0KICAg
ICB9CiAgICAgLy8gQ29uc2lkZXIgYWx0ZXJuYXRpdmUgc29sdXRpb25zIGlmIHRoZSAoZWRnZSBj
YXNlKXJldmVydCBnZXRzIG92ZXJseSBjb21wbGljYXRlZC4KQEAgLTQ3OCwyNCArNDc4LDI0IEBA
IHZvaWQgTGluZUJ1aWxkZXI6OmFsaWduSG9yaXpvbnRhbGx5KFJ1bkxpc3QmIHJ1bkxpc3QsIGNv
bnN0IEhhbmdpbmdDb250ZW50JiBoYW5nCiAgICAgICAgIHJ1bi5tb3ZlSG9yaXpvbnRhbGx5KCph
ZGp1c3RtZW50KTsKIH0KIAotdm9pZCBMaW5lQnVpbGRlcjo6cmVtb3ZlVHJhaWxpbmdDb2xsYXBz
aWJsZUNvbnRlbnQoKQordm9pZCBMaW5lQnVpbGRlcjo6cmVtb3ZlVHJhaWxpbmdUcmltbWFibGVD
b250ZW50KCkKIHsKLSAgICBpZiAobV9jb2xsYXBzaWJsZUNvbnRlbnQuaXNFbXB0eSgpIHx8IG1f
aW5saW5lSXRlbVJ1bnMuaXNFbXB0eSgpKQorICAgIGlmIChtX3RyaW1tYWJsZVRyYWlsaW5nQ29u
dGVudC5pc0VtcHR5KCkgfHwgbV9pbmxpbmVJdGVtUnVucy5pc0VtcHR5KCkpCiAgICAgICAgIHJl
dHVybjsKIAogICAgIC8vIENvbXBsZXggbGluZSBsYXlvdXQgcXVpcms6IGtlZXAgdGhlIHRyYWls
aW5nIHdoaXRlc3BhY2UgYXJvdW5kIHdoZW4gaXQgaXMgZm9sbG93ZWQgYnkgYSBsaW5lIGJyZWFr
LCB1bmxlc3MgdGhlIGNvbnRlbnQgb3ZlcmZsb3dzIHRoZSBsaW5lLgogICAgIGlmIChSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmxheW91dEZvcm1hdHRpbmdDb250ZXh0
SW50ZWdyYXRpb25FbmFibGVkKCkpIHsKICAgICAgICAgaWYgKG1faW5saW5lSXRlbVJ1bnMubGFz
dCgpLmlzTGluZUJyZWFrKCkgJiYgYXZhaWxhYmxlV2lkdGgoKSA+PSAwICYmICFpc1RleHRBbGln
blJpZ2h0KCkpIHsKLSAgICAgICAgICAgIG1fY29sbGFwc2libGVDb250ZW50LnJlc2V0KCk7Cisg
ICAgICAgICAgICBtX3RyaW1tYWJsZVRyYWlsaW5nQ29udGVudC5yZXNldCgpOwogICAgICAgICAg
ICAgcmV0dXJuOwogICAgICAgICB9CiAgICAgfQogCi0gICAgbV9saW5lQm94LnNocmlua0hvcml6
b250YWxseShtX2NvbGxhcHNpYmxlQ29udGVudC5jb2xsYXBzZSgpKTsKLSAgICAvLyBJZiB3ZSBj
b2xsYXBzZWQgdGhlIGZpcnN0IHZpc2libGUgcnVuIG9uIHRoZSBsaW5lLCB3ZSBuZWVkIHRvIHJl
LWNoZWNrIHRoZSB2aXNpYmlsaXR5IHN0YXR1cy4KLSAgICBpZiAoIW1fbGluZUlzVmlzdWFsbHlF
bXB0eUJlZm9yZUNvbGxhcHNpYmxlQ29udGVudCkKKyAgICBtX2xpbmVCb3guc2hyaW5rSG9yaXpv
bnRhbGx5KG1fdHJpbW1hYmxlVHJhaWxpbmdDb250ZW50LnJlbW92ZSgpKTsKKyAgICAvLyBJZiB3
ZSByZW1vdmVkIHRoZSBmaXJzdCB2aXNpYmxlIHJ1biBvbiB0aGUgbGluZSwgd2UgbmVlZCB0byBy
ZS1jaGVjayB0aGUgdmlzaWJpbGl0eSBzdGF0dXMuCisgICAgaWYgKCFtX2xpbmVJc1Zpc3VhbGx5
RW1wdHlCZWZvcmVUcmltbWFibGVUcmFpbGluZ0NvbnRlbnQpCiAgICAgICAgIHJldHVybjsKLSAg
ICAvLyBKdXN0IGJlY2F1c2UgdGhlIGxpbmUgd2FzIHZpc3VhbGx5IGVtcHR5IGJlZm9yZSB0aGUg
Y29sbGFwc2VkIGNvbnRlbnQsIGl0IGRvZXMgbm90IG5lY2Vzc2FyaWx5IG1lYW4gaXQgaXMgc3Rp
bGwgdmlzdWFsbHkgZW1wdHkuCisgICAgLy8gSnVzdCBiZWNhdXNlIHRoZSBsaW5lIHdhcyB2aXN1
YWxseSBlbXB0eSBiZWZvcmUgdGhlIHJlbW92ZWQgY29udGVudCwgaXQgZG9lcyBub3QgbmVjZXNz
YXJpbHkgbWVhbiBpdCBpcyBzdGlsbCB2aXN1YWxseSBlbXB0eS4KICAgICAvLyA8c3Bhbj4gIDwv
c3Bhbj48c3BhbiBzdHlsZT0icGFkZGluZy1sZWZ0OiAxMHB4Ij48L3NwYW4+ICA8LSBub24tZW1w
dHkKICAgICBhdXRvIGxpbmVJc1Zpc3VhbGx5RW1wdHkgPSBbJl0gewogICAgICAgICBmb3IgKGF1
dG8mIHJ1biA6IG1faW5saW5lSXRlbVJ1bnMpIHsKQEAgLTUwNCwxNSArNTA0LDE1IEBAIHZvaWQg
TGluZUJ1aWxkZXI6OnJlbW92ZVRyYWlsaW5nQ29sbGFwc2libGVDb250ZW50KCkKICAgICAgICAg
fQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9OwotICAgIC8vIFdlIGNvdWxkIG9ubHkgZ28g
ZnJvbSB2aXN1YWxseSBub24gZW1wdHkgLT4gdG8gdmlzdWFsbHkgZW1wdHkuIENvbGxhcHNlZCBy
dW5zIHNob3VsZCBuZXZlciBtYWtlIHRoZSBsaW5lIHZpc2libGUuCisgICAgLy8gV2UgY291bGQg
b25seSBnbyBmcm9tIHZpc3VhbGx5IG5vbiBlbXB0eSAtPiB0byB2aXN1YWxseSBlbXB0eS4gVHJp
bW1lZCBydW5zIHNob3VsZCBuZXZlciBtYWtlIHRoZSBsaW5lIHZpc2libGUuCiAgICAgaWYgKGxp
bmVJc1Zpc3VhbGx5RW1wdHkoKSkKICAgICAgICAgbV9saW5lQm94LnNldElzQ29uc2lkZXJlZEVt
cHR5KCk7Ci0gICAgbV9saW5lSXNWaXN1YWxseUVtcHR5QmVmb3JlQ29sbGFwc2libGVDb250ZW50
ID0geyB9OworICAgIG1fbGluZUlzVmlzdWFsbHlFbXB0eUJlZm9yZVRyaW1tYWJsZVRyYWlsaW5n
Q29udGVudCA9IHsgfTsKIH0KIAogdm9pZCBMaW5lQnVpbGRlcjo6dmlzdWFsbHlDb2xsYXBzZVBy
ZVdyYXBPdmVyZmxvd0NvbnRlbnQoKQogewotICAgIEFTU0VSVChtX2NvbGxhcHNpYmxlQ29udGVu
dC5pc0VtcHR5KCkpOworICAgIEFTU0VSVChtX3RyaW1tYWJsZVRyYWlsaW5nQ29udGVudC5pc0Vt
cHR5KCkpOwogICAgIC8vIElmIHdoaXRlLXNwYWNlIGlzIHNldCB0byBwcmUtd3JhcCwgdGhlIFVB
IG11c3QKICAgICAvLyAuLi4KICAgICAvLyBJdCBtYXkgYWxzbyB2aXN1YWxseSBjb2xsYXBzZSB0
aGUgY2hhcmFjdGVyIGFkdmFuY2Ugd2lkdGhzIG9mIGFueSB0aGF0IHdvdWxkIG90aGVyd2lzZSBv
dmVyZmxvdy4KQEAgLTU0OSw3ICs1NDksNyBAQCBIYW5naW5nQ29udGVudCBMaW5lQnVpbGRlcjo6
Y29sbGVjdEhhbmdpbmdDb250ZW50KElzTGFzdExpbmVXaXRoSW5saW5lQ29udGVudCBpcwogewog
ICAgIGF1dG8gaGFuZ2luZ0NvbnRlbnQgPSBIYW5naW5nQ29udGVudCB7IH07CiAgICAgLy8gQ2Fu
J3Qgc2V0dXAgaGFuZ2luZyBjb250ZW50IHdpdGggcmVtb3ZhYmxlIHRyYWlsaW5nIHdoaXRlc3Bh
Y2UuCi0gICAgQVNTRVJUKG1fY29sbGFwc2libGVDb250ZW50LmlzRW1wdHkoKSk7CisgICAgQVNT
RVJUKG1fdHJpbW1hYmxlVHJhaWxpbmdDb250ZW50LmlzRW1wdHkoKSk7CiAgICAgaWYgKGlzTGFz
dExpbmVXaXRoSW5saW5lQ29udGVudCA9PSBJc0xhc3RMaW5lV2l0aElubGluZUNvbnRlbnQ6Olll
cykKICAgICAgICAgaGFuZ2luZ0NvbnRlbnQuc2V0SXNDb25kaXRpb25hbCgpOwogICAgIGZvciAo
YXV0byYgaW5saW5lSXRlbVJ1biA6IFdURjo6bWFrZVJldmVyc2VkUmFuZ2UobV9pbmxpbmVJdGVt
UnVucykpIHsKQEAgLTYyMywxNCArNjIzLDE0IEBAIHZvaWQgTGluZUJ1aWxkZXI6OmFwcGVuZElu
bGluZUNvbnRhaW5lclN0YXJ0KGNvbnN0IElubGluZUl0ZW0mIGlubGluZUl0ZW0sIElubGluCiB2
b2lkIExpbmVCdWlsZGVyOjphcHBlbmRJbmxpbmVDb250YWluZXJFbmQoY29uc3QgSW5saW5lSXRl
bSYgaW5saW5lSXRlbSwgSW5saW5lTGF5b3V0VW5pdCBsb2dpY2FsV2lkdGgpCiB7CiAgICAgLy8g
VGhpcyBpcyByZWFsbHkganVzdCBhIHBsYWNlaG9sZGVyIHRvIG1hcmsgdGhlIGVuZCBvZiB0aGUg
aW5saW5lIGxldmVsIGNvbnRhaW5lciA8L3NwYW4+LgotICAgIGF1dG8gY29sbGFwc2VUcmFpbGlu
Z0xldHRlclNwYWNpbmcgPSBbJl0gewotICAgICAgICBpZiAoIW1fY29sbGFwc2libGVDb250ZW50
LmlzVHJhaWxpbmdSdW5QYXJ0aWFsbHlDb2xsYXBzaWJsZSgpKQorICAgIGF1dG8gcmVtb3ZlVHJh
aWxpbmdMZXR0ZXJTcGFjaW5nID0gWyZdIHsKKyAgICAgICAgaWYgKCFtX3RyaW1tYWJsZVRyYWls
aW5nQ29udGVudC5pc1RyYWlsaW5nUnVuUGFydGlhbGx5VHJpbW1hYmxlKCkpCiAgICAgICAgICAg
ICByZXR1cm47Ci0gICAgICAgIG1fbGluZUJveC5zaHJpbmtIb3Jpem9udGFsbHkobV9jb2xsYXBz
aWJsZUNvbnRlbnQuY29sbGFwc2VUcmFpbGluZ1J1bigpKTsKKyAgICAgICAgbV9saW5lQm94LnNo
cmlua0hvcml6b250YWxseShtX3RyaW1tYWJsZVRyYWlsaW5nQ29udGVudC5yZW1vdmVUcmFpbGlu
Z1J1bigpKTsKICAgICB9OwogICAgIC8vIFByZXZlbnQgdHJhaWxpbmcgbGV0dGVyLXNwYWNpbmcg
ZnJvbSBzcGlsbGluZyBvdXQgb2YgdGhlIGlubGluZSBjb250YWluZXIuCiAgICAgLy8gaHR0cHM6
Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy10ZXh0LTMvI2xldHRlci1zcGFjaW5nLXByb3BlcnR5IFNl
ZSBleGFtcGxlIDIxLgotICAgIGNvbGxhcHNlVHJhaWxpbmdMZXR0ZXJTcGFjaW5nKCk7CisgICAg
cmVtb3ZlVHJhaWxpbmdMZXR0ZXJTcGFjaW5nKCk7CiAgICAgYXBwZW5kTm9uQnJlYWthYmxlU3Bh
Y2UoaW5saW5lSXRlbSwgY29udGVudExvZ2ljYWxSaWdodCgpLCBsb2dpY2FsV2lkdGgpOwogfQog
CkBAIC02NjYsMTQgKzY2NiwxNCBAQCB2b2lkIExpbmVCdWlsZGVyOjphcHBlbmRUZXh0Q29udGVu
dChjb25zdCBJbmxpbmVUZXh0SXRlbSYgaW5saW5lSXRlbSwgSW5saW5lTGF5bwogCiAgICAgaWYg
KGlzQ29sbGFwc2libGUgJiYgIVRleHRVdGlsOjpzaG91bGRQcmVzZXJ2ZVRyYWlsaW5nV2hpdGVz
cGFjZShpbmxpbmVJdGVtLnN0eWxlKCkpKSB7CiAgICAgICAgIC8vIElmIHdlIGV2ZXIgY29sbGFw
c2UgdGhpcyBjb250ZW50LCB3ZSBuZWVkIHRvIGtub3cgaWYgdGhlIGxpbmUgdmlzaWJpbGl0eSBz
dGF0ZSBuZWVkcyB0byBiZSByZWNvbXB1dGVkLgotICAgICAgICBpZiAobV9jb2xsYXBzaWJsZUNv
bnRlbnQuaXNFbXB0eSgpKQotICAgICAgICAgICAgbV9saW5lSXNWaXN1YWxseUVtcHR5QmVmb3Jl
Q29sbGFwc2libGVDb250ZW50ID0gaXNWaXN1YWxseUVtcHR5KCk7Ci0gICAgICAgIG1fY29sbGFw
c2libGVDb250ZW50LmFwcGVuZChtX2lubGluZUl0ZW1SdW5zLnNpemUoKSAtIDEpOworICAgICAg
ICBpZiAobV90cmltbWFibGVUcmFpbGluZ0NvbnRlbnQuaXNFbXB0eSgpKQorICAgICAgICAgICAg
bV9saW5lSXNWaXN1YWxseUVtcHR5QmVmb3JlVHJpbW1hYmxlVHJhaWxpbmdDb250ZW50ID0gaXNW
aXN1YWxseUVtcHR5KCk7CisgICAgICAgIG1fdHJpbW1hYmxlVHJhaWxpbmdDb250ZW50LmFwcGVu
ZChtX2lubGluZUl0ZW1SdW5zLnNpemUoKSAtIDEpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIC8v
IEV4aXN0aW5nIHRyYWlsaW5nIGNvbGxhcHNpYmxlIGNvbnRlbnQgY2FuIG9ubHkgYmUgZXhwYW5k
ZWQgaWYgdGhlIGN1cnJlbnQgcnVuIGlzIGZ1bGx5IGNvbGxhcHNpYmxlLgotICAgICAgICBtX2Nv
bGxhcHNpYmxlQ29udGVudC5yZXNldCgpOworICAgICAgICBtX3RyaW1tYWJsZVRyYWlsaW5nQ29u
dGVudC5yZXNldCgpOwogICAgICAgICBpZiAoIW1fc2hvdWxkSWdub3JlVHJhaWxpbmdMZXR0ZXJT
cGFjaW5nICYmICFpbmxpbmVJdGVtLmlzV2hpdGVzcGFjZSgpICYmIGlubGluZUl0ZW0uc3R5bGUo
KS5sZXR0ZXJTcGFjaW5nKCkgPiAwKQotICAgICAgICAgICAgbV9jb2xsYXBzaWJsZUNvbnRlbnQu
YXBwZW5kKG1faW5saW5lSXRlbVJ1bnMuc2l6ZSgpIC0gMSk7CisgICAgICAgICAgICBtX3RyaW1t
YWJsZVRyYWlsaW5nQ29udGVudC5hcHBlbmQobV9pbmxpbmVJdGVtUnVucy5zaXplKCkgLSAxKTsK
ICAgICB9CiB9CiAKQEAgLTY4NCw3ICs2ODQsNyBAQCB2b2lkIExpbmVCdWlsZGVyOjphcHBlbmRO
b25SZXBsYWNlZElubGluZUJveChjb25zdCBJbmxpbmVJdGVtJiBpbmxpbmVJdGVtLCBJbmxpbgog
ICAgIGF1dG8gaG9yaXpvbnRhbE1hcmdpbiA9IGJveEdlb21ldHJ5Lmhvcml6b250YWxNYXJnaW4o
KTsKICAgICBtX2lubGluZUl0ZW1SdW5zLmFwcGVuZCh7IGlubGluZUl0ZW0sIGNvbnRlbnRMb2dp
Y2FsV2lkdGgoKSArIGhvcml6b250YWxNYXJnaW4uc3RhcnQsIGxvZ2ljYWxXaWR0aCB9KTsKICAg
ICBtX2xpbmVCb3guZXhwYW5kSG9yaXpvbnRhbGx5KGxvZ2ljYWxXaWR0aCArIGhvcml6b250YWxN
YXJnaW4uc3RhcnQgKyBob3Jpem9udGFsTWFyZ2luLmVuZCk7Ci0gICAgbV9jb2xsYXBzaWJsZUNv
bnRlbnQucmVzZXQoKTsKKyAgICBtX3RyaW1tYWJsZVRyYWlsaW5nQ29udGVudC5yZXNldCgpOwog
fQogCiB2b2lkIExpbmVCdWlsZGVyOjphcHBlbmRSZXBsYWNlZElubGluZUJveChjb25zdCBJbmxp
bmVJdGVtJiBpbmxpbmVJdGVtLCBJbmxpbmVMYXlvdXRVbml0IGxvZ2ljYWxXaWR0aCkKQEAgLTg2
Niw5MCArODY2LDkwIEBAIGNvbnN0IElubGluZUZvcm1hdHRpbmdDb250ZXh0JiBMaW5lQnVpbGRl
cjo6Zm9ybWF0dGluZ0NvbnRleHQoKSBjb25zdAogICAgIHJldHVybiBtX2lubGluZUZvcm1hdHRp
bmdDb250ZXh0OwogfQogCi1MaW5lQnVpbGRlcjo6Q29sbGFwc2libGVDb250ZW50OjpDb2xsYXBz
aWJsZUNvbnRlbnQoSW5saW5lSXRlbVJ1bkxpc3QmIGlubGluZUl0ZW1SdW5MaXN0KQorTGluZUJ1
aWxkZXI6OlRyaW1tYWJsZVRyYWlsaW5nQ29udGVudDo6VHJpbW1hYmxlVHJhaWxpbmdDb250ZW50
KElubGluZUl0ZW1SdW5MaXN0JiBpbmxpbmVJdGVtUnVuTGlzdCkKICAgICA6IG1faW5saW5laXRl
bVJ1bkxpc3QoaW5saW5lSXRlbVJ1bkxpc3QpCiB7CiB9CiAKLXZvaWQgTGluZUJ1aWxkZXI6OkNv
bGxhcHNpYmxlQ29udGVudDo6YXBwZW5kKHNpemVfdCBydW5JbmRleCkKK3ZvaWQgTGluZUJ1aWxk
ZXI6OlRyaW1tYWJsZVRyYWlsaW5nQ29udGVudDo6YXBwZW5kKHNpemVfdCBydW5JbmRleCkKIHsK
LSAgICBhdXRvJiBjb2xsYXBzaWJsZVJ1biA9IG1faW5saW5laXRlbVJ1bkxpc3RbcnVuSW5kZXhd
OwotICAgIElubGluZUxheW91dFVuaXQgY29sbGFwc2libGVXaWR0aCA9IDA7Ci0gICAgYXV0byBp
c0Z1bGx5Q29sbGFwc2libGUgPSBjb2xsYXBzaWJsZVJ1bi5pc0NvbGxhcHNpYmxlV2hpdGVzcGFj
ZSgpOwotICAgIGlmIChpc0Z1bGx5Q29sbGFwc2libGUpCi0gICAgICAgIGNvbGxhcHNpYmxlV2lk
dGggPSBjb2xsYXBzaWJsZVJ1bi5sb2dpY2FsV2lkdGgoKTsKKyAgICBhdXRvJiB0cmltbWFibGVS
dW4gPSBtX2lubGluZWl0ZW1SdW5MaXN0W3J1bkluZGV4XTsKKyAgICBJbmxpbmVMYXlvdXRVbml0
IHRyaW1tYWJsZVdpZHRoID0gMDsKKyAgICBhdXRvIGlzRnVsbHlUcmltbWFibGUgPSB0cmltbWFi
bGVSdW4uaXNUcmltbWFibGVXaGl0ZXNwYWNlKCk7CisgICAgaWYgKGlzRnVsbHlUcmltbWFibGUp
CisgICAgICAgIHRyaW1tYWJsZVdpZHRoID0gdHJpbW1hYmxlUnVuLmxvZ2ljYWxXaWR0aCgpOwog
ICAgIGVsc2UgewotICAgICAgICBBU1NFUlQoY29sbGFwc2libGVSdW4uaGFzVHJhaWxpbmdMZXR0
ZXJTcGFjaW5nKCkpOwotICAgICAgICBjb2xsYXBzaWJsZVdpZHRoID0gY29sbGFwc2libGVSdW4u
dHJhaWxpbmdMZXR0ZXJTcGFjaW5nKCk7CisgICAgICAgIEFTU0VSVCh0cmltbWFibGVSdW4uaGFz
VHJhaWxpbmdMZXR0ZXJTcGFjaW5nKCkpOworICAgICAgICB0cmltbWFibGVXaWR0aCA9IHRyaW1t
YWJsZVJ1bi50cmFpbGluZ0xldHRlclNwYWNpbmcoKTsKICAgICB9Ci0gICAgbV93aWR0aCArPSBj
b2xsYXBzaWJsZVdpZHRoOwotICAgIG1fbGFzdFJ1bklzRnVsbHlDb2xsYXBzaWJsZSA9IGlzRnVs
bHlDb2xsYXBzaWJsZTsKKyAgICBtX3dpZHRoICs9IHRyaW1tYWJsZVdpZHRoOworICAgIG1fbGFz
dFJ1bklzRnVsbHlUcmltbWFibGUgPSBpc0Z1bGx5VHJpbW1hYmxlOwogICAgIG1fZmlyc3RSdW5J
bmRleCA9IG1fZmlyc3RSdW5JbmRleC52YWx1ZU9yKHJ1bkluZGV4KTsKIH0KIAotSW5saW5lTGF5
b3V0VW5pdCBMaW5lQnVpbGRlcjo6Q29sbGFwc2libGVDb250ZW50Ojpjb2xsYXBzZSgpCitJbmxp
bmVMYXlvdXRVbml0IExpbmVCdWlsZGVyOjpUcmltbWFibGVUcmFpbGluZ0NvbnRlbnQ6OnJlbW92
ZSgpCiB7CiAgICAgQVNTRVJUKCFpc0VtcHR5KCkpOwogI2lmIEFTU0VSVF9FTkFCTEVECiAgICAg
YXV0byBoYXNTZWVuTm9uV2hpdGVzcGFjZVRleHRDb250ZW50ID0gZmFsc2U7CiAjZW5kaWYKLSAg
ICAvLyBDb2xsYXBzZSBjb2xsYXBzaWJsZSB0cmFpbGluZyBjb250ZW50IGFuZCBtb3ZlIGFsbCB0
aGUgb3RoZXIgdHJhaWxpbmcgcnVucy4KKyAgICAvLyBSZW1vdmUgdHJpbW1hYmxlIHRyYWlsaW5n
IGNvbnRlbnQgYW5kIG1vdmUgYWxsIHRoZSBvdGhlciB0cmFpbGluZyBydW5zLgogICAgIC8vIDxz
cGFuPiA8L3NwYW4+PHNwYW4+PC9zcGFuPiAtPgogICAgIC8vIFt3aGl0ZXNwYWNlXVtjb250YWlu
ZXIgZW5kXVtjb250YWluZXIgc3RhcnRdW2NvbnRhaW5lciBlbmRdCi0gICAgLy8gQ29sbGFwc2Ug
dGhlIHdoaXRlc3BhY2UgcnVuIGFuZCBtb3ZlIHRoZSB0cmFpbGluZyBpbmxpbmUgY29udGFpbmVy
IHJ1bnMgdG8gdGhlIGxlZnQuCi0gICAgSW5saW5lTGF5b3V0VW5pdCBhY2N1bXVsYXRlZENvbGxh
cHNlZFdpZHRoID0gMDsKKyAgICAvLyBSZW1vdmUgdGhlIHdoaXRlc3BhY2UgcnVuIGFuZCBtb3Zl
IHRoZSB0cmFpbGluZyBpbmxpbmUgY29udGFpbmVyIHJ1bnMgdG8gdGhlIGxlZnQuCisgICAgSW5s
aW5lTGF5b3V0VW5pdCBhY2N1bXVsYXRlZFRyaW1tZWRXaWR0aCA9IDA7CiAgICAgZm9yIChhdXRv
IGluZGV4ID0gKm1fZmlyc3RSdW5JbmRleDsgaW5kZXggPCBtX2lubGluZWl0ZW1SdW5MaXN0LnNp
emUoKTsgKytpbmRleCkgewogICAgICAgICBhdXRvJiBydW4gPSBtX2lubGluZWl0ZW1SdW5MaXN0
W2luZGV4XTsKLSAgICAgICAgcnVuLm1vdmVIb3Jpem9udGFsbHkoLWFjY3VtdWxhdGVkQ29sbGFw
c2VkV2lkdGgpOworICAgICAgICBydW4ubW92ZUhvcml6b250YWxseSgtYWNjdW11bGF0ZWRUcmlt
bWVkV2lkdGgpOwogICAgICAgICBpZiAoIXJ1bi5pc1RleHQoKSkgewogICAgICAgICAgICAgQVNT
RVJUKHJ1bi5pc0NvbnRhaW5lclN0YXJ0KCkgfHwgcnVuLmlzQ29udGFpbmVyRW5kKCkgfHwgcnVu
LmlzTGluZUJyZWFrKCkpOwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KICAgICAg
ICAgaWYgKHJ1bi5pc1doaXRlc3BhY2UoKSkgewotICAgICAgICAgICAgYWNjdW11bGF0ZWRDb2xs
YXBzZWRXaWR0aCArPSBydW4ubG9naWNhbFdpZHRoKCk7CisgICAgICAgICAgICBhY2N1bXVsYXRl
ZFRyaW1tZWRXaWR0aCArPSBydW4ubG9naWNhbFdpZHRoKCk7CiAgICAgICAgICAgICBydW4uc2V0
Q29sbGFwc2VzVG9aZXJvQWR2YW5jZVdpZHRoKCk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAg
ICAgICBBU1NFUlQoIWhhc1NlZW5Ob25XaGl0ZXNwYWNlVGV4dENvbnRlbnQpOwogI2lmIEFTU0VS
VF9FTkFCTEVECiAgICAgICAgICAgICBoYXNTZWVuTm9uV2hpdGVzcGFjZVRleHRDb250ZW50ID0g
dHJ1ZTsKICNlbmRpZgotICAgICAgICAgICAgLy8gTXVzdCBiZSBhIGxldHRlciBzcGFjaW5nIGNv
bGxhcHNlLgorICAgICAgICAgICAgLy8gTXVzdCBiZSBhIGxldHRlciBzcGFjaW5nIHRyaW1taW5n
LgogICAgICAgICAgICAgQVNTRVJUKHJ1bi5oYXNUcmFpbGluZ0xldHRlclNwYWNpbmcoKSk7Ci0g
ICAgICAgICAgICBhY2N1bXVsYXRlZENvbGxhcHNlZFdpZHRoICs9IHJ1bi50cmFpbGluZ0xldHRl
clNwYWNpbmcoKTsKKyAgICAgICAgICAgIGFjY3VtdWxhdGVkVHJpbW1lZFdpZHRoICs9IHJ1bi50
cmFpbGluZ0xldHRlclNwYWNpbmcoKTsKICAgICAgICAgICAgIHJ1bi5yZW1vdmVUcmFpbGluZ0xl
dHRlclNwYWNpbmcoKTsKICAgICAgICAgfQogICAgIH0KLSAgICBBU1NFUlQoYWNjdW11bGF0ZWRD
b2xsYXBzZWRXaWR0aCA9PSB3aWR0aCgpKTsKKyAgICBBU1NFUlQoYWNjdW11bGF0ZWRUcmltbWVk
V2lkdGggPT0gd2lkdGgoKSk7CiAgICAgcmVzZXQoKTsKLSAgICByZXR1cm4gYWNjdW11bGF0ZWRD
b2xsYXBzZWRXaWR0aDsKKyAgICByZXR1cm4gYWNjdW11bGF0ZWRUcmltbWVkV2lkdGg7CiB9CiAK
LUlubGluZUxheW91dFVuaXQgTGluZUJ1aWxkZXI6OkNvbGxhcHNpYmxlQ29udGVudDo6Y29sbGFw
c2VUcmFpbGluZ1J1bigpCitJbmxpbmVMYXlvdXRVbml0IExpbmVCdWlsZGVyOjpUcmltbWFibGVU
cmFpbGluZ0NvbnRlbnQ6OnJlbW92ZVRyYWlsaW5nUnVuKCkKIHsKICAgICBBU1NFUlQoIWlzRW1w
dHkoKSk7Ci0gICAgLy8gRmluZCB0aGUgbGFzdCBjb2xsYXBzaWJsZSBydW4gKGl0IGlzIG5vdCBu
ZWNlc3NhcmlseSB0aGUgbGFzdCBydW4gZS5nIFtjb250YWluZXIgc3RhcnRdW3doaXRlc3BhY2Vd
W2NvbnRhaW5lciBlbmRdKQorICAgIC8vIEZpbmQgdGhlIGxhc3QgdHJpbW1hYmxlIHJ1biAoaXQg
aXMgbm90IG5lY2Vzc2FyaWx5IHRoZSBsYXN0IHJ1biBlLmcgW2NvbnRhaW5lciBzdGFydF1bd2hp
dGVzcGFjZV1bY29udGFpbmVyIGVuZF0pCiAgICAgZm9yIChhdXRvIGluZGV4ID0gbV9pbmxpbmVp
dGVtUnVuTGlzdC5zaXplKCk7IGluZGV4LS0gJiYgKm1fZmlyc3RSdW5JbmRleCA+PSBpbmRleDsp
IHsKICAgICAgICAgYXV0byYgcnVuID0gbV9pbmxpbmVpdGVtUnVuTGlzdFtpbmRleF07CiAgICAg
ICAgIGlmICghcnVuLmlzVGV4dCgpKSB7CiAgICAgICAgICAgICBBU1NFUlQocnVuLmlzQ29udGFp
bmVyU3RhcnQoKSB8fCBydW4uaXNDb250YWluZXJFbmQoKSk7CiAgICAgICAgICAgICBjb250aW51
ZTsKICAgICAgICAgfQotICAgICAgICBJbmxpbmVMYXlvdXRVbml0IGNvbGxhcHNlZFdpZHRoID0g
MDsKKyAgICAgICAgSW5saW5lTGF5b3V0VW5pdCB0cmltbWVkV2lkdGggPSAwOwogICAgICAgICBp
ZiAocnVuLmlzV2hpdGVzcGFjZSgpKSB7Ci0gICAgICAgICAgICBjb2xsYXBzZWRXaWR0aCA9IHJ1
bi5sb2dpY2FsV2lkdGgoKTsKKyAgICAgICAgICAgIHRyaW1tZWRXaWR0aCA9IHJ1bi5sb2dpY2Fs
V2lkdGgoKTsKICAgICAgICAgICAgIHJ1bi5zZXRDb2xsYXBzZXNUb1plcm9BZHZhbmNlV2lkdGgo
KTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIEFTU0VSVChydW4uaGFzVHJhaWxpbmdM
ZXR0ZXJTcGFjaW5nKCkpOwotICAgICAgICAgICAgY29sbGFwc2VkV2lkdGggPSBydW4udHJhaWxp
bmdMZXR0ZXJTcGFjaW5nKCk7CisgICAgICAgICAgICB0cmltbWVkV2lkdGggPSBydW4udHJhaWxp
bmdMZXR0ZXJTcGFjaW5nKCk7CiAgICAgICAgICAgICBydW4ucmVtb3ZlVHJhaWxpbmdMZXR0ZXJT
cGFjaW5nKCk7CiAgICAgICAgIH0KLSAgICAgICAgbV93aWR0aCAtPSBjb2xsYXBzZWRXaWR0aDsK
LSAgICAgICAgLy8gV2UgbWFuYWdlZCB0byByZW1vdmUgdGhlIGxhc3QgY29sbGFwc2libGUgcnVu
LgorICAgICAgICBtX3dpZHRoIC09IHRyaW1tZWRXaWR0aDsKKyAgICAgICAgLy8gV2UgbWFuYWdl
ZCB0byByZW1vdmUgdGhlIGxhc3QgdHJpbW1hYmxlIHJ1bi4KICAgICAgICAgaWYgKGluZGV4ID09
ICptX2ZpcnN0UnVuSW5kZXgpIHsKICAgICAgICAgICAgIEFTU0VSVCghbV93aWR0aCk7CiAgICAg
ICAgICAgICBtX2ZpcnN0UnVuSW5kZXggPSB7IH07CiAgICAgICAgIH0KLSAgICAgICAgcmV0dXJu
IGNvbGxhcHNlZFdpZHRoOworICAgICAgICByZXR1cm4gdHJpbW1lZFdpZHRoOwogICAgIH0KICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICByZXR1cm4gMF9sdTsKQEAgLTk3Miw3ICs5NzIs
NyBAQCBMaW5lQnVpbGRlcjo6SW5saW5lSXRlbVJ1bjo6SW5saW5lSXRlbVJ1bihjb25zdCBJbmxp
bmVJdGVtJiBpbmxpbmVJdGVtLCBJbmxpbmVMYQogewogfQogCi1ib29sIExpbmVCdWlsZGVyOjpJ
bmxpbmVJdGVtUnVuOjppc0NvbGxhcHNpYmxlV2hpdGVzcGFjZSgpIGNvbnN0Citib29sIExpbmVC
dWlsZGVyOjpJbmxpbmVJdGVtUnVuOjppc1RyaW1tYWJsZVdoaXRlc3BhY2UoKSBjb25zdAogewog
ICAgIC8vIFJldHVybiB0cnVlIGlmIHRoZSAiZW5kLW9mLWxpbmUgc3BhY2VzIiBjYW4gYmUgcmVt
b3ZlZC4KICAgICAvLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy10ZXh0LTMvI3doaXRl
LXNwYWNlLXByb3BlcnR5IG1hdHJpeC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCdWlsZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQnVpbGRlci5oCmluZGV4IGY3OGE2MTRk
OGY0YTk0MmZlZjg3Y2ZhODg4NDRkNjY3NDEwYzU3NGUuLjhmZjU5Y2M1NzNhYzNlMmNmYTg4MjQx
YmU3NmZmYWFkOTcyNTQwMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxp
bmVmb3JtYXR0aW5nL0lubGluZUxpbmVCdWlsZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJ1aWxkZXIuaApAQCAtNjUsOCArNjUsOCBA
QCBwdWJsaWM6CiAgICAgYm9vbCBoYXNJbnRydXNpdmVGbG9hdCgpIGNvbnN0IHsgcmV0dXJuIG1f
aGFzSW50cnVzaXZlRmxvYXQ7IH0KICAgICBJbmxpbmVMYXlvdXRVbml0IGF2YWlsYWJsZVdpZHRo
KCkgY29uc3QgeyByZXR1cm4gbG9naWNhbFdpZHRoKCkgLSBjb250ZW50TG9naWNhbFdpZHRoKCk7
IH0KIAotICAgIElubGluZUxheW91dFVuaXQgdHJhaWxpbmdDb2xsYXBzaWJsZVdpZHRoKCkgY29u
c3QgeyByZXR1cm4gbV9jb2xsYXBzaWJsZUNvbnRlbnQud2lkdGgoKTsgfQotICAgIGJvb2wgaXNU
cmFpbGluZ1J1bkZ1bGx5Q29sbGFwc2libGUoKSBjb25zdCB7IHJldHVybiBtX2NvbGxhcHNpYmxl
Q29udGVudC5pc1RyYWlsaW5nUnVuRnVsbHlDb2xsYXBzaWJsZSgpOyB9CisgICAgSW5saW5lTGF5
b3V0VW5pdCB0cmltbWFibGVUcmFpbGluZ1dpZHRoKCkgY29uc3QgeyByZXR1cm4gbV90cmltbWFi
bGVUcmFpbGluZ0NvbnRlbnQud2lkdGgoKTsgfQorICAgIGJvb2wgaXNUcmFpbGluZ1J1bkZ1bGx5
VHJpbW1hYmxlKCkgY29uc3QgeyByZXR1cm4gbV90cmltbWFibGVUcmFpbGluZ0NvbnRlbnQuaXNU
cmFpbGluZ1J1bkZ1bGx5VHJpbW1hYmxlKCk7IH0KIAogICAgIGNvbnN0IERpc3BsYXk6OkxpbmVC
b3gmIGxpbmVCb3goKSBjb25zdCB7IHJldHVybiBtX2xpbmVCb3g7IH0KICAgICB2b2lkIG1vdmVM
b2dpY2FsTGVmdChJbmxpbmVMYXlvdXRVbml0KTsKQEAgLTE0MSw3ICsxNDEsNyBAQCBwcml2YXRl
OgogICAgIHZvaWQgYXBwZW5kSW5saW5lQ29udGFpbmVyRW5kKGNvbnN0IElubGluZUl0ZW0mLCBJ
bmxpbmVMYXlvdXRVbml0IGxvZ2ljYWxXaWR0aCk7CiAgICAgdm9pZCBhcHBlbmRMaW5lQnJlYWso
Y29uc3QgSW5saW5lSXRlbSYpOwogCi0gICAgdm9pZCByZW1vdmVUcmFpbGluZ0NvbGxhcHNpYmxl
Q29udGVudCgpOworICAgIHZvaWQgcmVtb3ZlVHJhaWxpbmdUcmltbWFibGVDb250ZW50KCk7CiAg
ICAgdm9pZCB2aXN1YWxseUNvbGxhcHNlUHJlV3JhcE92ZXJmbG93Q29udGVudCgpOwogICAgIEhh
bmdpbmdDb250ZW50IGNvbGxlY3RIYW5naW5nQ29udGVudChJc0xhc3RMaW5lV2l0aElubGluZUNv
bnRlbnQpOwogICAgIHZvaWQgYWxpZ25Ib3Jpem9udGFsbHkoUnVuTGlzdCYsIGNvbnN0IEhhbmdp
bmdDb250ZW50JiwgSXNMYXN0TGluZVdpdGhJbmxpbmVDb250ZW50KTsKQEAgLTE4Miw3ICsxODIs
NyBAQCBwcml2YXRlOgogICAgICAgICB2b2lkIG1vdmVIb3Jpem9udGFsbHkoSW5saW5lTGF5b3V0
VW5pdCBvZmZzZXQpIHsgbV9sb2dpY2FsTGVmdCArPSBvZmZzZXQ7IH0KICAgICAgICAgdm9pZCBh
ZGp1c3RMb2dpY2FsV2lkdGgoSW5saW5lTGF5b3V0VW5pdCBhZGp1c3RlZFdpZHRoKSB7IG1fbG9n
aWNhbFdpZHRoID0gYWRqdXN0ZWRXaWR0aDsgfQogCi0gICAgICAgIGJvb2wgaXNDb2xsYXBzaWJs
ZVdoaXRlc3BhY2UoKSBjb25zdDsKKyAgICAgICAgYm9vbCBpc1RyaW1tYWJsZVdoaXRlc3BhY2Uo
KSBjb25zdDsKICAgICAgICAgYm9vbCBoYXNUcmFpbGluZ0xldHRlclNwYWNpbmcoKSBjb25zdDsK
IAogICAgICAgICBJbmxpbmVMYXlvdXRVbml0IHRyYWlsaW5nTGV0dGVyU3BhY2luZygpIGNvbnN0
OwpAQCAtMjExLDQ1ICsyMTEsNDUgQEAgcHJpdmF0ZToKIAogICAgIHVzaW5nIElubGluZUl0ZW1S
dW5MaXN0ID0gVmVjdG9yPElubGluZUl0ZW1SdW4sIDUwPjsKIAotICAgIHN0cnVjdCBDb2xsYXBz
aWJsZUNvbnRlbnQgewotICAgICAgICBDb2xsYXBzaWJsZUNvbnRlbnQoSW5saW5lSXRlbVJ1bkxp
c3QmKTsKKyAgICBzdHJ1Y3QgVHJpbW1hYmxlVHJhaWxpbmdDb250ZW50IHsKKyAgICAgICAgVHJp
bW1hYmxlVHJhaWxpbmdDb250ZW50KElubGluZUl0ZW1SdW5MaXN0Jik7CiAKICAgICAgICAgdm9p
ZCBhcHBlbmQoc2l6ZV90IHJ1bkluZGV4KTsKLSAgICAgICAgSW5saW5lTGF5b3V0VW5pdCBjb2xs
YXBzZSgpOwotICAgICAgICBJbmxpbmVMYXlvdXRVbml0IGNvbGxhcHNlVHJhaWxpbmdSdW4oKTsK
KyAgICAgICAgSW5saW5lTGF5b3V0VW5pdCByZW1vdmUoKTsKKyAgICAgICAgSW5saW5lTGF5b3V0
VW5pdCByZW1vdmVUcmFpbGluZ1J1bigpOwogICAgICAgICB2b2lkIHJlc2V0KCk7CiAKICAgICAg
ICAgSW5saW5lTGF5b3V0VW5pdCB3aWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1fd2lkdGg7IH0KICAg
ICAgICAgT3B0aW9uYWw8c2l6ZV90PiBmaXJzdFJ1bkluZGV4KCkgeyByZXR1cm4gbV9maXJzdFJ1
bkluZGV4OyB9CiAgICAgICAgIGJvb2wgaXNFbXB0eSgpIGNvbnN0IHsgcmV0dXJuICFtX2ZpcnN0
UnVuSW5kZXguaGFzVmFsdWUoKTsgfQotICAgICAgICBib29sIGlzVHJhaWxpbmdSdW5GdWxseUNv
bGxhcHNpYmxlKCkgY29uc3QgeyByZXR1cm4gbV9sYXN0UnVuSXNGdWxseUNvbGxhcHNpYmxlOyB9
Ci0gICAgICAgIGJvb2wgaXNUcmFpbGluZ1J1blBhcnRpYWxseUNvbGxhcHNpYmxlKCkgY29uc3Qg
eyByZXR1cm4gIWlzRW1wdHkoKSAmJiAhaXNUcmFpbGluZ1J1bkZ1bGx5Q29sbGFwc2libGUoKTsg
fQorICAgICAgICBib29sIGlzVHJhaWxpbmdSdW5GdWxseVRyaW1tYWJsZSgpIGNvbnN0IHsgcmV0
dXJuIG1fbGFzdFJ1bklzRnVsbHlUcmltbWFibGU7IH0KKyAgICAgICAgYm9vbCBpc1RyYWlsaW5n
UnVuUGFydGlhbGx5VHJpbW1hYmxlKCkgY29uc3QgeyByZXR1cm4gIWlzRW1wdHkoKSAmJiAhaXNU
cmFpbGluZ1J1bkZ1bGx5VHJpbW1hYmxlKCk7IH0KIAogICAgIHByaXZhdGU6CiAgICAgICAgIElu
bGluZUl0ZW1SdW5MaXN0JiBtX2lubGluZWl0ZW1SdW5MaXN0OwogICAgICAgICBPcHRpb25hbDxz
aXplX3Q+IG1fZmlyc3RSdW5JbmRleDsKICAgICAgICAgSW5saW5lTGF5b3V0VW5pdCBtX3dpZHRo
IHsgMCB9OwotICAgICAgICBib29sIG1fbGFzdFJ1bklzRnVsbHlDb2xsYXBzaWJsZSB7IGZhbHNl
IH07CisgICAgICAgIGJvb2wgbV9sYXN0UnVuSXNGdWxseVRyaW1tYWJsZSB7IGZhbHNlIH07CiAg
ICAgfTsKIAogICAgIGNvbnN0IElubGluZUZvcm1hdHRpbmdDb250ZXh0JiBtX2lubGluZUZvcm1h
dHRpbmdDb250ZXh0OwogICAgIElubGluZUl0ZW1SdW5MaXN0IG1faW5saW5lSXRlbVJ1bnM7Ci0g
ICAgQ29sbGFwc2libGVDb250ZW50IG1fY29sbGFwc2libGVDb250ZW50OworICAgIFRyaW1tYWJs
ZVRyYWlsaW5nQ29udGVudCBtX3RyaW1tYWJsZVRyYWlsaW5nQ29udGVudDsKICAgICBPcHRpb25h
bDxEaXNwbGF5OjpMaW5lQm94OjpCYXNlbGluZT4gbV9pbml0aWFsU3RydXQ7CiAgICAgSW5saW5l
TGF5b3V0VW5pdCBtX2xpbmVMb2dpY2FsV2lkdGggeyAwIH07CiAgICAgT3B0aW9uYWw8VGV4dEFs
aWduTW9kZT4gbV9ob3Jpem9udGFsQWxpZ25tZW50OwogICAgIGJvb2wgbV9pc0ludHJpbnNpY1Np
emluZyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2hhc0ludHJ1c2l2ZUZsb2F0IHsgZmFsc2UgfTsK
ICAgICBEaXNwbGF5OjpMaW5lQm94IG1fbGluZUJveDsKLSAgICBPcHRpb25hbDxib29sPiBtX2xp
bmVJc1Zpc3VhbGx5RW1wdHlCZWZvcmVDb2xsYXBzaWJsZUNvbnRlbnQ7CisgICAgT3B0aW9uYWw8
Ym9vbD4gbV9saW5lSXNWaXN1YWxseUVtcHR5QmVmb3JlVHJpbW1hYmxlVHJhaWxpbmdDb250ZW50
OwogICAgIGJvb2wgbV9zaG91bGRJZ25vcmVUcmFpbGluZ0xldHRlclNwYWNpbmcgeyBmYWxzZSB9
OwogfTsKIAotaW5saW5lIHZvaWQgTGluZUJ1aWxkZXI6OkNvbGxhcHNpYmxlQ29udGVudDo6cmVz
ZXQoKQoraW5saW5lIHZvaWQgTGluZUJ1aWxkZXI6OlRyaW1tYWJsZVRyYWlsaW5nQ29udGVudDo6
cmVzZXQoKQogewogICAgIG1fZmlyc3RSdW5JbmRleCA9IHsgfTsKICAgICBtX3dpZHRoID0gMF9s
dTsKLSAgICBtX2xhc3RSdW5Jc0Z1bGx5Q29sbGFwc2libGUgPSBmYWxzZTsKKyAgICBtX2xhc3RS
dW5Jc0Z1bGx5VHJpbW1hYmxlID0gZmFsc2U7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0xpbmVMYXlvdXRDb250ZXh0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0xpbmVMYXlvdXRDb250ZXh0LmNw
cAppbmRleCBiN2FhYjMxODczMWIwZjFmMWY3MDE0YTc3YTlmNDNjMDBiMGMxZTllLi44MDU2NmE3
ZDhjNTQ1MjAwNDJjMTQ1NTk1MDU3NzFkN2Q3ZjM2OTY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9MaW5lTGF5b3V0Q29udGV4dC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvTGluZUxheW91dENvbnRleHQu
Y3BwCkBAIC0zODUsNyArMzg1LDcgQEAgTGluZUxheW91dENvbnRleHQ6OlJlc3VsdCBMaW5lTGF5
b3V0Q29udGV4dDo6dHJ5QWRkaW5nRmxvYXRJdGVtcyhMaW5lQnVpbGRlciYgbGkKICAgICAgICAg
YXV0byBsb2dpY2FsV2lkdGggPSBpbmxpbmVJdGVtV2lkdGgoKmZsb2F0SXRlbSwgeyB9KTsKIAog
ICAgICAgICBhdXRvIGxpbmVJc0NvbnNpZGVyZWRFbXB0eSA9IGxpbmUuaXNWaXN1YWxseUVtcHR5
KCkgJiYgIWxpbmUuaGFzSW50cnVzaXZlRmxvYXQoKTsKLSAgICAgICAgaWYgKExpbmVCcmVha2Vy
KCkuc2hvdWxkV3JhcEZsb2F0Qm94KGxvZ2ljYWxXaWR0aCwgbGluZS5hdmFpbGFibGVXaWR0aCgp
ICsgbGluZS50cmFpbGluZ0NvbGxhcHNpYmxlV2lkdGgoKSwgbGluZUlzQ29uc2lkZXJlZEVtcHR5
KSkKKyAgICAgICAgaWYgKExpbmVCcmVha2VyKCkuc2hvdWxkV3JhcEZsb2F0Qm94KGxvZ2ljYWxX
aWR0aCwgbGluZS5hdmFpbGFibGVXaWR0aCgpICsgbGluZS50cmltbWFibGVUcmFpbGluZ1dpZHRo
KCksIGxpbmVJc0NvbnNpZGVyZWRFbXB0eSkpCiAgICAgICAgICAgICByZXR1cm4geyBMaW5lQnJl
YWtlcjo6SXNFbmRPZkxpbmU6OlllcywgY29tbWl0dGVkRmxvYXRJdGVtQ291bnQgfTsKICAgICAg
ICAgLy8gVGhpcyBmbG9hdCBjYW4gc2l0IG9uIHRoZSBjdXJyZW50IGxpbmUuCiAgICAgICAgICsr
Y29tbWl0dGVkRmxvYXRJdGVtQ291bnQ7CkBAIC00MDksNyArNDA5LDcgQEAgTGluZUxheW91dENv
bnRleHQ6OlJlc3VsdCBMaW5lTGF5b3V0Q29udGV4dDo6dHJ5QWRkaW5nSW5saW5lSXRlbXMoTGlu
ZUJyZWFrZXImIGwKICAgICAgICAgcmV0dXJuIG1fc3VjY2Vzc2l2ZUh5cGhlbmF0ZWRMaW5lQ291
bnQgPj0gbGltaXRMaW5lczsKICAgICB9OwogICAgIC8vIENoZWNrIGlmIHRoaXMgbmV3IGNvbnRl
bnQgZml0cy4KLSAgICBhdXRvIGxpbmVTdGF0dXMgPSBMaW5lQnJlYWtlcjo6TGluZVN0YXR1cyB7
IGxpbmUuYXZhaWxhYmxlV2lkdGgoKSwgbGluZS50cmFpbGluZ0NvbGxhcHNpYmxlV2lkdGgoKSwg
bGluZS5pc1RyYWlsaW5nUnVuRnVsbHlDb2xsYXBzaWJsZSgpLCBpc0xpbmVDb25zaWRlcmVkRW1w
dHkobGluZSkgfTsKKyAgICBhdXRvIGxpbmVTdGF0dXMgPSBMaW5lQnJlYWtlcjo6TGluZVN0YXR1
cyB7IGxpbmUuYXZhaWxhYmxlV2lkdGgoKSwgbGluZS50cmltbWFibGVUcmFpbGluZ1dpZHRoKCks
IGxpbmUuaXNUcmFpbGluZ1J1bkZ1bGx5VHJpbW1hYmxlKCksIGlzTGluZUNvbnNpZGVyZWRFbXB0
eShsaW5lKSB9OwogCiAgICAgaWYgKHNob3VsZERpc2FibGVIeXBoZW5hdGlvbigpKQogICAgICAg
ICBsaW5lQnJlYWtlci5zZXRIeXBoZW5hdGlvbkRpc2FibGVkKCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>