<?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>217168</bug_id>
          
          <creation_ts>2020-10-01 01:16:20 -0700</creation_ts>
          <short_desc>[JSC] Define Array#sort&apos;s implementation functions as globalPrivate</short_desc>
          <delta_ts>2020-10-19 16:29:43 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=217928</see_also>
          <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="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>joepeck</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>ross.kirsling</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1693677</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-10-01 01:16:20 -0700</bug_when>
    <thetext>[JSC] Define Array#sort&apos;s implementation functions as globalPrivate</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1693678</commentid>
    <comment_count>1</comment_count>
      <attachid>410205</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-10-01 01:17:16 -0700</bug_when>
    <thetext>Created attachment 410205
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1693679</commentid>
    <comment_count>2</comment_count>
      <attachid>410205</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2020-10-01 01:19:42 -0700</bug_when>
    <thetext>Comment on attachment 410205
Patch

LGTM. I wonder if there are other builtins that still have locally-defined functions though?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1693680</commentid>
    <comment_count>3</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-10-01 01:22:30 -0700</bug_when>
    <thetext>(In reply to Ross Kirsling from comment #2)
&gt; Comment on attachment 410205 [details]
&gt; Patch
&gt; 
&gt; LGTM. I wonder if there are other builtins that still have locally-defined
&gt; functions though?

There are several ones. We should apply similar changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1693703</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-10-01 04:03:44 -0700</bug_when>
    <thetext>Committed r267827: &lt;https://trac.webkit.org/changeset/267827&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 410205.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1693704</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-10-01 04:04:14 -0700</bug_when>
    <thetext>&lt;rdar://problem/69831089&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>410205</attachid>
            <date>2020-10-01 01:17:16 -0700</date>
            <delta_ts>2020-10-01 04:03:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-217168-20201001011715.patch</filename>
            <type>text/plain</type>
            <size>11441</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3ODIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
OWQ3M2RlNmNiZjZhZDJlNzRjNjI3YThlY2U4OWUwODFlMTY4MTk4Li42YjRkOGE1YjY3YTBlMTc1
ZWI0NzNmZTJmZjNiN2VmMDNlZDY4NGY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMCBAQAorMjAyMC0xMC0wMSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIERlZmluZSBBcnJheSNzb3J0J3MgaW1wbGVtZW50YXRpb24gZnVu
Y3Rpb25zIGFzIGdsb2JhbFByaXZhdGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIxNzE2OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIE5vdywgdGhlc2UgQXJyYXkjc29ydCdzIGltcGxlbWVudGF0aW9uIGZ1
bmN0aW9ucyBhcmUgbm90IGNhcHR1cmluZyBhbnkgaGVhcCB2YXJpYWJsZXMuIFNvIHdlIGNhbiBt
YWtlIHRoZW0gQGdsb2JhbFByaXZhdGUsCisgICAgICAgIHRoaXMgYXZvaWRzIGZ1bmN0aW9uIGFs
bG9jYXRpb25zIGluIExMSW50IC8gQmFzZWxpbmUgLyBERkcgaW4gQXJyYXkjc29ydC4KKworICAg
ICAgICAqIGJ1aWx0aW5zL0FycmF5UHJvdG90eXBlLmpzOgorICAgICAgICAoZ2xvYmFsUHJpdmF0
ZS5zb3J0TWluKToKKyAgICAgICAgKGdsb2JhbFByaXZhdGUuc29ydFN0cmluZ0NvbXBhcmF0b3Ip
OgorICAgICAgICAoZ2xvYmFsUHJpdmF0ZS5zb3J0Q29tcGFjdCk6CisgICAgICAgIChnbG9iYWxQ
cml2YXRlLnNvcnRDb21taXQpOgorICAgICAgICAoZ2xvYmFsUHJpdmF0ZS5zb3J0TWVyZ2UpOgor
ICAgICAgICAoZ2xvYmFsUHJpdmF0ZS5zb3J0TWVyZ2VTb3J0KToKKyAgICAgICAgKGdsb2JhbFBy
aXZhdGUuc29ydEJ1Y2tldFNvcnQpOgorICAgICAgICAoc29ydCk6CisgICAgICAgIChzb3J0Lm1p
bik6IERlbGV0ZWQuCisgICAgICAgIChzb3J0LnN0cmluZ0NvbXBhcmF0b3IpOiBEZWxldGVkLgor
ICAgICAgICAoc29ydC5jb21wYWN0KTogRGVsZXRlZC4KKyAgICAgICAgKHNvcnQuY29tbWl0KTog
RGVsZXRlZC4KKyAgICAgICAgKHNvcnQubWVyZ2UpOiBEZWxldGVkLgorICAgICAgICAoc29ydC5t
ZXJnZVNvcnQpOiBEZWxldGVkLgorICAgICAgICAoc29ydC5idWNrZXRTb3J0KTogRGVsZXRlZC4K
KwogMjAyMC0wOS0zMCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAg
ICAgIFtKU0NdIFdlIHNob3VsZCBub3QgdGFnIEMgZnVuY3Rpb24gd2l0aCBKSVQgY29kZSByZWxh
dGVkIHB0ciB0YWcKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9B
cnJheVByb3RvdHlwZS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9BcnJheVBy
b3RvdHlwZS5qcwppbmRleCA2ZWJlMzdkMTE5YzI3ZmEyZDk0ODhkN2RjZTU3Njc5YTMyMTY2NDE3
Li5hMWQxYmVmZTI5OGM0NTJlYjhiMGZjZDhiZDQ0OWZmZjgwYjQxNzMxIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQXJyYXlQcm90b3R5cGUuanMKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0FycmF5UHJvdG90eXBlLmpzCkBAIC0zMDYsMTU3
ICszMDYsMTgwIEBAIGZ1bmN0aW9uIGluY2x1ZGVzKHNlYXJjaEVsZW1lbnQgLyosIGZyb21JbmRl
eCovKQogICAgIHJldHVybiBmYWxzZTsKIH0KIAotZnVuY3Rpb24gc29ydChjb21wYXJhdG9yKQor
QGdsb2JhbFByaXZhdGUKK2Z1bmN0aW9uIHNvcnRNaW4oYSwgYikKIHsKICAgICAidXNlIHN0cmlj
dCI7CiAKLSAgICBmdW5jdGlvbiBtaW4oYSwgYikKLSAgICB7Ci0gICAgICAgIHJldHVybiBhIDwg
YiA/IGEgOiBiOwotICAgIH0KKyAgICByZXR1cm4gYSA8IGIgPyBhIDogYjsKK30KIAotICAgIGZ1
bmN0aW9uIHN0cmluZ0NvbXBhcmF0b3IoYSwgYikKLSAgICB7Ci0gICAgICAgIHZhciBhU3RyaW5n
ID0gYS5zdHJpbmc7Ci0gICAgICAgIHZhciBiU3RyaW5nID0gYi5zdHJpbmc7CitAZ2xvYmFsUHJp
dmF0ZQorZnVuY3Rpb24gc29ydFN0cmluZ0NvbXBhcmF0b3IoYSwgYikKK3sKKyAgICAidXNlIHN0
cmljdCI7CiAKLSAgICAgICAgaWYgKGFTdHJpbmcgPT09IGJTdHJpbmcpCi0gICAgICAgICAgICBy
ZXR1cm4gMDsKKyAgICB2YXIgYVN0cmluZyA9IGEuc3RyaW5nOworICAgIHZhciBiU3RyaW5nID0g
Yi5zdHJpbmc7CiAKLSAgICAgICAgcmV0dXJuIGFTdHJpbmcgPiBiU3RyaW5nID8gMSA6IC0xOwot
ICAgIH0KKyAgICBpZiAoYVN0cmluZyA9PT0gYlN0cmluZykKKyAgICAgICAgcmV0dXJuIDA7CiAK
LSAgICBmdW5jdGlvbiBjb21wYWN0KHJlY2VpdmVyLCByZWNlaXZlckxlbmd0aCwgY29tcGFjdGVk
LCBpc1N0cmluZ1NvcnQpCi0gICAgewotICAgICAgICB2YXIgdW5kZWZpbmVkQ291bnQgPSAwOwot
ICAgICAgICB2YXIgY29tcGFjdGVkSW5kZXggPSAwOwotCi0gICAgICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgcmVjZWl2ZXJMZW5ndGg7ICsraSkgewotICAgICAgICAgICAgaWYgKGkgaW4gcmVjZWl2
ZXIpIHsKLSAgICAgICAgICAgICAgICB2YXIgdmFsdWUgPSByZWNlaXZlcltpXTsKLSAgICAgICAg
ICAgICAgICBpZiAodmFsdWUgPT09IEB1bmRlZmluZWQpCi0gICAgICAgICAgICAgICAgICAgICsr
dW5kZWZpbmVkQ291bnQ7Ci0gICAgICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAg
ICAgIEBwdXRCeVZhbERpcmVjdChjb21wYWN0ZWQsIGNvbXBhY3RlZEluZGV4LCAKLSAgICAgICAg
ICAgICAgICAgICAgICAgIGlzU3RyaW5nU29ydCA/IHtzdHJpbmc6IEB0b1N0cmluZyh2YWx1ZSks
IHZhbHVlfSA6IHZhbHVlKTsKLSAgICAgICAgICAgICAgICAgICAgKytjb21wYWN0ZWRJbmRleDsK
LSAgICAgICAgICAgICAgICB9CisgICAgcmV0dXJuIGFTdHJpbmcgPiBiU3RyaW5nID8gMSA6IC0x
OworfQorCitAZ2xvYmFsUHJpdmF0ZQorZnVuY3Rpb24gc29ydENvbXBhY3QocmVjZWl2ZXIsIHJl
Y2VpdmVyTGVuZ3RoLCBjb21wYWN0ZWQsIGlzU3RyaW5nU29ydCkKK3sKKyAgICAidXNlIHN0cmlj
dCI7CisKKyAgICB2YXIgdW5kZWZpbmVkQ291bnQgPSAwOworICAgIHZhciBjb21wYWN0ZWRJbmRl
eCA9IDA7CisKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlY2VpdmVyTGVuZ3RoOyArK2kpIHsK
KyAgICAgICAgaWYgKGkgaW4gcmVjZWl2ZXIpIHsKKyAgICAgICAgICAgIHZhciB2YWx1ZSA9IHJl
Y2VpdmVyW2ldOworICAgICAgICAgICAgaWYgKHZhbHVlID09PSBAdW5kZWZpbmVkKQorICAgICAg
ICAgICAgICAgICsrdW5kZWZpbmVkQ291bnQ7CisgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAg
ICAgICAgICBAcHV0QnlWYWxEaXJlY3QoY29tcGFjdGVkLCBjb21wYWN0ZWRJbmRleCwKKyAgICAg
ICAgICAgICAgICAgICAgaXNTdHJpbmdTb3J0ID8ge3N0cmluZzogQHRvU3RyaW5nKHZhbHVlKSwg
dmFsdWV9IDogdmFsdWUpOworICAgICAgICAgICAgICAgICsrY29tcGFjdGVkSW5kZXg7CiAgICAg
ICAgICAgICB9CiAgICAgICAgIH0KLQotICAgICAgICByZXR1cm4gdW5kZWZpbmVkQ291bnQ7CiAg
ICAgfQogCisgICAgcmV0dXJuIHVuZGVmaW5lZENvdW50OworfQorCitAZ2xvYmFsUHJpdmF0ZQor
ZnVuY3Rpb24gc29ydENvbW1pdChyZWNlaXZlciwgcmVjZWl2ZXJMZW5ndGgsIHNvcnRlZCwgdW5k
ZWZpbmVkQ291bnQpCit7CisgICAgInVzZSBzdHJpY3QiOworCiAgICAgLy8gTW92ZSB1bmRlZmlu
ZWRzIGFuZCBob2xlcyB0byB0aGUgZW5kIG9mIGFuIGFycmF5LiBSZXN1bHQgaXMgW3ZhbHVlcy4u
LiwgdW5kZWZpbmVkcy4uLiwgaG9sZXMuLi5dLgotICAgIGZ1bmN0aW9uIGNvbW1pdChyZWNlaXZl
ciwgcmVjZWl2ZXJMZW5ndGgsIHNvcnRlZCwgdW5kZWZpbmVkQ291bnQpCi0gICAgewotICAgICAg
ICBAYXNzZXJ0KEBpc0pTQXJyYXkoc29ydGVkKSk7Ci0gICAgICAgIHZhciBzb3J0ZWRMZW5ndGgg
PSBzb3J0ZWQubGVuZ3RoOwotICAgICAgICBAYXNzZXJ0KHNvcnRlZExlbmd0aCArIHVuZGVmaW5l
ZENvdW50IDw9IHJlY2VpdmVyTGVuZ3RoKTsKLQotICAgICAgICB2YXIgaSA9IDA7Ci0gICAgICAg
IGlmIChAaXNKU0FycmF5KHJlY2VpdmVyKSAmJiBzb3J0ZWRMZW5ndGggPj0gNjQgJiYgdHlwZW9m
IHNvcnRlZFswXSAhPT0gIm51bWJlciIpIHsgLy8gaGV1cmlzdGljCi0gICAgICAgICAgICBAYXBw
ZW5kTWVtY3B5KHJlY2VpdmVyLCBzb3J0ZWQsIDApOwotICAgICAgICAgICAgaSA9IHNvcnRlZExl
bmd0aDsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIGZvciAoOyBpIDwgc29ydGVkTGVu
Z3RoOyArK2kpCi0gICAgICAgICAgICAgICAgcmVjZWl2ZXJbaV0gPSBzb3J0ZWRbaV07Ci0gICAg
ICAgIH0KIAotICAgICAgICBmb3IgKDsgaSA8IHNvcnRlZExlbmd0aCArIHVuZGVmaW5lZENvdW50
OyArK2kpCi0gICAgICAgICAgICByZWNlaXZlcltpXSA9IEB1bmRlZmluZWQ7CisgICAgQGFzc2Vy
dChAaXNKU0FycmF5KHNvcnRlZCkpOworICAgIHZhciBzb3J0ZWRMZW5ndGggPSBzb3J0ZWQubGVu
Z3RoOworICAgIEBhc3NlcnQoc29ydGVkTGVuZ3RoICsgdW5kZWZpbmVkQ291bnQgPD0gcmVjZWl2
ZXJMZW5ndGgpOwogCi0gICAgICAgIGZvciAoOyBpIDwgcmVjZWl2ZXJMZW5ndGg7ICsraSkKLSAg
ICAgICAgICAgIGRlbGV0ZSByZWNlaXZlcltpXTsKKyAgICB2YXIgaSA9IDA7CisgICAgaWYgKEBp
c0pTQXJyYXkocmVjZWl2ZXIpICYmIHNvcnRlZExlbmd0aCA+PSA2NCAmJiB0eXBlb2Ygc29ydGVk
WzBdICE9PSAibnVtYmVyIikgeyAvLyBoZXVyaXN0aWMKKyAgICAgICAgQGFwcGVuZE1lbWNweShy
ZWNlaXZlciwgc29ydGVkLCAwKTsKKyAgICAgICAgaSA9IHNvcnRlZExlbmd0aDsKKyAgICB9IGVs
c2UgeworICAgICAgICBmb3IgKDsgaSA8IHNvcnRlZExlbmd0aDsgKytpKQorICAgICAgICAgICAg
cmVjZWl2ZXJbaV0gPSBzb3J0ZWRbaV07CiAgICAgfQogCi0gICAgZnVuY3Rpb24gbWVyZ2UoZHN0
LCBzcmMsIHNyY0luZGV4LCBzcmNFbmQsIHdpZHRoLCBjb21wYXJhdG9yKQotICAgIHsKLSAgICAg
ICAgdmFyIGxlZnQgPSBzcmNJbmRleDsKLSAgICAgICAgdmFyIGxlZnRFbmQgPSBtaW4obGVmdCAr
IHdpZHRoLCBzcmNFbmQpOwotICAgICAgICB2YXIgcmlnaHQgPSBsZWZ0RW5kOwotICAgICAgICB2
YXIgcmlnaHRFbmQgPSBtaW4ocmlnaHQgKyB3aWR0aCwgc3JjRW5kKTsKLQotICAgICAgICBmb3Ig
KHZhciBkc3RJbmRleCA9IGxlZnQ7IGRzdEluZGV4IDwgcmlnaHRFbmQ7ICsrZHN0SW5kZXgpIHsK
LSAgICAgICAgICAgIGlmIChyaWdodCA8IHJpZ2h0RW5kKSB7Ci0gICAgICAgICAgICAgICAgaWYg
KGxlZnQgPj0gbGVmdEVuZCkgewotICAgICAgICAgICAgICAgICAgICBAcHV0QnlWYWxEaXJlY3Qo
ZHN0LCBkc3RJbmRleCwgc3JjW3JpZ2h0XSk7Ci0gICAgICAgICAgICAgICAgICAgICsrcmlnaHQ7
Ci0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgICAgIH0KKyAgICBm
b3IgKDsgaSA8IHNvcnRlZExlbmd0aCArIHVuZGVmaW5lZENvdW50OyArK2kpCisgICAgICAgIHJl
Y2VpdmVyW2ldID0gQHVuZGVmaW5lZDsKIAotICAgICAgICAgICAgICAgIC8vIFNlZSBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDc4MjUgb24gYm9vbGVhbiBzcGVjaWFs
LWNhc2luZwotICAgICAgICAgICAgICAgIHZhciBjb21wYXJpc29uUmVzdWx0ID0gY29tcGFyYXRv
cihzcmNbcmlnaHRdLCBzcmNbbGVmdF0pOwotICAgICAgICAgICAgICAgIGlmIChjb21wYXJpc29u
UmVzdWx0ID09PSBmYWxzZSB8fCBjb21wYXJpc29uUmVzdWx0IDwgMCkgewotICAgICAgICAgICAg
ICAgICAgICBAcHV0QnlWYWxEaXJlY3QoZHN0LCBkc3RJbmRleCwgc3JjW3JpZ2h0XSk7Ci0gICAg
ICAgICAgICAgICAgICAgICsrcmlnaHQ7Ci0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwot
ICAgICAgICAgICAgICAgIH0KKyAgICBmb3IgKDsgaSA8IHJlY2VpdmVyTGVuZ3RoOyArK2kpCisg
ICAgICAgIGRlbGV0ZSByZWNlaXZlcltpXTsKK30KKworCitAZ2xvYmFsUHJpdmF0ZQorZnVuY3Rp
b24gc29ydE1lcmdlKGRzdCwgc3JjLCBzcmNJbmRleCwgc3JjRW5kLCB3aWR0aCwgY29tcGFyYXRv
cikKK3sKKyAgICAidXNlIHN0cmljdCI7CisKKyAgICB2YXIgbGVmdCA9IHNyY0luZGV4OworICAg
IHZhciBsZWZ0RW5kID0gQHNvcnRNaW4obGVmdCArIHdpZHRoLCBzcmNFbmQpOworICAgIHZhciBy
aWdodCA9IGxlZnRFbmQ7CisgICAgdmFyIHJpZ2h0RW5kID0gQHNvcnRNaW4ocmlnaHQgKyB3aWR0
aCwgc3JjRW5kKTsKKworICAgIGZvciAodmFyIGRzdEluZGV4ID0gbGVmdDsgZHN0SW5kZXggPCBy
aWdodEVuZDsgKytkc3RJbmRleCkgeworICAgICAgICBpZiAocmlnaHQgPCByaWdodEVuZCkgewor
ICAgICAgICAgICAgaWYgKGxlZnQgPj0gbGVmdEVuZCkgeworICAgICAgICAgICAgICAgIEBwdXRC
eVZhbERpcmVjdChkc3QsIGRzdEluZGV4LCBzcmNbcmlnaHRdKTsKKyAgICAgICAgICAgICAgICAr
K3JpZ2h0OworICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgfQogCisgICAg
ICAgICAgICAvLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ3
ODI1IG9uIGJvb2xlYW4gc3BlY2lhbC1jYXNpbmcKKyAgICAgICAgICAgIHZhciBjb21wYXJpc29u
UmVzdWx0ID0gY29tcGFyYXRvcihzcmNbcmlnaHRdLCBzcmNbbGVmdF0pOworICAgICAgICAgICAg
aWYgKGNvbXBhcmlzb25SZXN1bHQgPT09IGZhbHNlIHx8IGNvbXBhcmlzb25SZXN1bHQgPCAwKSB7
CisgICAgICAgICAgICAgICAgQHB1dEJ5VmFsRGlyZWN0KGRzdCwgZHN0SW5kZXgsIHNyY1tyaWdo
dF0pOworICAgICAgICAgICAgICAgICsrcmlnaHQ7CisgICAgICAgICAgICAgICAgY29udGludWU7
CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIEBwdXRCeVZhbERpcmVjdChkc3QsIGRzdElu
ZGV4LCBzcmNbbGVmdF0pOwotICAgICAgICAgICAgKytsZWZ0OwogICAgICAgICB9CisKKyAgICAg
ICAgQHB1dEJ5VmFsRGlyZWN0KGRzdCwgZHN0SW5kZXgsIHNyY1tsZWZ0XSk7CisgICAgICAgICsr
bGVmdDsKICAgICB9Cit9CiAKLSAgICBmdW5jdGlvbiBtZXJnZVNvcnQoYXJyYXksIGNvbXBhcmF0
b3IpCi0gICAgewotICAgICAgICB2YXIgdmFsdWVDb3VudCA9IGFycmF5Lmxlbmd0aDsKLSAgICAg
ICAgdmFyIGJ1ZmZlciA9IEBuZXdBcnJheVdpdGhTaXplKHZhbHVlQ291bnQpOwotCi0gICAgICAg
IHZhciBkc3QgPSBidWZmZXI7Ci0gICAgICAgIHZhciBzcmMgPSBhcnJheTsKLSAgICAgICAgZm9y
ICh2YXIgd2lkdGggPSAxOyB3aWR0aCA8IHZhbHVlQ291bnQ7IHdpZHRoICo9IDIpIHsKLSAgICAg
ICAgICAgIGZvciAodmFyIHNyY0luZGV4ID0gMDsgc3JjSW5kZXggPCB2YWx1ZUNvdW50OyBzcmNJ
bmRleCArPSAyICogd2lkdGgpCi0gICAgICAgICAgICAgICAgbWVyZ2UoZHN0LCBzcmMsIHNyY0lu
ZGV4LCB2YWx1ZUNvdW50LCB3aWR0aCwgY29tcGFyYXRvcik7Ci0KLSAgICAgICAgICAgIHZhciB0
bXAgPSBzcmM7Ci0gICAgICAgICAgICBzcmMgPSBkc3Q7Ci0gICAgICAgICAgICBkc3QgPSB0bXA7
Ci0gICAgICAgIH0KK0BnbG9iYWxQcml2YXRlCitmdW5jdGlvbiBzb3J0TWVyZ2VTb3J0KGFycmF5
LCBjb21wYXJhdG9yKQoreworICAgICJ1c2Ugc3RyaWN0IjsKKworICAgIHZhciB2YWx1ZUNvdW50
ID0gYXJyYXkubGVuZ3RoOworICAgIHZhciBidWZmZXIgPSBAbmV3QXJyYXlXaXRoU2l6ZSh2YWx1
ZUNvdW50KTsKKworICAgIHZhciBkc3QgPSBidWZmZXI7CisgICAgdmFyIHNyYyA9IGFycmF5Owor
ICAgIGZvciAodmFyIHdpZHRoID0gMTsgd2lkdGggPCB2YWx1ZUNvdW50OyB3aWR0aCAqPSAyKSB7
CisgICAgICAgIGZvciAodmFyIHNyY0luZGV4ID0gMDsgc3JjSW5kZXggPCB2YWx1ZUNvdW50OyBz
cmNJbmRleCArPSAyICogd2lkdGgpCisgICAgICAgICAgICBAc29ydE1lcmdlKGRzdCwgc3JjLCBz
cmNJbmRleCwgdmFsdWVDb3VudCwgd2lkdGgsIGNvbXBhcmF0b3IpOwogCi0gICAgICAgIHJldHVy
biBzcmM7CisgICAgICAgIHZhciB0bXAgPSBzcmM7CisgICAgICAgIHNyYyA9IGRzdDsKKyAgICAg
ICAgZHN0ID0gdG1wOwogICAgIH0KIAotICAgIGZ1bmN0aW9uIGJ1Y2tldFNvcnQoYXJyYXksIGRz
dCwgYnVja2V0LCBkZXB0aCkKLSAgICB7Ci0gICAgICAgIGlmIChidWNrZXQubGVuZ3RoIDwgMzIg
fHwgZGVwdGggPiAzMikgewotICAgICAgICAgICAgdmFyIHNvcnRlZCA9IG1lcmdlU29ydChidWNr
ZXQsIHN0cmluZ0NvbXBhcmF0b3IpOwotICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBz
b3J0ZWQubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgICAgICBAcHV0QnlWYWxEaXJlY3QoYXJy
YXksIGRzdCwgc29ydGVkW2ldLnZhbHVlKTsKLSAgICAgICAgICAgICAgICArK2RzdDsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIHJldHVybiBkc3Q7Ci0gICAgICAgIH0KKyAgICByZXR1cm4g
c3JjOworfQogCi0gICAgICAgIHZhciBidWNrZXRzID0gWyBdOwotICAgICAgICBmb3IgKHZhciBp
ID0gMDsgaSA8IGJ1Y2tldC5sZW5ndGg7ICsraSkgewotICAgICAgICAgICAgdmFyIGVudHJ5ID0g
YnVja2V0W2ldOwotICAgICAgICAgICAgdmFyIHN0cmluZyA9IGVudHJ5LnN0cmluZzsKLSAgICAg
ICAgICAgIGlmIChzdHJpbmcubGVuZ3RoID09IGRlcHRoKSB7Ci0gICAgICAgICAgICAgICAgQHB1
dEJ5VmFsRGlyZWN0KGFycmF5LCBkc3QsIGVudHJ5LnZhbHVlKTsKLSAgICAgICAgICAgICAgICAr
K2RzdDsKLSAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIH0KK0BnbG9iYWxQ
cml2YXRlCitmdW5jdGlvbiBzb3J0QnVja2V0U29ydChhcnJheSwgZHN0LCBidWNrZXQsIGRlcHRo
KQoreworICAgICJ1c2Ugc3RyaWN0IjsKIAotICAgICAgICAgICAgdmFyIGMgPSBzdHJpbmcuQGNo
YXJDb2RlQXQoZGVwdGgpOwotICAgICAgICAgICAgdmFyIGNCdWNrZXQgPSBidWNrZXRzW2NdOwot
ICAgICAgICAgICAgaWYgKGNCdWNrZXQpCi0gICAgICAgICAgICAgICAgQHB1dEJ5VmFsRGlyZWN0
KGNCdWNrZXQsIGNCdWNrZXQubGVuZ3RoLCBlbnRyeSk7Ci0gICAgICAgICAgICBlbHNlCi0gICAg
ICAgICAgICAgICAgQHB1dEJ5VmFsRGlyZWN0KGJ1Y2tldHMsIGMsIFsgZW50cnkgXSk7CisgICAg
aWYgKGJ1Y2tldC5sZW5ndGggPCAzMiB8fCBkZXB0aCA+IDMyKSB7CisgICAgICAgIHZhciBzb3J0
ZWQgPSBAc29ydE1lcmdlU29ydChidWNrZXQsIEBzb3J0U3RyaW5nQ29tcGFyYXRvcik7CisgICAg
ICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc29ydGVkLmxlbmd0aDsgKytpKSB7CisgICAgICAgICAg
ICBAcHV0QnlWYWxEaXJlY3QoYXJyYXksIGRzdCwgc29ydGVkW2ldLnZhbHVlKTsKKyAgICAgICAg
ICAgICsrZHN0OwogICAgICAgICB9CisgICAgICAgIHJldHVybiBkc3Q7CisgICAgfQogCi0gICAg
ICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYnVja2V0cy5sZW5ndGg7ICsraSkgewotICAgICAgICAg
ICAgaWYgKCFidWNrZXRzW2ldKQotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAg
ICAgZHN0ID0gYnVja2V0U29ydChhcnJheSwgZHN0LCBidWNrZXRzW2ldLCBkZXB0aCArIDEpOwor
ICAgIHZhciBidWNrZXRzID0gWyBdOworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYnVja2V0Lmxl
bmd0aDsgKytpKSB7CisgICAgICAgIHZhciBlbnRyeSA9IGJ1Y2tldFtpXTsKKyAgICAgICAgdmFy
IHN0cmluZyA9IGVudHJ5LnN0cmluZzsKKyAgICAgICAgaWYgKHN0cmluZy5sZW5ndGggPT0gZGVw
dGgpIHsKKyAgICAgICAgICAgIEBwdXRCeVZhbERpcmVjdChhcnJheSwgZHN0LCBlbnRyeS52YWx1
ZSk7CisgICAgICAgICAgICArK2RzdDsKKyAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9
CiAKLSAgICAgICAgcmV0dXJuIGRzdDsKKyAgICAgICAgdmFyIGMgPSBzdHJpbmcuQGNoYXJDb2Rl
QXQoZGVwdGgpOworICAgICAgICB2YXIgY0J1Y2tldCA9IGJ1Y2tldHNbY107CisgICAgICAgIGlm
IChjQnVja2V0KQorICAgICAgICAgICAgQHB1dEJ5VmFsRGlyZWN0KGNCdWNrZXQsIGNCdWNrZXQu
bGVuZ3RoLCBlbnRyeSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIEBwdXRCeVZhbERpcmVj
dChidWNrZXRzLCBjLCBbIGVudHJ5IF0pOwogICAgIH0KIAorICAgIGZvciAodmFyIGkgPSAwOyBp
IDwgYnVja2V0cy5sZW5ndGg7ICsraSkgeworICAgICAgICBpZiAoIWJ1Y2tldHNbaV0pCisgICAg
ICAgICAgICBjb250aW51ZTsKKyAgICAgICAgZHN0ID0gQHNvcnRCdWNrZXRTb3J0KGFycmF5LCBk
c3QsIGJ1Y2tldHNbaV0sIGRlcHRoICsgMSk7CisgICAgfQorCisgICAgcmV0dXJuIGRzdDsKK30K
KworZnVuY3Rpb24gc29ydChjb21wYXJhdG9yKQoreworICAgICJ1c2Ugc3RyaWN0IjsKKwogICAg
IHZhciBpc1N0cmluZ1NvcnQgPSBmYWxzZTsKICAgICBpZiAoY29tcGFyYXRvciA9PT0gQHVuZGVm
aW5lZCkKICAgICAgICAgaXNTdHJpbmdTb3J0ID0gdHJ1ZTsKQEAgLTQ3MywxNSArNDk2LDE1IEBA
IGVsc2UgaWYgKCFAaXNDYWxsYWJsZShjb21wYXJhdG9yKSkKIAogICAgIHZhciBjb21wYWN0ZWQg
PSBbIF07CiAgICAgdmFyIHNvcnRlZCA9IG51bGw7Ci0gICAgdmFyIHVuZGVmaW5lZENvdW50ID0g
Y29tcGFjdChyZWNlaXZlciwgcmVjZWl2ZXJMZW5ndGgsIGNvbXBhY3RlZCwgaXNTdHJpbmdTb3J0
KTsKKyAgICB2YXIgdW5kZWZpbmVkQ291bnQgPSBAc29ydENvbXBhY3QocmVjZWl2ZXIsIHJlY2Vp
dmVyTGVuZ3RoLCBjb21wYWN0ZWQsIGlzU3RyaW5nU29ydCk7CiAKICAgICBpZiAoaXNTdHJpbmdT
b3J0KSB7CiAgICAgICAgIHNvcnRlZCA9IEBuZXdBcnJheVdpdGhTaXplKGNvbXBhY3RlZC5sZW5n
dGgpOwotICAgICAgICBidWNrZXRTb3J0KHNvcnRlZCwgMCwgY29tcGFjdGVkLCAwKTsKKyAgICAg
ICAgQHNvcnRCdWNrZXRTb3J0KHNvcnRlZCwgMCwgY29tcGFjdGVkLCAwKTsKICAgICB9IGVsc2UK
LSAgICAgICAgc29ydGVkID0gbWVyZ2VTb3J0KGNvbXBhY3RlZCwgY29tcGFyYXRvcik7CisgICAg
ICAgIHNvcnRlZCA9IEBzb3J0TWVyZ2VTb3J0KGNvbXBhY3RlZCwgY29tcGFyYXRvcik7CiAKLSAg
ICBjb21taXQocmVjZWl2ZXIsIHJlY2VpdmVyTGVuZ3RoLCBzb3J0ZWQsIHVuZGVmaW5lZENvdW50
KTsKKyAgICBAc29ydENvbW1pdChyZWNlaXZlciwgcmVjZWl2ZXJMZW5ndGgsIHNvcnRlZCwgdW5k
ZWZpbmVkQ291bnQpOwogICAgIHJldHVybiByZWNlaXZlcjsKIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>