<?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>187859</bug_id>
          
          <creation_ts>2018-07-20 09:22:55 -0700</creation_ts>
          <short_desc>WebCore::URL::hostIsIPAddress needs a Windows implementation</short_desc>
          <delta_ts>2018-07-24 08:16:19 -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>
          <dependson>187864</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ross Kirsling">ross.kirsling</reporter>
          <assigned_to name="Ross Kirsling">ross.kirsling</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>fujii</cc>
    
    <cc>pvollan</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1443772</commentid>
    <comment_count>0</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2018-07-20 09:22:55 -0700</bug_when>
    <thetext>Currently on non-Cocoa, non-libsoup platforms, URL::hostIsIPAddress is just a stub:
https://github.com/WebKit/webkit/blob/767a0672697c45f01acb22e3fe00ff1f5c97871c/Source/WebCore/platform/URL.cpp#L1064-L1070

Not sure why it lacks a &quot;FIXME&quot;, but this ought to be a default implementation, so that Windows ports can use it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1444501</commentid>
    <comment_count>1</comment_count>
      <attachid>345627</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2018-07-23 17:28:33 -0700</bug_when>
    <thetext>Created attachment 345627
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1444532</commentid>
    <comment_count>2</comment_count>
      <attachid>345627</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-07-23 19:06:18 -0700</bug_when>
    <thetext>Comment on attachment 345627
Patch

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

&gt; Source/WebCore/platform/URL.cpp:1082
&gt; +            if (digit &gt; &apos;9&apos; || digit &lt; (i ? &apos;1&apos; : &apos;0&apos;))

This loop scans backward. If i == 0, it is the last number. You want to check the first number here. It should be &quot;(i == length - 1 ? &apos;1&apos; : &apos;0&apos;)&quot;

&gt; Source/WebCore/platform/URL.cpp:1085
&gt; +            value += 10 * (digit - &apos;0&apos;);

This is not correct. For example, a number &apos;123&apos; is given.
value = 0;
value += 10 * 3;
value += 10 * 2;
value += 10 * 1;
Then value becomes 60, not 123.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1444553</commentid>
    <comment_count>3</comment_count>
      <attachid>345637</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2018-07-23 23:23:21 -0700</bug_when>
    <thetext>Created attachment 345637
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1444555</commentid>
    <comment_count>4</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2018-07-23 23:30:08 -0700</bug_when>
    <thetext>Sorry, those really were some stupid mistakes on my part.
It seems that ultimately forward iteration is the most straightforward here. I&apos;ve also added a few extra test cases for IPv4 accordingly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1444683</commentid>
    <comment_count>5</comment_count>
      <attachid>345637</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-07-24 08:15:42 -0700</bug_when>
    <thetext>Comment on attachment 345637
Patch

Clearing flags on attachment: 345637

Committed r234147: &lt;https://trac.webkit.org/changeset/234147&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1444684</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-07-24 08:15:43 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1444685</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-07-24 08:16:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/42541837&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>345627</attachid>
            <date>2018-07-23 17:28:33 -0700</date>
            <delta_ts>2018-07-23 23:23:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-187859-20180723172832.patch</filename>
            <type>text/plain</type>
            <size>5544</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM0MTIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmJlYjBiZGE0NzMwYTM4
YTVmZmYwNTY3OTViNDFlZmIxNDA4MThkMy4uM2QwMGEzMjFmOWM3OTk5NTA3NmZiYzdhYmE3ZWE2
MzcyMDIyODBkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE4LTA3LTIzICBSb3Nz
IEtpcnNsaW5nICA8cm9zcy5raXJzbGluZ0Bzb255LmNvbT4KKworICAgICAgICBXZWJDb3JlOjpV
Ukw6Omhvc3RJc0lQQWRkcmVzcyBuZWVkcyBhIFdpbmRvd3MgaW1wbGVtZW50YXRpb24KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4Nzg1OQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vVVJM
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmlzSVB2NEFkZHJlc3MpOiBBZGRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OmlzSVB2NkFkZHJlc3MpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlVSTDo6
aG9zdElzSVBBZGRyZXNzKToKKyAgICAgICAgVHVybiB0aGlzIHN0dWIgaW50byBhIHBsYXRmb3Jt
LWFnbm9zdGljIGRlZmF1bHQgaW1wbGVtZW50YXRpb24uCisKIDIwMTgtMDctMjMgIEJlbiBSaWNo
YXJkcyAgPGJlbnRvbl9yaWNoYXJkc0BhcHBsZS5jb20+CiAKICAgICAgICAgV2Ugc2hvdWxkIGNh
Y2hlIHRoZSBjb21waWxlZCBzYW5kYm94IHByb2ZpbGUgaW4gYSBkYXRhIHZhdWx0CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9VUkwuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vVVJMLmNwcAppbmRleCBmOThmNTc2YzRjZDRjZmU2MDI2NTgzYTEzMTI4NGM0ZDZiYzE3
NGM0Li44ZDRhZjdlOWM3MjlkNTE2MjY3ZTRiMDliMDRmNzg5NzhlOTA5NDNhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9VUkwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1VSTC5jcHAKQEAgLTEwNjIsMTAgKzEwNjIsOTYgQEAgVGV4dFN0cmVhbSYgb3BlcmF0
b3I8PChUZXh0U3RyZWFtJiB0cywgY29uc3QgVVJMJiB1cmwpCiB9CiAKICNpZiAhUExBVEZPUk0o
Q09DT0EpICYmICFVU0UoU09VUCkKK3N0YXRpYyBib29sIGlzSVB2NEFkZHJlc3MoU3RyaW5nVmll
dyBzdHJpbmcpCit7CisgICAgYXV0byBjb3VudCA9IDA7CisKKyAgICBmb3IgKGNvbnN0IGF1dG8g
b2N0ZXQgOiBzdHJpbmcuc3BsaXQoJy4nLCBTdHJpbmdWaWV3OjpBbGxvd0VtcHR5RW50cmllcykp
IHsKKyAgICAgICAgaWYgKGNvdW50ID49IDQpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICAgICAgY29uc3QgYXV0byBsZW5ndGggPSBvY3RldC5sZW5ndGgoKTsKKyAgICAgICAgaWYg
KCFsZW5ndGggfHwgbGVuZ3RoID4gMykKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAg
ICAgICBhdXRvIHZhbHVlID0gMDsKKyAgICAgICAgZm9yIChhdXRvIGkgPSAwOyBpIDwgbGVuZ3Ro
OyArK2kpIHsKKyAgICAgICAgICAgIGNvbnN0IGF1dG8gZGlnaXQgPSBvY3RldFtsZW5ndGggLSBp
IC0gMV07CisKKyAgICAgICAgICAgIC8vIFByb2hpYml0IGxlYWRpbmcgemVyb2VzLgorICAgICAg
ICAgICAgaWYgKGRpZ2l0ID4gJzknIHx8IGRpZ2l0IDwgKGkgPyAnMScgOiAnMCcpKQorICAgICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICAgICAgdmFsdWUgKz0gMTAgKiAoZGln
aXQgLSAnMCcpOworICAgICAgICB9CisKKyAgICAgICAgaWYgKHZhbHVlID4gMjU1KQorICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIGNvdW50Kys7CisgICAgfQorCisgICAgcmV0
dXJuIChjb3VudCA9PSA0KTsKK30KKworc3RhdGljIGJvb2wgaXNJUHY2QWRkcmVzcyhTdHJpbmdW
aWV3IHN0cmluZykKK3sKKyAgICBlbnVtIFNraXBTdGF0ZSB7IE5vbmUsIFdpbGxTa2lwLCBTa2lw
cGluZywgU2tpcHBlZCwgRmluYWwgfTsKKyAgICBhdXRvIHNraXBTdGF0ZSA9IE5vbmU7CisgICAg
YXV0byBjb3VudCA9IDA7CisKKyAgICBmb3IgKGNvbnN0IGF1dG8gaGV4dGV0IDogc3RyaW5nLnNw
bGl0KCc6JywgU3RyaW5nVmlldzo6QWxsb3dFbXB0eUVudHJpZXMpKSB7CisgICAgICAgIGlmIChj
b3VudCA+PSA4IHx8IHNraXBTdGF0ZSA9PSBGaW5hbCkKKyAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKKworICAgICAgICBjb25zdCBhdXRvIGxlbmd0aCA9IGhleHRldC5sZW5ndGgoKTsKKyAgICAg
ICAgaWYgKCFsZW5ndGgpIHsKKyAgICAgICAgICAgIC8vIDo6IG1heSBiZSB1c2VkIGFueXdoZXJl
IHRvIHNraXAgMSB0byA4IGhleHRldHMsIGJ1dCBvbmx5IG9uY2UuCisgICAgICAgICAgICBpZiAo
c2tpcFN0YXRlID09IFNraXBwZWQpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisg
ICAgICAgICAgICBpZiAoc2tpcFN0YXRlID09IE5vbmUpCisgICAgICAgICAgICAgICAgc2tpcFN0
YXRlID0gIWNvdW50ID8gV2lsbFNraXAgOiBTa2lwcGluZzsKKyAgICAgICAgICAgIGVsc2UgaWYg
KHNraXBTdGF0ZSA9PSBXaWxsU2tpcCkKKyAgICAgICAgICAgICAgICBza2lwU3RhdGUgPSBTa2lw
cGluZzsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBza2lwU3RhdGUgPSBGaW5h
bDsKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CisKKyAgICAgICAgaWYgKHNraXBT
dGF0ZSA9PSBXaWxsU2tpcCkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICBp
ZiAoc2tpcFN0YXRlID09IFNraXBwaW5nKQorICAgICAgICAgICAgc2tpcFN0YXRlID0gU2tpcHBl
ZDsKKworICAgICAgICBpZiAobGVuZ3RoID4gNCkgeworICAgICAgICAgICAgLy8gQW4gSVB2NCBh
ZGRyZXNzIG1heSBiZSB1c2VkIGluIHBsYWNlIG9mIHRoZSBmaW5hbCB0d28gaGV4dGV0cy4KKyAg
ICAgICAgICAgIGlmICgoc2tpcFN0YXRlID09IE5vbmUgJiYgY291bnQgIT0gNikgfHwgKHNraXBT
dGF0ZSA9PSBTa2lwcGVkICYmIGNvdW50ID49IDYpIHx8ICFpc0lQdjRBZGRyZXNzKGhleHRldCkp
CisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgICAgICBza2lwU3RhdGUg
PSBGaW5hbDsKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CisKKyAgICAgICAgZm9y
IChjb25zdCBhdXRvIGNvZGVVbml0IDogaGV4dGV0LmNvZGVVbml0cygpKSB7CisgICAgICAgICAg
ICAvLyBJUHY2IGFsbG93cyBsZWFkaW5nIHplcm9lcy4KKyAgICAgICAgICAgIGlmICghaXNBU0NJ
SUhleERpZ2l0KGNvZGVVbml0KSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
ICAgIH0KKworICAgICAgICBjb3VudCsrOworICAgIH0KKworICAgIHJldHVybiAoY291bnQgPT0g
OCAmJiBza2lwU3RhdGUgPT0gTm9uZSkgfHwgc2tpcFN0YXRlID09IFNraXBwZWQgfHwgc2tpcFN0
YXRlID09IEZpbmFsOworfQorCiBib29sIFVSTDo6aG9zdElzSVBBZGRyZXNzKFN0cmluZ1ZpZXcg
aG9zdCkKIHsKLSAgICAvLyBBc3N1bWUgdGhhdCBhbnkgaG9zdCB0aGF0IGVuZHMgd2l0aCBhIGRp
Z2l0IGlzIHRyeWluZyB0byBiZSBhbiBJUCBhZGRyZXNzLgotICAgIHJldHVybiAhaG9zdC5pc0Vt
cHR5KCkgJiYgaXNBU0NJSURpZ2l0KGhvc3RbaG9zdC5sZW5ndGgoKSAtIDFdKTsKKyAgICBpZiAo
aG9zdC5maW5kKCc6JykgPT0gbm90Rm91bmQpCisgICAgICAgIHJldHVybiBpc0lQdjRBZGRyZXNz
KGhvc3QpOworCisgICAgcmV0dXJuIGlzSVB2NkFkZHJlc3MoaG9zdCk7CiB9CiAjZW5kaWYKIApk
aWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDkyNjll
YzVmMDlmMzAwNDVmZDkzM2U1ZWFkYzA3NGVjZDk2ZWE1YWUuLmIxNzMyNmZlYzVlY2I1YmRmODQz
MGE3ZjAyNWIzMDkyYzI4ODM0OTQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9U
b29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxOC0wNy0yMyAgUm9zcyBLaXJzbGlu
ZyAgPHJvc3Mua2lyc2xpbmdAc29ueS5jb20+CisKKyAgICAgICAgV2ViQ29yZTo6VVJMOjpob3N0
SXNJUEFkZHJlc3MgbmVlZHMgYSBXaW5kb3dzIGltcGxlbWVudGF0aW9uCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODc4NTkKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViQ29yZS9VUkwuY3BwOgorICAgICAgICBDaGVjayBmb3IgYSBmZXcgb3RoZXIgd2F5cyBhbiBJ
UCBhZGRyZXNzIGNvdWxkIGJlIGludmFsaWQuCisKIDIwMTgtMDctMjMgIFJvc3MgS2lyc2xpbmcg
IDxyb3NzLmtpcnNsaW5nQHNvbnkuY29tPgogCiAgICAgICAgIFdURjo6U3RyaW5nVmlldzo6c3Bs
aXQgc2hvdWxkIGhhdmUgYW4gYWxsb3dFbXB0eUVudHJpZXMgZmxhZwpkaWZmIC0tZ2l0IGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL1VSTC5jcHAgYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYkNvcmUvVVJMLmNwcAppbmRleCA5ODM1M2U2YmQ1YWQ4MDI5Nzc0YjgyYjY5
N2JjNTdiZTVmNjg4Y2EwLi41YjBlOWQwZGIwNDE4ZDcyOGQxOTQ3ODIyMjg0MzhiMzNjNzYxMGQ5
IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvVVJMLmNwcAor
KysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvVVJMLmNwcApAQCAtMzUzLDYg
KzM1MywxMSBAQCBURVNUX0YoVVJMVGVzdCwgSG9zdElzSVBBZGRyZXNzKQogI2VuZGlmCiAgICAg
RVhQRUNUX0ZBTFNFKFVSTDo6aG9zdElzSVBBZGRyZXNzKCIwMTIzOjQ1Njc6ODlBQjpjZGVmOjMy
MTA6MTIzLjQ1LjY3Ljg5IikpOwogICAgIEVYUEVDVF9GQUxTRShVUkw6Omhvc3RJc0lQQWRkcmVz
cygiOjo6IikpOworICAgIEVYUEVDVF9GQUxTRShVUkw6Omhvc3RJc0lQQWRkcmVzcygiMDEyMzo6
ODlBQjpjZGVmOjMyMTA6NzY1NDo6RmVEYyIpKTsKKyAgICBFWFBFQ1RfRkFMU0UoVVJMOjpob3N0
SXNJUEFkZHJlc3MoIjAxMjM6NDU2Nzo4OUFCOmNkZWY6MzIxMDo3NjU0OmJhOTg6IikpOworICAg
IEVYUEVDVF9GQUxTRShVUkw6Omhvc3RJc0lQQWRkcmVzcygiMDEyMzo0NTY3Ojg5QUI6Y2RlZjoz
MjEwOjc2NTQ6YmE5ODpGZURjOiIpKTsKKyAgICBFWFBFQ1RfRkFMU0UoVVJMOjpob3N0SXNJUEFk
ZHJlc3MoIjo0NTY3Ojg5QUI6Y2RlZjozMjEwOjc2NTQ6YmE5ODpGZURjIikpOworICAgIEVYUEVD
VF9GQUxTRShVUkw6Omhvc3RJc0lQQWRkcmVzcygiOjAxMjM6NDU2Nzo4OUFCOmNkZWY6MzIxMDo3
NjU0OmJhOTg6RmVEYyIpKTsKIAogICAgIEVYUEVDVF9UUlVFKFVSTDo6aG9zdElzSVBBZGRyZXNz
KCIxMjcuMC4wLjEiKSk7CiAgICAgRVhQRUNUX1RSVUUoVVJMOjpob3N0SXNJUEFkZHJlc3MoIjEy
My40NS42Ny44OSIpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>345637</attachid>
            <date>2018-07-23 23:23:21 -0700</date>
            <delta_ts>2018-07-24 08:15:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-187859-20180723232321.patch</filename>
            <type>text/plain</type>
            <size>6335</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM0MTMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjg1YWZkZjQ5OGZhOTc2
YmRiOGQyMWFiODY2ODBiNmZmN2UyZmU1Yi4uMmMxZjMxNDFhOTgyY2UxM2Y3NjZlNTU1YjYzZDli
ODZhNWRiMTk5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE4LTA3LTIzICBSb3Nz
IEtpcnNsaW5nICA8cm9zcy5raXJzbGluZ0Bzb255LmNvbT4KKworICAgICAgICBXZWJDb3JlOjpV
Ukw6Omhvc3RJc0lQQWRkcmVzcyBuZWVkcyBhIFdpbmRvd3MgaW1wbGVtZW50YXRpb24KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4Nzg1OQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vVVJM
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmlzSVB2NEFkZHJlc3MpOiBBZGRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OmlzSVB2NkFkZHJlc3MpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlVSTDo6
aG9zdElzSVBBZGRyZXNzKToKKyAgICAgICAgVHVybiB0aGlzIHN0dWIgaW50byBhIHBsYXRmb3Jt
LWFnbm9zdGljIGRlZmF1bHQgaW1wbGVtZW50YXRpb24uCisKIDIwMTgtMDctMjMgIEFkaXR5YSBL
ZWVydGhpICA8YWtlZXJ0aGlAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBleHRyYW5lb3Vz
ICNlbmRpZiBpbiBodG1sLmNzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
VVJMLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VSTC5jcHAKaW5kZXggZjk4ZjU3NmM0
Y2Q0Y2ZlNjAyNjU4M2ExMzEyODRjNGQ2YmMxNzRjNC4uYzk5ZGUxMGY1ZTQ3MjU0ZTc0M2QzNmVl
OTZhMDM3ODkzNGU2ZjI1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVVJM
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9VUkwuY3BwCkBAIC0xMDYyLDEwICsx
MDYyLDk2IEBAIFRleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYgdHMsIGNvbnN0IFVS
TCYgdXJsKQogfQogCiAjaWYgIVBMQVRGT1JNKENPQ09BKSAmJiAhVVNFKFNPVVApCitzdGF0aWMg
Ym9vbCBpc0lQdjRBZGRyZXNzKFN0cmluZ1ZpZXcgc3RyaW5nKQoreworICAgIGF1dG8gY291bnQg
PSAwOworCisgICAgZm9yIChjb25zdCBhdXRvIG9jdGV0IDogc3RyaW5nLnNwbGl0KCcuJywgU3Ry
aW5nVmlldzo6QWxsb3dFbXB0eUVudHJpZXMpKSB7CisgICAgICAgIGlmIChjb3VudCA+PSA0KQor
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIGNvbnN0IGF1dG8gbGVuZ3RoID0g
b2N0ZXQubGVuZ3RoKCk7CisgICAgICAgIGlmICghbGVuZ3RoIHx8IGxlbmd0aCA+IDMpCisgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgYXV0byB2YWx1ZSA9IDA7CisgICAgICAg
IGZvciAoYXV0byBpID0gMHU7IGkgPCBsZW5ndGg7ICsraSkgeworICAgICAgICAgICAgY29uc3Qg
YXV0byBkaWdpdCA9IG9jdGV0W2ldOworCisgICAgICAgICAgICAvLyBQcm9oaWJpdCBsZWFkaW5n
IHplcm9lcy4KKyAgICAgICAgICAgIGlmIChkaWdpdCA+ICc5JyB8fCBkaWdpdCA8ICghaSAmJiBs
ZW5ndGggPiAxID8gJzEnIDogJzAnKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICAgICAgICAgIHZhbHVlID0gMTAgKiB2YWx1ZSArIChkaWdpdCAtICcwJyk7CisgICAgICAg
IH0KKworICAgICAgICBpZiAodmFsdWUgPiAyNTUpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CisKKyAgICAgICAgY291bnQrKzsKKyAgICB9CisKKyAgICByZXR1cm4gKGNvdW50ID09IDQpOwor
fQorCitzdGF0aWMgYm9vbCBpc0lQdjZBZGRyZXNzKFN0cmluZ1ZpZXcgc3RyaW5nKQoreworICAg
IGVudW0gU2tpcFN0YXRlIHsgTm9uZSwgV2lsbFNraXAsIFNraXBwaW5nLCBTa2lwcGVkLCBGaW5h
bCB9OworICAgIGF1dG8gc2tpcFN0YXRlID0gTm9uZTsKKyAgICBhdXRvIGNvdW50ID0gMDsKKwor
ICAgIGZvciAoY29uc3QgYXV0byBoZXh0ZXQgOiBzdHJpbmcuc3BsaXQoJzonLCBTdHJpbmdWaWV3
OjpBbGxvd0VtcHR5RW50cmllcykpIHsKKyAgICAgICAgaWYgKGNvdW50ID49IDggfHwgc2tpcFN0
YXRlID09IEZpbmFsKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIGNvbnN0
IGF1dG8gbGVuZ3RoID0gaGV4dGV0Lmxlbmd0aCgpOworICAgICAgICBpZiAoIWxlbmd0aCkgewor
ICAgICAgICAgICAgLy8gOjogbWF5IGJlIHVzZWQgYW55d2hlcmUgdG8gc2tpcCAxIHRvIDggaGV4
dGV0cywgYnV0IG9ubHkgb25jZS4KKyAgICAgICAgICAgIGlmIChza2lwU3RhdGUgPT0gU2tpcHBl
ZCkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgICAgIGlmIChza2lw
U3RhdGUgPT0gTm9uZSkKKyAgICAgICAgICAgICAgICBza2lwU3RhdGUgPSAhY291bnQgPyBXaWxs
U2tpcCA6IFNraXBwaW5nOworICAgICAgICAgICAgZWxzZSBpZiAoc2tpcFN0YXRlID09IFdpbGxT
a2lwKQorICAgICAgICAgICAgICAgIHNraXBTdGF0ZSA9IFNraXBwaW5nOworICAgICAgICAgICAg
ZWxzZQorICAgICAgICAgICAgICAgIHNraXBTdGF0ZSA9IEZpbmFsOworICAgICAgICAgICAgY29u
dGludWU7CisgICAgICAgIH0KKworICAgICAgICBpZiAoc2tpcFN0YXRlID09IFdpbGxTa2lwKQor
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIGlmIChza2lwU3RhdGUgPT0gU2tp
cHBpbmcpCisgICAgICAgICAgICBza2lwU3RhdGUgPSBTa2lwcGVkOworCisgICAgICAgIGlmIChs
ZW5ndGggPiA0KSB7CisgICAgICAgICAgICAvLyBBbiBJUHY0IGFkZHJlc3MgbWF5IGJlIHVzZWQg
aW4gcGxhY2Ugb2YgdGhlIGZpbmFsIHR3byBoZXh0ZXRzLgorICAgICAgICAgICAgaWYgKChza2lw
U3RhdGUgPT0gTm9uZSAmJiBjb3VudCAhPSA2KSB8fCAoc2tpcFN0YXRlID09IFNraXBwZWQgJiYg
Y291bnQgPj0gNikgfHwgIWlzSVB2NEFkZHJlc3MoaGV4dGV0KSkKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICAgICAgICAgIHNraXBTdGF0ZSA9IEZpbmFsOworICAgICAgICAg
ICAgY29udGludWU7CisgICAgICAgIH0KKworICAgICAgICBmb3IgKGNvbnN0IGF1dG8gY29kZVVu
aXQgOiBoZXh0ZXQuY29kZVVuaXRzKCkpIHsKKyAgICAgICAgICAgIC8vIElQdjYgYWxsb3dzIGxl
YWRpbmcgemVyb2VzLgorICAgICAgICAgICAgaWYgKCFpc0FTQ0lJSGV4RGlnaXQoY29kZVVuaXQp
KQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorCisgICAgICAgIGNv
dW50Kys7CisgICAgfQorCisgICAgcmV0dXJuIChjb3VudCA9PSA4ICYmIHNraXBTdGF0ZSA9PSBO
b25lKSB8fCBza2lwU3RhdGUgPT0gU2tpcHBlZCB8fCBza2lwU3RhdGUgPT0gRmluYWw7Cit9CisK
IGJvb2wgVVJMOjpob3N0SXNJUEFkZHJlc3MoU3RyaW5nVmlldyBob3N0KQogewotICAgIC8vIEFz
c3VtZSB0aGF0IGFueSBob3N0IHRoYXQgZW5kcyB3aXRoIGEgZGlnaXQgaXMgdHJ5aW5nIHRvIGJl
IGFuIElQIGFkZHJlc3MuCi0gICAgcmV0dXJuICFob3N0LmlzRW1wdHkoKSAmJiBpc0FTQ0lJRGln
aXQoaG9zdFtob3N0Lmxlbmd0aCgpIC0gMV0pOworICAgIGlmIChob3N0LmZpbmQoJzonKSA9PSBu
b3RGb3VuZCkKKyAgICAgICAgcmV0dXJuIGlzSVB2NEFkZHJlc3MoaG9zdCk7CisKKyAgICByZXR1
cm4gaXNJUHY2QWRkcmVzcyhob3N0KTsKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Ub29scy9D
aGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYjA3ODI1YzAwZGRmYzMzMzNmZDJlY2Qx
M2ExMmQ5ODNmYTc5OGM0Mi4uZmMxNjg4MWRlZGRiNGFkYmJjN2NkMTRhYzU1M2FlMzQyZDdmMDhm
MCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDEzIEBACisyMDE4LTA3LTIzICBSb3NzIEtpcnNsaW5nICA8cm9zcy5raXJzbGluZ0Bz
b255LmNvbT4KKworICAgICAgICBXZWJDb3JlOjpVUkw6Omhvc3RJc0lQQWRkcmVzcyBuZWVkcyBh
IFdpbmRvd3MgaW1wbGVtZW50YXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE4Nzg1OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL1VSTC5jcHA6Cisg
ICAgICAgIENoZWNrIGZvciBhIGZldyBvdGhlciB3YXlzIGFuIElQIGFkZHJlc3MgY291bGQgYmUg
aW52YWxpZC4KKwogMjAxOC0wNy0yMyAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBz
b255LmNvbT4KIAogICAgICAgICB3ZWJraXRweS5wb3J0LnNlcnZlcl9wcm9jZXNzX3VuaXR0ZXN0
LlRlc3RTZXJ2ZXJQcm9jZXNzLnRlc3RfYmFzaWMgZmFpbGVkIG9uIFdpbmRvd3MgUHl0aG9uCmRp
ZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvVVJMLmNwcCBiL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9VUkwuY3BwCmluZGV4IDk4MzUzZTZiZDVh
ZDgwMjk3NzRiODJiNjk3YmM1N2JlNWY2ODhjYTAuLjdjMjAxZTQ0ZjIyMGU0OGI3MDQyNjhkMjFm
NGY1MTY5Y2ViOTRhMGMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
Q29yZS9VUkwuY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9VUkwu
Y3BwCkBAIC0zNDUsMTcgKzM0NSwyNCBAQCBURVNUX0YoVVJMVGVzdCwgSG9zdElzSVBBZGRyZXNz
KQogICAgIEVYUEVDVF9GQUxTRShVUkw6Omhvc3RJc0lQQWRkcmVzcygiIDEyNy4wLjAuMSIpKTsK
ICAgICBFWFBFQ1RfRkFMU0UoVVJMOjpob3N0SXNJUEFkZHJlc3MoIjEyNy4uMC4wLjEiKSk7CiAg
ICAgRVhQRUNUX0ZBTFNFKFVSTDo6aG9zdElzSVBBZGRyZXNzKCIxMjcuMC4wLiIpKTsKKyAgICBF
WFBFQ1RfRkFMU0UoVVJMOjpob3N0SXNJUEFkZHJlc3MoIjI1Ni4wLjAuMSIpKTsKICAgICBFWFBF
Q1RfRkFMU0UoVVJMOjpob3N0SXNJUEFkZHJlc3MoIjAxMjM6NDU2Nzo4OUFCOmNkZWY6MzIxMDo3
NjU0OmJhOTgiKSk7CiAgICAgRVhQRUNUX0ZBTFNFKFVSTDo6aG9zdElzSVBBZGRyZXNzKCIwMTJ4
OjQ1Njc6ODlBQjpjZGVmOjMyMTA6NzY1NDpiYTk4OkZlRGMiKSk7CiAjaWYgIVBMQVRGT1JNKENP
Q09BKQogICAgIC8vIEZJWE1FOiBUaGlzIGZhaWxzIGluIE1hYy4KKyAgICBFWFBFQ1RfRkFMU0Uo
VVJMOjpob3N0SXNJUEFkZHJlc3MoIjEyNy4wLjAuMDEiKSk7CiAgICAgRVhQRUNUX0ZBTFNFKFVS
TDo6aG9zdElzSVBBZGRyZXNzKCIwMDEyMzo0NTY3Ojg5QUI6Y2RlZjozMjEwOjc2NTQ6YmE5ODpG
ZURjIikpOwogI2VuZGlmCiAgICAgRVhQRUNUX0ZBTFNFKFVSTDo6aG9zdElzSVBBZGRyZXNzKCIw
MTIzOjQ1Njc6ODlBQjpjZGVmOjMyMTA6MTIzLjQ1LjY3Ljg5IikpOwogICAgIEVYUEVDVF9GQUxT
RShVUkw6Omhvc3RJc0lQQWRkcmVzcygiOjo6IikpOworICAgIEVYUEVDVF9GQUxTRShVUkw6Omhv
c3RJc0lQQWRkcmVzcygiMDEyMzo6ODlBQjpjZGVmOjMyMTA6NzY1NDo6RmVEYyIpKTsKKyAgICBF
WFBFQ1RfRkFMU0UoVVJMOjpob3N0SXNJUEFkZHJlc3MoIjAxMjM6NDU2Nzo4OUFCOmNkZWY6MzIx
MDo3NjU0OmJhOTg6IikpOworICAgIEVYUEVDVF9GQUxTRShVUkw6Omhvc3RJc0lQQWRkcmVzcygi
MDEyMzo0NTY3Ojg5QUI6Y2RlZjozMjEwOjc2NTQ6YmE5ODpGZURjOiIpKTsKKyAgICBFWFBFQ1Rf
RkFMU0UoVVJMOjpob3N0SXNJUEFkZHJlc3MoIjo0NTY3Ojg5QUI6Y2RlZjozMjEwOjc2NTQ6YmE5
ODpGZURjIikpOworICAgIEVYUEVDVF9GQUxTRShVUkw6Omhvc3RJc0lQQWRkcmVzcygiOjAxMjM6
NDU2Nzo4OUFCOmNkZWY6MzIxMDo3NjU0OmJhOTg6RmVEYyIpKTsKIAogICAgIEVYUEVDVF9UUlVF
KFVSTDo6aG9zdElzSVBBZGRyZXNzKCIxMjcuMC4wLjEiKSk7Ci0gICAgRVhQRUNUX1RSVUUoVVJM
Ojpob3N0SXNJUEFkZHJlc3MoIjEyMy40NS42Ny44OSIpKTsKKyAgICBFWFBFQ1RfVFJVRShVUkw6
Omhvc3RJc0lQQWRkcmVzcygiMjU1LjEuMTAuMTAwIikpOwogICAgIEVYUEVDVF9UUlVFKFVSTDo6
aG9zdElzSVBBZGRyZXNzKCIwLjAuMC4wIikpOwogICAgIEVYUEVDVF9UUlVFKFVSTDo6aG9zdElz
SVBBZGRyZXNzKCI6OjEiKSk7CiAgICAgRVhQRUNUX1RSVUUoVVJMOjpob3N0SXNJUEFkZHJlc3Mo
Ijo6IikpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>