<?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>183697</bug_id>
          
          <creation_ts>2018-03-16 07:46:12 -0700</creation_ts>
          <short_desc>[LayoutReloaded] Utils.computed* functions should just take node instead of box.</short_desc>
          <delta_ts>2018-03-16 07:53:22 -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>WebCore Misc.</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>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1406977</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2018-03-16 07:46:12 -0700</bug_when>
    <thetext>it&apos;s not really needed to pass in the box.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1406979</commentid>
    <comment_count>1</comment_count>
      <attachid>335936</attachid>
    <who name="alan">zalan</who>
    <bug_when>2018-03-16 07:47:46 -0700</bug_when>
    <thetext>Created attachment 335936
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1406980</commentid>
    <comment_count>2</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2018-03-16 07:52:47 -0700</bug_when>
    <thetext>Committed r229664: &lt;https://trac.webkit.org/changeset/229664&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1406981</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-03-16 07:53:22 -0700</bug_when>
    <thetext>&lt;rdar://problem/38543638&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>335936</attachid>
            <date>2018-03-16 07:47:46 -0700</date>
            <delta_ts>2018-03-16 07:47:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183697-20180316074744.patch</filename>
            <type>text/plain</type>
            <size>17215</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5NjU4CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMGFhMDE1ODEyMmViYjBhZmNlNWZlMDA1MzMxYzZiODk4
OTEwYTU0Yy4uY2ZhNzVkZGU0MjRiZDBmMmZiMjUzYTFjM2Y0ZTI1MTU3OTgyZGM4MiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU0
IEBACisyMDE4LTAzLTE2ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgW0xheW91dFJlbG9hZGVkXSBVdGlscy5jb21wdXRlZCogZnVuY3Rpb25zIHNob3VsZCBqdXN0
IHRha2Ugbm9kZSBpbnN0ZWFkIG9mIGJveC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE4MzY5NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFRoaXMgaXMgaW4gcHJlcGFyYXRpb24gZm9yIGludHJvZHVjaW5n
IHRoZSBkaXNwbGF5IHRyZWUuCisKKyAgICAgICAgKiBMYXlvdXRSZWxvYWRlZC9Gb3JtYXR0aW5n
Q29udGV4dC9CbG9ja0Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5qczoKKyAgICAg
ICAgKEJsb2NrRm9ybWF0dGluZ0NvbnRleHQucHJvdG90eXBlLl9jb21wdXRlT3V0T2ZGbG93V2lk
dGgpOgorICAgICAgICAoQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5wcm90b3R5cGUuX2NvbXB1dGVG
bG9hdGluZ1dpZHRoKToKKyAgICAgICAgKEJsb2NrRm9ybWF0dGluZ0NvbnRleHQucHJvdG90eXBl
Ll9jb21wdXRlSW5GbG93V2lkdGgpOgorICAgICAgICAoQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5w
cm90b3R5cGUuX2NvbXB1dGVPdXRPZkZsb3dIZWlnaHQpOgorICAgICAgICAoQmxvY2tGb3JtYXR0
aW5nQ29udGV4dC5wcm90b3R5cGUuX2NvbXB1dGVGbG9hdGluZ0hlaWdodCk6CisgICAgICAgIChC
bG9ja0Zvcm1hdHRpbmdDb250ZXh0LnByb3RvdHlwZS5fY29tcHV0ZUluRmxvd0hlaWdodCk6Cisg
ICAgICAgIChCbG9ja0Zvcm1hdHRpbmdDb250ZXh0LnByb3RvdHlwZS5fc2hyaW5rVG9GaXRXaWR0
aCk6CisgICAgICAgICogTGF5b3V0UmVsb2FkZWQvRm9ybWF0dGluZ0NvbnRleHQvQmxvY2tGb3Jt
YXR0aW5nL0Jsb2NrTWFyZ2luQ29sbGFwc2UuanM6CisgICAgICAgIChCbG9ja01hcmdpbkNvbGxh
cHNlLl9ub25Db2xsYXBzZWRNYXJnaW5Ub3ApOgorICAgICAgICAoQmxvY2tNYXJnaW5Db2xsYXBz
ZS5fbm9uQ29sbGFwc2VkTWFyZ2luQm90dG9tKToKKyAgICAgICAgKEJsb2NrTWFyZ2luQ29sbGFw
c2UuX2NvbGxhcHNlZE1hcmdpblRvcEZyb21GaXJzdENoaWxkKToKKyAgICAgICAgKEJsb2NrTWFy
Z2luQ29sbGFwc2UuX2NvbGxhcHNlZE1hcmdpbkJvdHRvbUZyb21MYXN0Q2hpbGQpOgorICAgICAg
ICAqIExheW91dFJlbG9hZGVkL0Zvcm1hdHRpbmdDb250ZXh0L0Zvcm1hdHRpbmdDb250ZXh0Lmpz
OgorICAgICAgICAoRm9ybWF0dGluZ0NvbnRleHQucHJvdG90eXBlLm1hcmdpblRvcCk6CisgICAg
ICAgIChGb3JtYXR0aW5nQ29udGV4dC5wcm90b3R5cGUubWFyZ2luTGVmdCk6CisgICAgICAgIChG
b3JtYXR0aW5nQ29udGV4dC5wcm90b3R5cGUubWFyZ2luQm90dG9tKToKKyAgICAgICAgKEZvcm1h
dHRpbmdDb250ZXh0LnByb3RvdHlwZS5tYXJnaW5SaWdodCk6CisgICAgICAgICogTGF5b3V0UmVs
b2FkZWQvTGF5b3V0VHJlZS9Cb3guanM6CisgICAgICAgIChMYXlvdXQuQm94LnByb3RvdHlwZS5w
YWRkaW5nQm94KToKKyAgICAgICAgKExheW91dC5Cb3gucHJvdG90eXBlLmNvbnRlbnRCb3gpOgor
ICAgICAgICAoTGF5b3V0LkJveCk6CisgICAgICAgICogTGF5b3V0UmVsb2FkZWQvVXRpbHMuanM6
CisgICAgICAgIChVdGlscy5jb21wdXRlZE1hcmdpblRvcCk6CisgICAgICAgIChVdGlscy5jb21w
dXRlZE1hcmdpbkxlZnQpOgorICAgICAgICAoVXRpbHMuY29tcHV0ZWRNYXJnaW5Cb3R0b20pOgor
ICAgICAgICAoVXRpbHMuY29tcHV0ZWRNYXJnaW5SaWdodCk6CisgICAgICAgIChVdGlscy5jb21w
dXRlZEJvcmRlclRvcExlZnQpOgorICAgICAgICAoVXRpbHMuY29tcHV0ZWRCb3JkZXJCb3R0b21S
aWdodCk6CisgICAgICAgIChVdGlscy5jb21wdXRlZFBhZGRpbmdUb3BMZWZ0KToKKyAgICAgICAg
KFV0aWxzLmNvbXB1dGVkUGFkZGluZ0JvdHRvbVJpZ2h0KToKKyAgICAgICAgKFV0aWxzLmNvbXB1
dGVkQm9yZGVyQW5kUGFkZGluZ1RvcCk6CisgICAgICAgIChVdGlscy5jb21wdXRlZEJvcmRlckFu
ZFBhZGRpbmdMZWZ0KToKKyAgICAgICAgKFV0aWxzLmNvbXB1dGVkQm9yZGVyQW5kUGFkZGluZ0Jv
dHRvbSk6CisgICAgICAgIChVdGlscy5jb21wdXRlZEJvcmRlckFuZFBhZGRpbmdSaWdodCk6Cisg
ICAgICAgIChVdGlscy5jb21wdXRlZEhvcml6b250YWxCb3JkZXJBbmRQYWRkaW5nKToKKyAgICAg
ICAgKFV0aWxzLmNvbXB1dGVkVmVydGljYWxCb3JkZXJBbmRQYWRkaW5nKToKKyAgICAgICAgKFV0
aWxzLmNvbXB1dGVkTGluZUhlaWdodCk6CisgICAgICAgIChVdGlscy5oYXNDbGVhckxlZnQpOgor
ICAgICAgICAoVXRpbHMuaGFzQ2xlYXJSaWdodCk6CisgICAgICAgIChVdGlscy5oYXNDbGVhckJv
dGgpOgorCiAyMDE4LTAzLTE1ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAg
ICAgICAgW0xheW91dFJlbG9hZGVkXSBTaG91bGQgbmV2ZXIgbmVlZCB0byBnbyBiZXlvbmQgdGhl
IHJvb3QgY29udGFpbmVyIHdoZW4gYXNraW5nIGZvciB0aGUgY29udGFpbmluZyBibG9jay4KZGlm
ZiAtLWdpdCBhL1Rvb2xzL0xheW91dFJlbG9hZGVkL0Zvcm1hdHRpbmdDb250ZXh0L0Jsb2NrRm9y
bWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0LmpzIGIvVG9vbHMvTGF5b3V0UmVsb2FkZWQv
Rm9ybWF0dGluZ0NvbnRleHQvQmxvY2tGb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQu
anMKaW5kZXggMmJjN2JlZGU1OTc5NjJjMGU5YTNkM2Y3YWY4MjA1Y2FhZThiZjQ2Ny4uNWI3Njdh
MDJhZjhiOTlmYWMzOWJhZDU2ZTkxYmVmMTdlNjBhOGIzZCAxMDA2NDQKLS0tIGEvVG9vbHMvTGF5
b3V0UmVsb2FkZWQvRm9ybWF0dGluZ0NvbnRleHQvQmxvY2tGb3JtYXR0aW5nL0Jsb2NrRm9ybWF0
dGluZ0NvbnRleHQuanMKKysrIGIvVG9vbHMvTGF5b3V0UmVsb2FkZWQvRm9ybWF0dGluZ0NvbnRl
eHQvQmxvY2tGb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuanMKQEAgLTE1OCwxOSAr
MTU4LDE5IEBAIGNsYXNzIEJsb2NrRm9ybWF0dGluZ0NvbnRleHQgZXh0ZW5kcyBGb3JtYXR0aW5n
Q29udGV4dCB7CiAgICAgICAgICAgICB3aWR0aCA9IFV0aWxzLndpZHRoKGxheW91dEJveCk7IC8v
IDYKICAgICAgICAgZWxzZQogICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAg
ICAgIHdpZHRoICs9IFV0aWxzLmNvbXB1dGVkSG9yaXpvbnRhbEJvcmRlckFuZFBhZGRpbmcobGF5
b3V0Qm94KTsKKyAgICAgICAgd2lkdGggKz0gVXRpbHMuY29tcHV0ZWRIb3Jpem9udGFsQm9yZGVy
QW5kUGFkZGluZyhsYXlvdXRCb3gubm9kZSgpKTsKICAgICAgICAgbGF5b3V0Qm94LnNldFdpZHRo
KHdpZHRoKTsKICAgICB9CiAKICAgICBfY29tcHV0ZUZsb2F0aW5nV2lkdGgobGF5b3V0Qm94KSB7
CiAgICAgICAgIC8vIEZJWE1FOiBtaXNzaW5nIGNhc2VzCi0gICAgICAgIGxheW91dEJveC5zZXRX
aWR0aChVdGlscy53aWR0aChsYXlvdXRCb3gpICsgVXRpbHMuY29tcHV0ZWRIb3Jpem9udGFsQm9y
ZGVyQW5kUGFkZGluZyhsYXlvdXRCb3gpKTsKKyAgICAgICAgbGF5b3V0Qm94LnNldFdpZHRoKFV0
aWxzLndpZHRoKGxheW91dEJveCkgKyBVdGlscy5jb21wdXRlZEhvcml6b250YWxCb3JkZXJBbmRQ
YWRkaW5nKGxheW91dEJveC5ub2RlKCkpKTsKICAgICB9CiAKICAgICBfY29tcHV0ZUluRmxvd1dp
ZHRoKGxheW91dEJveCkgewogICAgICAgICBpZiAoVXRpbHMuaXNXaWR0aEF1dG8obGF5b3V0Qm94
KSkKICAgICAgICAgICAgIHJldHVybiBsYXlvdXRCb3guc2V0V2lkdGgodGhpcy5faG9yaXpvbnRh
bENvbnN0cmFpbnQobGF5b3V0Qm94KSk7Ci0gICAgICAgIHJldHVybiBsYXlvdXRCb3guc2V0V2lk
dGgoVXRpbHMud2lkdGgobGF5b3V0Qm94KSArIFV0aWxzLmNvbXB1dGVkSG9yaXpvbnRhbEJvcmRl
ckFuZFBhZGRpbmcobGF5b3V0Qm94KSk7CisgICAgICAgIHJldHVybiBsYXlvdXRCb3guc2V0V2lk
dGgoVXRpbHMud2lkdGgobGF5b3V0Qm94KSArIFV0aWxzLmNvbXB1dGVkSG9yaXpvbnRhbEJvcmRl
ckFuZFBhZGRpbmcobGF5b3V0Qm94Lm5vZGUoKSkpOwogICAgIH0KIAogICAgIF9jb21wdXRlT3V0
T2ZGbG93SGVpZ2h0KGxheW91dEJveCkgewpAQCAtMjA2LDEzICsyMDYsMTMgQEAgY2xhc3MgQmxv
Y2tGb3JtYXR0aW5nQ29udGV4dCBleHRlbmRzIEZvcm1hdHRpbmdDb250ZXh0IHsKICAgICAgICAg
ICAgIGhlaWdodCA9IFV0aWxzLmhlaWdodChsYXlvdXRCb3gpOyAvLyA4CiAgICAgICAgIGVsc2UK
ICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICBoZWlnaHQgKz0gVXRp
bHMuY29tcHV0ZWRWZXJ0aWNhbEJvcmRlckFuZFBhZGRpbmcobGF5b3V0Qm94KTsKKyAgICAgICAg
aGVpZ2h0ICs9IFV0aWxzLmNvbXB1dGVkVmVydGljYWxCb3JkZXJBbmRQYWRkaW5nKGxheW91dEJv
eC5ub2RlKCkpOwogICAgICAgICBsYXlvdXRCb3guc2V0SGVpZ2h0KGhlaWdodCk7CiAgICAgfQog
CiAgICAgX2NvbXB1dGVGbG9hdGluZ0hlaWdodChsYXlvdXRCb3gpIHsKICAgICAgICAgLy8gRklY
TUU6IG1pc3NpbmcgY2FzZXMKLSAgICAgICAgbGF5b3V0Qm94LnNldEhlaWdodChVdGlscy5oZWln
aHQobGF5b3V0Qm94KSArIFV0aWxzLmNvbXB1dGVkVmVydGljYWxCb3JkZXJBbmRQYWRkaW5nKGxh
eW91dEJveCkpOworICAgICAgICBsYXlvdXRCb3guc2V0SGVpZ2h0KFV0aWxzLmhlaWdodChsYXlv
dXRCb3gpICsgVXRpbHMuY29tcHV0ZWRWZXJ0aWNhbEJvcmRlckFuZFBhZGRpbmcobGF5b3V0Qm94
Lm5vZGUoKSkpOwogICAgIH0KIAogICAgIF9jb21wdXRlSW5GbG93SGVpZ2h0KGxheW91dEJveCkg
ewpAQCAtMjIyLDkgKzIyMiw5IEBAIGNsYXNzIEJsb2NrRm9ybWF0dGluZ0NvbnRleHQgZXh0ZW5k
cyBGb3JtYXR0aW5nQ29udGV4dCB7CiAKICAgICAgICAgICAgIC8vIFRoZSBlbGVtZW50J3MgaGVp
Z2h0IGlzIHRoZSBkaXN0YW5jZSBmcm9tIGl0cyB0b3AgY29udGVudCBlZGdlIHRvIHRoZSBmaXJz
dCBhcHBsaWNhYmxlIG9mIHRoZSBmb2xsb3dpbmc6CiAgICAgICAgICAgICAvLyAxLiB0aGUgYm90
dG9tIGVkZ2Ugb2YgdGhlIGxhc3QgbGluZSBib3gsIGlmIHRoZSBib3ggZXN0YWJsaXNoZXMgYSBp
bmxpbmUgZm9ybWF0dGluZyBjb250ZXh0IHdpdGggb25lIG9yIG1vcmUgbGluZXMKLSAgICAgICAg
ICAgIHJldHVybiBsYXlvdXRCb3guc2V0SGVpZ2h0KHRoaXMuX2NvbnRlbnRIZWlnaHQobGF5b3V0
Qm94KSArIFV0aWxzLmNvbXB1dGVkVmVydGljYWxCb3JkZXJBbmRQYWRkaW5nKGxheW91dEJveCkp
OworICAgICAgICAgICAgcmV0dXJuIGxheW91dEJveC5zZXRIZWlnaHQodGhpcy5fY29udGVudEhl
aWdodChsYXlvdXRCb3gpICsgVXRpbHMuY29tcHV0ZWRWZXJ0aWNhbEJvcmRlckFuZFBhZGRpbmco
bGF5b3V0Qm94Lm5vZGUoKSkpOwogICAgICAgICB9Ci0gICAgICAgIHJldHVybiBsYXlvdXRCb3gu
c2V0SGVpZ2h0KFV0aWxzLmhlaWdodChsYXlvdXRCb3gpICsgVXRpbHMuY29tcHV0ZWRWZXJ0aWNh
bEJvcmRlckFuZFBhZGRpbmcobGF5b3V0Qm94KSk7CisgICAgICAgIHJldHVybiBsYXlvdXRCb3gu
c2V0SGVpZ2h0KFV0aWxzLmhlaWdodChsYXlvdXRCb3gpICsgVXRpbHMuY29tcHV0ZWRWZXJ0aWNh
bEJvcmRlckFuZFBhZGRpbmcobGF5b3V0Qm94Lm5vZGUoKSkpOwogICAgIH0KIAogICAgIF9ob3Jp
em9udGFsQ29uc3RyYWludChsYXlvdXRCb3gpIHsKQEAgLTMyMyw3ICszMjMsNyBAQCBjbGFzcyBC
bG9ja0Zvcm1hdHRpbmdDb250ZXh0IGV4dGVuZHMgRm9ybWF0dGluZ0NvbnRleHQgewogICAgICAg
ICBsZXQgd2lkdGggPSAwOwogICAgICAgICBmb3IgKGxldCBpbkZsb3dDaGlsZCA9IGxheW91dEJv
eC5maXJzdEluRmxvd0NoaWxkKCk7IGluRmxvd0NoaWxkOyBpbkZsb3dDaGlsZCA9IGluRmxvd0No
aWxkLm5leHRJbkZsb3dTaWJsaW5nKCkpIHsKICAgICAgICAgICAgIGxldCB3aWR0aENhbmRpZGF0
ZSA9IFV0aWxzLmlzV2lkdGhBdXRvKGluRmxvd0NoaWxkKSA/IHRoaXMuX3Nocmlua1RvRml0V2lk
dGgoaW5GbG93Q2hpbGQpIDogVXRpbHMud2lkdGgoaW5GbG93Q2hpbGQpOwotICAgICAgICAgICAg
d2lkdGggPSBNYXRoLm1heCh3aWR0aCwgd2lkdGhDYW5kaWRhdGUgKyBVdGlscy5jb21wdXRlZEhv
cml6b250YWxCb3JkZXJBbmRQYWRkaW5nKGluRmxvd0NoaWxkKSk7CisgICAgICAgICAgICB3aWR0
aCA9IE1hdGgubWF4KHdpZHRoLCB3aWR0aENhbmRpZGF0ZSArIFV0aWxzLmNvbXB1dGVkSG9yaXpv
bnRhbEJvcmRlckFuZFBhZGRpbmcoaW5GbG93Q2hpbGQubm9kZSgpKSk7CiAgICAgICAgIH0KICAg
ICAgICAgcmV0dXJuIHdpZHRoOwogICAgIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL0xheW91dFJlbG9h
ZGVkL0Zvcm1hdHRpbmdDb250ZXh0L0Jsb2NrRm9ybWF0dGluZy9CbG9ja01hcmdpbkNvbGxhcHNl
LmpzIGIvVG9vbHMvTGF5b3V0UmVsb2FkZWQvRm9ybWF0dGluZ0NvbnRleHQvQmxvY2tGb3JtYXR0
aW5nL0Jsb2NrTWFyZ2luQ29sbGFwc2UuanMKaW5kZXggNzg0NWEwOTA3N2IyNDJiZWE0YzNjYTNh
NWE1ODFlMGU3YTNhYTExMy4uODQxYWFmOGU2YTdhMDcwNGI5ZWM0ZDQ2YjZmOGIyNDAwNzRlZWJk
NyAxMDA2NDQKLS0tIGEvVG9vbHMvTGF5b3V0UmVsb2FkZWQvRm9ybWF0dGluZ0NvbnRleHQvQmxv
Y2tGb3JtYXR0aW5nL0Jsb2NrTWFyZ2luQ29sbGFwc2UuanMKKysrIGIvVG9vbHMvTGF5b3V0UmVs
b2FkZWQvRm9ybWF0dGluZ0NvbnRleHQvQmxvY2tGb3JtYXR0aW5nL0Jsb2NrTWFyZ2luQ29sbGFw
c2UuanMKQEAgLTEzMCwxMiArMTMwLDEyIEBAIGNsYXNzIEJsb2NrTWFyZ2luQ29sbGFwc2Ugewog
CiAgICAgc3RhdGljIF9ub25Db2xsYXBzZWRNYXJnaW5Ub3AobGF5b3V0Qm94KSB7CiAgICAgICAg
IC8vIE5vbiBjb2xsYXBzZWQgbWFyZ2luIHRvcCBpbmNsdWRlcyBjb2xsYXBzZWQgbWFyZ2luIGZy
b20gaW5mbG93IGZpcnN0IGNoaWxkLgotICAgICAgICByZXR1cm4gdGhpcy5fbWFyZ2luVmFsdWUo
VXRpbHMuY29tcHV0ZWRNYXJnaW5Ub3AobGF5b3V0Qm94KSwgdGhpcy5fY29sbGFwc2VkTWFyZ2lu
VG9wRnJvbUZpcnN0Q2hpbGQobGF5b3V0Qm94KSk7CisgICAgICAgIHJldHVybiB0aGlzLl9tYXJn
aW5WYWx1ZShVdGlscy5jb21wdXRlZE1hcmdpblRvcChsYXlvdXRCb3gubm9kZSgpKSwgdGhpcy5f
Y29sbGFwc2VkTWFyZ2luVG9wRnJvbUZpcnN0Q2hpbGQobGF5b3V0Qm94KSk7CiAgICAgfQogCiAg
ICAgc3RhdGljIF9ub25Db2xsYXBzZWRNYXJnaW5Cb3R0b20obGF5b3V0Qm94KSB7CiAgICAgICAg
IC8vIE5vbiBjb2xsYXBzZWQgbWFyZ2luIGJvdHRvbSBpbmNsdWRlcyBjb2xsYXBzZWQgbWFyZ2lu
IGZyb20gaW5mbG93IGxhc3QgY2hpbGQuCi0gICAgICAgIHJldHVybiB0aGlzLl9tYXJnaW5WYWx1
ZShVdGlscy5jb21wdXRlZE1hcmdpbkJvdHRvbShsYXlvdXRCb3gpLCB0aGlzLl9jb2xsYXBzZWRN
YXJnaW5Cb3R0b21Gcm9tTGFzdENoaWxkKGxheW91dEJveCkpOworICAgICAgICByZXR1cm4gdGhp
cy5fbWFyZ2luVmFsdWUoVXRpbHMuY29tcHV0ZWRNYXJnaW5Cb3R0b20obGF5b3V0Qm94Lm5vZGUo
KSksIHRoaXMuX2NvbGxhcHNlZE1hcmdpbkJvdHRvbUZyb21MYXN0Q2hpbGQobGF5b3V0Qm94KSk7
CiAgICAgfQogCiAgICAgc3RhdGljIF9jb2xsYXBzZWRNYXJnaW5Ub3BGcm9tRmlyc3RDaGlsZChs
YXlvdXRCb3gpIHsKQEAgLTE0Niw3ICsxNDYsNyBAQCBjbGFzcyBCbG9ja01hcmdpbkNvbGxhcHNl
IHsKICAgICAgICAgaWYgKCF0aGlzLl9pc01hcmdpblRvcENvbGxhcHNlZFdpdGhQYXJlbnQoZmly
c3RJbkZsb3dDaGlsZCkpCiAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgLy8gQ29sbGVj
dCBjb2xsYXBzZWQgbWFyZ2luIHRvcCByZWN1cnNpdmVseS4KLSAgICAgICAgcmV0dXJuIHRoaXMu
X21hcmdpblZhbHVlKFV0aWxzLmNvbXB1dGVkTWFyZ2luVG9wKGZpcnN0SW5GbG93Q2hpbGQpLCB0
aGlzLl9jb2xsYXBzZWRNYXJnaW5Ub3BGcm9tRmlyc3RDaGlsZChmaXJzdEluRmxvd0NoaWxkKSk7
CisgICAgICAgIHJldHVybiB0aGlzLl9tYXJnaW5WYWx1ZShVdGlscy5jb21wdXRlZE1hcmdpblRv
cChmaXJzdEluRmxvd0NoaWxkLm5vZGUoKSksIHRoaXMuX2NvbGxhcHNlZE1hcmdpblRvcEZyb21G
aXJzdENoaWxkKGZpcnN0SW5GbG93Q2hpbGQpKTsKICAgICB9CiAKICAgICBzdGF0aWMgX2NvbGxh
cHNlZE1hcmdpbkJvdHRvbUZyb21MYXN0Q2hpbGQobGF5b3V0Qm94KSB7CkBAIC0xNTcsNyArMTU3
LDcgQEAgY2xhc3MgQmxvY2tNYXJnaW5Db2xsYXBzZSB7CiAgICAgICAgIGlmICghdGhpcy5faXNN
YXJnaW5Cb3R0b21Db2xsYXBzZWRXaXRoUGFyZW50KGxhc3RJbkZsb3dDaGlsZCkpCiAgICAgICAg
ICAgICByZXR1cm4gMDsKICAgICAgICAgLy8gQ29sbGVjdCBjb2xsYXBzZWQgbWFyZ2luIGJvdHRv
bSByZWN1cnNpdmVseS4KLSAgICAgICAgcmV0dXJuIHRoaXMuX21hcmdpblZhbHVlKFV0aWxzLmNv
bXB1dGVkTWFyZ2luQm90dG9tKGxhc3RJbkZsb3dDaGlsZCksIHRoaXMuX2NvbGxhcHNlZE1hcmdp
bkJvdHRvbUZyb21MYXN0Q2hpbGQobGFzdEluRmxvd0NoaWxkKSk7CisgICAgICAgIHJldHVybiB0
aGlzLl9tYXJnaW5WYWx1ZShVdGlscy5jb21wdXRlZE1hcmdpbkJvdHRvbShsYXN0SW5GbG93Q2hp
bGQubm9kZSgpKSwgdGhpcy5fY29sbGFwc2VkTWFyZ2luQm90dG9tRnJvbUxhc3RDaGlsZChsYXN0
SW5GbG93Q2hpbGQpKTsKICAgICB9CiAKICAgICBzdGF0aWMgX21hcmdpblZhbHVlKGN1cnJlbnRN
YXJnaW5WYWx1ZSwgY2FuZGlkYXRlTWFyZ2luVmFsdWUpIHsKZGlmZiAtLWdpdCBhL1Rvb2xzL0xh
eW91dFJlbG9hZGVkL0Zvcm1hdHRpbmdDb250ZXh0L0Zvcm1hdHRpbmdDb250ZXh0LmpzIGIvVG9v
bHMvTGF5b3V0UmVsb2FkZWQvRm9ybWF0dGluZ0NvbnRleHQvRm9ybWF0dGluZ0NvbnRleHQuanMK
aW5kZXggZWVjODdkOWEwZWIwYmI2ODYyNzU5YzAyODhkMTE3M2YwNmM2ZTI1MS4uN2E3Y2FkODE3
ODRjMDU2ZGU3NDhiNmVmNjc2NGRiZDQ0Y2VkMDM3OCAxMDA2NDQKLS0tIGEvVG9vbHMvTGF5b3V0
UmVsb2FkZWQvRm9ybWF0dGluZ0NvbnRleHQvRm9ybWF0dGluZ0NvbnRleHQuanMKKysrIGIvVG9v
bHMvTGF5b3V0UmVsb2FkZWQvRm9ybWF0dGluZ0NvbnRleHQvRm9ybWF0dGluZ0NvbnRleHQuanMK
QEAgLTQ3LDE5ICs0NywxOSBAQCBjbGFzcyBGb3JtYXR0aW5nQ29udGV4dCB7CiAgICAgfQogCiAg
ICAgbWFyZ2luVG9wKGxheW91dEJveCkgewotICAgICAgICByZXR1cm4gVXRpbHMuY29tcHV0ZWRN
YXJnaW5Ub3AobGF5b3V0Qm94KTsKKyAgICAgICAgcmV0dXJuIFV0aWxzLmNvbXB1dGVkTWFyZ2lu
VG9wKGxheW91dEJveC5ub2RlKCkpOwogICAgIH0KICAgICAKICAgICBtYXJnaW5MZWZ0KGxheW91
dEJveCkgewotICAgICAgICByZXR1cm4gVXRpbHMuY29tcHV0ZWRNYXJnaW5MZWZ0KGxheW91dEJv
eCk7CisgICAgICAgIHJldHVybiBVdGlscy5jb21wdXRlZE1hcmdpbkxlZnQobGF5b3V0Qm94Lm5v
ZGUoKSk7CiAgICAgfQogICAgIAogICAgIG1hcmdpbkJvdHRvbShsYXlvdXRCb3gpIHsKLSAgICAg
ICAgcmV0dXJuIFV0aWxzLmNvbXB1dGVkTWFyZ2luQm90dG9tKGxheW91dEJveCk7CisgICAgICAg
IHJldHVybiBVdGlscy5jb21wdXRlZE1hcmdpbkJvdHRvbShsYXlvdXRCb3gubm9kZSgpKTsKICAg
ICB9CiAgICAgCiAgICAgbWFyZ2luUmlnaHQobGF5b3V0Qm94KSB7Ci0gICAgICAgIHJldHVybiBV
dGlscy5jb21wdXRlZE1hcmdpblJpZ2h0KGxheW91dEJveCk7CisgICAgICAgIHJldHVybiBVdGls
cy5jb21wdXRlZE1hcmdpblJpZ2h0KGxheW91dEJveC5ub2RlKCkpOwogICAgIH0KIAogICAgIGFi
c29sdXRlTWFyZ2luQm94KGxheW91dEJveCkgewpkaWZmIC0tZ2l0IGEvVG9vbHMvTGF5b3V0UmVs
b2FkZWQvTGF5b3V0VHJlZS9Cb3guanMgYi9Ub29scy9MYXlvdXRSZWxvYWRlZC9MYXlvdXRUcmVl
L0JveC5qcwppbmRleCA4NTFhOTNhM2ZjMWFiMzEwNmEyOTRkOTkzYjU1ZDZkNjFkZTIwNTJhLi41
ZjI4MmJiYjgwZDkwZTE3NjM2NmY0YzMxOTRjYjNiOWUyZDNjNTNiIDEwMDY0NAotLS0gYS9Ub29s
cy9MYXlvdXRSZWxvYWRlZC9MYXlvdXRUcmVlL0JveC5qcworKysgYi9Ub29scy9MYXlvdXRSZWxv
YWRlZC9MYXlvdXRUcmVlL0JveC5qcwpAQCAtMjM5LDE5ICsyMzksMTkgQEAgTGF5b3V0LkJveCA9
IGNsYXNzIEJveCB7CiAKICAgICBwYWRkaW5nQm94KCkgewogICAgICAgICBsZXQgcGFkZGluZ0Jv
eCA9IHRoaXMuYm9yZGVyQm94KCk7Ci0gICAgICAgIGxldCBib3JkZXJTaXplID0gVXRpbHMuY29t
cHV0ZWRCb3JkZXJUb3BMZWZ0KHRoaXMpOworICAgICAgICBsZXQgYm9yZGVyU2l6ZSA9IFV0aWxz
LmNvbXB1dGVkQm9yZGVyVG9wTGVmdCh0aGlzLm5vZGUoKSk7CiAgICAgICAgIHBhZGRpbmdCb3gu
bW92ZUJ5KGJvcmRlclNpemUpOwogICAgICAgICBwYWRkaW5nQm94LnNocmlua0J5KGJvcmRlclNp
emUpOwotICAgICAgICBwYWRkaW5nQm94LnNocmlua0J5KFV0aWxzLmNvbXB1dGVkQm9yZGVyQm90
dG9tUmlnaHQodGhpcykpOworICAgICAgICBwYWRkaW5nQm94LnNocmlua0J5KFV0aWxzLmNvbXB1
dGVkQm9yZGVyQm90dG9tUmlnaHQodGhpcy5ub2RlKCkpKTsKICAgICAgICAgcmV0dXJuIHBhZGRp
bmdCb3g7CiAgICAgfQogCiAgICAgY29udGVudEJveCgpIHsKICAgICAgICAgbGV0IGNvbnRlbnRC
b3ggPSB0aGlzLnBhZGRpbmdCb3goKTsKLSAgICAgICAgbGV0IHBhZGRpbmdTaXplID0gVXRpbHMu
Y29tcHV0ZWRQYWRkaW5nVG9wTGVmdCh0aGlzKTsKKyAgICAgICAgbGV0IHBhZGRpbmdTaXplID0g
VXRpbHMuY29tcHV0ZWRQYWRkaW5nVG9wTGVmdCh0aGlzLm5vZGUoKSk7CiAgICAgICAgIGNvbnRl
bnRCb3gubW92ZUJ5KHBhZGRpbmdTaXplKTsKICAgICAgICAgY29udGVudEJveC5zaHJpbmtCeShw
YWRkaW5nU2l6ZSk7Ci0gICAgICAgIGNvbnRlbnRCb3guc2hyaW5rQnkoVXRpbHMuY29tcHV0ZWRQ
YWRkaW5nQm90dG9tUmlnaHQodGhpcykpOworICAgICAgICBjb250ZW50Qm94LnNocmlua0J5KFV0
aWxzLmNvbXB1dGVkUGFkZGluZ0JvdHRvbVJpZ2h0KHRoaXMubm9kZSgpKSk7CiAgICAgICAgIHJl
dHVybiBjb250ZW50Qm94OwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL0xheW91dFJlbG9h
ZGVkL1V0aWxzLmpzIGIvVG9vbHMvTGF5b3V0UmVsb2FkZWQvVXRpbHMuanMKaW5kZXggMjRjOGMy
NjkzZjdhMDk1ZjE1ZTVmMzcxM2NmYTYwYWYyYmYzMTcyNS4uZGUxYjEzM2I1ZjQ0OTJiYWU3YmZj
YjcwM2QzYjk4YTYyNzQ4NjE2MSAxMDA2NDQKLS0tIGEvVG9vbHMvTGF5b3V0UmVsb2FkZWQvVXRp
bHMuanMKKysrIGIvVG9vbHMvTGF5b3V0UmVsb2FkZWQvVXRpbHMuanMKQEAgLTMyMyw3NiArMzIz
LDcyIEBAIGNsYXNzIFV0aWxzIHsKICAgICAgICAgcmV0dXJuIHdpbmRvdy5nZXRDb21wdXRlZFN0
eWxlKGJveC5ub2RlKCkpLnBhZGRpbmdCb3R0b20gIT0gIjBweCI7CiAgICAgfQogCi0gICAgc3Rh
dGljIGNvbXB1dGVkTWFyZ2luVG9wKGJveCkgewotICAgICAgICByZXR1cm4gVXRpbHMuY29tcHV0
ZWRWYWx1ZSh3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShib3gubm9kZSgpKS5tYXJnaW5Ub3ApOwor
ICAgIHN0YXRpYyBjb21wdXRlZE1hcmdpblRvcChub2RlKSB7CisgICAgICAgIHJldHVybiBVdGls
cy5jb21wdXRlZFZhbHVlKHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKG5vZGUpLm1hcmdpblRvcCk7
CiAgICAgfQogCi0gICAgc3RhdGljIGNvbXB1dGVkTWFyZ2luTGVmdChib3gpIHsKLSAgICAgICAg
cmV0dXJuIFV0aWxzLmNvbXB1dGVkVmFsdWUod2luZG93LmdldENvbXB1dGVkU3R5bGUoYm94Lm5v
ZGUoKSkubWFyZ2luTGVmdCk7CisgICAgc3RhdGljIGNvbXB1dGVkTWFyZ2luTGVmdChub2RlKSB7
CisgICAgICAgIHJldHVybiBVdGlscy5jb21wdXRlZFZhbHVlKHdpbmRvdy5nZXRDb21wdXRlZFN0
eWxlKG5vZGUpLm1hcmdpbkxlZnQpOwogICAgIH0KIAotICAgIHN0YXRpYyBjb21wdXRlZE1hcmdp
bkJvdHRvbShib3gpIHsKLSAgICAgICAgcmV0dXJuIFV0aWxzLmNvbXB1dGVkVmFsdWUod2luZG93
LmdldENvbXB1dGVkU3R5bGUoYm94Lm5vZGUoKSkubWFyZ2luQm90dG9tKTsKKyAgICBzdGF0aWMg
Y29tcHV0ZWRNYXJnaW5Cb3R0b20obm9kZSkgeworICAgICAgICByZXR1cm4gVXRpbHMuY29tcHV0
ZWRWYWx1ZSh3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShub2RlKS5tYXJnaW5Cb3R0b20pOwogICAg
IH0KIAotICAgIHN0YXRpYyBjb21wdXRlZE1hcmdpblJpZ2h0KGJveCkgewotICAgICAgICByZXR1
cm4gVXRpbHMuY29tcHV0ZWRWYWx1ZSh3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShib3gubm9kZSgp
KS5tYXJnaW5SaWdodCk7CisgICAgc3RhdGljIGNvbXB1dGVkTWFyZ2luUmlnaHQobm9kZSkgewor
ICAgICAgICByZXR1cm4gVXRpbHMuY29tcHV0ZWRWYWx1ZSh3aW5kb3cuZ2V0Q29tcHV0ZWRTdHls
ZShub2RlKS5tYXJnaW5SaWdodCk7CiAgICAgfQogCi0gICAgc3RhdGljIGNvbXB1dGVkQm9yZGVy
VG9wTGVmdChib3gpIHsKLSAgICAgICAgbGV0IG5vZGUgPSBib3gubm9kZSgpOworICAgIHN0YXRp
YyBjb21wdXRlZEJvcmRlclRvcExlZnQobm9kZSkgewogICAgICAgICByZXR1cm4gbmV3IExheW91
dFNpemUoVXRpbHMuY29tcHV0ZWRWYWx1ZSh3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShub2RlKS5i
b3JkZXJMZWZ0V2lkdGgpLCBVdGlscy5jb21wdXRlZFZhbHVlKHdpbmRvdy5nZXRDb21wdXRlZFN0
eWxlKG5vZGUpLmJvcmRlclRvcFdpZHRoKSk7CiAgICAgfQogCi0gICAgc3RhdGljIGNvbXB1dGVk
Qm9yZGVyQm90dG9tUmlnaHQoYm94KSB7Ci0gICAgICAgIGxldCBub2RlID0gYm94Lm5vZGUoKTsK
KyAgICBzdGF0aWMgY29tcHV0ZWRCb3JkZXJCb3R0b21SaWdodChub2RlKSB7CiAgICAgICAgIHJl
dHVybiBuZXcgTGF5b3V0U2l6ZShVdGlscy5jb21wdXRlZFZhbHVlKHdpbmRvdy5nZXRDb21wdXRl
ZFN0eWxlKG5vZGUpLmJvcmRlclJpZ2h0V2lkdGgpLCBVdGlscy5jb21wdXRlZFZhbHVlKHdpbmRv
dy5nZXRDb21wdXRlZFN0eWxlKG5vZGUpLmJvcmRlckJvdHRvbVdpZHRoKSk7CiAgICAgfQogCi0g
ICAgc3RhdGljIGNvbXB1dGVkUGFkZGluZ1RvcExlZnQoYm94KSB7Ci0gICAgICAgIGxldCBub2Rl
ID0gYm94Lm5vZGUoKTsKKyAgICBzdGF0aWMgY29tcHV0ZWRQYWRkaW5nVG9wTGVmdChub2RlKSB7
CiAgICAgICAgIHJldHVybiBuZXcgTGF5b3V0U2l6ZShVdGlscy5jb21wdXRlZFZhbHVlKHdpbmRv
dy5nZXRDb21wdXRlZFN0eWxlKG5vZGUpLnBhZGRpbmdMZWZ0KSwgVXRpbHMuY29tcHV0ZWRWYWx1
ZSh3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShub2RlKS5wYWRkaW5nVG9wKSk7CiAgICAgfQogCi0g
ICAgc3RhdGljIGNvbXB1dGVkUGFkZGluZ0JvdHRvbVJpZ2h0KGJveCkgewotICAgICAgICBsZXQg
bm9kZSA9IGJveC5ub2RlKCk7CisgICAgc3RhdGljIGNvbXB1dGVkUGFkZGluZ0JvdHRvbVJpZ2h0
KG5vZGUpIHsKICAgICAgICAgcmV0dXJuIG5ldyBMYXlvdXRTaXplKFV0aWxzLmNvbXB1dGVkVmFs
dWUod2luZG93LmdldENvbXB1dGVkU3R5bGUobm9kZSkucGFkZGluZ1JpZ2h0KSwgVXRpbHMuY29t
cHV0ZWRWYWx1ZSh3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShub2RlKS5wYWRkaW5nQm90dG9tKSk7
CiAgICAgfQogCi0gICAgc3RhdGljIGNvbXB1dGVkQm9yZGVyQW5kUGFkZGluZ1RvcChib3gpIHsK
LSAgICAgICAgcmV0dXJuIFV0aWxzLmNvbXB1dGVkQm9yZGVyVG9wTGVmdChib3gpLmhlaWdodCgp
ICsgVXRpbHMuY29tcHV0ZWRQYWRkaW5nVG9wTGVmdChib3gpLmhlaWdodCgpOworICAgIHN0YXRp
YyBjb21wdXRlZEJvcmRlckFuZFBhZGRpbmdUb3Aobm9kZSkgeworICAgICAgICByZXR1cm4gVXRp
bHMuY29tcHV0ZWRCb3JkZXJUb3BMZWZ0KG5vZGUpLmhlaWdodCgpICsgVXRpbHMuY29tcHV0ZWRQ
YWRkaW5nVG9wTGVmdChub2RlKS5oZWlnaHQoKTsKICAgICB9CiAKLSAgICBzdGF0aWMgY29tcHV0
ZWRCb3JkZXJBbmRQYWRkaW5nTGVmdChib3gpIHsKLSAgICAgICAgcmV0dXJuIFV0aWxzLmNvbXB1
dGVkQm9yZGVyVG9wTGVmdChib3gpLndpZHRoKCkgKyBVdGlscy5jb21wdXRlZFBhZGRpbmdUb3BM
ZWZ0KGJveCkud2lkdGgoKTsKKyAgICBzdGF0aWMgY29tcHV0ZWRCb3JkZXJBbmRQYWRkaW5nTGVm
dChub2RlKSB7CisgICAgICAgIHJldHVybiBVdGlscy5jb21wdXRlZEJvcmRlclRvcExlZnQobm9k
ZSkud2lkdGgoKSArIFV0aWxzLmNvbXB1dGVkUGFkZGluZ1RvcExlZnQobm9kZSkud2lkdGgoKTsK
ICAgICB9CiAKLSAgICBzdGF0aWMgY29tcHV0ZWRCb3JkZXJBbmRQYWRkaW5nVG9wKGJveCkgewot
ICAgICAgICByZXR1cm4gVXRpbHMuY29tcHV0ZWRCb3JkZXJUb3BMZWZ0KGJveCkuaGVpZ2h0KCkg
KyBVdGlscy5jb21wdXRlZFBhZGRpbmdUb3BMZWZ0KGJveCkuaGVpZ2h0KCk7CisgICAgc3RhdGlj
IGNvbXB1dGVkQm9yZGVyQW5kUGFkZGluZ1RvcChub2RlKSB7CisgICAgICAgIHJldHVybiBVdGls
cy5jb21wdXRlZEJvcmRlclRvcExlZnQobm9kZSkuaGVpZ2h0KCkgKyBVdGlscy5jb21wdXRlZFBh
ZGRpbmdUb3BMZWZ0KG5vZGUpLmhlaWdodCgpOwogICAgIH0KIAotICAgIHN0YXRpYyBjb21wdXRl
ZEJvcmRlckFuZFBhZGRpbmdMZWZ0KGJveCkgewotICAgICAgICByZXR1cm4gVXRpbHMuY29tcHV0
ZWRCb3JkZXJUb3BMZWZ0KGJveCkud2lkdGgoKSArIFV0aWxzLmNvbXB1dGVkUGFkZGluZ1RvcExl
ZnQoYm94KS53aWR0aCgpOworICAgIHN0YXRpYyBjb21wdXRlZEJvcmRlckFuZFBhZGRpbmdMZWZ0
KG5vZGUpIHsKKyAgICAgICAgcmV0dXJuIFV0aWxzLmNvbXB1dGVkQm9yZGVyVG9wTGVmdChub2Rl
KS53aWR0aCgpICsgVXRpbHMuY29tcHV0ZWRQYWRkaW5nVG9wTGVmdChub2RlKS53aWR0aCgpOwog
ICAgIH0KIAotICAgIHN0YXRpYyBjb21wdXRlZEJvcmRlckFuZFBhZGRpbmdCb3R0b20oYm94KSB7
Ci0gICAgICAgIHJldHVybiBVdGlscy5jb21wdXRlZEJvcmRlckJvdHRvbVJpZ2h0KGJveCkuaGVp
Z2h0KCkgKyBVdGlscy5jb21wdXRlZFBhZGRpbmdCb3R0b21SaWdodChib3gpLmhlaWdodCgpOwor
ICAgIHN0YXRpYyBjb21wdXRlZEJvcmRlckFuZFBhZGRpbmdCb3R0b20obm9kZSkgeworICAgICAg
ICByZXR1cm4gVXRpbHMuY29tcHV0ZWRCb3JkZXJCb3R0b21SaWdodChub2RlKS5oZWlnaHQoKSAr
IFV0aWxzLmNvbXB1dGVkUGFkZGluZ0JvdHRvbVJpZ2h0KG5vZGUpLmhlaWdodCgpOwogICAgIH0K
IAotICAgIHN0YXRpYyBjb21wdXRlZEJvcmRlckFuZFBhZGRpbmdSaWdodChib3gpIHsKLSAgICAg
ICAgcmV0dXJuIFV0aWxzLmNvbXB1dGVkQm9yZGVyQm90dG9tUmlnaHQoYm94KS53aWR0aCgpICsg
VXRpbHMuY29tcHV0ZWRQYWRkaW5nQm90dG9tUmlnaHQoYm94KS53aWR0aCgpOworICAgIHN0YXRp
YyBjb21wdXRlZEJvcmRlckFuZFBhZGRpbmdSaWdodChub2RlKSB7CisgICAgICAgIHJldHVybiBV
dGlscy5jb21wdXRlZEJvcmRlckJvdHRvbVJpZ2h0KG5vZGUpLndpZHRoKCkgKyBVdGlscy5jb21w
dXRlZFBhZGRpbmdCb3R0b21SaWdodChub2RlKS53aWR0aCgpOwogICAgIH0KIAotICAgIHN0YXRp
YyBjb21wdXRlZEhvcml6b250YWxCb3JkZXJBbmRQYWRkaW5nKGJveCkgewotICAgICAgICByZXR1
cm4gdGhpcy5jb21wdXRlZEJvcmRlckFuZFBhZGRpbmdMZWZ0KGJveCkgKyB0aGlzLmNvbXB1dGVk
Qm9yZGVyQW5kUGFkZGluZ1JpZ2h0KGJveCk7CisgICAgc3RhdGljIGNvbXB1dGVkSG9yaXpvbnRh
bEJvcmRlckFuZFBhZGRpbmcobm9kZSkgeworICAgICAgICByZXR1cm4gdGhpcy5jb21wdXRlZEJv
cmRlckFuZFBhZGRpbmdMZWZ0KG5vZGUpICsgdGhpcy5jb21wdXRlZEJvcmRlckFuZFBhZGRpbmdS
aWdodChub2RlKTsKICAgICB9CiAKLSAgICBzdGF0aWMgY29tcHV0ZWRWZXJ0aWNhbEJvcmRlckFu
ZFBhZGRpbmcoYm94KSB7Ci0gICAgICAgIHJldHVybiB0aGlzLmNvbXB1dGVkQm9yZGVyQW5kUGFk
ZGluZ1RvcChib3gpICsgdGhpcy5jb21wdXRlZEJvcmRlckFuZFBhZGRpbmdCb3R0b20oYm94KTsK
KyAgICBzdGF0aWMgY29tcHV0ZWRWZXJ0aWNhbEJvcmRlckFuZFBhZGRpbmcobm9kZSkgeworICAg
ICAgICByZXR1cm4gdGhpcy5jb21wdXRlZEJvcmRlckFuZFBhZGRpbmdUb3Aobm9kZSkgKyB0aGlz
LmNvbXB1dGVkQm9yZGVyQW5kUGFkZGluZ0JvdHRvbShub2RlKTsKICAgICB9CiAKLSAgICBzdGF0
aWMgY29tcHV0ZWRMaW5lSGVpZ2h0KGJveCkgewotICAgICAgICByZXR1cm4gVXRpbHMuY29tcHV0
ZWRWYWx1ZSh3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShib3gubm9kZSgpKS5saW5lSGVpZ2h0KTsK
KyAgICBzdGF0aWMgY29tcHV0ZWRMaW5lSGVpZ2h0KG5vZGUpIHsKKyAgICAgICAgcmV0dXJuIFV0
aWxzLmNvbXB1dGVkVmFsdWUod2luZG93LmdldENvbXB1dGVkU3R5bGUobm9kZSkubGluZUhlaWdo
dCk7CiAgICAgfQogCiAgICAgc3RhdGljIGhhc0NsZWFyKGJveCkgewpAQCAtNDAwLDE3ICszOTYs
MTQgQEAgY2xhc3MgVXRpbHMgewogICAgIH0KIAogICAgIHN0YXRpYyBoYXNDbGVhckxlZnQoYm94
KSB7Ci0gICAgICAgIGxldCBub2RlID0gYm94Lm5vZGUoKTsKICAgICAgICAgcmV0dXJuIHdpbmRv
dy5nZXRDb21wdXRlZFN0eWxlKGJveC5ub2RlKCkpLmNsZWFyID09ICJsZWZ0IjsKICAgICB9CiAK
ICAgICBzdGF0aWMgaGFzQ2xlYXJSaWdodChib3gpIHsKLSAgICAgICAgbGV0IG5vZGUgPSBib3gu
bm9kZSgpOwogICAgICAgICByZXR1cm4gd2luZG93LmdldENvbXB1dGVkU3R5bGUoYm94Lm5vZGUo
KSkuY2xlYXIgPT0gInJpZ2h0IjsKICAgICB9CiAKICAgICBzdGF0aWMgaGFzQ2xlYXJCb3RoKGJv
eCkgewotICAgICAgICBsZXQgbm9kZSA9IGJveC5ub2RlKCk7CiAgICAgICAgIHJldHVybiB3aW5k
b3cuZ2V0Q29tcHV0ZWRTdHlsZShib3gubm9kZSgpKS5jbGVhciA9PSAiYm90aCI7CiAgICAgfQog
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>