<?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>182326</bug_id>
          
          <creation_ts>2018-01-31 01:13:47 -0800</creation_ts>
          <short_desc>Should choose the best match during &apos;route&apos; if there are multiple matches.</short_desc>
          <delta_ts>2019-06-16 21:12:59 -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>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>dewei_zhu</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>dewei_zhu</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1394937</commentid>
    <comment_count>0</comment_count>
    <who name="">dewei_zhu</who>
    <bug_when>2018-01-31 01:13:47 -0800</bug_when>
    <thetext>Should chose the best match during &apos;route&apos; when there are multiple matches.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1394943</commentid>
    <comment_count>1</comment_count>
      <attachid>332750</attachid>
    <who name="">dewei_zhu</who>
    <bug_when>2018-01-31 01:23:49 -0800</bug_when>
    <thetext>Created attachment 332750
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1395092</commentid>
    <comment_count>2</comment_count>
      <attachid>332750</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2018-01-31 11:34:40 -0800</bug_when>
    <thetext>Comment on attachment 332750
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=332750&amp;action=review

r- due to the lack of testing.

&gt; Websites/perf.webkit.org/public/v3/pages/page-router.js:43
&gt; +                } else if (hashUrl.startsWith(routeName) &amp;&amp; hashUrl.charAt(routeName.length) == &apos;/&apos; &amp;&amp; bestMatchingRouteName.length &lt; routeName.length) {

What&apos;s hashUrl.charAt(routeName.length) == &apos;/&apos; about?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1395136</commentid>
    <comment_count>3</comment_count>
      <attachid>332750</attachid>
    <who name="">dewei_zhu</who>
    <bug_when>2018-01-31 13:33:15 -0800</bug_when>
    <thetext>Comment on attachment 332750
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=332750&amp;action=review

&gt;&gt; Websites/perf.webkit.org/public/v3/pages/page-router.js:43
&gt;&gt; +                } else if (hashUrl.startsWith(routeName) &amp;&amp; hashUrl.charAt(routeName.length) == &apos;/&apos; &amp;&amp; bestMatchingRouteName.length &lt; routeName.length) {
&gt; 
&gt; What&apos;s hashUrl.charAt(routeName.length) == &apos;/&apos; about?

This check exists before. I would assume we want &apos;/apple/xxxx&apos; matches &apos;/apple&apos;, and do not want it matches &apos;/applepile/...&apos;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1395155</commentid>
    <comment_count>4</comment_count>
      <attachid>332802</attachid>
    <who name="">dewei_zhu</who>
    <bug_when>2018-01-31 14:22:31 -0800</bug_when>
    <thetext>Created attachment 332802
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1395174</commentid>
    <comment_count>5</comment_count>
      <attachid>332802</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2018-01-31 15:00:10 -0800</bug_when>
    <thetext>Comment on attachment 332802
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=332802&amp;action=review

&gt; Websites/perf.webkit.org/public/v3/pages/page-router.js:32
&gt; +            let bestMatchingRouteName = &apos;&apos;;

Initialize this to null instead.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>332750</attachid>
            <date>2018-01-31 01:23:49 -0800</date>
            <delta_ts>2018-01-31 14:22:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182326-20180131012348.patch</filename>
            <type>text/plain</type>
            <size>6981</size>
            <attacher>dewei_zhu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI3ODkxCmRpZmYgLS1naXQgYS9XZWJzaXRlcy9wZXJmLndl
YmtpdC5vcmcvQ2hhbmdlTG9nIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwpp
bmRleCBiODZmY2M2M2VlYmEzZGY4YTRiMWM1MmNiNTk4YmMwZDgxZDNkYTQ4Li44NzI4ZDQzODlm
MjljZTNjODU0ZmIzNTcwMTczNWNiNGQyNTI2NWU1IDEwMDY0NAotLS0gYS9XZWJzaXRlcy9wZXJm
LndlYmtpdC5vcmcvQ2hhbmdlTG9nCisrKyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyOSBAQAorMjAxOC0wMS0zMSAgRGV3ZWkgWmh1ICA8ZGV3ZWlfemh1
QGFwcGxlLmNvbT4KKworICAgICAgICBTaG91bGQgY2hvc2UgdGhlIGJlc3QgbWF0Y2ggZHVyaW5n
ICdyb3V0ZScgaWYgdGhlcmUgYXJlIG11bHRpcGxlIG1hdGNoZXMuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODIzMjYKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICByMjI3NzQ5IG1hZGUgYSBjaGFuZ2UgdGhh
dCAnYW5hbHlzaXNDYXRlZ29yeVBhZ2UnIHdpbGwgYmUgYWRkZWQgYmVmb3JlICdhbmFseXNpc1Rh
c2tQYWdlJy4KKyAgICAgICAgQXMgcm91dGUgbmFtZXMgZm9yIGJvdGggcGFnZXMgc3RhcnRzIHdp
dGggJ2FuYWx5c2lzJywgd2hpY2hldmVyIGFkZGVkIGZpcnN0IHdpbGwgYmUgY2hvc2VuLgorICAg
ICAgICBGb3IgYSByb3V0ZSBsaWtlICdhbmFseXNpcy90YXNrLzEnLiBBcyBhIHJlc3VsdCwgJ2Fu
YWx5c2lzQ2F0ZWdvcnlQYWdlJyB3aWxsIGJlIGNob3NlbiBhbmQKKyAgICAgICAgdGhpcyBpcyBu
b3QgZXhwZWN0ZWQgYmVoYXZpb3IuIEFkZGluZyB0aGUgbG9naWMgb24gdGhlIGNhc2VzIHdoZW4g
cm91dGUgbmFtZSBkb2VzIG5vdCBleHRhY3QKKyAgICAgICAgbWF0Y2ggdGhlIHJvdXRlIG5hbWUs
IGFsd2F5cyBjaG9vc2UgdGhlIGxvbmdlc3QgbWF0aGNpbmcgcm91dGUgbmFtZS4KKworICAgICAg
ICBBbHNvIG1vZGVybml6ZWQgdGhlIGNvZGUgb2YgJ3BhZ2Utcm91dGVyLmpzJyB0byB1c2UgY29u
c3QgJiBsZXQgaW5zdGVhZCBvZiB2YXIuCisKKyAgICAgICAgKiBwdWJsaWMvdjMvcGFnZXMvcGFn
ZS1yb3V0ZXIuanM6CisgICAgICAgIChQYWdlUm91dGVyLnByb3RvdHlwZS5yb3V0ZSk6IEFkZGVk
IGxvZ2ljIHRvIGZpbmQgYmVzdCBtYXRjaGluZyBpbiB0aGUgY2FzZSBvZiBpbmV4YWN0IG1hdGNo
LiAKKyAgICAgICAgKFBhZ2VSb3V0ZXIucHJvdG90eXBlLnBhZ2VEaWRPcGVuKToKKyAgICAgICAg
KFBhZ2VSb3V0ZXIucHJvdG90eXBlLl91cGRhdGVVUkxTdGF0ZSk6CisgICAgICAgIChQYWdlUm91
dGVyLnByb3RvdHlwZS5fc2VyaWFsaXplVG9IYXNoKToKKyAgICAgICAgKFBhZ2VSb3V0ZXIucHJv
dG90eXBlLl9kZXNlcmlhbGl6ZUZyb21IYXNoKToKKyAgICAgICAgKFBhZ2VSb3V0ZXIucHJvdG90
eXBlLl9zZXJpYWxpemVIYXNoUXVlcnlWYWx1ZSk6CisgICAgICAgIChQYWdlUm91dGVyLnByb3Rv
dHlwZS5fZGVzZXJpYWxpemVIYXNoUXVlcnlWYWx1ZSk6CisgICAgICAgIChQYWdlUm91dGVyLnBy
b3RvdHlwZS5fY291bnRPY2N1cnJlbmNlcyk6CisgICAgICAgIChQYWdlUm91dGVyKToKKwogMjAx
OC0wMS0yOSAgRGV3ZWkgWmh1ICA8ZGV3ZWlfemh1QGFwcGxlLmNvbT4KIAogICAgICAgICBTaG91
bGQgZmV0Y2ggb3duZXIgY29tbWl0cyBpbiBidWlsZC1yZXF1ZXN0cy1mZXRjaGVyLgpkaWZmIC0t
Z2l0IGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92My9wYWdlcy9wYWdlLXJvdXRl
ci5qcyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjMvcGFnZXMvcGFnZS1yb3V0
ZXIuanMKaW5kZXggOWQxNjkxYzhkNjdlNjIzMjE1OTk5ZWNlYzM5NjM5ZjBkZTBjMWUxNS4uYWE1
MmQzYzAzZGIwMGYxZmZmOGI5MDllYjJiMjY0YjZkYzExNjQzZSAxMDA2NDQKLS0tIGEvV2Vic2l0
ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92My9wYWdlcy9wYWdlLXJvdXRlci5qcworKysgYi9X
ZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YzL3BhZ2VzL3BhZ2Utcm91dGVyLmpzCkBA
IC0yNSwyMyArMjUsMjkgQEAgY2xhc3MgUGFnZVJvdXRlciB7CiAKICAgICByb3V0ZSgpCiAgICAg
ewotICAgICAgICB2YXIgZGVzdGluYXRpb25QYWdlID0gdGhpcy5fZGVmYXVsdFBhZ2U7Ci0gICAg
ICAgIHZhciBwYXJzZWQgPSB0aGlzLl9kZXNlcmlhbGl6ZUZyb21IYXNoKGxvY2F0aW9uLmhhc2gp
OworICAgICAgICBsZXQgZGVzdGluYXRpb25QYWdlID0gdGhpcy5fZGVmYXVsdFBhZ2U7CisgICAg
ICAgIGNvbnN0IHBhcnNlZCA9IHRoaXMuX2Rlc2VyaWFsaXplRnJvbUhhc2gobG9jYXRpb24uaGFz
aCk7CiAgICAgICAgIGlmIChwYXJzZWQucm91dGUpIHsKLSAgICAgICAgICAgIHZhciBoYXNoVXJs
ID0gcGFyc2VkLnJvdXRlOwotICAgICAgICAgICAgdmFyIHF1ZXJ5SW5kZXggPSBoYXNoVXJsLmlu
ZGV4T2YoJz8nKTsKKyAgICAgICAgICAgIGxldCBoYXNoVXJsID0gcGFyc2VkLnJvdXRlOworICAg
ICAgICAgICAgbGV0IGJlc3RNYXRjaGluZ1JvdXRlTmFtZSA9ICcnOworICAgICAgICAgICAgY29u
c3QgcXVlcnlJbmRleCA9IGhhc2hVcmwuaW5kZXhPZignPycpOwogICAgICAgICAgICAgaWYgKHF1
ZXJ5SW5kZXggPj0gMCkKICAgICAgICAgICAgICAgICBoYXNoVXJsID0gaGFzaFVybC5zdWJzdHJp
bmcoMCwgcXVlcnlJbmRleCk7CiAKLSAgICAgICAgICAgIGZvciAodmFyIHBhZ2Ugb2YgdGhpcy5f
cGFnZXMpIHsKLSAgICAgICAgICAgICAgICB2YXIgcm91dGVOYW1lID0gcGFnZS5yb3V0ZU5hbWUo
KTsKLSAgICAgICAgICAgICAgICBpZiAocm91dGVOYW1lID09IGhhc2hVcmwKLSAgICAgICAgICAg
ICAgICAgICAgfHwgKGhhc2hVcmwuc3RhcnRzV2l0aChyb3V0ZU5hbWUpICYmIGhhc2hVcmwuY2hh
ckF0KHJvdXRlTmFtZS5sZW5ndGgpID09ICcvJykpIHsKLSAgICAgICAgICAgICAgICAgICAgcGFy
c2VkLnN0YXRlLnJlbWFpbmluZ1JvdXRlID0gaGFzaFVybC5zdWJzdHJpbmcocm91dGVOYW1lLmxl
bmd0aCArIDEpOworICAgICAgICAgICAgZm9yIChjb25zdCBwYWdlIG9mIHRoaXMuX3BhZ2VzKSB7
CisgICAgICAgICAgICAgICAgY29uc3Qgcm91dGVOYW1lID0gcGFnZS5yb3V0ZU5hbWUoKTsKKyAg
ICAgICAgICAgICAgICBpZiAocm91dGVOYW1lID09IGhhc2hVcmwpIHsKKyAgICAgICAgICAgICAg
ICAgICAgYmVzdE1hdGNoaW5nUm91dGVOYW1lID0gcm91dGVOYW1lOwogICAgICAgICAgICAgICAg
ICAgICBkZXN0aW5hdGlvblBhZ2UgPSBwYWdlOwogICAgICAgICAgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGhhc2hVcmwuc3RhcnRzV2l0aChyb3V0ZU5hbWUp
ICYmIGhhc2hVcmwuY2hhckF0KHJvdXRlTmFtZS5sZW5ndGgpID09ICcvJyAmJiBiZXN0TWF0Y2hp
bmdSb3V0ZU5hbWUubGVuZ3RoIDwgcm91dGVOYW1lLmxlbmd0aCkgeworICAgICAgICAgICAgICAg
ICAgICBiZXN0TWF0Y2hpbmdSb3V0ZU5hbWUgPSByb3V0ZU5hbWU7CisgICAgICAgICAgICAgICAg
ICAgIGRlc3RpbmF0aW9uUGFnZSA9IHBhZ2U7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAg
ICAgfQorCisgICAgICAgICAgICBpZiAoYmVzdE1hdGNoaW5nUm91dGVOYW1lKQorICAgICAgICAg
ICAgICAgIHBhcnNlZC5zdGF0ZS5yZW1haW5pbmdSb3V0ZSA9IGhhc2hVcmwuc3Vic3RyaW5nKGJl
c3RNYXRjaGluZ1JvdXRlTmFtZS5sZW5ndGggKyAxKTsKICAgICAgICAgfQogCiAgICAgICAgIGlm
ICghZGVzdGluYXRpb25QYWdlKQpAQCAtNjAsNyArNjYsNyBAQCBjbGFzcyBQYWdlUm91dGVyIHsK
ICAgICBwYWdlRGlkT3BlbihwYWdlKQogICAgIHsKICAgICAgICAgY29uc29sZS5hc3NlcnQocGFn
ZSBpbnN0YW5jZW9mIFBhZ2UpOwotICAgICAgICB2YXIgcGFnZURpZENoYW5nZSA9IHRoaXMuX2N1
cnJlbnRQYWdlICE9IHBhZ2U7CisgICAgICAgIGNvbnN0IHBhZ2VEaWRDaGFuZ2UgPSB0aGlzLl9j
dXJyZW50UGFnZSAhPSBwYWdlOwogICAgICAgICB0aGlzLl9jdXJyZW50UGFnZSA9IHBhZ2U7CiAg
ICAgICAgIGlmIChwYWdlRGlkQ2hhbmdlKQogICAgICAgICAgICAgdGhpcy5zY2hlZHVsZVVybFN0
YXRlVXBkYXRlKCk7CkBAIC04Miw3ICs4OCw3IEBAIGNsYXNzIFBhZ2VSb3V0ZXIgewogICAgIHsK
ICAgICAgICAgdGhpcy5faGlzdG9yeVRpbWVyID0gbnVsbDsKICAgICAgICAgY29uc29sZS5hc3Nl
cnQodGhpcy5fY3VycmVudFBhZ2UpOwotICAgICAgICB2YXIgY3VycmVudFBhZ2UgPSB0aGlzLl9j
dXJyZW50UGFnZTsKKyAgICAgICAgY29uc3QgY3VycmVudFBhZ2UgPSB0aGlzLl9jdXJyZW50UGFn
ZTsKICAgICAgICAgdGhpcy5faGFzaCA9IHRoaXMuX3NlcmlhbGl6ZVRvSGFzaChjdXJyZW50UGFn
ZS5yb3V0ZU5hbWUoKSwgY3VycmVudFBhZ2Uuc2VyaWFsaXplU3RhdGUoKSk7CiAgICAgICAgIGxv
Y2F0aW9uLmhhc2ggPSB0aGlzLl9oYXNoOwogICAgIH0KQEAgLTk3LDEwICsxMDMsMTAgQEAgY2xh
c3MgUGFnZVJvdXRlciB7CiAKICAgICBfc2VyaWFsaXplVG9IYXNoKHJvdXRlLCBzdGF0ZSkKICAg
ICB7Ci0gICAgICAgIHZhciBwYXJhbXMgPSBbXTsKLSAgICAgICAgZm9yICh2YXIga2V5IGluIHN0
YXRlKQorICAgICAgICBjb25zdCBwYXJhbXMgPSBbXTsKKyAgICAgICAgZm9yIChjb25zdCBrZXkg
aW4gc3RhdGUpCiAgICAgICAgICAgICBwYXJhbXMucHVzaChrZXkgKyAnPScgKyB0aGlzLl9zZXJp
YWxpemVIYXNoUXVlcnlWYWx1ZShzdGF0ZVtrZXldKSk7Ci0gICAgICAgIHZhciBxdWVyeSA9IHBh
cmFtcy5sZW5ndGggPyAoJz8nICsgcGFyYW1zLmpvaW4oJyYnKSkgOiAnJzsKKyAgICAgICAgY29u
c3QgcXVlcnkgPSBwYXJhbXMubGVuZ3RoID8gKCc/JyArIHBhcmFtcy5qb2luKCcmJykpIDogJyc7
CiAgICAgICAgIHJldHVybiBgIy8ke3JvdXRlfSR7cXVlcnl9YDsKICAgICB9CiAgICAgCkBAIC0x
MTEsMTMgKzExNywxMyBAQCBjbGFzcyBQYWdlUm91dGVyIHsKIAogICAgICAgICBoYXNoID0gdW5l
c2NhcGUoaGFzaCk7IC8vIEZvciBGaXJlZm94LgogCi0gICAgICAgIHZhciBxdWVyeUluZGV4ID0g
aGFzaC5pbmRleE9mKCc/Jyk7Ci0gICAgICAgIHZhciByb3V0ZTsKLSAgICAgICAgdmFyIHN0YXRl
ID0ge307CisgICAgICAgIGNvbnN0IHF1ZXJ5SW5kZXggPSBoYXNoLmluZGV4T2YoJz8nKTsKKyAg
ICAgICAgbGV0IHJvdXRlOworICAgICAgICBjb25zdCBzdGF0ZSA9IHt9OwogICAgICAgICBpZiAo
cXVlcnlJbmRleCA+PSAwKSB7CiAgICAgICAgICAgICByb3V0ZSA9IGhhc2guc3Vic3RyaW5nKDIs
IHF1ZXJ5SW5kZXgpOwotICAgICAgICAgICAgZm9yICh2YXIgcGFydCBvZiBoYXNoLnN1YnN0cmlu
ZyhxdWVyeUluZGV4ICsgMSkuc3BsaXQoJyYnKSkgewotICAgICAgICAgICAgICAgIHZhciBrZXlW
YWx1ZVBhaXIgPSBwYXJ0LnNwbGl0KCc9Jyk7CisgICAgICAgICAgICBmb3IgKGNvbnN0IHBhcnQg
b2YgaGFzaC5zdWJzdHJpbmcocXVlcnlJbmRleCArIDEpLnNwbGl0KCcmJykpIHsKKyAgICAgICAg
ICAgICAgICBjb25zdCBrZXlWYWx1ZVBhaXIgPSBwYXJ0LnNwbGl0KCc9Jyk7CiAgICAgICAgICAg
ICAgICAgc3RhdGVba2V5VmFsdWVQYWlyWzBdXSA9IHRoaXMuX2Rlc2VyaWFsaXplSGFzaFF1ZXJ5
VmFsdWUoa2V5VmFsdWVQYWlyWzFdKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfSBlbHNlCkBA
IC0xMjksOCArMTM1LDggQEAgY2xhc3MgUGFnZVJvdXRlciB7CiAgICAgX3NlcmlhbGl6ZUhhc2hR
dWVyeVZhbHVlKHZhbHVlKQogICAgIHsKICAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgQXJy
YXkpIHsKLSAgICAgICAgICAgIHZhciBzZXJpYWxpemVkSXRlbXMgPSBbXTsKLSAgICAgICAgICAg
IGZvciAodmFyIGl0ZW0gb2YgdmFsdWUpCisgICAgICAgICAgICBjb25zdCBzZXJpYWxpemVkSXRl
bXMgPSBbXTsKKyAgICAgICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiB2YWx1ZSkKICAgICAgICAg
ICAgICAgICBzZXJpYWxpemVkSXRlbXMucHVzaCh0aGlzLl9zZXJpYWxpemVIYXNoUXVlcnlWYWx1
ZShpdGVtKSk7CiAgICAgICAgICAgICByZXR1cm4gJygnICsgc2VyaWFsaXplZEl0ZW1zLmpvaW4o
Jy0nKSArICcpJzsKICAgICAgICAgfQpAQCAtMTQzLDExICsxNDksMTEgQEAgY2xhc3MgUGFnZVJv
dXRlciB7CiAgICAgX2Rlc2VyaWFsaXplSGFzaFF1ZXJ5VmFsdWUodmFsdWUpCiAgICAgewogICAg
ICAgICBpZiAodmFsdWUuY2hhckF0KDApID09ICcoJykgewotICAgICAgICAgICAgdmFyIG5lc3Rp
bmdMZXZlbCA9IDA7Ci0gICAgICAgICAgICB2YXIgZW5kID0gMDsKLSAgICAgICAgICAgIHZhciBz
dGFydCA9IDE7Ci0gICAgICAgICAgICB2YXIgcmVzdWx0ID0gW107Ci0gICAgICAgICAgICBmb3Ig
KHZhciBjaGFyYWN0ZXIgb2YgdmFsdWUpIHsKKyAgICAgICAgICAgIGxldCBuZXN0aW5nTGV2ZWwg
PSAwOworICAgICAgICAgICAgbGV0IGVuZCA9IDA7CisgICAgICAgICAgICBsZXQgc3RhcnQgPSAx
OworICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gW107CisgICAgICAgICAgICBmb3IgKGNvbnN0
IGNoYXJhY3RlciBvZiB2YWx1ZSkgewogICAgICAgICAgICAgICAgIGlmIChjaGFyYWN0ZXIgPT0g
JygnKQogICAgICAgICAgICAgICAgICAgICBuZXN0aW5nTGV2ZWwrKzsKICAgICAgICAgICAgICAg
ICBlbHNlIGlmIChjaGFyYWN0ZXIgPT0gJyknKSB7CkBAIC0xNzYsNyArMTgyLDcgQEAgY2xhc3Mg
UGFnZVJvdXRlciB7CiAKICAgICBfY291bnRPY2N1cnJlbmNlcyhzdHJpbmcsIHJlZ2V4KQogICAg
IHsKLSAgICAgICAgdmFyIG1hdGNoID0gc3RyaW5nLm1hdGNoKHJlZ2V4KTsKKyAgICAgICAgY29u
c3QgbWF0Y2ggPSBzdHJpbmcubWF0Y2gocmVnZXgpOwogICAgICAgICByZXR1cm4gbWF0Y2ggPyBt
YXRjaC5sZW5ndGggOiAwOwogICAgIH0KIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>332802</attachid>
            <date>2018-01-31 14:22:31 -0800</date>
            <delta_ts>2018-01-31 15:00:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182326-20180131142208.patch</filename>
            <type>text/plain</type>
            <size>9673</size>
            <attacher>dewei_zhu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI3ODkxCmRpZmYgLS1naXQgYS9XZWJzaXRlcy9wZXJmLndl
YmtpdC5vcmcvQ2hhbmdlTG9nIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwpp
bmRleCBiODZmY2M2M2VlYmEzZGY4YTRiMWM1MmNiNTk4YmMwZDgxZDNkYTQ4Li45NDE0MmI1YzVh
Y2MzMTAyZmQ1ZmVkYWY5NThmMDU3NTVlNDYyNzhjIDEwMDY0NAotLS0gYS9XZWJzaXRlcy9wZXJm
LndlYmtpdC5vcmcvQ2hhbmdlTG9nCisrKyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwzMyBAQAorMjAxOC0wMS0zMSAgRGV3ZWkgWmh1ICA8ZGV3ZWlfemh1
QGFwcGxlLmNvbT4KKworICAgICAgICBTaG91bGQgY2hvc2UgdGhlIGJlc3QgbWF0Y2ggZHVyaW5n
ICdyb3V0ZScgaWYgdGhlcmUgYXJlIG11bHRpcGxlIG1hdGNoZXMuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODIzMjYKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICByMjI3NzQ5IG1hZGUgYSBjaGFuZ2UgdGhh
dCAnYW5hbHlzaXNDYXRlZ29yeVBhZ2UnIHdpbGwgYmUgYWRkZWQgYmVmb3JlICdhbmFseXNpc1Rh
c2tQYWdlJy4KKyAgICAgICAgQXMgcm91dGUgbmFtZXMgZm9yIGJvdGggcGFnZXMgc3RhcnRzIHdp
dGggJ2FuYWx5c2lzJywgd2hpY2hldmVyIGFkZGVkIGZpcnN0IHdpbGwgYmUgY2hvc2VuLgorICAg
ICAgICBGb3IgYSByb3V0ZSBsaWtlICdhbmFseXNpcy90YXNrLzEnLiBBcyBhIHJlc3VsdCwgJ2Fu
YWx5c2lzQ2F0ZWdvcnlQYWdlJyB3aWxsIGJlIGNob3NlbiBhbmQKKyAgICAgICAgdGhpcyBpcyBu
b3QgZXhwZWN0ZWQgYmVoYXZpb3IuIEFkZGluZyB0aGUgbG9naWMgb24gdGhlIGNhc2VzIHdoZW4g
cm91dGUgbmFtZSBkb2VzIG5vdCBleHRhY3QKKyAgICAgICAgbWF0Y2ggdGhlIHJvdXRlIG5hbWUs
IGFsd2F5cyBjaG9vc2UgdGhlIGxvbmdlc3QgbWF0aGNpbmcgcm91dGUgbmFtZS4KKworICAgICAg
ICBBbHNvIG1vZGVybml6ZWQgdGhlIGNvZGUgb2YgJ3BhZ2Utcm91dGVyLmpzJyB0byB1c2UgY29u
c3QgJiBsZXQgaW5zdGVhZCBvZiB2YXIuCisKKyAgICAgICAgQWRkZWQgYSBicm93c2VyIHRlc3Qg
dG8gZ3VhcmQgYWdhaW5zdCB0aGlzIGJ1Zy4KKworICAgICAgICAqIGJyb3dzZXItdGVzdHMvaW5k
ZXguaHRtbDogSW1wb3J0ICdwYWdlLXJvdXRlci10ZXN0cy5qcycuCisgICAgICAgICogYnJvd3Nl
ci10ZXN0cy9wYWdlLXJvdXRlci10ZXN0cy5qczogQWRkZWQgdW5pdCB0ZXN0IHRvIGd1YXJkIGFn
YWluc3QgdGhpcyBidWcuCisgICAgICAgICogcHVibGljL3YzL3BhZ2VzL3BhZ2Utcm91dGVyLmpz
OgorICAgICAgICAoUGFnZVJvdXRlci5wcm90b3R5cGUucm91dGUpOiBBZGRlZCBsb2dpYyB0byBm
aW5kIGJlc3QgbWF0Y2hpbmcgaW4gdGhlIGNhc2Ugb2YgaW5leGFjdCBtYXRjaC4KKyAgICAgICAg
KFBhZ2VSb3V0ZXIucHJvdG90eXBlLnBhZ2VEaWRPcGVuKToKKyAgICAgICAgKFBhZ2VSb3V0ZXIu
cHJvdG90eXBlLl91cGRhdGVVUkxTdGF0ZSk6CisgICAgICAgIChQYWdlUm91dGVyLnByb3RvdHlw
ZS5fc2VyaWFsaXplVG9IYXNoKToKKyAgICAgICAgKFBhZ2VSb3V0ZXIucHJvdG90eXBlLl9kZXNl
cmlhbGl6ZUZyb21IYXNoKToKKyAgICAgICAgKFBhZ2VSb3V0ZXIucHJvdG90eXBlLl9zZXJpYWxp
emVIYXNoUXVlcnlWYWx1ZSk6CisgICAgICAgIChQYWdlUm91dGVyLnByb3RvdHlwZS5fZGVzZXJp
YWxpemVIYXNoUXVlcnlWYWx1ZSk6CisgICAgICAgIChQYWdlUm91dGVyLnByb3RvdHlwZS5fY291
bnRPY2N1cnJlbmNlcyk6CisgICAgICAgIChQYWdlUm91dGVyKToKKwogMjAxOC0wMS0yOSAgRGV3
ZWkgWmh1ICA8ZGV3ZWlfemh1QGFwcGxlLmNvbT4KIAogICAgICAgICBTaG91bGQgZmV0Y2ggb3du
ZXIgY29tbWl0cyBpbiBidWlsZC1yZXF1ZXN0cy1mZXRjaGVyLgpkaWZmIC0tZ2l0IGEvV2Vic2l0
ZXMvcGVyZi53ZWJraXQub3JnL2Jyb3dzZXItdGVzdHMvaW5kZXguaHRtbCBiL1dlYnNpdGVzL3Bl
cmYud2Via2l0Lm9yZy9icm93c2VyLXRlc3RzL2luZGV4Lmh0bWwKaW5kZXggOTBhNjA3ODkyNjM4
OWNhYWJjNDZkYmI4ZmI0ZGE0NDczYTE2ZmU0Yy4uNmIyNTgxNWY3ZTUyYTJkM2VhYmViY2E4Yjkx
MGE5YTNkNDYzYWFhMiAxMDA2NDQKLS0tIGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL2Jyb3dz
ZXItdGVzdHMvaW5kZXguaHRtbAorKysgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvYnJvd3Nl
ci10ZXN0cy9pbmRleC5odG1sCkBAIC0xNyw2ICsxNyw3IEBAIG1vY2hhLnNldHVwKCdiZGQnKTsK
IDxkaXYgaWQ9Im1vY2hhIj48L2Rpdj4KIDxzY3JpcHQgc3JjPSJjb21wb25lbnQtYmFzZS10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0icGFnZS10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0icGFnZS1yb3V0ZXItdGVzdHMuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
ImNsb3NlLWJ1dHRvbi10ZXN0cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iZWRpdGFibGUt
dGV4dC10ZXN0cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0idGltZS1zZXJpZXMtY2hhcnQt
dGVzdHMuanMiPjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3Jn
L2Jyb3dzZXItdGVzdHMvcGFnZS1yb3V0ZXItdGVzdHMuanMgYi9XZWJzaXRlcy9wZXJmLndlYmtp
dC5vcmcvYnJvd3Nlci10ZXN0cy9wYWdlLXJvdXRlci10ZXN0cy5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZjQy
ZDQ1YmMwMzE4Mjg1OGRlNTZmZTljNDYyZmFiMWViNzNlOTRiCi0tLSAvZGV2L251bGwKKysrIGIv
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL2Jyb3dzZXItdGVzdHMvcGFnZS1yb3V0ZXItdGVzdHMu
anMKQEAgLTAsMCArMSwzNiBAQAorCitkZXNjcmliZSgnUGFnZVJvdXRlcicsICgpID0+IHsKKyAg
ICBkZXNjcmliZSgncm91dGUnLCAoKSA9PiB7CisgICAgICAgIGl0KCdzaG91bGQgY2hvb3NlIHRo
ZSBsb25nZXN0IG1hdGNoJywgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgY29uc3QgY29udGV4
dCA9IG5ldyBCcm93c2luZ0NvbnRleHQoKTsKKyAgICAgICAgICAgIGNvbnN0IFtQYWdlLCBQYWdl
Um91dGVyLCBDb21wb25lbnRCYXNlXSA9IGF3YWl0IGNvbnRleHQuaW1wb3J0U2NyaXB0cygKKyAg
ICAgICAgICAgICAgICBbJ2luc3RydW1lbnRhdGlvbi5qcycsICdjb21wb25lbnRzL2Jhc2UuanMn
LCAncGFnZXMvcGFnZS5qcycsICdwYWdlcy9wYWdlLXJvdXRlci5qcyddLAorICAgICAgICAgICAg
ICAgICdQYWdlJywgJ1BhZ2VSb3V0ZXInLCAnQ29tcG9uZW50QmFzZScpOworCisgICAgICAgICAg
ICBsZXQgc29tZVJlbmRlckNvdW50ID0gMDsKKyAgICAgICAgICAgIGNsYXNzIFNvbWVQYWdlIGV4
dGVuZHMgUGFnZSB7CisgICAgICAgICAgICAgICAgY29uc3RydWN0b3IoKSB7IHN1cGVyKCdzb21l
IHBhZ2UnKTsgfQorICAgICAgICAgICAgICAgIHJlbmRlcigpIHsgc29tZVJlbmRlckNvdW50Kys7
IH0KKyAgICAgICAgICAgICAgICByb3V0ZU5hbWUoKSB7IHJldHVybiAncGFnZSc7IH0KKyAgICAg
ICAgICAgIH07CisKKyAgICAgICAgICAgIGxldCBhbm90aGVyUmVuZGVyQ291bnQgPSAwOworICAg
ICAgICAgICAgY2xhc3MgQW5vdGhlclBhZ2UgZXh0ZW5kcyBQYWdlIHsKKyAgICAgICAgICAgICAg
ICBjb25zdHJ1Y3RvcigpIHsgc3VwZXIoJ2Fub3RoZXIgcGFnZScpOyB9CisgICAgICAgICAgICAg
ICAgcmVuZGVyKCkgeyBhbm90aGVyUmVuZGVyQ291bnQrKzsgfQorICAgICAgICAgICAgICAgIHJv
dXRlTmFtZSgpIHsgcmV0dXJuICdwYWdlL2Fub3RoZXInOyB9CisgICAgICAgICAgICB9OworCisg
ICAgICAgICAgICBjb25zdCByb3V0ZXIgPSBuZXcgUGFnZVJvdXRlcjsKKyAgICAgICAgICAgIGNv
bnN0IHNvbWVQYWdlID0gbmV3IFNvbWVQYWdlOworICAgICAgICAgICAgY29uc3QgYW5vdGhlclBh
Z2UgPSBuZXcgQW5vdGhlclBhZ2U7CisgICAgICAgICAgICByb3V0ZXIuYWRkUGFnZShzb21lUGFn
ZSk7CisgICAgICAgICAgICByb3V0ZXIuYWRkUGFnZShhbm90aGVyUGFnZSk7CisgICAgICAgICAg
ICBjb250ZXh0Lmdsb2JhbC5sb2NhdGlvbi5oYXNoID0gJyMvcGFnZS9hbm90aGVyLzEnOworICAg
ICAgICAgICAgcm91dGVyLnJvdXRlKCk7CisgICAgICAgICAgICBhd2FpdCB3YWl0Rm9yQ29tcG9u
ZW50c1RvUmVuZGVyKGNvbnRleHQpOworICAgICAgICAgICAgZXhwZWN0KHNvbWVSZW5kZXJDb3Vu
dCkudG8uYmUoMCk7CisgICAgICAgICAgICBleHBlY3QoYW5vdGhlclJlbmRlckNvdW50KS50by5i
ZSgxKTsKKyAgICAgICAgfSk7CisgICAgfSk7Cit9KTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YzL3BhZ2Vz
L3BhZ2Utcm91dGVyLmpzIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92My9wYWdl
cy9wYWdlLXJvdXRlci5qcwppbmRleCA5ZDE2OTFjOGQ2N2U2MjMyMTU5OTllY2VjMzk2MzlmMGRl
MGMxZTE1Li4zMzhhNGJmMTAwZDhmMDNiMjkyMzY3OGI0NDE4NDkzYTkxODRhNDQ0IDEwMDY0NAot
LS0gYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YzL3BhZ2VzL3BhZ2Utcm91dGVy
LmpzCisrKyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjMvcGFnZXMvcGFnZS1y
b3V0ZXIuanMKQEAgLTI1LDIzICsyNSwzMCBAQCBjbGFzcyBQYWdlUm91dGVyIHsKIAogICAgIHJv
dXRlKCkKICAgICB7Ci0gICAgICAgIHZhciBkZXN0aW5hdGlvblBhZ2UgPSB0aGlzLl9kZWZhdWx0
UGFnZTsKLSAgICAgICAgdmFyIHBhcnNlZCA9IHRoaXMuX2Rlc2VyaWFsaXplRnJvbUhhc2gobG9j
YXRpb24uaGFzaCk7CisgICAgICAgIGxldCBkZXN0aW5hdGlvblBhZ2UgPSB0aGlzLl9kZWZhdWx0
UGFnZTsKKyAgICAgICAgY29uc3QgcGFyc2VkID0gdGhpcy5fZGVzZXJpYWxpemVGcm9tSGFzaChs
b2NhdGlvbi5oYXNoKTsKICAgICAgICAgaWYgKHBhcnNlZC5yb3V0ZSkgewotICAgICAgICAgICAg
dmFyIGhhc2hVcmwgPSBwYXJzZWQucm91dGU7Ci0gICAgICAgICAgICB2YXIgcXVlcnlJbmRleCA9
IGhhc2hVcmwuaW5kZXhPZignPycpOworICAgICAgICAgICAgbGV0IGhhc2hVcmwgPSBwYXJzZWQu
cm91dGU7CisgICAgICAgICAgICBsZXQgYmVzdE1hdGNoaW5nUm91dGVOYW1lID0gJyc7CisgICAg
ICAgICAgICBjb25zdCBxdWVyeUluZGV4ID0gaGFzaFVybC5pbmRleE9mKCc/Jyk7CiAgICAgICAg
ICAgICBpZiAocXVlcnlJbmRleCA+PSAwKQogICAgICAgICAgICAgICAgIGhhc2hVcmwgPSBoYXNo
VXJsLnN1YnN0cmluZygwLCBxdWVyeUluZGV4KTsKIAotICAgICAgICAgICAgZm9yICh2YXIgcGFn
ZSBvZiB0aGlzLl9wYWdlcykgewotICAgICAgICAgICAgICAgIHZhciByb3V0ZU5hbWUgPSBwYWdl
LnJvdXRlTmFtZSgpOwotICAgICAgICAgICAgICAgIGlmIChyb3V0ZU5hbWUgPT0gaGFzaFVybAot
ICAgICAgICAgICAgICAgICAgICB8fCAoaGFzaFVybC5zdGFydHNXaXRoKHJvdXRlTmFtZSkgJiYg
aGFzaFVybC5jaGFyQXQocm91dGVOYW1lLmxlbmd0aCkgPT0gJy8nKSkgewotICAgICAgICAgICAg
ICAgICAgICBwYXJzZWQuc3RhdGUucmVtYWluaW5nUm91dGUgPSBoYXNoVXJsLnN1YnN0cmluZyhy
b3V0ZU5hbWUubGVuZ3RoICsgMSk7CisgICAgICAgICAgICBmb3IgKGNvbnN0IHBhZ2Ugb2YgdGhp
cy5fcGFnZXMpIHsKKyAgICAgICAgICAgICAgICBjb25zdCByb3V0ZU5hbWUgPSBwYWdlLnJvdXRl
TmFtZSgpOworCisgICAgICAgICAgICAgICAgaWYgKHJvdXRlTmFtZSA9PSBoYXNoVXJsKSB7Cisg
ICAgICAgICAgICAgICAgICAgIGJlc3RNYXRjaGluZ1JvdXRlTmFtZSA9IHJvdXRlTmFtZTsKICAg
ICAgICAgICAgICAgICAgICAgZGVzdGluYXRpb25QYWdlID0gcGFnZTsKICAgICAgICAgICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChoYXNoVXJsLnN0YXJ0c1dp
dGgocm91dGVOYW1lKSAmJiBoYXNoVXJsLmNoYXJBdChyb3V0ZU5hbWUubGVuZ3RoKSA9PSAnLycg
JiYgYmVzdE1hdGNoaW5nUm91dGVOYW1lLmxlbmd0aCA8IHJvdXRlTmFtZS5sZW5ndGgpIHsKKyAg
ICAgICAgICAgICAgICAgICAgYmVzdE1hdGNoaW5nUm91dGVOYW1lID0gcm91dGVOYW1lOworICAg
ICAgICAgICAgICAgICAgICBkZXN0aW5hdGlvblBhZ2UgPSBwYWdlOwogICAgICAgICAgICAgICAg
IH0KICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYgKGJlc3RNYXRjaGluZ1JvdXRlTmFt
ZSkKKyAgICAgICAgICAgICAgICBwYXJzZWQuc3RhdGUucmVtYWluaW5nUm91dGUgPSBoYXNoVXJs
LnN1YnN0cmluZyhiZXN0TWF0Y2hpbmdSb3V0ZU5hbWUubGVuZ3RoICsgMSk7CiAgICAgICAgIH0K
IAogICAgICAgICBpZiAoIWRlc3RpbmF0aW9uUGFnZSkKQEAgLTYwLDcgKzY3LDcgQEAgY2xhc3Mg
UGFnZVJvdXRlciB7CiAgICAgcGFnZURpZE9wZW4ocGFnZSkKICAgICB7CiAgICAgICAgIGNvbnNv
bGUuYXNzZXJ0KHBhZ2UgaW5zdGFuY2VvZiBQYWdlKTsKLSAgICAgICAgdmFyIHBhZ2VEaWRDaGFu
Z2UgPSB0aGlzLl9jdXJyZW50UGFnZSAhPSBwYWdlOworICAgICAgICBjb25zdCBwYWdlRGlkQ2hh
bmdlID0gdGhpcy5fY3VycmVudFBhZ2UgIT0gcGFnZTsKICAgICAgICAgdGhpcy5fY3VycmVudFBh
Z2UgPSBwYWdlOwogICAgICAgICBpZiAocGFnZURpZENoYW5nZSkKICAgICAgICAgICAgIHRoaXMu
c2NoZWR1bGVVcmxTdGF0ZVVwZGF0ZSgpOwpAQCAtODIsNyArODksNyBAQCBjbGFzcyBQYWdlUm91
dGVyIHsKICAgICB7CiAgICAgICAgIHRoaXMuX2hpc3RvcnlUaW1lciA9IG51bGw7CiAgICAgICAg
IGNvbnNvbGUuYXNzZXJ0KHRoaXMuX2N1cnJlbnRQYWdlKTsKLSAgICAgICAgdmFyIGN1cnJlbnRQ
YWdlID0gdGhpcy5fY3VycmVudFBhZ2U7CisgICAgICAgIGNvbnN0IGN1cnJlbnRQYWdlID0gdGhp
cy5fY3VycmVudFBhZ2U7CiAgICAgICAgIHRoaXMuX2hhc2ggPSB0aGlzLl9zZXJpYWxpemVUb0hh
c2goY3VycmVudFBhZ2Uucm91dGVOYW1lKCksIGN1cnJlbnRQYWdlLnNlcmlhbGl6ZVN0YXRlKCkp
OwogICAgICAgICBsb2NhdGlvbi5oYXNoID0gdGhpcy5faGFzaDsKICAgICB9CkBAIC05NywxMCAr
MTA0LDEwIEBAIGNsYXNzIFBhZ2VSb3V0ZXIgewogCiAgICAgX3NlcmlhbGl6ZVRvSGFzaChyb3V0
ZSwgc3RhdGUpCiAgICAgewotICAgICAgICB2YXIgcGFyYW1zID0gW107Ci0gICAgICAgIGZvciAo
dmFyIGtleSBpbiBzdGF0ZSkKKyAgICAgICAgY29uc3QgcGFyYW1zID0gW107CisgICAgICAgIGZv
ciAoY29uc3Qga2V5IGluIHN0YXRlKQogICAgICAgICAgICAgcGFyYW1zLnB1c2goa2V5ICsgJz0n
ICsgdGhpcy5fc2VyaWFsaXplSGFzaFF1ZXJ5VmFsdWUoc3RhdGVba2V5XSkpOwotICAgICAgICB2
YXIgcXVlcnkgPSBwYXJhbXMubGVuZ3RoID8gKCc/JyArIHBhcmFtcy5qb2luKCcmJykpIDogJyc7
CisgICAgICAgIGNvbnN0IHF1ZXJ5ID0gcGFyYW1zLmxlbmd0aCA/ICgnPycgKyBwYXJhbXMuam9p
bignJicpKSA6ICcnOwogICAgICAgICByZXR1cm4gYCMvJHtyb3V0ZX0ke3F1ZXJ5fWA7CiAgICAg
fQogICAgIApAQCAtMTExLDEzICsxMTgsMTMgQEAgY2xhc3MgUGFnZVJvdXRlciB7CiAKICAgICAg
ICAgaGFzaCA9IHVuZXNjYXBlKGhhc2gpOyAvLyBGb3IgRmlyZWZveC4KIAotICAgICAgICB2YXIg
cXVlcnlJbmRleCA9IGhhc2guaW5kZXhPZignPycpOwotICAgICAgICB2YXIgcm91dGU7Ci0gICAg
ICAgIHZhciBzdGF0ZSA9IHt9OworICAgICAgICBjb25zdCBxdWVyeUluZGV4ID0gaGFzaC5pbmRl
eE9mKCc/Jyk7CisgICAgICAgIGxldCByb3V0ZTsKKyAgICAgICAgY29uc3Qgc3RhdGUgPSB7fTsK
ICAgICAgICAgaWYgKHF1ZXJ5SW5kZXggPj0gMCkgewogICAgICAgICAgICAgcm91dGUgPSBoYXNo
LnN1YnN0cmluZygyLCBxdWVyeUluZGV4KTsKLSAgICAgICAgICAgIGZvciAodmFyIHBhcnQgb2Yg
aGFzaC5zdWJzdHJpbmcocXVlcnlJbmRleCArIDEpLnNwbGl0KCcmJykpIHsKLSAgICAgICAgICAg
ICAgICB2YXIga2V5VmFsdWVQYWlyID0gcGFydC5zcGxpdCgnPScpOworICAgICAgICAgICAgZm9y
IChjb25zdCBwYXJ0IG9mIGhhc2guc3Vic3RyaW5nKHF1ZXJ5SW5kZXggKyAxKS5zcGxpdCgnJicp
KSB7CisgICAgICAgICAgICAgICAgY29uc3Qga2V5VmFsdWVQYWlyID0gcGFydC5zcGxpdCgnPScp
OwogICAgICAgICAgICAgICAgIHN0YXRlW2tleVZhbHVlUGFpclswXV0gPSB0aGlzLl9kZXNlcmlh
bGl6ZUhhc2hRdWVyeVZhbHVlKGtleVZhbHVlUGFpclsxXSk7CiAgICAgICAgICAgICB9CiAgICAg
ICAgIH0gZWxzZQpAQCAtMTI5LDggKzEzNiw4IEBAIGNsYXNzIFBhZ2VSb3V0ZXIgewogICAgIF9z
ZXJpYWxpemVIYXNoUXVlcnlWYWx1ZSh2YWx1ZSkKICAgICB7CiAgICAgICAgIGlmICh2YWx1ZSBp
bnN0YW5jZW9mIEFycmF5KSB7Ci0gICAgICAgICAgICB2YXIgc2VyaWFsaXplZEl0ZW1zID0gW107
Ci0gICAgICAgICAgICBmb3IgKHZhciBpdGVtIG9mIHZhbHVlKQorICAgICAgICAgICAgY29uc3Qg
c2VyaWFsaXplZEl0ZW1zID0gW107CisgICAgICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdmFs
dWUpCiAgICAgICAgICAgICAgICAgc2VyaWFsaXplZEl0ZW1zLnB1c2godGhpcy5fc2VyaWFsaXpl
SGFzaFF1ZXJ5VmFsdWUoaXRlbSkpOwogICAgICAgICAgICAgcmV0dXJuICcoJyArIHNlcmlhbGl6
ZWRJdGVtcy5qb2luKCctJykgKyAnKSc7CiAgICAgICAgIH0KQEAgLTE0MywxMSArMTUwLDExIEBA
IGNsYXNzIFBhZ2VSb3V0ZXIgewogICAgIF9kZXNlcmlhbGl6ZUhhc2hRdWVyeVZhbHVlKHZhbHVl
KQogICAgIHsKICAgICAgICAgaWYgKHZhbHVlLmNoYXJBdCgwKSA9PSAnKCcpIHsKLSAgICAgICAg
ICAgIHZhciBuZXN0aW5nTGV2ZWwgPSAwOwotICAgICAgICAgICAgdmFyIGVuZCA9IDA7Ci0gICAg
ICAgICAgICB2YXIgc3RhcnQgPSAxOwotICAgICAgICAgICAgdmFyIHJlc3VsdCA9IFtdOwotICAg
ICAgICAgICAgZm9yICh2YXIgY2hhcmFjdGVyIG9mIHZhbHVlKSB7CisgICAgICAgICAgICBsZXQg
bmVzdGluZ0xldmVsID0gMDsKKyAgICAgICAgICAgIGxldCBlbmQgPSAwOworICAgICAgICAgICAg
bGV0IHN0YXJ0ID0gMTsKKyAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IFtdOworICAgICAgICAg
ICAgZm9yIChjb25zdCBjaGFyYWN0ZXIgb2YgdmFsdWUpIHsKICAgICAgICAgICAgICAgICBpZiAo
Y2hhcmFjdGVyID09ICcoJykKICAgICAgICAgICAgICAgICAgICAgbmVzdGluZ0xldmVsKys7CiAg
ICAgICAgICAgICAgICAgZWxzZSBpZiAoY2hhcmFjdGVyID09ICcpJykgewpAQCAtMTc2LDcgKzE4
Myw3IEBAIGNsYXNzIFBhZ2VSb3V0ZXIgewogCiAgICAgX2NvdW50T2NjdXJyZW5jZXMoc3RyaW5n
LCByZWdleCkKICAgICB7Ci0gICAgICAgIHZhciBtYXRjaCA9IHN0cmluZy5tYXRjaChyZWdleCk7
CisgICAgICAgIGNvbnN0IG1hdGNoID0gc3RyaW5nLm1hdGNoKHJlZ2V4KTsKICAgICAgICAgcmV0
dXJuIG1hdGNoID8gbWF0Y2gubGVuZ3RoIDogMDsKICAgICB9CiB9Cg==
</data>
<flag name="review"
          id="351718"
          type_id="1"
          status="+"
          setter="rniwa"
    />
          </attachment>
      

    </bug>

</bugzilla>