<?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>204872</bug_id>
          
          <creation_ts>2019-12-04 20:44:21 -0800</creation_ts>
          <short_desc>[LFC][IFC] Move trailing trimming logic to LineBuilder::TrimmableContent</short_desc>
          <delta_ts>2019-12-05 06:11:12 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1595704</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-12-04 20:44:21 -0800</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595705</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-12-04 20:44:51 -0800</bug_when>
    <thetext>&lt;rdar://problem/57652365&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595707</commentid>
    <comment_count>2</comment_count>
      <attachid>384878</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-12-04 20:49:52 -0800</bug_when>
    <thetext>Created attachment 384878
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595783</commentid>
    <comment_count>3</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-12-05 06:11:12 -0800</bug_when>
    <thetext>Committed r253147: &lt;https://trac.webkit.org/changeset/253147&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384878</attachid>
            <date>2019-12-04 20:49:52 -0800</date>
            <delta_ts>2019-12-05 04:05:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204872-20191204204952.patch</filename>
            <type>text/plain</type>
            <size>19819</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzMDgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjY4MjgwYmY0MDQzZjBk
YTRlMDJlM2Y3NDY1N2Y2ZWY4N2RkODFlZC4uNDIxOGIwNzAxNTkwNjllOGUxZWM4Y2Q0Y2ZiNzIy
NGRkNGY4NzYzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE5LTEyLTA0ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBNb3ZlIHRy
YWlsaW5nIHRyaW1taW5nIGxvZ2ljIHRvIExpbmVCdWlsZGVyOjpUcmltbWFibGVDb250ZW50Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDQ4NzIKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU3NjUyMzY1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vdmUgdHJpbW1pbmcgbG9naWMgZnJvbSBMaW5lQnVp
bGRlcjo6cmVtb3ZlVHJhaWxpbmdUcmltbWFibGVDb250ZW50IHRvIGluc2lkZSBUcmltbWFibGVD
b250ZW50LgorICAgICAgICBUaGlzIGlzIGFsc28gaW4gcHJlcGFyYXRpb24gZm9yIGFkZGluZyBw
YXJ0aWFsIHRyaW1taW5nIGF0IGlubGluZSBjb250YWluZXIgYm91bmRhcnkuIAorCisgICAgICAg
ICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJyZWFrZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQnJlYWtlcjo6YnJlYWtpbmdDb250ZXh0Rm9ySW5saW5l
Q29udGVudCk6CisgICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJy
ZWFrZXIuaDoKKyAgICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQnVp
bGRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCdWlsZGVyOjpMaW5lQnVp
bGRlcik6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCdWlsZGVyOjppbml0aWFsaXpl
KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OnJlbW92ZVRyYWlsaW5n
VHJpbW1hYmxlQ29udGVudCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCdWlsZGVy
OjphcHBlbmRUZXh0Q29udGVudCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCdWls
ZGVyOjphcHBlbmROb25SZXBsYWNlZElubGluZUJveCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXQ6OkxpbmVCdWlsZGVyOjpUcmltbWFibGVDb250ZW50OjpUcmltbWFibGVDb250ZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OlRyaW1tYWJsZUNvbnRlbnQ6OmFw
cGVuZCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCdWlsZGVyOjpUcmltbWFibGVD
b250ZW50Ojp0cmltKToKKyAgICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVM
aW5lQnVpbGRlci5oOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQnVpbGRlcjo6aXNU
cmFpbGluZ1J1bkZ1bGx5VHJpbW1hYmxlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91
dDo6TGluZUJ1aWxkZXI6OlRyaW1tYWJsZUNvbnRlbnQ6OmlzVHJhaWxpbmdSdW5GdWxseVRyaW1t
YWJsZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCdWlsZGVyOjpUcmlt
bWFibGVDb250ZW50OjpyZXNldCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCdWls
ZGVyOjppc1RyYWlsaW5nQ29udGVudEZ1bGx5VHJpbW1hYmxlIGNvbnN0KTogRGVsZXRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OlRyaW1tYWJsZUNvbnRlbnQ6Omlz
VHJhaWxpbmdDb250ZW50RnVsbHlUcmltbWFibGUgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpMaW5lQnVpbGRlcjo6VHJpbW1hYmxlQ29udGVudDo6Y2xlYXIpOiBE
ZWxldGVkLgorICAgICAgICAqIGxheW91dC9pbmxpbmVmb3JtYXR0aW5nL0xpbmVMYXlvdXRDb250
ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUxheW91dENvbnRleHQ6OnBy
b2Nlc3NVbmNvbW1pdHRlZENvbnRlbnQpOgorCiAyMDE5LTEyLTAzICBQZW5nIExpdSAgPHBlbmcu
bGl1NkBhcHBsZS5jb20+CiAKICAgICAgICAgVGhlIGFuaW1hdGlvbiBvZiByZXR1cm5pbmcgdG8g
aW5saW5lIGZyb20gUGlQIHRhcmdldHMgd3JvbmcgZGVzdGluYXRpb24gcmVjdGFuZ2xlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5l
QnJlYWtlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9Jbmxp
bmVMaW5lQnJlYWtlci5jcHAKaW5kZXggMjFmOTUxZGNjODJmMWMyMWZjZTIyOWY5NDJhNWJjODlk
ZjkxNzRjZC4uMWQ4NjQzNjcxODM4ZGIyYzNmM2I5NzU2YjM3Y2U4OGRiODhkY2ZjZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJy
ZWFrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lu
bGluZUxpbmVCcmVha2VyLmNwcApAQCAtNTksNyArNTksNyBAQCBMaW5lQnJlYWtlcjo6QnJlYWtp
bmdDb250ZXh0IExpbmVCcmVha2VyOjpicmVha2luZ0NvbnRleHRGb3JJbmxpbmVDb250ZW50KGNv
bnN0CiAgICAgICAgIGlmIChjYW5kaWRhdGVSdW5zLm5vblRyaW1tYWJsZVdpZHRoKCkgPD0gbGlu
ZVN0YXR1cy5hdmFpbGFibGVXaWR0aCkKICAgICAgICAgICAgIHJldHVybiB7IEJyZWFraW5nQ29u
dGV4dDo6Q29udGVudEJyZWFrOjpLZWVwLCB7IH0gfTsKICAgICAgICAgLy8gTm93IGNoZWNrIGlm
IHdlIGNhbiB0cmltIHRoZSBsaW5lIHRvby4KLSAgICAgICAgaWYgKGxpbmVTdGF0dXMubGluZUhh
c0Z1bGx5VHJpbW1hYmxlVHJhaWxpbmdDb250ZW50ICYmIGNhbmRpZGF0ZVJ1bnMuaXNUcmFpbGlu
Z0NvbnRlbnRGdWxseVRyaW1tYWJsZSgpKSB7CisgICAgICAgIGlmIChsaW5lU3RhdHVzLmxpbmVI
YXNGdWxseVRyaW1tYWJsZVRyYWlsaW5nUnVuICYmIGNhbmRpZGF0ZVJ1bnMuaXNUcmFpbGluZ0Nv
bnRlbnRGdWxseVRyaW1tYWJsZSgpKSB7CiAgICAgICAgICAgICAvLyBJZiB0aGlzIG5ldyBjb250
ZW50IGlzIGZ1bGx5IHRyaW1tYWJsZSwgaXQgc2hvdWQgc3VyZWx5IGZpdC4KICAgICAgICAgICAg
IHJldHVybiB7IEJyZWFraW5nQ29udGV4dDo6Q29udGVudEJyZWFrOjpLZWVwLCB7IH0gfTsKICAg
ICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRp
bmcvSW5saW5lTGluZUJyZWFrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3Jt
YXR0aW5nL0lubGluZUxpbmVCcmVha2VyLmgKaW5kZXggOGQ1OWIxYjBjZmU1NDBkYjAwMmVjODdl
MmFiYWUzM2RmOTliYWQxYi4uODUyYWMwY2Q3ZGZlNzZiYWVjNmJlODBhNjkyMzQzN2FlODdkNTM3
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5s
aW5lTGluZUJyZWFrZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0
dGluZy9JbmxpbmVMaW5lQnJlYWtlci5oCkBAIC05OCw3ICs5OCw3IEBAIHB1YmxpYzoKICAgICBz
dHJ1Y3QgTGluZVN0YXR1cyB7CiAgICAgICAgIExheW91dFVuaXQgYXZhaWxhYmxlV2lkdGg7CiAg
ICAgICAgIExheW91dFVuaXQgdHJpbW1hYmxlV2lkdGg7Ci0gICAgICAgIGJvb2wgbGluZUhhc0Z1
bGx5VHJpbW1hYmxlVHJhaWxpbmdDb250ZW50OworICAgICAgICBib29sIGxpbmVIYXNGdWxseVRy
aW1tYWJsZVRyYWlsaW5nUnVuOwogICAgICAgICBib29sIGxpbmVJc0VtcHR5OwogICAgIH07CiAg
ICAgQnJlYWtpbmdDb250ZXh0IGJyZWFraW5nQ29udGV4dEZvcklubGluZUNvbnRlbnQoY29uc3Qg
Q29udGVudCYgY2FuZGlkYXRlUnVucywgY29uc3QgTGluZVN0YXR1cyYpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJ1aWxkZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJ1
aWxkZXIuY3BwCmluZGV4IGE0MTA1ZjE5MjdiZWE1OWFmMDgzZGNhMDAwZTVhNDRiYTBkMWVjYzYu
LmEwODQyNGExNzk3ODgzZGYyZWJmNTE1N2Q0N2I1NjUwNWZkYzE3ODUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCdWlsZGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5l
QnVpbGRlci5jcHAKQEAgLTE1Myw2ICsxNTMsNyBAQCB2b2lkIExpbmVCdWlsZGVyOjpSdW46OnNl
dENvbXB1dGVkSG9yaXpvbnRhbEV4cGFuc2lvbihMYXlvdXRVbml0IGxvZ2ljYWxFeHBhbnNpbwog
CiBMaW5lQnVpbGRlcjo6TGluZUJ1aWxkZXIoY29uc3QgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQm
IGlubGluZUZvcm1hdHRpbmdDb250ZXh0LCBPcHRpb25hbDxUZXh0QWxpZ25Nb2RlPiBob3Jpem9u
dGFsQWxpZ25tZW50LCBTa2lwQWxpZ25tZW50IHNraXBBbGlnbm1lbnQpCiAgICAgOiBtX2lubGlu
ZUZvcm1hdHRpbmdDb250ZXh0KGlubGluZUZvcm1hdHRpbmdDb250ZXh0KQorICAgICwgbV90cmlt
bWFibGVDb250ZW50KG1faW5saW5lSXRlbVJ1bnMpCiAgICAgLCBtX2hvcml6b250YWxBbGlnbm1l
bnQoaG9yaXpvbnRhbEFsaWdubWVudCkKICAgICAsIG1fc2tpcEFsaWdubWVudChza2lwQWxpZ25t
ZW50ID09IFNraXBBbGlnbm1lbnQ6OlllcykKIHsKQEAgLTE4Miw3ICsxODMsNyBAQCB2b2lkIExp
bmVCdWlsZGVyOjppbml0aWFsaXplKGNvbnN0IENvbnN0cmFpbnRzJiBjb25zdHJhaW50cykKICAg
ICBtX2hhc0ludHJ1c2l2ZUZsb2F0ID0gY29uc3RyYWludHMubGluZUlzQ29uc3RyYWluZWRCeUZs
b2F0OwogCiAgICAgbV9pbmxpbmVJdGVtUnVucy5jbGVhcigpOwotICAgIG1fdHJpbW1hYmxlQ29u
dGVudC5jbGVhcigpOworICAgIG1fdHJpbW1hYmxlQ29udGVudC5yZXNldCgpOwogICAgIG1fbGlu
ZUlzVmlzdWFsbHlFbXB0eUJlZm9yZVRyaW1tYWJsZUNvbnRlbnQgPSB7IH07CiB9CiAKQEAgLTM2
Niw1MyArMzY3LDI0IEBAIHZvaWQgTGluZUJ1aWxkZXI6OnJlbW92ZVRyYWlsaW5nVHJpbW1hYmxl
Q29udGVudCgpCiAgICAgaWYgKG1fdHJpbW1hYmxlQ29udGVudC5pc0VtcHR5KCkgfHwgbV9pbmxp
bmVJdGVtUnVucy5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKIAotI2lmbmRlZiBOREVCVUcK
LSAgICBhdXRvIGhhc1NlZW5Ob25XaGl0ZXNwYWNlVGV4dENvbnRlbnQgPSBmYWxzZTsKLSNlbmRp
ZgotICAgIC8vIENvbGxhcHNlIHRyaW1tYWJsZSB0cmFpbGluZyBjb250ZW50IGFuZCBtb3ZlIGFs
bCB0aGUgb3RoZXIgdHJhaWxpbmcgcnVucy4KLSAgICAvLyA8c3Bhbj4gPC9zcGFuPjxzcGFuPjwv
c3Bhbj4gLT4KLSAgICAvLyBbd2hpdGVzcGFjZV1bY29udGFpbmVyIGVuZF1bY29udGFpbmVyIHN0
YXJ0XVtjb250YWluZXIgZW5kXQotICAgIC8vIFRyaW0gdGhlIHdoaXRlc3BhY2UgcnVuIGFuZCBt
b3ZlIHRoZSB0cmFpbGluZyBpbmxpbmUgY29udGFpbmVyIHJ1bnMgdG8gdGhlIGxlZnQuCi0gICAg
TGF5b3V0VW5pdCBhY2N1bXVsYXRlZFRyaW1tZWRXaWR0aDsKLSAgICBmb3IgKGF1dG8gaW5kZXgg
PSAqbV90cmltbWFibGVDb250ZW50LmZpcnN0UnVuSW5kZXgoKTsgaW5kZXggPCBtX2lubGluZUl0
ZW1SdW5zLnNpemUoKTsgKytpbmRleCkgewotICAgICAgICBhdXRvJiBydW4gPSBtX2lubGluZUl0
ZW1SdW5zW2luZGV4XTsKLSAgICAgICAgcnVuLm1vdmVIb3Jpem9udGFsbHkoLWFjY3VtdWxhdGVk
VHJpbW1lZFdpZHRoKTsKLSAgICAgICAgaWYgKCFydW4uaXNUZXh0KCkpIHsKLSAgICAgICAgICAg
IEFTU0VSVChydW4uaXNDb250YWluZXJTdGFydCgpIHx8IHJ1bi5pc0NvbnRhaW5lckVuZCgpIHx8
IHJ1bi5pc0ZvcmNlZExpbmVCcmVhaygpKTsKLSAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAg
ICB9Ci0gICAgICAgIGlmIChydW4uaXNXaGl0ZXNwYWNlKCkpIHsKLSAgICAgICAgICAgIGFjY3Vt
dWxhdGVkVHJpbW1lZFdpZHRoICs9IHJ1bi5sb2dpY2FsV2lkdGgoKTsKLSAgICAgICAgICAgIHJ1
bi5zZXRDb2xsYXBzZXNUb1plcm9BZHZhbmNlV2lkdGgoKTsKLSAgICAgICAgfSBlbHNlIHsKLSAg
ICAgICAgICAgIEFTU0VSVCghaGFzU2Vlbk5vbldoaXRlc3BhY2VUZXh0Q29udGVudCk7Ci0jaWZu
ZGVmIE5ERUJVRwotICAgICAgICAgICAgaGFzU2Vlbk5vbldoaXRlc3BhY2VUZXh0Q29udGVudCA9
IHRydWU7Ci0jZW5kaWYKLSAgICAgICAgICAgIC8vIE11c3QgYmUgYSBsZXR0ZXIgc3BhY2luZyB0
cmltLgotICAgICAgICAgICAgQVNTRVJUKHJ1bi5oYXNUcmFpbGluZ0xldHRlclNwYWNpbmcoKSk7
Ci0gICAgICAgICAgICBhY2N1bXVsYXRlZFRyaW1tZWRXaWR0aCArPSBydW4udHJhaWxpbmdMZXR0
ZXJTcGFjaW5nKCk7Ci0gICAgICAgICAgICBydW4ucmVtb3ZlVHJhaWxpbmdMZXR0ZXJTcGFjaW5n
KCk7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgQVNTRVJUKGFjY3VtdWxhdGVkVHJpbW1lZFdpZHRo
ID09IG1fdHJpbW1hYmxlQ29udGVudC53aWR0aCgpKTsKICAgICBtX2xpbmVCb3guc2hyaW5rSG9y
aXpvbnRhbGx5KG1fdHJpbW1hYmxlQ29udGVudC53aWR0aCgpKTsKLSAgICBtX3RyaW1tYWJsZUNv
bnRlbnQuY2xlYXIoKTsKKworICAgIG1fdHJpbW1hYmxlQ29udGVudC50cmltKCk7CiAgICAgLy8g
SWYgd2UgdHJpbW1lZCB0aGUgZmlyc3QgdmlzaWJsZSBydW4gb24gdGhlIGxpbmUsIHdlIG5lZWQg
dG8gcmUtY2hlY2sgdGhlIHZpc2liaWxpdHkgc3RhdHVzLgotICAgIGlmIChtX2xpbmVJc1Zpc3Vh
bGx5RW1wdHlCZWZvcmVUcmltbWFibGVDb250ZW50KSB7Ci0gICAgICAgIC8vIEp1c3QgYmVjYXVz
ZSB0aGUgbGluZSB3YXMgdmlzdWFsbHkgZW1wdHkgYmVmb3JlIHRoZSB0cmltbWVkIGNvbnRlbnQs
IGl0IGRvZXMgbm90IG5lY2Vzc2FyaWx5IG1lYW4gaXQgaXMgc3RpbGwgdmlzdWFsbHkgZW1wdHku
Ci0gICAgICAgIC8vIDxzcGFuPiAgPC9zcGFuPjxzcGFuIHN0eWxlPSJwYWRkaW5nLWxlZnQ6IDEw
cHgiPjwvc3Bhbj4gIDwtIG5vbi1lbXB0eQotICAgICAgICBhdXRvIGxpbmVJc1Zpc3VhbGx5RW1w
dHkgPSBbJl0gewotICAgICAgICAgICAgZm9yIChhdXRvJiBydW4gOiBtX2lubGluZUl0ZW1SdW5z
KSB7Ci0gICAgICAgICAgICAgICAgaWYgKGlzVmlzdWFsbHlOb25FbXB0eShydW4pKQotICAgICAg
ICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKLSAgICAgICAgfTsKLSAgICAgICAgLy8gV2UgY291bGQgb25seSBnbyBmcm9t
IHZpc3VhbGx5IG5vbiBlbXB0eSAtPiB0byB2aXN1YWxseSBlbXB0eS4gVHJpbW1pbmcgcnVucyBz
aG91bGQgbmV2ZXIgbWFrZSB0aGUgbGluZSB2aXNpYmxlLgotICAgICAgICBpZiAobGluZUlzVmlz
dWFsbHlFbXB0eSgpKQotICAgICAgICAgICAgbV9saW5lQm94LnNldElzQ29uc2lkZXJlZEVtcHR5
KCk7Ci0gICAgfQorICAgIGlmICghbV9saW5lSXNWaXN1YWxseUVtcHR5QmVmb3JlVHJpbW1hYmxl
Q29udGVudCkKKyAgICAgICAgcmV0dXJuOworICAgIC8vIEp1c3QgYmVjYXVzZSB0aGUgbGluZSB3
YXMgdmlzdWFsbHkgZW1wdHkgYmVmb3JlIHRoZSB0cmltbWVkIGNvbnRlbnQsIGl0IGRvZXMgbm90
IG5lY2Vzc2FyaWx5IG1lYW4gaXQgaXMgc3RpbGwgdmlzdWFsbHkgZW1wdHkuCisgICAgLy8gPHNw
YW4+ICA8L3NwYW4+PHNwYW4gc3R5bGU9InBhZGRpbmctbGVmdDogMTBweCI+PC9zcGFuPiAgPC0g
bm9uLWVtcHR5CisgICAgYXV0byBsaW5lSXNWaXN1YWxseUVtcHR5ID0gWyZdIHsKKyAgICAgICAg
Zm9yIChhdXRvJiBydW4gOiBtX2lubGluZUl0ZW1SdW5zKSB7CisgICAgICAgICAgICBpZiAoaXNW
aXN1YWxseU5vbkVtcHR5KHJ1bikpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
ICAgICB9CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH07CisgICAgLy8gV2UgY291bGQgb25s
eSBnbyBmcm9tIHZpc3VhbGx5IG5vbiBlbXB0eSAtPiB0byB2aXN1YWxseSBlbXB0eS4gVHJpbW1p
bmcgcnVucyBzaG91bGQgbmV2ZXIgbWFrZSB0aGUgbGluZSB2aXNpYmxlLgorICAgIGlmIChsaW5l
SXNWaXN1YWxseUVtcHR5KCkpCisgICAgICAgIG1fbGluZUJveC5zZXRJc0NvbnNpZGVyZWRFbXB0
eSgpOwogICAgIG1fbGluZUlzVmlzdWFsbHlFbXB0eUJlZm9yZVRyaW1tYWJsZUNvbnRlbnQgPSB7
IH07CiB9CiAKQEAgLTUwMywzNiArNDc1LDMyIEBAIHZvaWQgTGluZUJ1aWxkZXI6OmFwcGVuZFRl
eHRDb250ZW50KGNvbnN0IElubGluZVRleHRJdGVtJiBpbmxpbmVJdGVtLCBMYXlvdXRVbml0CiAg
ICAgICAgIHJldHVybiB0cnVlOwogICAgIH07CiAKKyAgICBhdXRvIGNvbGxhcHNlc1RvWmVyb0Fk
dmFuY2VXaWR0aCA9IHdpbGxDb2xsYXBzZUNvbXBsZXRlbHkoKTsKICAgICBhdXRvIGNvbGxhcHNl
ZFJ1biA9IGlubGluZUl0ZW0uaXNDb2xsYXBzaWJsZSgpICYmIGlubGluZUl0ZW0ubGVuZ3RoKCkg
PiAxOwogICAgIGF1dG8gY29udGVudFN0YXJ0ID0gaW5saW5lSXRlbS5zdGFydCgpOwogICAgIGF1
dG8gY29udGVudExlbmd0aCA9ICBjb2xsYXBzZWRSdW4gPyAxIDogaW5saW5lSXRlbS5sZW5ndGgo
KTsKLSAgICBhdXRvIGxpbmVSdW4gPSBJbmxpbmVJdGVtUnVuIHsgaW5saW5lSXRlbSwgY29udGVu
dExvZ2ljYWxXaWR0aCgpLCBsb2dpY2FsV2lkdGgsIERpc3BsYXk6OlJ1bjo6VGV4dENvbnRleHQg
eyBjb250ZW50U3RhcnQsIGNvbnRlbnRMZW5ndGgsIGlubGluZUl0ZW0ubGF5b3V0Qm94KCkudGV4
dENvbnRleHQoKS0+Y29udGVudCB9IH07CisgICAgbV9pbmxpbmVJdGVtUnVucy5hcHBlbmQoeyBp
bmxpbmVJdGVtLCBjb250ZW50TG9naWNhbFdpZHRoKCksIGxvZ2ljYWxXaWR0aCwgRGlzcGxheTo6
UnVuOjpUZXh0Q29udGV4dCB7IGNvbnRlbnRTdGFydCwgY29udGVudExlbmd0aCwgaW5saW5lSXRl
bS5sYXlvdXRCb3goKS50ZXh0Q29udGV4dCgpLT5jb250ZW50IH0gfSk7CisgICAgYXV0byYgbGlu
ZVJ1biA9IG1faW5saW5lSXRlbVJ1bnMubGFzdCgpOwogCi0gICAgYXV0byBjb2xsYXBzZXNUb1pl
cm9BZHZhbmNlV2lkdGggPSB3aWxsQ29sbGFwc2VDb21wbGV0ZWx5KCk7CiAgICAgaWYgKGNvbGxh
cHNlc1RvWmVyb0FkdmFuY2VXaWR0aCkKICAgICAgICAgbGluZVJ1bi5zZXRDb2xsYXBzZXNUb1pl
cm9BZHZhbmNlV2lkdGgoKTsKIAogICAgIGlmIChjb2xsYXBzZWRSdW4pCiAgICAgICAgIGxpbmVS
dW4uc2V0SXNDb2xsYXBzZWQoKTsKIAotICAgIGF1dG8gbGluZVJ1bldpZHRoID0gbGluZVJ1bi5s
b2dpY2FsV2lkdGgoKTsKLSAgICAvLyBUcmFpbGluZyB3aGl0ZXNwYWNlIGNvbnRlbnQgaXMgZnVs
bHkgdHJpbW1hYmxlIHNvIGFzIHRoZSB0cmFpbGluZyBsZXR0ZXIgc3BhY2UuCi0gICAgYXV0byBp
c0Z1bGx5VHJpbW1hYmxlID0gbGluZVJ1bi5pc1RyaW1tYWJsZVdoaXRlc3BhY2UoKTsKLSAgICBh
dXRvIGlzUGFydGlhbGx5VHJpbW1hYmxlID0gbGluZVJ1bi5oYXNUcmFpbGluZ0xldHRlclNwYWNp
bmcoKTsKLSAgICBhdXRvIGlzVHJpbW1hYmxlID0gaXNGdWxseVRyaW1tYWJsZSB8fCBpc1BhcnRp
YWxseVRyaW1tYWJsZTsKLSAgICAvLyBSZXNldCB0aGUgdHJpbW1hYmxlIGNvbnRlbnQgaWYgbmVl
ZGVkLgotICAgIGlmICghaXNUcmltbWFibGUgfHwgaXNQYXJ0aWFsbHlUcmltbWFibGUgfHwgKGlz
RnVsbHlUcmltbWFibGUgJiYgIW1fdHJpbW1hYmxlQ29udGVudC5pc1RyYWlsaW5nQ29udGVudEZ1
bGx5VHJpbW1hYmxlKCkpKQotICAgICAgICBtX3RyaW1tYWJsZUNvbnRlbnQuY2xlYXIoKTsKLSAg
ICBpZiAoaXNGdWxseVRyaW1tYWJsZSkgeworICAgIG1fbGluZUJveC5leHBhbmRIb3Jpem9udGFs
bHkobGluZVJ1bi5sb2dpY2FsV2lkdGgoKSk7CisKKyAgICAvLyBFeGlzdGluZyB0cmFpbGluZyB0
cmltbWFibGUgY29udGVudCBjYW4gb25seSBiZSBleHBhbmRlZCBpZiB0aGUgY3VycmVudCBydXMg
aXMgZnVsbHkgdHJpbW1hYmxlLgorICAgIGF1dG8gdHJpbW1hYmxlTGlzdE5lZWRzUmVzZXQgPSAh
bV90cmltbWFibGVDb250ZW50LmlzRW1wdHkoKSAmJiAhbGluZVJ1bi5pc1RyaW1tYWJsZVdoaXRl
c3BhY2UoKTsKKyAgICBpZiAodHJpbW1hYmxlTGlzdE5lZWRzUmVzZXQpCisgICAgICAgIG1fdHJp
bW1hYmxlQ29udGVudC5yZXNldCgpOworICAgIGF1dG8gaXNUcmltbWFibGUgPSBsaW5lUnVuLmlz
VHJpbW1hYmxlV2hpdGVzcGFjZSgpIHx8IGxpbmVSdW4uaGFzVHJhaWxpbmdMZXR0ZXJTcGFjaW5n
KCk7CisgICAgaWYgKGlzVHJpbW1hYmxlKSB7CiAgICAgICAgIC8vIElmIHdlIGV2ZXIgdHJpbSB0
aGlzIGNvbnRlbnQsIHdlIG5lZWQgdG8ga25vdyBpZiB0aGUgbGluZSB2aXNpYmlsaXR5IHN0YXRl
IG5lZWRzIHRvIGJlIHJlY29tcHV0ZWQuCiAgICAgICAgIGlmIChtX3RyaW1tYWJsZUNvbnRlbnQu
aXNFbXB0eSgpKQogICAgICAgICAgICAgbV9saW5lSXNWaXN1YWxseUVtcHR5QmVmb3JlVHJpbW1h
YmxlQ29udGVudCA9IGlzVmlzdWFsbHlFbXB0eSgpOwotICAgICAgICBtX3RyaW1tYWJsZUNvbnRl
bnQuYXBwZW5kKGxpbmVSdW5XaWR0aCwgbV9pbmxpbmVJdGVtUnVucy5zaXplKCksIFRyaW1tYWJs
ZUNvbnRlbnQ6OklzRnVsbHlUcmltbWFibGU6Olllcyk7Ci0gICAgfSBlbHNlIGlmIChpc1BhcnRp
YWxseVRyaW1tYWJsZSkKLSAgICAgICAgbV90cmltbWFibGVDb250ZW50LmFwcGVuZChMYXlvdXRV
bml0IHsgbGluZVJ1bi50cmFpbGluZ0xldHRlclNwYWNpbmcoKSB9LCBtX2lubGluZUl0ZW1SdW5z
LnNpemUoKSwgVHJpbW1hYmxlQ29udGVudDo6SXNGdWxseVRyaW1tYWJsZTo6Tm8pOwotCi0gICAg
bV9saW5lQm94LmV4cGFuZEhvcml6b250YWxseShsaW5lUnVuV2lkdGgpOwotICAgIG1faW5saW5l
SXRlbVJ1bnMuYXBwZW5kKFdURk1vdmUobGluZVJ1bikpOworICAgICAgICBtX3RyaW1tYWJsZUNv
bnRlbnQuYXBwZW5kKG1faW5saW5lSXRlbVJ1bnMuc2l6ZSgpIC0gMSk7CisgICAgfQogfQogCiB2
b2lkIExpbmVCdWlsZGVyOjphcHBlbmROb25SZXBsYWNlZElubGluZUJveChjb25zdCBJbmxpbmVJ
dGVtJiBpbmxpbmVJdGVtLCBMYXlvdXRVbml0IGxvZ2ljYWxXaWR0aCkKQEAgLTU0Miw3ICs1MTAs
NyBAQCB2b2lkIExpbmVCdWlsZGVyOjphcHBlbmROb25SZXBsYWNlZElubGluZUJveChjb25zdCBJ
bmxpbmVJdGVtJiBpbmxpbmVJdGVtLCBMYXlvdQogICAgIGF1dG8gaG9yaXpvbnRhbE1hcmdpbiA9
IGJveEdlb21ldHJ5Lmhvcml6b250YWxNYXJnaW4oKTsKICAgICBtX2lubGluZUl0ZW1SdW5zLmFw
cGVuZCh7IGlubGluZUl0ZW0sIGNvbnRlbnRMb2dpY2FsV2lkdGgoKSArIGhvcml6b250YWxNYXJn
aW4uc3RhcnQsIGxvZ2ljYWxXaWR0aCB9KTsKICAgICBtX2xpbmVCb3guZXhwYW5kSG9yaXpvbnRh
bGx5KGxvZ2ljYWxXaWR0aCArIGhvcml6b250YWxNYXJnaW4uc3RhcnQgKyBob3Jpem9udGFsTWFy
Z2luLmVuZCk7Ci0gICAgbV90cmltbWFibGVDb250ZW50LmNsZWFyKCk7CisgICAgbV90cmltbWFi
bGVDb250ZW50LnJlc2V0KCk7CiB9CiAKIHZvaWQgTGluZUJ1aWxkZXI6OmFwcGVuZFJlcGxhY2Vk
SW5saW5lQm94KGNvbnN0IElubGluZUl0ZW0mIGlubGluZUl0ZW0sIExheW91dFVuaXQgbG9naWNh
bFdpZHRoKQpAQCAtNzE5LDEzICs2ODcsNjYgQEAgY29uc3QgSW5saW5lRm9ybWF0dGluZ0NvbnRl
eHQmIExpbmVCdWlsZGVyOjpmb3JtYXR0aW5nQ29udGV4dCgpIGNvbnN0CiAgICAgcmV0dXJuIG1f
aW5saW5lRm9ybWF0dGluZ0NvbnRleHQ7CiB9CiAKLXZvaWQgTGluZUJ1aWxkZXI6OlRyaW1tYWJs
ZUNvbnRlbnQ6OmFwcGVuZChMYXlvdXRVbml0IGl0ZW1SdW5XaWR0aCwgc2l6ZV90IHJ1bkluZGV4
LCBJc0Z1bGx5VHJpbW1hYmxlIGlzRnVsbHlUcmltbWFibGUpCitMaW5lQnVpbGRlcjo6VHJpbW1h
YmxlQ29udGVudDo6VHJpbW1hYmxlQ29udGVudChJbmxpbmVJdGVtUnVuTGlzdCYgaW5saW5lSXRl
bVJ1bkxpc3QpCisgICAgOiBtX2lubGluZWl0ZW1SdW5MaXN0KGlubGluZUl0ZW1SdW5MaXN0KQor
eworfQorCit2b2lkIExpbmVCdWlsZGVyOjpUcmltbWFibGVDb250ZW50OjphcHBlbmQoc2l6ZV90
IHJ1bkluZGV4KQogeworICAgIGF1dG8mIHRyaW1tYWJsZVJ1biA9IG1faW5saW5laXRlbVJ1bkxp
c3RbcnVuSW5kZXhdOworICAgIExheW91dFVuaXQgdHJpbW1hYmxlV2lkdGg7CisgICAgYXV0byBp
c0Z1bGx5VHJpbW1hYmxlID0gdHJpbW1hYmxlUnVuLmlzVHJpbW1hYmxlV2hpdGVzcGFjZSgpOwor
ICAgIGlmIChpc0Z1bGx5VHJpbW1hYmxlKQorICAgICAgICB0cmltbWFibGVXaWR0aCA9IHRyaW1t
YWJsZVJ1bi5sb2dpY2FsV2lkdGgoKTsKKyAgICBlbHNlIHsKKyAgICAgICAgQVNTRVJUKHRyaW1t
YWJsZVJ1bi5oYXNUcmFpbGluZ0xldHRlclNwYWNpbmcoKSk7CisgICAgICAgIHRyaW1tYWJsZVdp
ZHRoID0gdHJpbW1hYmxlUnVuLnRyYWlsaW5nTGV0dGVyU3BhY2luZygpOworICAgIH0KICAgICAv
LyB3b3JkLXNwYWNpbmcgY291bGQgdmVyeSB3ZWxsIGJlIG5lZ2F0aXZlLCBidXQgaXQgZG9lcyBu
b3QgbWVhbiB0aGF0IHRoZSBsaW5lIGdhaW5zIHRoYXQgbXVjaCBleHRyYSBzcGFjZSB3aGVuIHRo
ZSBjb250ZW50IGlzIHRyaW1tZWQuCi0gICAgaXRlbVJ1bldpZHRoID0gc3RkOjptYXgoMF9sdSwg
aXRlbVJ1bldpZHRoKTsKLSAgICBtX3dpZHRoICs9IGl0ZW1SdW5XaWR0aDsKKyAgICB0cmltbWFi
bGVXaWR0aCA9IHN0ZDo6bWF4KDBfbHUsIHRyaW1tYWJsZVdpZHRoKTsKKworICAgIEFTU0VSVCh0
cmltbWFibGVXaWR0aCA+PSAwKTsKKyAgICBtX3dpZHRoICs9IHRyaW1tYWJsZVdpZHRoOworICAg
IG1fbGFzdFJ1bklzRnVsbHlUcmltbWFibGUgPSBpc0Z1bGx5VHJpbW1hYmxlOwogICAgIG1fZmly
c3RSdW5JbmRleCA9IG1fZmlyc3RSdW5JbmRleC52YWx1ZU9yKHJ1bkluZGV4KTsKLSAgICBtX2xh
c3RSdW5Jc0Z1bGx5VHJpbW1hYmxlID0gaXNGdWxseVRyaW1tYWJsZSA9PSBJc0Z1bGx5VHJpbW1h
YmxlOjpZZXM7Cit9CisKK3ZvaWQgTGluZUJ1aWxkZXI6OlRyaW1tYWJsZUNvbnRlbnQ6OnRyaW0o
KQoreworICAgIGlmICghbV9maXJzdFJ1bkluZGV4KQorICAgICAgICByZXR1cm47CisjaWZuZGVm
IE5ERUJVRworICAgIGF1dG8gaGFzU2Vlbk5vbldoaXRlc3BhY2VUZXh0Q29udGVudCA9IGZhbHNl
OworI2VuZGlmCisgICAgLy8gQ29sbGFwc2UgdHJpbW1hYmxlIHRyYWlsaW5nIGNvbnRlbnQgYW5k
IG1vdmUgYWxsIHRoZSBvdGhlciB0cmFpbGluZyBydW5zLgorICAgIC8vIDxzcGFuPiA8L3NwYW4+
PHNwYW4+PC9zcGFuPiAtPgorICAgIC8vIFt3aGl0ZXNwYWNlXVtjb250YWluZXIgZW5kXVtjb250
YWluZXIgc3RhcnRdW2NvbnRhaW5lciBlbmRdCisgICAgLy8gVHJpbSB0aGUgd2hpdGVzcGFjZSBy
dW4gYW5kIG1vdmUgdGhlIHRyYWlsaW5nIGlubGluZSBjb250YWluZXIgcnVucyB0byB0aGUgbGVm
dC4KKyAgICBMYXlvdXRVbml0IGFjY3VtdWxhdGVkVHJpbW1lZFdpZHRoOworICAgIGZvciAoYXV0
byBpbmRleCA9ICptX2ZpcnN0UnVuSW5kZXg7IGluZGV4IDwgbV9pbmxpbmVpdGVtUnVuTGlzdC5z
aXplKCk7ICsraW5kZXgpIHsKKyAgICAgICAgYXV0byYgcnVuID0gbV9pbmxpbmVpdGVtUnVuTGlz
dFtpbmRleF07CisgICAgICAgIHJ1bi5tb3ZlSG9yaXpvbnRhbGx5KC1hY2N1bXVsYXRlZFRyaW1t
ZWRXaWR0aCk7CisgICAgICAgIGlmICghcnVuLmlzVGV4dCgpKSB7CisgICAgICAgICAgICBBU1NF
UlQocnVuLmlzQ29udGFpbmVyU3RhcnQoKSB8fCBydW4uaXNDb250YWluZXJFbmQoKSB8fCBydW4u
aXNGb3JjZWRMaW5lQnJlYWsoKSk7CisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgfQor
ICAgICAgICBpZiAocnVuLmlzV2hpdGVzcGFjZSgpKSB7CisgICAgICAgICAgICBhY2N1bXVsYXRl
ZFRyaW1tZWRXaWR0aCArPSBydW4ubG9naWNhbFdpZHRoKCk7CisgICAgICAgICAgICBydW4uc2V0
Q29sbGFwc2VzVG9aZXJvQWR2YW5jZVdpZHRoKCk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAg
ICAgICBBU1NFUlQoIWhhc1NlZW5Ob25XaGl0ZXNwYWNlVGV4dENvbnRlbnQpOworI2lmbmRlZiBO
REVCVUcKKyAgICAgICAgICAgIGhhc1NlZW5Ob25XaGl0ZXNwYWNlVGV4dENvbnRlbnQgPSB0cnVl
OworI2VuZGlmCisgICAgICAgICAgICAvLyBNdXN0IGJlIGEgbGV0dGVyIHNwYWNpbmcgdHJpbS4K
KyAgICAgICAgICAgIEFTU0VSVChydW4uaGFzVHJhaWxpbmdMZXR0ZXJTcGFjaW5nKCkpOworICAg
ICAgICAgICAgYWNjdW11bGF0ZWRUcmltbWVkV2lkdGggKz0gcnVuLnRyYWlsaW5nTGV0dGVyU3Bh
Y2luZygpOworICAgICAgICAgICAgcnVuLnJlbW92ZVRyYWlsaW5nTGV0dGVyU3BhY2luZygpOwor
ICAgICAgICB9CisgICAgfQorICAgIEFTU0VSVChhY2N1bXVsYXRlZFRyaW1tZWRXaWR0aCA9PSB3
aWR0aCgpKTsKKyAgICByZXNldCgpOwogfQogCiBMaW5lQnVpbGRlcjo6SW5saW5lSXRlbVJ1bjo6
SW5saW5lSXRlbVJ1bihjb25zdCBJbmxpbmVJdGVtJiBpbmxpbmVJdGVtLCBMYXlvdXRVbml0IGxv
Z2ljYWxMZWZ0LCBMYXlvdXRVbml0IGxvZ2ljYWxXaWR0aCwgV1RGOjpPcHRpb25hbDxEaXNwbGF5
OjpSdW46OlRleHRDb250ZXh0PiB0ZXh0Q29udGV4dCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCdWlsZGVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQnVpbGRlci5oCmluZGV4
IGU5MWU1NWYzNmUwY2VjZmIxZmM0ODVhZDYzMGRiMTdlYWU1MTBlOWMuLmQ5Zjc3YzVkZjA2Mjkz
ODc0MDcxZTFlMGI2ZDc0MTQ3MDg5M2I4ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCdWlsZGVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJ1aWxkZXIuaApAQCAtNjUs
NyArNjUsNyBAQCBwdWJsaWM6CiAgICAgTGF5b3V0VW5pdCBhdmFpbGFibGVXaWR0aCgpIGNvbnN0
IHsgcmV0dXJuIGxvZ2ljYWxXaWR0aCgpIC0gY29udGVudExvZ2ljYWxXaWR0aCgpOyB9CiAKICAg
ICBMYXlvdXRVbml0IHRyYWlsaW5nVHJpbW1hYmxlV2lkdGgoKSBjb25zdCB7IHJldHVybiBtX3Ry
aW1tYWJsZUNvbnRlbnQud2lkdGgoKTsgfQotICAgIGJvb2wgaXNUcmFpbGluZ0NvbnRlbnRGdWxs
eVRyaW1tYWJsZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHJpbW1hYmxlQ29udGVudC5pc1RyYWlsaW5n
Q29udGVudEZ1bGx5VHJpbW1hYmxlKCk7IH0KKyAgICBib29sIGlzVHJhaWxpbmdSdW5GdWxseVRy
aW1tYWJsZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHJpbW1hYmxlQ29udGVudC5pc1RyYWlsaW5nUnVu
RnVsbHlUcmltbWFibGUoKTsgfQogCiAgICAgY29uc3QgTGluZUJveCYgbGluZUJveCgpIGNvbnN0
IHsgcmV0dXJuIG1fbGluZUJveDsgfQogICAgIHZvaWQgbW92ZUxvZ2ljYWxMZWZ0KExheW91dFVu
aXQpOwpAQCAtMTk5LDI0ICsxOTksMjkgQEAgcHJpdmF0ZToKICAgICAgICAgYm9vbCBtX2NvbGxh
cHNlZFRvWmVyb0FkdmFuY2VXaWR0aCB7IGZhbHNlIH07CiAgICAgfTsKIAorICAgIHVzaW5nIElu
bGluZUl0ZW1SdW5MaXN0ID0gVmVjdG9yPElubGluZUl0ZW1SdW4sIDUwPjsKKwogICAgIHN0cnVj
dCBUcmltbWFibGVDb250ZW50IHsKLSAgICAgICAgZW51bSBjbGFzcyBJc0Z1bGx5VHJpbW1hYmxl
IHsgTm8sIFllcyB9OwotICAgICAgICB2b2lkIGFwcGVuZChMYXlvdXRVbml0IGl0ZW1SdW5XaWR0
aCwgc2l6ZV90IHJ1bkluZGV4LCBJc0Z1bGx5VHJpbW1hYmxlKTsKLSAgICAgICAgdm9pZCBjbGVh
cigpOworICAgICAgICBUcmltbWFibGVDb250ZW50KElubGluZUl0ZW1SdW5MaXN0Jik7CisKKyAg
ICAgICAgdm9pZCBhcHBlbmQoc2l6ZV90IHJ1bkluZGV4KTsKKyAgICAgICAgdm9pZCB0cmltKCk7
CisgICAgICAgIHZvaWQgcmVzZXQoKTsKIAogICAgICAgICBMYXlvdXRVbml0IHdpZHRoKCkgY29u
c3QgeyByZXR1cm4gbV93aWR0aDsgfQogICAgICAgICBPcHRpb25hbDxzaXplX3Q+IGZpcnN0UnVu
SW5kZXgoKSB7IHJldHVybiBtX2ZpcnN0UnVuSW5kZXg7IH0KICAgICAgICAgYm9vbCBpc0VtcHR5
KCkgY29uc3QgeyByZXR1cm4gIW1fZmlyc3RSdW5JbmRleC5oYXNWYWx1ZSgpOyB9Ci0gICAgICAg
IGJvb2wgaXNUcmFpbGluZ0NvbnRlbnRGdWxseVRyaW1tYWJsZSgpIGNvbnN0IHsgcmV0dXJuIG1f
bGFzdFJ1bklzRnVsbHlUcmltbWFibGU7IH0KKyAgICAgICAgYm9vbCBpc1RyYWlsaW5nUnVuRnVs
bHlUcmltbWFibGUoKSBjb25zdCB7IHJldHVybiBtX2xhc3RSdW5Jc0Z1bGx5VHJpbW1hYmxlOyB9
CiAKICAgICBwcml2YXRlOgorICAgICAgICBJbmxpbmVJdGVtUnVuTGlzdCYgbV9pbmxpbmVpdGVt
UnVuTGlzdDsKICAgICAgICAgT3B0aW9uYWw8c2l6ZV90PiBtX2ZpcnN0UnVuSW5kZXg7CiAgICAg
ICAgIExheW91dFVuaXQgbV93aWR0aDsKICAgICAgICAgYm9vbCBtX2xhc3RSdW5Jc0Z1bGx5VHJp
bW1hYmxlIHsgZmFsc2UgfTsKICAgICB9OwogCiAgICAgY29uc3QgSW5saW5lRm9ybWF0dGluZ0Nv
bnRleHQmIG1faW5saW5lRm9ybWF0dGluZ0NvbnRleHQ7Ci0gICAgVmVjdG9yPElubGluZUl0ZW1S
dW4sIDUwPiBtX2lubGluZUl0ZW1SdW5zOworICAgIElubGluZUl0ZW1SdW5MaXN0IG1faW5saW5l
SXRlbVJ1bnM7CiAgICAgVHJpbW1hYmxlQ29udGVudCBtX3RyaW1tYWJsZUNvbnRlbnQ7CiAgICAg
T3B0aW9uYWw8TGluZUJveDo6QmFzZWxpbmU+IG1faW5pdGlhbFN0cnV0OwogICAgIExheW91dFVu
aXQgbV9saW5lTG9naWNhbFdpZHRoOwpAQCAtMjI3LDcgKzIzMiw3IEBAIHByaXZhdGU6CiAgICAg
T3B0aW9uYWw8Ym9vbD4gbV9saW5lSXNWaXN1YWxseUVtcHR5QmVmb3JlVHJpbW1hYmxlQ29udGVu
dDsKIH07CiAKLWlubGluZSB2b2lkIExpbmVCdWlsZGVyOjpUcmltbWFibGVDb250ZW50OjpjbGVh
cigpCitpbmxpbmUgdm9pZCBMaW5lQnVpbGRlcjo6VHJpbW1hYmxlQ29udGVudDo6cmVzZXQoKQog
ewogICAgIG1fZmlyc3RSdW5JbmRleCA9IHsgfTsKICAgICBtX3dpZHRoID0geyB9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvTGluZUxheW91dENv
bnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvTGluZUxh
eW91dENvbnRleHQuY3BwCmluZGV4IGRiOGVmNzZjZjAwNDZjMDM2NDY0YzFmOGMyMTBjMzA0YTcy
ZTYyYjIuLmZkMTAxODQ5MzEzOWJlMzg3ZTNjNWNiM2UzMGZkMjM0NDNmMDYwYTQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0xpbmVMYXlvdXRDb250
ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9MaW5l
TGF5b3V0Q29udGV4dC5jcHAKQEAgLTIwOSw3ICsyMDksNyBAQCBMaW5lTGF5b3V0Q29udGV4dDo6
SXNFbmRPZkxpbmUgTGluZUxheW91dENvbnRleHQ6OnByb2Nlc3NVbmNvbW1pdHRlZENvbnRlbnQo
TGluZQogICAgIGF1dG8gbGluZUJyZWFrZXIgPSBMaW5lQnJlYWtlciB7IH07CiAgICAgaWYgKHNo
b3VsZERpc2FibGVIeXBoZW5hdGlvbigpKQogICAgICAgICBsaW5lQnJlYWtlci5zZXRIeXBoZW5h
dGlvbkRpc2FibGVkKCk7Ci0gICAgYXV0byBsaW5lU3RhdHVzID0gTGluZUJyZWFrZXI6OkxpbmVT
dGF0dXMgeyBsaW5lLmF2YWlsYWJsZVdpZHRoKCksIGxpbmUudHJhaWxpbmdUcmltbWFibGVXaWR0
aCgpLCBsaW5lLmlzVHJhaWxpbmdDb250ZW50RnVsbHlUcmltbWFibGUoKSwgbGluZUlzQ29uc2lk
ZXJlZEVtcHR5IH07CisgICAgYXV0byBsaW5lU3RhdHVzID0gTGluZUJyZWFrZXI6OkxpbmVTdGF0
dXMgeyBsaW5lLmF2YWlsYWJsZVdpZHRoKCksIGxpbmUudHJhaWxpbmdUcmltbWFibGVXaWR0aCgp
LCBsaW5lLmlzVHJhaWxpbmdSdW5GdWxseVRyaW1tYWJsZSgpLCBsaW5lSXNDb25zaWRlcmVkRW1w
dHkgfTsKICAgICBhdXRvIGJyZWFraW5nQ29udGV4dCA9IGxpbmVCcmVha2VyLmJyZWFraW5nQ29u
dGV4dEZvcklubGluZUNvbnRlbnQobV91bmNvbW1pdHRlZENvbnRlbnQsIGxpbmVTdGF0dXMpOwog
ICAgIC8vIFRoZSB1bmNvbW1pdHRlZCBjb250ZW50IGNhbiBmdWxseSwgcGFydGlhbGx5IGZpdCB0
aGUgY3VycmVudCBsaW5lIChjb21taXQvcGFydGlhbCBjb21taXQpIG9yIG5vdCBhdCBhbGwgKHJl
c2V0KS4KICAgICBpZiAoYnJlYWtpbmdDb250ZXh0LmNvbnRlbnRCcmVhayA9PSBMaW5lQnJlYWtl
cjo6QnJlYWtpbmdDb250ZXh0OjpDb250ZW50QnJlYWs6OktlZXApCmRpZmYgLS1naXQgYS9Ub29s
cy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZTc1ZTY4ODBjOGYwMDkxNjliYjA1
Y2U1MmRhMWMxM2IzYzkwZmIzMS4uNjBmMTMzODcyYzQ1ODJhMzhhMGRmZDk2OWU0YTkyNjBmYjI1
OTFhNyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDEzIEBACisyMDE5LTEyLTA0ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5j
b20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBNb3ZlIHRyYWlsaW5nIHRyaW1taW5nIGxvZ2ljIHRv
IExpbmVCdWlsZGVyOjpUcmltbWFibGVDb250ZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDQ4NzIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU3
NjUyMzY1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogTGF5b3V0UmVsb2FkZWQvbWlzYy9MRkMtcGFzc2luZy10ZXN0cy50eHQ6CisKIDIwMTktMTIt
MDMgIEpvbmF0aGFuIEJlZGFyZCAgPGpiZWRhcmRAYXBwbGUuY29tPgogCiAgICAgICAgIFB5dGhv
biAzOiBBZGQgc3VwcG9ydCBpbiB3ZWJraXRweS5iaW5kaW5ncwpkaWZmIC0tZ2l0IGEvVG9vbHMv
TGF5b3V0UmVsb2FkZWQvbWlzYy9MRkMtcGFzc2luZy10ZXN0cy50eHQgYi9Ub29scy9MYXlvdXRS
ZWxvYWRlZC9taXNjL0xGQy1wYXNzaW5nLXRlc3RzLnR4dAppbmRleCA5NWNjYjRlNTYzNWFhYTli
YjFmN2Q4NzgwNWMwM2JhOTUwNTdiMjg4Li41NGYzNWQzNzJmY2E3OGQ1NWNhYjBjZmJmNTJhZDE1
NmEyZTg5ZGI2IDEwMDY0NAotLS0gYS9Ub29scy9MYXlvdXRSZWxvYWRlZC9taXNjL0xGQy1wYXNz
aW5nLXRlc3RzLnR4dAorKysgYi9Ub29scy9MYXlvdXRSZWxvYWRlZC9taXNjL0xGQy1wYXNzaW5n
LXRlc3RzLnR4dApAQCAtMjA3MSw3ICsyMDcxLDggQEAgZmFzdC90ZXh0L3plcm8tZm9udC1zaXpl
Lmh0bWwKIGZhc3QvdGV4dC96ZXJvLXNpemVkLWZvbnRzLmh0bWwKIGZhc3QvdGV4dC96ZXJvLXdp
ZHRoLWNoYXJhY3RlcnMuaHRtbAogZmFzdC90ZXh0L2Jhc2ljLzAwMi5odG1sCi1mYXN0L3RleHQv
YmFzaWMvMDAzLmh0bWwKKy8vIGxldHRlci1zcGFjaW5nIHByb2dyZXNzaW9uLgorLy8gZmFzdC90
ZXh0L2Jhc2ljLzAwMy5odG1sCiBmYXN0L3RleHQvYmFzaWMvMDA4Lmh0bWwKIGZhc3QvdGV4dC9i
YXNpYy8wMDkuaHRtbAogZmFzdC90ZXh0L2Jhc2ljLzAxMi5odG1sCg==
</data>
<flag name="review"
          id="400711"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
      

    </bug>

</bugzilla>