//-------------------------------------------------------------------------------------------------------
// Copyright (C) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
//-------------------------------------------------------------------------------------------------------

function write(v) { WScript.Echo(v + ""); }

function foo() {}

write(new String('he' + 'llo') === new Object());
write(new String('he' + 'llo') === new Object());
write(new String('he' + 'llo') === [1, 2, 3]);
write(new String('he' + 'llo') === [1 ,2 , 3]);
write(new String('he' + 'llo') === new Array(3));
write(new String('he' + 'llo') === Array(3));
write(new String('he' + 'llo') === new Array(1 ,2 ,3));
write(new String('he' + 'llo') === Array(1));
write(new String('he' + 'llo') === foo);
write(new Object() === undefined);
write(new Object() === null);
write(new Object() === true);
write(new Object() === false);
write(new Object() === Boolean(true));
write(new Object() === Boolean(false));
write(new Object() === new Boolean(true));
write(new Object() === new Boolean(false));
write(new Object() === NaN);
write(new Object() === +0);
write(new Object() === -0);
write(new Object() === 0);
write(new Object() === 0.0);
write(new Object() === -0.0);
write(new Object() === +0.0);
write(new Object() === 1);
write(new Object() === 10);
write(new Object() === 10.0);
write(new Object() === 10.1);
write(new Object() === -1);
write(new Object() === -10);
write(new Object() === -10.0);
write(new Object() === -10.1);
write(new Object() === Number.MAX_VALUE);
write(new Object() === Number.MIN_VALUE);
write(new Object() === Number.NaN);
write(new Object() === Number.POSITIVE_INFINITY);
write(new Object() === Number.NEGATIVE_INFINITY);
write(new Object() === new Number(NaN));
write(new Object() === new Number(+0));
write(new Object() === new Number(-0));
write(new Object() === new Number(0));
write(new Object() === new Number(0.0));
write(new Object() === new Number(-0.0));
write(new Object() === new Number(+0.0));
write(new Object() === new Number(1));
write(new Object() === new Number(10));
write(new Object() === new Number(10.0));
write(new Object() === new Number(10.1));
write(new Object() === new Number(-1));
write(new Object() === new Number(-10));
write(new Object() === new Number(-10.0));
write(new Object() === new Number(-10.1));
write(new Object() === new Number(Number.MAX_VALUE));
write(new Object() === new Number(Number.MIN_VALUE));
write(new Object() === new Number(Number.NaN));
write(new Object() === new Number(Number.POSITIVE_INFINITY));
write(new Object() === new Number(Number.NEGATIVE_INFINITY));
write(new Object() === '');
write(new Object() === 0xa);
write(new Object() === 04);
write(new Object() === 'hello');
write(new Object() === 'hel' + 'lo');
write(new Object() === String(''));
write(new Object() === String('hello'));
write(new Object() === String('h' + 'ello'));
write(new Object() === new String(''));
write(new Object() === new String('hello'));
write(new Object() === new String('he' + 'llo'));
write(new Object() === new Object());
write(new Object() === new Object());
write(new Object() === [1, 2, 3]);
write(new Object() === [1 ,2 , 3]);
write(new Object() === new Array(3));
write(new Object() === Array(3));
write(new Object() === new Array(1 ,2 ,3));
write(new Object() === Array(1));
write(new Object() === foo);
write(new Object() === undefined);
write(new Object() === null);
write(new Object() === true);
write(new Object() === false);
write(new Object() === Boolean(true));
write(new Object() === Boolean(false));
write(new Object() === new Boolean(true));
write(new Object() === new Boolean(false));
write(new Object() === NaN);
write(new Object() === +0);
write(new Object() === -0);
write(new Object() === 0);
write(new Object() === 0.0);
write(new Object() === -0.0);
write(new Object() === +0.0);
write(new Object() === 1);
write(new Object() === 10);
write(new Object() === 10.0);
write(new Object() === 10.1);
write(new Object() === -1);
write(new Object() === -10);
write(new Object() === -10.0);
write(new Object() === -10.1);
write(new Object() === Number.MAX_VALUE);
write(new Object() === Number.MIN_VALUE);
write(new Object() === Number.NaN);
write(new Object() === Number.POSITIVE_INFINITY);
write(new Object() === Number.NEGATIVE_INFINITY);
write(new Object() === new Number(NaN));
write(new Object() === new Number(+0));
write(new Object() === new Number(-0));
write(new Object() === new Number(0));
write(new Object() === new Number(0.0));
write(new Object() === new Number(-0.0));
write(new Object() === new Number(+0.0));
write(new Object() === new Number(1));
write(new Object() === new Number(10));
write(new Object() === new Number(10.0));
write(new Object() === new Number(10.1));
write(new Object() === new Number(-1));
write(new Object() === new Number(-10));
write(new Object() === new Number(-10.0));
write(new Object() === new Number(-10.1));
write(new Object() === new Number(Number.MAX_VALUE));
write(new Object() === new Number(Number.MIN_VALUE));
write(new Object() === new Number(Number.NaN));
write(new Object() === new Number(Number.POSITIVE_INFINITY));
write(new Object() === new Number(Number.NEGATIVE_INFINITY));
write(new Object() === '');
write(new Object() === 0xa);
write(new Object() === 04);
write(new Object() === 'hello');
write(new Object() === 'hel' + 'lo');
write(new Object() === String(''));
write(new Object() === String('hello'));
write(new Object() === String('h' + 'ello'));
write(new Object() === new String(''));
write(new Object() === new String('hello'));
write(new Object() === new String('he' + 'llo'));
write(new Object() === new Object());
write(new Object() === new Object());
write(new Object() === [1, 2, 3]);
write(new Object() === [1 ,2 , 3]);
write(new Object() === new Array(3));
write(new Object() === Array(3));
write(new Object() === new Array(1 ,2 ,3));
write(new Object() === Array(1));
write(new Object() === foo);
write([1, 2, 3] === undefined);
write([1, 2, 3] === null);
write([1, 2, 3] === true);
write([1, 2, 3] === false);
write([1, 2, 3] === Boolean(true));
write([1, 2, 3] === Boolean(false));
write([1, 2, 3] === new Boolean(true));
write([1, 2, 3] === new Boolean(false));
write([1, 2, 3] === NaN);
write([1, 2, 3] === +0);
write([1, 2, 3] === -0);
write([1, 2, 3] === 0);
write([1, 2, 3] === 0.0);
write([1, 2, 3] === -0.0);
write([1, 2, 3] === +0.0);
write([1, 2, 3] === 1);
write([1, 2, 3] === 10);
write([1, 2, 3] === 10.0);
write([1, 2, 3] === 10.1);
write([1, 2, 3] === -1);
write([1, 2, 3] === -10);
write([1, 2, 3] === -10.0);
write([1, 2, 3] === -10.1);
write([1, 2, 3] === Number.MAX_VALUE);
write([1, 2, 3] === Number.MIN_VALUE);
write([1, 2, 3] === Number.NaN);
write([1, 2, 3] === Number.POSITIVE_INFINITY);
write([1, 2, 3] === Number.NEGATIVE_INFINITY);
write([1, 2, 3] === new Number(NaN));
write([1, 2, 3] === new Number(+0));
write([1, 2, 3] === new Number(-0));
write([1, 2, 3] === new Number(0));
write([1, 2, 3] === new Number(0.0));
write([1, 2, 3] === new Number(-0.0));
write([1, 2, 3] === new Number(+0.0));
write([1, 2, 3] === new Number(1));
write([1, 2, 3] === new Number(10));
write([1, 2, 3] === new Number(10.0));
write([1, 2, 3] === new Number(10.1));
write([1, 2, 3] === new Number(-1));
write([1, 2, 3] === new Number(-10));
write([1, 2, 3] === new Number(-10.0));
write([1, 2, 3] === new Number(-10.1));
write([1, 2, 3] === new Number(Number.MAX_VALUE));
write([1, 2, 3] === new Number(Number.MIN_VALUE));
write([1, 2, 3] === new Number(Number.NaN));
write([1, 2, 3] === new Number(Number.POSITIVE_INFINITY));
write([1, 2, 3] === new Number(Number.NEGATIVE_INFINITY));
write([1, 2, 3] === '');
write([1, 2, 3] === 0xa);
write([1, 2, 3] === 04);
write([1, 2, 3] === 'hello');
write([1, 2, 3] === 'hel' + 'lo');
write([1, 2, 3] === String(''));
write([1, 2, 3] === String('hello'));
write([1, 2, 3] === String('h' + 'ello'));
write([1, 2, 3] === new String(''));
write([1, 2, 3] === new String('hello'));
write([1, 2, 3] === new String('he' + 'llo'));
write([1, 2, 3] === new Object());
write([1, 2, 3] === new Object());
write([1, 2, 3] === [1, 2, 3]);
write([1, 2, 3] === [1 ,2 , 3]);
write([1, 2, 3] === new Array(3));
write([1, 2, 3] === Array(3));
write([1, 2, 3] === new Array(1 ,2 ,3));
write([1, 2, 3] === Array(1));
write([1, 2, 3] === foo);
write([1 ,2 , 3] === undefined);
write([1 ,2 , 3] === null);
write([1 ,2 , 3] === true);
write([1 ,2 , 3] === false);
write([1 ,2 , 3] === Boolean(true));
write([1 ,2 , 3] === Boolean(false));
write([1 ,2 , 3] === new Boolean(true));
write([1 ,2 , 3] === new Boolean(false));
write([1 ,2 , 3] === NaN);
write([1 ,2 , 3] === +0);
write([1 ,2 , 3] === -0);
write([1 ,2 , 3] === 0);
write([1 ,2 , 3] === 0.0);
write([1 ,2 , 3] === -0.0);
write([1 ,2 , 3] === +0.0);
write([1 ,2 , 3] === 1);
write([1 ,2 , 3] === 10);
write([1 ,2 , 3] === 10.0);
write([1 ,2 , 3] === 10.1);
write([1 ,2 , 3] === -1);
write([1 ,2 , 3] === -10);
write([1 ,2 , 3] === -10.0);
write([1 ,2 , 3] === -10.1);
write([1 ,2 , 3] === Number.MAX_VALUE);
write([1 ,2 , 3] === Number.MIN_VALUE);
write([1 ,2 , 3] === Number.NaN);
write([1 ,2 , 3] === Number.POSITIVE_INFINITY);
write([1 ,2 , 3] === Number.NEGATIVE_INFINITY);
write([1 ,2 , 3] === new Number(NaN));
write([1 ,2 , 3] === new Number(+0));
write([1 ,2 , 3] === new Number(-0));
write([1 ,2 , 3] === new Number(0));
write([1 ,2 , 3] === new Number(0.0));
write([1 ,2 , 3] === new Number(-0.0));
write([1 ,2 , 3] === new Number(+0.0));
write([1 ,2 , 3] === new Number(1));
write([1 ,2 , 3] === new Number(10));
write([1 ,2 , 3] === new Number(10.0));
write([1 ,2 , 3] === new Number(10.1));
write([1 ,2 , 3] === new Number(-1));
write([1 ,2 , 3] === new Number(-10));
write([1 ,2 , 3] === new Number(-10.0));
write([1 ,2 , 3] === new Number(-10.1));
write([1 ,2 , 3] === new Number(Number.MAX_VALUE));
write([1 ,2 , 3] === new Number(Number.MIN_VALUE));
write([1 ,2 , 3] === new Number(Number.NaN));
write([1 ,2 , 3] === new Number(Number.POSITIVE_INFINITY));
write([1 ,2 , 3] === new Number(Number.NEGATIVE_INFINITY));
write([1 ,2 , 3] === '');
write([1 ,2 , 3] === 0xa);
write([1 ,2 , 3] === 04);
write([1 ,2 , 3] === 'hello');
write([1 ,2 , 3] === 'hel' + 'lo');
write([1 ,2 , 3] === String(''));
write([1 ,2 , 3] === String('hello'));
write([1 ,2 , 3] === String('h' + 'ello'));
write([1 ,2 , 3] === new String(''));
write([1 ,2 , 3] === new String('hello'));
write([1 ,2 , 3] === new String('he' + 'llo'));
write([1 ,2 , 3] === new Object());
write([1 ,2 , 3] === new Object());
write([1 ,2 , 3] === [1, 2, 3]);
write([1 ,2 , 3] === [1 ,2 , 3]);
write([1 ,2 , 3] === new Array(3));
write([1 ,2 , 3] === Array(3));
write([1 ,2 , 3] === new Array(1 ,2 ,3));
write([1 ,2 , 3] === Array(1));
write([1 ,2 , 3] === foo);
write(new Array(3) === undefined);
write(new Array(3) === null);
write(new Array(3) === true);
write(new Array(3) === false);
write(new Array(3) === Boolean(true));
write(new Array(3) === Boolean(false));
write(new Array(3) === new Boolean(true));
write(new Array(3) === new Boolean(false));
write(new Array(3) === NaN);
write(new Array(3) === +0);
write(new Array(3) === -0);
write(new Array(3) === 0);
write(new Array(3) === 0.0);
write(new Array(3) === -0.0);
write(new Array(3) === +0.0);
write(new Array(3) === 1);
write(new Array(3) === 10);
write(new Array(3) === 10.0);
write(new Array(3) === 10.1);
write(new Array(3) === -1);
write(new Array(3) === -10);
write(new Array(3) === -10.0);
write(new Array(3) === -10.1);
write(new Array(3) === Number.MAX_VALUE);
write(new Array(3) === Number.MIN_VALUE);
write(new Array(3) === Number.NaN);
write(new Array(3) === Number.POSITIVE_INFINITY);
write(new Array(3) === Number.NEGATIVE_INFINITY);
write(new Array(3) === new Number(NaN));
write(new Array(3) === new Number(+0));
write(new Array(3) === new Number(-0));
write(new Array(3) === new Number(0));
write(new Array(3) === new Number(0.0));
write(new Array(3) === new Number(-0.0));
write(new Array(3) === new Number(+0.0));
write(new Array(3) === new Number(1));
write(new Array(3) === new Number(10));
write(new Array(3) === new Number(10.0));
write(new Array(3) === new Number(10.1));
write(new Array(3) === new Number(-1));
write(new Array(3) === new Number(-10));
write(new Array(3) === new Number(-10.0));
write(new Array(3) === new Number(-10.1));
write(new Array(3) === new Number(Number.MAX_VALUE));
write(new Array(3) === new Number(Number.MIN_VALUE));
write(new Array(3) === new Number(Number.NaN));
write(new Array(3) === new Number(Number.POSITIVE_INFINITY));
write(new Array(3) === new Number(Number.NEGATIVE_INFINITY));
write(new Array(3) === '');
write(new Array(3) === 0xa);
write(new Array(3) === 04);
write(new Array(3) === 'hello');
write(new Array(3) === 'hel' + 'lo');
write(new Array(3) === String(''));
write(new Array(3) === String('hello'));
write(new Array(3) === String('h' + 'ello'));
write(new Array(3) === new String(''));
write(new Array(3) === new String('hello'));
write(new Array(3) === new String('he' + 'llo'));
write(new Array(3) === new Object());
write(new Array(3) === new Object());
write(new Array(3) === [1, 2, 3]);
write(new Array(3) === [1 ,2 , 3]);
write(new Array(3) === new Array(3));
write(new Array(3) === Array(3));
write(new Array(3) === new Array(1 ,2 ,3));
write(new Array(3) === Array(1));
write(new Array(3) === foo);
write(Array(3) === undefined);
write(Array(3) === null);
write(Array(3) === true);
write(Array(3) === false);
write(Array(3) === Boolean(true));
write(Array(3) === Boolean(false));
write(Array(3) === new Boolean(true));
write(Array(3) === new Boolean(false));
write(Array(3) === NaN);
write(Array(3) === +0);
write(Array(3) === -0);
write(Array(3) === 0);
write(Array(3) === 0.0);
write(Array(3) === -0.0);
write(Array(3) === +0.0);
write(Array(3) === 1);
write(Array(3) === 10);
write(Array(3) === 10.0);
write(Array(3) === 10.1);
write(Array(3) === -1);
write(Array(3) === -10);
write(Array(3) === -10.0);
write(Array(3) === -10.1);
write(Array(3) === Number.MAX_VALUE);
write(Array(3) === Number.MIN_VALUE);
write(Array(3) === Number.NaN);
write(Array(3) === Number.POSITIVE_INFINITY);
write(Array(3) === Number.NEGATIVE_INFINITY);
write(Array(3) === new Number(NaN));
write(Array(3) === new Number(+0));
write(Array(3) === new Number(-0));
write(Array(3) === new Number(0));
write(Array(3) === new Number(0.0));
write(Array(3) === new Number(-0.0));
write(Array(3) === new Number(+0.0));
write(Array(3) === new Number(1));
write(Array(3) === new Number(10));
write(Array(3) === new Number(10.0));
write(Array(3) === new Number(10.1));
write(Array(3) === new Number(-1));
write(Array(3) === new Number(-10));
write(Array(3) === new Number(-10.0));
write(Array(3) === new Number(-10.1));
write(Array(3) === new Number(Number.MAX_VALUE));
write(Array(3) === new Number(Number.MIN_VALUE));
write(Array(3) === new Number(Number.NaN));
write(Array(3) === new Number(Number.POSITIVE_INFINITY));
write(Array(3) === new Number(Number.NEGATIVE_INFINITY));
write(Array(3) === '');
write(Array(3) === 0xa);
write(Array(3) === 04);
write(Array(3) === 'hello');
write(Array(3) === 'hel' + 'lo');
write(Array(3) === String(''));
write(Array(3) === String('hello'));
write(Array(3) === String('h' + 'ello'));
write(Array(3) === new String(''));
write(Array(3) === new String('hello'));
write(Array(3) === new String('he' + 'llo'));
write(Array(3) === new Object());
write(Array(3) === new Object());
write(Array(3) === [1, 2, 3]);
write(Array(3) === [1 ,2 , 3]);
write(Array(3) === new Array(3));
write(Array(3) === Array(3));
write(Array(3) === new Array(1 ,2 ,3));
write(Array(3) === Array(1));
write(Array(3) === foo);
write(new Array(1 ,2 ,3) === undefined);
write(new Array(1 ,2 ,3) === null);
write(new Array(1 ,2 ,3) === true);
write(new Array(1 ,2 ,3) === false);
write(new Array(1 ,2 ,3) === Boolean(true));
write(new Array(1 ,2 ,3) === Boolean(false));
write(new Array(1 ,2 ,3) === new Boolean(true));
write(new Array(1 ,2 ,3) === new Boolean(false));
write(new Array(1 ,2 ,3) === NaN);
write(new Array(1 ,2 ,3) === +0);
write(new Array(1 ,2 ,3) === -0);
write(new Array(1 ,2 ,3) === 0);
write(new Array(1 ,2 ,3) === 0.0);
write(new Array(1 ,2 ,3) === -0.0);
write(new Array(1 ,2 ,3) === +0.0);
write(new Array(1 ,2 ,3) === 1);
write(new Array(1 ,2 ,3) === 10);
write(new Array(1 ,2 ,3) === 10.0);
write(new Array(1 ,2 ,3) === 10.1);
write(new Array(1 ,2 ,3) === -1);
write(new Array(1 ,2 ,3) === -10);
write(new Array(1 ,2 ,3) === -10.0);
write(new Array(1 ,2 ,3) === -10.1);
write(new Array(1 ,2 ,3) === Number.MAX_VALUE);
write(new Array(1 ,2 ,3) === Number.MIN_VALUE);
write(new Array(1 ,2 ,3) === Number.NaN);
write(new Array(1 ,2 ,3) === Number.POSITIVE_INFINITY);
write(new Array(1 ,2 ,3) === Number.NEGATIVE_INFINITY);
write(new Array(1 ,2 ,3) === new Number(NaN));
write(new Array(1 ,2 ,3) === new Number(+0));
write(new Array(1 ,2 ,3) === new Number(-0));
write(new Array(1 ,2 ,3) === new Number(0));
write(new Array(1 ,2 ,3) === new Number(0.0));
write(new Array(1 ,2 ,3) === new Number(-0.0));
write(new Array(1 ,2 ,3) === new Number(+0.0));
write(new Array(1 ,2 ,3) === new Number(1));
write(new Array(1 ,2 ,3) === new Number(10));
write(new Array(1 ,2 ,3) === new Number(10.0));
write(new Array(1 ,2 ,3) === new Number(10.1));
write(new Array(1 ,2 ,3) === new Number(-1));
write(new Array(1 ,2 ,3) === new Number(-10));
write(new Array(1 ,2 ,3) === new Number(-10.0));
write(new Array(1 ,2 ,3) === new Number(-10.1));
write(new Array(1 ,2 ,3) === new Number(Number.MAX_VALUE));
write(new Array(1 ,2 ,3) === new Number(Number.MIN_VALUE));
write(new Array(1 ,2 ,3) === new Number(Number.NaN));
write(new Array(1 ,2 ,3) === new Number(Number.POSITIVE_INFINITY));
write(new Array(1 ,2 ,3) === new Number(Number.NEGATIVE_INFINITY));
write(new Array(1 ,2 ,3) === '');
write(new Array(1 ,2 ,3) === 0xa);
write(new Array(1 ,2 ,3) === 04);
write(new Array(1 ,2 ,3) === 'hello');
write(new Array(1 ,2 ,3) === 'hel' + 'lo');
write(new Array(1 ,2 ,3) === String(''));
write(new Array(1 ,2 ,3) === String('hello'));
write(new Array(1 ,2 ,3) === String('h' + 'ello'));
write(new Array(1 ,2 ,3) === new String(''));
write(new Array(1 ,2 ,3) === new String('hello'));
write(new Array(1 ,2 ,3) === new String('he' + 'llo'));
write(new Array(1 ,2 ,3) === new Object());
write(new Array(1 ,2 ,3) === new Object());
write(new Array(1 ,2 ,3) === [1, 2, 3]);
write(new Array(1 ,2 ,3) === [1 ,2 , 3]);
write(new Array(1 ,2 ,3) === new Array(3));
write(new Array(1 ,2 ,3) === Array(3));
write(new Array(1 ,2 ,3) === new Array(1 ,2 ,3));
write(new Array(1 ,2 ,3) === Array(1));
write(new Array(1 ,2 ,3) === foo);
write(Array(1) === undefined);
write(Array(1) === null);
write(Array(1) === true);
write(Array(1) === false);
write(Array(1) === Boolean(true));
write(Array(1) === Boolean(false));
write(Array(1) === new Boolean(true));
write(Array(1) === new Boolean(false));
write(Array(1) === NaN);
write(Array(1) === +0);
write(Array(1) === -0);
write(Array(1) === 0);
write(Array(1) === 0.0);
write(Array(1) === -0.0);
write(Array(1) === +0.0);
write(Array(1) === 1);
write(Array(1) === 10);
write(Array(1) === 10.0);
write(Array(1) === 10.1);
write(Array(1) === -1);
write(Array(1) === -10);
write(Array(1) === -10.0);
write(Array(1) === -10.1);
write(Array(1) === Number.MAX_VALUE);
write(Array(1) === Number.MIN_VALUE);
write(Array(1) === Number.NaN);
write(Array(1) === Number.POSITIVE_INFINITY);
write(Array(1) === Number.NEGATIVE_INFINITY);
write(Array(1) === new Number(NaN));
write(Array(1) === new Number(+0));
write(Array(1) === new Number(-0));
write(Array(1) === new Number(0));
write(Array(1) === new Number(0.0));
write(Array(1) === new Number(-0.0));
write(Array(1) === new Number(+0.0));
write(Array(1) === new Number(1));
write(Array(1) === new Number(10));
write(Array(1) === new Number(10.0));
write(Array(1) === new Number(10.1));
write(Array(1) === new Number(-1));
write(Array(1) === new Number(-10));
write(Array(1) === new Number(-10.0));
write(Array(1) === new Number(-10.1));
write(Array(1) === new Number(Number.MAX_VALUE));
write(Array(1) === new Number(Number.MIN_VALUE));
write(Array(1) === new Number(Number.NaN));
write(Array(1) === new Number(Number.POSITIVE_INFINITY));
write(Array(1) === new Number(Number.NEGATIVE_INFINITY));
write(Array(1) === '');
write(Array(1) === 0xa);
write(Array(1) === 04);
write(Array(1) === 'hello');
write(Array(1) === 'hel' + 'lo');
write(Array(1) === String(''));
write(Array(1) === String('hello'));
write(Array(1) === String('h' + 'ello'));
write(Array(1) === new String(''));
write(Array(1) === new String('hello'));
write(Array(1) === new String('he' + 'llo'));
write(Array(1) === new Object());
write(Array(1) === new Object());
write(Array(1) === [1, 2, 3]);
write(Array(1) === [1 ,2 , 3]);
write(Array(1) === new Array(3));
write(Array(1) === Array(3));
write(Array(1) === new Array(1 ,2 ,3));
write(Array(1) === Array(1));
write(Array(1) === foo);
write(foo === undefined);
write(foo === null);
write(foo === true);
write(foo === false);
write(foo === Boolean(true));
write(foo === Boolean(false));
write(foo === new Boolean(true));
write(foo === new Boolean(false));
write(foo === NaN);
write(foo === +0);
write(foo === -0);
write(foo === 0);
write(foo === 0.0);
write(foo === -0.0);
write(foo === +0.0);
write(foo === 1);
write(foo === 10);
write(foo === 10.0);
write(foo === 10.1);
write(foo === -1);
write(foo === -10);
write(foo === -10.0);
write(foo === -10.1);
write(foo === Number.MAX_VALUE);
write(foo === Number.MIN_VALUE);
write(foo === Number.NaN);
write(foo === Number.POSITIVE_INFINITY);
write(foo === Number.NEGATIVE_INFINITY);
write(foo === new Number(NaN));
write(foo === new Number(+0));
write(foo === new Number(-0));
write(foo === new Number(0));
write(foo === new Number(0.0));
write(foo === new Number(-0.0));
write(foo === new Number(+0.0));
write(foo === new Number(1));
write(foo === new Number(10));
write(foo === new Number(10.0));
write(foo === new Number(10.1));
write(foo === new Number(-1));
write(foo === new Number(-10));
write(foo === new Number(-10.0));
write(foo === new Number(-10.1));
write(foo === new Number(Number.MAX_VALUE));
write(foo === new Number(Number.MIN_VALUE));
write(foo === new Number(Number.NaN));
write(foo === new Number(Number.POSITIVE_INFINITY));
write(foo === new Number(Number.NEGATIVE_INFINITY));
write(foo === '');
write(foo === 0xa);
write(foo === 04);
write(foo === 'hello');
write(foo === 'hel' + 'lo');
write(foo === String(''));
write(foo === String('hello'));
write(foo === String('h' + 'ello'));
write(foo === new String(''));
write(foo === new String('hello'));
write(foo === new String('he' + 'llo'));
write(foo === new Object());
write(foo === new Object());
write(foo === [1, 2, 3]);
write(foo === [1 ,2 , 3]);
write(foo === new Array(3));
write(foo === Array(3));
write(foo === new Array(1 ,2 ,3));
write(foo === Array(1));
write(foo === foo);
