//-------------------------------------------------------------------------------------------------------
// 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);
