aboutsummaryrefslogtreecommitdiffstats
path: root/website/json/15.3_Function_Objects.json
blob: 0cdbd2be36aa7a0e1c20760641ae76492e11facf (plain)
1
{"testsCollection":{"name":"Chapter - 15.3_Function_Objects","numTests":"192","tests":[{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgZnVuY3Rpb24gY2FsbCBGdW5jdGlvbijigKYpIGlzIGVxdWl2YWxlbnQgdG8gdGhlIG9iamVjdCBjcmVhdGlvbiBleHByZXNzaW9uCiAqIG5ldyBGdW5jdGlvbijigKYpIHdpdGggdGhlIHNhbWUgYXJndW1lbnRzLgogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzL1MxNS4zLjFfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENyZWF0ZSBzaW1wbGUgZnVuY3Rpb25zIGFuZCBjaGVjayByZXR1cm5lZCB2YWx1ZXMKICovCgp2YXIgZiA9IEZ1bmN0aW9uKCJyZXR1cm4gYXJndW1lbnRzWzBdOyIpOwoKLy9DSEVDSyMxCmlmICghKGYgaW5zdGFuY2VvZiBGdW5jdGlvbikpewogICRFUlJPUignIzE6IGYgaW5zdGFuY2VvZiBGdW5jdGlvbicpOwp9CgovL0NIRUNLIzIKaWYgKGYoMSkgIT09IDEpIHsKICAkRVJST1IoJyMyOiBmKDEpICE9PSAxJyk7Cn0KCnZhciBnID0gbmV3IEZ1bmN0aW9uKCJyZXR1cm4gYXJndW1lbnRzWzBdOyIpOwoKCi8vQ0hFQ0sjMwppZiAoIShnIGluc3RhbmNlb2YgRnVuY3Rpb24pKSB7CiAgJEVSUk9SKCcjMzogZyBpbnN0YW5jZW9mIEZ1bmN0aW9uJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZygiQSIpICE9PSAiQSIpIHsKICAkRVJST1IoJyM0OiBnKCJBIikgIT09ICJBIicpOwp9CgovL0NIRUNLIzUKaWYgKGcoIkEiKSAhPT0gZigiQSIpKSB7CiAgJEVSUk9SKCcjNTogZygiQSIpICE9PSBmKCJBIiknKTsKfQoK","commentary":"The function call Function(\u2026) is equivalent to the object creation expression\nnew Function(\u2026) with the same arguments.","description":"Create simple functions and check returned values","path":"TestCases/15_Native/15.3_Function_Objects/S15.3.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBGdW5jdGlvbiBpcyB0aGUgcHJvcGVydHkgb2YgZ2xvYmFsCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvUzE1LjNfQTEuanMKICogQGRlc2NyaXB0aW9uIENvbXBhcmUgRnVuY3Rpb24gd2l0aCB0aGlzLkZ1bmN0aW9uCiAqLwoKdmFyIG9iaiA9IEZ1bmN0aW9uOwoKdmFyIHRoaXNvYmogPSB0aGlzLkZ1bmN0aW9uOwoKaWYgKG9iaiAhPT0gdGhpc29iaikgewogICRFUlJPUignRnVuY3Rpb24gaXMgdGhlIHByb3BlcnR5IG9mIGdsb2JhbCcpOwp9Cgo=","commentary":"Function is the property of global","description":"Compare Function with this.Function","path":"TestCases/15_Native/15.3_Function_Objects/S15.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBTaW5jZSBhcHBseWluZyB0aGUgImNhbGwiIG1ldGhvZCB0byBGdW5jdGlvbiBjb25zdHJ1Y3RvciB0aGVtc2VsZiBsZWFkcyB0byBjcmVhdGluZyBhIG5ldyBmdW5jdGlvbiBpbnN0YW5jZSwgdGhlIHNlY29uZCBhcmd1bWVudCBtdXN0IGJlIGEgdmFsaWQgZnVuY3Rpb24gYm9keQogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzL1MxNS4zX0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpbmcgIkZ1bmN0aW9uLmNhbGwodGhpcywgInZhciB4IC8gPSAxOyIpIiBmYWlscwogKi8KCi8vQ0hFQ0sjCnRyeXsKICBGdW5jdGlvbi5jYWxsKHRoaXMsICJ2YXIgeCAvID0gMTsiKTsKfSBjYXRjaChlKXsKICBpZiAoIShlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpKSB7CiAgCSRFUlJPUignIzE6IGZ1bmN0aW9uIGJvZHkgbXVzdCBiZSB2YWxpZCcpOwogIH0KfSAgICAKCgo=","commentary":"Since applying the \"call\" method to Function constructor themself leads to creating a new function instance, the second argument must be a valid function body","description":"Checking if executing \"Function.call(this, \"var x / = 1;\")\" fails","path":"TestCases/15_Native/15.3_Function_Objects/S15.3_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBTaW5jZSBhcHBseWluZyB0aGUgImNhbGwiIG1ldGhvZCB0byBGdW5jdGlvbiBjb25zdHJ1Y3RvciB0aGVtc2VsZiBsZWFkcyB0byBjcmVhdGluZyBhIG5ldyBmdW5jdGlvbiBpbnN0YW5jZSwgdGhlIHNlY29uZCBhcmd1bWVudCBtdXN0IGJlIGEgdmFsaWQgZnVuY3Rpb24gYm9keQogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzL1MxNS4zX0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpbmcgIkZ1bmN0aW9uLmNhbGwodGhpcywgInZhciAjeCAgPSAxOyIpIiBmYWlscwogKi8KCi8vQ0hFQ0sjCnRyeXsKICBGdW5jdGlvbi5jYWxsKHRoaXMsICJ2YXIgI3ggID0gMTsiKTsKfSBjYXRjaChlKXsKICBpZiAoIShlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpKSB7CiAgCSRFUlJPUignIzE6IGZ1bmN0aW9uIGJvZHkgbXVzdCBiZSB2YWxpZCcpOwogIH0KfSAgICAKCgo=","commentary":"Since applying the \"call\" method to Function constructor themself leads to creating a new function instance, the second argument must be a valid function body","description":"Checking if executing \"Function.call(this, \"var #x  = 1;\")\" fails","path":"TestCases/15_Native/15.3_Function_Objects/S15.3_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiBpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGlpKSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3RvcHQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbgogKiBpaWkpIElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqIGl2KSBDcmVhdGUgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yIHdpdGggcGFyYW1ldGVycyBzcGVjaWZpZWQgYnkgcGFyc2luZyBQIGFzIGEgRm9ybWFsUGFyYW1ldGVyTGlzdG9wdCBhbmQgYm9keSBzcGVjaWZpZWQgYnkgcGFyc2luZyBib2R5IGFzIGEgRnVuY3Rpb25Cb2R5LgogKiBQYXNzIGluIGEgc2NvcGUgY2hhaW4gY29uc2lzdGluZyBvZiB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgU2NvcGUgcGFyYW1ldGVyCiAqIHYpIFJldHVybiBSZXN1bHQoaXYpCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy4yX1RoZV9GdW5jdGlvbl9Db25zdHJ1Y3Rvci9TMTUuMy4yLjFfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSBib2R5IG9mIHRoZSBmdW5jdGlvbiBpcyAie3RvU3RyaW5nOmZ1bmN0aW9uKCl7dGhyb3cgNzt9fSIKICovCgp2YXIgYm9keSA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93IDc7fX0KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKGJvZHkpOwogICRGQUlMKCcjMTogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IHRoZSBmb2xsb3dpbmcgc3RlcCBhcmUgdGFrZW46IGNhbGwgVG9TdHJpbmcoYm9keSknKTsKfSBjYXRjaCAoZSkgewogIGlmIChlICE9PSA3KSB7CiAgCSRFUlJPUignIzEuMTogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IHRoZSBmb2xsb3dpbmcgc3RlcCBhcmUgdGFrZW46IGNhbGwgVG9TdHJpbmcoYm9keSknKTsKICB9Cn0KCg==","commentary":"When the Function constructor is called with one argument then body be that argument and the following steps are taken:\ni) Call ToString(body)\nii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception\niii) If body is not parsable as FunctionBody then throw a SyntaxError exception\niv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.\nPass in a scope chain consisting of the global object as the Scope parameter\nv) Return Result(iv)","description":"The body of the function is \"{toString:function(){throw 7;}}\"","path":"TestCases/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiBpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGlpKSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3RvcHQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbgogKiBpaWkpIElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqIGl2KSBDcmVhdGUgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yIHdpdGggcGFyYW1ldGVycyBzcGVjaWZpZWQgYnkgcGFyc2luZyBQIGFzIGEgRm9ybWFsUGFyYW1ldGVyTGlzdG9wdCBhbmQgYm9keSBzcGVjaWZpZWQgYnkgcGFyc2luZyBib2R5IGFzIGEgRnVuY3Rpb25Cb2R5LgogKiBQYXNzIGluIGEgc2NvcGUgY2hhaW4gY29uc2lzdGluZyBvZiB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgU2NvcGUgcGFyYW1ldGVyCiAqIHYpIFJldHVybiBSZXN1bHQoaXYpCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy4yX1RoZV9GdW5jdGlvbl9Db25zdHJ1Y3Rvci9TMTUuMy4yLjFfQTFfVDEwLmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZSBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnQgaXMgIm51bGwiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24obnVsbCk7Cn0gY2F0Y2ggKGUpIHsKICAkRkFJTCgnIzE6IHRlc3QgZmFpbHMgd2l0aCBlcnJvciAnK2UpOwp9CgovL0NIRUNLIzIKaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IGFuZCBjcmVhdGVzIGEgbmV3IEZ1bmN0aW9uIG9iamVjdCBhcyBzcGVjaWZpZWQgaW4gMTMuMicpOwp9CgovL0NIRUNLIzMKaWYgKGYoKSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuLi4uJyk7Cn0KCg==","commentary":"When the Function constructor is called with one argument then body be that argument and the following steps are taken:\ni) Call ToString(body)\nii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception\niii) If body is not parsable as FunctionBody then throw a SyntaxError exception\niv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.\nPass in a scope chain consisting of the global object as the Scope parameter\nv) Return Result(iv)","description":"Value of the function constructor argument is \"null\"","path":"TestCases/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiBpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGlpKSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3RvcHQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbgogKiBpaWkpIElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqIGl2KSBDcmVhdGUgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yIHdpdGggcGFyYW1ldGVycyBzcGVjaWZpZWQgYnkgcGFyc2luZyBQIGFzIGEgRm9ybWFsUGFyYW1ldGVyTGlzdG9wdCBhbmQgYm9keSBzcGVjaWZpZWQgYnkgcGFyc2luZyBib2R5IGFzIGEgRnVuY3Rpb25Cb2R5LgogKiBQYXNzIGluIGEgc2NvcGUgY2hhaW4gY29uc2lzdGluZyBvZiB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgU2NvcGUgcGFyYW1ldGVyCiAqIHYpIFJldHVybiBSZXN1bHQoaXYpCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy4yX1RoZV9GdW5jdGlvbl9Db25zdHJ1Y3Rvci9TMTUuMy4yLjFfQTFfVDExLmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZSBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnQgaXMgInVuZGVmaW5lZCIKICovCgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgZiA9IG5ldyBGdW5jdGlvbih1bmRlZmluZWQpOwp9IGNhdGNoIChlKSB7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCB3aXRoIGVycm9yICcrZSk7Cn0KCi8vQ0hFQ0sjMgppZiAoZi5jb25zdHJ1Y3RvciAhPT0gRnVuY3Rpb24pIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIGNyZWF0ZXMgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZigpICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW4uLi4nKTsKfQoK","commentary":"When the Function constructor is called with one argument then body be that argument and the following steps are taken:\ni) Call ToString(body)\nii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception\niii) If body is not parsable as FunctionBody then throw a SyntaxError exception\niv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.\nPass in a scope chain consisting of the global object as the Scope parameter\nv) Return Result(iv)","description":"Value of the function constructor argument is \"undefined\"","path":"TestCases/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiBpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGlpKSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3RvcHQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbgogKiBpaWkpIElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqIGl2KSBDcmVhdGUgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yIHdpdGggcGFyYW1ldGVycyBzcGVjaWZpZWQgYnkgcGFyc2luZyBQIGFzIGEgRm9ybWFsUGFyYW1ldGVyTGlzdG9wdCBhbmQgYm9keSBzcGVjaWZpZWQgYnkgcGFyc2luZyBib2R5IGFzIGEgRnVuY3Rpb25Cb2R5LgogKiBQYXNzIGluIGEgc2NvcGUgY2hhaW4gY29uc2lzdGluZyBvZiB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgU2NvcGUgcGFyYW1ldGVyCiAqIHYpIFJldHVybiBSZXN1bHQoaXYpCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy4yX1RoZV9GdW5jdGlvbl9Db25zdHJ1Y3Rvci9TMTUuMy4yLjFfQTFfVDEyLmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZSBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnQgaXMgInZvaWQgMCIKICovCgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgZiA9IG5ldyBGdW5jdGlvbih2b2lkIDApOwp9IGNhdGNoIChlKSB7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCB3aXRoIGVycm9yICcrZSk7Cn0KCi8vQ0hFQ0sjMgppZiAoZi5jb25zdHJ1Y3RvciAhPT0gRnVuY3Rpb24pIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIGNyZWF0ZXMgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZigpIT09dW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuLi4uJyk7Cn0KCg==","commentary":"When the Function constructor is called with one argument then body be that argument and the following steps are taken:\ni) Call ToString(body)\nii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception\niii) If body is not parsable as FunctionBody then throw a SyntaxError exception\niv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.\nPass in a scope chain consisting of the global object as the Scope parameter\nv) Return Result(iv)","description":"Value of the function constructor argument is \"void 0\"","path":"TestCases/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiBpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGlpKSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3RvcHQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbgogKiBpaWkpIElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqIGl2KSBDcmVhdGUgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yIHdpdGggcGFyYW1ldGVycyBzcGVjaWZpZWQgYnkgcGFyc2luZyBQIGFzIGEgRm9ybWFsUGFyYW1ldGVyTGlzdG9wdCBhbmQgYm9keSBzcGVjaWZpZWQgYnkgcGFyc2luZyBib2R5IGFzIGEgRnVuY3Rpb25Cb2R5LgogKiBQYXNzIGluIGEgc2NvcGUgY2hhaW4gY29uc2lzdGluZyBvZiB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgU2NvcGUgcGFyYW1ldGVyCiAqIHYpIFJldHVybiBSZXN1bHQoaXYpCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy4yX1RoZV9GdW5jdGlvbl9Db25zdHJ1Y3Rvci9TMTUuMy4yLjFfQTFfVDEzLmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZSBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnQgaXMgInt9IgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKHt9KTsKICAkRkFJTCgnIzE6IHRlc3QgZmFpbGVkIHdpdGggZXJyb3IgJytlKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikpIHsKICAJJEVSUk9SKCcjMS4xOiBJZiBib2R5IGlzIG5vdCBwYXJzYWJsZSBhcyBGdW5jdGlvbkJvZHkgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbicpOwogIH0KfQoK","commentary":"When the Function constructor is called with one argument then body be that argument and the following steps are taken:\ni) Call ToString(body)\nii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception\niii) If body is not parsable as FunctionBody then throw a SyntaxError exception\niv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.\nPass in a scope chain consisting of the global object as the Scope parameter\nv) Return Result(iv)","description":"Value of the function constructor argument is \"{}\"","path":"TestCases/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiBpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGlpKSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3RvcHQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbgogKiBpaWkpIElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqIGl2KSBDcmVhdGUgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yIHdpdGggcGFyYW1ldGVycyBzcGVjaWZpZWQgYnkgcGFyc2luZyBQIGFzIGEgRm9ybWFsUGFyYW1ldGVyTGlzdG9wdCBhbmQgYm9keSBzcGVjaWZpZWQgYnkgcGFyc2luZyBib2R5IGFzIGEgRnVuY3Rpb25Cb2R5LgogKiBQYXNzIGluIGEgc2NvcGUgY2hhaW4gY29uc2lzdGluZyBvZiB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgU2NvcGUgcGFyYW1ldGVyCiAqIHYpIFJldHVybiBSZXN1bHQoaXYpCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy4yX1RoZV9GdW5jdGlvbl9Db25zdHJ1Y3Rvci9TMTUuMy4yLjFfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIFRoZSBib2R5IG9mIHRoZSBmdW5jdGlvbiBpcyAie3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJyZXR1cm4gMTsiO319IgogKi8KCnZhciBib2R5PXt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAicmV0dXJuIDE7Ijt9fTsKCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKGJvZHkpOwkKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQgd2l0aCBlcnJvciAnK2UpOwp9CgovL0NIRUNLIzIKaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IGFuZCBjcmVhdGVzIGEgbmV3IEZ1bmN0aW9uIG9iamVjdCBhcyBzcGVjaWZpZWQgaW4gMTMuMicpOwp9CgovL0NIRUNLIzMKaWYgKGYoKSE9PTEpIHsKICAkRVJST1IoJyMzOiBoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbi4uLicpOwp9Cgo=","commentary":"When the Function constructor is called with one argument then body be that argument and the following steps are taken:\ni) Call ToString(body)\nii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception\niii) If body is not parsable as FunctionBody then throw a SyntaxError exception\niv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.\nPass in a scope chain consisting of the global object as the Scope parameter\nv) Return Result(iv)","description":"The body of the function is \"{toString:function(){return \"return 1;\";}}\"","path":"TestCases/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiBpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGlpKSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3RvcHQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbgogKiBpaWkpIElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqIGl2KSBDcmVhdGUgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yIHdpdGggcGFyYW1ldGVycyBzcGVjaWZpZWQgYnkgcGFyc2luZyBQIGFzIGEgRm9ybWFsUGFyYW1ldGVyTGlzdG9wdCBhbmQgYm9keSBzcGVjaWZpZWQgYnkgcGFyc2luZyBib2R5IGFzIGEgRnVuY3Rpb25Cb2R5LgogKiBQYXNzIGluIGEgc2NvcGUgY2hhaW4gY29uc2lzdGluZyBvZiB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgU2NvcGUgcGFyYW1ldGVyCiAqIHYpIFJldHVybiBSZXN1bHQoaXYpCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy4yX1RoZV9GdW5jdGlvbl9Db25zdHJ1Y3Rvci9TMTUuMy4yLjFfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIFZhbHVlIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudCBpcyAxCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24oMSk7Cn0gY2F0Y2ggKGUpIHsKICAkRkFJTCgnIzE6IHRlc3QgZmFpbGVkIHdpdGggZXJyb3IgJytlKTsKfQoKLy9DSEVDSyMyCmlmIChmLmNvbnN0cnVjdG9yICE9PSBGdW5jdGlvbikgewogICRFUlJPUignIzI6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCBhbmQgY3JlYXRlcyBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjInKTsKfQoKLy9DSEVDSyMzCmlmIChmKCkhPT11bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW4uLi4nKTsKfQoK","commentary":"When the Function constructor is called with one argument then body be that argument and the following steps are taken:\ni) Call ToString(body)\nii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception\niii) If body is not parsable as FunctionBody then throw a SyntaxError exception\niv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.\nPass in a scope chain consisting of the global object as the Scope parameter\nv) Return Result(iv)","description":"Value of the function constructor argument is 1","path":"TestCases/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiBpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGlpKSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3RvcHQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbgogKiBpaWkpIElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqIGl2KSBDcmVhdGUgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yIHdpdGggcGFyYW1ldGVycyBzcGVjaWZpZWQgYnkgcGFyc2luZyBQIGFzIGEgRm9ybWFsUGFyYW1ldGVyTGlzdG9wdCBhbmQgYm9keSBzcGVjaWZpZWQgYnkgcGFyc2luZyBib2R5IGFzIGEgRnVuY3Rpb25Cb2R5LgogKiBQYXNzIGluIGEgc2NvcGUgY2hhaW4gY29uc2lzdGluZyBvZiB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgU2NvcGUgcGFyYW1ldGVyCiAqIHYpIFJldHVybiBSZXN1bHQoaXYpCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy4yX1RoZV9GdW5jdGlvbl9Db25zdHJ1Y3Rvci9TMTUuMy4yLjFfQTFfVDQuanMKICogQGRlc2NyaXB0aW9uIFZhbHVlIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudCBpcyB4LCB3aGVyZSB4IGlzIHNwZWNpZmllZCB3aXRoICJ1bmRlZmluZWQiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24oeCk7Cn0gY2F0Y2ggKGUpIHsKICAkRkFJTCgnIzE6IHRlc3QgZmFpbGVkIHdpdGggZXJyb3IgJytlKTsKfQoKLy9DSEVDSyMyCmlmIChmLmNvbnN0cnVjdG9yICE9PSBGdW5jdGlvbikgewogICRFUlJPUignIzI6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCBhbmQgY3JlYXRlcyBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjInKTsKfQoKLy9DSEVDSyMzCmlmIChmKCkhPT11bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW4uLi4nKTsKfQoKdmFyIHg7Cgo=","commentary":"When the Function constructor is called with one argument then body be that argument and the following steps are taken:\ni) Call ToString(body)\nii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception\niii) If body is not parsable as FunctionBody then throw a SyntaxError exception\niv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.\nPass in a scope chain consisting of the global object as the Scope parameter\nv) Return Result(iv)","description":"Value of the function constructor argument is x, where x is specified with \"undefined\"","path":"TestCases/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiBpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGlpKSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3RvcHQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbgogKiBpaWkpIElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqIGl2KSBDcmVhdGUgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yIHdpdGggcGFyYW1ldGVycyBzcGVjaWZpZWQgYnkgcGFyc2luZyBQIGFzIGEgRm9ybWFsUGFyYW1ldGVyTGlzdG9wdCBhbmQgYm9keSBzcGVjaWZpZWQgYnkgcGFyc2luZyBib2R5IGFzIGEgRnVuY3Rpb25Cb2R5LgogKiBQYXNzIGluIGEgc2NvcGUgY2hhaW4gY29uc2lzdGluZyBvZiB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgU2NvcGUgcGFyYW1ldGVyCiAqIHYpIFJldHVybiBSZXN1bHQoaXYpCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy4yX1RoZV9GdW5jdGlvbl9Db25zdHJ1Y3Rvci9TMTUuMy4yLjFfQTFfVDUuanMKICogQGRlc2NyaXB0aW9uIFZhbHVlIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudCBpcyAiT2JqZWN0KCJyZXR1cm4gXCdBXCciKSIKICovCgp2YXIgYm9keSA9IE9iamVjdCgicmV0dXJuIFwnQVwnIik7CgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgZiA9IG5ldyBGdW5jdGlvbihib2R5KTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQgd2l0aCBlcnJvciAnK2UpOwp9CgovL0NIRUNLIzIKaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IGFuZCBjcmVhdGVzIGEgbmV3IEZ1bmN0aW9uIG9iamVjdCBhcyBzcGVjaWZpZWQgaW4gMTMuMicpOwp9CgovL0NIRUNLIzMKaWYgKGYoKSE9PSJcdTAwNDEiKSB7CiAgJEVSUk9SKCcjMzogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuLi4uJyk7Cn0KCg==","commentary":"When the Function constructor is called with one argument then body be that argument and the following steps are taken:\ni) Call ToString(body)\nii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception\niii) If body is not parsable as FunctionBody then throw a SyntaxError exception\niv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.\nPass in a scope chain consisting of the global object as the Scope parameter\nv) Return Result(iv)","description":"Value of the function constructor argument is \"Object(\"return \\'A\\'\")\"","path":"TestCases/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiBpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGlpKSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3RvcHQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbgogKiBpaWkpIElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqIGl2KSBDcmVhdGUgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yIHdpdGggcGFyYW1ldGVycyBzcGVjaWZpZWQgYnkgcGFyc2luZyBQIGFzIGEgRm9ybWFsUGFyYW1ldGVyTGlzdG9wdCBhbmQgYm9keSBzcGVjaWZpZWQgYnkgcGFyc2luZyBib2R5IGFzIGEgRnVuY3Rpb25Cb2R5LgogKiBQYXNzIGluIGEgc2NvcGUgY2hhaW4gY29uc2lzdGluZyBvZiB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgU2NvcGUgcGFyYW1ldGVyCiAqIHYpIFJldHVybiBSZXN1bHQoaXYpCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy4yX1RoZV9GdW5jdGlvbl9Db25zdHJ1Y3Rvci9TMTUuMy4yLjFfQTFfVDYuanMKICogQGRlc2NyaXB0aW9uIFZhbHVlIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudCBpcyB0aGUgc3RyaW5nICJyZXR1cm4gdHJ1ZTsiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24oInJldHVybiB0cnVlOyIpOwp9IGNhdGNoIChlKSB7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCB3aXRoIGVycm9yICcrZSk7Cn0KCi8vQ0hFQ0sjMgppZiAoZi5jb25zdHJ1Y3RvciAhPT0gRnVuY3Rpb24pIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIGNyZWF0ZXMgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoIShmKCkpKSB7CiAgJEVSUk9SKCcjMzogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuLi4uJyk7Cn0KCg==","commentary":"When the Function constructor is called with one argument then body be that argument and the following steps are taken:\ni) Call ToString(body)\nii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception\niii) If body is not parsable as FunctionBody then throw a SyntaxError exception\niv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.\nPass in a scope chain consisting of the global object as the Scope parameter\nv) Return Result(iv)","description":"Value of the function constructor argument is the string \"return true;\"","path":"TestCases/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiBpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGlpKSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3RvcHQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbgogKiBpaWkpIElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqIGl2KSBDcmVhdGUgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yIHdpdGggcGFyYW1ldGVycyBzcGVjaWZpZWQgYnkgcGFyc2luZyBQIGFzIGEgRm9ybWFsUGFyYW1ldGVyTGlzdG9wdCBhbmQgYm9keSBzcGVjaWZpZWQgYnkgcGFyc2luZyBib2R5IGFzIGEgRnVuY3Rpb25Cb2R5LgogKiBQYXNzIGluIGEgc2NvcGUgY2hhaW4gY29uc2lzdGluZyBvZiB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgU2NvcGUgcGFyYW1ldGVyCiAqIHYpIFJldHVybiBSZXN1bHQoaXYpCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy4yX1RoZV9GdW5jdGlvbl9Db25zdHJ1Y3Rvci9TMTUuMy4yLjFfQTFfVDcuanMKICogQGRlc2NyaXB0aW9uIFZhbHVlIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudCBpcyAiT2JqZWN0KDEpIgogKi8KCnZhciBib2R5ID0gbmV3IE9iamVjdCgxKTsKCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKGJvZHkpOwp9IGNhdGNoIChlKSB7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCB3aXRoIGVycm9yICcrZSk7Cn0KCi8vQ0hFQ0sjMgppZiAoZi5jb25zdHJ1Y3RvciAhPT0gRnVuY3Rpb24pIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIGNyZWF0ZXMgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZigpIT09dW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuLi4uJyk7Cn0KCg==","commentary":"When the Function constructor is called with one argument then body be that argument and the following steps are taken:\ni) Call ToString(body)\nii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception\niii) If body is not parsable as FunctionBody then throw a SyntaxError exception\niv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.\nPass in a scope chain consisting of the global object as the Scope parameter\nv) Return Result(iv)","description":"Value of the function constructor argument is \"Object(1)\"","path":"TestCases/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiBpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGlpKSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3RvcHQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbgogKiBpaWkpIElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqIGl2KSBDcmVhdGUgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yIHdpdGggcGFyYW1ldGVycyBzcGVjaWZpZWQgYnkgcGFyc2luZyBQIGFzIGEgRm9ybWFsUGFyYW1ldGVyTGlzdG9wdCBhbmQgYm9keSBzcGVjaWZpZWQgYnkgcGFyc2luZyBib2R5IGFzIGEgRnVuY3Rpb25Cb2R5LgogKiBQYXNzIGluIGEgc2NvcGUgY2hhaW4gY29uc2lzdGluZyBvZiB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgU2NvcGUgcGFyYW1ldGVyCiAqIHYpIFJldHVybiBSZXN1bHQoaXYpCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy4yX1RoZV9GdW5jdGlvbl9Db25zdHJ1Y3Rvci9TMTUuMy4yLjFfQTFfVDguanMKICogQGRlc2NyaXB0aW9uIFZhbHVlIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudCBpcyAidmFyIDE9MTsiCiAqLwoKdmFyIGJvZHkgPSAidmFyIDE9MTsiOwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24oYm9keSk7CiAgJEZBSUwoJyMxOiBJZiBib2R5IGlzIG5vdCBwYXJzYWJsZSBhcyBGdW5jdGlvbkJvZHkgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKCEoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSkgewogIAkkRVJST1IoJyMxLjE6IElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uJyk7CiAgfQp9Cgo=","commentary":"When the Function constructor is called with one argument then body be that argument and the following steps are taken:\ni) Call ToString(body)\nii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception\niii) If body is not parsable as FunctionBody then throw a SyntaxError exception\niv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.\nPass in a scope chain consisting of the global object as the Scope parameter\nv) Return Result(iv)","description":"Value of the function constructor argument is \"var 1=1;\"","path":"TestCases/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiBpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGlpKSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3RvcHQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbgogKiBpaWkpIElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqIGl2KSBDcmVhdGUgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yIHdpdGggcGFyYW1ldGVycyBzcGVjaWZpZWQgYnkgcGFyc2luZyBQIGFzIGEgRm9ybWFsUGFyYW1ldGVyTGlzdG9wdCBhbmQgYm9keSBzcGVjaWZpZWQgYnkgcGFyc2luZyBib2R5IGFzIGEgRnVuY3Rpb25Cb2R5LgogKiBQYXNzIGluIGEgc2NvcGUgY2hhaW4gY29uc2lzdGluZyBvZiB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgU2NvcGUgcGFyYW1ldGVyCiAqIHYpIFJldHVybiBSZXN1bHQoaXYpCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy4yX1RoZV9GdW5jdGlvbl9Db25zdHJ1Y3Rvci9TMTUuMy4yLjFfQTFfVDkuanMKICogQGRlc2NyaXB0aW9uIFZhbHVlIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudCBpcyAicmV0dXJuIGFyZ3VtZW50c1swXTsiCiAqLwoKdmFyIGYgPSBuZXcgRnVuY3Rpb24oInJldHVybiBhcmd1bWVudHNbMF07Iik7CgovL0NIRUNLIzEKaWYgKCEoZiBpbnN0YW5jZW9mIEZ1bmN0aW9uKSkgewogICRFUlJPUignIzM6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCBhbmQgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW4uLi4nKTsKfQoKLy9DSEVDSyMyCmlmIChmKCJBIikgIT09ICJBIikgewogICRFUlJPUignIzI6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCBhbmQgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW4uLi4nKTsKfQoK","commentary":"When the Function constructor is called with one argument then body be that argument and the following steps are taken:\ni) Call ToString(body)\nii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception\niii) If body is not parsable as FunctionBody then throw a SyntaxError exception\niv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.\nPass in a scope chain consisting of the global object as the Scope parameter\nv) Return Result(iv)","description":"Value of the function constructor argument is \"return arguments[0];\"","path":"TestCases/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJdCBpcyBwZXJtaXNzaWJsZSBidXQgbm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVudCBmb3IgZWFjaCBmb3JtYWwgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZAogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMi4xX0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZXMgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50cyBhcmUgImFyZzEiLCAiYXJnMiIsICJhcmczIiwgInJldHVybiBhcmcxK2FyZzIrYXJnMzsiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBGdW5jdGlvbigiYXJnMSIsICJhcmcyIiwgImFyZzMiLCAicmV0dXJuIGFyZzErYXJnMithcmczOyIpOwp9IGNhdGNoIChlKSB7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCcpOwp9CgovL0NIRUNLIzIKaWYgKCEoZiBpbnN0YW5jZW9mIEZ1bmN0aW9uKSl7CiAgJEVSUk9SKCcjMjogSXQgaXMgcGVybWlzc2libGUgYnV0IG5vdCBuZWNlc3NhcnkgdG8gaGF2ZSBvbmUgYXJndW1lbnQgZm9yIGVhY2ggZm9ybWFsIHBhcmFtZXRlciB0byBiZSBzcGVjaWZpZWQnKTsKfQoKLy9DSEVDSyMzCmlmIChmKDEsMiwzKSAhPT0gNikgewogICRFUlJPUignIzM6IEl0IGlzIHBlcm1pc3NpYmxlIGJ1dCBub3QgbmVjZXNzYXJ5IHRvIGhhdmUgb25lIGFyZ3VtZW50IGZvciBlYWNoIGZvcm1hbCBwYXJhbWV0ZXIgdG8gYmUgc3BlY2lmaWVkJyk7Cn0KCg==","commentary":"It is permissible but not necessary to have one argument for each formal parameter to be specified","description":"Values of the function constructor arguments are \"arg1\", \"arg2\", \"arg3\", \"return arg1+arg2+arg3;\"","path":"TestCases/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJdCBpcyBwZXJtaXNzaWJsZSBidXQgbm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVudCBmb3IgZWFjaCBmb3JtYWwgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZAogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMi4xX0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZXMgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50cyBhcmUgImFyZzEsIGFyZzIiLCAiYXJnMyIsICJyZXR1cm4gYXJnMSthcmcyK2FyZzM7IgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gRnVuY3Rpb24oImFyZzEsIGFyZzIiLCAiYXJnMyIsICJyZXR1cm4gYXJnMSthcmcyK2FyZzM7Iik7Cn0gY2F0Y2ggKGUpIHsKICAkRkFJTCgnIzE6IHRlc3QgZmFpbGVkJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIShmIGluc3RhbmNlb2YgRnVuY3Rpb24pKXsKICAkRVJST1IoJyMyOiBJdCBpcyBwZXJtaXNzaWJsZSBidXQgbm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVudCBmb3IgZWFjaCBmb3JtYWwgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZCcpOwp9CgovL0NIRUNLIzMKaWYgKGYoIkFCIiwiQkEiLDEpICE9PSAiQUJCQTEiKSB7CiAgJEVSUk9SKCcjMzogSXQgaXMgcGVybWlzc2libGUgYnV0IG5vdCBuZWNlc3NhcnkgdG8gaGF2ZSBvbmUgYXJndW1lbnQgZm9yIGVhY2ggZm9ybWFsIHBhcmFtZXRlciB0byBiZSBzcGVjaWZpZWQnKTsKfQoK","commentary":"It is permissible but not necessary to have one argument for each formal parameter to be specified","description":"Values of the function constructor arguments are \"arg1, arg2\", \"arg3\", \"return arg1+arg2+arg3;\"","path":"TestCases/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJdCBpcyBwZXJtaXNzaWJsZSBidXQgbm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVudCBmb3IgZWFjaCBmb3JtYWwgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZAogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMi4xX0EyX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZXMgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50cyBhcmUgImFyZzEsIGFyZzIsIGFyZzMiLCAicmV0dXJuIGFyZzErYXJnMithcmczOyIKICovCgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgZiA9IEZ1bmN0aW9uKCJhcmcxLCBhcmcyLCBhcmczIiwgInJldHVybiBhcmcxK2FyZzIrYXJnMzsiKTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQnKTsKfQoKLy9DSEVDSyMyCmlmICghKGYgaW5zdGFuY2VvZiBGdW5jdGlvbikpewogICRFUlJPUignIzI6IEl0IGlzIHBlcm1pc3NpYmxlIGJ1dCBub3QgbmVjZXNzYXJ5IHRvIGhhdmUgb25lIGFyZ3VtZW50IGZvciBlYWNoIGZvcm1hbCBwYXJhbWV0ZXIgdG8gYmUgc3BlY2lmaWVkJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZigxLDEsIkFCQkEiKSAhPT0gIjJBQkJBIikgewogICRFUlJPUignIzM6IEl0IGlzIHBlcm1pc3NpYmxlIGJ1dCBub3QgbmVjZXNzYXJ5IHRvIGhhdmUgb25lIGFyZ3VtZW50IGZvciBlYWNoIGZvcm1hbCBwYXJhbWV0ZXIgdG8gYmUgc3BlY2lmaWVkJyk7Cn0KCg==","commentary":"It is permissible but not necessary to have one argument for each formal parameter to be specified","description":"Values of the function constructor arguments are \"arg1, arg2, arg3\", \"return arg1+arg2+arg3;\"","path":"TestCases/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJdCBpcyBwZXJtaXNzaWJsZSBidXQgbm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVudCBmb3IgZWFjaCBmb3JtYWwgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZAogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMi4xX0EyX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZXMgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50cyBhcmUgInJldHVybiItcyBvZiB2YXJpb3VzIHJlc3VsdHMKICovCgp2YXIgaT0wOwoKdmFyIHA9e3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJhcmciKygrK2kpO319OwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBGdW5jdGlvbihwLCBwLCBwLCAicmV0dXJuIGFyZzErYXJnMithcmczOyIpOwp9IGNhdGNoIChlKSB7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCcpOwp9CgovL0NIRUNLIzIKaWYgKCEoZiBpbnN0YW5jZW9mIEZ1bmN0aW9uKSl7CiAgJEVSUk9SKCcjMjogSXQgaXMgcGVybWlzc2libGUgYnV0IG5vdCBuZWNlc3NhcnkgdG8gaGF2ZSBvbmUgYXJndW1lbnQgZm9yIGVhY2ggZm9ybWFsIHBhcmFtZXRlciB0byBiZSBzcGVjaWZpZWQnKTsKfQoKLy9DSEVDSyMzCmlmIChmKDQsIjIiLCJRVUVTVElPTiIpICE9PSAiNDJRVUVTVElPTiIpIHsKICAkRVJST1IoJyMzOiBJdCBpcyBwZXJtaXNzaWJsZSBidXQgbm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVudCBmb3IgZWFjaCBmb3JtYWwgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZCcpOwp9CiAgCg==","commentary":"It is permissible but not necessary to have one argument for each formal parameter to be specified","description":"Values of the function constructor arguments are \"return\"-s of various results","path":"TestCases/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJdCBpcyBwZXJtaXNzaWJsZSBidXQgbm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVudCBmb3IgZWFjaCBmb3JtYWwgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZAogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMi4xX0EyX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZXMgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50cyBhcmUgInJldHVybiItcyBvZiB2YXJpb3VzIHJlc3VsdHMgYW5kIGEgY29uY290ZW5hdGlvbiBvZiBzdHJpbmdzCiAqLwoKdmFyIGk9MDsKCnZhciBwPXt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiYXJnIisoKytpKX19OwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBGdW5jdGlvbihwKyIsIitwLHAsICJyZXR1cm4gYXJnMSthcmcyK2FyZzM7Iik7Cn0gY2F0Y2ggKGUpIHsKICAkRkFJTCgnIzE6IHRlc3QgZmFpbGVkJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIShmIGluc3RhbmNlb2YgRnVuY3Rpb24pKXsKICAkRVJST1IoJyMyOiBJdCBpcyBwZXJtaXNzaWJsZSBidXQgbm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVudCBmb3IgZWFjaCBmb3JtYWwgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZCcpOwp9CgovL0NIRUNLIzMKaWYgKGYoIiIsMSwyKSAhPT0gIjEyIikgewogICRFUlJPUignIzM6IEl0IGlzIHBlcm1pc3NpYmxlIGJ1dCBub3QgbmVjZXNzYXJ5IHRvIGhhdmUgb25lIGFyZ3VtZW50IGZvciBlYWNoIGZvcm1hbCBwYXJhbWV0ZXIgdG8gYmUgc3BlY2lmaWVkJyk7Cn0KCg==","commentary":"It is permissible but not necessary to have one argument for each formal parameter to be specified","description":"Values of the function constructor arguments are \"return\"-s of various results and a concotenation of strings","path":"TestCases/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJdCBpcyBwZXJtaXNzaWJsZSBidXQgbm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVudCBmb3IgZWFjaCBmb3JtYWwgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZAogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMi4xX0EyX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZXMgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50cyBhcmUgInJldHVybiItcyBvZiB2YXJpb3VzIHJlc3VsdHMgYW5kIGEgY29uY290ZW5hdGlvbiBvZiBzdHJpbmdzCiAqLwoKdmFyIGk9MDsKCnZhciBwPXt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiYXJnIisoKytpKX19OwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBGdW5jdGlvbihwKyIsIitwKyIsIitwLCAicmV0dXJuIGFyZzErYXJnMithcmczOyIpOwp9IGNhdGNoIChlKSB7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCcpOwp9CgovL0NIRUNLIzIKaWYgKCEoZiBpbnN0YW5jZW9mIEZ1bmN0aW9uKSl7CiAgJEVSUk9SKCcjMjogSXQgaXMgcGVybWlzc2libGUgYnV0IG5vdCBuZWNlc3NhcnkgdG8gaGF2ZSBvbmUgYXJndW1lbnQgZm9yIGVhY2ggZm9ybWFsIHBhcmFtZXRlciB0byBiZSBzcGVjaWZpZWQnKTsKfQoKLy9DSEVDSyMzCmlmIChmKCIiLDEscCkgIT09ICIxYXJnNCIpIHsKICAkRVJST1IoJyMzOiBJdCBpcyBwZXJtaXNzaWJsZSBidXQgbm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVudCBmb3IgZWFjaCBmb3JtYWwgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZCcpOwp9Cgo=","commentary":"It is permissible but not necessary to have one argument for each formal parameter to be specified","description":"Values of the function constructor arguments are \"return\"-s of various results and a concotenation of strings","path":"TestCases/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy4yX1RoZV9GdW5jdGlvbl9Db25zdHJ1Y3Rvci9TMTUuMy4yLjFfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIFZhbHVlcyBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnRzIGFyZSAie3RvU3RyaW5nOmZ1bmN0aW9uKCl7dGhyb3cgMTt9fSIgYW5kICJ7dG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyAnYm9keSc7fX0iCiAqLwoKdmFyIHAgPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyAxO319Owp2YXIgYm9keSA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJib2R5Ijt9fTsKCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKHAsYm9keSk7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCcpOwp9IGNhdGNoIChlKSB7CiAgaWYgKGUgIT09IDEpIHsKICAJJEVSUk9SKCcjMS4xOiBpKSBMZXQgUmVzdWx0KGkpIGJlIHRoZSBmaXJzdCBhcmd1bWVudDsgaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSknKTsKICB9Cn0KCgoK","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are \"{toString:function(){throw 1;}}\" and \"{toString:function(){throw 'body';}}\"","path":"TestCases/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy4yX1RoZV9GdW5jdGlvbl9Db25zdHJ1Y3Rvci9TMTUuMy4yLjFfQTNfVDEwLmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZXMgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50cyBhcmUgInt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiejt4In19IiBhbmQgInJldHVybiB0aGlzOyIKICovCgp2YXIgYm9keSA9ICJyZXR1cm4gdGhpczsiOwp2YXIgcD17dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIno7eCJ9fTsKCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKHAsYm9keSk7CiAgJEZBSUwoJyMxOiBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikpIHsKICAJJEVSUk9SKCcjMS4xOiBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24nKTsKICB9Cn0KCg==","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are \"{toString:function(){return \"z;x\"}}\" and \"return this;\"","path":"TestCases/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy4yX1RoZV9GdW5jdGlvbl9Db25zdHJ1Y3Rvci9TMTUuMy4yLjFfQTNfVDExLmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZXMgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50cyBhcmUgImEsYixjIiBhbmQgInZvaWQgMCIKICovCgp2YXIgcCA9ICJhLGIsYyI7CgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgZiA9IG5ldyBGdW5jdGlvbihwLCB2b2lkIDApOwp9IGNhdGNoIChlKSB7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCB3aXRoIGVycm9yICcrZSk7Cn0KCi8vQ0hFQ0sjMgppZiAoZi5jb25zdHJ1Y3RvciAhPT0gRnVuY3Rpb24pIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSBjcmVhdGVzIGEgbmV3IEZ1bmN0aW9uIG9iamVjdCBhcyBzcGVjaWZpZWQgaW4gMTMuMicpOwp9CgovL0NIRUNLIzMKaWYgKGYoKSE9PXVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIGFyZ3VtZW50cyBwLCBib2R5IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuLi4uJyk7Cn0KCg==","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are \"a,b,c\" and \"void 0\"","path":"TestCases/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy4yX1RoZV9GdW5jdGlvbl9Db25zdHJ1Y3Rvci9TMTUuMy4yLjFfQTNfVDEyLmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZXMgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50cyBhcmUgImEsYixjIiBhbmQgInVuZGVmaW5lZCIKICovCgp2YXIgcCA9ICJhLGIsYyI7CgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgZiA9IG5ldyBGdW5jdGlvbihwLCB1bmRlZmluZWQpOwp9IGNhdGNoIChlKSB7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCB3aXRoIGVycm9yICcrZSk7Cn0KCi8vQ0hFQ0sjMgppZiAoZi5jb25zdHJ1Y3RvciAhPT0gRnVuY3Rpb24pIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSBjcmVhdGVzIGEgbmV3IEZ1bmN0aW9uIG9iamVjdCBhcyBzcGVjaWZpZWQgaW4gMTMuMicpOwp9CgovL0NIRUNLIzMKaWYgKGYoKSE9PXVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIGFyZ3VtZW50cyBwLCBib2R5IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuLi4uJyk7Cn0KCg==","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are \"a,b,c\" and \"undefined\"","path":"TestCases/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy4yX1RoZV9GdW5jdGlvbl9Db25zdHJ1Y3Rvci9TMTUuMy4yLjFfQTNfVDEzLmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZXMgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50cyBhcmUgImEsYixjIiBhbmQgIm51bGwiCiAqLwoKdmFyIHAgPSAiYSxiLGMiOwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24ocCwgbnVsbCk7Cn0gY2F0Y2ggKGUpIHsKICAkRkFJTCgnIzE6IHRlc3QgZmFpbGVkIHdpdGggZXJyb3IgJytlKTsKfQoKLy9DSEVDSyMyCmlmIChmLmNvbnN0cnVjdG9yICE9PSBGdW5jdGlvbikgewogICRFUlJPUignIzI6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIGFyZ3VtZW50cyBwLCBib2R5IGNyZWF0ZXMgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZigpIT09dW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggYXJndW1lbnRzIHAsIGJvZHkgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW4uLi4nKTsKfQoK","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are \"a,b,c\" and \"null\"","path":"TestCases/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy4yX1RoZV9GdW5jdGlvbl9Db25zdHJ1Y3Rvci9TMTUuMy4yLjFfQTNfVDE0LmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZXMgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50cyBhcmUgImEsYixjIiBhbmQgYW4gdW5kZWZpbmVkIHZhcmlhYmxlCiAqLwoKdmFyIHAgPSAiYSxiLGMiOwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24ocCwgYm9keSk7Cn0gY2F0Y2ggKGUpIHsKICAkRkFJTCgnIzE6IHRlc3QgZmFpbGVkIHdpdGggZXJyb3IgJytlKTsKfQoKLy9DSEVDSyMyCmlmIChmLmNvbnN0cnVjdG9yICE9PSBGdW5jdGlvbikgewogICRFUlJPUignIzI6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIGFyZ3VtZW50cyBwLCBib2R5IGNyZWF0ZXMgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZigpIT09dW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggYXJndW1lbnRzIHAsIGJvZHkgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW4uLi4nKTsKfQoKdmFyIGJvZHk7Cgo=","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are \"a,b,c\" and an undefined variable","path":"TestCases/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy4yX1RoZV9GdW5jdGlvbl9Db25zdHJ1Y3Rvci9TMTUuMy4yLjFfQTNfVDE1LmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZXMgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50cyBhcmUgYXJlIHR3byBlbXB0eSBzdHJpbmdzCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24oIiIsICIiKTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQgd2l0aCBlcnJvciAnK2UpOwp9CgovL0NIRUNLIzIKaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggYXJndW1lbnRzIHAsIGJvZHkgY3JlYXRlcyBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjInKTsKfQoKLy9DSEVDSyMzCmlmIChmKCkhPT11bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbi4uLicpOwp9Cgo=","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are are two empty strings","path":"TestCases/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy4yX1RoZV9GdW5jdGlvbl9Db25zdHJ1Y3Rvci9TMTUuMy4yLjFfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIFZhbHVlcyBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnRzIGFyZSAie3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICdhJzt9fSIgYW5kICJyZXR1cm4gYTsiCiAqLwoKdmFyIHAgPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gImEiO319Owp2YXIgYm9keSA9ICJyZXR1cm4gYTsiOwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24ocCxib2R5KTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQgd2l0aCBlcnJvciAnK2UpOwp9CgovL0NIRUNLIzIKaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggYXJndW1lbnRzIHAsIGJvZHkgY3JlYXRlcyBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjInKTsKfQoKLy9DSEVDSyMzCmlmIChmKDQyKSE9PTQyKSB7CiAgJEVSUk9SKCcjMzogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggYXJndW1lbnRzIHAsIGJvZHkgY3JlYXRlcyBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjInKTsKfQoKCgo=","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are \"{toString:function(){return 'a';}}\" and \"return a;\"","path":"TestCases/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy4yX1RoZV9GdW5jdGlvbl9Db25zdHJ1Y3Rvci9TMTUuMy4yLjFfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIFZhbHVlcyBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnRzIGFyZSAie3RvU3RyaW5nOmZ1bmN0aW9uKCl7cD0xO3JldHVybiAiYSI7fX0iIGFuZCAie3RvU3RyaW5nOmZ1bmN0aW9uKCl7dGhyb3cgImJvZHkiO319IgogKi8KCnZhciBwID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cD0xO3JldHVybiAiYSI7fX07CnZhciBib2R5ID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7dGhyb3cgImJvZHkiO319OwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24ocCxib2R5KTsKICAkRkFJTCgnIzE6IHRlc3QgZmFpbGVkJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gImJvZHkiKSB7CiAgCSRFUlJPUignIzEuMTogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQ7IGlpKSBMZXQgUCBiZSBUb1N0cmluZyhSZXN1bHQoaSkpJyk7CiAgfQp9CgovL0NIRUNLIzIKaWYgKHAgIT09IDEpIHsKICAkRVJST1IoJyMyOiBpKSBMZXQgUmVzdWx0KGkpIGJlIHRoZSBmaXJzdCBhcmd1bWVudDsgaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSknKTsKfQoKCgoK","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are \"{toString:function(){p=1;return \"a\";}}\" and \"{toString:function(){throw \"body\";}}\"","path":"TestCases/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy4yX1RoZV9GdW5jdGlvbl9Db25zdHJ1Y3Rvci9TMTUuMy4yLjFfQTNfVDQuanMKICogQGRlc2NyaXB0aW9uIFZhbHVlcyBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnRzIGFyZSBhbiB1bmRlZmluZWQgdmFyaWFibGUgYW5kICJyZXR1cm4gMS4xOyIKICovCgp2YXIgYm9keSA9ICJyZXR1cm4gMS4xOyI7CgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgZiA9IG5ldyBGdW5jdGlvbihwLGJvZHkpOwp9IGNhdGNoIChlKSB7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCB3aXRoIGVycm9yICcrZSk7Cn0KCi8vQ0hFQ0sjMgppZiAoZi5jb25zdHJ1Y3RvciAhPT0gRnVuY3Rpb24pIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIGNyZWF0ZXMgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZigpIT09MS4xKSB7CiAgJEVSUk9SKCcjMzogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuLi4uJyk7Cn0KCnZhciBwOwo=","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are an undefined variable and \"return 1.1;\"","path":"TestCases/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy4yX1RoZV9GdW5jdGlvbl9Db25zdHJ1Y3Rvci9TMTUuMy4yLjFfQTNfVDUuanMKICogQGRlc2NyaXB0aW9uIFZhbHVlcyBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnRzIGFyZSAidm9pZCAwIiBhbmQgInJldHVybiBcIkFcIjsiCiAqLwoKdmFyIGJvZHkgPSAicmV0dXJuIFwiQVwiOyI7CgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgZiA9IG5ldyBGdW5jdGlvbih2b2lkIDAsYm9keSk7Cn0gY2F0Y2ggKGUpIHsKICAkRkFJTCgnIzE6IHRlc3QgZmFpbGVkIHdpdGggZXJyb3IgJytlKTsKfQoKLy9DSEVDSyMyCmlmIChmLmNvbnN0cnVjdG9yICE9PSBGdW5jdGlvbikgewogICRFUlJPUignIzI6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCBhbmQgY3JlYXRlcyBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjInKTsKfQoKLy9DSEVDSyMzCmlmIChmKCkhPT0nXHUwMDQxJykgewogICRFUlJPUignIzM6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbi4uLicpOwp9CgoKCg==","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are \"void 0\" and \"return \\\"A\\\";\"","path":"TestCases/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy4yX1RoZV9GdW5jdGlvbl9Db25zdHJ1Y3Rvci9TMTUuMy4yLjFfQTNfVDYuanMKICogQGRlc2NyaXB0aW9uIFZhbHVlcyBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnRzIGFyZSAibnVsbCIgYW5kICJyZXR1cm4gdHJ1ZTsiCiAqLwoKdmFyIGJvZHkgPSAicmV0dXJuIHRydWU7IjsKCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKG51bGwsYm9keSk7CiAgJEZBSUwoJyMxOiBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikpIHsKICAJJEVSUk9SKCcjMS4xOiBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24nKTsKICB9Cn0K","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are \"null\" and \"return true;\"","path":"TestCases/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy4yX1RoZV9GdW5jdGlvbl9Db25zdHJ1Y3Rvci9TMTUuMy4yLjFfQTNfVDcuanMKICogQGRlc2NyaXB0aW9uIFZhbHVlcyBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnRzIGFyZSAiT2JqZWN0KCJhIikiIGFuZCAicmV0dXJuIGE7IgogKi8KCnZhciBib2R5ID0gInJldHVybiBhOyI7Cgp2YXIgcD1PYmplY3QoImEiKTsKCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKHAsIGJvZHkpOwp9IGNhdGNoIChlKSB7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCB3aXRoIGVycm9yICcrZSk7Cn0KCi8vQ0hFQ0sjMgppZiAoZi5jb25zdHJ1Y3RvciAhPT0gRnVuY3Rpb24pIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIGNyZWF0ZXMgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZigxKSE9PTEpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW4uLi4nKTsKfQo=","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are \"Object(\"a\")\" and \"return a;\"","path":"TestCases/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy4yX1RoZV9GdW5jdGlvbl9Db25zdHJ1Y3Rvci9TMTUuMy4yLjFfQTNfVDguanMKICogQGRlc2NyaXB0aW9uIFZhbHVlcyBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnRzIGFyZSAidW5kZWZpbmVkIiBhbmQgInJldHVybiB0aGlzOyIKICovCgp2YXIgYm9keSA9ICJyZXR1cm4gdGhpczsiOwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24odW5kZWZpbmVkLGJvZHkpOwp9IGNhdGNoIChlKSB7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCB3aXRoIGVycm9yICcrZSk7Cn0KCi8vQ0hFQ0sjMgppZiAoZi5jb25zdHJ1Y3RvciAhPT0gRnVuY3Rpb24pIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIGNyZWF0ZXMgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZigpIT09dGhpcykgewogICRFUlJPUignIzM6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbi4uLicpOwp9CgoKCg==","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are \"undefined\" and \"return this;\"","path":"TestCases/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy4yX1RoZV9GdW5jdGlvbl9Db25zdHJ1Y3Rvci9TMTUuMy4yLjFfQTNfVDkuanMKICogQGRlc2NyaXB0aW9uIFZhbHVlcyBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnRzIGFyZSAiMSwxIiBhbmQgInJldHVybiB0aGlzOyIKICovCgp2YXIgYm9keSA9ICJyZXR1cm4gdGhpczsiOwp2YXIgcD0iMSwxIjsKCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKHAsYm9keSk7CiAgJEZBSUwoJyMxOiBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikpIHsKICAJJEVSUk9SKCcjMS4xOiBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24nKTsKICB9Cn0KCg==","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are \"1,1\" and \"return this;\"","path":"TestCases/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIEZ1bmN0aW9uIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdAogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMl9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdGhlIGNvbnN0dWN0b3Igb2YgdGhlIG9iamVjdCB0aGF0IGlzIGNyZWF0ZWQgYXMgYSBuZXcgRnVuY3Rpb24KICovCgp2YXIgZiA9IG5ldyBGdW5jdGlvbjsKCi8vQ0hFQ0sjMQppZiAoZi5jb25zdHJ1Y3RvciAhPT0gRnVuY3Rpb24pIHsKICAkRVJST1IoJyMxOiBXaGVuIEZ1bmN0aW9uIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCcpOwp9CgovL0NIRUNLIzIKaWYgKGYgPT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzI6IFdoZW4gRnVuY3Rpb24gaXMgY2FsbGVkIGFzIHBhcnQgb2YgYSBuZXcgZXhwcmVzc2lvbiwgaXQgaXMgYSBjb25zdHJ1Y3RvcjogaXQgaW5pdGlhbGlzZXMgdGhlIG5ld2x5IGNyZWF0ZWQgb2JqZWN0Jyk7Cn0KCg==","commentary":"When Function is called as part of a new expression, it is a constructor: it initialises the newly created object","description":"Checking the constuctor of the object that is created as a new Function","path":"TestCases/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaGFzIHRoZSBwcm9wZXJ0eSAicHJvdG90eXBlIgogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuM19Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Db25zdHJ1Y3Rvci9TMTUuMy4zX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBleGlzdGVuY2Ugb2YgdGhlIHByb3BlcnR5ICJwcm90b3R5cGUiCiAqLwoKaWYoIUZ1bmN0aW9uLmhhc093blByb3BlcnR5KCJwcm90b3R5cGUiKSl7CiAgJEVSUk9SKCcjMTogVGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGhhcyB0aGUgcHJvcGVydHkgInByb3RvdHlwZSInKTsKfQoKCg==","commentary":"The Function constructor has the property \"prototype\"","description":"Checking existence of the property \"prototype\"","path":"TestCases/15_Native/15.3_Function_Objects/15.3.3_Properties_of_the_Function_Constructor/S15.3.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yCiAqIGlzIHRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0CiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy4zX1Byb3BlcnRpZXNfb2ZfdGhlX0Z1bmN0aW9uX0NvbnN0cnVjdG9yL1MxNS4zLjNfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHByb3RvdHlwZSBvZiBGdW5jdGlvbgogKi8KCi8vIENIRUNLIwppZiAoIShGdW5jdGlvbi5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihGdW5jdGlvbikpKSB7CiAgJEVSUk9SKCcjMTogdGhlIHZhbHVlIG9mIHRoZSBpbnRlcm5hbCBbW1Byb3RvdHlwZV1dIHByb3BlcnR5IG9mIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyB0aGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdC4nKTsKfQoK","commentary":"The value of the internal [[Prototype]] property of the Function constructor\nis the Function prototype object","description":"Checking prototype of Function","path":"TestCases/15_Native/15.3_Function_Objects/15.3.3_Properties_of_the_Function_Constructor/S15.3.3_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yCiAqIGlzIHRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0CiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy4zX1Byb3BlcnRpZXNfb2ZfdGhlX0Z1bmN0aW9uX0NvbnN0cnVjdG9yL1MxNS4zLjNfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIEFkZCBuZXcgcHJvcGVydHkgdG8gRnVuY3Rpb24ucHJvdG90eXBlIGFuZCBjaGVjayBpdAogKi8KCkZ1bmN0aW9uLnByb3RvdHlwZS5pbmRpY2F0b3IgPSAxOwoKLy9DSEVDSyMKaWYgKEZ1bmN0aW9uLmluZGljYXRvciAhPSAxKSB7CiAgJEVSUk9SKCcjMTogdGhlIHZhbHVlIG9mIHRoZSBpbnRlcm5hbCBbW1Byb3RvdHlwZV1dIHByb3BlcnR5IG9mIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyB0aGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdC4nKTsKfQoK","commentary":"The value of the internal [[Prototype]] property of the Function constructor\nis the Function prototype object","description":"Add new property to Function.prototype and check it","path":"TestCases/15_Native/15.3_Function_Objects/15.3.3_Properties_of_the_Function_Constructor/S15.3.3_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBGdW5jdGlvbiBjb25zdHJ1Y3RvciBoYXMgbGVuZ3RoIHByb3BlcnR5IHdob3NlIHZhbHVlIGlzIDEKICoKICogQHBhdGggMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjNfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuM19BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRnVuY3Rpb24ubGVuZ3RoIHByb3BlcnR5CiAqLwoKLy9DSEVDSyMxCmlmICghRnVuY3Rpb24uaGFzT3duUHJvcGVydHkoImxlbmd0aCIpKXsKICAkRVJST1IoJyMxOiBGdW5jdGlvbiBjb25zdHJ1Y3RvciBoYXMgbGVuZ3RoIHByb3BlcnR5Jyk7Cn0KCi8vQ0hFQ0sjMgppZiAoRnVuY3Rpb24ubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogRnVuY3Rpb24gY29uc3RydWN0b3IgbGVuZ3RoIHByb3BlcnR5IHZhbHVlIGlzIDEnKTsKfQoK","commentary":"Function constructor has length property whose value is 1","description":"Checking Function.length property","path":"TestCases/15_Native/15.3_Function_Objects/15.3.3_Properties_of_the_Function_Constructor/S15.3.3_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy4zX1Byb3BlcnRpZXNfb2ZfdGhlX0Z1bmN0aW9uX0NvbnN0cnVjdG9yLzE1LjMuMy4xX0Z1bmN0aW9uLnByb3RvdHlwZS9TMTUuMy4zLjFfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIEZ1bmN0aW9uLnByb3RvdHlwZSBwcm9wZXJ0eSBmYWlscwogKi8KCnZhciBvYmogPSBGdW5jdGlvbi5wcm90b3R5cGU7CkZ1bmN0aW9uLnByb3RvdHlwZSA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OwoKLy9DSEVDSyMxCmlmIChGdW5jdGlvbi5wcm90b3R5cGUgIT09IG9iaikgewogICRFUlJPUignIzE6IHRoZSBGdW5jdGlvbi5wcm90b3R5cGUgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIFJlYWRPbmx5LicpOwp9CgovL0NIRUNLIzIKdHJ5IHsKICBpZihGdW5jdGlvbi5wcm90b3R5cGUoKSE9PXVuZGVmaW5lZCl7CiAgICRFUlJPUignIzI6IHRoZSBGdW5jdGlvbi5wcm90b3R5cGUgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIFJlYWRPbmx5Jyk7CiAgfQp9IGNhdGNoIChlKSB7CiAgJEVSUk9SKCcjMi4xOiB0aGUgRnVuY3Rpb24ucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBSZWFkT25seTogJytlKTsKfQoK","commentary":"The Function.prototype property has the attribute ReadOnly","description":"Checking if varying the Function.prototype property fails","path":"TestCases/15_Native/15.3_Function_Objects/15.3.3_Properties_of_the_Function_Constructor/15.3.3.1_Function.prototype/S15.3.3.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy4zX1Byb3BlcnRpZXNfb2ZfdGhlX0Z1bmN0aW9uX0NvbnN0cnVjdG9yLzE1LjMuMy4xX0Z1bmN0aW9uLnByb3RvdHlwZS9TMTUuMy4zLjFfQTIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBGdW5jdGlvbi5wcm90b3R5cGUgcHJvcGVydHkgZmFpbHMKICovCgovLyBDSEVDSyMxCmlmIChGdW5jdGlvbi5wcm9wZXJ0eUlzRW51bWVyYWJsZSgncHJvdG90eXBlJykpIHsKICAkRVJST1IoJyMxOiB0aGUgRnVuY3Rpb24ucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RW51bScpOwp9CgovLyBDSEVDSyMyCnZhciBjb3VudD0wOwoKZm9yIChwIGluIEZ1bmN0aW9uKXsKICBpZiAocD09PSJwcm90b3R5cGUiKSBjb3VudCsrOwp9CgppZiAoY291bnQgIT09IDApIHsKICAkRVJST1IoJyMyOiB0aGUgRnVuY3Rpb24ucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RW51bScpOwp9Cgo=","commentary":"The Function.prototype property has the attribute DontEnum","description":"Checking if enumerating the Function.prototype property fails","path":"TestCases/15_Native/15.3_Function_Objects/15.3.3_Properties_of_the_Function_Constructor/15.3.3.1_Function.prototype/S15.3.3.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICoKICogQHBhdGggMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjNfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvMTUuMy4zLjFfRnVuY3Rpb24ucHJvdG90eXBlL1MxNS4zLjMuMV9BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIEZ1bmN0aW9uLnByb3RvdHlwZSBwcm9wZXJ0eSBmYWlscwogKi8KCmRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGU7CgovL0NIRUNLIzEKaWYgKCEoRnVuY3Rpb24uaGFzT3duUHJvcGVydHkoJ3Byb3RvdHlwZScpKSkgewogICRFUlJPUignIzE6IHRoZSBGdW5jdGlvbi5wcm90b3R5cGUgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUuJyk7Cn0KCg==","commentary":"The Function.prototype property has the attribute DontDelete","description":"Checking if deleting the Function.prototype property fails","path":"TestCases/15_Native/15.3_Function_Objects/15.3.3_Properties_of_the_Function_Constructor/15.3.3.1_Function.prototype/S15.3.3.1_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBEZXRlY3RzIHdoZXRoZXIgdGhlIHZhbHVlIG9mIGEgZnVuY3Rpb24ncyAicHJvdG90eXBlIiBwcm9wZXJ0eQogKiBhcyBzZWVuIGJ5IG5vcm1hbCBvYmplY3Qgb3BlcmF0aW9ucyBtaWdodCBkZXZpYXRlIGZyb20gdGhlIHZhbHVlCiAqIGFzIHNlZW0gYnkgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcgogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuM19Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Db25zdHJ1Y3Rvci8xNS4zLjMuMV9GdW5jdGlvbi5wcm90b3R5cGUvUzE1LjMuMy4xX0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja3MgaWYgcmVhZGluZyBhIGZ1bmN0aW9uJ3MgLnByb3RvdHlwZSBkaXJlY3RseQogKiBhZ3JlZXMgd2l0aCByZWFkaW5nIGl0IHZpYSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLCBhZnRlcgogKiBoYXZpbmcgc2V0IGl0IGJ5IE9iamVjdC5kZWZpbmVQcm9wZXJ0eS4KICovCgpmdW5jdGlvbiBmb28oKSB7fQoKT2JqZWN0LmRlZmluZVByb3BlcnR5KGZvbywgJ3Byb3RvdHlwZScsIHsgdmFsdWU6IHt9IH0pOwppZiAoZm9vLnByb3RvdHlwZSAhPT0KICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZm9vLCAncHJvdG90eXBlJykudmFsdWUpIHsKICAkRVJST1IoIkEgZnVuY3Rpb24ucHJvdG90eXBlJ3MgZGVzY3JpcHRvciBsaWVzIik7Cn0KCg==","commentary":"Detects whether the value of a function's \"prototype\" property\nas seen by normal object operations might deviate from the value\nas seem by Object.getOwnPropertyDescriptor","description":"Checks if reading a function's .prototype directly\nagrees with reading it via Object.getOwnPropertyDescriptor, after\nhaving set it by Object.defineProperty.","path":"TestCases/15_Native/15.3_Function_Objects/15.3.3_Properties_of_the_Function_Constructor/15.3.3.1_Function.prototype/S15.3.3.1_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBGdW5jdGlvbi5wcm90b3R5cGUuY29uc3RydWN0b3IgaXMgdGhlIGJ1aWx0LWluIEZ1bmN0aW9uIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy40X1Byb3BlcnRpZXNfb2ZfdGhlX0Z1bmN0aW9uX1Byb3RvdHlwZV9PYmplY3QvUzE1LjMuNC4xX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBGdW5jdGlvbi5wcm90b3R5cGUuY29uc3RydWN0b3IKICovCgovL0NIRUNLIzEKaWYgKEZ1bmN0aW9uLnByb3RvdHlwZS5jb25zdHJ1Y3RvciAhPT0gRnVuY3Rpb24pIHsKICAkRVJST1IoJyMxOiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBGdW5jdGlvbi5wcm90b3R5cGUuY29uc3RydWN0b3IgaXMgdGhlIGJ1aWx0LWluIEZ1bmN0aW9uIGNvbnN0cnVjdG9yJyk7Cn0KCg==","commentary":"The initial value of Function.prototype.constructor is the built-in Function constructor","description":"Checking Function.prototype.constructor","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/S15.3.4.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBpcyBpdHNlbGYgYSBGdW5jdGlvbiBvYmplY3QgKGl0cyBbW0NsYXNzXV0gaXMgIkZ1bmN0aW9uIikKICoKICogQHBhdGggMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC9TMTUuMy40X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIHJldHVybnMgW29iamVjdCtbW0NsYXNzXV0rXQogKi8KCmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoRnVuY3Rpb24ucHJvdG90eXBlKSAhPT0gIltvYmplY3QgRnVuY3Rpb25dIikgewogICRFUlJPUignIzI6IFRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0IGlzIGl0c2VsZiBhIEZ1bmN0aW9uICcgKwogICAgICAgICAnb2JqZWN0IChpdHMgW1tDbGFzc11dIGlzICJGdW5jdGlvbiIpICgxNS4zLjQpJyk7Cn0KCg==","commentary":"The Function prototype object is itself a Function object (its [[Class]] is \"Function\")","description":"Object.prototype.toString returns [object+[[Class]]+]","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/S15.3.4_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBpcyBpdHNlbGYgYSBGdW5jdGlvbiBvYmplY3QgdGhhdCwgd2hlbiBpbnZva2VkLCBhY2NlcHRzIGFueSBhcmd1bWVudHMgYW5kIHJldHVybnMgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy40X1Byb3BlcnRpZXNfb2ZfdGhlX0Z1bmN0aW9uX1Byb3RvdHlwZV9PYmplY3QvUzE1LjMuNF9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBGdW5jdGlvbi5wcm90b3R5cGUoKQogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIGlmIChGdW5jdGlvbi5wcm90b3R5cGUoKSAhPT0gdW5kZWZpbmVkKSB7CiAgICAkRVJST1IoJyMxOiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBpcyBpdHNlbGYgYSBGdW5jdGlvbiBvYmplY3QgdGhhdCwgd2hlbiBpbnZva2VkLCBhY2NlcHRzIGFueSBhcmd1bWVudHMgYW5kIHJldHVybnMgdW5kZWZpbmVkJyk7CiAgfQp9IGNhdGNoIChlKSB7CiAgJEVSUk9SKCcjMS4xOiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBpcyBpdHNlbGYgYSBGdW5jdGlvbiBvYmplY3QgdGhhdCwgd2hlbiBpbnZva2VkLCBhY2NlcHRzIGFueSBhcmd1bWVudHMgYW5kIHJldHVybnMgdW5kZWZpbmVkOiAnK2UpOwp9Cgo=","commentary":"The Function prototype object is itself a Function object that, when invoked, accepts any arguments and returns undefined","description":"Call Function.prototype()","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/S15.3.4_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBpcyBpdHNlbGYgYSBGdW5jdGlvbiBvYmplY3QgdGhhdCwgd2hlbiBpbnZva2VkLCBhY2NlcHRzIGFueSBhcmd1bWVudHMgYW5kIHJldHVybnMgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy40X1Byb3BlcnRpZXNfb2ZfdGhlX0Z1bmN0aW9uX1Byb3RvdHlwZV9PYmplY3QvUzE1LjMuNF9BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBGdW5jdGlvbi5wcm90b3R5cGUobnVsbCx2b2lkIDApCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgaWYgKEZ1bmN0aW9uLnByb3RvdHlwZShudWxsLHZvaWQgMCkgIT09IHVuZGVmaW5lZCkgewogICAgJEVSUk9SKCcjMTogVGhlIEZ1bmN0aW9uIHByb3RvdHlwZSBvYmplY3QgaXMgaXRzZWxmIGEgRnVuY3Rpb24gb2JqZWN0IHRoYXQsIHdoZW4gaW52b2tlZCwgYWNjZXB0cyBhbnkgYXJndW1lbnRzIGFuZCByZXR1cm5zIHVuZGVmaW5lZCcpOwogIH0KfSBjYXRjaCAoZSkgewogICRFUlJPUignIzEuMTogVGhlIEZ1bmN0aW9uIHByb3RvdHlwZSBvYmplY3QgaXMgaXRzZWxmIGEgRnVuY3Rpb24gb2JqZWN0IHRoYXQsIHdoZW4gaW52b2tlZCwgYWNjZXB0cyBhbnkgYXJndW1lbnRzIGFuZCByZXR1cm5zIHVuZGVmaW5lZDogJytlKTsKfQoK","commentary":"The Function prototype object is itself a Function object that, when invoked, accepts any arguments and returns undefined","description":"Call Function.prototype(null,void 0)","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/S15.3.4_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBpcyBpdHNlbGYgYSBGdW5jdGlvbiBvYmplY3QgdGhhdCwgd2hlbiBpbnZva2VkLCBhY2NlcHRzIGFueSBhcmd1bWVudHMgYW5kIHJldHVybnMgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy40X1Byb3BlcnRpZXNfb2ZfdGhlX0Z1bmN0aW9uX1Byb3RvdHlwZV9PYmplY3QvUzE1LjMuNF9BMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBGdW5jdGlvbi5wcm90b3R5cGUoeCksIHdoZXJlIHggaXMgdW5kZWZpbmVkIHZhcmlhYmxlCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgaWYgKEZ1bmN0aW9uLnByb3RvdHlwZSh4KSAhPT0gdW5kZWZpbmVkKSB7CiAgICB2YXIgeDsKICAgICRFUlJPUignIzE6IFRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0IGlzIGl0c2VsZiBhIEZ1bmN0aW9uIG9iamVjdCB0aGF0LCB3aGVuIGludm9rZWQsIGFjY2VwdHMgYW55IGFyZ3VtZW50cyBhbmQgcmV0dXJucyB1bmRlZmluZWQnKTsKICB9Cn0gY2F0Y2ggKGUpIHsKICAkRVJST1IoJyMxLjE6IFRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0IGlzIGl0c2VsZiBhIEZ1bmN0aW9uIG9iamVjdCB0aGF0LCB3aGVuIGludm9rZWQsIGFjY2VwdHMgYW55IGFyZ3VtZW50cyBhbmQgcmV0dXJucyB1bmRlZmluZWQ6ICcrZSk7Cn0KCgo=","commentary":"The Function prototype object is itself a Function object that, when invoked, accepts any arguments and returns undefined","description":"Call Function.prototype(x), where x is undefined variable","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/S15.3.4_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIEZ1bmN0aW9uIHByb3RvdHlwZSBvYmplY3QgaXMgdGhlIE9iamVjdCBwcm90b3R5cGUgb2JqZWN0ICgxNS4zLjQpCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy40X1Byb3BlcnRpZXNfb2ZfdGhlX0Z1bmN0aW9uX1Byb3RvdHlwZV9PYmplY3QvUzE1LjMuNF9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgcHJvdG90eXBlIG9mIEZ1bmN0aW9uLnByb3RvdHlwZQogKi8KCmlmIChPYmplY3QuZ2V0UHJvdG90eXBlT2YoRnVuY3Rpb24ucHJvdG90eXBlKSAhPT0gT2JqZWN0LnByb3RvdHlwZSkgewogICRFUlJPUignIzE6IFRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiAnICsKICAgICAgICAgJ3RoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0IGlzIHRoZSBPYmplY3QgcHJvdG90eXBlICcgKwogICAgICAgICAnb2JqZWN0ICgxNS4zLjQpJyk7Cn0KCg==","commentary":"The value of the internal [[Prototype]] property of the Function prototype object is the Object prototype object (15.3.4)","description":"Checking prototype of Function.prototype","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/S15.3.4_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIEZ1bmN0aW9uIHByb3RvdHlwZSBvYmplY3QgaXMgdGhlIE9iamVjdCBwcm90b3R5cGUgb2JqZWN0ICgxNS4zLjIuMSkKICoKICogQHBhdGggMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC9TMTUuMy40X0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBBZGQgbmV3IHByb3BlcnR5IHRvIE9iamVjdC5wcm90b3R5cGUgYW5kIGNoZWNrIGl0IGF0IEZ1bmN0aW9uLnByb3RvdHlwZQogKi8KCk9iamVjdC5wcm90b3R5cGUuaW5kaWNhdG9yID0gMTsKCi8vQ0hFQ0sjMQppZiAoRnVuY3Rpb24ucHJvdG90eXBlLmluZGljYXRvciE9PTEpIHsKICAkRVJST1IoJyMxOiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIEZ1bmN0aW9uIHByb3RvdHlwZSBvYmplY3QgaXMgdGhlIE9iamVjdCBwcm90b3R5cGUgb2JqZWN0ICgxNS4zLjIuMSknKTsKfQoK","commentary":"The value of the internal [[Prototype]] property of the Function prototype object is the Object prototype object (15.3.2.1)","description":"Add new property to Object.prototype and check it at Function.prototype","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/S15.3.4_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgdmFsdWVPZiBwcm9wZXJ0eSBvZiBpdHMgb3duLiBob3dldmVyLCBpdCBpbmhlcml0cyB0aGUgdmFsdWVPZiBwcm9wZXJ0eSBmcm9tIHRoZSBPYmplY3QgcHJvdG90eXBlIE9iamVjdAogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0L1MxNS4zLjRfQTQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHZhbHVlT2YgcHJvcGVydHkgYXQgRnVuY3Rpb24ucHJvdG90eXBlCiAqLwoKLy9DSEVDSyMxCmlmIChGdW5jdGlvbi5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInZhbHVlT2YiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgdmFsdWVPZiBwcm9wZXJ0eSBvZiBpdHMgb3duJyk7Cn0KCi8vQ0hFQ0sjMgppZiAodHlwZW9mIEZ1bmN0aW9uLnByb3RvdHlwZS52YWx1ZU9mID09PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzI6IGhvd2V2ZXIsIGl0IGluaGVyaXRzIHRoZSB2YWx1ZU9mIHByb3BlcnR5IGZyb20gdGhlIE9iamVjdCBwcm90b3R5cGUgT2JqZWN0Jyk7Cn0KCi8vQ0hFQ0sjMwppZiAoRnVuY3Rpb24ucHJvdG90eXBlLnZhbHVlT2YgIT09IE9iamVjdC5wcm90b3R5cGUudmFsdWVPZikgewogICRFUlJPUignIzM6IGhvd2V2ZXIsIGl0IGluaGVyaXRzIHRoZSB2YWx1ZU9mIHByb3BlcnR5IGZyb20gdGhlIE9iamVjdCBwcm90b3R5cGUgT2JqZWN0Jyk7Cn0KCg==","commentary":"The Function prototype object does not have a valueOf property of its own. however, it inherits the valueOf property from the Object prototype Object","description":"Checking valueOf property at Function.prototype","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/S15.3.4_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBpcyBpdHNlbGYgYSBGdW5jdGlvbiBvYmplY3Qgd2l0aG91dCBbW2NyZWF0ZV1dIHByb3BlcnR5CiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy40X1Byb3BlcnRpZXNfb2ZfdGhlX0Z1bmN0aW9uX1Byb3RvdHlwZV9PYmplY3QvUzE1LjMuNF9BNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIm5ldyBGdW5jdGlvbi5wcm90b3R5cGUgb2JqZWN0IiBmYWlscwogKi8KCi8vQ0hFQ0sjCnRyeSB7CiAgdmFyIG9iaiA9IG5ldyBGdW5jdGlvbi5wcm90b3R5cGU7CiAgJEZBSUwoJyMxOiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBpcyBpdHNlbGYgYSBGdW5jdGlvbiBvYmplY3Qgd2l0aG91dCBbW2NyZWF0ZV1dIHByb3BlcnR5OiAnK2UpOwp9IGNhdGNoIChlKSB7CiAgJFBSSU5UKCIjMS4xOiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBpcyBpdHNlbGYgYSBGdW5jdGlvbiBvYmplY3Qgd2l0aG91dCBbW2NyZWF0ZV1dIHByb3BlcnR5ICIrZSk7Cgp9Cgo=","commentary":"The Function prototype object is itself a Function object without [[create]] property","description":"Checking if creating \"new Function.prototype object\" fails","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/S15.3.4_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4yX0Z1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy9TMTUuMy40LjJfQTEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy9DSEVDSyMxCmlmICghKEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMxOiB0aGUgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nIGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Cn0KCnZhciBvYmogPSBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoOwoKRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OwoKLy9DSEVDSyMyCmlmIChGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoICE9PSBvYmopIHsKICAkRVJST1IoJyMyOiB0aGUgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nIGxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgUmVhZE9ubHkuJyk7Cn0KCg==","commentary":"The Function.prototype.toString.length property has the attribute ReadOnly","description":"Checking if varying the Function.prototype.toString.length property fails","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b1N0cmluZyBtZXRob2QgaXMgMAogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4yX0Z1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy9TMTUuMy40LjJfQTExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoCiAqLwoKLy9DSEVDSyMxCmlmICghKEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikpKSB7CiAgJEVSUk9SKCcjMTogVGhlIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZyBoYXMgdGhlIGxlbmd0aCBwcm9wZXJ0eScpOwp9CgovL0NIRUNLIzIKaWYgKEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMyOiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b1N0cmluZyBtZXRob2QgaXMgMCcpOwp9Cgo=","commentary":"The length property of the toString method is 0","description":"Checking Function.prototype.toString.length","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4yX0Z1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy9TMTUuMy40LjJfQTEyLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nIGZ1bmN0aW9uIGlzIG5vdCBnZW5lcmljOyBpdCB0aHJvd3MgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGlmIGl0cyB0aGlzIHZhbHVlIGlzIG5vdCBhIEZ1bmN0aW9uIG9iamVjdC4KICogQG5lZ2F0aXZlIFR5cGVFcnJvcgogKi8KCkZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHVuZGVmaW5lZCk7Cgo=","commentary":"","description":"The Function.prototype.toString function is not generic; it throws a TypeError exception if its this value is not a Function object.","negative":"TypeError","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4yX0Z1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy9TMTUuMy40LjJfQTEzLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgdG9TdHJpbmcgZnVuY3Rpb24gaXMgbm90IGdlbmVyaWM7IGl0IHRocm93cyBhIFR5cGVFcnJvciBleGNlcHRpb24gaWYgaXRzIHRoaXMgdmFsdWUgaXMgbm90IGEgRnVuY3Rpb24gb2JqZWN0LgogKiBAbmVnYXRpdmUgVHlwZUVycm9yCiAqLwoKRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobnVsbCk7Cgo=","commentary":"","description":"The toString function is not generic; it throws a TypeError exception if its this value is not a Function object.","negative":"TypeError","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4yX0Z1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy9TMTUuMy40LjJfQTE0LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgdG9TdHJpbmcgZnVuY3Rpb24gaXMgbm90IGdlbmVyaWM7IGl0IHRocm93cyBhIFR5cGVFcnJvciBleGNlcHRpb24gaWYgaXRzIHRoaXMgdmFsdWUgaXMgbm90IGEgRnVuY3Rpb24gb2JqZWN0LgogKiBAbmVnYXRpdmUgVHlwZUVycm9yCiAqLwoKRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoe30pOwoK","commentary":"","description":"The toString function is not generic; it throws a TypeError exception if its this value is not a Function object.","negative":"TypeError","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgdG9TdHJpbmcgZnVuY3Rpb24gaXMgbm90IGdlbmVyaWM7IGl0IHRocm93cyBhIFR5cGVFcnJvciBleGNlcHRpb24gaWYgaXRzIHRoaXMgdmFsdWUgaXMgbm90IGEgRnVuY3Rpb24gb2JqZWN0LgogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4yX0Z1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy9TMTUuMy40LjJfQTE1LmpzCiAqIEBkZXNjcmlwdGlvbiBXaGV0aGVyIG9yIG5vdCB0aGV5IGFyZSBjYWxsYWJsZSwgUmVnRXhwIG9iamVjdHMgYXJlIG5vdCBGdW5jdGlvbiBvYmplY3RzLCBzbyB0b1N0cmluZyBzaG91bGQgdGhyb3cgYSBUeXBlRXJyb3IuCiAqIEBuZWdhdGl2ZSBUeXBlRXJyb3IKICovCgpGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCgveC8pOwoK","commentary":"The toString function is not generic; it throws a TypeError exception if its this value is not a Function object.","description":"Whether or not they are callable, RegExp objects are not Function objects, so toString should throw a TypeError.","negative":"TypeError","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgdG9TdHJpbmcgZnVuY3Rpb24gaXMgbm90IGdlbmVyaWM7IGl0IHRocm93cyBhIFR5cGVFcnJvciBleGNlcHRpb24gaWYgaXRzIHRoaXMgdmFsdWUgaXMgbm90IGEgRnVuY3Rpb24gb2JqZWN0LgogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4yX0Z1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy9TMTUuMy40LjJfQTE2LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgU3RyaW5nIGNvbnN0cnVjdG9yLCBnaXZlbiBhbiBvYmplY3QsIHNob3VsZCBpbnZva2UgdGhhdCBvYmplY3QncyB0b1N0cmluZyBtZXRob2QgYXMgYSBtZXRob2QsIGkuZS4sIHdpdGggaXRzIHRoaXMgdmFsdWUgYm91bmQgdG8gdGhhdCBvYmplY3QuCiAqIEBuZWdhdGl2ZSBUeXBlRXJyb3IKICovCgp2YXIgb2JqID0ge3RvU3RyaW5nOiBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmd9OwoKU3RyaW5nKG9iaik7Cgo=","commentary":"The toString function is not generic; it throws a TypeError exception if its this value is not a Function object.","description":"The String constructor, given an object, should invoke that object's toString method as a method, i.e., with its this value bound to that object.","negative":"TypeError","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuMl9GdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcvUzE1LjMuNC4yX0E2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBvYnRhaW5pbmcgdGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBvZiBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcgZmFpbHMKICovCgovL0NIRUNLIzEKaWYgKEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZyBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eScrRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLnByb3RvdHlwZSk7Cn0KCg==","commentary":"Function.prototype.toString has not prototype property","description":"Checking if obtaining the prototype property of Function.prototype.toString fails","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcgY2FuJ3QgYmUgdXNlZCBhcyBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4yX0Z1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy9TMTUuMy40LjJfQTcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGNyZWF0aW5nICJuZXcgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nIiBmYWlscwogKi8KCnZhciBGQUNUT1JZID0gRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nOwoKdHJ5IHsKICB2YXIgaW5zdGFuY2UgPSBuZXcgRkFDVE9SWTsKICAkRkFJTCgnIzE6IEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZyBjYW5cJ3QgYmUgdXNlZCBhcyBjb25zdHJ1Y3RvcicpOwp9IGNhdGNoIChlKSB7CiAgJFBSSU5UKGUpOwp9Cgo=","commentary":"Function.prototype.toString can't be used as constructor","description":"Checking if creating \"new Function.prototype.toString\" fails","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4yX0Z1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy9TMTUuMy40LjJfQTguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy9DSEVDSyMwCmlmICghKEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMwOiB0aGUgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nIGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Cn0KCgovLyBDSEVDSyMxCmlmIChGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnRFbnVtJyk7Cn0KCi8vIENIRUNLIzIKZm9yIChwIGluIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZyl7CiAgaWYgKHA9PT0ibGVuZ3RoIikKICAgICAgJEVSUk9SKCcjMjogdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnRFbnVtJyk7Cn0KCg==","commentary":"The Function.prototype.toString.length property has the attribute DontEnum","description":"Checking if enumerating the Function.prototype.toString.length property fails","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy40X1Byb3BlcnRpZXNfb2ZfdGhlX0Z1bmN0aW9uX1Byb3RvdHlwZV9PYmplY3QvMTUuMy40LjJfRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nL1MxNS4zLjQuMl9BOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzAKaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IHRoZSBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcgaGFzIGxlbmd0aCBwcm9wZXJ0eScpOwp9CgovL0NIRUNLIzEKaWYgKGRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogVGhlIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKLy9DSEVDSyMyCmlmICghKEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9Cgo=","commentary":"The Function.prototype.toString.length property has the attribute DontDelete","description":"Checking if deleting the Function.prototype.toString.length property fails","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy9DSEVDSyMxCmlmICghKEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMxOiB0aGUgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5IGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Cn0KCnZhciBvYmogPSBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkubGVuZ3RoOwoKRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OwoKLy9DSEVDSyMyCmlmIChGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkubGVuZ3RoICE9PSBvYmopIHsKICAkRVJST1IoJyMyOiB0aGUgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5IGxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgUmVhZE9ubHkuJyk7Cn0KCg==","commentary":"The Function.prototype.apply.length property has the attribute ReadOnly","description":"Checking if varying the Function.prototype.apply.length property fails","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTExLmpzCiAqIEBkZXNjcmlwdGlvbiBUQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzAKaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IHRoZSBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKfQoKCi8vIENIRUNLIzEKaWYgKEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpIHsKICAkRVJST1IoJyMxOiB0aGUgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udEVudW0nKTsKfQoKLy8gQ0hFQ0sjMgpmb3IgKHZhciBwIGluIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSl7CiAgaWYgKHA9PT0ibGVuZ3RoIikKICAgICAgJEVSUk9SKCcjMjogdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnRFbnVtJyk7Cn0KCg==","commentary":"The Function.prototype.apply.length property has the attribute DontEnum","description":"TChecking if enumerating the Function.prototype.apply.length property fails","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuM19GdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkvUzE1LjMuNC4zX0ExMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgb2J0YWluaW5nIHRoZSBwcm90b3R5cGUgcHJvcGVydHkgb2YgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5IGZhaWxzCiAqLwoKLy9DSEVDSyMxCmlmIChGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkucHJvdG90eXBlICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHknK0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5wcm90b3R5cGUpOwp9Cgo=","commentary":"Function.prototype.apply has not prototype property","description":"Checking if obtaining the prototype property of Function.prototype.apply fails","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTEzLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBJc0NhbGxhYmxlKGZ1bmMpIGlzIGZhbHNlLCB0aGVuIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KICogQG5lZ2F0aXZlIFR5cGVFcnJvcgogKi8KCkZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5jYWxsKHVuZGVmaW5lZCwge30sIFtdKTsKCg==","commentary":"","description":"If IsCallable(func) is false, then throw a TypeError exception.","negative":"TypeError","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTE0LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBJc0NhbGxhYmxlKGZ1bmMpIGlzIGZhbHNlLCB0aGVuIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KICogQG5lZ2F0aXZlIFR5cGVFcnJvcgogKi8KCkZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5jYWxsKG51bGwsIHt9LCBbXSk7Cgo=","commentary":"","description":"If IsCallable(func) is false, then throw a TypeError exception.","negative":"TypeError","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTE1LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBJc0NhbGxhYmxlKGZ1bmMpIGlzIGZhbHNlLCB0aGVuIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KICogQG5lZ2F0aXZlIFR5cGVFcnJvcgogKi8KCkZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5jYWxsKHt9LCB7fSwgW10pOwoK","commentary":"","description":"If IsCallable(func) is false, then throw a TypeError exception.","negative":"TypeError","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiBJc0NhbGxhYmxlKGZ1bmMpIGlzIGZhbHNlLCB0aGVuIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KICoKICogQHBhdGggMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuM19GdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkvUzE1LjMuNC4zX0ExNi5qcwogKiBAZGVzY3JpcHRpb24gQSBSZWdFeHAgaXMgbm90IGEgZnVuY3Rpb24sIGJ1dCBpdCBtYXkgYmUgY2FsbGFibGUuIElmZiBpdCBpcywgaXQncyB0eXBlb2Ygc2hvdWxkIGJlICdmdW5jdGlvbicsIGluIHdoaWNoIGNhc2UgYXBwbHkgc2hvdWxkIGFjY2VwdCBpdCBhcyBhIHZhbGlkIHRoaXMgdmFsdWUuCiAqLwoKdmFyIHJlID0gKC94Lyk7CmlmICh0eXBlb2YgcmUgPT09ICdmdW5jdGlvbicpIHsKICBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkuY2FsbChyZSwgdW5kZWZpbmVkLCBbJ3gnXSk7Cn0gZWxzZSB7CiAgdHJ5IHsKICAgIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmNhbGwocmUsIHVuZGVmaW5lZCk7CiAgICAkRkFJTCgnIzE6IElmIElzQ2FsbGFibGUoZnVuYykgaXMgZmFsc2UsICcgKwogICAgICAgICAgJ3RoZW4gKGJpbmQgc2hvdWxkKSB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24nKTsKICB9IGNhdGNoIChlKSB7CiAgICBpZiAoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSkgewogICAgICAkRVJST1IoJyMxOiBUeXBlRXJyb3IgZXhwZWN0ZWQuIEFjdHVhbDogJyArIGUpOwogICAgfQogIH0KfQoK","commentary":"If IsCallable(func) is false, then throw a TypeError exception.","description":"A RegExp is not a function, but it may be callable. Iff it is, it's typeof should be 'function', in which case apply should accept it as a valid this value.","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgYXBwbHkgbWV0aG9kIHBlcmZvcm1zIGEgZnVuY3Rpb24gY2FsbCB1c2luZyB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgdGhlIG9iamVjdC4gSWYgdGhlIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgW1tDYWxsXV0gcHJvcGVydHksIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24KICoKICogQHBhdGggMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuM19GdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkvUzE1LjMuNC4zX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nICJhcHBseSIgbWV0aG9kIG9mIHRoZSBvYmplY3QgdGhhdCBkb2VzIG5vdCBoYXZlIGEgW1tDYWxsXV0gcHJvcGVydHkuCiAqIFByb3RvdHlwZSBvZiB0aGUgb2JqZWN0IGlzIEZ1bmN0aW9uKCkKICovCgp2YXIgcHJvdG89RnVuY3Rpb24oKTsKCmZ1bmN0aW9uIEZBQ1RPUlkoKXt9OwoKRkFDVE9SWS5wcm90b3R5cGU9cHJvdG87Cgp2YXIgb2JqID0gbmV3IEZBQ1RPUlk7CgovL0NIRUNLIzEKaWYgKHR5cGVvZiBvYmouYXBwbHkgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiBhcHBseSBtZXRob2QgYWNjZXNzZWQnKTsKfQoKLy9DSEVDSyMyCnRyeSB7CiAgb2JqLmFwcGx5KCk7CiAgJEZBSUwoJyMyOiBJZiB0aGUgb2JqZWN0IGRvZXMgbm90IGhhdmUgYSBbW0NhbGxdXSBwcm9wZXJ0eSwgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93bicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAJJEVSUk9SKCcjMi4xOiBJZiB0aGUgb2JqZWN0IGRvZXMgbm90IGhhdmUgYSBbW0NhbGxdXSBwcm9wZXJ0eSwgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93bicpOwogIH0KfQoK","commentary":"The apply method performs a function call using the [[Call]] property of the object. If the object does not have a [[Call]] property, a TypeError exception is thrown","description":"Calling \"apply\" method of the object that does not have a [[Call]] property.\nPrototype of the object is Function()","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgYXBwbHkgbWV0aG9kIHBlcmZvcm1zIGEgZnVuY3Rpb24gY2FsbCB1c2luZyB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgdGhlIG9iamVjdC4gSWYgdGhlIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgW1tDYWxsXV0gcHJvcGVydHksIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24KICoKICogQHBhdGggMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuM19GdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkvUzE1LjMuNC4zX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nICJhcHBseSIgbWV0aG9kIG9mIHRoZSBvYmplY3QgdGhhdCBkb2VzIG5vdCBoYXZlIGEgW1tDYWxsXV0gcHJvcGVydHkuCiAqIFByb3RvdHlwZSBvZiB0aGUgb2JqZWN0IGlzIEZ1bmN0aW9uLnByb3RvdHlwZQogKi8KCmZ1bmN0aW9uIEZBQ1RPUlkoKXt9OwoKRkFDVE9SWS5wcm90b3R5cGU9RnVuY3Rpb24ucHJvdG90eXBlOwoKdmFyIG9iaiA9IG5ldyBGQUNUT1JZOwoKLy9DSEVDSyMxCmlmICh0eXBlb2Ygb2JqLmFwcGx5ICE9PSAiZnVuY3Rpb24iKSB7CiAgJEVSUk9SKCcjMTogYXBwbHkgbWV0aG9kIGFjY2Vzc2VkJyk7Cn0KCi8vQ0hFQ0sjMgp0cnkgewogIG9iai5hcHBseSgpOwogICRGQUlMKCcjMjogSWYgdGhlIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgW1tDYWxsXV0gcHJvcGVydHksIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgCSRFUlJPUignIzIuMTogSWYgdGhlIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgW1tDYWxsXV0gcHJvcGVydHksIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24nKTsKICB9Cn0KCg==","commentary":"The apply method performs a function call using the [[Call]] property of the object. If the object does not have a [[Call]] property, a TypeError exception is thrown","description":"Calling \"apply\" method of the object that does not have a [[Call]] property.\nPrototype of the object is Function.prototype","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBhcHBseSBtZXRob2QgaXMgMgogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5sZW5ndGgKICovCgovL0NIRUNLIzEKaWYgKHR5cGVvZiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiBhcHBseSBtZXRob2QgZGVmaW5lZCcpOwp9CgovL0NIRUNLIzIKaWYgKHR5cGVvZiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkubGVuZ3RoID09PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzI6IGxlbmd0aCBwcm9wZXJ0eSBvZiBhcHBseSBtZXRob2QgZGVmaW5lZCcpOwp9CgovL0NIRUNLIzMKaWYgKEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMzOiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBhcHBseSBtZXRob2QgaXMgMicpOwp9Cgo=","commentary":"The length property of the apply method is 2","description":"Checking Function.prototype.apply.length","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBhcHBseSBtZXRob2QgaXMgMgogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGYuYXBwbHkubGVuZ3RoLCB3aGVyZSBmIGlzIG5ldyBGdW5jdGlvbgogKi8KCnZhciBmPW5ldyBGdW5jdGlvbjsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIGYuYXBwbHkgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiBhcHBseSBtZXRob2QgYWNjZXNzZWQnKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2YgZi5hcHBseS5sZW5ndGggPT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMjogbGVuZ3RoIHByb3BlcnR5IG9mIGFwcGx5IG1ldGhvZCBkZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZi5hcHBseS5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMzOiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBhcHBseSBtZXRob2QgaXMgMicpOwp9Cgo=","commentary":"The length property of the apply method is 2","description":"Checking f.apply.length, where f is new Function","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIE5vdCBhbnkgYXJndW1lbnRzIGF0IGFwcGx5IGZ1bmN0aW9uCiAqLwoKRnVuY3Rpb24oInRoaXMuZmllbGQ9XCJzdHJhd2JlcnJ5XCIiKS5hcHBseSgpOwoKLy9DSEVDSyMxCmlmICh0aGlzWyJmaWVsZCJdICE9PSAic3RyYXdiZXJyeSIpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9Cgo=","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Not any arguments at apply function","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTNfVDEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBieSB1c2luZyBldmFsLCBubyBhbnkgYXJndW1lbnRzIGF0IGFwcGx5IGZ1bmN0aW9uCiAqLwoKZXZhbCgiIChmdW5jdGlvbigpe3RoaXMuZmVhdD0xfSkuYXBwbHkoKSIpOwoKLy9DSEVDSyMxCmlmICh0aGlzWyJmZWF0Il0gIT09IDEpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9Cgo=","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Checking by using eval, no any arguments at apply function","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A3_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50IGF0IGFwcGx5IGZ1bmN0aW9uIGlzIG51bGwKICovCgpGdW5jdGlvbigidGhpcy5maWVsZD1cImdyZWVuXCIiKS5hcHBseShudWxsKTsKCi8vQ0hFQ0sjMQppZiAodGhpc1siZmllbGQiXSAhPT0gImdyZWVuIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCg==","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Argument at apply function is null","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50IGF0IGFwcGx5IGZ1bmN0aW9uIGlzIHZvaWQgMAogKi8KCkZ1bmN0aW9uKCJ0aGlzLmZpZWxkPVwiYmF0dGxlXCIiKS5hcHBseSh2b2lkIDApOwoKLy9DSEVDSyMxCmlmICh0aGlzWyJmaWVsZCJdICE9PSAiYmF0dGxlIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCg==","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Argument at apply function is void 0","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTNfVDQuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50IGF0IGFwcGx5IGZ1bmN0aW9uIGlzIHVuZGVmaW5lZAogKi8KCkZ1bmN0aW9uKCJ0aGlzLmZpZWxkPVwib2lsXCIiKS5hcHBseSh1bmRlZmluZWQpOwoKLy9DSEVDSyMxCmlmICh0aGlzWyJmaWVsZCJdICE9PSAib2lsIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCg==","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Argument at apply function is undefined","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTNfVDUuanMKICogQGRlc2NyaXB0aW9uIE5vIGFueSBhcmd1bWVudHMgYXQgYXBwbHkgZnVuY3Rpb24gYW5kIGl0IGNhbGxlZCBpbnNpZGUgZnVuY3Rpb24gZGVjbGFyYXRpb24KICovCgpmdW5jdGlvbiBGQUNUT1JZKCl7CiAgRnVuY3Rpb24oInRoaXMuZmVhdD1cImluIGRhIGhhdXNcIiIpLmFwcGx5KCk7Cn07Cgp2YXIgb2JqID0gbmV3IEZBQ1RPUlk7CgovL0NIRUNLIzEKaWYgKHRoaXNbImZlYXQiXSAhPT0gImluIGRhIGhhdXMiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygb2JqLmZlYXQgIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoK","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"No any arguments at apply function and it called inside function declaration","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTNfVDYuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50IGF0IGFwcGx5IGZ1bmN0aW9uIGlzIG51bGwgYW5kIGl0IGNhbGxlZCBpbnNpZGUgZnVuY3Rpb24gZGVjbGFyYXRpb24KICovCgpmdW5jdGlvbiBGQUNUT1JZKCl7CiAgKGZ1bmN0aW9uKCl7dGhpcy5mZWF0PSJrYW1vbiBiZXliYSJ9KS5hcHBseShudWxsKTsKfTsKCnZhciBvYmogPSBuZXcgRkFDVE9SWTsKCi8vQ0hFQ0sjMQppZiAodGhpc1siZmVhdCJdICE9PSAia2Ftb24gYmV5YmEiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygb2JqLmZlYXQgIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoK","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Argument at apply function is null and it called inside function declaration","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A3_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTNfVDcuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50IGF0IGFwcGx5IGZ1bmN0aW9uIGlzIHZvaWQgMCBhbmQgaXQgY2FsbGVkIGluc2lkZSBmdW5jdGlvbiBkZWNsYXJhdGlvbgogKi8KCihmdW5jdGlvbiBGQUNUT1JZKCl7CiAgRnVuY3Rpb24oInRoaXMuZmVhdD1cImluIGRhIGhhdXNcIiIpLmFwcGx5KHZvaWQgMCk7Cn0pKCk7CgoKLy9DSEVDSyMxCmlmICh0aGlzWyJmZWF0Il0gIT09ICJpbiBkYSBoYXVzIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCg==","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Argument at apply function is void 0 and it called inside function declaration","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A3_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTNfVDguanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50IGF0IGFwcGx5IGZ1bmN0aW9uIGlzIHVuZGVmaW5lZCBhbmQgaXQgY2FsbGVkIGluc2lkZSBmdW5jdGlvbiBkZWNsYXJhdGlvbgogKi8KCihmdW5jdGlvbiBGQUNUT1JZKCl7CiAgKGZ1bmN0aW9uKCl7dGhpcy5mZWF0PSJrYW1vbiBiZXliYSJ9KS5hcHBseSh1bmRlZmluZWQpOwp9KSgpOwoKLy9DSEVDSyMxCmlmICh0aGlzWyJmZWF0Il0gIT09ICJrYW1vbiBiZXliYSIpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9Cgo=","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Argument at apply function is undefined and it called inside function declaration","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A3_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTNfVDkuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwsIGFyZ3VtZW50IGF0IGFwcGx5IGZ1bmN0aW9uIGlzIHZvaWQgMAogKi8KCmV2YWwoICIgRnVuY3Rpb24oXCJ0aGlzLmZlYXQ9MVwiKS5hcHBseSh2b2lkIDApICIgKTsKCi8vQ0hFQ0sjMQppZiAodGhpc1siZmVhdCJdICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoK","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Checking by using eval, argument at apply function is void 0","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A3_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy40X1Byb3BlcnRpZXNfb2ZfdGhlX0Z1bmN0aW9uX1Byb3RvdHlwZV9PYmplY3QvMTUuMy40LjNfRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5L1MxNS4zLjQuM19BNV9UMS5qcwogKiBAZGVzY3JpcHRpb24gdGhpc0FyZyBpcyBudW1iZXIKICovCgp2YXIgb2JqPTE7Cgp2YXIgcmV0b2JqID0gRnVuY3Rpb24oInRoaXMudG91Y2hlZD0gdHJ1ZTsgcmV0dXJuIHRoaXM7IikuYXBwbHkob2JqKTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIG9iai50b3VjaGVkICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKLy9DSEVDSyMyCmlmICghKHJldG9ialsidG91Y2hlZCJdKSkgewogICRFUlJPUignIzI6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQo=","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is number","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy40X1Byb3BlcnRpZXNfb2ZfdGhlX0Z1bmN0aW9uX1Byb3RvdHlwZV9PYmplY3QvMTUuMy40LjNfRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5L1MxNS4zLjQuM19BNV9UMi5qcwogKiBAZGVzY3JpcHRpb24gdGhpc0FyZyBpcyBib29sZWFuIHRydWUKICovCgp2YXIgb2JqPXRydWU7Cgp2YXIgcmV0b2JqID0gbmV3IEZ1bmN0aW9uKCJ0aGlzLnRvdWNoZWQ9IHRydWU7IHJldHVybiB0aGlzOyIpLmFwcGx5KG9iaik7CgovL0NIRUNLIzEKaWYgKHR5cGVvZiBvYmoudG91Y2hlZCAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIShyZXRvYmpbInRvdWNoZWQiXSkpIHsKICAkRVJST1IoJyMyOiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCgo=","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is boolean true","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy40X1Byb3BlcnRpZXNfb2ZfdGhlX0Z1bmN0aW9uX1Byb3RvdHlwZV9PYmplY3QvMTUuMy40LjNfRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5L1MxNS4zLjQuM19BNV9UMy5qcwogKiBAZGVzY3JpcHRpb24gdGhpc0FyZyBpcyBzdHJpbmcKICovCgp2YXIgb2JqPSJzb2FwIjsKCnZhciByZXRvYmogPSAoIGZ1bmN0aW9uKCl7dGhpcy50b3VjaGVkPSB0cnVlOyByZXR1cm4gdGhpczt9ICkuYXBwbHkob2JqKTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIG9iai50b3VjaGVkICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKLy9DSEVDSyMyCmlmICghKHJldG9ialsidG91Y2hlZCJdKSkgewogICRFUlJPUignIzI6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKCg==","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is string","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A5_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy40X1Byb3BlcnRpZXNfb2ZfdGhlX0Z1bmN0aW9uX1Byb3RvdHlwZV9PYmplY3QvMTUuMy40LjNfRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5L1MxNS4zLjQuM19BNV9UNC5qcwogKiBAZGVzY3JpcHRpb24gdGhpc0FyZyBpcyBmdW5jdGlvbiB2YXJpYWJsZSB0aGF0IHJldHVybiB0aGlzCiAqLwoKZiA9IGZ1bmN0aW9uKCl7dGhpcy50b3VjaGVkPSB0cnVlOyByZXR1cm4gdGhpczt9OwoKcmV0b2JqID0gZi5hcHBseShvYmopOwoKLy9DSEVDSyMxCmlmICh0eXBlb2Ygb2JqICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKLy9DSEVDSyMyCmlmICghKHJldG9ialsidG91Y2hlZCJdKSkgewogICRFUlJPUignIzI6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKdmFyIG9iajsKCg==","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is function variable that return this","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A5_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy40X1Byb3BlcnRpZXNfb2ZfdGhlX0Z1bmN0aW9uX1Byb3RvdHlwZV9PYmplY3QvMTUuMy40LjNfRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5L1MxNS4zLjQuM19BNV9UNS5qcwogKiBAZGVzY3JpcHRpb24gdGhpc0FyZyBpcyBmdW5jdGlvbiB2YXJpYWJsZQogKi8KCnZhciBmID0gZnVuY3Rpb24oKXt0aGlzLnRvdWNoZWQ9IHRydWU7fTsKCnZhciBvYmo9e307CgpmLmFwcGx5KG9iaik7CgovL0NIRUNLIzEKaWYgKCEob2JqLnRvdWNoZWQpKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9Cgo=","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is function variable","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A5_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy40X1Byb3BlcnRpZXNfb2ZfdGhlX0Z1bmN0aW9uX1Byb3RvdHlwZV9PYmplY3QvMTUuMy40LjNfRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5L1MxNS4zLjQuM19BNV9UNi5qcwogKiBAZGVzY3JpcHRpb24gdGhpc0FyZyBpcyBuZXcgU3RyaW5nKCkKICovCgp2YXIgb2JqPW5ldyBTdHJpbmcoInNvYXAiKTsKCiggZnVuY3Rpb24oKXt0aGlzLnRvdWNoZWQ9IHRydWU7fSkuYXBwbHkob2JqKTsKCi8vQ0hFQ0sjMQppZiAoIShvYmoudG91Y2hlZCkpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCg==","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is new String()","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A5_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy40X1Byb3BlcnRpZXNfb2ZfdGhlX0Z1bmN0aW9uX1Byb3RvdHlwZV9PYmplY3QvMTUuMy40LjNfRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5L1MxNS4zLjQuM19BNV9UNy5qcwogKiBAZGVzY3JpcHRpb24gdGhpc0FyZyBpcyBuZXcgTnVtYmVyKCkKICovCgp2YXIgb2JqPW5ldyBOdW1iZXIoMSk7CgpGdW5jdGlvbigidGhpcy50b3VjaGVkPSB0cnVlOyIpLmFwcGx5KG9iaik7CgovL0NIRUNLIzEKaWYgKCEob2JqLnRvdWNoZWQpKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9CgoK","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is new Number()","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A5_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy40X1Byb3BlcnRpZXNfb2ZfdGhlX0Z1bmN0aW9uX1Byb3RvdHlwZV9PYmplY3QvMTUuMy40LjNfRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5L1MxNS4zLjQuM19BNV9UOC5qcwogKiBAZGVzY3JpcHRpb24gdGhpc0FyZyBpcyBGdW5jdGlvbigpCiAqLwoKdmFyIG9iaj1GdW5jdGlvbigpOwoKbmV3IEZ1bmN0aW9uKCJ0aGlzLnRvdWNoZWQ9IHRydWU7IHJldHVybiB0aGlzOyIpLmFwcGx5KG9iaik7CgovL0NIRUNLIzEKaWYgKCEob2JqLnRvdWNoZWQpKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9Cgo=","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is Function()","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A5_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBpZiBhcmdBcnJheSBpcyBuZWl0aGVyIGFuIGFycmF5IG5vciBhbiBhcmd1bWVudHMgb2JqZWN0IChzZWUgMTAuMS44KSwgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93bgogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTZfVDIuanMKICogQGRlc2NyaXB0aW9uIGFyZ0FycmF5IGlzIChudWxsLDEpCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgRnVuY3Rpb24oKS5hcHBseShudWxsLDEpOwogICRGQUlMKCcjMTogaWYgYXJnQXJyYXkgaXMgbmVpdGhlciBhbiBhcnJheSBub3IgYW4gYXJndW1lbnRzIG9iamVjdCAoc2VlIDEwLjEuOCksIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgCSRFUlJPUignIzEuMTogaWYgYXJnQXJyYXkgaXMgbmVpdGhlciBhbiBhcnJheSBub3IgYW4gYXJndW1lbnRzIG9iamVjdCAoc2VlIDEwLjEuOCksIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24nKTsKICB9Cn0KCg==","commentary":"if argArray is neither an array nor an arguments object (see 10.1.8), a TypeError exception is thrown","description":"argArray is (null,1)","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A6_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBpZiBhcmdBcnJheSBpcyBuZWl0aGVyIGFuIGFycmF5IG5vciBhbiBhcmd1bWVudHMgb2JqZWN0IChzZWUgMTAuMS44KSwgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93bgogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTZfVDMuanMKICogQGRlc2NyaXB0aW9uIGFyZ0FycmF5IGlzIChvYmplY3QsIjEsMyw0IikKICovCgpvYmo9e307CgovL0NIRUNLIzEKdHJ5IHsKICBGdW5jdGlvbigpLmFwcGx5KG9iaiwiMSwzLDQiKTsKICAkRkFJTCgnIzE6IGlmIGFyZ0FycmF5IGlzIG5laXRoZXIgYW4gYXJyYXkgbm9yIGFuIGFyZ3VtZW50cyBvYmplY3QgKHNlZSAxMC4xLjgpLCBhIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSkgewogIAkkRVJST1IoJyMxLjE6IGlmIGFyZ0FycmF5IGlzIG5laXRoZXIgYW4gYXJyYXkgbm9yIGFuIGFyZ3VtZW50cyBvYmplY3QgKHNlZSAxMC4xLjgpLCBhIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duJyk7CiAgfQp9Cgo=","commentary":"if argArray is neither an array nor an arguments object (see 10.1.8), a TypeError exception is thrown","description":"argArray is (object,\"1,3,4\")","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A6_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwKICogdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgKFRvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCkpIGFyZ3VtZW50cyBhcmdBcnJheVswXSwgYXJnQXJyYXlbMV0sLi4uLGFyZ0FycmF5W1RvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCktMV0KICoKICogQHBhdGggMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuM19GdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkvUzE1LjMuNC4zX0E3X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBhcmdBcnJheSBpcyAobnVsbCxbMV0pCiAqLwoKRnVuY3Rpb24oImExLGEyLGEzIiwidGhpcy5zaGlmdGVkPWExOyIpLmFwcGx5KG51bGwsWzFdKTsKCi8vQ0hFQ0sjMQppZiAodGhpc1sic2hpZnRlZCJdICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogSWYgYXJnQXJyYXkgaXMgZWl0aGVyIGFuIGFycmF5IG9yIGFuIGFyZ3VtZW50cyBvYmplY3QsIHRoZSBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlLi4uJyk7Cn0KCgo=","commentary":"If argArray is either an array or an arguments object,\nthe function is passed the (ToUint32(argArray.length)) arguments argArray[0], argArray[1],...,argArray[ToUint32(argArray.length)-1]","description":"argArray is (null,[1])","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A7_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwKICogdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgKFRvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCkpIGFyZ3VtZW50cyBhcmdBcnJheVswXSwgYXJnQXJyYXlbMV0sLi4uLGFyZ0FycmF5W1RvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCktMV0KICoKICogQHBhdGggMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuM19GdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkvUzE1LjMuNC4zX0E3X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBhcmdBcnJheSBpcyAobnVsbCxbMSwyLDNdKQogKi8KCm5ldyBGdW5jdGlvbigiYTEsYTIiLCJhMyIsInRoaXMuc2hpZnRlZD1hMjsiKS5hcHBseShudWxsLFsxLDIsM10pOwoKLy9DSEVDSyMxCmlmICh0aGlzWyJzaGlmdGVkIl0gIT09IDIpIHsKICAkRVJST1IoJyMxOiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwgdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUuLi4nKTsKfQoKCg==","commentary":"If argArray is either an array or an arguments object,\nthe function is passed the (ToUint32(argArray.length)) arguments argArray[0], argArray[1],...,argArray[ToUint32(argArray.length)-1]","description":"argArray is (null,[1,2,3])","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A7_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwKICogdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgKFRvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCkpIGFyZ3VtZW50cyBhcmdBcnJheVswXSwgYXJnQXJyYXlbMV0sLi4uLGFyZ0FycmF5W1RvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCktMV0KICoKICogQHBhdGggMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuM19GdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkvUzE1LjMuNC4zX0E3X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBhcmdBcnJheSBpcyAobnVsbCwgYXJndW1lbnRzKSwgaW5zaWRlIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIHVzZWQKICovCgpmdW5jdGlvbiBGQUNUT1JZKCl7CiAgRnVuY3Rpb24oImExLGEyLGEzIiwidGhpcy5zaGlmdGVkPWExK2EyK2EzOyIpLmFwcGx5KG51bGwsYXJndW1lbnRzKTsKfQoKb2JqPW5ldyBGQUNUT1JZKCIiLDEsMik7CgovL0NIRUNLIzEKaWYgKHRoaXNbInNoaWZ0ZWQiXSAhPT0gIjEyIikgewogICRFUlJPUignIzE6IElmIGFyZ0FycmF5IGlzIGVpdGhlciBhbiBhcnJheSBvciBhbiBhcmd1bWVudHMgb2JqZWN0LCB0aGUgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZS4uLicpOwp9CgovL0NIRUNLIzIKaWYgKHR5cGVvZiBvYmouc2hpZnRlZCAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMyOiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwgdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUuLi4nKTsKfQoKCg==","commentary":"If argArray is either an array or an arguments object,\nthe function is passed the (ToUint32(argArray.length)) arguments argArray[0], argArray[1],...,argArray[ToUint32(argArray.length)-1]","description":"argArray is (null, arguments), inside function declaration used","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A7_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwKICogdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgKFRvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCkpIGFyZ3VtZW50cyBhcmdBcnJheVswXSwgYXJnQXJyYXlbMV0sLi4uLGFyZ0FycmF5W1RvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCktMV0KICoKICogQHBhdGggMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuM19GdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkvUzE1LjMuNC4zX0E3X1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBhcmdBcnJheSBpcyAobnVsbCwgYXJndW1lbnRzKSwgaW5zaWRlIGZ1bmN0aW9uIGNhbGwgd2l0aG91dCBkZWNsYXJhdGlvbiB1c2VkCiAqLwoKKGZ1bmN0aW9uICgpewogIEZ1bmN0aW9uKCJhMSxhMixhMyIsInRoaXMuc2hpZnRlZD1hMSthMithMzsiKS5hcHBseShudWxsLGFyZ3VtZW50cyk7Cn0pKCIiLDEsMik7CgovL0NIRUNLIzEKaWYgKHRoaXNbInNoaWZ0ZWQiXSAhPT0gIjEyIikgewogICRFUlJPUignIzE6IElmIGFyZ0FycmF5IGlzIGVpdGhlciBhbiBhcnJheSBvciBhbiBhcmd1bWVudHMgb2JqZWN0LCB0aGUgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZS4uLicpOwp9Cgo=","commentary":"If argArray is either an array or an arguments object,\nthe function is passed the (ToUint32(argArray.length)) arguments argArray[0], argArray[1],...,argArray[ToUint32(argArray.length)-1]","description":"argArray is (null, arguments), inside function call without declaration used","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A7_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwKICogdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgKFRvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCkpIGFyZ3VtZW50cyBhcmdBcnJheVswXSwgYXJnQXJyYXlbMV0sLi4uLGFyZ0FycmF5W1RvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCktMV0KICoKICogQHBhdGggMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuM19GdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkvUzE1LjMuNC4zX0E3X1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBhcmdBcnJheSBpcyAodGhpcywgYXJndW1lbnRzKSwgaW5zaWRlIGZ1bmN0aW9uIGNhbGwgd2l0aG91dCBkZWNsYXJhdGlvbiB1c2VkCiAqLwoKKGZ1bmN0aW9uICgpewogIEZ1bmN0aW9uKCJhMSxhMixhMyIsInRoaXMuc2hpZnRlZD1hMSthMithMzsiKS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7Cn0pKCIiLDQsMik7CgovL0NIRUNLIzIKaWYgKHRoaXNbInNoaWZ0ZWQiXSAhPT0gIjQyIikgewogICRFUlJPUignIzI6IElmIGFyZ0FycmF5IGlzIGVpdGhlciBhbiBhcnJheSBvciBhbiBhcmd1bWVudHMgb2JqZWN0LCB0aGUgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZS4uLicpOwp9CgoK","commentary":"If argArray is either an array or an arguments object,\nthe function is passed the (ToUint32(argArray.length)) arguments argArray[0], argArray[1],...,argArray[ToUint32(argArray.length)-1]","description":"argArray is (this, arguments), inside function call without declaration used","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A7_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuYHQgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcgogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQThfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGNyZWF0aW5nICJuZXcgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5IiBmYWlscwogKi8KCnRyeSB7CiAgb2JqID0gbmV3IEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseTsKICAkRVJST1IoJyMxOiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuXCd0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXInKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgCSRFUlJPUignIzEuMTogRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5IGNhblwndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyJyk7CiAgfQp9Cgo=","commentary":"Function.prototype.apply can`t be used as [[create]] caller","description":"Checking if creating \"new Function.prototype.apply\" fails","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A8_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuYHQgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcgogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQThfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGNyZWF0aW5nICJuZXcgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5KCkiIGZhaWxzCiAqLwoKdHJ5IHsKICBvYmogPSBuZXcgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5KCk7CiAgJEVSUk9SKCcjMTogRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5IGNhblwndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSkgewogIAkkRVJST1IoJyMxLjE6IEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcicpOwogIH0KfQoK","commentary":"Function.prototype.apply can`t be used as [[create]] caller","description":"Checking if creating \"new Function.prototype.apply()\" fails","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A8_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuYHQgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcgogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQThfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGNyZWF0aW5nICJuZXcgRnVuY3Rpb24uYXBwbHkiIGZhaWxzCiAqLwoKdHJ5IHsKICBvYmogPSBuZXcgRnVuY3Rpb24uYXBwbHk7CiAgJEVSUk9SKCcjMTogRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5IGNhblwndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSkgewogIAkkRVJST1IoJyMxLjE6IEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcicpOwogIH0KfQoK","commentary":"Function.prototype.apply can`t be used as [[create]] caller","description":"Checking if creating \"new Function.apply\" fails","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A8_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuYHQgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcgogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQThfVDQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGNyZWF0aW5nICJuZXcgKEZ1bmN0aW9uKCJ0aGlzLnAxPTEiKS5hcHBseSkiIGZhaWxzCiAqLwoKdHJ5IHsKICBvYmogPSBuZXcgKEZ1bmN0aW9uKCJ0aGlzLnAxPTEiKS5hcHBseSk7CiAgJEVSUk9SKCcjMTogRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5IGNhblwndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSkgewogIAkkRVJST1IoJyMxLjE6IEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcicpOwogIH0KfQoK","commentary":"Function.prototype.apply can`t be used as [[create]] caller","description":"Checking if creating \"new (Function(\"this.p1=1\").apply)\" fails","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A8_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuYHQgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcgogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQThfVDUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGNyZWF0aW5nICJuZXcgRnVuY3Rpb24oInRoaXMucDE9MSIpLmFwcGx5IiBmYWlscwogKi8KCnRyeSB7CiAgRkFDVE9SWSA9IEZ1bmN0aW9uKCJ0aGlzLnAxPTEiKS5hcHBseTsKICBvYmogPSBuZXcgRkFDVE9SWSgpOwogICRFUlJPUignIzE6IEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAJJEVSUk9SKCcjMS4xOiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuXCd0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXInKTsKICB9Cn0KCg==","commentary":"Function.prototype.apply can`t be used as [[create]] caller","description":"Checking if creating \"new Function(\"this.p1=1\").apply\" fails","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A8_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuYHQgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcgogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQThfVDYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGNyZWF0aW5nICJuZXcgKEZ1bmN0aW9uKCJmdW5jdGlvbiBmKCl7dGhpcy5wMT0xO307cmV0dXJuIGYiKS5hcHBseSgpKSIgZmFpbHMKICovCgovL0NIRUNLIzEKdHJ5IHsKICBvYmogPSBuZXcgKEZ1bmN0aW9uKCJmdW5jdGlvbiBmKCl7dGhpcy5wMT0xO307cmV0dXJuIGYiKS5hcHBseSgpKTsKfSBjYXRjaCAoZSkgewogICRFUlJPUignIzE6IEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcicpOwp9CgovL0NIRUNLIzIKaWYgKG9iai5wMSE9PSAxKSB7CiAgJEVSUk9SKCcjMjogRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5IGNhblwndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyJyk7Cn0KCg==","commentary":"Function.prototype.apply can`t be used as [[create]] caller","description":"Checking if creating \"new (Function(\"function f(){this.p1=1;};return f\").apply())\" fails","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A8_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy40X1Byb3BlcnRpZXNfb2ZfdGhlX0Z1bmN0aW9uX1Byb3RvdHlwZV9PYmplY3QvMTUuMy40LjNfRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5L1MxNS4zLjQuM19BOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzAKaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IHRoZSBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgaGFzIGxlbmd0aCBwcm9wZXJ0eScpOwp9CgovL0NIRUNLIzEKaWYgKGRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogVGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKLy9DSEVDSyMyCmlmICghKEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9Cgo=","commentary":"The Function.prototype.apply.length property has the attribute DontDelete","description":"Checking if deleting the Function.prototype.apply.length property fails","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy40X1Byb3BlcnRpZXNfb2ZfdGhlX0Z1bmN0aW9uX1Byb3RvdHlwZV9PYmplY3QvMTUuMy40LjRfRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwvUzE1LjMuNC40X0ExMC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdmFyeWluZyB0aGUgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy9DSEVDSyMxCmlmICghKEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IHRoZSBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBoYXMgbGVuZ3RoIHByb3BlcnR5LicpOwp9Cgp2YXIgb2JqID0gRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoOwoKRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307CgovL0NIRUNLIzIKaWYgKEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsLmxlbmd0aCAhPT0gb2JqKSB7CiAgJEVSUk9SKCcjMjogdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsIGxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgUmVhZE9ubHkuJyk7Cn0KCg==","commentary":"The Function.prototype.call.length property has the attribute ReadOnly","description":"Checking if varying the Function.prototype.call.length property fails","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy40X1Byb3BlcnRpZXNfb2ZfdGhlX0Z1bmN0aW9uX1Byb3RvdHlwZV9PYmplY3QvMTUuMy40LjRfRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwvUzE1LjMuNC40X0ExMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMAppZiAoIShGdW5jdGlvbi5wcm90b3R5cGUuY2FsbC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMwOiB0aGUgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwgaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKfQoKCi8vIENIRUNLIzEKaWYgKEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IHRoZSBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbC5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnRFbnVtJyk7Cn0KCi8vIENIRUNLIzIKZm9yIChwIGluIEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsKXsKICBpZiAocD09PSJsZW5ndGgiKQogICAgJEVSUk9SKCcjMjogdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udEVudW0nKTsKfQoK","commentary":"The Function.prototype.call.length property has the attribute DontEnum","description":"Checking if enumerating the Function.prototype.call.length property fails","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eQogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BMTIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIG9idGFpbmluZyB0aGUgcHJvdG90eXBlIHByb3BlcnR5IG9mIEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsIGZhaWxzCiAqLwoKLy9DSEVDSyMxCmlmIChGdW5jdGlvbi5wcm90b3R5cGUuY2FsbC5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5JytGdW5jdGlvbi5wcm90b3R5cGUuY2FsbC5wcm90b3R5cGUpOwp9Cgo=","commentary":"Function.prototype.call has not prototype property","description":"Checking if obtaining the prototype property of Function.prototype.call fails","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BMTMuanMKICogQGRlc2NyaXB0aW9uIElmIElzQ2FsbGFibGUoZnVuYykgaXMgZmFsc2UsIHRoZW4gdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgogKiBAbmVnYXRpdmUgVHlwZUVycm9yCiAqLwoKRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwuY2FsbCh1bmRlZmluZWQsIHt9KTsKCg==","commentary":"","description":"If IsCallable(func) is false, then throw a TypeError exception.","negative":"TypeError","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BMTQuanMKICogQGRlc2NyaXB0aW9uIElmIElzQ2FsbGFibGUoZnVuYykgaXMgZmFsc2UsIHRoZW4gdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgogKiBAbmVnYXRpdmUgVHlwZUVycm9yCiAqLwoKRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwuY2FsbChudWxsLCB7fSk7Cgo=","commentary":"","description":"If IsCallable(func) is false, then throw a TypeError exception.","negative":"TypeError","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BMTUuanMKICogQGRlc2NyaXB0aW9uIElmIElzQ2FsbGFibGUoZnVuYykgaXMgZmFsc2UsIHRoZW4gdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgogKiBAbmVnYXRpdmUgVHlwZUVycm9yCiAqLwoKRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwuY2FsbCh7fSwge30pOwoK","commentary":"","description":"If IsCallable(func) is false, then throw a TypeError exception.","negative":"TypeError","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiBJc0NhbGxhYmxlKGZ1bmMpIGlzIGZhbHNlLCB0aGVuIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KICoKICogQHBhdGggMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuNF9GdW5jdGlvbi5wcm90b3R5cGUuY2FsbC9TMTUuMy40LjRfQTE2LmpzCiAqIEBkZXNjcmlwdGlvbiBBIFJlZ0V4cCBpcyBub3QgYSBmdW5jdGlvbiwgYnV0IGl0IG1heSBiZSBjYWxsYWJsZS4gSWZmIGl0IGlzLCBpdCdzIHR5cGVvZiBzaG91bGQgYmUgJ2Z1bmN0aW9uJywgaW4gd2hpY2ggY2FzZSBjYWxsIHNob3VsZCBhY2NlcHQgaXQgYXMgYSB2YWxpZCB0aGlzIHZhbHVlLgogKi8KCnZhciByZSA9ICgveC8pOwppZiAodHlwZW9mIHJlID09PSAnZnVuY3Rpb24nKSB7CiAgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwuY2FsbChyZSwgdW5kZWZpbmVkLCAneCcpOwp9IGVsc2UgewogIHRyeSB7CiAgICBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKHJlLCB1bmRlZmluZWQpOwogICAgJEZBSUwoJyMxOiBJZiBJc0NhbGxhYmxlKGZ1bmMpIGlzIGZhbHNlLCAnICsKICAgICAgICAgICd0aGVuIChiaW5kIHNob3VsZCkgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uJyk7CiAgfSBjYXRjaCAoZSkgewogICAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAgICAgJEVSUk9SKCcjMTogVHlwZUVycm9yIGV4cGVjdGVkLiBBY3R1YWw6ICcgKyBlKTsKICAgIH0KICB9Cn0KCg==","commentary":"If IsCallable(func) is false, then throw a TypeError exception.","description":"A RegExp is not a function, but it may be callable. Iff it is, it's typeof should be 'function', in which case call should accept it as a valid this value.","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgY2FsbCBtZXRob2QgcGVyZm9ybXMgYSBmdW5jdGlvbiBjYWxsIHVzaW5nIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBvZiB0aGUgb2JqZWN0LiBJZiB0aGUgb2JqZWN0IGRvZXMgbm90IGhhdmUgYSBbW0NhbGxdXSBwcm9wZXJ0eSwgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93bgogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCAiY2FsbCIgbWV0aG9kIG9mIHRoZSBvYmplY3QgdGhhdCBkb2VzIG5vdCBoYXZlIGEgW1tDYWxsXV0gcHJvcGVydHkuCiAqIFByb3RvdHlwZSBvZiB0aGUgb2JqZWN0IGlzIEZ1bmN0aW9uKCkKICovCgp2YXIgcHJvdG89RnVuY3Rpb24oKTsKCmZ1bmN0aW9uIEZBQ1RPUlkoKXt9OwoKRkFDVE9SWS5wcm90b3R5cGU9cHJvdG87Cgp2YXIgb2JqID0gbmV3IEZBQ1RPUlk7CgovL0NIRUNLIzEKaWYgKHR5cGVvZiBvYmouY2FsbCAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzE6IGNhbGwgbWV0aG9kIGFjY2Vzc2VkJyk7Cn0KCi8vQ0hFQ0sjMgp0cnkgewogIG9iai5jYWxsKCk7CiAgJEZBSUwoJyMyOiBJZiB0aGUgb2JqZWN0IGRvZXMgbm90IGhhdmUgYSBbW0NhbGxdXSBwcm9wZXJ0eSwgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93bicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAJJEVSUk9SKCcjMi4xOiBJZiB0aGUgb2JqZWN0IGRvZXMgbm90IGhhdmUgYSBbW0NhbGxdXSBwcm9wZXJ0eSwgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93bicpOwogIH0KfQogICAgCg==","commentary":"The call method performs a function call using the [[Call]] property of the object. If the object does not have a [[Call]] property, a TypeError exception is thrown","description":"Call \"call\" method of the object that does not have a [[Call]] property.\nPrototype of the object is Function()","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgY2FsbCBtZXRob2QgcGVyZm9ybXMgYSBmdW5jdGlvbiBjYWxsIHVzaW5nIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBvZiB0aGUgb2JqZWN0LiBJZiB0aGUgb2JqZWN0IGRvZXMgbm90IGhhdmUgYSBbW0NhbGxdXSBwcm9wZXJ0eSwgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93bgogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbGluZyAiY2FsbCIgbWV0aG9kIG9mIHRoZSBvYmplY3QgdGhhdCBkb2VzIG5vdCBoYXZlIGEgW1tDYWxsXV0gcHJvcGVydHkuCiAqIFByb3RvdHlwZSBvZiB0aGUgb2JqZWN0IGlzIEZ1bmN0aW9uLnByb3RvdHlwZQogKi8KCmZ1bmN0aW9uIEZBQ1RPUlkoKXt9OwoKRkFDVE9SWS5wcm90b3R5cGU9RnVuY3Rpb24ucHJvdG90eXBlOwoKdmFyIG9iaiA9IG5ldyBGQUNUT1JZOwoKLy9DSEVDSyMxCmlmICh0eXBlb2Ygb2JqLmNhbGwgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiBjYWxsIG1ldGhvZCBhY2Nlc3NlZCcpOwp9CgovL0NIRUNLIzIKdHJ5IHsKICBvYmouY2FsbCgpOwogICRGQUlMKCcjMjogSWYgdGhlIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgW1tDYWxsXV0gcHJvcGVydHksIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgCSRFUlJPUignIzIuMTogSWYgdGhlIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgW1tDYWxsXV0gcHJvcGVydHksIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24nKTsKICB9Cn0KCg==","commentary":"The call method performs a function call using the [[Call]] property of the object. If the object does not have a [[Call]] property, a TypeError exception is thrown","description":"Calling \"call\" method of the object that does not have a [[Call]] property.\nPrototype of the object is Function.prototype","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBjYWxsIG1ldGhvZCBpcyAxCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy40X1Byb3BlcnRpZXNfb2ZfdGhlX0Z1bmN0aW9uX1Byb3RvdHlwZV9PYmplY3QvMTUuMy40LjRfRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwvUzE1LjMuNC40X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbC5sZW5ndGgKICovCgovL0NIRUNLIzEKaWYgKHR5cGVvZiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzE6IGNhbGwgbWV0aG9kIGRlZmluZWQnKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2YgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoID09PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzI6IGxlbmd0aCBwcm9wZXJ0eSBvZiBjYWxsIG1ldGhvZCBkZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogVGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiB0aGUgY2FsbCBtZXRob2QgaXMgMScpOwp9Cgo=","commentary":"The length property of the call method is 1","description":"Checking Function.prototype.call.length","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBjYWxsIG1ldGhvZCBpcyAxCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy40X1Byb3BlcnRpZXNfb2ZfdGhlX0Z1bmN0aW9uX1Byb3RvdHlwZV9PYmplY3QvMTUuMy40LjRfRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwvUzE1LjMuNC40X0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBmLmNhbGwubGVuZ3RoLCB3aGVyZSBmIGlzIG5ldyBGdW5jdGlvbgogKi8KCnZhciBmPW5ldyBGdW5jdGlvbjsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIGYuY2FsbCAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzE6IGNhbGwgbWV0aG9kIGFjY2Vzc2VkJyk7Cn0KCi8vQ0hFQ0sjMgppZiAodHlwZW9mIGYuY2FsbC5sZW5ndGggPT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMjogbGVuZ3RoIHByb3BlcnR5IG9mIGNhbGwgbWV0aG9kIGRlZmluZWQnKTsKfQoKLy9DSEVDSyMzCmlmIChmLmNhbGwubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogVGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiB0aGUgY2FsbCBtZXRob2QgaXMgMScpOwp9Cgo=","commentary":"The length property of the call method is 1","description":"Checking f.call.length, where f is new Function","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gTm90IGFueSBhcmd1bWVudHMgYXQgY2FsbCBmdW5jdGlvbgogKi8KCkZ1bmN0aW9uKCJ0aGlzLmZpZWxkPVwic3RyYXdiZXJyeVwiIikuY2FsbCgpOwoKLy9DSEVDSyMxCmlmICh0aGlzWyJmaWVsZCJdICE9PSAic3RyYXdiZXJyeSIpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9Cgo=","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Not any arguments at call function","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BM19UMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwsIG5vIGFueSBhcmd1bWVudHMgYXQgY2FsbCBmdW5jdGlvbgogKi8KCmV2YWwoIiAoZnVuY3Rpb24oKXt0aGlzLmZlYXQ9MX0pLmNhbGwoKSIpOwoKLy9DSEVDSyMxCmlmICh0aGlzWyJmZWF0Il0gIT09IDEpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9Cgo=","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Checking by using eval, no any arguments at call function","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A3_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgYXQgY2FsbCBmdW5jdGlvbiBpcyBudWxsCiAqLwoKRnVuY3Rpb24oInRoaXMuZmllbGQ9XCJncmVlblwiIikuY2FsbChudWxsKTsKCi8vQ0hFQ0sjMQppZiAodGhpc1siZmllbGQiXSAhPT0gImdyZWVuIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCg==","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Argument at call function is null","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgYXQgY2FsbCBmdW5jdGlvbiBpcyB2b2lkIDAKICovCgpGdW5jdGlvbigidGhpcy5maWVsZD1cImJhdHRsZVwiIikuY2FsbCh2b2lkIDApOwoKLy9DSEVDSyMxCmlmICh0aGlzWyJmaWVsZCJdICE9PSAiYmF0dGxlIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCg==","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Argument at call function is void 0","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BM19UNC5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgYXQgY2FsbCBmdW5jdGlvbiBpcyB1bmRlZmluZWQKICovCgpGdW5jdGlvbigidGhpcy5maWVsZD1cIm9pbFwiIikuY2FsbCh1bmRlZmluZWQpOwoKLy9DSEVDSyMxCmlmICh0aGlzWyJmaWVsZCJdICE9PSAib2lsIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCg==","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Argument at call function is undefined","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BM19UNS5qcwogKiBAZGVzY3JpcHRpb24gTm8gYW55IGFyZ3VtZW50cyBhdCBjYWxsIGZ1bmN0aW9uIGFuZCBpdCBjYWxsZWQgaW5zaWRlIGZ1bmN0aW9uIGRlY2xhcmF0aW9uCiAqLwoKZnVuY3Rpb24gRkFDVE9SWSgpewogIEZ1bmN0aW9uKCJ0aGlzLmZlYXQ9XCJpbiBkYSBoYXVzXCIiKS5jYWxsKCk7Cn07Cgp2YXIgb2JqID0gbmV3IEZBQ1RPUlk7CgovL0NIRUNLIzEKaWYgKHRoaXNbImZlYXQiXSAhPT0gImluIGRhIGhhdXMiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygb2JqLmZlYXQgIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoK","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"No any arguments at call function and it called inside function declaration","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BM19UNi5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgYXQgY2FsbCBmdW5jdGlvbiBpcyBudWxsIGFuZCBpdCBjYWxsZWQgaW5zaWRlIGZ1bmN0aW9uIGRlY2xhcmF0aW9uCiAqLwoKZnVuY3Rpb24gRkFDVE9SWSgpewogIChmdW5jdGlvbigpe3RoaXMuZmVhdD0ia2Ftb24gYmV5YmEifSkuY2FsbChudWxsKTsKfTsKCnZhciBvYmogPSBuZXcgRkFDVE9SWTsKCi8vQ0hFQ0sjMQppZiAodGhpc1siZmVhdCJdICE9PSAia2Ftb24gYmV5YmEiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygb2JqLmZlYXQgIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoK","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Argument at call function is null and it called inside function declaration","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A3_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BM19UNy5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgYXQgY2FsbCBmdW5jdGlvbiBpcyB2b2lkIDAgYW5kIGl0IGNhbGxlZCBpbnNpZGUgZnVuY3Rpb24gZGVjbGFyYXRpb24KICovCgooZnVuY3Rpb24gRkFDVE9SWSgpewogIEZ1bmN0aW9uKCJ0aGlzLmZlYXQ9XCJpbiBkYSBoYXVzXCIiKS5jYWxsKHZvaWQgMCk7Cn0pKCk7CgoKLy9DSEVDSyMxCmlmICh0aGlzWyJmZWF0Il0gIT09ICJpbiBkYSBoYXVzIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCg==","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Argument at call function is void 0 and it called inside function declaration","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A3_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BM19UOC5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgYXQgY2FsbCBmdW5jdGlvbiBpcyB1bmRlZmluZWQgYW5kIGl0IGNhbGxlZCBpbnNpZGUgZnVuY3Rpb24gZGVjbGFyYXRpb24KICovCgooZnVuY3Rpb24gRkFDVE9SWSgpewogIChmdW5jdGlvbigpe3RoaXMuZmVhdD0ia2Ftb24gYmV5YmEifSkuY2FsbCh1bmRlZmluZWQpOwp9KSgpOwoKCi8vQ0hFQ0sjMQppZiAodGhpc1siZmVhdCJdICE9PSAia2Ftb24gYmV5YmEiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoK","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Argument at call function is undefined and it called inside function declaration","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A3_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BM19UOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbCwgYXJndW1lbnQgYXQgY2FsbCBmdW5jdGlvbiBpcyB2b2lkIDAKICovCgpldmFsKCAiIEZ1bmN0aW9uKFwidGhpcy5mZWF0PTFcIikuY2FsbCh2b2lkIDApICIgKTsKCgovL0NIRUNLIzEKaWYgKHRoaXNbImZlYXQiXSAhPT0gMSkgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCg==","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Checking by using eval, argument at call function is void 0","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A3_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy40X1Byb3BlcnRpZXNfb2ZfdGhlX0Z1bmN0aW9uX1Byb3RvdHlwZV9PYmplY3QvMTUuMy40LjRfRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwvUzE1LjMuNC40X0E1X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIG51bWJlcgogKi8KCnZhciBvYmo9MTsKCnZhciByZXRvYmogPSBGdW5jdGlvbigidGhpcy50b3VjaGVkPSB0cnVlOyByZXR1cm4gdGhpczsiKS5jYWxsKG9iaik7CgovL0NIRUNLIzEKaWYgKHR5cGVvZiBvYmoudG91Y2hlZCAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIShyZXRvYmpbInRvdWNoZWQiXSkpIHsKICAkRVJST1IoJyMyOiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCgo=","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is number","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy40X1Byb3BlcnRpZXNfb2ZfdGhlX0Z1bmN0aW9uX1Byb3RvdHlwZV9PYmplY3QvMTUuMy40LjRfRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwvUzE1LjMuNC40X0E1X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIGJvb2xlYW4gdHJ1ZQogKi8KCnZhciBvYmo9dHJ1ZTsKCnZhciByZXRvYmogPSBuZXcgRnVuY3Rpb24oInRoaXMudG91Y2hlZD0gdHJ1ZTsgcmV0dXJuIHRoaXM7IikuY2FsbChvYmopOwoKLy9DSEVDSyMxCmlmICh0eXBlb2Ygb2JqLnRvdWNoZWQgIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCEocmV0b2JqWyJ0b3VjaGVkIl0pKSB7CiAgJEVSUk9SKCcjMjogSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9CgoK","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is boolean true","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy40X1Byb3BlcnRpZXNfb2ZfdGhlX0Z1bmN0aW9uX1Byb3RvdHlwZV9PYmplY3QvMTUuMy40LjRfRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwvUzE1LjMuNC40X0E1X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIHN0cmluZwogKi8KCnZhciBvYmo9InNvYXAiOwoKdmFyIHJldG9iaiA9ICggZnVuY3Rpb24oKXt0aGlzLnRvdWNoZWQ9IHRydWU7IHJldHVybiB0aGlzO30gKS5jYWxsKG9iaik7CgovL0NIRUNLIzEKaWYgKHR5cGVvZiBvYmoudG91Y2hlZCAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIShyZXRvYmpbInRvdWNoZWQiXSkpIHsKICAkRVJST1IoJyMyOiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCgo=","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is string","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A5_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy40X1Byb3BlcnRpZXNfb2ZfdGhlX0Z1bmN0aW9uX1Byb3RvdHlwZV9PYmplY3QvMTUuMy40LjRfRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwvUzE1LjMuNC40X0E1X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIGZ1bmN0aW9uIHZhcmlhYmxlIHRoYXQgcmV0dXJuIHRoaXMKICovCgp2YXIgZiA9IGZ1bmN0aW9uKCl7dGhpcy50b3VjaGVkPSB0cnVlOyByZXR1cm4gdGhpczt9OwoKdmFyIHJldG9iaiA9IGYuY2FsbChvYmopOwoKLy9DSEVDSyMxCmlmICh0eXBlb2Ygb2JqICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKLy9DSEVDSyMyCmlmICghKHJldG9ialsidG91Y2hlZCJdKSkgewogICRFUlJPUignIzI6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKdmFyIG9iajsKCg==","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is function variable that return this","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A5_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy40X1Byb3BlcnRpZXNfb2ZfdGhlX0Z1bmN0aW9uX1Byb3RvdHlwZV9PYmplY3QvMTUuMy40LjRfRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwvUzE1LjMuNC40X0E1X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIGZ1bmN0aW9uIHZhcmlhYmxlCiAqLwoKdmFyIGYgPSBmdW5jdGlvbigpe3RoaXMudG91Y2hlZD0gdHJ1ZTt9OwoKdmFyIG9iaj17fTsKCmYuY2FsbChvYmopOwoKLy9DSEVDSyMxCmlmICghKG9iai50b3VjaGVkKSkgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoK","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is function variable","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A5_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy40X1Byb3BlcnRpZXNfb2ZfdGhlX0Z1bmN0aW9uX1Byb3RvdHlwZV9PYmplY3QvMTUuMy40LjRfRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwvUzE1LjMuNC40X0E1X1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIG5ldyBTdHJpbmcoKQogKi8KCnZhciBvYmo9bmV3IFN0cmluZygic29hcCIpOwoKKCBmdW5jdGlvbigpe3RoaXMudG91Y2hlZD0gdHJ1ZTt9KS5jYWxsKG9iaik7CgovL0NIRUNLIzEKaWYgKCEob2JqLnRvdWNoZWQpKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9Cgo=","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is new String()","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A5_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy40X1Byb3BlcnRpZXNfb2ZfdGhlX0Z1bmN0aW9uX1Byb3RvdHlwZV9PYmplY3QvMTUuMy40LjRfRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwvUzE1LjMuNC40X0E1X1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIG5ldyBOdW1iZXIoKQogKi8KCnZhciBvYmo9bmV3IE51bWJlcigxKTsKCkZ1bmN0aW9uKCJ0aGlzLnRvdWNoZWQ9IHRydWU7IikuY2FsbChvYmopOwoKLy9DSEVDSyMxCmlmICghKG9iai50b3VjaGVkKSkgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKCg==","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is new Number()","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A5_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy40X1Byb3BlcnRpZXNfb2ZfdGhlX0Z1bmN0aW9uX1Byb3RvdHlwZV9PYmplY3QvMTUuMy40LjRfRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwvUzE1LjMuNC40X0E1X1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIEZ1bmN0aW9uKCkKICovCgp2YXIgb2JqPUZ1bmN0aW9uKCk7CgpuZXcgRnVuY3Rpb24oInRoaXMudG91Y2hlZD0gdHJ1ZTsgcmV0dXJuIHRoaXM7IikuY2FsbChvYmopOwoKLy9DSEVDSyMxCmlmICghKG9iai50b3VjaGVkKSkgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoK","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is Function()","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A5_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcwogKiBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QKICoKICogQHBhdGggMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuNF9GdW5jdGlvbi5wcm90b3R5cGUuY2FsbC9TMTUuMy40LjRfQTZfVDEuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VuZW10cyBvZiBjYWxsIGZ1bmN0aW9uIGlzIChudWxsLFsxXSkKICovCgpGdW5jdGlvbigiYTEsYTIsYTMiLCJ0aGlzLnNoaWZ0ZWQ9YTE7IikuY2FsbChudWxsLFsxXSk7CgovL0NIRUNLIzEKaWYgKHRoaXNbInNoaWZ0ZWQiXS5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcyBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QnKTsKfQoKLy9DSEVDSyMyCmlmICh0aGlzWyJzaGlmdGVkIl0ubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogVGhlIGNhbGwgbWV0aG9kIHRha2VzIG9uZSBvciBtb3JlIGFyZ3VtZW50cywgdGhpc0FyZyBhbmQgKG9wdGlvbmFsbHkpIGFyZzEsIGFyZzIgZXRjLCBhbmQgcGVyZm9ybXMgYSBmdW5jdGlvbiBjYWxsIHVzaW5nIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBvZiB0aGUgb2JqZWN0Jyk7Cn0KCi8vQ0hFQ0sjMwppZiAodGhpc1sic2hpZnRlZCJdWzBdICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogVGhlIGNhbGwgbWV0aG9kIHRha2VzIG9uZSBvciBtb3JlIGFyZ3VtZW50cywgdGhpc0FyZyBhbmQgKG9wdGlvbmFsbHkpIGFyZzEsIGFyZzIgZXRjLCBhbmQgcGVyZm9ybXMgYSBmdW5jdGlvbiBjYWxsIHVzaW5nIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBvZiB0aGUgb2JqZWN0Jyk7Cn0KCgo=","commentary":"The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs\na function call using the [[Call]] property of the object","description":"Argunemts of call function is (null,[1])","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcwogKiBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QKICoKICogQHBhdGggMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuNF9GdW5jdGlvbi5wcm90b3R5cGUuY2FsbC9TMTUuMy40LjRfQTZfVDIuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VuZW10cyBvZiBjYWxsIGZ1bmN0aW9uIGlzIChudWxsLFszLDIsMV0pCiAqLwoKbmV3IEZ1bmN0aW9uKCJhMSxhMiIsImEzIiwidGhpcy5zaGlmdGVkPWExOyIpLmNhbGwobnVsbCxbMywyLDFdKTsKCi8vQ0hFQ0sjMQppZiAodGhpc1sic2hpZnRlZCJdLmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzE6IFRoZSBjYWxsIG1ldGhvZCB0YWtlcyBvbmUgb3IgbW9yZSBhcmd1bWVudHMsIHRoaXNBcmcgYW5kIChvcHRpb25hbGx5KSBhcmcxLCBhcmcyIGV0YywgYW5kIHBlcmZvcm1zIGEgZnVuY3Rpb24gY2FsbCB1c2luZyB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgdGhlIG9iamVjdCcpOwp9CgovL0NIRUNLIzIKaWYgKCh0aGlzWyJzaGlmdGVkIl1bMF0gIT09IDMpfHwodGhpc1sic2hpZnRlZCJdWzFdICE9PSAyKXx8KHRoaXNbInNoaWZ0ZWQiXVsyXSAhPT0gMSkpIHsKICAkRVJST1IoJyMyOiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcyBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QnKTsKfQoKCg==","commentary":"The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs\na function call using the [[Call]] property of the object","description":"Argunemts of call function is (null,[3,2,1])","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A6_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcwogKiBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QKICoKICogQHBhdGggMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuNF9GdW5jdGlvbi5wcm90b3R5cGUuY2FsbC9TMTUuMy40LjRfQTZfVDUuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VuZW10cyBvZiBjYWxsIGZ1bmN0aW9uIGlzIChudWxsLCBhcmd1bWVudHMsIiIsMiksIGluc2lkZSBmdW5jdGlvbiBkZWNsYXJhdGlvbiB1c2VkCiAqLwoKZnVuY3Rpb24gRkFDVE9SWSgpewogIEZ1bmN0aW9uKCJhMSxhMixhMyIsInRoaXMuc2hpZnRlZD1hMS5sZW5ndGgrYTIrYTM7IikuY2FsbChudWxsLGFyZ3VtZW50cywiIiwyKTsKfQoKdmFyIG9iaj1uZXcgRkFDVE9SWSgiIiwxLDIsIkEiKTsKCi8vQ0hFQ0sjMQppZiAodGhpc1sic2hpZnRlZCJdICE9PSAiNDIiKSB7CiAgJEVSUk9SKCcjMTogVGhlIGNhbGwgbWV0aG9kIHRha2VzIG9uZSBvciBtb3JlIGFyZ3VtZW50cywgdGhpc0FyZyBhbmQgKG9wdGlvbmFsbHkpIGFyZzEsIGFyZzIgZXRjLCBhbmQgcGVyZm9ybXMgYSBmdW5jdGlvbiBjYWxsIHVzaW5nIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBvZiB0aGUgb2JqZWN0Jyk7Cn0KCi8vQ0hFQ0sjMgppZiAodHlwZW9mIG9iai5zaGlmdGVkICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzI6IFRoZSBjYWxsIG1ldGhvZCB0YWtlcyBvbmUgb3IgbW9yZSBhcmd1bWVudHMsIHRoaXNBcmcgYW5kIChvcHRpb25hbGx5KSBhcmcxLCBhcmcyIGV0YywgYW5kIHBlcmZvcm1zIGEgZnVuY3Rpb24gY2FsbCB1c2luZyB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgdGhlIG9iamVjdCcpOwp9CgoK","commentary":"The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs\na function call using the [[Call]] property of the object","description":"Argunemts of call function is (null, arguments,\"\",2), inside function declaration used","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A6_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcwogKiBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QKICoKICogQHBhdGggMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuNF9GdW5jdGlvbi5wcm90b3R5cGUuY2FsbC9TMTUuMy40LjRfQTZfVDcuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VuZW10cyBvZiBjYWxsIGZ1bmN0aW9uIGlzIChudWxsLCBhcmd1bWVudHMsIiIsMiksIGluc2lkZSBmdW5jdGlvbiBjYWxsIHdpdGhvdXQgZGVjbGFyYXRpb24gdXNlZAogKi8KCihmdW5jdGlvbiAoKXsKICBGdW5jdGlvbigiYTEsYTIsYTMiLCJ0aGlzLnNoaWZ0ZWQ9YTEubGVuZ3RoK2EyK2EzOyIpLmNhbGwobnVsbCxhcmd1bWVudHMsIiIsMik7Cn0pKCIiLDEsMix0cnVlKTsKCi8vQ0hFQ0sjMQppZiAodGhpc1sic2hpZnRlZCJdICE9PSAiNDIiKSB7CiAgJEVSUk9SKCcjMTogVGhlIGNhbGwgbWV0aG9kIHRha2VzIG9uZSBvciBtb3JlIGFyZ3VtZW50cywgdGhpc0FyZyBhbmQgKG9wdGlvbmFsbHkpIGFyZzEsIGFyZzIgZXRjLCBhbmQgcGVyZm9ybXMgYSBmdW5jdGlvbiBjYWxsIHVzaW5nIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBvZiB0aGUgb2JqZWN0Jyk7Cn0KCg==","commentary":"The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs\na function call using the [[Call]] property of the object","description":"Argunemts of call function is (null, arguments,\"\",2), inside function call without declaration used","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A6_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcwogKiBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QKICoKICogQHBhdGggMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuNF9GdW5jdGlvbi5wcm90b3R5cGUuY2FsbC9TMTUuMy40LjRfQTZfVDguanMKICogQGRlc2NyaXB0aW9uIEFyZ3VuZW10cyBvZiBjYWxsIGZ1bmN0aW9uIGlzICh0aGlzLCBhcmd1bWVudHMsIiIsMiksIGluc2lkZSBmdW5jdGlvbiBjYWxsIHdpdGhvdXQgZGVjbGFyYXRpb24gdXNlZAogKi8KCihmdW5jdGlvbiAoKXsKICBGdW5jdGlvbigiYTEsYTIsYTMiLCJ0aGlzLnNoaWZ0ZWQ9YTEubGVuZ3RoK2EyK2EzOyIpLmNhbGwodGhpcyxhcmd1bWVudHMsIiIsMik7Cn0pKCIiLDQsMixudWxsKTsKCi8vQ0hFQ0sjMgppZiAodGhpc1sic2hpZnRlZCJdICE9PSAiNDIiKSB7CiAgJEVSUk9SKCcjMjogVGhlIGNhbGwgbWV0aG9kIHRha2VzIG9uZSBvciBtb3JlIGFyZ3VtZW50cywgdGhpc0FyZyBhbmQgKG9wdGlvbmFsbHkpIGFyZzEsIGFyZzIgZXRjLCBhbmQgcGVyZm9ybXMgYSBmdW5jdGlvbiBjYWxsIHVzaW5nIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBvZiB0aGUgb2JqZWN0Jyk7Cn0KCgo=","commentary":"The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs\na function call using the [[Call]] property of the object","description":"Argunemts of call function is (this, arguments,\"\",2), inside function call without declaration used","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A6_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW4ndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy40X1Byb3BlcnRpZXNfb2ZfdGhlX0Z1bmN0aW9uX1Byb3RvdHlwZV9PYmplY3QvMTUuMy40LjRfRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwvUzE1LjMuNC40X0E3X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyAibmV3IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsIiBmYWlscwogKi8KCnRyeSB7CiAgdmFyIG9iaiA9IG5ldyBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbDsKICAkRVJST1IoJyMxOiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAJJEVSUk9SKCcjMS4xOiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcicpOwogIH0KfQoK","commentary":"Function.prototype.call can't be used as [[create]] caller","description":"Checking if creating \"new Function.prototype.call\" fails","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A7_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW4ndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy40X1Byb3BlcnRpZXNfb2ZfdGhlX0Z1bmN0aW9uX1Byb3RvdHlwZV9PYmplY3QvMTUuMy40LjRfRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwvUzE1LjMuNC40X0E3X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyAibmV3IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsKCkiIGZhaWxzCiAqLwoKdHJ5IHsKICB2YXIgRkFDVE9SWSA9IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsOwogIHZhciBvYmogPSBuZXcgRkFDVE9SWSgpOwogICRFUlJPUignIzE6IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsIGNhblwndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSkgewogIAkkRVJST1IoJyMxLjE6IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsIGNhblwndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyJyk7CiAgfQp9Cgo=","commentary":"Function.prototype.call can't be used as [[create]] caller","description":"Checking if creating \"new Function.prototype.call()\" fails","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A7_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW4ndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy40X1Byb3BlcnRpZXNfb2ZfdGhlX0Z1bmN0aW9uX1Byb3RvdHlwZV9PYmplY3QvMTUuMy40LjRfRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwvUzE1LjMuNC40X0E3X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyAibmV3IEZ1bmN0aW9uLmNhbGwiIGZhaWxzCiAqLwoKdHJ5IHsKICB2YXIgb2JqID0gbmV3IEZ1bmN0aW9uLmNhbGw7CiAgJEVSUk9SKCcjMTogRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwgY2FuXCd0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXInKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgCSRFUlJPUignIzEuMTogRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwgY2FuXCd0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXInKTsKICB9Cn0KCg==","commentary":"Function.prototype.call can't be used as [[create]] caller","description":"Checking if creating \"new Function.call\" fails","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A7_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW4ndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy40X1Byb3BlcnRpZXNfb2ZfdGhlX0Z1bmN0aW9uX1Byb3RvdHlwZV9PYmplY3QvMTUuMy40LjRfRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwvUzE1LjMuNC40X0E3X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyAibmV3IChGdW5jdGlvbigidGhpcy5wMT0xIikuY2FsbCkiIGZhaWxzCiAqLwoKdHJ5IHsKICB2YXIgb2JqID0gbmV3IChGdW5jdGlvbigidGhpcy5wMT0xIikuY2FsbCk7CiAgJEVSUk9SKCcjMTogRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwgY2FuXCd0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXInKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgCSRFUlJPUignIzEuMTogRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwgY2FuXCd0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXInKTsKICB9Cn0KCg==","commentary":"Function.prototype.call can't be used as [[create]] caller","description":"Checking if creating \"new (Function(\"this.p1=1\").call)\" fails","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A7_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW4ndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy40X1Byb3BlcnRpZXNfb2ZfdGhlX0Z1bmN0aW9uX1Byb3RvdHlwZV9PYmplY3QvMTUuMy40LjRfRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwvUzE1LjMuNC40X0E3X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyAibmV3IEZ1bmN0aW9uKCJ0aGlzLnAxPTEiKS5jYWxsIiBmYWlscwogKi8KCnRyeSB7CiAgdmFyIEZBQ1RPUlkgPSBGdW5jdGlvbigidGhpcy5wMT0xIikuY2FsbDsKICB2YXIgb2JqID0gbmV3IEZBQ1RPUlkoKTsKICAkRVJST1IoJyMxOiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAJJEVSUk9SKCcjMS4xOiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcicpOwogIH0KfQoK","commentary":"Function.prototype.call can't be used as [[create]] caller","description":"Checking if creating \"new Function(\"this.p1=1\").call\" fails","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A7_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW4ndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy40X1Byb3BlcnRpZXNfb2ZfdGhlX0Z1bmN0aW9uX1Byb3RvdHlwZV9PYmplY3QvMTUuMy40LjRfRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwvUzE1LjMuNC40X0E3X1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyAibmV3IChGdW5jdGlvbigiZnVuY3Rpb24gZigpe3RoaXMucDE9MTt9O3JldHVybiBmIikuY2FsbCgpKSIgZmFpbHMKICovCgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgb2JqID0gbmV3IChGdW5jdGlvbigiZnVuY3Rpb24gZigpe3RoaXMucDE9MTt9O3JldHVybiBmIikuY2FsbCgpKTsKfSBjYXRjaCAoZSkgewogICRFUlJPUignIzE6IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsIGNhblwndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyJyk7Cn0KCi8vQ0hFQ0sjMgppZiAob2JqLnAxIT09IDEpIHsKICAkRVJST1IoJyMyOiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcicpOwp9Cgo=","commentary":"Function.prototype.call can't be used as [[create]] caller","description":"Checking if creating \"new (Function(\"function f(){this.p1=1;};return f\").call())\" fails","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A7_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICoKICogQHBhdGggMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuNF9GdW5jdGlvbi5wcm90b3R5cGUuY2FsbC9TMTUuMy40LjRfQTkuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlbGV0aW5nIHRoZSBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbC5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzAKaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsIGhhcyBsZW5ndGggcHJvcGVydHknKTsKfQoKLy9DSEVDSyMxCmlmIChkZWxldGUgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogVGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgovL0NIRUNLIzIKaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMjogVGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9Cgo=","commentary":"The Function.prototype.call.length property has the attribute DontDelete","description":"Checking if deleting the Function.prototype.call.length property fails","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiAiY2FsbGVyIiBvZiBib3VuZCBmdW5jdGlvbiBpcyBwb2lzb25lZCAoc3RlcCAyMCkKICoKICogQHBhdGggMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuNV9GdW5jdGlvbi5wcm90b3R5cGUuYmluZC9TMTUuMy40LjVfQTEuanMKICogQGRlc2NyaXB0aW9uIEEgYm91bmQgZnVuY3Rpb24gc2hvdWxkIGZhaWwgdG8gZmluZCBpdHMgImNhbGxlciIKICogQG5lZ2F0aXZlIFR5cGVFcnJvcgogKi8KCmZ1bmN0aW9uIGZvbygpIHsgcmV0dXJuIGJhci5jYWxsZXI7IH0KdmFyIGJhciA9IGZvby5iaW5kKHt9KTsKZnVuY3Rpb24gYmF6KCkgeyByZXR1cm4gYmFyKCk7IH0KYmF6KCk7Cgo=","commentary":"\"caller\" of bound function is poisoned (step 20)","description":"A bound function should fail to find its \"caller\"","negative":"TypeError","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC41X0Z1bmN0aW9uLnByb3RvdHlwZS5iaW5kL1MxNS4zLjQuNV9BMTMuanMKICogQGRlc2NyaXB0aW9uIElmIElzQ2FsbGFibGUoZnVuYykgaXMgZmFsc2UsIHRoZW4gdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgogKiBAbmVnYXRpdmUgVHlwZUVycm9yCiAqLwoKRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbCh1bmRlZmluZWQsIHt9KTsKCgo=","commentary":"","description":"If IsCallable(func) is false, then throw a TypeError exception.","negative":"TypeError","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC41X0Z1bmN0aW9uLnByb3RvdHlwZS5iaW5kL1MxNS4zLjQuNV9BMTQuanMKICogQGRlc2NyaXB0aW9uIElmIElzQ2FsbGFibGUoZnVuYykgaXMgZmFsc2UsIHRoZW4gdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgogKiBAbmVnYXRpdmUgVHlwZUVycm9yCiAqLwoKRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChudWxsLCB7fSk7CgoK","commentary":"","description":"If IsCallable(func) is false, then throw a TypeError exception.","negative":"TypeError","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC41X0Z1bmN0aW9uLnByb3RvdHlwZS5iaW5kL1MxNS4zLjQuNV9BMTUuanMKICogQGRlc2NyaXB0aW9uIElmIElzQ2FsbGFibGUoZnVuYykgaXMgZmFsc2UsIHRoZW4gdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgogKiBAbmVnYXRpdmUgVHlwZUVycm9yCiAqLwoKRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbCh7fSwge30pOwoKCg==","commentary":"","description":"If IsCallable(func) is false, then throw a TypeError exception.","negative":"TypeError","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiBJc0NhbGxhYmxlKGZ1bmMpIGlzIGZhbHNlLCB0aGVuIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KICoKICogQHBhdGggMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuNV9GdW5jdGlvbi5wcm90b3R5cGUuYmluZC9TMTUuMy40LjVfQTE2LmpzCiAqIEBkZXNjcmlwdGlvbiBBIFJlZ0V4cCBpcyBub3QgYSBmdW5jdGlvbiwgYnV0IGl0IG1heSBiZSBjYWxsYWJsZS4gSWZmIGl0IGlzLCBpdCdzIHR5cGVvZiBzaG91bGQgYmUgJ2Z1bmN0aW9uJywgaW4gd2hpY2ggY2FzZSBiaW5kIHNob3VsZCBhY2NlcHQgaXQgYXMgYSB2YWxpZCB0aGlzIHZhbHVlLgogKi8KCnZhciByZSA9ICgveC8pOwppZiAodHlwZW9mIHJlID09PSAnZnVuY3Rpb24nKSB7CiAgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChyZSwgdW5kZWZpbmVkKTsKfSBlbHNlIHsKICB0cnkgewogICAgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChyZSwgdW5kZWZpbmVkKTsKICAgICRGQUlMKCcjMTogSWYgSXNDYWxsYWJsZShmdW5jKSBpcyBmYWxzZSwgJyArCiAgICAgICAgICAndGhlbiAoYmluZCBzaG91bGQpIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbicpOwogIH0gY2F0Y2ggKGUpIHsKICAgIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgICAgICRFUlJPUignIzE6IFR5cGVFcnJvciBleHBlY3RlZC4gQWN0dWFsOiAnICsgZSk7CiAgICB9CiAgfQp9Cgo=","commentary":"If IsCallable(func) is false, then throw a TypeError exception.","description":"A RegExp is not a function, but it may be callable. Iff it is, it's typeof should be 'function', in which case bind should accept it as a valid this value.","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiAiYXJndW1lbnRzIiBvZiBib3VuZCBmdW5jdGlvbiBpcyBwb2lzb25lZCAoc3RlcCAyMSkKICoKICogQHBhdGggMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuNV9GdW5jdGlvbi5wcm90b3R5cGUuYmluZC9TMTUuMy40LjVfQTIuanMKICogQGRlc2NyaXB0aW9uIGEgYm91bmQgZnVuY3Rpb24gc2hvdWxkIGZhaWwgdG8gZmluZCB0aGUgYm91bmQgZnVuY3Rpb24gImFyZ3VtZW50cyIKICogQG5lZ2F0aXZlIFR5cGVFcnJvcgogKi8KCmZ1bmN0aW9uIGZvbygpIHsgcmV0dXJuIGJhci5hcmd1bWVudHM7IH0KdmFyIGJhciA9IGZvby5iaW5kKHt9KTsKZnVuY3Rpb24gYmF6KCkgeyByZXR1cm4gYmFyKCk7IH0KYmF6KCk7Cgo=","commentary":"\"arguments\" of bound function is poisoned (step 21)","description":"a bound function should fail to find the bound function \"arguments\"","negative":"TypeError","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC41X0Z1bmN0aW9uLnByb3RvdHlwZS5iaW5kL1MxNS4zLjQuNV9BMy5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgbXVzdCBleGlzdAogKi8KCmlmICghKCdiaW5kJyBpbiBGdW5jdGlvbi5wcm90b3R5cGUpKSB7CiAgJEVSUk9SKCdGdW5jdGlvbi5wcm90b3R5cGUuYmluZCBpcyBtaXNzaW5nJyk7Cn0KCg==","commentary":"","description":"Function.prototype.bind must exist","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC41X0Z1bmN0aW9uLnByb3RvdHlwZS5iaW5kL1MxNS4zLjQuNV9BNC5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgY2FsbCB0aGUgb3JpZ2luYWwncyBpbnRlcm5hbAogKiBbW0NhbGxdXSBtZXRob2QgcmF0aGVyIHRoYW4gaXRzIC5hcHBseSBtZXRob2QuCiAqLwoKZnVuY3Rpb24gZm9vKCkge30KCnZhciBiID0gZm9vLmJpbmQoMzMsIDQ0KTsKZm9vLmFwcGx5ID0gZnVuY3Rpb24oKSB7CiAgJEVSUk9SKCJGdW5jdGlvbi5wcm90b3R5cGUuYmluZCBjYWxsZWQgb3JpZ2luYWwncyAuYXBwbHkgbWV0aG9kIik7Cn07CmIoNTUsIDY2KTsKCg==","commentary":"","description":"Function.prototype.bind call the original's internal\n[[Call]] method rather than its .apply method.","path":"TestCases/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpcyB1c3VhbGx5IGFuIGludGVnZXIgdGhhdCBpbmRpY2F0ZXMgdGhlICd0eXBpY2FsJyBudW1iZXIgb2YgYXJndW1lbnRzIGV4cGVjdGVkIGJ5IHRoZSBmdW5jdGlvbgogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjFfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGxlbmd0aCBwcm9wZXJ0eSBvZiBGdW5jdGlvbigiYXJnMSxhcmcyLGFyZzMiLCBudWxsKQogKi8KCmYgPSBuZXcgRnVuY3Rpb24oImFyZzEsYXJnMixhcmczIiwgbnVsbCk7CgovL0NIRUNLIzEKaWYgKCEoZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMxOiB0aGUgZnVuY3Rpb24gaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKfQoKLy9DSEVDSyMyCmlmIChmLmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzI6IFRoZSB2YWx1ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzIHVzdWFsbHkgYW4gaW50ZWdlciB0aGF0IGluZGljYXRlcyB0aGUgInR5cGljYWwiIG51bWJlciBvZiBhcmd1bWVudHMgZXhwZWN0ZWQgYnkgdGhlIGZ1bmN0aW9uJyk7Cn0KCg==","commentary":"The value of the length property is usually an integer that indicates the 'typical' number of arguments expected by the function","description":"Checking length property of Function(\"arg1,arg2,arg3\", null)","path":"TestCases/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpcyB1c3VhbGx5IGFuIGludGVnZXIgdGhhdCBpbmRpY2F0ZXMgdGhlICd0eXBpY2FsJyBudW1iZXIgb2YgYXJndW1lbnRzIGV4cGVjdGVkIGJ5IHRoZSBmdW5jdGlvbgogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjFfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGxlbmd0aCBwcm9wZXJ0eSBvZiBGdW5jdGlvbigiYXJnMSxhcmcyLGFyZzMiLCJhcmc0LGFyZzUiLCBudWxsKQogKi8KCmYgPSBGdW5jdGlvbigiYXJnMSxhcmcyLGFyZzMiLCJhcmc0LGFyZzUiLCBudWxsKTsKCi8vQ0hFQ0sjMQppZiAoIShmLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IHRoZSBmdW5jdGlvbiBoYXMgbGVuZ3RoIHByb3BlcnR5LicpOwp9CgovL0NIRUNLIzIKaWYgKGYubGVuZ3RoICE9PSA1KSB7CiAgJEVSUk9SKCcjMjogVGhlIHZhbHVlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaXMgdXN1YWxseSBhbiBpbnRlZ2VyIHRoYXQgaW5kaWNhdGVzIHRoZSAidHlwaWNhbCIgbnVtYmVyIG9mIGFyZ3VtZW50cyBleHBlY3RlZCBieSB0aGUgZnVuY3Rpb24nKTsKfQoK","commentary":"The value of the length property is usually an integer that indicates the 'typical' number of arguments expected by the function","description":"Checking length property of Function(\"arg1,arg2,arg3\",\"arg4,arg5\", null)","path":"TestCases/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpcyB1c3VhbGx5IGFuIGludGVnZXIgdGhhdCBpbmRpY2F0ZXMgdGhlICd0eXBpY2FsJyBudW1iZXIgb2YgYXJndW1lbnRzIGV4cGVjdGVkIGJ5IHRoZSBmdW5jdGlvbgogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjFfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGxlbmd0aCBwcm9wZXJ0eSBvZiBGdW5jdGlvbigiYXJnMSxhcmcyLGFyZzMiLCJhcmcxLGFyZzIiLCJhcmczIiwgbnVsbCkKICovCgpmID0gbmV3IEZ1bmN0aW9uKCJhcmcxLGFyZzIsYXJnMyIsImFyZzEsYXJnMiIsImFyZzMiLCBudWxsKTsKCi8vQ0hFQ0sjMQppZiAoIShmLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IHRoZSBmdW5jdGlvbiBoYXMgbGVuZ3RoIHByb3BlcnR5LicpOwp9CgovL0NIRUNLIzIKaWYgKGYubGVuZ3RoICE9PSA2KSB7CiAgJEVSUk9SKCcjMjogVGhlIHZhbHVlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaXMgdXN1YWxseSBhbiBpbnRlZ2VyIHRoYXQgaW5kaWNhdGVzIHRoZSAidHlwaWNhbCIgbnVtYmVyIG9mIGFyZ3VtZW50cyBleHBlY3RlZCBieSB0aGUgZnVuY3Rpb24nKTsKfQoK","commentary":"The value of the length property is usually an integer that indicates the 'typical' number of arguments expected by the function","description":"Checking length property of Function(\"arg1,arg2,arg3\",\"arg1,arg2\",\"arg3\", null)","path":"TestCases/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.1_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERvbnREZWxldGUgfQogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjFfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlbGV0aW5nIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgRnVuY3Rpb24oImFyZzEsYXJnMixhcmczIiwgbnVsbCkgZmFpbHMKICovCgpmID0gbmV3IEZ1bmN0aW9uKCJhcmcxLGFyZzIsYXJnMyIsIG51bGwpOwoKLy9DSEVDSyMxCmlmICghKGYuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMTogdGhlIGZ1bmN0aW9uIGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Cn0KCi8vQ0hFQ0sjMgppZihkZWxldGUgZi5sZW5ndGgpewogICRFUlJPUignIzI6IHRoZSBmdW5jdGlvbi5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUuJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoIShmLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRVJST1IoJyMzOiB0aGUgZnVuY3Rpb24ubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlLicpOwp9CgovL0NIRUNLIzQKaWYgKGYubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjNDogdGhlIGxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBEb250RGVsZXRlIH0nKTsKfQoK","commentary":"the length property has the attributes { DontDelete }","description":"Checking if deleting the length property of Function(\"arg1,arg2,arg3\", null) fails","path":"TestCases/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERvbnREZWxldGUgfQogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjFfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlbGV0aW5nIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgRnVuY3Rpb24oImFyZzEsYXJnMixhcmczIiwiYXJnNCxhcmc1IiwgbnVsbCkgZmFpbHMKICovCgpmID0gIEZ1bmN0aW9uKCJhcmcxLGFyZzIsYXJnMyIsImFyZzQsYXJnNSIsIG51bGwpOwoKLy9DSEVDSyMxCmlmICghKGYuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMTogdGhlIGZ1bmN0aW9uIGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Cn0KCmRlbGV0ZSBmLmxlbmd0aDsKCi8vQ0hFQ0sjMgppZiAoIShmLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRVJST1IoJyMyOiB0aGUgZnVuY3Rpb24ubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlLicpOwp9CgovL0NIRUNLIzMKaWYgKGYubGVuZ3RoICE9PSA1KSB7CiAgJEVSUk9SKCcjMzogdGhlIGxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBEb250RGVsZXRlIH0nKTsKfQoK","commentary":"the length property has the attributes { DontDelete }","description":"Checking if deleting the length property of Function(\"arg1,arg2,arg3\",\"arg4,arg5\", null) fails","path":"TestCases/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.1_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERvbnREZWxldGUgfQogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjFfQTJfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlbGV0aW5nIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgRnVuY3Rpb24oImFyZzEsYXJnMixhcmczIiwiYXJnMSxhcmcyIiwiYXJnMyIsIG51bGwpIGZhaWxzCiAqLwoKZiA9IG5ldyBGdW5jdGlvbigiYXJnMSxhcmcyLGFyZzMiLCJhcmcxLGFyZzIiLCJhcmczIiwgbnVsbCk7CgovL0NIRUNLIzEKaWYgKCEoZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMxOiB0aGUgZnVuY3Rpb24gaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKfQoKZGVsZXRlIGYubGVuZ3RoOwoKLy9DSEVDSyMyCmlmICghKGYuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRFUlJPUignIzI6IHRoZSBmdW5jdGlvbi5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUuJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZi5sZW5ndGggIT09IDYpIHsKICAkRVJST1IoJyMzOiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERvbnREZWxldGUgfScpOwp9Cgo=","commentary":"the length property has the attributes { DontDelete }","description":"Checking if deleting the length property of Function(\"arg1,arg2,arg3\",\"arg1,arg2\",\"arg3\", null) fails","path":"TestCases/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.1_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IFJlYWRPbmx5IH0KICoKICogQHBhdGggMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjVfUHJvcGVydGllc19vZl9GdW5jdGlvbl9JbnN0YW5jZXMvUzE1LjMuNS4xX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgRnVuY3Rpb24oImFyZzEsYXJnMixhcmczIiwiYXJnNCxhcmc1IiwgbnVsbCkgZmFpbHMKICovCgpmID0gbmV3IEZ1bmN0aW9uKCJhcmcxLGFyZzIsYXJnMyIsImFyZzQsYXJnNSIsIG51bGwpOwoKLy9DSEVDSyMxCmlmICghKGYuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMTogdGhlIGZ1bmN0aW9uIGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Cn0KCmxlbmd0aCA9IGYubGVuZ3RoOwoKZi5sZW5ndGggPSBmdW5jdGlvbigpe307CgovL0NIRUNLIzIKaWYgKGYubGVuZ3RoICE9PSBsZW5ndGgpIHsKICAkRVJST1IoJyMyOiB0aGUgZnVuY3Rpb24ubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBSZWFkT25seScpOwp9CgovL0NIRUNLIzMKdHJ5IHsKICBmLmxlbmd0aCgpOwogICRFUlJPUignIzM6IHRoZSBmdW5jdGlvbi5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIFJlYWRPbmx5Jyk7Cn0gY2F0Y2ggKGUpIHsKICA7Cn0KCi8vQ0hFQ0sjNAppZiAoZi5sZW5ndGggIT09IDUpIHsKICAkRVJST1IoJyM0OiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IFJlYWRPbmx5IH0nKTsKfQoK","commentary":"the length property has the attributes { ReadOnly }","description":"Checking if varying the length property of Function(\"arg1,arg2,arg3\",\"arg4,arg5\", null) fails","path":"TestCases/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.1_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IFJlYWRPbmx5IH0KICoKICogQHBhdGggMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjVfUHJvcGVydGllc19vZl9GdW5jdGlvbl9JbnN0YW5jZXMvUzE1LjMuNS4xX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgRnVuY3Rpb24oImFyZzEsYXJnMixhcmczIiwgbnVsbCkgZmFpbHMKICovCgpmID0gIEZ1bmN0aW9uKCJhcmcxLGFyZzIsYXJnMyIsIG51bGwpOwoKLy9DSEVDSyMxCmlmICghKGYuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMTogdGhlIGZ1bmN0aW9uIGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Cn0KCmxlbmd0aCA9IGYubGVuZ3RoOwoKZi5sZW5ndGggPSBmdW5jdGlvbigpe307CgovL0NIRUNLIzIKaWYgKGYubGVuZ3RoICE9PSBsZW5ndGgpIHsKICAkRVJST1IoJyMyOiB0aGUgZnVuY3Rpb24ubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBSZWFkT25seScpOwp9CgovL0NIRUNLIzMKdHJ5IHsKICBmLmxlbmd0aCgpOwogICRFUlJPUignIzM6IHRoZSBmdW5jdGlvbi5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIFJlYWRPbmx5Jyk7Cn0gY2F0Y2ggKGUpIHsKICA7Cn0KCi8vQ0hFQ0sjNAppZiAoZi5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyM0OiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IFJlYWRPbmx5IH0nKTsKfQoK","commentary":"the length property has the attributes { ReadOnly }","description":"Checking if varying the length property of Function(\"arg1,arg2,arg3\", null) fails","path":"TestCases/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.1_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IFJlYWRPbmx5IH0KICoKICogQHBhdGggMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjVfUHJvcGVydGllc19vZl9GdW5jdGlvbl9JbnN0YW5jZXMvUzE1LjMuNS4xX0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgRnVuY3Rpb24oImFyZzEsYXJnMixhcmczIiwiYXJnMSxhcmcyIiwiYXJnMyIsIG51bGwpIGZhaWxzCiAqLwoKZiA9IG5ldyBGdW5jdGlvbigiYXJnMSxhcmcyLGFyZzMiLCJhcmcxLGFyZzIiLCJhcmczIiwgbnVsbCk7CgovL0NIRUNLIzEKaWYgKCEoZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMxOiB0aGUgZnVuY3Rpb24gaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKfQoKbGVuZ3RoID0gZi5sZW5ndGg7CgpmLmxlbmd0aCA9IGZ1bmN0aW9uKCl7fTsKCi8vQ0hFQ0sjMgppZiAoZi5sZW5ndGggIT09IGxlbmd0aCkgewogICRFUlJPUignIzI6IHRoZSBmdW5jdGlvbi5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIFJlYWRPbmx5Jyk7Cn0KCi8vQ0hFQ0sjMwp0cnkgewogIGYubGVuZ3RoKCk7CiAgJEVSUk9SKCcjMzogdGhlIGZ1bmN0aW9uLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgUmVhZE9ubHknKTsKfSBjYXRjaCAoZSkgewogIDsKfQoKLy9DSEVDSyM0CmlmIChmLmxlbmd0aCAhPT0gNikgewogICRFUlJPUignIzQ6IHRoZSBsZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIHsgUmVhZE9ubHkgfScpOwp9Cgo=","commentary":"the length property has the attributes { ReadOnly }","description":"Checking if varying the length property of Function(\"arg1,arg2,arg3\",\"arg1,arg2\",\"arg3\", null) fails","path":"TestCases/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.1_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERvbnRFbnVtIH0KICoKICogQHBhdGggMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjVfUHJvcGVydGllc19vZl9GdW5jdGlvbl9JbnN0YW5jZXMvUzE1LjMuNS4xX0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBlbnVtZXJhdGluZyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mIEZ1bmN0aW9uKCJhcmcxLGFyZzIsYXJnMyIsIG51bGwpIGZhaWxzCiAqLwoKZiA9IG5ldyBGdW5jdGlvbigiYXJnMSxhcmcyLGFyZzMiLCBudWxsKTsKCi8vQ0hFQ0sjMQppZiAoIShmLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IHRoZSBmdW5jdGlvbiBoYXMgbGVuZ3RoIHByb3BlcnR5LicpOwp9Cgpmb3Ioa2V5IGluIGYpICAgIAogIGlmKGtleT09Imxlbmd0aCIpCiAgICAgIHZhciBsZW5ndGhlbnVtZWQ9dHJ1ZTsKICAgICAgCi8vQ0hFQ0sjMgppZiAobGVuZ3RoZW51bWVkKSB7CiAgJEVSUk9SKCcjMjogdGhlIGxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBEb250RW51bSB9Jyk7Cn0KCg==","commentary":"the length property has the attributes { DontEnum }","description":"Checking if enumerating the length property of Function(\"arg1,arg2,arg3\", null) fails","path":"TestCases/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.1_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERvbnRFbnVtIH0KICoKICogQHBhdGggMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjVfUHJvcGVydGllc19vZl9GdW5jdGlvbl9JbnN0YW5jZXMvUzE1LjMuNS4xX0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBlbnVtZXJhdGluZyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mIEZ1bmN0aW9uKCJhcmcxLGFyZzIsYXJnMyIsImFyZzQsYXJnNSIsIG51bGwpIGZhaWxzCiAqLwoKZiA9ICBGdW5jdGlvbigiYXJnMSxhcmcyLGFyZzMiLCJhcmc1LGFyZzQiLCBudWxsKTsKCi8vQ0hFQ0sjMQppZiAoIShmLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IHRoZSBmdW5jdGlvbiBoYXMgbGVuZ3RoIHByb3BlcnR5LicpOwp9Cgpmb3Ioa2V5IGluIGYpICAgIAogIGlmKGtleT09Imxlbmd0aCIpCiAgICAgIHZhciBsZW5ndGhlbnVtZWQ9dHJ1ZTsKICAgICAgCi8vQ0hFQ0sjMgppZiAobGVuZ3RoZW51bWVkKSB7CiAgJEVSUk9SKCcjMjogdGhlIGxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBEb250RW51bSB9Jyk7Cn0KCg==","commentary":"the length property has the attributes { DontEnum }","description":"Checking if enumerating the length property of Function(\"arg1,arg2,arg3\",\"arg4,arg5\", null) fails","path":"TestCases/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.1_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERvbnRFbnVtIH0KICoKICogQHBhdGggMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjVfUHJvcGVydGllc19vZl9GdW5jdGlvbl9JbnN0YW5jZXMvUzE1LjMuNS4xX0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBlbnVtZXJhdGluZyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mIEZ1bmN0aW9uKCJhcmcxLGFyZzIsYXJnMyIsImFyZzEsYXJnMiIsImFyZzMiLCBudWxsKSBmYWlscwogKi8KCmYgPSBuZXcgRnVuY3Rpb24oImFyZzEsYXJnMixhcmczIiwiYXJnMSxhcmcyIiwiYXJnMyIsIG51bGwpOwoKLy9DSEVDSyMxCmlmICghKGYuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMTogdGhlIGZ1bmN0aW9uIGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Cn0KCmZvcihrZXkgaW4gZikgICAgCiAgaWYoa2V5PT0ibGVuZ3RoIikKICAgIHZhciBsZW5ndGhlbnVtZWQ9dHJ1ZTsKICAgICAgCi8vQ0hFQ0sjMgppZiAobGVuZ3RoZW51bWVkKSB7CiAgJEVSUk9SKCcjMjogdGhlIGxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBEb250RW51bSB9Jyk7Cn0KCg==","commentary":"the length property has the attributes { DontEnum }","description":"Checking if enumerating the length property of Function(\"arg1,arg2,arg3\",\"arg1,arg2\",\"arg3\", null) fails","path":"TestCases/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.1_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiB0aGUgcHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERvbnREZWxldGUgfQogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjJfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlbGV0aW5nIHRoZSBwcm90b3R5cGUgcHJvcGVydHkgb2YgRnVuY3Rpb24oIiIsIG51bGwpIGZhaWxzCiAqLwoKZiA9IG5ldyBGdW5jdGlvbigiIiwgbnVsbCk7CgovL0NIRUNLIzEKaWYgKCEoZi5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJykpKSB7CiAgJEZBSUwoJyMxOiB0aGUgZnVuY3Rpb24gaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKfQoKZnByb3RvID0gZi5wcm90b3R5cGU7CgovL0NIRUNLIzIKaWYgKGRlbGV0ZSBmLnByb3RvdHlwZSkgewogICRFUlJPUignIzI6IHRoZSBwcm90b3R5cGUgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIHsgRG9udERlbGV0ZSB9Jyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZi5wcm90b3R5cGUgIT09IGZwcm90bykgewogICRFUlJPUignIzM6IHRoZSBwcm90b3R5cGUgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIHsgRG9udERlbGV0ZSB9Jyk7Cn0KCg==","commentary":"the prototype property has the attributes { DontDelete }","description":"Checking if deleting the prototype property of Function(\"\", null) fails","path":"TestCases/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.2_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiB0aGUgcHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERvbnREZWxldGUgfQogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjJfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlbGV0aW5nIHRoZSBwcm90b3R5cGUgcHJvcGVydHkgb2YgRnVuY3Rpb24odm9pZCAwLCAiIikgZmFpbHMKICovCgpmID0gRnVuY3Rpb24odm9pZCAwLCAiIik7CgovL0NIRUNLIzEKaWYgKCEoZi5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJykpKSB7CiAgJEZBSUwoJyMxOiB0aGUgZnVuY3Rpb24gaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKfQoKZnByb3RvID0gZi5wcm90b3R5cGU7CgovL0NIRUNLIzIKaWYgKGRlbGV0ZSBmLnByb3RvdHlwZSkgewogICRFUlJPUignIzI6IHRoZSBwcm90b3R5cGUgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIHsgRG9udERlbGV0ZSB9Jyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZi5wcm90b3R5cGUgIT09IGZwcm90bykgewogICRFUlJPUignIzM6IHRoZSBwcm90b3R5cGUgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIHsgRG9udERlbGV0ZSB9Jyk7Cn0KCg==","commentary":"the prototype property has the attributes { DontDelete }","description":"Checking if deleting the prototype property of Function(void 0, \"\") fails","path":"TestCases/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.2_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiBpKSBJZiBWIGlzIG5vdCBhbiBvYmplY3QsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjNfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIFYgaXMgbnVtYmVyCiAqLwoKRkFDVE9SWSA9IEZ1bmN0aW9uKCJuYW1lIiwidGhpcy5uYW1lPW5hbWU7Iik7CgovL0NIRUNLIzEKaWYgKCgxIGluc3RhbmNlb2YgIEZBQ1RPUlkpIT09ZmFsc2UpIHsKICAkRVJST1IoJyMxOiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiBpKSBJZiBWIGlzIG5vdCBhbiBvYmplY3QsIHJldHVybiBmYWxzZScpOwp9Cgo=","commentary":"Assume F is a Function object. When the [[HasInstance]] method of F is called with value V, the following steps are taken: i) If V is not an object, return false","description":"V is number","path":"TestCases/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.3_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiBpKSBJZiBWIGlzIG5vdCBhbiBvYmplY3QsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjNfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIFYgaXMgc3RyaW5nCiAqLwoKRkFDVE9SWSA9IEZ1bmN0aW9uKCJuYW1lIiwidGhpcy5uYW1lPW5hbWU7Iik7CgovL0NIRUNLIzEKaWYgKCgiMSIgaW5zdGFuY2VvZiAgRkFDVE9SWSkhPT1mYWxzZSkgewogICRFUlJPUignIzE6IEFzc3VtZSBGIGlzIGEgRnVuY3Rpb24gb2JqZWN0LiBXaGVuIHRoZSBbW0hhc0luc3RhbmNlXV0gbWV0aG9kIG9mIEYgaXMgY2FsbGVkIHdpdGggdmFsdWUgViwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IGkpIElmIFYgaXMgbm90IGFuIG9iamVjdCwgcmV0dXJuIGZhbHNlJyk7Cn0KCg==","commentary":"Assume F is a Function object. When the [[HasInstance]] method of F is called with value V, the following steps are taken: i) If V is not an object, return false","description":"V is string","path":"TestCases/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.3_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiBpKSBJZiBWIGlzIG5vdCBhbiBvYmplY3QsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjNfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIFYgaXMgYm9vbGVhbiB0cnVlCiAqLwoKRkFDVE9SWSA9IEZ1bmN0aW9uKCJuYW1lIiwidGhpcy5uYW1lPW5hbWU7Iik7CgovL0NIRUNLIzEKaWYgKCh0cnVlIGluc3RhbmNlb2YgIEZBQ1RPUlkpIT09ZmFsc2UpIHsKICAkRVJST1IoJyMxOiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiBpKSBJZiBWIGlzIG5vdCBhbiBvYmplY3QsIHJldHVybiBmYWxzZScpOwp9Cgo=","commentary":"Assume F is a Function object. When the [[HasInstance]] method of F is called with value V, the following steps are taken: i) If V is not an object, return false","description":"V is boolean true","path":"TestCases/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.3_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiBpKSBJZiBWIGlzIG5vdCBhbiBvYmplY3QsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjNfQTFfVDQuanMKICogQGRlc2NyaXB0aW9uIFYgaXMgYm9vbGVhbiBmYWxzZQogKi8KCkZBQ1RPUlkgPSBGdW5jdGlvbigibmFtZSIsInRoaXMubmFtZT1uYW1lOyIpOwoKLy9DSEVDSyMxCmlmICgoZmFsc2UgaW5zdGFuY2VvZiAgRkFDVE9SWSkhPT1mYWxzZSkgewogICRFUlJPUignIzE6IEFzc3VtZSBGIGlzIGEgRnVuY3Rpb24gb2JqZWN0LiBXaGVuIHRoZSBbW0hhc0luc3RhbmNlXV0gbWV0aG9kIG9mIEYgaXMgY2FsbGVkIHdpdGggdmFsdWUgViwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IGkpIElmIFYgaXMgbm90IGFuIG9iamVjdCwgcmV0dXJuIGZhbHNlJyk7Cn0KCg==","commentary":"Assume F is a Function object. When the [[HasInstance]] method of F is called with value V, the following steps are taken: i) If V is not an object, return false","description":"V is boolean false","path":"TestCases/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.3_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiBpKSBJZiBWIGlzIG5vdCBhbiBvYmplY3QsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjNfQTFfVDUuanMKICogQGRlc2NyaXB0aW9uIFYgaXMgdm9pZCAwCiAqLwoKRkFDVE9SWSA9IEZ1bmN0aW9uKCJuYW1lIiwidGhpcy5uYW1lPW5hbWU7Iik7CgovL0NIRUNLIzEKaWYgKCh2b2lkIDAgaW5zdGFuY2VvZiAgRkFDVE9SWSkhPT1mYWxzZSkgewogICRFUlJPUignIzE6IEFzc3VtZSBGIGlzIGEgRnVuY3Rpb24gb2JqZWN0LiBXaGVuIHRoZSBbW0hhc0luc3RhbmNlXV0gbWV0aG9kIG9mIEYgaXMgY2FsbGVkIHdpdGggdmFsdWUgViwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IGkpIElmIFYgaXMgbm90IGFuIG9iamVjdCwgcmV0dXJuIGZhbHNlJyk7Cn0KCg==","commentary":"Assume F is a Function object. When the [[HasInstance]] method of F is called with value V, the following steps are taken: i) If V is not an object, return false","description":"V is void 0","path":"TestCases/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.3_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiBpKSBJZiBWIGlzIG5vdCBhbiBvYmplY3QsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjNfQTFfVDYuanMKICogQGRlc2NyaXB0aW9uIFYgaXMgbnVsbAogKi8KCkZBQ1RPUlkgPSBGdW5jdGlvbigibmFtZSIsInRoaXMubmFtZT1uYW1lOyIpOwoKLy9DSEVDSyMxCmlmICgobnVsbCBpbnN0YW5jZW9mICBGQUNUT1JZKSE9PWZhbHNlKSB7CiAgJEVSUk9SKCcjMTogQXNzdW1lIEYgaXMgYSBGdW5jdGlvbiBvYmplY3QuIFdoZW4gdGhlIFtbSGFzSW5zdGFuY2VdXSBtZXRob2Qgb2YgRiBpcyBjYWxsZWQgd2l0aCB2YWx1ZSBWLCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjogaSkgSWYgViBpcyBub3QgYW4gb2JqZWN0LCByZXR1cm4gZmFsc2UnKTsKfQoK","commentary":"Assume F is a Function object. When the [[HasInstance]] method of F is called with value V, the following steps are taken: i) If V is not an object, return false","description":"V is null","path":"TestCases/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.3_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiBpKSBJZiBWIGlzIG5vdCBhbiBvYmplY3QsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjNfQTFfVDcuanMKICogQGRlc2NyaXB0aW9uIFYgaXMgdW5kZWZpbmVkCiAqLwoKRkFDVE9SWSA9IEZ1bmN0aW9uKCJuYW1lIiwidGhpcy5uYW1lPW5hbWU7Iik7CgovL0NIRUNLIzEKaWYgKCh1bmRlZmluZWQgaW5zdGFuY2VvZiAgRkFDVE9SWSkhPT1mYWxzZSkgewogICRFUlJPUignIzE6IEFzc3VtZSBGIGlzIGEgRnVuY3Rpb24gb2JqZWN0LiBXaGVuIHRoZSBbW0hhc0luc3RhbmNlXV0gbWV0aG9kIG9mIEYgaXMgY2FsbGVkIHdpdGggdmFsdWUgViwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IGkpIElmIFYgaXMgbm90IGFuIG9iamVjdCwgcmV0dXJuIGZhbHNlJyk7Cn0KCg==","commentary":"Assume F is a Function object. When the [[HasInstance]] method of F is called with value V, the following steps are taken: i) If V is not an object, return false","description":"V is undefined","path":"TestCases/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.3_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiBpKSBJZiBWIGlzIG5vdCBhbiBvYmplY3QsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjNfQTFfVDguanMKICogQGRlc2NyaXB0aW9uIFYgaXMgdW5kZWZpbmVkIHZhcmlhYmxlCiAqLwoKRkFDVE9SWSA9IEZ1bmN0aW9uKCJuYW1lIiwidGhpcy5uYW1lPW5hbWU7Iik7CgovL0NIRUNLIzEKaWYgKCh4IGluc3RhbmNlb2YgIEZBQ1RPUlkpIT09ZmFsc2UpIHsKICAkRVJST1IoJyMxOiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiBpKSBJZiBWIGlzIG5vdCBhbiBvYmplY3QsIHJldHVybiBmYWxzZScpOwp9Cgp2YXIgeDsKCg==","commentary":"Assume F is a Function object. When the [[HasInstance]] method of F is called with value V, the following steps are taken: i) If V is not an object, return false","description":"V is undefined variable","path":"TestCases/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.3_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYgYW5kIFYgaXMgYW4gb2JqZWN0LCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgQ2FsbCB0aGUgW1tHZXRdXSBtZXRob2Qgb2YgRiB3aXRoIHByb3BlcnR5IG5hbWUgInByb3RvdHlwZSIuCiAqIGlpKSBMZXQgTyBiZSBSZXN1bHQoaSkuCiAqIGlpaSkgTyBpcyBub3QgYW4gb2JqZWN0LCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjVfUHJvcGVydGllc19vZl9GdW5jdGlvbl9JbnN0YW5jZXMvUzE1LjMuNS4zX0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBGLnByb3RvdHlwZSBpcyB1bmRlZmluZWQsIGFuZCBWIGlzIGVtcHR5IG9iamVjdAogKi8KCkZBQ1RPUlkgPSBuZXcgRnVuY3Rpb247CgpGQUNUT1JZLnByb3RvdHlwZSA9IHVuZGVmaW5lZDsKCm9iaj17fTsKCi8vQ0hFQ0sjMQp0cnkgewogIG9iaiBpbnN0YW5jZW9mICBGQUNUT1JZOwogICRGQUlMKCcjMTogTyBpcyBub3QgYW4gb2JqZWN0LCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgCSRFUlJPUignIzEuMTogTyBpcyBub3QgYW4gb2JqZWN0LCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24nKTsKICB9Cn0KCgoK","commentary":"Assume F is a Function object. When the [[HasInstance]] method of F is called with value V and V is an object, the following steps are taken:\ni) Call the [[Get]] method of F with property name \"prototype\".\nii) Let O be Result(i).\niii) O is not an object, throw a TypeError exception","description":"F.prototype is undefined, and V is empty object","path":"TestCases/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.3_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZgogKiAgICAgICAgICAgICBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYgYW5kIFYgaXMgYW4gb2JqZWN0LCB0aGUgZm9sbG93aW5nIHN0ZXBzCiAqICAgICAgICAgICAgIGFyZSB0YWtlbjogaSkgQ2FsbCB0aGUgW1tHZXRdXSBtZXRob2Qgb2YgRiB3aXRoIHByb3BlcnR5IG5hbWUKICogICAgICAgICAgICAgInByb3RvdHlwZSIuIGlpKSBMZXQgTyBiZSBSZXN1bHQoaSkuIGlpaSkgTyBpcyBub3QgYW4gb2JqZWN0LAogKiAgICAgICAgICAgICB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjVfUHJvcGVydGllc19vZl9GdW5jdGlvbl9JbnN0YW5jZXMvUzE1LjMuNS4zX0EyX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBGLnByb3RvdHlwZSBpcyB2b2lkIDAsIGFuZCBWIGlzIG5ldyBGCiAqLwoKRkFDVE9SWSA9IEZ1bmN0aW9uKCJ0aGlzLnByb3A9MTsiKTsKCkZBQ1RPUlkucHJvdG90eXBlLm5hbWUgPSAiZmFpcnkiOwoKaW5zdGFuY2UgPSBuZXcgRkFDVE9SWTsKCkZBQ1RPUlkucHJvdG90eXBlID0gdm9pZCAwOwoKLy8gQ0hFQ0sjMQp0cnkgewogIGluc3RhbmNlIGluc3RhbmNlb2YgRkFDVE9SWTsKICAkRkFJTCgnIzE6IE8gaXMgbm90IGFuIG9iamVjdCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSkgewogICAgJEVSUk9SKCcjMS4xOiBPIGlzIG5vdCBhbiBvYmplY3QsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbicpOwogIH0KfQoKLy8gQ0hFQ0sjMgppZiAoKGluc3RhbmNlLmNvbnN0cnVjdG9yICE9PSBGQUNUT1JZKSB8fCAoaW5zdGFuY2UubmFtZSAhPT0gImZhaXJ5IikpIHsKICAkRVJST1IoJyMyOiBpbnN0YW5jZS5jb25zdHJ1Y3RvciA9PT0gRkFDVE9SWScpOwp9Cgo=","commentary":"Assume F is a Function object. When the [[HasInstance]] method of\n            F is called with value V and V is an object, the following steps\n            are taken: i) Call the [[Get]] method of F with property name\n            \"prototype\". ii) Let O be Result(i). iii) O is not an object,\n            throw a TypeError exception","description":"F.prototype is void 0, and V is new F","path":"TestCases/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.3_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZgogKiAgICAgICAgICAgICBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYgYW5kIFYgaXMgYW4gb2JqZWN0LCB0aGUgZm9sbG93aW5nIHN0ZXBzCiAqICAgICAgICAgICAgIGFyZSB0YWtlbjogaSkgQ2FsbCB0aGUgW1tHZXRdXSBtZXRob2Qgb2YgRiB3aXRoIHByb3BlcnR5IG5hbWUKICogICAgICAgICAgICAgInByb3RvdHlwZSIuIGlpKSBMZXQgTyBiZSBSZXN1bHQoaSkuIGlpaSkgTyBpcyBub3QgYW4gb2JqZWN0LAogKiAgICAgICAgICAgICB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjVfUHJvcGVydGllc19vZl9GdW5jdGlvbl9JbnN0YW5jZXMvUzE1LjMuNS4zX0EyX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBGLnByb3RvdHlwZSBpcyBzdHJpbmcsIGFuZCBWIGlzIGZ1bmN0aW9uCiAqLwoKRkFDVE9SWSA9IG5ldyBGdW5jdGlvbjsKCkZBQ1RPUlkucHJvdG90eXBlID0gImVycm9yIjsKCi8vIENIRUNLIzEKdHJ5IHsKICAoIGZ1bmN0aW9uKCkgewogIH0pIGluc3RhbmNlb2YgRkFDVE9SWTsKICAkRkFJTCgnIzE6IE8gaXMgbm90IGFuIG9iamVjdCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSkgewogICAgJEVSUk9SKCcjMS4xOiBPIGlzIG5vdCBhbiBvYmplY3QsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbicpOwogIH0KfQoK","commentary":"Assume F is a Function object. When the [[HasInstance]] method of\n            F is called with value V and V is an object, the following steps\n            are taken: i) Call the [[Get]] method of F with property name\n            \"prototype\". ii) Let O be Result(i). iii) O is not an object,\n            throw a TypeError exception","description":"F.prototype is string, and V is function","path":"TestCases/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.3_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYgYW5kIFYgaXMgYW4gb2JqZWN0LCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgQ2FsbCB0aGUgW1tHZXRdXSBtZXRob2Qgb2YgRiB3aXRoIHByb3BlcnR5IG5hbWUgInByb3RvdHlwZSIuCiAqIGlpKSBMZXQgTyBiZSBSZXN1bHQoaSkgYW5kIE8gaXMgYW4gb2JqZWN0LgogKiBpaWkpIExldCBWIGJlIHRoZSB2YWx1ZSBvZiB0aGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiBWLgogKiBpdikgSWYgViBpcyBudWxsLCByZXR1cm4gZmFsc2UuCiAqIHYpICBJZiBPIGFuZCBWIHJlZmVyIHRvIHRoZSBzYW1lIG9iamVjdCBvciBpZiB0aGV5IHJlZmVyIHRvIG9iamVjdHMgam9pbmVkIHRvIGVhY2ggb3RoZXIgKDEzLjEuMiksIHJldHVybiB0cnVlLgogKiB2aSkgR28gdG8gc3RlcCBpaWkpCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy41X1Byb3BlcnRpZXNfb2ZfRnVuY3Rpb25fSW5zdGFuY2VzL1MxNS4zLjUuM19BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gRi5wcm90b3R5cGUudHlwZSBpcyAxLCBhbmQgViBpcyBuZXcgRgogKi8KCkZBQ1RPUlkgPSBGdW5jdGlvbigidGhpcy5uYW1lPVwicm9vdFwiIik7CgpGQUNUT1JZLnByb3RvdHlwZS50eXBlPTE7CgppbnN0YW5jZSA9IG5ldyBGQUNUT1JZOwoKLy9DSEVDSyMxCmlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgRkFDVE9SWSkpIHsKICAkRVJST1IoJyMxOiBJZiBPIGFuZCBWIHJlZmVyIHRvIHRoZSBzYW1lIG9iamVjdCBvciBpZiB0aGV5IHJlZmVyIHRvIG9iamVjdHMgam9pbmVkIHRvIGVhY2ggb3RoZXIgKDEzLjEuMiksIHJldHVybiB0cnVlJyk7Cn0KCg==","commentary":"Assume F is a Function object. When the [[HasInstance]] method of F is called with value V and V is an object, the following steps are taken:\ni) Call the [[Get]] method of F with property name \"prototype\".\nii) Let O be Result(i) and O is an object.\niii) Let V be the value of the [[Prototype]] property of V.\niv) If V is null, return false.\nv)  If O and V refer to the same object or if they refer to objects joined to each other (13.1.2), return true.\nvi) Go to step iii)","description":"F.prototype.type is 1, and V is new F","path":"TestCases/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.3_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYgYW5kIFYgaXMgYW4gb2JqZWN0LCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgQ2FsbCB0aGUgW1tHZXRdXSBtZXRob2Qgb2YgRiB3aXRoIHByb3BlcnR5IG5hbWUgInByb3RvdHlwZSIuCiAqIGlpKSBMZXQgTyBiZSBSZXN1bHQoaSkgYW5kIE8gaXMgYW4gb2JqZWN0LgogKiBpaWkpIExldCBWIGJlIHRoZSB2YWx1ZSBvZiB0aGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiBWLgogKiBpdikgSWYgViBpcyBudWxsLCByZXR1cm4gZmFsc2UuCiAqIHYpICBJZiBPIGFuZCBWIHJlZmVyIHRvIHRoZSBzYW1lIG9iamVjdCBvciBpZiB0aGV5IHJlZmVyIHRvIG9iamVjdHMgam9pbmVkIHRvIGVhY2ggb3RoZXIgKDEzLjEuMiksIHJldHVybiB0cnVlLgogKiB2aSkgR28gdG8gc3RlcCBpaWkpCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy41X1Byb3BlcnRpZXNfb2ZfRnVuY3Rpb25fSW5zdGFuY2VzL1MxNS4zLjUuM19BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gRi5wcm90b3R5cGUgaXMgT2JqZWN0LnByb3RvdHlwZSwgYW5kIFYgaXMgZW1wdHkgb2JqZWN0CiAqLwoKRkFLRUZBQ1RPUlkgPSBGdW5jdGlvbigpOwoKZmFrZWluc3RhbmNlID0ge307CgovL0NIRUNLIzEKaWYgKGZha2VpbnN0YW5jZSBpbnN0YW5jZW9mIEZBS0VGQUNUT1JZKSB7CiAgJEVSUk9SKCcjMTogSWYgTyBhbmQgViByZWZlciB0byB0aGUgc2FtZSBvYmplY3Qgb3IgaWYgdGhleSByZWZlciB0byBvYmplY3RzIGpvaW5lZCB0byBlYWNoIG90aGVyICgxMy4xLjIpLCByZXR1cm4gdHJ1ZScpOwp9CgpGQUtFRkFDVE9SWS5wcm90b3R5cGU9T2JqZWN0LnByb3RvdHlwZTsKCi8vQ0hFQ0sjMgppZiAoIShmYWtlaW5zdGFuY2UgaW5zdGFuY2VvZiBGQUtFRkFDVE9SWSkpIHsKICAkRVJST1IoJyMyOiBJZiBPIGFuZCBWIHJlZmVyIHRvIHRoZSBzYW1lIG9iamVjdCBvciBpZiB0aGV5IHJlZmVyIHRvIG9iamVjdHMgam9pbmVkIHRvIGVhY2ggb3RoZXIgKDEzLjEuMiksIHJldHVybiB0cnVlJyk7Cn0KCg==","commentary":"Assume F is a Function object. When the [[HasInstance]] method of F is called with value V and V is an object, the following steps are taken:\ni) Call the [[Get]] method of F with property name \"prototype\".\nii) Let O be Result(i) and O is an object.\niii) Let V be the value of the [[Prototype]] property of V.\niv) If V is null, return false.\nv)  If O and V refer to the same object or if they refer to objects joined to each other (13.1.2), return true.\nvi) Go to step iii)","description":"F.prototype is Object.prototype, and V is empty object","path":"TestCases/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.3_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiRnVuY3Rpb24iCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy41X1Byb3BlcnRpZXNfb2ZfRnVuY3Rpb25fSW5zdGFuY2VzL1MxNS4zLjVfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIEZvciB0ZXN0aW5nIHVzZSB2YXJpYWJsZSBmID0gbmV3IEZ1bmN0aW9uCiAqLwoKdmFyIGYgPSBuZXcgRnVuY3Rpb247CgppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGYpICE9PSAiW29iamVjdCBGdW5jdGlvbl0iKSB7CiAgJEVSUk9SKCcjMTogVGhlIHZhbHVlIG9mIHRoZSBbW0NsYXNzXV0gcHJvcGVydHkgaXMgIkZ1bmN0aW9uIicpOwp9Cgo=","commentary":"The value of the [[Class]] property is \"Function\"","description":"For testing use variable f = new Function","path":"TestCases/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiRnVuY3Rpb24iCiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy41X1Byb3BlcnRpZXNfb2ZfRnVuY3Rpb25fSW5zdGFuY2VzL1MxNS4zLjVfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIEZvciB0ZXN0aW5nIHVzZSB2YXJpYWJsZSBmID0gRnVuY3Rpb24oKQogKi8KCnZhciBmID0gRnVuY3Rpb24oKTsKCmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZikgIT09ICJbb2JqZWN0IEZ1bmN0aW9uXSIpIHsKICAkRVJST1IoJyMxOiBUaGUgdmFsdWUgb2YgdGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiRnVuY3Rpb24iJyk7Cn0KCgo=","commentary":"The value of the [[Class]] property is \"Function\"","description":"For testing use variable f = Function()","path":"TestCases/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBFdmVyeSBmdW5jdGlvbiBpbnN0YW5jZSBoYXMgYSBbW0NhbGxdXSBwcm9wZXJ0eQogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBGb3IgdGVzdGluZyBjYWxsIEZ1bmN0aW9uKCJ2YXIgeCA9MTsgdGhpcy55PTI7cmV0dXJuIFwiT0tcIjsiKSgpCiAqLwoKLy9DSEVDSyMxCmlmIChGdW5jdGlvbigidmFyIHggPTE7IHRoaXMueT0yO3JldHVybiBcIk9LXCI7IikoKSAhPT0gIk9LIikgewogICRFUlJPUignIzE6IEV2ZXJ5IGZ1bmN0aW9uIGluc3RhbmNlIGhhcyBhIFtbQ2FsbF1dIHByb3BlcnR5Jyk7Cn0KCi8vQ0hFQ0sjMgppZiAodHlwZW9mIHggIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMjogRXZlcnkgZnVuY3Rpb24gaW5zdGFuY2UgaGFzIGEgW1tDYWxsXV0gcHJvcGVydHknKTsKfQoKLy9DSEVDSyMzCmlmICh5ICE9PSAyKSB7CiAgJEVSUk9SKCcjMzogRXZlcnkgZnVuY3Rpb24gaW5zdGFuY2UgaGFzIGEgW1tDYWxsXV0gcHJvcGVydHknKTsKfQoK","commentary":"Every function instance has a [[Call]] property","description":"For testing call Function(\"var x =1; this.y=2;return \\\"OK\\\";\")()","path":"TestCases/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBFdmVyeSBmdW5jdGlvbiBpbnN0YW5jZSBoYXMgYSBbW0NhbGxdXSBwcm9wZXJ0eQogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41X0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBGb3IgdGVzdGluZyBjYWxsIChuZXcgRnVuY3Rpb24oImFyZzEsYXJnMiIsInZhciB4ID1hcmcxOyB0aGlzLnk9YXJnMjtyZXR1cm4gYXJnMSthcmcyOyIpKSgiMSIsMikKICovCgovL0NIRUNLIzEKaWYgKChuZXcgRnVuY3Rpb24oImFyZzEsYXJnMiIsInZhciB4ID1hcmcxOyB0aGlzLnk9YXJnMjtyZXR1cm4gYXJnMSthcmcyOyIpKSgiMSIsMikgIT09ICIxMiIpIHsKICAkRVJST1IoJyMxOiBFdmVyeSBmdW5jdGlvbiBpbnN0YW5jZSBoYXMgYSBbW0NhbGxdXSBwcm9wZXJ0eScpOwp9CgovL0NIRUNLIzIKaWYgKHR5cGVvZiB4ICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzI6IEV2ZXJ5IGZ1bmN0aW9uIGluc3RhbmNlIGhhcyBhIFtbQ2FsbF1dIHByb3BlcnR5Jyk7Cn0KCi8vQ0hFQ0sjMwppZiAoeSAhPT0gMikgewogICRFUlJPUignIzM6IEV2ZXJ5IGZ1bmN0aW9uIGluc3RhbmNlIGhhcyBhIFtbQ2FsbF1dIHByb3BlcnR5Jyk7Cn0KCg==","commentary":"Every function instance has a [[Call]] property","description":"For testing call (new Function(\"arg1,arg2\",\"var x =arg1; this.y=arg2;return arg1+arg2;\"))(\"1\",2)","path":"TestCases/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBldmVyeSBmdW5jdGlvbiBpbnN0YW5jZSBoYXMgYSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5CiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy41X1Byb3BlcnRpZXNfb2ZfRnVuY3Rpb25fSW5zdGFuY2VzL1MxNS4zLjVfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIEFzIGNvbnN0cnVjdG9yIHVzZSBGdW5jdGlvbigidmFyIHggPTE7IHRoaXMueT0yO3JldHVybiBcIk9LXCI7IikKICovCgpGQUNUT1JZID0gRnVuY3Rpb24oInZhciB4ID0xOyB0aGlzLnk9MjtyZXR1cm4gXCJPS1wiOyIpOwpvYmogPSBuZXcgRkFDVE9SWTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIG9iaiAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMxOiBldmVyeSBmdW5jdGlvbiBpbnN0YW5jZSBoYXMgYSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5Jyk7Cn0KCi8vQ0hFQ0sjMgppZiAob2JqLmNvbnN0cnVjdG9yICE9PSBGQUNUT1JZKSB7CiAgJEVSUk9SKCcjMjogZXZlcnkgZnVuY3Rpb24gaW5zdGFuY2UgaGFzIGEgW1tDb25zdHJ1Y3RdXSBwcm9wZXJ0eScpOwp9CgovL0NIRUNLIzMKaWYgKG9iai55ICE9PSAyKSB7CiAgJEVSUk9SKCcjMzogZXZlcnkgZnVuY3Rpb24gaW5zdGFuY2UgaGFzIGEgW1tDb25zdHJ1Y3RdXSBwcm9wZXJ0eScpOwp9Cgo=","commentary":"every function instance has a [[Construct]] property","description":"As constructor use Function(\"var x =1; this.y=2;return \\\"OK\\\";\")","path":"TestCases/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBldmVyeSBmdW5jdGlvbiBpbnN0YW5jZSBoYXMgYSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5CiAqCiAqIEBwYXRoIDE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvMTUuMy41X1Byb3BlcnRpZXNfb2ZfRnVuY3Rpb25fSW5zdGFuY2VzL1MxNS4zLjVfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIEFzIGNvbnN0cnVjdG9yIHVzZSBuZXcgRnVuY3Rpb24oImFyZzEsYXJnMiIsInZhciB4ID0xOyB0aGlzLnk9YXJnMSthcmcyO3JldHVybiBcIk9LXCI7IikKICovCgpGQUNUT1JZID0gbmV3IEZ1bmN0aW9uKCJhcmcxLGFyZzIiLCJ2YXIgeCA9MTsgdGhpcy55PWFyZzErYXJnMjtyZXR1cm4gXCJPS1wiOyIpOwpvYmogPSBuZXcgRkFDVE9SWSgiMSIsMik7CgovL0NIRUNLIzEKaWYgKHR5cGVvZiBvYmogIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogZXZlcnkgZnVuY3Rpb24gaW5zdGFuY2UgaGFzIGEgW1tDb25zdHJ1Y3RdXSBwcm9wZXJ0eScpOwp9CgovL0NIRUNLIzIKaWYgKG9iai5jb25zdHJ1Y3RvciAhPT0gRkFDVE9SWSkgewogICRFUlJPUignIzI6IGV2ZXJ5IGZ1bmN0aW9uIGluc3RhbmNlIGhhcyBhIFtbQ29uc3RydWN0XV0gcHJvcGVydHknKTsKfQoKLy9DSEVDSyMzCmlmIChvYmoueSAhPT0gIjEyIikgewogICRFUlJPUignIzM6IGV2ZXJ5IGZ1bmN0aW9uIGluc3RhbmNlIGhhcyBhIFtbQ29uc3RydWN0XV0gcHJvcGVydHknKTsKfQoK","commentary":"every function instance has a [[Construct]] property","description":"As constructor use new Function(\"arg1,arg2\",\"var x =1; this.y=arg1+arg2;return \\\"OK\\\";\")","path":"TestCases/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5_A3_T2.js"}]}}