diff --git a/test/suite/sputnik_converted/12_Statement/12.1_Block/S12.1_A1.js b/test/suite/sputnik_converted/12_Statement/12.1_Block/S12.1_A1.js index e63406d77c..9e4c5c152e 100644 --- a/test/suite/sputnik_converted/12_Statement/12.1_Block/S12.1_A1.js +++ b/test/suite/sputnik_converted/12_Statement/12.1_Block/S12.1_A1.js @@ -1,14 +1,14 @@ -// Copyright 2009 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + // Converted for Test262 from original Sputnik source - "use strict"; -if (!strict_mode) { throw new SyntaxError('unspecified case'); } - -{ - function __func(){} -} + "use strict"; +if (!strict_mode) { throw new SyntaxError('unspecified case'); } + +{ + function __func(){} +} diff --git a/test/suite/sputnik_converted/12_Statement/12.5_The_if_Statement/S12.5_A7.js b/test/suite/sputnik_converted/12_Statement/12.5_The_if_Statement/S12.5_A7.js index 6b8c9c73e2..34b1870209 100644 --- a/test/suite/sputnik_converted/12_Statement/12.5_The_if_Statement/S12.5_A7.js +++ b/test/suite/sputnik_converted/12_Statement/12.5_The_if_Statement/S12.5_A7.js @@ -1,14 +1,14 @@ -// Copyright 2009 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/** -* @name: S12.5_A7; -* @section: 12.5; -* @assertion: In the "if" statement empty statement is allowed and is evaluated to "undefined"; -* @description: Checking by using eval "eval("if(1);"))"; -*/ - - +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S12.5_A7; +* @section: 12.5; +* @assertion: In the "if" statement empty statement is allowed and is evaluated to "undefined"; +* @description: Checking by using eval "eval("if(1);"))"; +*/ + + // Converted for Test262 from original Sputnik source @@ -22,20 +22,20 @@ assertion: "In the \"if\" statement empty statement is allowed and is evaluated description: "Checking by using eval \"eval(\"if(1);\"))\"", test: function testcase() { - ////////////////////////////////////////////////////////////////////////////// -//CHECK#1 -try { - var __evaluated = eval("if(1);"); - if (__evaluated !== undefined) { - $ERROR('#1: __evaluated === undefined. Actual: __evaluated ==='+ __evaluated ); - } - -} catch (e) { - $ERROR('#1.1: "__evaluated = eval("if(1);")" does not lead to throwing exception'); - -} -// -////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////////// +//CHECK#1 +try { + var __evaluated = eval("if(1);"); + if (__evaluated !== undefined) { + $ERROR('#1: __evaluated === undefined. Actual: __evaluated ==='+ __evaluated ); + } + +} catch (e) { + $ERROR('#1.1: "__evaluated = eval("if(1);")" does not lead to throwing exception'); + +} +// +////////////////////////////////////////////////////////////////////////////// } }); diff --git a/test/suite/sputnik_converted/12_Statement/12.5_The_if_Statement/S12.5_A9_T1.js b/test/suite/sputnik_converted/12_Statement/12.5_The_if_Statement/S12.5_A9_T1.js index eb6fc2a6c9..3a892ac97a 100644 --- a/test/suite/sputnik_converted/12_Statement/12.5_The_if_Statement/S12.5_A9_T1.js +++ b/test/suite/sputnik_converted/12_Statement/12.5_The_if_Statement/S12.5_A9_T1.js @@ -1,16 +1,16 @@ -// Copyright 2009 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + // Converted for Test262 from original Sputnik source - "use strict"; -if (!strict_mode) { throw new SyntaxError('unspecified case'); } - -if (true) { - function __func(){}; -} else { - function __func(){}; -} + "use strict"; +if (!strict_mode) { throw new SyntaxError('unspecified case'); } + +if (true) { + function __func(){}; +} else { + function __func(){}; +} diff --git a/test/suite/sputnik_converted/12_Statement/12.5_The_if_Statement/S12.5_A9_T2.js b/test/suite/sputnik_converted/12_Statement/12.5_The_if_Statement/S12.5_A9_T2.js index 5722d2bd9d..6ebf28c922 100644 --- a/test/suite/sputnik_converted/12_Statement/12.5_The_if_Statement/S12.5_A9_T2.js +++ b/test/suite/sputnik_converted/12_Statement/12.5_The_if_Statement/S12.5_A9_T2.js @@ -1,18 +1,18 @@ -// Copyright 2009 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + // Converted for Test262 from original Sputnik source - (function(){ -"use strict"; - -if (true) { - function __func(){}; -} else { - function __func(){}; -} - -}); + (function(){ +"use strict"; + +if (true) { + function __func(){}; +} else { + function __func(){}; +} + +}); diff --git a/test/suite/sputnik_converted/12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A1.js b/test/suite/sputnik_converted/12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A1.js index 266561c287..b429ca0789 100644 --- a/test/suite/sputnik_converted/12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A1.js +++ b/test/suite/sputnik_converted/12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A1.js @@ -1,13 +1,13 @@ -// Copyright 2009 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/** -* @name: S12.6.1_A1; -* @section: 12.6.1; -* @assertion: When the production "do Statement while ( Expression )" is evaluated, Statement is evaluated first; -* @description: Evaluating various Expressions; -*/ - +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S12.6.1_A1; +* @section: 12.6.1; +* @assertion: When the production "do Statement while ( Expression )" is evaluated, Statement is evaluated first; +* @description: Evaluating various Expressions; +*/ + // Converted for Test262 from original Sputnik source @@ -21,37 +21,37 @@ assertion: "When the production \"do Statement while ( Expression )\" is evaluat description: "Evaluating various Expressions", test: function testcase() { - var __in__do; - -do __in__do=1; while ( false ); - -////////////////////////////////////////////////////////////////////////////// -//CHECK#1 -if (__in__do!==1) { - $ERROR('#1: false evaluates to false'); -} -// -////////////////////////////////////////////////////////////////////////////// - -do __in__do=2; while ( 0 ); - -////////////////////////////////////////////////////////////////////////////// -//CHECK#2 -if (__in__do!==2) { - $ERROR('#2: 0 evaluates to false'); -} -// -////////////////////////////////////////////////////////////////////////////// - -do __in__do=3; while ( "" ); - -////////////////////////////////////////////////////////////////////////////// -//CHECK#3 -if (__in__do!==3) { - $ERROR('#3: "" evaluates to false'); -} -// -////////////////////////////////////////////////////////////////////////////// + var __in__do; + +do __in__do=1; while ( false ); + +////////////////////////////////////////////////////////////////////////////// +//CHECK#1 +if (__in__do!==1) { + $ERROR('#1: false evaluates to false'); +} +// +////////////////////////////////////////////////////////////////////////////// + +do __in__do=2; while ( 0 ); + +////////////////////////////////////////////////////////////////////////////// +//CHECK#2 +if (__in__do!==2) { + $ERROR('#2: 0 evaluates to false'); +} +// +////////////////////////////////////////////////////////////////////////////// + +do __in__do=3; while ( "" ); + +////////////////////////////////////////////////////////////////////////////// +//CHECK#3 +if (__in__do!==3) { + $ERROR('#3: "" evaluates to false'); +} +// +////////////////////////////////////////////////////////////////////////////// } }); diff --git a/test/suite/sputnik_converted/12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A13_T1.js b/test/suite/sputnik_converted/12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A13_T1.js index ae60d2f748..f3cd28cc2b 100644 --- a/test/suite/sputnik_converted/12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A13_T1.js +++ b/test/suite/sputnik_converted/12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A13_T1.js @@ -1,14 +1,14 @@ -// Copyright 2009 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + // Converted for Test262 from original Sputnik source - "use strict"; -if (!strict_mode) { throw new SyntaxError('unspecified case'); } - -do{ - function __func(){}; -} while(0); + "use strict"; +if (!strict_mode) { throw new SyntaxError('unspecified case'); } + +do{ + function __func(){}; +} while(0); diff --git a/test/suite/sputnik_converted/12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A13_T2.js b/test/suite/sputnik_converted/12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A13_T2.js index 09111a2d2e..aaeb813f1d 100644 --- a/test/suite/sputnik_converted/12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A13_T2.js +++ b/test/suite/sputnik_converted/12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A13_T2.js @@ -1,15 +1,15 @@ -// Copyright 2009 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + // Converted for Test262 from original Sputnik source - (function(){ -"use strict"; -do{ - function __func(){}; -}while(0); - -}); + (function(){ +"use strict"; +do{ + function __func(){}; +}while(0); + +}); diff --git a/test/suite/sputnik_converted/15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A12.js b/test/suite/sputnik_converted/15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A12.js index 3bbf860655..2b048803b9 100644 --- a/test/suite/sputnik_converted/15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A12.js +++ b/test/suite/sputnik_converted/15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A12.js @@ -1,13 +1,13 @@ -// Copyright 2011 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/** -* @name: S15.10.6.2_A12; -* @section: 15.10.6.2; -* @assertion: regExp exec() acts like regExp.exec('undefined') (step 2); -* @description: Checking RegExp.prototype.exec.length; -*/ - +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.10.6.2_A12; +* @section: 15.10.6.2; +* @assertion: regExp exec() acts like regExp.exec('undefined') (step 2); +* @description: Checking RegExp.prototype.exec.length; +*/ + // Converted for Test262 from original Sputnik source @@ -21,14 +21,14 @@ assertion: "regExp exec() acts like regExp.exec(\'undefined\') (step 2)", description: "Checking RegExp.prototype.exec.length", test: function testcase() { - (/foo/).test('xfoox'); -var match = new RegExp('(.|\r|\n)*','').exec()[0]; -if (match === 'xfoox') { - $FAIL('#1: regExp.exec() leaks match globally'); -} -if (match !== 'undefined') { - $FAIL('#2: regExp.exec() must coerce absent first arg to "undefined"'); -} + (/foo/).test('xfoox'); +var match = new RegExp('(.|\r|\n)*','').exec()[0]; +if (match === 'xfoox') { + $FAIL('#1: regExp.exec() leaks match globally'); +} +if (match !== 'undefined') { + $FAIL('#2: regExp.exec() must coerce absent first arg to "undefined"'); +} } }); diff --git a/test/suite/sputnik_converted/15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A1_T1.js b/test/suite/sputnik_converted/15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A1_T1.js index 1d3eacf760..6647f5c59d 100644 --- a/test/suite/sputnik_converted/15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A1_T1.js +++ b/test/suite/sputnik_converted/15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A1_T1.js @@ -1,14 +1,14 @@ -// Copyright 2009 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/** -* @name: S15.10.6.2_A1_T1; -* @section: 15.10.6.2; -* @assertion: RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and -* returns an Array object containing the results of the match, or null if the string did not match; -* @description: String is "123" and RegExp is /1|12/; -*/ - +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.10.6.2_A1_T1; +* @section: 15.10.6.2; +* @assertion: RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and +* returns an Array object containing the results of the match, or null if the string did not match; +* @description: String is "123" and RegExp is /1|12/; +*/ + // Converted for Test262 from original Sputnik source @@ -22,38 +22,38 @@ assertion: "RegExp.prototype.exec(string) Performs a regular expression match of description: "String is \"123\" and RegExp is /1|12/", test: function testcase() { - __executed = /1|12/.exec("123"); - -__expected = ["1"]; -__expected.index=0; -__expected.input="123"; - //CHECK#0 -if ((__executed instanceof Array) !== true) { - $ERROR('#0: __executed = /1|12/.exec("123"); (__executed instanceof Array) === true'); -} - -//CHECK#1 -if (__executed.length !== __expected.length) { - $ERROR('#1: __executed = /1|12/.exec("123"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length); -} - -//CHECK#2 -if (__executed.index !== __expected.index) { - $ERROR('#2: __executed = /1|12/.exec("123"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index); -} - -//CHECK#3 -if (__executed.input !== __expected.input) { - $ERROR('#3: __executed = /1|12/.exec("123"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input); -} - -//CHECK#4 -for(var index=0; index<__expected.length; index++) { - if (__executed[index] !== __expected[index]) { - $ERROR('#4: __executed = /1|12/.exec("123"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]); - } -} - + __executed = /1|12/.exec("123"); + +__expected = ["1"]; +__expected.index=0; +__expected.input="123"; + //CHECK#0 +if ((__executed instanceof Array) !== true) { + $ERROR('#0: __executed = /1|12/.exec("123"); (__executed instanceof Array) === true'); +} + +//CHECK#1 +if (__executed.length !== __expected.length) { + $ERROR('#1: __executed = /1|12/.exec("123"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length); +} + +//CHECK#2 +if (__executed.index !== __expected.index) { + $ERROR('#2: __executed = /1|12/.exec("123"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index); +} + +//CHECK#3 +if (__executed.input !== __expected.input) { + $ERROR('#3: __executed = /1|12/.exec("123"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input); +} + +//CHECK#4 +for(var index=0; index<__expected.length; index++) { + if (__executed[index] !== __expected[index]) { + $ERROR('#4: __executed = /1|12/.exec("123"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]); + } +} + } }); diff --git a/test/suite/sputnik_converted/15_Native/15.12_The_JSON_Object/15.12.2_JSON.parse/S15.12.2_A1.js b/test/suite/sputnik_converted/15_Native/15.12_The_JSON_Object/15.12.2_JSON.parse/S15.12.2_A1.js index 286a190dac..493c221226 100644 --- a/test/suite/sputnik_converted/15_Native/15.12_The_JSON_Object/15.12.2_JSON.parse/S15.12.2_A1.js +++ b/test/suite/sputnik_converted/15_Native/15.12_The_JSON_Object/15.12.2_JSON.parse/S15.12.2_A1.js @@ -1,13 +1,13 @@ -// Copyright 2011 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/** - * @name: S15.12.2_A1; - * @section: 15.12.2; - * @assertion: JSON.parse must create a property with the given property name; - * @description: Tests that JSON.parse treats "__proto__" as a regular property name; - */ - +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S15.12.2_A1; + * @section: 15.12.2; + * @assertion: JSON.parse must create a property with the given property name; + * @description: Tests that JSON.parse treats "__proto__" as a regular property name; + */ + // Converted for Test262 from original Sputnik source @@ -21,13 +21,13 @@ assertion: "JSON.parse must create a property with the given property name", description: "Tests that JSON.parse treats \"__proto__\" as a regular property name", test: function testcase() { - var x = JSON.parse('{"__proto__":[]}'); -if (Object.getPrototypeOf(x) !== Object.prototype) { - $FAIL('#1: JSON.parse confused by "__proto__"'); -} -if (!Array.isArray(x.__proto__)) { - $FAIL('#2: JSON.parse did not set "__proto__" as a regular property'); -} + var x = JSON.parse('{"__proto__":[]}'); +if (Object.getPrototypeOf(x) !== Object.prototype) { + $FAIL('#1: JSON.parse confused by "__proto__"'); +} +if (!Array.isArray(x.__proto__)) { + $FAIL('#2: JSON.parse did not set "__proto__" as a regular property'); +} } }); diff --git a/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A12.js b/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A12.js index 5a1198b176..a1c9b486a4 100644 --- a/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A12.js +++ b/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A12.js @@ -1,12 +1,12 @@ -// Copyright 2011 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/** -* @name: S15.2.4.2_A12; -* @section: 15.2.4.2; -* @assertion: If the this value is undefined, return "[object Undefined]". -*/ - +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.2.4.2_A12; +* @section: 15.2.4.2; +* @assertion: If the this value is undefined, return "[object Undefined]". +*/ + // Converted for Test262 from original Sputnik source @@ -20,9 +20,9 @@ assertion: "If the this value is undefined, return \"[object Undefined]\".", description: "", test: function testcase() { - if (Object.prototype.toString.call(undefined) !== "[object Undefined]") { - $ERROR('If the this value is undefined, return "[object Undefined]".'); -} + if (Object.prototype.toString.call(undefined) !== "[object Undefined]") { + $ERROR('If the this value is undefined, return "[object Undefined]".'); +} } }); diff --git a/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A13.js b/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A13.js index 6f514dd067..54fd431228 100644 --- a/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A13.js +++ b/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A13.js @@ -1,12 +1,12 @@ -// Copyright 2011 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/** -* @name: S15.2.4.2_A13; -* @section: 15.2.4.2; -* @assertion: If the this value is null, return "[object Null]". -*/ - +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.2.4.2_A13; +* @section: 15.2.4.2; +* @assertion: If the this value is null, return "[object Null]". +*/ + // Converted for Test262 from original Sputnik source @@ -20,9 +20,9 @@ assertion: "If the this value is null, return \"[object Null]\".", description: "", test: function testcase() { - if (Object.prototype.toString.call(null) !== "[object Null]") { - $ERROR('If the this value is null, return "[object Null]".'); -} + if (Object.prototype.toString.call(null) !== "[object Null]") { + $ERROR('If the this value is null, return "[object Null]".'); +} } }); diff --git a/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A14.js b/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A14.js index d982740f52..3738abe4d2 100644 --- a/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A14.js +++ b/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A14.js @@ -1,12 +1,12 @@ -// Copyright 2011 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/** -* @name: S15.2.4.2_A14; -* @section: 15.2.4.2; -* @assertion: Let O be the result of calling ToObject passing the this value as the argument. -*/ - +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.2.4.2_A14; +* @section: 15.2.4.2; +* @assertion: Let O be the result of calling ToObject passing the this value as the argument. +*/ + // Converted for Test262 from original Sputnik source @@ -20,10 +20,10 @@ assertion: "Let O be the result of calling ToObject passing the this value as th description: "", test: function testcase() { - if (Object.prototype.toString.call(33) !== "[object Number]") { - $ERROR('Let O be the result of calling ToObject passing the this ' + - 'value as the argument.'); -} + if (Object.prototype.toString.call(33) !== "[object Number]") { + $ERROR('Let O be the result of calling ToObject passing the this ' + + 'value as the argument.'); +} } }); diff --git a/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A15.js b/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A15.js index 366fdf3493..f4eebbb366 100644 --- a/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A15.js +++ b/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A15.js @@ -1,12 +1,12 @@ -// Copyright 2011 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/** -* @name: S15.2.4.2_A15; -* @section: 15.2.4.2; -* @assertion: Let O be the result of calling ToObject passing the this value as the argument. -*/ - +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.2.4.2_A15; +* @section: 15.2.4.2; +* @assertion: Let O be the result of calling ToObject passing the this value as the argument. +*/ + // Converted for Test262 from original Sputnik source @@ -20,10 +20,10 @@ assertion: "Let O be the result of calling ToObject passing the this value as th description: "", test: function testcase() { - if (Object.prototype.toString.call(true) !== "[object Boolean]") { - $ERROR('Let O be the result of calling ToObject passing the this ' + - 'value as the argument.'); -} + if (Object.prototype.toString.call(true) !== "[object Boolean]") { + $ERROR('Let O be the result of calling ToObject passing the this ' + + 'value as the argument.'); +} } }); diff --git a/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A16.js b/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A16.js index a64a130522..5d7dc95a84 100644 --- a/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A16.js +++ b/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A16.js @@ -1,12 +1,12 @@ -// Copyright 2011 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/** -* @name: S15.2.4.2_A16; -* @section: 15.2.4.2; -* @assertion: Let O be the result of calling ToObject passing the this value as the argument. -*/ - +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.2.4.2_A16; +* @section: 15.2.4.2; +* @assertion: Let O be the result of calling ToObject passing the this value as the argument. +*/ + // Converted for Test262 from original Sputnik source @@ -20,10 +20,10 @@ assertion: "Let O be the result of calling ToObject passing the this value as th description: "", test: function testcase() { - if (Object.prototype.toString.call('foo') !== "[object String]") { - $ERROR('Let O be the result of calling ToObject passing the this ' + - 'value as the argument.'); -} + if (Object.prototype.toString.call('foo') !== "[object String]") { + $ERROR('Let O be the result of calling ToObject passing the this ' + + 'value as the argument.'); +} } }); diff --git a/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.3_Object.prototype.toLocaleString/S15.2.4.3_A12.js b/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.3_Object.prototype.toLocaleString/S15.2.4.3_A12.js index ce4fd31dc2..db1a7c9bd2 100644 --- a/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.3_Object.prototype.toLocaleString/S15.2.4.3_A12.js +++ b/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.3_Object.prototype.toLocaleString/S15.2.4.3_A12.js @@ -1,9 +1,9 @@ -// Copyright 2011 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + // Converted for Test262 from original Sputnik source - Object.prototype.toLocaleString.call(undefined); + Object.prototype.toLocaleString.call(undefined); diff --git a/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.3_Object.prototype.toLocaleString/S15.2.4.3_A13.js b/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.3_Object.prototype.toLocaleString/S15.2.4.3_A13.js index f8650e76cd..a3e3aab95c 100644 --- a/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.3_Object.prototype.toLocaleString/S15.2.4.3_A13.js +++ b/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.3_Object.prototype.toLocaleString/S15.2.4.3_A13.js @@ -1,9 +1,9 @@ -// Copyright 2011 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + // Converted for Test262 from original Sputnik source - Object.prototype.toLocaleString.call(null); + Object.prototype.toLocaleString.call(null); diff --git a/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.4_Object.prototype.valueOf/S15.2.4.4_A12.js b/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.4_Object.prototype.valueOf/S15.2.4.4_A12.js index a3c0911cae..31b7e6f453 100644 --- a/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.4_Object.prototype.valueOf/S15.2.4.4_A12.js +++ b/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.4_Object.prototype.valueOf/S15.2.4.4_A12.js @@ -1,9 +1,9 @@ -// Copyright 2011 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + // Converted for Test262 from original Sputnik source - Object.prototype.valueOf.call(undefined); + Object.prototype.valueOf.call(undefined); diff --git a/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.4_Object.prototype.valueOf/S15.2.4.4_A13.js b/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.4_Object.prototype.valueOf/S15.2.4.4_A13.js index 946a5971f8..3ebf3fe4c4 100644 --- a/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.4_Object.prototype.valueOf/S15.2.4.4_A13.js +++ b/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.4_Object.prototype.valueOf/S15.2.4.4_A13.js @@ -1,9 +1,9 @@ -// Copyright 2011 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + // Converted for Test262 from original Sputnik source - Object.prototype.valueOf.call(null); + Object.prototype.valueOf.call(null); diff --git a/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.4_Object.prototype.valueOf/S15.2.4.4_A14.js b/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.4_Object.prototype.valueOf/S15.2.4.4_A14.js index f7196b14f3..be6ab1d8ed 100644 --- a/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.4_Object.prototype.valueOf/S15.2.4.4_A14.js +++ b/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.4_Object.prototype.valueOf/S15.2.4.4_A14.js @@ -1,9 +1,9 @@ -// Copyright 2011 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + // Converted for Test262 from original Sputnik source - (1,Object.prototype.valueOf)(); + (1,Object.prototype.valueOf)(); diff --git a/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.5_Object.prototype.hasOwnProperty/S15.2.4.5_A12.js b/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.5_Object.prototype.hasOwnProperty/S15.2.4.5_A12.js index 51149cf33d..7dfc97eb2e 100644 --- a/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.5_Object.prototype.hasOwnProperty/S15.2.4.5_A12.js +++ b/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.5_Object.prototype.hasOwnProperty/S15.2.4.5_A12.js @@ -1,9 +1,9 @@ -// Copyright 2011 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + // Converted for Test262 from original Sputnik source - Object.prototype.hasOwnProperty.call(undefined, 'foo'); + Object.prototype.hasOwnProperty.call(undefined, 'foo'); diff --git a/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.5_Object.prototype.hasOwnProperty/S15.2.4.5_A13.js b/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.5_Object.prototype.hasOwnProperty/S15.2.4.5_A13.js index 5c3f33d108..b1af5b1c3a 100644 --- a/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.5_Object.prototype.hasOwnProperty/S15.2.4.5_A13.js +++ b/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.5_Object.prototype.hasOwnProperty/S15.2.4.5_A13.js @@ -1,9 +1,9 @@ -// Copyright 2011 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + // Converted for Test262 from original Sputnik source - Object.prototype.hasOwnProperty.call(null, 'foo'); + Object.prototype.hasOwnProperty.call(null, 'foo'); diff --git a/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.6_Object.prototype.isPrototypeOf/S15.2.4.6_A12.js b/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.6_Object.prototype.isPrototypeOf/S15.2.4.6_A12.js index d0f58eaa09..fa01e6a7fd 100644 --- a/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.6_Object.prototype.isPrototypeOf/S15.2.4.6_A12.js +++ b/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.6_Object.prototype.isPrototypeOf/S15.2.4.6_A12.js @@ -1,9 +1,9 @@ -// Copyright 2011 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + // Converted for Test262 from original Sputnik source - Object.prototype.isPrototypeOf.call(undefined, {}); + Object.prototype.isPrototypeOf.call(undefined, {}); diff --git a/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.6_Object.prototype.isPrototypeOf/S15.2.4.6_A13.js b/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.6_Object.prototype.isPrototypeOf/S15.2.4.6_A13.js index 4e52b20bbd..cd0d6e959d 100644 --- a/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.6_Object.prototype.isPrototypeOf/S15.2.4.6_A13.js +++ b/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.6_Object.prototype.isPrototypeOf/S15.2.4.6_A13.js @@ -1,9 +1,9 @@ -// Copyright 2011 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + // Converted for Test262 from original Sputnik source - Object.prototype.isPrototypeOf.call(null, {}); + Object.prototype.isPrototypeOf.call(null, {}); diff --git a/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.7_Object.prototype.propertyIsEnumerable/S15.2.4.7_A12.js b/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.7_Object.prototype.propertyIsEnumerable/S15.2.4.7_A12.js index 73ddf947e7..e12ebf9fae 100644 --- a/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.7_Object.prototype.propertyIsEnumerable/S15.2.4.7_A12.js +++ b/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.7_Object.prototype.propertyIsEnumerable/S15.2.4.7_A12.js @@ -1,9 +1,9 @@ -// Copyright 2011 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + // Converted for Test262 from original Sputnik source - Object.prototype.propertyIsEnumerable.call(undefined, 'foo'); + Object.prototype.propertyIsEnumerable.call(undefined, 'foo'); diff --git a/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.7_Object.prototype.propertyIsEnumerable/S15.2.4.7_A13.js b/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.7_Object.prototype.propertyIsEnumerable/S15.2.4.7_A13.js index bb14dcbc99..4d54b36b21 100644 --- a/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.7_Object.prototype.propertyIsEnumerable/S15.2.4.7_A13.js +++ b/test/suite/sputnik_converted/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.7_Object.prototype.propertyIsEnumerable/S15.2.4.7_A13.js @@ -1,9 +1,9 @@ -// Copyright 2011 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + // Converted for Test262 from original Sputnik source - Object.prototype.propertyIsEnumerable.call(null, 'foo'); + Object.prototype.propertyIsEnumerable.call(null, 'foo'); diff --git a/test/suite/sputnik_converted/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 b/test/suite/sputnik_converted/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 index 7fe965b7f8..f677337ee9 100644 --- a/test/suite/sputnik_converted/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 +++ b/test/suite/sputnik_converted/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 @@ -1,13 +1,13 @@ -// Copyright 2009 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/** -* @name: S15.3.4.2_A10; -* @section: 15.3.4.2; -* @assertion: The Function.prototype.toString.length property has the attribute ReadOnly; -* @description: Checking if varying the Function.prototype.toString.length property fails; -*/ - +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.3.4.2_A10; +* @section: 15.3.4.2; +* @assertion: The Function.prototype.toString.length property has the attribute ReadOnly; +* @description: Checking if varying the Function.prototype.toString.length property fails; +*/ + // Converted for Test262 from original Sputnik source @@ -21,19 +21,19 @@ assertion: "The Function.prototype.toString.length property has the attribute Re description: "Checking if varying the Function.prototype.toString.length property fails", test: function testcase() { - //CHECK#1 -if (!(Function.prototype.toString.hasOwnProperty('length'))) { - $FAIL('#1: the Function.prototype.toString has length property.'); -} - -var obj = Function.prototype.toString.length; - -Function.prototype.toString.length = function(){return "shifted";}; - -//CHECK#2 -if (Function.prototype.toString.length !== obj) { - $ERROR('#2: the Function.prototype.toString length property has the attributes ReadOnly.'); -} + //CHECK#1 +if (!(Function.prototype.toString.hasOwnProperty('length'))) { + $FAIL('#1: the Function.prototype.toString has length property.'); +} + +var obj = Function.prototype.toString.length; + +Function.prototype.toString.length = function(){return "shifted";}; + +//CHECK#2 +if (Function.prototype.toString.length !== obj) { + $ERROR('#2: the Function.prototype.toString length property has the attributes ReadOnly.'); +} } }); diff --git a/test/suite/sputnik_converted/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 b/test/suite/sputnik_converted/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 index 30dba13f2d..682672a3b2 100644 --- a/test/suite/sputnik_converted/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 +++ b/test/suite/sputnik_converted/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 @@ -1,9 +1,9 @@ -// Copyright 2011 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + // Converted for Test262 from original Sputnik source - Function.prototype.toString.call(undefined); + Function.prototype.toString.call(undefined); diff --git a/test/suite/sputnik_converted/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 b/test/suite/sputnik_converted/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 index d32cdf6293..8a93e40dce 100644 --- a/test/suite/sputnik_converted/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 +++ b/test/suite/sputnik_converted/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 @@ -1,9 +1,9 @@ -// Copyright 2011 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + // Converted for Test262 from original Sputnik source - Function.prototype.toString.call(null); + Function.prototype.toString.call(null); diff --git a/test/suite/sputnik_converted/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 b/test/suite/sputnik_converted/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 index 762ce70274..3b031c11b6 100644 --- a/test/suite/sputnik_converted/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 +++ b/test/suite/sputnik_converted/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 @@ -1,9 +1,9 @@ -// Copyright 2011 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + // Converted for Test262 from original Sputnik source - Function.prototype.toString.call({}); + Function.prototype.toString.call({}); diff --git a/test/suite/sputnik_converted/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 b/test/suite/sputnik_converted/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 index 48c1e6637b..fed1aa2f9a 100644 --- a/test/suite/sputnik_converted/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 +++ b/test/suite/sputnik_converted/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 @@ -1,9 +1,9 @@ -// Copyright 2011 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + // Converted for Test262 from original Sputnik source - Function.prototype.toString.call(/x/); + Function.prototype.toString.call(/x/); diff --git a/test/suite/sputnik_converted/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 b/test/suite/sputnik_converted/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 index 309cd4d329..688186aa98 100644 --- a/test/suite/sputnik_converted/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 +++ b/test/suite/sputnik_converted/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 @@ -1,11 +1,11 @@ -// Copyright 2011 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + // Converted for Test262 from original Sputnik source - var obj = {toString: Function.prototype.toString}; - -String(obj); + var obj = {toString: Function.prototype.toString}; + +String(obj); diff --git a/test/suite/sputnik_converted/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_A1_T1.js b/test/suite/sputnik_converted/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_A1_T1.js index 0c7b7547dd..7d11a2f946 100644 --- a/test/suite/sputnik_converted/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_A1_T1.js +++ b/test/suite/sputnik_converted/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_A1_T1.js @@ -1,13 +1,13 @@ -// Copyright 2009 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/** -* @name: S15.3.4.2_A1_T1; -* @section: 15.3.4.2; -* @assertion: An implementation-dependent representation of the function is returned. This representation has the syntax of a FunctionDeclaration; -* @description: For testing use Function.prototype.toString() function; -*/ - +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.3.4.2_A1_T1; +* @section: 15.3.4.2; +* @assertion: An implementation-dependent representation of the function is returned. This representation has the syntax of a FunctionDeclaration; +* @description: For testing use Function.prototype.toString() function; +*/ + // Converted for Test262 from original Sputnik source @@ -21,14 +21,14 @@ assertion: "An implementation-dependent representation of the function is return description: "For testing use Function.prototype.toString() function", test: function testcase() { - var f = function(x) { - return x*x; -}; - -//CHECK#1 -if (eval(f.toString())(10) !== f(10)) { - $ERROR('#1: An implementation-dependent representation of the function is returned. This representation has the syntax of a FunctionDeclaration'); -} + var f = function(x) { + return x*x; +}; + +//CHECK#1 +if (eval(f.toString())(10) !== f(10)) { + $ERROR('#1: An implementation-dependent representation of the function is returned. This representation has the syntax of a FunctionDeclaration'); +} } }); diff --git a/test/suite/sputnik_converted/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 b/test/suite/sputnik_converted/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 index 6f6296d49d..e75c82eeac 100644 --- a/test/suite/sputnik_converted/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 +++ b/test/suite/sputnik_converted/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 @@ -1,9 +1,9 @@ -// Copyright 2011 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + // Converted for Test262 from original Sputnik source - Function.prototype.apply.call(undefined, {}, []); + Function.prototype.apply.call(undefined, {}, []); diff --git a/test/suite/sputnik_converted/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 b/test/suite/sputnik_converted/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 index fffbfeaf29..2c76362408 100644 --- a/test/suite/sputnik_converted/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 +++ b/test/suite/sputnik_converted/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 @@ -1,9 +1,9 @@ -// Copyright 2011 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + // Converted for Test262 from original Sputnik source - Function.prototype.apply.call(null, {}, []); + Function.prototype.apply.call(null, {}, []); diff --git a/test/suite/sputnik_converted/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 b/test/suite/sputnik_converted/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 index 3751ee5429..49ffcf7d42 100644 --- a/test/suite/sputnik_converted/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 +++ b/test/suite/sputnik_converted/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 @@ -1,9 +1,9 @@ -// Copyright 2011 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + // Converted for Test262 from original Sputnik source - Function.prototype.apply.call({}, {}, []); + Function.prototype.apply.call({}, {}, []); diff --git a/test/suite/sputnik_converted/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 b/test/suite/sputnik_converted/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 index ae70171868..6c35da6ba4 100644 --- a/test/suite/sputnik_converted/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 +++ b/test/suite/sputnik_converted/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 @@ -1,13 +1,13 @@ -// Copyright 2011 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/** -* @name: S15.3.4.3_A16; -* @section: 15.3.4.3; -* @assertion: 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. -*/ - +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.3.4.3_A16; +* @section: 15.3.4.3; +* @assertion: 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. +*/ + // Converted for Test262 from original Sputnik source @@ -21,20 +21,20 @@ assertion: "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.", test: function testcase() { - var re = (/x/); -if (typeof re === 'function') { - Function.prototype.apply.call(re, undefined, ['x']); -} else { - try { - Function.prototype.bind.call(re, undefined); - $FAIL('#1: If IsCallable(func) is false, ' + - 'then (bind should) throw a TypeError exception'); - } catch (e) { - if (!(e instanceof TypeError)) { - $ERROR('#1: TypeError expected. Actual: ' + e); - } - } -} + var re = (/x/); +if (typeof re === 'function') { + Function.prototype.apply.call(re, undefined, ['x']); +} else { + try { + Function.prototype.bind.call(re, undefined); + $FAIL('#1: If IsCallable(func) is false, ' + + 'then (bind should) throw a TypeError exception'); + } catch (e) { + if (!(e instanceof TypeError)) { + $ERROR('#1: TypeError expected. Actual: ' + e); + } + } +} } }); diff --git a/test/suite/sputnik_converted/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 b/test/suite/sputnik_converted/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 index 7585e10552..003c688ba5 100644 --- a/test/suite/sputnik_converted/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 +++ b/test/suite/sputnik_converted/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 @@ -1,9 +1,9 @@ -// Copyright 2011 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + // Converted for Test262 from original Sputnik source - Function.prototype.call.call(undefined, {}); + Function.prototype.call.call(undefined, {}); diff --git a/test/suite/sputnik_converted/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 b/test/suite/sputnik_converted/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 index a707efb0f8..404fee029e 100644 --- a/test/suite/sputnik_converted/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 +++ b/test/suite/sputnik_converted/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 @@ -1,9 +1,9 @@ -// Copyright 2011 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + // Converted for Test262 from original Sputnik source - Function.prototype.call.call(null, {}); + Function.prototype.call.call(null, {}); diff --git a/test/suite/sputnik_converted/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 b/test/suite/sputnik_converted/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 index 47a0eebe5a..110883778d 100644 --- a/test/suite/sputnik_converted/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 +++ b/test/suite/sputnik_converted/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 @@ -1,9 +1,9 @@ -// Copyright 2011 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + // Converted for Test262 from original Sputnik source - Function.prototype.call.call({}, {}); + Function.prototype.call.call({}, {}); diff --git a/test/suite/sputnik_converted/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 b/test/suite/sputnik_converted/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 index 7a83864412..244dfb50ec 100644 --- a/test/suite/sputnik_converted/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 +++ b/test/suite/sputnik_converted/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 @@ -1,13 +1,13 @@ -// Copyright 2011 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/** -* @name: S15.3.4.4_A16; -* @section: 15.3.4.4; -* @assertion: 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. -*/ - +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.3.4.4_A16; +* @section: 15.3.4.4; +* @assertion: 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. +*/ + // Converted for Test262 from original Sputnik source @@ -21,20 +21,20 @@ assertion: "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.", test: function testcase() { - var re = (/x/); -if (typeof re === 'function') { - Function.prototype.call.call(re, undefined, 'x'); -} else { - try { - Function.prototype.bind.call(re, undefined); - $FAIL('#1: If IsCallable(func) is false, ' + - 'then (bind should) throw a TypeError exception'); - } catch (e) { - if (!(e instanceof TypeError)) { - $ERROR('#1: TypeError expected. Actual: ' + e); - } - } -} + var re = (/x/); +if (typeof re === 'function') { + Function.prototype.call.call(re, undefined, 'x'); +} else { + try { + Function.prototype.bind.call(re, undefined); + $FAIL('#1: If IsCallable(func) is false, ' + + 'then (bind should) throw a TypeError exception'); + } catch (e) { + if (!(e instanceof TypeError)) { + $ERROR('#1: TypeError expected. Actual: ' + e); + } + } +} } }); diff --git a/test/suite/sputnik_converted/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 b/test/suite/sputnik_converted/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 index bdf52353ba..2ebdf14fef 100644 --- a/test/suite/sputnik_converted/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 +++ b/test/suite/sputnik_converted/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 @@ -1,12 +1,12 @@ -// Copyright 2011 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + // Converted for Test262 from original Sputnik source - function foo() { return bar.caller; } -var bar = foo.bind({}); -function baz() { return bar(); } -baz(); + function foo() { return bar.caller; } +var bar = foo.bind({}); +function baz() { return bar(); } +baz(); diff --git a/test/suite/sputnik_converted/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 b/test/suite/sputnik_converted/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 index 1e211cd92d..fd961109e3 100644 --- a/test/suite/sputnik_converted/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 +++ b/test/suite/sputnik_converted/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 @@ -1,10 +1,10 @@ -// Copyright 2011 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + // Converted for Test262 from original Sputnik source - Function.prototype.bind.call(undefined, {}); - + Function.prototype.bind.call(undefined, {}); + diff --git a/test/suite/sputnik_converted/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 b/test/suite/sputnik_converted/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 index 39b2d6536b..b31e976e05 100644 --- a/test/suite/sputnik_converted/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 +++ b/test/suite/sputnik_converted/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 @@ -1,10 +1,10 @@ -// Copyright 2011 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + // Converted for Test262 from original Sputnik source - Function.prototype.bind.call(null, {}); - + Function.prototype.bind.call(null, {}); + diff --git a/test/suite/sputnik_converted/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 b/test/suite/sputnik_converted/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 index d5efb60072..32af600641 100644 --- a/test/suite/sputnik_converted/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 +++ b/test/suite/sputnik_converted/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 @@ -1,10 +1,10 @@ -// Copyright 2011 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + // Converted for Test262 from original Sputnik source - Function.prototype.bind.call({}, {}); - + Function.prototype.bind.call({}, {}); + diff --git a/test/suite/sputnik_converted/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 b/test/suite/sputnik_converted/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 index a8fc9f1a7b..7ea0f95ea1 100644 --- a/test/suite/sputnik_converted/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 +++ b/test/suite/sputnik_converted/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 @@ -1,13 +1,13 @@ -// Copyright 2011 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/** -* @name: S15.3.4.5_A16; -* @section: 15.3.4.5; -* @assertion: 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. -*/ - +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.3.4.5_A16; +* @section: 15.3.4.5; +* @assertion: 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. +*/ + // Converted for Test262 from original Sputnik source @@ -21,20 +21,20 @@ assertion: "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.", test: function testcase() { - var re = (/x/); -if (typeof re === 'function') { - Function.prototype.bind.call(re, undefined); -} else { - try { - Function.prototype.bind.call(re, undefined); - $FAIL('#1: If IsCallable(func) is false, ' + - 'then (bind should) throw a TypeError exception'); - } catch (e) { - if (!(e instanceof TypeError)) { - $ERROR('#1: TypeError expected. Actual: ' + e); - } - } -} + var re = (/x/); +if (typeof re === 'function') { + Function.prototype.bind.call(re, undefined); +} else { + try { + Function.prototype.bind.call(re, undefined); + $FAIL('#1: If IsCallable(func) is false, ' + + 'then (bind should) throw a TypeError exception'); + } catch (e) { + if (!(e instanceof TypeError)) { + $ERROR('#1: TypeError expected. Actual: ' + e); + } + } +} } }); diff --git a/test/suite/sputnik_converted/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 b/test/suite/sputnik_converted/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 index a0b81118dc..9dc071efa8 100644 --- a/test/suite/sputnik_converted/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 +++ b/test/suite/sputnik_converted/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 @@ -1,12 +1,12 @@ -// Copyright 2011 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + // Converted for Test262 from original Sputnik source - function foo() { return bar.arguments; } -var bar = foo.bind({}); -function baz() { return bar(); } -baz(); + function foo() { return bar.arguments; } +var bar = foo.bind({}); +function baz() { return bar(); } +baz(); diff --git a/test/suite/sputnik_converted/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/S15.3.4_A1.js b/test/suite/sputnik_converted/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/S15.3.4_A1.js index 4fe5f3e226..bc709e6c39 100644 --- a/test/suite/sputnik_converted/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/S15.3.4_A1.js +++ b/test/suite/sputnik_converted/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/S15.3.4_A1.js @@ -1,13 +1,13 @@ -// Copyright 2009 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/** -* @name: S15.3.4_A1; -* @section: 15.3.4; -* @assertion: The Function prototype object is itself a Function object (its [[Class]] is "Function"); -* @description: Object.prototype.toString returns [object+[[Class]]+]; -*/ - +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.3.4_A1; +* @section: 15.3.4; +* @assertion: The Function prototype object is itself a Function object (its [[Class]] is "Function"); +* @description: Object.prototype.toString returns [object+[[Class]]+]; +*/ + // Converted for Test262 from original Sputnik source @@ -21,10 +21,10 @@ assertion: "The Function prototype object is itself a Function object (its [[Cla description: "Object.prototype.toString returns [object+[[Class]]+]", test: function testcase() { - if (Object.prototype.toString.call(Function.prototype) !== "[object Function]") { - $ERROR('#2: The Function prototype object is itself a Function ' + - 'object (its [[Class]] is "Function") (15.3.4)'); -} + if (Object.prototype.toString.call(Function.prototype) !== "[object Function]") { + $ERROR('#2: The Function prototype object is itself a Function ' + + 'object (its [[Class]] is "Function") (15.3.4)'); +} } }); diff --git a/test/suite/sputnik_converted/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/S15.3.4_A3_T1.js b/test/suite/sputnik_converted/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/S15.3.4_A3_T1.js index e46333a10d..b1ac05b1a0 100644 --- a/test/suite/sputnik_converted/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/S15.3.4_A3_T1.js +++ b/test/suite/sputnik_converted/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/S15.3.4_A3_T1.js @@ -1,13 +1,13 @@ -// Copyright 2009 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/** -* @name: S15.3.4_A3_T1; -* @section: 15.3.4; -* @assertion: 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; -*/ - +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.3.4_A3_T1; +* @section: 15.3.4; +* @assertion: 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; +*/ + // Converted for Test262 from original Sputnik source @@ -21,11 +21,11 @@ assertion: "The value of the internal [[Prototype]] property of the Function pro description: "Checking prototype of Function.prototype", test: function testcase() { - if (Object.getPrototypeOf(Function.prototype) !== Object.prototype) { - $ERROR('#1: The value of the internal [[Prototype]] property of ' + - 'the Function prototype object is the Object prototype ' + - 'object (15.3.4)'); -} + if (Object.getPrototypeOf(Function.prototype) !== Object.prototype) { + $ERROR('#1: The value of the internal [[Prototype]] property of ' + + 'the Function prototype object is the Object prototype ' + + 'object (15.3.4)'); +} } }); diff --git a/test/suite/sputnik_converted/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.1_A1_T1.js b/test/suite/sputnik_converted/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.1_A1_T1.js index 39fc28a31d..fcf124ca83 100644 --- a/test/suite/sputnik_converted/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.1_A1_T1.js +++ b/test/suite/sputnik_converted/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.1_A1_T1.js @@ -1,13 +1,13 @@ -// Copyright 2009 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/** -* @name: S15.3.5.1_A1_T1; -* @section: 15.3.5.1; -* @assertion: 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); -*/ - +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.3.5.1_A1_T1; +* @section: 15.3.5.1; +* @assertion: 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); +*/ + // Converted for Test262 from original Sputnik source @@ -21,17 +21,17 @@ assertion: "The value of the length property is usually an integer that indicate description: "Checking length property of Function(\"arg1,arg2,arg3\", null)", test: function testcase() { - f = new Function("arg1,arg2,arg3", null); - -//CHECK#1 -if (!(f.hasOwnProperty('length'))) { - $FAIL('#1: the function has length property.'); -} - -//CHECK#2 -if (f.length !== 3) { - $ERROR('#2: The value of the length property is usually an integer that indicates the "typical" number of arguments expected by the function'); -} + f = new Function("arg1,arg2,arg3", null); + +//CHECK#1 +if (!(f.hasOwnProperty('length'))) { + $FAIL('#1: the function has length property.'); +} + +//CHECK#2 +if (f.length !== 3) { + $ERROR('#2: The value of the length property is usually an integer that indicates the "typical" number of arguments expected by the function'); +} } }); diff --git a/test/suite/sputnik_converted/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5_A1_T1.js b/test/suite/sputnik_converted/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5_A1_T1.js index 30aef2b93d..9f1097cc6a 100644 --- a/test/suite/sputnik_converted/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5_A1_T1.js +++ b/test/suite/sputnik_converted/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5_A1_T1.js @@ -1,13 +1,13 @@ -// Copyright 2009 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/** -* @name: S15.3.5_A1_T1; -* @section: 15.3.5; -* @assertion: The value of the [[Class]] property is "Function"; -* @description: For testing use variable f = new Function; -*/ - +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.3.5_A1_T1; +* @section: 15.3.5; +* @assertion: The value of the [[Class]] property is "Function"; +* @description: For testing use variable f = new Function; +*/ + // Converted for Test262 from original Sputnik source @@ -21,11 +21,11 @@ assertion: "The value of the [[Class]] property is \"Function\"", description: "For testing use variable f = new Function", test: function testcase() { - var f = new Function; - -if (Object.prototype.toString.call(f) !== "[object Function]") { - $ERROR('#1: The value of the [[Class]] property is "Function"'); -} + var f = new Function; + +if (Object.prototype.toString.call(f) !== "[object Function]") { + $ERROR('#1: The value of the [[Class]] property is "Function"'); +} } }); diff --git a/test/suite/sputnik_converted/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5_A1_T2.js b/test/suite/sputnik_converted/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5_A1_T2.js index 13e8c1c478..42b5c6adff 100644 --- a/test/suite/sputnik_converted/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5_A1_T2.js +++ b/test/suite/sputnik_converted/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5_A1_T2.js @@ -1,13 +1,13 @@ -// Copyright 2009 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/** -* @name: S15.3.5_A1_T2; -* @section: 15.3.5; -* @assertion: The value of the [[Class]] property is "Function" ; -* @description: For testing use variable f = Function(); -*/ - +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.3.5_A1_T2; +* @section: 15.3.5; +* @assertion: The value of the [[Class]] property is "Function" ; +* @description: For testing use variable f = Function(); +*/ + // Converted for Test262 from original Sputnik source @@ -21,12 +21,12 @@ assertion: "The value of the [[Class]] property is \"Function\"", description: "For testing use variable f = Function()", test: function testcase() { - var f = Function(); - -if (Object.prototype.toString.call(f) !== "[object Function]") { - $ERROR('#1: The value of the [[Class]] property is "Function"'); -} - + var f = Function(); + +if (Object.prototype.toString.call(f) !== "[object Function]") { + $ERROR('#1: The value of the [[Class]] property is "Function"'); +} + } }); diff --git a/test/suite/sputnik_converted/15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.11_Array_prototype_sort/S15.4.4.11_A8.js b/test/suite/sputnik_converted/15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.11_Array_prototype_sort/S15.4.4.11_A8.js index 27874a8eee..d3a5086481 100644 --- a/test/suite/sputnik_converted/15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.11_Array_prototype_sort/S15.4.4.11_A8.js +++ b/test/suite/sputnik_converted/15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.11_Array_prototype_sort/S15.4.4.11_A8.js @@ -1,13 +1,13 @@ -// Copyright 2011 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/** -* @name: S15.4.4.11_A8; -* @section: 15.4.4.11; -* @assertion: Call the comparefn passing undefined as the this value (step 13b); -* @description: comparefn tests that its this value is undefined; -*/ - +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.4.4.11_A8; +* @section: 15.4.4.11; +* @assertion: Call the comparefn passing undefined as the this value (step 13b); +* @description: comparefn tests that its this value is undefined; +*/ + // Converted for Test262 from original Sputnik source @@ -21,19 +21,19 @@ assertion: "Call the comparefn passing undefined as the this value (step 13b)", description: "comparefn tests that its this value is undefined", test: function testcase() { - var global = this; -[2,3].sort(function(x,y) { - "use strict"; - - if (this === global) { - $FAIL('#1: Sort leaks global'); - } - if (this !== undefined) { - $FAIL('#2: Sort comparefn should be called with this===undefined. ' + - 'Actual: ' + this); - } - return x - y; -}); + var global = this; +[2,3].sort(function(x,y) { + "use strict"; + + if (this === global) { + $FAIL('#1: Sort leaks global'); + } + if (this !== undefined) { + $FAIL('#2: Sort comparefn should be called with this===undefined. ' + + 'Actual: ' + this); + } + return x - y; +}); } }); diff --git a/test/suite/sputnik_converted/15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.18_Array_prototype_forEach/S15.4.4.18_A1.js b/test/suite/sputnik_converted/15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.18_Array_prototype_forEach/S15.4.4.18_A1.js index ea1355904e..06cfd27caf 100644 --- a/test/suite/sputnik_converted/15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.18_Array_prototype_forEach/S15.4.4.18_A1.js +++ b/test/suite/sputnik_converted/15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.18_Array_prototype_forEach/S15.4.4.18_A1.js @@ -1,13 +1,13 @@ -// Copyright 2011 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/** - * @name: S15.4.4.18_A1; - * @section: 15.4.4.18; - * @assertion: array.forEach can be frozen while in progress - * @description: Freezes array.forEach during a forEach to see if it works -*/ - +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S15.4.4.18_A1; + * @section: 15.4.4.18; + * @assertion: array.forEach can be frozen while in progress + * @description: Freezes array.forEach during a forEach to see if it works +*/ + // Converted for Test262 from original Sputnik source @@ -21,7 +21,7 @@ assertion: "array.forEach can be frozen while in progress", description: "Freezes array.forEach during a forEach to see if it works", test: function testcase() { - ['z'].forEach(function(){ Object.freeze(Array.prototype.forEach); }); + ['z'].forEach(function(){ Object.freeze(Array.prototype.forEach); }); } }); diff --git a/test/suite/sputnik_converted/15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.18_Array_prototype_forEach/S15.4.4.18_A2.js b/test/suite/sputnik_converted/15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.18_Array_prototype_forEach/S15.4.4.18_A2.js index a011d69a2a..400e59d0ca 100644 --- a/test/suite/sputnik_converted/15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.18_Array_prototype_forEach/S15.4.4.18_A2.js +++ b/test/suite/sputnik_converted/15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.18_Array_prototype_forEach/S15.4.4.18_A2.js @@ -1,13 +1,13 @@ -// Copyright 2011 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/** - * @name: S15.4.4.18_A2; - * @section: 15.4.4.18; - * @assertion: array.forEach can be frozen while in progress - * @description: Freezes array.forEach during a forEach to see if it works -*/ - +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S15.4.4.18_A2; + * @section: 15.4.4.18; + * @assertion: array.forEach can be frozen while in progress + * @description: Freezes array.forEach during a forEach to see if it works +*/ + // Converted for Test262 from original Sputnik source @@ -21,10 +21,10 @@ assertion: "array.forEach can be frozen while in progress", description: "Freezes array.forEach during a forEach to see if it works", test: function testcase() { - function foo() { - ['z'].forEach(function(){ Object.freeze(Array.prototype.forEach); }); -} -foo(); + function foo() { + ['z'].forEach(function(){ Object.freeze(Array.prototype.forEach); }); +} +foo(); } }); diff --git a/test/suite/sputnik_converted/15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/S15.4.4_A1.1_T2.js b/test/suite/sputnik_converted/15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/S15.4.4_A1.1_T2.js index 9380932bba..de79b0809f 100644 --- a/test/suite/sputnik_converted/15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/S15.4.4_A1.1_T2.js +++ b/test/suite/sputnik_converted/15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/S15.4.4_A1.1_T2.js @@ -1,12 +1,12 @@ -// Copyright 2009 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/** - * @name: S15.4.4_A1.1_T2; - * @section: 15.4.4; - * @assertion:The Array prototype object is itself an array; its [[Class]] is "Array", -*/ - +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S15.4.4_A1.1_T2; + * @section: 15.4.4; + * @assertion:The Array prototype object is itself an array; its [[Class]] is "Array", +*/ + // Converted for Test262 from original Sputnik source @@ -20,11 +20,11 @@ assertion: "The Array prototype object is itself an array; its [[Class]] is \"Ar description: "", test: function testcase() { - //CHECK#1 -if (Object.prototype.toString.call(Array.prototype) !== "[object Array]") { - $ERROR('The Array prototype object is itself an array; its' + - '[[Class]] is "Array".'); -} + //CHECK#1 +if (Object.prototype.toString.call(Array.prototype) !== "[object Array]") { + $ERROR('The Array prototype object is itself an array; its' + + '[[Class]] is "Array".'); +} } }); diff --git a/test/suite/sputnik_converted/15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.11_String.prototype.replace/S15.5.4.11_A12.js b/test/suite/sputnik_converted/15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.11_String.prototype.replace/S15.5.4.11_A12.js index f7a83674ed..610c183f51 100644 --- a/test/suite/sputnik_converted/15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.11_String.prototype.replace/S15.5.4.11_A12.js +++ b/test/suite/sputnik_converted/15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.11_String.prototype.replace/S15.5.4.11_A12.js @@ -1,13 +1,13 @@ -// Copyright 2011 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/** -* @name: S15.5.4.11_A12; -* @section: 15.5.4.11; -* @assertion: Call replaceValue passing undefined as the this value; -* @description: replaceValue tests that its this value is undefined; -*/ - +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.5.4.11_A12; +* @section: 15.5.4.11; +* @assertion: Call replaceValue passing undefined as the this value; +* @description: replaceValue tests that its this value is undefined; +*/ + // Converted for Test262 from original Sputnik source @@ -21,19 +21,19 @@ assertion: "Call replaceValue passing undefined as the this value", description: "replaceValue tests that its this value is undefined", test: function testcase() { - var global = this; -'x'.replace(/x/, function() { - "use strict"; - - if (this === global) { - $FAIL('#1: String replace leaks global'); - } - if (this !== undefined) { - $FAIL('#2: replaceValue should be called with this===undefined. ' + - 'Actual: ' + this); - } - return 'y'; -}); + var global = this; +'x'.replace(/x/, function() { + "use strict"; + + if (this === global) { + $FAIL('#1: String replace leaks global'); + } + if (this !== undefined) { + $FAIL('#2: replaceValue should be called with this===undefined. ' + + 'Actual: ' + this); + } + return 'y'; +}); } }); diff --git a/test/suite/sputnik_converted/15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.8_String.prototype.lastIndexOf/S15.5.4.8_A1_T1.js b/test/suite/sputnik_converted/15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.8_String.prototype.lastIndexOf/S15.5.4.8_A1_T1.js index b762948af9..2838987400 100644 --- a/test/suite/sputnik_converted/15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.8_String.prototype.lastIndexOf/S15.5.4.8_A1_T1.js +++ b/test/suite/sputnik_converted/15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.8_String.prototype.lastIndexOf/S15.5.4.8_A1_T1.js @@ -1,13 +1,13 @@ -// Copyright 2009 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/** -* @name: S15.5.4.8_A1_T1; -* @section: 15.5.4.8; -* @assertion: String.prototype.lastIndexOf(searchString, position); -* @description: Arguments are false and true, and instance is object; -*/ - +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.5.4.8_A1_T1; +* @section: 15.5.4.8; +* @assertion: String.prototype.lastIndexOf(searchString, position); +* @description: Arguments are false and true, and instance is object; +*/ + // Converted for Test262 from original Sputnik source @@ -21,17 +21,17 @@ assertion: "String.prototype.lastIndexOf(searchString, position)", description: "Arguments are false and true, and instance is object", test: function testcase() { - var __instance = new Object(true); - -var __instance.lastIndexOf = String.prototype.lastIndexOf; - -////////////////////////////////////////////////////////////////////////////// -//CHECK#1 -if (__instance.lastIndexOf(true, false) !== 0) { - $ERROR('#1: __instance = new Object(true); __instance.lastIndexOf = String.prototype.lastIndexOf; __instance.lastIndexOf(true, false) === 0. Actual: '+__instance.lastIndexOf(true, false) ); -} -// -////////////////////////////////////////////////////////////////////////////// + var __instance = new Object(true); + +var __instance.lastIndexOf = String.prototype.lastIndexOf; + +////////////////////////////////////////////////////////////////////////////// +//CHECK#1 +if (__instance.lastIndexOf(true, false) !== 0) { + $ERROR('#1: __instance = new Object(true); __instance.lastIndexOf = String.prototype.lastIndexOf; __instance.lastIndexOf(true, false) === 0. Actual: '+__instance.lastIndexOf(true, false) ); +} +// +////////////////////////////////////////////////////////////////////////////// } }); diff --git a/website/resources/scripts/testcases/15.12_The_JSON_Object.json b/website/resources/scripts/testcases/15.12_The_JSON_Object.json new file mode 100644 index 0000000000..6df185b609 --- /dev/null +++ b/website/resources/scripts/testcases/15.12_The_JSON_Object.json @@ -0,0 +1 @@ +{"testsCollection":{"name":"Chapter - 15.12_The_JSON_Object","numTests":"1","tests":[{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMTIuMl9BMSIsCgpwYXRoOiAiVGVzdENhc2VzLzE1X05hdGl2ZS8xNS4xMl9UaGVfSlNPTl9PYmplY3QvMTUuMTIuMl9KU09OLnBhcnNlL1MxNS4xMi4yX0ExLmpzIiwKCmFzc2VydGlvbjogIkpTT04ucGFyc2UgbXVzdCBjcmVhdGUgYSBwcm9wZXJ0eSB3aXRoIHRoZSBnaXZlbiBwcm9wZXJ0eSBuYW1lIiwKCmRlc2NyaXB0aW9uOiAiVGVzdHMgdGhhdCBKU09OLnBhcnNlIHRyZWF0cyBcIl9fcHJvdG9fX1wiIGFzIGEgcmVndWxhciBwcm9wZXJ0eSBuYW1lIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgeCA9IEpTT04ucGFyc2UoJ3siX19wcm90b19fIjpbXX0nKTsKaWYgKE9iamVjdC5nZXRQcm90b3R5cGVPZih4KSAhPT0gT2JqZWN0LnByb3RvdHlwZSkgewogICRGQUlMKCcjMTogSlNPTi5wYXJzZSBjb25mdXNlZCBieSAiX19wcm90b19fIicpOwp9CmlmICghQXJyYXkuaXNBcnJheSh4Ll9fcHJvdG9fXykpIHsKICAkRkFJTCgnIzI6IEpTT04ucGFyc2UgZGlkIG5vdCBzZXQgIl9fcHJvdG9fXyIgYXMgYSByZWd1bGFyIHByb3BlcnR5Jyk7Cn0KCiB9Cn0pOwoK","id":"S15.12.2_A1"}]}} \ No newline at end of file diff --git a/website/resources/scripts/testcases/15.3_Function_Objects.json b/website/resources/scripts/testcases/15.3_Function_Objects.json index 7acfb80c49..4e2c5a14fe 100644 --- a/website/resources/scripts/testcases/15.3_Function_Objects.json +++ b/website/resources/scripts/testcases/15.3_Function_Objects.json @@ -1 +1 @@ -{"testsCollection":{"name":"Chapter - 15.3_Function_Objects","numTests":"186","tests":[{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4xX0ExX1QxIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy9TMTUuMy4xX0ExX1QxLmpzIiwKCmFzc2VydGlvbjogIlRoZSBmdW5jdGlvbiBjYWxsIEZ1bmN0aW9uKOKApikgaXMgZXF1aXZhbGVudCB0byB0aGUgb2JqZWN0IGNyZWF0aW9uIGV4cHJlc3Npb24iLAoKZGVzY3JpcHRpb246ICJDcmVhdGUgc2ltcGxlIGZ1bmN0aW9ucyBhbmQgY2hlY2sgcmV0dXJuZWQgdmFsdWVzIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgZiA9IEZ1bmN0aW9uKCJyZXR1cm4gYXJndW1lbnRzWzBdOyIpOwoKLy9DSEVDSyMxCmlmICghKGYgaW5zdGFuY2VvZiBGdW5jdGlvbikpewogICRFUlJPUignIzE6IGYgaW5zdGFuY2VvZiBGdW5jdGlvbicpOwp9CgovL0NIRUNLIzIKaWYgKGYoMSkgIT09IDEpIHsKICAkRVJST1IoJyMyOiBmKDEpICE9PSAxJyk7Cn0KCnZhciBnID0gbmV3IEZ1bmN0aW9uKCJyZXR1cm4gYXJndW1lbnRzWzBdOyIpOwoKCi8vQ0hFQ0sjMwppZiAoIShnIGluc3RhbmNlb2YgRnVuY3Rpb24pKSB7CiAgJEVSUk9SKCcjMzogZyBpbnN0YW5jZW9mIEZ1bmN0aW9uJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZygiQSIpICE9PSAiQSIpIHsKICAkRVJST1IoJyM0OiBnKCJBIikgIT09ICJBIicpOwp9CgovL0NIRUNLIzUKaWYgKGcoIkEiKSAhPT0gZigiQSIpKSB7CiAgJEVSUk9SKCcjNTogZygiQSIpICE9PSBmKCJBIiknKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.1_A1_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuM19BMSIsCgpwYXRoOiAiVGVzdENhc2VzLzE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvUzE1LjNfQTEuanMiLAoKYXNzZXJ0aW9uOiAiRnVuY3Rpb24gaXMgdGhlIHByb3BlcnR5IG9mIGdsb2JhbCIsCgpkZXNjcmlwdGlvbjogIkNvbXBhcmUgRnVuY3Rpb24gd2l0aCB0aGlzLkZ1bmN0aW9uIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgb2JqID0gRnVuY3Rpb247Cgp2YXIgdGhpc29iaiA9IHRoaXMuRnVuY3Rpb247CgppZiAob2JqICE9PSB0aGlzb2JqKSB7CiAgJEVSUk9SKCdGdW5jdGlvbiBpcyB0aGUgcHJvcGVydHkgb2YgZ2xvYmFsJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3_A1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuM19BMl9UMSIsCgpwYXRoOiAiVGVzdENhc2VzLzE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvUzE1LjNfQTJfVDEuanMiLAoKYXNzZXJ0aW9uOiAiU2luY2UgYXBwbHlpbmcgdGhlIFwiY2FsbFwiIG1ldGhvZCB0byBGdW5jdGlvbiBjb25zdHJ1Y3RvciB0aGVtc2VsZiBsZWFkcyB0byBjcmVhdGluZyBhIG5ldyBmdW5jdGlvbiBpbnN0YW5jZSwgdGhlIHNlY29uZCBhcmd1bWVudCBtdXN0IGJlIGEgdmFsaWQgZnVuY3Rpb24gYm9keSIsCgpkZXNjcmlwdGlvbjogIkNoZWNraW5nIGlmIGV4ZWN1dGluZyBcIkZ1bmN0aW9uLmNhbGwodGhpcywgXCJ2YXIgeCAvID0gMTtcIilcIiBmYWlscyIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgLy9DSEVDSyMKdHJ5ewogIEZ1bmN0aW9uLmNhbGwodGhpcywgInZhciB4IC8gPSAxOyIpOwp9IGNhdGNoKGUpewogIGlmICghKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikpIHsKICAJJEVSUk9SKCcjMTogZnVuY3Rpb24gYm9keSBtdXN0IGJlIHZhbGlkJyk7CiAgfQp9ICAgIAoKCiB9Cn0pOwoK","id":"S15.3_A2_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuM19BMl9UMiIsCgpwYXRoOiAiVGVzdENhc2VzLzE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvUzE1LjNfQTJfVDIuanMiLAoKYXNzZXJ0aW9uOiAiU2luY2UgYXBwbHlpbmcgdGhlIFwiY2FsbFwiIG1ldGhvZCB0byBGdW5jdGlvbiBjb25zdHJ1Y3RvciB0aGVtc2VsZiBsZWFkcyB0byBjcmVhdGluZyBhIG5ldyBmdW5jdGlvbiBpbnN0YW5jZSwgdGhlIHNlY29uZCBhcmd1bWVudCBtdXN0IGJlIGEgdmFsaWQgZnVuY3Rpb24gYm9keSIsCgpkZXNjcmlwdGlvbjogIkNoZWNraW5nIGlmIGV4ZWN1dGluZyBcIkZ1bmN0aW9uLmNhbGwodGhpcywgXCJ2YXIgI3ggID0gMTtcIilcIiBmYWlscyIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgLy9DSEVDSyMKdHJ5ewogIEZ1bmN0aW9uLmNhbGwodGhpcywgInZhciAjeCAgPSAxOyIpOwp9IGNhdGNoKGUpewogIGlmICghKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikpIHsKICAJJEVSUk9SKCcjMTogZnVuY3Rpb24gYm9keSBtdXN0IGJlIHZhbGlkJyk7CiAgfQp9ICAgIAoKCiB9Cn0pOwoK","id":"S15.3_A2_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTFfVDEiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMi4xX0ExX1QxLmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCBhbmQgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IiwKCmRlc2NyaXB0aW9uOiAiVGhlIGJvZHkgb2YgdGhlIGZ1bmN0aW9uIGlzIFwie3RvU3RyaW5nOmZ1bmN0aW9uKCl7dGhyb3cgNzt9fVwiIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgYm9keSA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93IDc7fX0KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKGJvZHkpOwogICRGQUlMKCcjMTogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IHRoZSBmb2xsb3dpbmcgc3RlcCBhcmUgdGFrZW46IGNhbGwgVG9TdHJpbmcoYm9keSknKTsKfSBjYXRjaCAoZSkgewogIGlmIChlICE9PSA3KSB7CiAgCSRFUlJPUignIzEuMTogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IHRoZSBmb2xsb3dpbmcgc3RlcCBhcmUgdGFrZW46IGNhbGwgVG9TdHJpbmcoYm9keSknKTsKICB9Cn0KCiB9Cn0pOwoK","id":"S15.3.2.1_A1_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTFfVDEwIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjJfVGhlX0Z1bmN0aW9uX0NvbnN0cnVjdG9yL1MxNS4zLjIuMV9BMV9UMTAuanMiLAoKYXNzZXJ0aW9uOiAiV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IGFuZCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoiLAoKZGVzY3JpcHRpb246ICJWYWx1ZSBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnQgaXMgXCJudWxsXCIiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIC8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKG51bGwpOwp9IGNhdGNoIChlKSB7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxzIHdpdGggZXJyb3IgJytlKTsKfQoKLy9DSEVDSyMyCmlmIChmLmNvbnN0cnVjdG9yICE9PSBGdW5jdGlvbikgewogICRFUlJPUignIzI6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCBhbmQgY3JlYXRlcyBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjInKTsKfQoKLy9DSEVDSyMzCmlmIChmKCkgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbi4uLicpOwp9CgogfQp9KTsKCg==","id":"S15.3.2.1_A1_T10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTFfVDExIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjJfVGhlX0Z1bmN0aW9uX0NvbnN0cnVjdG9yL1MxNS4zLjIuMV9BMV9UMTEuanMiLAoKYXNzZXJ0aW9uOiAiV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IGFuZCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoiLAoKZGVzY3JpcHRpb246ICJWYWx1ZSBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnQgaXMgXCJ1bmRlZmluZWRcIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24odW5kZWZpbmVkKTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQgd2l0aCBlcnJvciAnK2UpOwp9CgovL0NIRUNLIzIKaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IGFuZCBjcmVhdGVzIGEgbmV3IEZ1bmN0aW9uIG9iamVjdCBhcyBzcGVjaWZpZWQgaW4gMTMuMicpOwp9CgovL0NIRUNLIzMKaWYgKGYoKSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuLi4uJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.2.1_A1_T11"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTFfVDEyIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjJfVGhlX0Z1bmN0aW9uX0NvbnN0cnVjdG9yL1MxNS4zLjIuMV9BMV9UMTIuanMiLAoKYXNzZXJ0aW9uOiAiV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IGFuZCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoiLAoKZGVzY3JpcHRpb246ICJWYWx1ZSBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnQgaXMgXCJ2b2lkIDBcIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24odm9pZCAwKTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQgd2l0aCBlcnJvciAnK2UpOwp9CgovL0NIRUNLIzIKaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IGFuZCBjcmVhdGVzIGEgbmV3IEZ1bmN0aW9uIG9iamVjdCBhcyBzcGVjaWZpZWQgaW4gMTMuMicpOwp9CgovL0NIRUNLIzMKaWYgKGYoKSE9PXVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbi4uLicpOwp9CgogfQp9KTsKCg==","id":"S15.3.2.1_A1_T12"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTFfVDEzIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjJfVGhlX0Z1bmN0aW9uX0NvbnN0cnVjdG9yL1MxNS4zLjIuMV9BMV9UMTMuanMiLAoKYXNzZXJ0aW9uOiAiV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IGFuZCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoiLAoKZGVzY3JpcHRpb246ICJWYWx1ZSBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnQgaXMgXCJ7fVwiIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAvL0NIRUNLIzEKdHJ5IHsKICB2YXIgZiA9IG5ldyBGdW5jdGlvbih7fSk7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCB3aXRoIGVycm9yICcrZSk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoIShlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpKSB7CiAgCSRFUlJPUignIzEuMTogSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24nKTsKICB9Cn0KCiB9Cn0pOwoK","id":"S15.3.2.1_A1_T13"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTFfVDIiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMi4xX0ExX1QyLmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCBhbmQgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IiwKCmRlc2NyaXB0aW9uOiAiVGhlIGJvZHkgb2YgdGhlIGZ1bmN0aW9uIGlzIFwie3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIFwicmV0dXJuIDE7XCI7fX1cIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgdmFyIGJvZHk9e3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJyZXR1cm4gMTsiO319OwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24oYm9keSk7CQp9IGNhdGNoIChlKSB7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCB3aXRoIGVycm9yICcrZSk7Cn0KCi8vQ0hFQ0sjMgppZiAoZi5jb25zdHJ1Y3RvciAhPT0gRnVuY3Rpb24pIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIGNyZWF0ZXMgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZigpIT09MSkgewogICRFUlJPUignIzM6IGhlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuLi4uJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.2.1_A1_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTFfVDMiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMi4xX0ExX1QzLmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCBhbmQgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IiwKCmRlc2NyaXB0aW9uOiAiVmFsdWUgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50IGlzIDEiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIC8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKDEpOwp9IGNhdGNoIChlKSB7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCB3aXRoIGVycm9yICcrZSk7Cn0KCi8vQ0hFQ0sjMgppZiAoZi5jb25zdHJ1Y3RvciAhPT0gRnVuY3Rpb24pIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIGNyZWF0ZXMgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZigpIT09dW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuLi4uJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.2.1_A1_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTFfVDQiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMi4xX0ExX1Q0LmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCBhbmQgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IiwKCmRlc2NyaXB0aW9uOiAiVmFsdWUgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50IGlzIHgsIHdoZXJlIHggaXMgc3BlY2lmaWVkIHdpdGggXCJ1bmRlZmluZWRcIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24oeCk7Cn0gY2F0Y2ggKGUpIHsKICAkRkFJTCgnIzE6IHRlc3QgZmFpbGVkIHdpdGggZXJyb3IgJytlKTsKfQoKLy9DSEVDSyMyCmlmIChmLmNvbnN0cnVjdG9yICE9PSBGdW5jdGlvbikgewogICRFUlJPUignIzI6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCBhbmQgY3JlYXRlcyBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjInKTsKfQoKLy9DSEVDSyMzCmlmIChmKCkhPT11bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW4uLi4nKTsKfQoKdmFyIHg7CgogfQp9KTsKCg==","id":"S15.3.2.1_A1_T4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTFfVDUiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMi4xX0ExX1Q1LmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCBhbmQgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IiwKCmRlc2NyaXB0aW9uOiAiVmFsdWUgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50IGlzIFwiT2JqZWN0KFwicmV0dXJuIFxcXCdBXFxcJ1wiKVwiIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgYm9keSA9IE9iamVjdCgicmV0dXJuIFwnQVwnIik7CgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgZiA9IG5ldyBGdW5jdGlvbihib2R5KTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQgd2l0aCBlcnJvciAnK2UpOwp9CgovL0NIRUNLIzIKaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IGFuZCBjcmVhdGVzIGEgbmV3IEZ1bmN0aW9uIG9iamVjdCBhcyBzcGVjaWZpZWQgaW4gMTMuMicpOwp9CgovL0NIRUNLIzMKaWYgKGYoKSE9PSJcdTAwNDEiKSB7CiAgJEVSUk9SKCcjMzogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuLi4uJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.2.1_A1_T5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTFfVDYiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMi4xX0ExX1Q2LmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCBhbmQgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IiwKCmRlc2NyaXB0aW9uOiAiVmFsdWUgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50IGlzIHRoZSBzdHJpbmcgXCJyZXR1cm4gdHJ1ZTtcIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24oInJldHVybiB0cnVlOyIpOwp9IGNhdGNoIChlKSB7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCB3aXRoIGVycm9yICcrZSk7Cn0KCi8vQ0hFQ0sjMgppZiAoZi5jb25zdHJ1Y3RvciAhPT0gRnVuY3Rpb24pIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIGNyZWF0ZXMgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoIShmKCkpKSB7CiAgJEVSUk9SKCcjMzogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuLi4uJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.2.1_A1_T6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTFfVDciLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMi4xX0ExX1Q3LmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCBhbmQgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IiwKCmRlc2NyaXB0aW9uOiAiVmFsdWUgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50IGlzIFwiT2JqZWN0KDEpXCIiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHZhciBib2R5ID0gbmV3IE9iamVjdCgxKTsKCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKGJvZHkpOwp9IGNhdGNoIChlKSB7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCB3aXRoIGVycm9yICcrZSk7Cn0KCi8vQ0hFQ0sjMgppZiAoZi5jb25zdHJ1Y3RvciAhPT0gRnVuY3Rpb24pIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIGNyZWF0ZXMgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZigpIT09dW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuLi4uJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.2.1_A1_T7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTFfVDgiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMi4xX0ExX1Q4LmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCBhbmQgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IiwKCmRlc2NyaXB0aW9uOiAiVmFsdWUgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50IGlzIFwidmFyIDE9MTtcIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgdmFyIGJvZHkgPSAidmFyIDE9MTsiOwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24oYm9keSk7CiAgJEZBSUwoJyMxOiBJZiBib2R5IGlzIG5vdCBwYXJzYWJsZSBhcyBGdW5jdGlvbkJvZHkgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKCEoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSkgewogIAkkRVJST1IoJyMxLjE6IElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uJyk7CiAgfQp9CgogfQp9KTsKCg==","id":"S15.3.2.1_A1_T8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTFfVDkiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMi4xX0ExX1Q5LmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCBhbmQgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IiwKCmRlc2NyaXB0aW9uOiAiVmFsdWUgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50IGlzIFwicmV0dXJuIGFyZ3VtZW50c1swXTtcIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgdmFyIGYgPSBuZXcgRnVuY3Rpb24oInJldHVybiBhcmd1bWVudHNbMF07Iik7CgovL0NIRUNLIzEKaWYgKCEoZiBpbnN0YW5jZW9mIEZ1bmN0aW9uKSkgewogICRFUlJPUignIzM6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCBhbmQgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW4uLi4nKTsKfQoKLy9DSEVDSyMyCmlmIChmKCJBIikgIT09ICJBIikgewogICRFUlJPUignIzI6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCBhbmQgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW4uLi4nKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.2.1_A1_T9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTJfVDEiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMi4xX0EyX1QxLmpzIiwKCmFzc2VydGlvbjogIkl0IGlzIHBlcm1pc3NpYmxlIGJ1dCBub3QgbmVjZXNzYXJ5IHRvIGhhdmUgb25lIGFyZ3VtZW50IGZvciBlYWNoIGZvcm1hbCBwYXJhbWV0ZXIgdG8gYmUgc3BlY2lmaWVkIiwKCmRlc2NyaXB0aW9uOiAiVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlIFwiYXJnMVwiLCBcImFyZzJcIiwgXCJhcmczXCIsIFwicmV0dXJuIGFyZzErYXJnMithcmczO1wiIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAvL0NIRUNLIzEKdHJ5IHsKICB2YXIgZiA9IEZ1bmN0aW9uKCJhcmcxIiwgImFyZzIiLCAiYXJnMyIsICJyZXR1cm4gYXJnMSthcmcyK2FyZzM7Iik7Cn0gY2F0Y2ggKGUpIHsKICAkRkFJTCgnIzE6IHRlc3QgZmFpbGVkJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIShmIGluc3RhbmNlb2YgRnVuY3Rpb24pKXsKICAkRVJST1IoJyMyOiBJdCBpcyBwZXJtaXNzaWJsZSBidXQgbm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVudCBmb3IgZWFjaCBmb3JtYWwgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZCcpOwp9CgovL0NIRUNLIzMKaWYgKGYoMSwyLDMpICE9PSA2KSB7CiAgJEVSUk9SKCcjMzogSXQgaXMgcGVybWlzc2libGUgYnV0IG5vdCBuZWNlc3NhcnkgdG8gaGF2ZSBvbmUgYXJndW1lbnQgZm9yIGVhY2ggZm9ybWFsIHBhcmFtZXRlciB0byBiZSBzcGVjaWZpZWQnKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.2.1_A2_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTJfVDIiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMi4xX0EyX1QyLmpzIiwKCmFzc2VydGlvbjogIkl0IGlzIHBlcm1pc3NpYmxlIGJ1dCBub3QgbmVjZXNzYXJ5IHRvIGhhdmUgb25lIGFyZ3VtZW50IGZvciBlYWNoIGZvcm1hbCBwYXJhbWV0ZXIgdG8gYmUgc3BlY2lmaWVkIiwKCmRlc2NyaXB0aW9uOiAiVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlIFwiYXJnMSwgYXJnMlwiLCBcImFyZzNcIiwgXCJyZXR1cm4gYXJnMSthcmcyK2FyZzM7XCIiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIC8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gRnVuY3Rpb24oImFyZzEsIGFyZzIiLCAiYXJnMyIsICJyZXR1cm4gYXJnMSthcmcyK2FyZzM7Iik7Cn0gY2F0Y2ggKGUpIHsKICAkRkFJTCgnIzE6IHRlc3QgZmFpbGVkJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIShmIGluc3RhbmNlb2YgRnVuY3Rpb24pKXsKICAkRVJST1IoJyMyOiBJdCBpcyBwZXJtaXNzaWJsZSBidXQgbm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVudCBmb3IgZWFjaCBmb3JtYWwgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZCcpOwp9CgovL0NIRUNLIzMKaWYgKGYoIkFCIiwiQkEiLDEpICE9PSAiQUJCQTEiKSB7CiAgJEVSUk9SKCcjMzogSXQgaXMgcGVybWlzc2libGUgYnV0IG5vdCBuZWNlc3NhcnkgdG8gaGF2ZSBvbmUgYXJndW1lbnQgZm9yIGVhY2ggZm9ybWFsIHBhcmFtZXRlciB0byBiZSBzcGVjaWZpZWQnKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.2.1_A2_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTJfVDMiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMi4xX0EyX1QzLmpzIiwKCmFzc2VydGlvbjogIkl0IGlzIHBlcm1pc3NpYmxlIGJ1dCBub3QgbmVjZXNzYXJ5IHRvIGhhdmUgb25lIGFyZ3VtZW50IGZvciBlYWNoIGZvcm1hbCBwYXJhbWV0ZXIgdG8gYmUgc3BlY2lmaWVkIiwKCmRlc2NyaXB0aW9uOiAiVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlIFwiYXJnMSwgYXJnMiwgYXJnM1wiLCBcInJldHVybiBhcmcxK2FyZzIrYXJnMztcIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBGdW5jdGlvbigiYXJnMSwgYXJnMiwgYXJnMyIsICJyZXR1cm4gYXJnMSthcmcyK2FyZzM7Iik7Cn0gY2F0Y2ggKGUpIHsKICAkRkFJTCgnIzE6IHRlc3QgZmFpbGVkJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIShmIGluc3RhbmNlb2YgRnVuY3Rpb24pKXsKICAkRVJST1IoJyMyOiBJdCBpcyBwZXJtaXNzaWJsZSBidXQgbm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVudCBmb3IgZWFjaCBmb3JtYWwgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZCcpOwp9CgovL0NIRUNLIzMKaWYgKGYoMSwxLCJBQkJBIikgIT09ICIyQUJCQSIpIHsKICAkRVJST1IoJyMzOiBJdCBpcyBwZXJtaXNzaWJsZSBidXQgbm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVudCBmb3IgZWFjaCBmb3JtYWwgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZCcpOwp9CgogfQp9KTsKCg==","id":"S15.3.2.1_A2_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTJfVDQiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMi4xX0EyX1Q0LmpzIiwKCmFzc2VydGlvbjogIkl0IGlzIHBlcm1pc3NpYmxlIGJ1dCBub3QgbmVjZXNzYXJ5IHRvIGhhdmUgb25lIGFyZ3VtZW50IGZvciBlYWNoIGZvcm1hbCBwYXJhbWV0ZXIgdG8gYmUgc3BlY2lmaWVkIiwKCmRlc2NyaXB0aW9uOiAiVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlIFwicmV0dXJuXCItcyBvZiB2YXJpb3VzIHJlc3VsdHMiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHZhciBpPTA7Cgp2YXIgcD17dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gImFyZyIrKCsraSk7fX07CgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgZiA9IEZ1bmN0aW9uKHAsIHAsIHAsICJyZXR1cm4gYXJnMSthcmcyK2FyZzM7Iik7Cn0gY2F0Y2ggKGUpIHsKICAkRkFJTCgnIzE6IHRlc3QgZmFpbGVkJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIShmIGluc3RhbmNlb2YgRnVuY3Rpb24pKXsKICAkRVJST1IoJyMyOiBJdCBpcyBwZXJtaXNzaWJsZSBidXQgbm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVudCBmb3IgZWFjaCBmb3JtYWwgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZCcpOwp9CgovL0NIRUNLIzMKaWYgKGYoNCwiMiIsIlFVRVNUSU9OIikgIT09ICI0MlFVRVNUSU9OIikgewogICRFUlJPUignIzM6IEl0IGlzIHBlcm1pc3NpYmxlIGJ1dCBub3QgbmVjZXNzYXJ5IHRvIGhhdmUgb25lIGFyZ3VtZW50IGZvciBlYWNoIGZvcm1hbCBwYXJhbWV0ZXIgdG8gYmUgc3BlY2lmaWVkJyk7Cn0KICAKIH0KfSk7Cgo=","id":"S15.3.2.1_A2_T4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTJfVDUiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMi4xX0EyX1Q1LmpzIiwKCmFzc2VydGlvbjogIkl0IGlzIHBlcm1pc3NpYmxlIGJ1dCBub3QgbmVjZXNzYXJ5IHRvIGhhdmUgb25lIGFyZ3VtZW50IGZvciBlYWNoIGZvcm1hbCBwYXJhbWV0ZXIgdG8gYmUgc3BlY2lmaWVkIiwKCmRlc2NyaXB0aW9uOiAiVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlIFwicmV0dXJuXCItcyBvZiB2YXJpb3VzIHJlc3VsdHMgYW5kIGEgY29uY290ZW5hdGlvbiBvZiBzdHJpbmdzIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgaT0wOwoKdmFyIHA9e3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJhcmciKygrK2kpfX07CgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgZiA9IEZ1bmN0aW9uKHArIiwiK3AscCwgInJldHVybiBhcmcxK2FyZzIrYXJnMzsiKTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQnKTsKfQoKLy9DSEVDSyMyCmlmICghKGYgaW5zdGFuY2VvZiBGdW5jdGlvbikpewogICRFUlJPUignIzI6IEl0IGlzIHBlcm1pc3NpYmxlIGJ1dCBub3QgbmVjZXNzYXJ5IHRvIGhhdmUgb25lIGFyZ3VtZW50IGZvciBlYWNoIGZvcm1hbCBwYXJhbWV0ZXIgdG8gYmUgc3BlY2lmaWVkJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZigiIiwxLDIpICE9PSAiMTIiKSB7CiAgJEVSUk9SKCcjMzogSXQgaXMgcGVybWlzc2libGUgYnV0IG5vdCBuZWNlc3NhcnkgdG8gaGF2ZSBvbmUgYXJndW1lbnQgZm9yIGVhY2ggZm9ybWFsIHBhcmFtZXRlciB0byBiZSBzcGVjaWZpZWQnKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.2.1_A2_T5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTJfVDYiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMi4xX0EyX1Q2LmpzIiwKCmFzc2VydGlvbjogIkl0IGlzIHBlcm1pc3NpYmxlIGJ1dCBub3QgbmVjZXNzYXJ5IHRvIGhhdmUgb25lIGFyZ3VtZW50IGZvciBlYWNoIGZvcm1hbCBwYXJhbWV0ZXIgdG8gYmUgc3BlY2lmaWVkIiwKCmRlc2NyaXB0aW9uOiAiVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlIFwicmV0dXJuXCItcyBvZiB2YXJpb3VzIHJlc3VsdHMgYW5kIGEgY29uY290ZW5hdGlvbiBvZiBzdHJpbmdzIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgaT0wOwoKdmFyIHA9e3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJhcmciKygrK2kpfX07CgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgZiA9IEZ1bmN0aW9uKHArIiwiK3ArIiwiK3AsICJyZXR1cm4gYXJnMSthcmcyK2FyZzM7Iik7Cn0gY2F0Y2ggKGUpIHsKICAkRkFJTCgnIzE6IHRlc3QgZmFpbGVkJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIShmIGluc3RhbmNlb2YgRnVuY3Rpb24pKXsKICAkRVJST1IoJyMyOiBJdCBpcyBwZXJtaXNzaWJsZSBidXQgbm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVudCBmb3IgZWFjaCBmb3JtYWwgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZCcpOwp9CgovL0NIRUNLIzMKaWYgKGYoIiIsMSxwKSAhPT0gIjFhcmc0IikgewogICRFUlJPUignIzM6IEl0IGlzIHBlcm1pc3NpYmxlIGJ1dCBub3QgbmVjZXNzYXJ5IHRvIGhhdmUgb25lIGFyZ3VtZW50IGZvciBlYWNoIGZvcm1hbCBwYXJhbWV0ZXIgdG8gYmUgc3BlY2lmaWVkJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.2.1_A2_T6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTNfVDEiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMi4xX0EzX1QxLmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIGFyZ3VtZW50cyBwLCBib2R5IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiIsCgpkZXNjcmlwdGlvbjogIlZhbHVlcyBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnRzIGFyZSBcInt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93IDE7fX1cIiBhbmQgXCJ7dG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyBcJ2JvZHlcJzt9fVwiIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgcCA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93IDE7fX07CnZhciBib2R5ID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7dGhyb3cgImJvZHkiO319OwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24ocCxib2R5KTsKICAkRkFJTCgnIzE6IHRlc3QgZmFpbGVkJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gMSkgewogIAkkRVJST1IoJyMxLjE6IGkpIExldCBSZXN1bHQoaSkgYmUgdGhlIGZpcnN0IGFyZ3VtZW50OyBpaSkgTGV0IFAgYmUgVG9TdHJpbmcoUmVzdWx0KGkpKScpOwogIH0KfQoKCgogfQp9KTsKCg==","id":"S15.3.2.1_A3_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTNfVDEwIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjJfVGhlX0Z1bmN0aW9uX0NvbnN0cnVjdG9yL1MxNS4zLjIuMV9BM19UMTAuanMiLAoKYXNzZXJ0aW9uOiAiV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggYXJndW1lbnRzIHAsIGJvZHkgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IiwKCmRlc2NyaXB0aW9uOiAiVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlIFwie3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIFwiejt4XCJ9fVwiIGFuZCBcInJldHVybiB0aGlzO1wiIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgYm9keSA9ICJyZXR1cm4gdGhpczsiOwp2YXIgcD17dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIno7eCJ9fTsKCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKHAsYm9keSk7CiAgJEZBSUwoJyMxOiBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikpIHsKICAJJEVSUk9SKCcjMS4xOiBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24nKTsKICB9Cn0KCiB9Cn0pOwoK","id":"S15.3.2.1_A3_T10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTNfVDExIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjJfVGhlX0Z1bmN0aW9uX0NvbnN0cnVjdG9yL1MxNS4zLjIuMV9BM19UMTEuanMiLAoKYXNzZXJ0aW9uOiAiV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggYXJndW1lbnRzIHAsIGJvZHkgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IiwKCmRlc2NyaXB0aW9uOiAiVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlIFwiYSxiLGNcIiBhbmQgXCJ2b2lkIDBcIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgdmFyIHAgPSAiYSxiLGMiOwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24ocCwgdm9pZCAwKTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQgd2l0aCBlcnJvciAnK2UpOwp9CgovL0NIRUNLIzIKaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggYXJndW1lbnRzIHAsIGJvZHkgY3JlYXRlcyBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjInKTsKfQoKLy9DSEVDSyMzCmlmIChmKCkhPT11bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbi4uLicpOwp9CgogfQp9KTsKCg==","id":"S15.3.2.1_A3_T11"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTNfVDEyIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjJfVGhlX0Z1bmN0aW9uX0NvbnN0cnVjdG9yL1MxNS4zLjIuMV9BM19UMTIuanMiLAoKYXNzZXJ0aW9uOiAiV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggYXJndW1lbnRzIHAsIGJvZHkgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IiwKCmRlc2NyaXB0aW9uOiAiVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlIFwiYSxiLGNcIiBhbmQgXCJ1bmRlZmluZWRcIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgdmFyIHAgPSAiYSxiLGMiOwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24ocCwgdW5kZWZpbmVkKTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQgd2l0aCBlcnJvciAnK2UpOwp9CgovL0NIRUNLIzIKaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggYXJndW1lbnRzIHAsIGJvZHkgY3JlYXRlcyBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjInKTsKfQoKLy9DSEVDSyMzCmlmIChmKCkhPT11bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbi4uLicpOwp9CgogfQp9KTsKCg==","id":"S15.3.2.1_A3_T12"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTNfVDEzIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjJfVGhlX0Z1bmN0aW9uX0NvbnN0cnVjdG9yL1MxNS4zLjIuMV9BM19UMTMuanMiLAoKYXNzZXJ0aW9uOiAiV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggYXJndW1lbnRzIHAsIGJvZHkgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IiwKCmRlc2NyaXB0aW9uOiAiVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlIFwiYSxiLGNcIiBhbmQgXCJudWxsXCIiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHZhciBwID0gImEsYixjIjsKCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKHAsIG51bGwpOwp9IGNhdGNoIChlKSB7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCB3aXRoIGVycm9yICcrZSk7Cn0KCi8vQ0hFQ0sjMgppZiAoZi5jb25zdHJ1Y3RvciAhPT0gRnVuY3Rpb24pIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSBjcmVhdGVzIGEgbmV3IEZ1bmN0aW9uIG9iamVjdCBhcyBzcGVjaWZpZWQgaW4gMTMuMicpOwp9CgovL0NIRUNLIzMKaWYgKGYoKSE9PXVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIGFyZ3VtZW50cyBwLCBib2R5IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuLi4uJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.2.1_A3_T13"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTNfVDE0IiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjJfVGhlX0Z1bmN0aW9uX0NvbnN0cnVjdG9yL1MxNS4zLjIuMV9BM19UMTQuanMiLAoKYXNzZXJ0aW9uOiAiV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggYXJndW1lbnRzIHAsIGJvZHkgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IiwKCmRlc2NyaXB0aW9uOiAiVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlIFwiYSxiLGNcIiBhbmQgYW4gdW5kZWZpbmVkIHZhcmlhYmxlIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgcCA9ICJhLGIsYyI7CgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgZiA9IG5ldyBGdW5jdGlvbihwLCBib2R5KTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQgd2l0aCBlcnJvciAnK2UpOwp9CgovL0NIRUNLIzIKaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggYXJndW1lbnRzIHAsIGJvZHkgY3JlYXRlcyBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjInKTsKfQoKLy9DSEVDSyMzCmlmIChmKCkhPT11bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbi4uLicpOwp9Cgp2YXIgYm9keTsKCiB9Cn0pOwoK","id":"S15.3.2.1_A3_T14"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTNfVDE1IiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjJfVGhlX0Z1bmN0aW9uX0NvbnN0cnVjdG9yL1MxNS4zLjIuMV9BM19UMTUuanMiLAoKYXNzZXJ0aW9uOiAiV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggYXJndW1lbnRzIHAsIGJvZHkgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IiwKCmRlc2NyaXB0aW9uOiAiVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlIGFyZSB0d28gZW1wdHkgc3RyaW5ncyIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24oIiIsICIiKTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQgd2l0aCBlcnJvciAnK2UpOwp9CgovL0NIRUNLIzIKaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggYXJndW1lbnRzIHAsIGJvZHkgY3JlYXRlcyBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjInKTsKfQoKLy9DSEVDSyMzCmlmIChmKCkhPT11bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbi4uLicpOwp9CgogfQp9KTsKCg==","id":"S15.3.2.1_A3_T15"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTNfVDIiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMi4xX0EzX1QyLmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIGFyZ3VtZW50cyBwLCBib2R5IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiIsCgpkZXNjcmlwdGlvbjogIlZhbHVlcyBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnRzIGFyZSBcInt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiBcJ2FcJzt9fVwiIGFuZCBcInJldHVybiBhO1wiIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgcCA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiYSI7fX07CnZhciBib2R5ID0gInJldHVybiBhOyI7CgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgZiA9IG5ldyBGdW5jdGlvbihwLGJvZHkpOwp9IGNhdGNoIChlKSB7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCB3aXRoIGVycm9yICcrZSk7Cn0KCi8vQ0hFQ0sjMgppZiAoZi5jb25zdHJ1Y3RvciAhPT0gRnVuY3Rpb24pIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSBjcmVhdGVzIGEgbmV3IEZ1bmN0aW9uIG9iamVjdCBhcyBzcGVjaWZpZWQgaW4gMTMuMicpOwp9CgovL0NIRUNLIzMKaWYgKGYoNDIpIT09NDIpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSBjcmVhdGVzIGEgbmV3IEZ1bmN0aW9uIG9iamVjdCBhcyBzcGVjaWZpZWQgaW4gMTMuMicpOwp9CgoKCiB9Cn0pOwoK","id":"S15.3.2.1_A3_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTNfVDMiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMi4xX0EzX1QzLmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIGFyZ3VtZW50cyBwLCBib2R5IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiIsCgpkZXNjcmlwdGlvbjogIlZhbHVlcyBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnRzIGFyZSBcInt0b1N0cmluZzpmdW5jdGlvbigpe3A9MTtyZXR1cm4gXCJhXCI7fX1cIiBhbmQgXCJ7dG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyBcImJvZHlcIjt9fVwiIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgcCA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3A9MTtyZXR1cm4gImEiO319Owp2YXIgYm9keSA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJib2R5Ijt9fTsKCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKHAsYm9keSk7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCcpOwp9IGNhdGNoIChlKSB7CiAgaWYgKGUgIT09ICJib2R5IikgewogIAkkRVJST1IoJyMxLjE6IGkpIExldCBSZXN1bHQoaSkgYmUgdGhlIGZpcnN0IGFyZ3VtZW50OyBpaSkgTGV0IFAgYmUgVG9TdHJpbmcoUmVzdWx0KGkpKScpOwogIH0KfQoKLy9DSEVDSyMyCmlmIChwICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQ7IGlpKSBMZXQgUCBiZSBUb1N0cmluZyhSZXN1bHQoaSkpJyk7Cn0KCgoKCiB9Cn0pOwoK","id":"S15.3.2.1_A3_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTNfVDQiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMi4xX0EzX1Q0LmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIGFyZ3VtZW50cyBwLCBib2R5IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiIsCgpkZXNjcmlwdGlvbjogIlZhbHVlcyBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnRzIGFyZSBhbiB1bmRlZmluZWQgdmFyaWFibGUgYW5kIFwicmV0dXJuIDEuMTtcIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgdmFyIGJvZHkgPSAicmV0dXJuIDEuMTsiOwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24ocCxib2R5KTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQgd2l0aCBlcnJvciAnK2UpOwp9CgovL0NIRUNLIzIKaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IGFuZCBjcmVhdGVzIGEgbmV3IEZ1bmN0aW9uIG9iamVjdCBhcyBzcGVjaWZpZWQgaW4gMTMuMicpOwp9CgovL0NIRUNLIzMKaWYgKGYoKSE9PTEuMSkgewogICRFUlJPUignIzM6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbi4uLicpOwp9Cgp2YXIgcDsKIH0KfSk7Cgo=","id":"S15.3.2.1_A3_T4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTNfVDUiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMi4xX0EzX1Q1LmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIGFyZ3VtZW50cyBwLCBib2R5IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiIsCgpkZXNjcmlwdGlvbjogIlZhbHVlcyBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnRzIGFyZSBcInZvaWQgMFwiIGFuZCBcInJldHVybiBcXFwiQVxcXCI7XCIiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHZhciBib2R5ID0gInJldHVybiBcIkFcIjsiOwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24odm9pZCAwLGJvZHkpOwp9IGNhdGNoIChlKSB7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCB3aXRoIGVycm9yICcrZSk7Cn0KCi8vQ0hFQ0sjMgppZiAoZi5jb25zdHJ1Y3RvciAhPT0gRnVuY3Rpb24pIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIGNyZWF0ZXMgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZigpIT09J1x1MDA0MScpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW4uLi4nKTsKfQoKCgogfQp9KTsKCg==","id":"S15.3.2.1_A3_T5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTNfVDYiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMi4xX0EzX1Q2LmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIGFyZ3VtZW50cyBwLCBib2R5IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiIsCgpkZXNjcmlwdGlvbjogIlZhbHVlcyBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnRzIGFyZSBcIm51bGxcIiBhbmQgXCJyZXR1cm4gdHJ1ZTtcIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgdmFyIGJvZHkgPSAicmV0dXJuIHRydWU7IjsKCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKG51bGwsYm9keSk7CiAgJEZBSUwoJyMxOiBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikpIHsKICAJJEVSUk9SKCcjMS4xOiBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24nKTsKICB9Cn0KIH0KfSk7Cgo=","id":"S15.3.2.1_A3_T6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTNfVDciLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMi4xX0EzX1Q3LmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIGFyZ3VtZW50cyBwLCBib2R5IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiIsCgpkZXNjcmlwdGlvbjogIlZhbHVlcyBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnRzIGFyZSBcIk9iamVjdChcImFcIilcIiBhbmQgXCJyZXR1cm4gYTtcIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgdmFyIGJvZHkgPSAicmV0dXJuIGE7IjsKCnZhciBwPU9iamVjdCgiYSIpOwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24ocCwgYm9keSk7Cn0gY2F0Y2ggKGUpIHsKICAkRkFJTCgnIzE6IHRlc3QgZmFpbGVkIHdpdGggZXJyb3IgJytlKTsKfQoKLy9DSEVDSyMyCmlmIChmLmNvbnN0cnVjdG9yICE9PSBGdW5jdGlvbikgewogICRFUlJPUignIzI6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCBhbmQgY3JlYXRlcyBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjInKTsKfQoKLy9DSEVDSyMzCmlmIChmKDEpIT09MSkgewogICRFUlJPUignIzM6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbi4uLicpOwp9CiB9Cn0pOwoK","id":"S15.3.2.1_A3_T7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTNfVDgiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMi4xX0EzX1Q4LmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIGFyZ3VtZW50cyBwLCBib2R5IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiIsCgpkZXNjcmlwdGlvbjogIlZhbHVlcyBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnRzIGFyZSBcInVuZGVmaW5lZFwiIGFuZCBcInJldHVybiB0aGlzO1wiIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgYm9keSA9ICJyZXR1cm4gdGhpczsiOwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24odW5kZWZpbmVkLGJvZHkpOwp9IGNhdGNoIChlKSB7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCB3aXRoIGVycm9yICcrZSk7Cn0KCi8vQ0hFQ0sjMgppZiAoZi5jb25zdHJ1Y3RvciAhPT0gRnVuY3Rpb24pIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIGNyZWF0ZXMgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZigpIT09dGhpcykgewogICRFUlJPUignIzM6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbi4uLicpOwp9CgoKCiB9Cn0pOwoK","id":"S15.3.2.1_A3_T8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTNfVDkiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMi4xX0EzX1Q5LmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIGFyZ3VtZW50cyBwLCBib2R5IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiIsCgpkZXNjcmlwdGlvbjogIlZhbHVlcyBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnRzIGFyZSBcIjEsMVwiIGFuZCBcInJldHVybiB0aGlzO1wiIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgYm9keSA9ICJyZXR1cm4gdGhpczsiOwp2YXIgcD0iMSwxIjsKCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKHAsYm9keSk7CiAgJEZBSUwoJyMxOiBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikpIHsKICAJJEVSUk9SKCcjMS4xOiBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24nKTsKICB9Cn0KCiB9Cn0pOwoK","id":"S15.3.2.1_A3_T9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yX0ExIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjJfVGhlX0Z1bmN0aW9uX0NvbnN0cnVjdG9yL1MxNS4zLjJfQTEuanMiLAoKYXNzZXJ0aW9uOiAiV2hlbiBGdW5jdGlvbiBpcyBjYWxsZWQgYXMgcGFydCBvZiBhIG5ldyBleHByZXNzaW9uLCBpdCBpcyBhIGNvbnN0cnVjdG9yOiBpdCBpbml0aWFsaXNlcyB0aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QiLAoKZGVzY3JpcHRpb246ICJDaGVja2luZyB0aGUgY29uc3R1Y3RvciBvZiB0aGUgb2JqZWN0IHRoYXQgaXMgY3JlYXRlZCBhcyBhIG5ldyBGdW5jdGlvbiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgdmFyIGYgPSBuZXcgRnVuY3Rpb247CgovL0NIRUNLIzEKaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMTogV2hlbiBGdW5jdGlvbiBpcyBjYWxsZWQgYXMgcGFydCBvZiBhIG5ldyBleHByZXNzaW9uLCBpdCBpcyBhIGNvbnN0cnVjdG9yOiBpdCBpbml0aWFsaXNlcyB0aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QnKTsKfQoKLy9DSEVDSyMyCmlmIChmID09PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMyOiBXaGVuIEZ1bmN0aW9uIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCcpOwp9CgogfQp9KTsKCg==","id":"S15.3.2_A1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4zX0ExIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjNfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuM19BMS5qcyIsCgphc3NlcnRpb246ICJUaGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaGFzIHRoZSBwcm9wZXJ0eSBcInByb3RvdHlwZVwiIiwKCmRlc2NyaXB0aW9uOiAiQ2hlY2tpbmcgZXhpc3RlbmNlIG9mIHRoZSBwcm9wZXJ0eSBcInByb3RvdHlwZVwiIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBpZighRnVuY3Rpb24uaGFzT3duUHJvcGVydHkoInByb3RvdHlwZSIpKXsKICAkRVJST1IoJyMxOiBUaGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaGFzIHRoZSBwcm9wZXJ0eSAicHJvdG90eXBlIicpOwp9CgoKIH0KfSk7Cgo=","id":"S15.3.3_A1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4zX0EyX1QxIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjNfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuM19BMl9UMS5qcyIsCgphc3NlcnRpb246ICJUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIiwKCmRlc2NyaXB0aW9uOiAiQ2hlY2tpbmcgcHJvdG90eXBlIG9mIEZ1bmN0aW9uIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAvLyBDSEVDSyMKaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoRnVuY3Rpb24pKSkgewogICRFUlJPUignIzE6IHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgdGhlIEZ1bmN0aW9uIHByb3RvdHlwZSBvYmplY3QuJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.3_A2_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4zX0EyX1QyIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjNfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuM19BMl9UMi5qcyIsCgphc3NlcnRpb246ICJUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIiwKCmRlc2NyaXB0aW9uOiAiQWRkIG5ldyBwcm9wZXJ0eSB0byBGdW5jdGlvbi5wcm90b3R5cGUgYW5kIGNoZWNrIGl0IiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBGdW5jdGlvbi5wcm90b3R5cGUuaW5kaWNhdG9yID0gMTsKCi8vQ0hFQ0sjCmlmIChGdW5jdGlvbi5pbmRpY2F0b3IgIT0gMSkgewogICRFUlJPUignIzE6IHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgdGhlIEZ1bmN0aW9uIHByb3RvdHlwZSBvYmplY3QuJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.3_A2_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4zX0EzIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjNfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuM19BMy5qcyIsCgphc3NlcnRpb246ICJGdW5jdGlvbiBjb25zdHJ1Y3RvciBoYXMgbGVuZ3RoIHByb3BlcnR5IHdob3NlIHZhbHVlIGlzIDEiLAoKZGVzY3JpcHRpb246ICJDaGVja2luZyBGdW5jdGlvbi5sZW5ndGggcHJvcGVydHkiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIC8vQ0hFQ0sjMQppZiAoIUZ1bmN0aW9uLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSl7CiAgJEVSUk9SKCcjMTogRnVuY3Rpb24gY29uc3RydWN0b3IgaGFzIGxlbmd0aCBwcm9wZXJ0eScpOwp9CgovL0NIRUNLIzIKaWYgKEZ1bmN0aW9uLmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzI6IEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGxlbmd0aCBwcm9wZXJ0eSB2YWx1ZSBpcyAxJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.3_A3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4zLjFfQTEiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuM19Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Db25zdHJ1Y3Rvci8xNS4zLjMuMV9GdW5jdGlvbi5wcm90b3R5cGUvUzE1LjMuMy4xX0ExLmpzIiwKCmFzc2VydGlvbjogIlRoZSBGdW5jdGlvbi5wcm90b3R5cGUgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkiLAoKZGVzY3JpcHRpb246ICJDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBGdW5jdGlvbi5wcm90b3R5cGUgcHJvcGVydHkgZmFpbHMiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHZhciBvYmogPSBGdW5jdGlvbi5wcm90b3R5cGU7CkZ1bmN0aW9uLnByb3RvdHlwZSA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OwoKLy9DSEVDSyMxCmlmIChGdW5jdGlvbi5wcm90b3R5cGUgIT09IG9iaikgewogICRFUlJPUignIzE6IHRoZSBGdW5jdGlvbi5wcm90b3R5cGUgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIFJlYWRPbmx5LicpOwp9CgovL0NIRUNLIzIKdHJ5IHsKICBpZihGdW5jdGlvbi5wcm90b3R5cGUoKSE9PXVuZGVmaW5lZCl7CiAgICRFUlJPUignIzI6IHRoZSBGdW5jdGlvbi5wcm90b3R5cGUgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIFJlYWRPbmx5Jyk7CiAgfQp9IGNhdGNoIChlKSB7CiAgJEVSUk9SKCcjMi4xOiB0aGUgRnVuY3Rpb24ucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBSZWFkT25seTogJytlKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.3.1_A1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4zLjFfQTIiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuM19Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Db25zdHJ1Y3Rvci8xNS4zLjMuMV9GdW5jdGlvbi5wcm90b3R5cGUvUzE1LjMuMy4xX0EyLmpzIiwKCmFzc2VydGlvbjogIlRoZSBGdW5jdGlvbi5wcm90b3R5cGUgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0iLAoKZGVzY3JpcHRpb246ICJDaGVja2luZyBpZiBlbnVtZXJhdGluZyB0aGUgRnVuY3Rpb24ucHJvdG90eXBlIHByb3BlcnR5IGZhaWxzIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAvLyBDSEVDSyMxCmlmIChGdW5jdGlvbi5wcm9wZXJ0eUlzRW51bWVyYWJsZSgncHJvdG90eXBlJykpIHsKICAkRVJST1IoJyMxOiB0aGUgRnVuY3Rpb24ucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RW51bScpOwp9CgovLyBDSEVDSyMyCnZhciBjb3VudD0wOwoKZm9yIChwIGluIEZ1bmN0aW9uKXsKICBpZiAocD09PSJwcm90b3R5cGUiKSBjb3VudCsrOwp9CgppZiAoY291bnQgIT09IDApIHsKICAkRVJST1IoJyMyOiB0aGUgRnVuY3Rpb24ucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RW51bScpOwp9CgogfQp9KTsKCg==","id":"S15.3.3.1_A2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4zLjFfQTMiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuM19Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Db25zdHJ1Y3Rvci8xNS4zLjMuMV9GdW5jdGlvbi5wcm90b3R5cGUvUzE1LjMuMy4xX0EzLmpzIiwKCmFzc2VydGlvbjogIlRoZSBGdW5jdGlvbi5wcm90b3R5cGUgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZSIsCgpkZXNjcmlwdGlvbjogIkNoZWNraW5nIGlmIGRlbGV0aW5nIHRoZSBGdW5jdGlvbi5wcm90b3R5cGUgcHJvcGVydHkgZmFpbHMiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIGRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGU7CgovL0NIRUNLIzEKaWYgKCEoRnVuY3Rpb24uaGFzT3duUHJvcGVydHkoJ3Byb3RvdHlwZScpKSkgewogICRFUlJPUignIzE6IHRoZSBGdW5jdGlvbi5wcm90b3R5cGUgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUuJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.3.1_A3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjFfQTFfVDEiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0L1MxNS4zLjQuMV9BMV9UMS5qcyIsCgphc3NlcnRpb246ICJUaGUgaW5pdGlhbCB2YWx1ZSBvZiBGdW5jdGlvbi5wcm90b3R5cGUuY29uc3RydWN0b3IgaXMgdGhlIGJ1aWx0LWluIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIiwKCmRlc2NyaXB0aW9uOiAiQ2hlY2tpbmcgRnVuY3Rpb24ucHJvdG90eXBlLmNvbnN0cnVjdG9yIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAvL0NIRUNLIzEKaWYgKEZ1bmN0aW9uLnByb3RvdHlwZS5jb25zdHJ1Y3RvciAhPT0gRnVuY3Rpb24pIHsKICAkRVJST1IoJyMxOiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBGdW5jdGlvbi5wcm90b3R5cGUuY29uc3RydWN0b3IgaXMgdGhlIGJ1aWx0LWluIEZ1bmN0aW9uIGNvbnN0cnVjdG9yJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.4.1_A1_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40X0ExIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC9TMTUuMy40X0ExLmpzIiwKCmFzc2VydGlvbjogIlRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0IGlzIGl0c2VsZiBhIEZ1bmN0aW9uIG9iamVjdCAoaXRzIFtbQ2xhc3NdXSBpcyBcIkZ1bmN0aW9uXCIpIiwKCmRlc2NyaXB0aW9uOiAiT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyByZXR1cm5zIFtvYmplY3QrW1tDbGFzc11dK10iLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIGlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoRnVuY3Rpb24ucHJvdG90eXBlKSAhPT0gIltvYmplY3QgRnVuY3Rpb25dIikgewogICRFUlJPUignIzI6IFRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0IGlzIGl0c2VsZiBhIEZ1bmN0aW9uICcgKwogICAgICAgICAnb2JqZWN0IChpdHMgW1tDbGFzc11dIGlzICJGdW5jdGlvbiIpICgxNS4zLjQpJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.4_A1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40X0EyX1QxIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC9TMTUuMy40X0EyX1QxLmpzIiwKCmFzc2VydGlvbjogIlRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0IGlzIGl0c2VsZiBhIEZ1bmN0aW9uIG9iamVjdCB0aGF0LCB3aGVuIGludm9rZWQsIGFjY2VwdHMgYW55IGFyZ3VtZW50cyBhbmQgcmV0dXJucyB1bmRlZmluZWQiLAoKZGVzY3JpcHRpb246ICJDYWxsIEZ1bmN0aW9uLnByb3RvdHlwZSgpIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAvL0NIRUNLIzEKdHJ5IHsKICBpZiAoRnVuY3Rpb24ucHJvdG90eXBlKCkgIT09IHVuZGVmaW5lZCkgewogICAgJEVSUk9SKCcjMTogVGhlIEZ1bmN0aW9uIHByb3RvdHlwZSBvYmplY3QgaXMgaXRzZWxmIGEgRnVuY3Rpb24gb2JqZWN0IHRoYXQsIHdoZW4gaW52b2tlZCwgYWNjZXB0cyBhbnkgYXJndW1lbnRzIGFuZCByZXR1cm5zIHVuZGVmaW5lZCcpOwogIH0KfSBjYXRjaCAoZSkgewogICRFUlJPUignIzEuMTogVGhlIEZ1bmN0aW9uIHByb3RvdHlwZSBvYmplY3QgaXMgaXRzZWxmIGEgRnVuY3Rpb24gb2JqZWN0IHRoYXQsIHdoZW4gaW52b2tlZCwgYWNjZXB0cyBhbnkgYXJndW1lbnRzIGFuZCByZXR1cm5zIHVuZGVmaW5lZDogJytlKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.4_A2_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40X0EyX1QyIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC9TMTUuMy40X0EyX1QyLmpzIiwKCmFzc2VydGlvbjogIlRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0IGlzIGl0c2VsZiBhIEZ1bmN0aW9uIG9iamVjdCB0aGF0LCB3aGVuIGludm9rZWQsIGFjY2VwdHMgYW55IGFyZ3VtZW50cyBhbmQgcmV0dXJucyB1bmRlZmluZWQiLAoKZGVzY3JpcHRpb246ICJDYWxsIEZ1bmN0aW9uLnByb3RvdHlwZShudWxsLHZvaWQgMCkiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIC8vQ0hFQ0sjMQp0cnkgewogIGlmIChGdW5jdGlvbi5wcm90b3R5cGUobnVsbCx2b2lkIDApICE9PSB1bmRlZmluZWQpIHsKICAgICRFUlJPUignIzE6IFRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0IGlzIGl0c2VsZiBhIEZ1bmN0aW9uIG9iamVjdCB0aGF0LCB3aGVuIGludm9rZWQsIGFjY2VwdHMgYW55IGFyZ3VtZW50cyBhbmQgcmV0dXJucyB1bmRlZmluZWQnKTsKICB9Cn0gY2F0Y2ggKGUpIHsKICAkRVJST1IoJyMxLjE6IFRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0IGlzIGl0c2VsZiBhIEZ1bmN0aW9uIG9iamVjdCB0aGF0LCB3aGVuIGludm9rZWQsIGFjY2VwdHMgYW55IGFyZ3VtZW50cyBhbmQgcmV0dXJucyB1bmRlZmluZWQ6ICcrZSk7Cn0KCiB9Cn0pOwoK","id":"S15.3.4_A2_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40X0EyX1QzIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC9TMTUuMy40X0EyX1QzLmpzIiwKCmFzc2VydGlvbjogIlRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0IGlzIGl0c2VsZiBhIEZ1bmN0aW9uIG9iamVjdCB0aGF0LCB3aGVuIGludm9rZWQsIGFjY2VwdHMgYW55IGFyZ3VtZW50cyBhbmQgcmV0dXJucyB1bmRlZmluZWQiLAoKZGVzY3JpcHRpb246ICJDYWxsIEZ1bmN0aW9uLnByb3RvdHlwZSh4KSwgd2hlcmUgeCBpcyB1bmRlZmluZWQgdmFyaWFibGUiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIC8vQ0hFQ0sjMQp0cnkgewogIGlmIChGdW5jdGlvbi5wcm90b3R5cGUoeCkgIT09IHVuZGVmaW5lZCkgewogICAgdmFyIHg7CiAgICAkRVJST1IoJyMxOiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBpcyBpdHNlbGYgYSBGdW5jdGlvbiBvYmplY3QgdGhhdCwgd2hlbiBpbnZva2VkLCBhY2NlcHRzIGFueSBhcmd1bWVudHMgYW5kIHJldHVybnMgdW5kZWZpbmVkJyk7CiAgfQp9IGNhdGNoIChlKSB7CiAgJEVSUk9SKCcjMS4xOiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBpcyBpdHNlbGYgYSBGdW5jdGlvbiBvYmplY3QgdGhhdCwgd2hlbiBpbnZva2VkLCBhY2NlcHRzIGFueSBhcmd1bWVudHMgYW5kIHJldHVybnMgdW5kZWZpbmVkOiAnK2UpOwp9CgoKIH0KfSk7Cgo=","id":"S15.3.4_A2_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40X0EzX1QyIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC9TMTUuMy40X0EzX1QyLmpzIiwKCmFzc2VydGlvbjogIlRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBpcyB0aGUgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QgKDE1LjMuMi4xKSIsCgpkZXNjcmlwdGlvbjogIkFkZCBuZXcgcHJvcGVydHkgdG8gT2JqZWN0LnByb3RvdHlwZSBhbmQgY2hlY2sgaXQgYXQgRnVuY3Rpb24ucHJvdG90eXBlIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBPYmplY3QucHJvdG90eXBlLmluZGljYXRvciA9IDE7CgovL0NIRUNLIzEKaWYgKEZ1bmN0aW9uLnByb3RvdHlwZS5pbmRpY2F0b3IhPT0xKSB7CiAgJEVSUk9SKCcjMTogVGhlIHZhbHVlIG9mIHRoZSBpbnRlcm5hbCBbW1Byb3RvdHlwZV1dIHByb3BlcnR5IG9mIHRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0IGlzIHRoZSBPYmplY3QgcHJvdG90eXBlIG9iamVjdCAoMTUuMy4yLjEpJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.4_A3_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40X0E0IiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC9TMTUuMy40X0E0LmpzIiwKCmFzc2VydGlvbjogIlRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0IGRvZXMgbm90IGhhdmUgYSB2YWx1ZU9mIHByb3BlcnR5IG9mIGl0cyBvd24uIGhvd2V2ZXIsIGl0IGluaGVyaXRzIHRoZSB2YWx1ZU9mIHByb3BlcnR5IGZyb20gdGhlIE9iamVjdCBwcm90b3R5cGUgT2JqZWN0IiwKCmRlc2NyaXB0aW9uOiAiQ2hlY2tpbmcgdmFsdWVPZiBwcm9wZXJ0eSBhdCBGdW5jdGlvbi5wcm90b3R5cGUiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIC8vQ0hFQ0sjMQppZiAoRnVuY3Rpb24ucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJ2YWx1ZU9mIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIEZ1bmN0aW9uIHByb3RvdHlwZSBvYmplY3QgZG9lcyBub3QgaGF2ZSBhIHZhbHVlT2YgcHJvcGVydHkgb2YgaXRzIG93bicpOwp9CgovL0NIRUNLIzIKaWYgKHR5cGVvZiBGdW5jdGlvbi5wcm90b3R5cGUudmFsdWVPZiA9PT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMyOiBob3dldmVyLCBpdCBpbmhlcml0cyB0aGUgdmFsdWVPZiBwcm9wZXJ0eSBmcm9tIHRoZSBPYmplY3QgcHJvdG90eXBlIE9iamVjdCcpOwp9CgovL0NIRUNLIzMKaWYgKEZ1bmN0aW9uLnByb3RvdHlwZS52YWx1ZU9mICE9PSBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YpIHsKICAkRVJST1IoJyMzOiBob3dldmVyLCBpdCBpbmhlcml0cyB0aGUgdmFsdWVPZiBwcm9wZXJ0eSBmcm9tIHRoZSBPYmplY3QgcHJvdG90eXBlIE9iamVjdCcpOwp9CgogfQp9KTsKCg==","id":"S15.3.4_A4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40X0E1IiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC9TMTUuMy40X0E1LmpzIiwKCmFzc2VydGlvbjogIlRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0IGlzIGl0c2VsZiBhIEZ1bmN0aW9uIG9iamVjdCB3aXRob3V0IFtbY3JlYXRlXV0gcHJvcGVydHkiLAoKZGVzY3JpcHRpb246ICJDaGVja2luZyBpZiBjcmVhdGluZyBcIm5ldyBGdW5jdGlvbi5wcm90b3R5cGUgb2JqZWN0XCIgZmFpbHMiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIC8vQ0hFQ0sjCnRyeSB7CiAgdmFyIG9iaiA9IG5ldyBGdW5jdGlvbi5wcm90b3R5cGU7CiAgJEZBSUwoJyMxOiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBpcyBpdHNlbGYgYSBGdW5jdGlvbiBvYmplY3Qgd2l0aG91dCBbW2NyZWF0ZV1dIHByb3BlcnR5OiAnK2UpOwp9IGNhdGNoIChlKSB7CiAgJFBSSU5UKCIjMS4xOiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBpcyBpdHNlbGYgYSBGdW5jdGlvbiBvYmplY3Qgd2l0aG91dCBbW2NyZWF0ZV1dIHByb3BlcnR5ICIrZSk7Cgp9CgogfQp9KTsKCg==","id":"S15.3.4_A5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjJfQTEwIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuMl9GdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcvUzE1LjMuNC4yX0ExMC5qcyIsCgphc3NlcnRpb246ICJUaGUgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seSIsCgpkZXNjcmlwdGlvbjogIkNoZWNraW5nIGlmIHZhcnlpbmcgdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgZmFpbHMiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIC8vQ0hFQ0sjMQppZiAoIShGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMTogdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZyBoYXMgbGVuZ3RoIHByb3BlcnR5LicpOwp9Cgp2YXIgb2JqID0gRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aDsKCkZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggPSBmdW5jdGlvbigpe3JldHVybiAic2hpZnRlZCI7fTsKCi8vQ0hFQ0sjMgppZiAoRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCAhPT0gb2JqKSB7CiAgJEVSUk9SKCcjMjogdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZyBsZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIFJlYWRPbmx5LicpOwp9CgogfQp9KTsKCg==","id":"S15.3.4.2_A10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjJfQTExIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuMl9GdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcvUzE1LjMuNC4yX0ExMS5qcyIsCgphc3NlcnRpb246ICJUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b1N0cmluZyBtZXRob2QgaXMgMCIsCgpkZXNjcmlwdGlvbjogIkNoZWNraW5nIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGgiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIC8vQ0hFQ0sjMQppZiAoIShGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpKSkgewogICRFUlJPUignIzE6IFRoZSBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcgaGFzIHRoZSBsZW5ndGggcHJvcGVydHknKTsKfQoKLy9DSEVDSyMyCmlmIChGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogVGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiB0aGUgdG9TdHJpbmcgbWV0aG9kIGlzIDAnKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.4.2_A11"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjJfQTEyIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuMl9GdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcvUzE1LjMuNC4yX0ExMi5qcyIsCgphc3NlcnRpb246ICJUaGUgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nIGZ1bmN0aW9uIGlzIG5vdCBnZW5lcmljOyBpdCB0aHJvd3MgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGlmIGl0cyB0aGlzIHZhbHVlIGlzIG5vdCBhIEZ1bmN0aW9uIG9iamVjdC4iLAoKZGVzY3JpcHRpb246ICIiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHVuZGVmaW5lZCk7CgogfQp9KTsKCg==","id":"S15.3.4.2_A12"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjJfQTEzIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuMl9GdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcvUzE1LjMuNC4yX0ExMy5qcyIsCgphc3NlcnRpb246ICJUaGUgdG9TdHJpbmcgZnVuY3Rpb24gaXMgbm90IGdlbmVyaWM7IGl0IHRocm93cyBhIFR5cGVFcnJvciBleGNlcHRpb24gaWYgaXRzIHRoaXMgdmFsdWUgaXMgbm90IGEgRnVuY3Rpb24gb2JqZWN0LiIsCgpkZXNjcmlwdGlvbjogIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobnVsbCk7CgogfQp9KTsKCg==","id":"S15.3.4.2_A13"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjJfQTE0IiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuMl9GdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcvUzE1LjMuNC4yX0ExNC5qcyIsCgphc3NlcnRpb246ICJUaGUgdG9TdHJpbmcgZnVuY3Rpb24gaXMgbm90IGdlbmVyaWM7IGl0IHRocm93cyBhIFR5cGVFcnJvciBleGNlcHRpb24gaWYgaXRzIHRoaXMgdmFsdWUgaXMgbm90IGEgRnVuY3Rpb24gb2JqZWN0LiIsCgpkZXNjcmlwdGlvbjogIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoe30pOwoKIH0KfSk7Cgo=","id":"S15.3.4.2_A14"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjJfQTE1IiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuMl9GdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcvUzE1LjMuNC4yX0ExNS5qcyIsCgphc3NlcnRpb246ICJUaGUgdG9TdHJpbmcgZnVuY3Rpb24gaXMgbm90IGdlbmVyaWM7IGl0IHRocm93cyBhIFR5cGVFcnJvciBleGNlcHRpb24gaWYgaXRzIHRoaXMgdmFsdWUgaXMgbm90IGEgRnVuY3Rpb24gb2JqZWN0LiIsCgpkZXNjcmlwdGlvbjogIldoZXRoZXIgb3Igbm90IHRoZXkgYXJlIGNhbGxhYmxlLCBSZWdFeHAgb2JqZWN0cyBhcmUgbm90IEZ1bmN0aW9uIG9iamVjdHMsIHNvIHRvU3RyaW5nIHNob3VsZCB0aHJvdyBhIFR5cGVFcnJvci4iLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKC94Lyk7CgogfQp9KTsKCg==","id":"S15.3.4.2_A15"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjJfQTE2IiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuMl9GdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcvUzE1LjMuNC4yX0ExNi5qcyIsCgphc3NlcnRpb246ICJUaGUgdG9TdHJpbmcgZnVuY3Rpb24gaXMgbm90IGdlbmVyaWM7IGl0IHRocm93cyBhIFR5cGVFcnJvciBleGNlcHRpb24gaWYgaXRzIHRoaXMgdmFsdWUgaXMgbm90IGEgRnVuY3Rpb24gb2JqZWN0LiIsCgpkZXNjcmlwdGlvbjogIlRoZSBTdHJpbmcgY29uc3RydWN0b3IsIGdpdmVuIGFuIG9iamVjdCwgc2hvdWxkIGludm9rZSB0aGF0IG9iamVjdFwncyB0b1N0cmluZyBtZXRob2QgYXMgYSBtZXRob2QsIGkuZS4sIHdpdGggaXRzIHRoaXMgdmFsdWUgYm91bmQgdG8gdGhhdCBvYmplY3QuIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgb2JqID0ge3RvU3RyaW5nOiBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmd9OwoKU3RyaW5nKG9iaik7CgogfQp9KTsKCg==","id":"S15.3.4.2_A16"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjJfQTYiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4yX0Z1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy9TMTUuMy40LjJfQTYuanMiLAoKYXNzZXJ0aW9uOiAiRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5IiwKCmRlc2NyaXB0aW9uOiAiQ2hlY2tpbmcgaWYgb2J0YWluaW5nIHRoZSBwcm90b3R5cGUgcHJvcGVydHkgb2YgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nIGZhaWxzIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAvL0NIRUNLIzEKaWYgKEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZyBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eScrRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLnByb3RvdHlwZSk7Cn0KCiB9Cn0pOwoK","id":"S15.3.4.2_A6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjJfQTciLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4yX0Z1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy9TMTUuMy40LjJfQTcuanMiLAoKYXNzZXJ0aW9uOiAiRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nIGNhblwndCBiZSB1c2VkIGFzIGNvbnN0cnVjdG9yIiwKCmRlc2NyaXB0aW9uOiAiQ2hlY2tpbmcgaWYgY3JlYXRpbmcgXCJuZXcgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nXCIgZmFpbHMiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHZhciBGQUNUT1JZID0gRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nOwoKdHJ5IHsKICB2YXIgaW5zdGFuY2UgPSBuZXcgRkFDVE9SWTsKICAkRkFJTCgnIzE6IEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZyBjYW5cJ3QgYmUgdXNlZCBhcyBjb25zdHJ1Y3RvcicpOwp9IGNhdGNoIChlKSB7CiAgJFBSSU5UKGUpOwp9CgogfQp9KTsKCg==","id":"S15.3.4.2_A7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjJfQTgiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4yX0Z1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy9TMTUuMy40LjJfQTguanMiLAoKYXNzZXJ0aW9uOiAiVGhlIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0iLAoKZGVzY3JpcHRpb246ICJDaGVja2luZyBpZiBlbnVtZXJhdGluZyB0aGUgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBmYWlscyIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgLy9DSEVDSyMwCmlmICghKEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMwOiB0aGUgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nIGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Cn0KCgovLyBDSEVDSyMxCmlmIChGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnRFbnVtJyk7Cn0KCi8vIENIRUNLIzIKZm9yIChwIGluIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZyl7CiAgaWYgKHA9PT0ibGVuZ3RoIikKICAgICAgJEVSUk9SKCcjMjogdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnRFbnVtJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.4.2_A8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjJfQTkiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4yX0Z1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy9TMTUuMy40LjJfQTkuanMiLAoKYXNzZXJ0aW9uOiAiVGhlIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZSIsCgpkZXNjcmlwdGlvbjogIkNoZWNraW5nIGlmIGRlbGV0aW5nIHRoZSBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoIHByb3BlcnR5IGZhaWxzIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAvL0NIRUNLIzAKaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IHRoZSBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcgaGFzIGxlbmd0aCBwcm9wZXJ0eScpOwp9CgovL0NIRUNLIzEKaWYgKGRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogVGhlIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKLy9DSEVDSyMyCmlmICghKEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgogfQp9KTsKCg==","id":"S15.3.4.2_A9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTEwIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuM19GdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkvUzE1LjMuNC4zX0ExMC5qcyIsCgphc3NlcnRpb246ICJUaGUgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seSIsCgpkZXNjcmlwdGlvbjogIkNoZWNraW5nIGlmIHZhcnlpbmcgdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5sZW5ndGggcHJvcGVydHkgZmFpbHMiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIC8vQ0hFQ0sjMQppZiAoIShGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMTogdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSBoYXMgbGVuZ3RoIHByb3BlcnR5LicpOwp9Cgp2YXIgb2JqID0gRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmxlbmd0aDsKCkZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5sZW5ndGggPSBmdW5jdGlvbigpe3JldHVybiAic2hpZnRlZCI7fTsKCi8vQ0hFQ0sjMgppZiAoRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmxlbmd0aCAhPT0gb2JqKSB7CiAgJEVSUk9SKCcjMjogdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSBsZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIFJlYWRPbmx5LicpOwp9CgogfQp9KTsKCg==","id":"S15.3.4.3_A10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTExIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuM19GdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkvUzE1LjMuNC4zX0ExMS5qcyIsCgphc3NlcnRpb246ICJUaGUgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bSIsCgpkZXNjcmlwdGlvbjogIlRDaGVja2luZyBpZiBlbnVtZXJhdGluZyB0aGUgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmxlbmd0aCBwcm9wZXJ0eSBmYWlscyIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgLy9DSEVDSyMwCmlmICghKEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMwOiB0aGUgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5IGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Cn0KCgovLyBDSEVDSyMxCmlmIChGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnRFbnVtJyk7Cn0KCi8vIENIRUNLIzIKZm9yICh2YXIgcCBpbiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkpewogIGlmIChwPT09Imxlbmd0aCIpCiAgICAgICRFUlJPUignIzI6IHRoZSBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RW51bScpOwp9CgogfQp9KTsKCg==","id":"S15.3.4.3_A11"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTEyIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuM19GdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkvUzE1LjMuNC4zX0ExMi5qcyIsCgphc3NlcnRpb246ICJGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkiLAoKZGVzY3JpcHRpb246ICJDaGVja2luZyBpZiBvYnRhaW5pbmcgdGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBvZiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgZmFpbHMiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIC8vQ0hFQ0sjMQppZiAoRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5IGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5JytGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkucHJvdG90eXBlKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.4.3_A12"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTEzIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuM19GdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkvUzE1LjMuNC4zX0ExMy5qcyIsCgphc3NlcnRpb246ICJJZiBJc0NhbGxhYmxlKGZ1bmMpIGlzIGZhbHNlLCB0aGVuIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4iLAoKZGVzY3JpcHRpb246ICIiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5jYWxsKHVuZGVmaW5lZCwge30sIFtdKTsKCiB9Cn0pOwoK","id":"S15.3.4.3_A13"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTE0IiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuM19GdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkvUzE1LjMuNC4zX0ExNC5qcyIsCgphc3NlcnRpb246ICJJZiBJc0NhbGxhYmxlKGZ1bmMpIGlzIGZhbHNlLCB0aGVuIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4iLAoKZGVzY3JpcHRpb246ICIiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5jYWxsKG51bGwsIHt9LCBbXSk7CgogfQp9KTsKCg==","id":"S15.3.4.3_A14"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTE1IiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuM19GdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkvUzE1LjMuNC4zX0ExNS5qcyIsCgphc3NlcnRpb246ICJJZiBJc0NhbGxhYmxlKGZ1bmMpIGlzIGZhbHNlLCB0aGVuIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4iLAoKZGVzY3JpcHRpb246ICIiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5jYWxsKHt9LCB7fSwgW10pOwoKIH0KfSk7Cgo=","id":"S15.3.4.3_A15"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTE2IiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuM19GdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkvUzE1LjMuNC4zX0ExNi5qcyIsCgphc3NlcnRpb246ICJJZiBJc0NhbGxhYmxlKGZ1bmMpIGlzIGZhbHNlLCB0aGVuIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4iLAoKZGVzY3JpcHRpb246ICJBIFJlZ0V4cCBpcyBub3QgYSBmdW5jdGlvbiwgYnV0IGl0IG1heSBiZSBjYWxsYWJsZS4gSWZmIGl0IGlzLCBpdFwncyB0eXBlb2Ygc2hvdWxkIGJlIFwnZnVuY3Rpb25cJywgaW4gd2hpY2ggY2FzZSBhcHBseSBzaG91bGQgYWNjZXB0IGl0IGFzIGEgdmFsaWQgdGhpcyB2YWx1ZS4iLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHZhciByZSA9ICgveC8pOwppZiAodHlwZW9mIHJlID09PSAnZnVuY3Rpb24nKSB7CiAgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwocmUsIHVuZGVmaW5lZCwgWyd4J10pOwp9IGVsc2UgewogIHRyeSB7CiAgICBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKHJlLCB1bmRlZmluZWQpOwogICAgJEZBSUwoJyMxOiBJZiBJc0NhbGxhYmxlKGZ1bmMpIGlzIGZhbHNlLCAnICsKICAgICAgICAgICd0aGVuIChiaW5kIHNob3VsZCkgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uJyk7CiAgfSBjYXRjaCAoZSkgewogICAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAgICAgJEVSUk9SKCcjMTogVHlwZUVycm9yIGV4cGVjdGVkLiBBY3R1YWw6ICcgKyBlKTsKICAgIH0KICB9Cn0KCiB9Cn0pOwoK","id":"S15.3.4.3_A16"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTFfVDEiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTFfVDEuanMiLAoKYXNzZXJ0aW9uOiAiVGhlIGFwcGx5IG1ldGhvZCBwZXJmb3JtcyBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QuIElmIHRoZSBvYmplY3QgZG9lcyBub3QgaGF2ZSBhIFtbQ2FsbF1dIHByb3BlcnR5LCBhIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIiwKCmRlc2NyaXB0aW9uOiAiQ2FsbGluZyBcImFwcGx5XCIgbWV0aG9kIG9mIHRoZSBvYmplY3QgdGhhdCBkb2VzIG5vdCBoYXZlIGEgW1tDYWxsXV0gcHJvcGVydHkuIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgcHJvdG89RnVuY3Rpb24oKTsKCmZ1bmN0aW9uIEZBQ1RPUlkoKXt9OwoKRkFDVE9SWS5wcm90b3R5cGU9cHJvdG87Cgp2YXIgb2JqID0gbmV3IEZBQ1RPUlk7CgovL0NIRUNLIzEKaWYgKHR5cGVvZiBvYmouYXBwbHkgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiBhcHBseSBtZXRob2QgYWNjZXNzZWQnKTsKfQoKLy9DSEVDSyMyCnRyeSB7CiAgb2JqLmFwcGx5KCk7CiAgJEZBSUwoJyMyOiBJZiB0aGUgb2JqZWN0IGRvZXMgbm90IGhhdmUgYSBbW0NhbGxdXSBwcm9wZXJ0eSwgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93bicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAJJEVSUk9SKCcjMi4xOiBJZiB0aGUgb2JqZWN0IGRvZXMgbm90IGhhdmUgYSBbW0NhbGxdXSBwcm9wZXJ0eSwgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93bicpOwogIH0KfQoKIH0KfSk7Cgo=","id":"S15.3.4.3_A1_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTFfVDIiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTFfVDIuanMiLAoKYXNzZXJ0aW9uOiAiVGhlIGFwcGx5IG1ldGhvZCBwZXJmb3JtcyBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QuIElmIHRoZSBvYmplY3QgZG9lcyBub3QgaGF2ZSBhIFtbQ2FsbF1dIHByb3BlcnR5LCBhIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIiwKCmRlc2NyaXB0aW9uOiAiQ2FsbGluZyBcImFwcGx5XCIgbWV0aG9kIG9mIHRoZSBvYmplY3QgdGhhdCBkb2VzIG5vdCBoYXZlIGEgW1tDYWxsXV0gcHJvcGVydHkuIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBmdW5jdGlvbiBGQUNUT1JZKCl7fTsKCkZBQ1RPUlkucHJvdG90eXBlPUZ1bmN0aW9uLnByb3RvdHlwZTsKCnZhciBvYmogPSBuZXcgRkFDVE9SWTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIG9iai5hcHBseSAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzE6IGFwcGx5IG1ldGhvZCBhY2Nlc3NlZCcpOwp9CgovL0NIRUNLIzIKdHJ5IHsKICBvYmouYXBwbHkoKTsKICAkRkFJTCgnIzI6IElmIHRoZSBvYmplY3QgZG9lcyBub3QgaGF2ZSBhIFtbQ2FsbF1dIHByb3BlcnR5LCBhIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSkgewogIAkkRVJST1IoJyMyLjE6IElmIHRoZSBvYmplY3QgZG9lcyBub3QgaGF2ZSBhIFtbQ2FsbF1dIHByb3BlcnR5LCBhIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duJyk7CiAgfQp9CgogfQp9KTsKCg==","id":"S15.3.4.3_A1_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTJfVDEiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTJfVDEuanMiLAoKYXNzZXJ0aW9uOiAiVGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiB0aGUgYXBwbHkgbWV0aG9kIGlzIDIiLAoKZGVzY3JpcHRpb246ICJDaGVja2luZyBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkubGVuZ3RoIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAvL0NIRUNLIzEKaWYgKHR5cGVvZiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiBhcHBseSBtZXRob2QgZGVmaW5lZCcpOwp9CgovL0NIRUNLIzIKaWYgKHR5cGVvZiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkubGVuZ3RoID09PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzI6IGxlbmd0aCBwcm9wZXJ0eSBvZiBhcHBseSBtZXRob2QgZGVmaW5lZCcpOwp9CgovL0NIRUNLIzMKaWYgKEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMzOiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBhcHBseSBtZXRob2QgaXMgMicpOwp9CgogfQp9KTsKCg==","id":"S15.3.4.3_A2_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTJfVDIiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTJfVDIuanMiLAoKYXNzZXJ0aW9uOiAiVGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiB0aGUgYXBwbHkgbWV0aG9kIGlzIDIiLAoKZGVzY3JpcHRpb246ICJDaGVja2luZyBmLmFwcGx5Lmxlbmd0aCwgd2hlcmUgZiBpcyBuZXcgRnVuY3Rpb24iLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHZhciBmPW5ldyBGdW5jdGlvbjsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIGYuYXBwbHkgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiBhcHBseSBtZXRob2QgYWNjZXNzZWQnKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2YgZi5hcHBseS5sZW5ndGggPT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMjogbGVuZ3RoIHByb3BlcnR5IG9mIGFwcGx5IG1ldGhvZCBkZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZi5hcHBseS5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMzOiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBhcHBseSBtZXRob2QgaXMgMicpOwp9CgogfQp9KTsKCg==","id":"S15.3.4.3_A2_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTNfVDEiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTNfVDEuanMiLAoKYXNzZXJ0aW9uOiAiSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUiLAoKZGVzY3JpcHRpb246ICJOb3QgYW55IGFyZ3VtZW50cyBhdCBhcHBseSBmdW5jdGlvbiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgRnVuY3Rpb24oInRoaXMuZmllbGQ9XCJzdHJhd2JlcnJ5XCIiKS5hcHBseSgpOwoKLy9DSEVDSyMxCmlmICh0aGlzWyJmaWVsZCJdICE9PSAic3RyYXdiZXJyeSIpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9CgogfQp9KTsKCg==","id":"S15.3.4.3_A3_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTNfVDEwIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuM19GdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkvUzE1LjMuNC4zX0EzX1QxMC5qcyIsCgphc3NlcnRpb246ICJJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZSIsCgpkZXNjcmlwdGlvbjogIkNoZWNraW5nIGJ5IHVzaW5nIGV2YWwsIG5vIGFueSBhcmd1bWVudHMgYXQgYXBwbHkgZnVuY3Rpb24iLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIGV2YWwoIiAoZnVuY3Rpb24oKXt0aGlzLmZlYXQ9MX0pLmFwcGx5KCkiKTsKCi8vQ0hFQ0sjMQppZiAodGhpc1siZmVhdCJdICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.4.3_A3_T10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTNfVDIiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTNfVDIuanMiLAoKYXNzZXJ0aW9uOiAiSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUiLAoKZGVzY3JpcHRpb246ICJBcmd1bWVudCBhdCBhcHBseSBmdW5jdGlvbiBpcyBudWxsIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBGdW5jdGlvbigidGhpcy5maWVsZD1cImdyZWVuXCIiKS5hcHBseShudWxsKTsKCi8vQ0hFQ0sjMQppZiAodGhpc1siZmllbGQiXSAhPT0gImdyZWVuIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.4.3_A3_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTNfVDMiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTNfVDMuanMiLAoKYXNzZXJ0aW9uOiAiSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUiLAoKZGVzY3JpcHRpb246ICJBcmd1bWVudCBhdCBhcHBseSBmdW5jdGlvbiBpcyB2b2lkIDAiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIEZ1bmN0aW9uKCJ0aGlzLmZpZWxkPVwiYmF0dGxlXCIiKS5hcHBseSh2b2lkIDApOwoKLy9DSEVDSyMxCmlmICh0aGlzWyJmaWVsZCJdICE9PSAiYmF0dGxlIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.4.3_A3_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTNfVDQiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTNfVDQuanMiLAoKYXNzZXJ0aW9uOiAiSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUiLAoKZGVzY3JpcHRpb246ICJBcmd1bWVudCBhdCBhcHBseSBmdW5jdGlvbiBpcyB1bmRlZmluZWQiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIEZ1bmN0aW9uKCJ0aGlzLmZpZWxkPVwib2lsXCIiKS5hcHBseSh1bmRlZmluZWQpOwoKLy9DSEVDSyMxCmlmICh0aGlzWyJmaWVsZCJdICE9PSAib2lsIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.4.3_A3_T4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTNfVDUiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTNfVDUuanMiLAoKYXNzZXJ0aW9uOiAiSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUiLAoKZGVzY3JpcHRpb246ICJObyBhbnkgYXJndW1lbnRzIGF0IGFwcGx5IGZ1bmN0aW9uIGFuZCBpdCBjYWxsZWQgaW5zaWRlIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBmdW5jdGlvbiBGQUNUT1JZKCl7CiAgRnVuY3Rpb24oInRoaXMuZmVhdD1cImluIGRhIGhhdXNcIiIpLmFwcGx5KCk7Cn07Cgp2YXIgb2JqID0gbmV3IEZBQ1RPUlk7CgovL0NIRUNLIzEKaWYgKHRoaXNbImZlYXQiXSAhPT0gImluIGRhIGhhdXMiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygb2JqLmZlYXQgIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.4.3_A3_T5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTNfVDYiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTNfVDYuanMiLAoKYXNzZXJ0aW9uOiAiSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUiLAoKZGVzY3JpcHRpb246ICJBcmd1bWVudCBhdCBhcHBseSBmdW5jdGlvbiBpcyBudWxsIGFuZCBpdCBjYWxsZWQgaW5zaWRlIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBmdW5jdGlvbiBGQUNUT1JZKCl7CiAgKGZ1bmN0aW9uKCl7dGhpcy5mZWF0PSJrYW1vbiBiZXliYSJ9KS5hcHBseShudWxsKTsKfTsKCnZhciBvYmogPSBuZXcgRkFDVE9SWTsKCi8vQ0hFQ0sjMQppZiAodGhpc1siZmVhdCJdICE9PSAia2Ftb24gYmV5YmEiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygb2JqLmZlYXQgIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.4.3_A3_T6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTNfVDciLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTNfVDcuanMiLAoKYXNzZXJ0aW9uOiAiSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUiLAoKZGVzY3JpcHRpb246ICJBcmd1bWVudCBhdCBhcHBseSBmdW5jdGlvbiBpcyB2b2lkIDAgYW5kIGl0IGNhbGxlZCBpbnNpZGUgZnVuY3Rpb24gZGVjbGFyYXRpb24iLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIChmdW5jdGlvbiBGQUNUT1JZKCl7CiAgRnVuY3Rpb24oInRoaXMuZmVhdD1cImluIGRhIGhhdXNcIiIpLmFwcGx5KHZvaWQgMCk7Cn0pKCk7CgoKLy9DSEVDSyMxCmlmICh0aGlzWyJmZWF0Il0gIT09ICJpbiBkYSBoYXVzIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.4.3_A3_T7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTNfVDgiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTNfVDguanMiLAoKYXNzZXJ0aW9uOiAiSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUiLAoKZGVzY3JpcHRpb246ICJBcmd1bWVudCBhdCBhcHBseSBmdW5jdGlvbiBpcyB1bmRlZmluZWQgYW5kIGl0IGNhbGxlZCBpbnNpZGUgZnVuY3Rpb24gZGVjbGFyYXRpb24iLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIChmdW5jdGlvbiBGQUNUT1JZKCl7CiAgKGZ1bmN0aW9uKCl7dGhpcy5mZWF0PSJrYW1vbiBiZXliYSJ9KS5hcHBseSh1bmRlZmluZWQpOwp9KSgpOwoKLy9DSEVDSyMxCmlmICh0aGlzWyJmZWF0Il0gIT09ICJrYW1vbiBiZXliYSIpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9CgogfQp9KTsKCg==","id":"S15.3.4.3_A3_T8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTNfVDkiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTNfVDkuanMiLAoKYXNzZXJ0aW9uOiAiSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUiLAoKZGVzY3JpcHRpb246ICJDaGVja2luZyBieSB1c2luZyBldmFsLCBhcmd1bWVudCBhdCBhcHBseSBmdW5jdGlvbiBpcyB2b2lkIDAiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIGV2YWwoICIgRnVuY3Rpb24oXCJ0aGlzLmZlYXQ9MVwiKS5hcHBseSh2b2lkIDApICIgKTsKCi8vQ0hFQ0sjMQppZiAodGhpc1siZmVhdCJdICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.4.3_A3_T9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTVfVDEiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTVfVDEuanMiLAoKYXNzZXJ0aW9uOiAiSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZSIsCgpkZXNjcmlwdGlvbjogInRoaXNBcmcgaXMgbnVtYmVyIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgb2JqPTE7Cgp2YXIgcmV0b2JqID0gRnVuY3Rpb24oInRoaXMudG91Y2hlZD0gdHJ1ZTsgcmV0dXJuIHRoaXM7IikuYXBwbHkob2JqKTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIG9iai50b3VjaGVkICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKLy9DSEVDSyMyCmlmICghKHJldG9ialsidG91Y2hlZCJdKSkgewogICRFUlJPUignIzI6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQogfQp9KTsKCg==","id":"S15.3.4.3_A5_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTVfVDIiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTVfVDIuanMiLAoKYXNzZXJ0aW9uOiAiSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZSIsCgpkZXNjcmlwdGlvbjogInRoaXNBcmcgaXMgYm9vbGVhbiB0cnVlIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgb2JqPXRydWU7Cgp2YXIgcmV0b2JqID0gbmV3IEZ1bmN0aW9uKCJ0aGlzLnRvdWNoZWQ9IHRydWU7IHJldHVybiB0aGlzOyIpLmFwcGx5KG9iaik7CgovL0NIRUNLIzEKaWYgKHR5cGVvZiBvYmoudG91Y2hlZCAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIShyZXRvYmpbInRvdWNoZWQiXSkpIHsKICAkRVJST1IoJyMyOiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCgogfQp9KTsKCg==","id":"S15.3.4.3_A5_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTVfVDMiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTVfVDMuanMiLAoKYXNzZXJ0aW9uOiAiSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZSIsCgpkZXNjcmlwdGlvbjogInRoaXNBcmcgaXMgc3RyaW5nIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgb2JqPSJzb2FwIjsKCnZhciByZXRvYmogPSAoIGZ1bmN0aW9uKCl7dGhpcy50b3VjaGVkPSB0cnVlOyByZXR1cm4gdGhpczt9ICkuYXBwbHkob2JqKTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIG9iai50b3VjaGVkICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKLy9DSEVDSyMyCmlmICghKHJldG9ialsidG91Y2hlZCJdKSkgewogICRFUlJPUignIzI6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKCiB9Cn0pOwoK","id":"S15.3.4.3_A5_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTVfVDQiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTVfVDQuanMiLAoKYXNzZXJ0aW9uOiAiSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZSIsCgpkZXNjcmlwdGlvbjogInRoaXNBcmcgaXMgZnVuY3Rpb24gdmFyaWFibGUgdGhhdCByZXR1cm4gdGhpcyIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgZiA9IGZ1bmN0aW9uKCl7dGhpcy50b3VjaGVkPSB0cnVlOyByZXR1cm4gdGhpczt9OwoKcmV0b2JqID0gZi5hcHBseShvYmopOwoKLy9DSEVDSyMxCmlmICh0eXBlb2Ygb2JqICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKLy9DSEVDSyMyCmlmICghKHJldG9ialsidG91Y2hlZCJdKSkgewogICRFUlJPUignIzI6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKdmFyIG9iajsKCiB9Cn0pOwoK","id":"S15.3.4.3_A5_T4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTVfVDUiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTVfVDUuanMiLAoKYXNzZXJ0aW9uOiAiSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZSIsCgpkZXNjcmlwdGlvbjogInRoaXNBcmcgaXMgZnVuY3Rpb24gdmFyaWFibGUiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHZhciBmID0gZnVuY3Rpb24oKXt0aGlzLnRvdWNoZWQ9IHRydWU7fTsKCnZhciBvYmo9e307CgpmLmFwcGx5KG9iaik7CgovL0NIRUNLIzEKaWYgKCEob2JqLnRvdWNoZWQpKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9CgogfQp9KTsKCg==","id":"S15.3.4.3_A5_T5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTVfVDYiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTVfVDYuanMiLAoKYXNzZXJ0aW9uOiAiSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZSIsCgpkZXNjcmlwdGlvbjogInRoaXNBcmcgaXMgbmV3IFN0cmluZygpIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgb2JqPW5ldyBTdHJpbmcoInNvYXAiKTsKCiggZnVuY3Rpb24oKXt0aGlzLnRvdWNoZWQ9IHRydWU7fSkuYXBwbHkob2JqKTsKCi8vQ0hFQ0sjMQppZiAoIShvYmoudG91Y2hlZCkpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.4.3_A5_T6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTVfVDciLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTVfVDcuanMiLAoKYXNzZXJ0aW9uOiAiSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZSIsCgpkZXNjcmlwdGlvbjogInRoaXNBcmcgaXMgbmV3IE51bWJlcigpIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgb2JqPW5ldyBOdW1iZXIoMSk7CgpGdW5jdGlvbigidGhpcy50b3VjaGVkPSB0cnVlOyIpLmFwcGx5KG9iaik7CgovL0NIRUNLIzEKaWYgKCEob2JqLnRvdWNoZWQpKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9CgoKIH0KfSk7Cgo=","id":"S15.3.4.3_A5_T7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTVfVDgiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTVfVDguanMiLAoKYXNzZXJ0aW9uOiAiSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZSIsCgpkZXNjcmlwdGlvbjogInRoaXNBcmcgaXMgRnVuY3Rpb24oKSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgdmFyIG9iaj1GdW5jdGlvbigpOwoKbmV3IEZ1bmN0aW9uKCJ0aGlzLnRvdWNoZWQ9IHRydWU7IHJldHVybiB0aGlzOyIpLmFwcGx5KG9iaik7CgovL0NIRUNLIzEKaWYgKCEob2JqLnRvdWNoZWQpKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9CgogfQp9KTsKCg==","id":"S15.3.4.3_A5_T8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTZfVDIiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTZfVDIuanMiLAoKYXNzZXJ0aW9uOiAiaWYgYXJnQXJyYXkgaXMgbmVpdGhlciBhbiBhcnJheSBub3IgYW4gYXJndW1lbnRzIG9iamVjdCAoc2VlIDEwLjEuOCksIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24iLAoKZGVzY3JpcHRpb246ICJhcmdBcnJheSBpcyAobnVsbCwxKSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgLy9DSEVDSyMxCnRyeSB7CiAgRnVuY3Rpb24oKS5hcHBseShudWxsLDEpOwogICRGQUlMKCcjMTogaWYgYXJnQXJyYXkgaXMgbmVpdGhlciBhbiBhcnJheSBub3IgYW4gYXJndW1lbnRzIG9iamVjdCAoc2VlIDEwLjEuOCksIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgCSRFUlJPUignIzEuMTogaWYgYXJnQXJyYXkgaXMgbmVpdGhlciBhbiBhcnJheSBub3IgYW4gYXJndW1lbnRzIG9iamVjdCAoc2VlIDEwLjEuOCksIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24nKTsKICB9Cn0KCiB9Cn0pOwoK","id":"S15.3.4.3_A6_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTZfVDMiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTZfVDMuanMiLAoKYXNzZXJ0aW9uOiAiaWYgYXJnQXJyYXkgaXMgbmVpdGhlciBhbiBhcnJheSBub3IgYW4gYXJndW1lbnRzIG9iamVjdCAoc2VlIDEwLjEuOCksIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24iLAoKZGVzY3JpcHRpb246ICJhcmdBcnJheSBpcyAob2JqZWN0LFwiMSwzLDRcIikiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIG9iaj17fTsKCi8vQ0hFQ0sjMQp0cnkgewogIEZ1bmN0aW9uKCkuYXBwbHkob2JqLCIxLDMsNCIpOwogICRGQUlMKCcjMTogaWYgYXJnQXJyYXkgaXMgbmVpdGhlciBhbiBhcnJheSBub3IgYW4gYXJndW1lbnRzIG9iamVjdCAoc2VlIDEwLjEuOCksIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgCSRFUlJPUignIzEuMTogaWYgYXJnQXJyYXkgaXMgbmVpdGhlciBhbiBhcnJheSBub3IgYW4gYXJndW1lbnRzIG9iamVjdCAoc2VlIDEwLjEuOCksIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24nKTsKICB9Cn0KCiB9Cn0pOwoK","id":"S15.3.4.3_A6_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTdfVDEiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTdfVDEuanMiLAoKYXNzZXJ0aW9uOiAiSWYgYXJnQXJyYXkgaXMgZWl0aGVyIGFuIGFycmF5IG9yIGFuIGFyZ3VtZW50cyBvYmplY3QsIiwKCmRlc2NyaXB0aW9uOiAiYXJnQXJyYXkgaXMgKG51bGwsWzFdKSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgRnVuY3Rpb24oImExLGEyLGEzIiwidGhpcy5zaGlmdGVkPWExOyIpLmFwcGx5KG51bGwsWzFdKTsKCi8vQ0hFQ0sjMQppZiAodGhpc1sic2hpZnRlZCJdICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogSWYgYXJnQXJyYXkgaXMgZWl0aGVyIGFuIGFycmF5IG9yIGFuIGFyZ3VtZW50cyBvYmplY3QsIHRoZSBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlLi4uJyk7Cn0KCgogfQp9KTsKCg==","id":"S15.3.4.3_A7_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTdfVDIiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTdfVDIuanMiLAoKYXNzZXJ0aW9uOiAiSWYgYXJnQXJyYXkgaXMgZWl0aGVyIGFuIGFycmF5IG9yIGFuIGFyZ3VtZW50cyBvYmplY3QsIiwKCmRlc2NyaXB0aW9uOiAiYXJnQXJyYXkgaXMgKG51bGwsWzEsMiwzXSkiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIG5ldyBGdW5jdGlvbigiYTEsYTIiLCJhMyIsInRoaXMuc2hpZnRlZD1hMjsiKS5hcHBseShudWxsLFsxLDIsM10pOwoKLy9DSEVDSyMxCmlmICh0aGlzWyJzaGlmdGVkIl0gIT09IDIpIHsKICAkRVJST1IoJyMxOiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwgdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUuLi4nKTsKfQoKCiB9Cn0pOwoK","id":"S15.3.4.3_A7_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTdfVDUiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTdfVDUuanMiLAoKYXNzZXJ0aW9uOiAiSWYgYXJnQXJyYXkgaXMgZWl0aGVyIGFuIGFycmF5IG9yIGFuIGFyZ3VtZW50cyBvYmplY3QsIiwKCmRlc2NyaXB0aW9uOiAiYXJnQXJyYXkgaXMgKG51bGwsIGFyZ3VtZW50cyksIGluc2lkZSBmdW5jdGlvbiBkZWNsYXJhdGlvbiB1c2VkIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBmdW5jdGlvbiBGQUNUT1JZKCl7CiAgRnVuY3Rpb24oImExLGEyLGEzIiwidGhpcy5zaGlmdGVkPWExK2EyK2EzOyIpLmFwcGx5KG51bGwsYXJndW1lbnRzKTsKfQoKb2JqPW5ldyBGQUNUT1JZKCIiLDEsMik7CgovL0NIRUNLIzEKaWYgKHRoaXNbInNoaWZ0ZWQiXSAhPT0gIjEyIikgewogICRFUlJPUignIzE6IElmIGFyZ0FycmF5IGlzIGVpdGhlciBhbiBhcnJheSBvciBhbiBhcmd1bWVudHMgb2JqZWN0LCB0aGUgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZS4uLicpOwp9CgovL0NIRUNLIzIKaWYgKHR5cGVvZiBvYmouc2hpZnRlZCAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMyOiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwgdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUuLi4nKTsKfQoKCiB9Cn0pOwoK","id":"S15.3.4.3_A7_T5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTdfVDciLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTdfVDcuanMiLAoKYXNzZXJ0aW9uOiAiSWYgYXJnQXJyYXkgaXMgZWl0aGVyIGFuIGFycmF5IG9yIGFuIGFyZ3VtZW50cyBvYmplY3QsIiwKCmRlc2NyaXB0aW9uOiAiYXJnQXJyYXkgaXMgKG51bGwsIGFyZ3VtZW50cyksIGluc2lkZSBmdW5jdGlvbiBjYWxsIHdpdGhvdXQgZGVjbGFyYXRpb24gdXNlZCIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgKGZ1bmN0aW9uICgpewogIEZ1bmN0aW9uKCJhMSxhMixhMyIsInRoaXMuc2hpZnRlZD1hMSthMithMzsiKS5hcHBseShudWxsLGFyZ3VtZW50cyk7Cn0pKCIiLDEsMik7CgovL0NIRUNLIzEKaWYgKHRoaXNbInNoaWZ0ZWQiXSAhPT0gIjEyIikgewogICRFUlJPUignIzE6IElmIGFyZ0FycmF5IGlzIGVpdGhlciBhbiBhcnJheSBvciBhbiBhcmd1bWVudHMgb2JqZWN0LCB0aGUgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZS4uLicpOwp9CgogfQp9KTsKCg==","id":"S15.3.4.3_A7_T7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTdfVDgiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTdfVDguanMiLAoKYXNzZXJ0aW9uOiAiSWYgYXJnQXJyYXkgaXMgZWl0aGVyIGFuIGFycmF5IG9yIGFuIGFyZ3VtZW50cyBvYmplY3QsIiwKCmRlc2NyaXB0aW9uOiAiYXJnQXJyYXkgaXMgKHRoaXMsIGFyZ3VtZW50cyksIGluc2lkZSBmdW5jdGlvbiBjYWxsIHdpdGhvdXQgZGVjbGFyYXRpb24gdXNlZCIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgKGZ1bmN0aW9uICgpewogIEZ1bmN0aW9uKCJhMSxhMixhMyIsInRoaXMuc2hpZnRlZD1hMSthMithMzsiKS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7Cn0pKCIiLDQsMik7CgovL0NIRUNLIzIKaWYgKHRoaXNbInNoaWZ0ZWQiXSAhPT0gIjQyIikgewogICRFUlJPUignIzI6IElmIGFyZ0FycmF5IGlzIGVpdGhlciBhbiBhcnJheSBvciBhbiBhcmd1bWVudHMgb2JqZWN0LCB0aGUgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZS4uLicpOwp9CgoKIH0KfSk7Cgo=","id":"S15.3.4.3_A7_T8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQThfVDEiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQThfVDEuanMiLAoKYXNzZXJ0aW9uOiAiRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5IGNhbmB0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXIiLAoKZGVzY3JpcHRpb246ICJDaGVja2luZyBpZiBjcmVhdGluZyBcIm5ldyBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHlcIiBmYWlscyIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgdHJ5IHsKICBvYmogPSBuZXcgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5OwogICRFUlJPUignIzE6IEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAJJEVSUk9SKCcjMS4xOiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuXCd0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXInKTsKICB9Cn0KCiB9Cn0pOwoK","id":"S15.3.4.3_A8_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQThfVDIiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQThfVDIuanMiLAoKYXNzZXJ0aW9uOiAiRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5IGNhbmB0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXIiLAoKZGVzY3JpcHRpb246ICJDaGVja2luZyBpZiBjcmVhdGluZyBcIm5ldyBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkoKVwiIGZhaWxzIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB0cnkgewogIG9iaiA9IG5ldyBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkoKTsKICAkRVJST1IoJyMxOiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuXCd0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXInKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgCSRFUlJPUignIzEuMTogRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5IGNhblwndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyJyk7CiAgfQp9CgogfQp9KTsKCg==","id":"S15.3.4.3_A8_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQThfVDMiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQThfVDMuanMiLAoKYXNzZXJ0aW9uOiAiRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5IGNhbmB0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXIiLAoKZGVzY3JpcHRpb246ICJDaGVja2luZyBpZiBjcmVhdGluZyBcIm5ldyBGdW5jdGlvbi5hcHBseVwiIGZhaWxzIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB0cnkgewogIG9iaiA9IG5ldyBGdW5jdGlvbi5hcHBseTsKICAkRVJST1IoJyMxOiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuXCd0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXInKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgCSRFUlJPUignIzEuMTogRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5IGNhblwndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyJyk7CiAgfQp9CgogfQp9KTsKCg==","id":"S15.3.4.3_A8_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQThfVDQiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQThfVDQuanMiLAoKYXNzZXJ0aW9uOiAiRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5IGNhbmB0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXIiLAoKZGVzY3JpcHRpb246ICJDaGVja2luZyBpZiBjcmVhdGluZyBcIm5ldyAoRnVuY3Rpb24oXCJ0aGlzLnAxPTFcIikuYXBwbHkpXCIgZmFpbHMiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHRyeSB7CiAgb2JqID0gbmV3IChGdW5jdGlvbigidGhpcy5wMT0xIikuYXBwbHkpOwogICRFUlJPUignIzE6IEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAJJEVSUk9SKCcjMS4xOiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuXCd0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXInKTsKICB9Cn0KCiB9Cn0pOwoK","id":"S15.3.4.3_A8_T4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQThfVDUiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQThfVDUuanMiLAoKYXNzZXJ0aW9uOiAiRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5IGNhbmB0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXIiLAoKZGVzY3JpcHRpb246ICJDaGVja2luZyBpZiBjcmVhdGluZyBcIm5ldyBGdW5jdGlvbihcInRoaXMucDE9MVwiKS5hcHBseVwiIGZhaWxzIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB0cnkgewogIEZBQ1RPUlkgPSBGdW5jdGlvbigidGhpcy5wMT0xIikuYXBwbHk7CiAgb2JqID0gbmV3IEZBQ1RPUlkoKTsKICAkRVJST1IoJyMxOiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuXCd0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXInKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgCSRFUlJPUignIzEuMTogRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5IGNhblwndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyJyk7CiAgfQp9CgogfQp9KTsKCg==","id":"S15.3.4.3_A8_T5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQThfVDYiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQThfVDYuanMiLAoKYXNzZXJ0aW9uOiAiRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5IGNhbmB0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXIiLAoKZGVzY3JpcHRpb246ICJDaGVja2luZyBpZiBjcmVhdGluZyBcIm5ldyAoRnVuY3Rpb24oXCJmdW5jdGlvbiBmKCl7dGhpcy5wMT0xO307cmV0dXJuIGZcIikuYXBwbHkoKSlcIiBmYWlscyIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgLy9DSEVDSyMxCnRyeSB7CiAgb2JqID0gbmV3IChGdW5jdGlvbigiZnVuY3Rpb24gZigpe3RoaXMucDE9MTt9O3JldHVybiBmIikuYXBwbHkoKSk7Cn0gY2F0Y2ggKGUpIHsKICAkRVJST1IoJyMxOiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuXCd0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXInKTsKfQoKLy9DSEVDSyMyCmlmIChvYmoucDEhPT0gMSkgewogICRFUlJPUignIzI6IEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcicpOwp9CgogfQp9KTsKCg==","id":"S15.3.4.3_A8_T6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTkiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTkuanMiLAoKYXNzZXJ0aW9uOiAiVGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZSIsCgpkZXNjcmlwdGlvbjogIkNoZWNraW5nIGlmIGRlbGV0aW5nIHRoZSBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkubGVuZ3RoIHByb3BlcnR5IGZhaWxzIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAvL0NIRUNLIzAKaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IHRoZSBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgaGFzIGxlbmd0aCBwcm9wZXJ0eScpOwp9CgovL0NIRUNLIzEKaWYgKGRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogVGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKLy9DSEVDSyMyCmlmICghKEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgogfQp9KTsKCg==","id":"S15.3.4.3_A9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTEwIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuNF9GdW5jdGlvbi5wcm90b3R5cGUuY2FsbC9TMTUuMy40LjRfQTEwLmpzIiwKCmFzc2VydGlvbjogIlRoZSBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbC5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkiLAoKZGVzY3JpcHRpb246ICJDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbC5sZW5ndGggcHJvcGVydHkgZmFpbHMiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIC8vQ0hFQ0sjMQppZiAoIShGdW5jdGlvbi5wcm90b3R5cGUuY2FsbC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMxOiB0aGUgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwgaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKfQoKdmFyIG9iaiA9IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsLmxlbmd0aDsKCkZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsLmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OwoKLy9DSEVDSyMyCmlmIChGdW5jdGlvbi5wcm90b3R5cGUuY2FsbC5sZW5ndGggIT09IG9iaikgewogICRFUlJPUignIzI6IHRoZSBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBsZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIFJlYWRPbmx5LicpOwp9CgogfQp9KTsKCg==","id":"S15.3.4.4_A10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTExIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuNF9GdW5jdGlvbi5wcm90b3R5cGUuY2FsbC9TMTUuMy40LjRfQTExLmpzIiwKCmFzc2VydGlvbjogIlRoZSBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbC5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0iLAoKZGVzY3JpcHRpb246ICJDaGVja2luZyBpZiBlbnVtZXJhdGluZyB0aGUgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoIHByb3BlcnR5IGZhaWxzIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAvL0NIRUNLIzAKaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsIGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Cn0KCgovLyBDSEVDSyMxCmlmIChGdW5jdGlvbi5wcm90b3R5cGUuY2FsbC5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpIHsKICAkRVJST1IoJyMxOiB0aGUgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RW51bScpOwp9CgovLyBDSEVDSyMyCmZvciAocCBpbiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCl7CiAgaWYgKHA9PT0ibGVuZ3RoIikKICAgICRFUlJPUignIzI6IHRoZSBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbC5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnRFbnVtJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.4.4_A11"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTEyIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuNF9GdW5jdGlvbi5wcm90b3R5cGUuY2FsbC9TMTUuMy40LjRfQTEyLmpzIiwKCmFzc2VydGlvbjogIkZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5IiwKCmRlc2NyaXB0aW9uOiAiQ2hlY2tpbmcgaWYgb2J0YWluaW5nIHRoZSBwcm90b3R5cGUgcHJvcGVydHkgb2YgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwgZmFpbHMiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIC8vQ0hFQ0sjMQppZiAoRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwucHJvdG90eXBlICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eScrRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwucHJvdG90eXBlKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.4.4_A12"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTEzIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuNF9GdW5jdGlvbi5wcm90b3R5cGUuY2FsbC9TMTUuMy40LjRfQTEzLmpzIiwKCmFzc2VydGlvbjogIklmIElzQ2FsbGFibGUoZnVuYykgaXMgZmFsc2UsIHRoZW4gdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLiIsCgpkZXNjcmlwdGlvbjogIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwuY2FsbCh1bmRlZmluZWQsIHt9KTsKCiB9Cn0pOwoK","id":"S15.3.4.4_A13"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTE0IiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuNF9GdW5jdGlvbi5wcm90b3R5cGUuY2FsbC9TMTUuMy40LjRfQTE0LmpzIiwKCmFzc2VydGlvbjogIklmIElzQ2FsbGFibGUoZnVuYykgaXMgZmFsc2UsIHRoZW4gdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLiIsCgpkZXNjcmlwdGlvbjogIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwuY2FsbChudWxsLCB7fSk7CgogfQp9KTsKCg==","id":"S15.3.4.4_A14"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTE1IiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuNF9GdW5jdGlvbi5wcm90b3R5cGUuY2FsbC9TMTUuMy40LjRfQTE1LmpzIiwKCmFzc2VydGlvbjogIklmIElzQ2FsbGFibGUoZnVuYykgaXMgZmFsc2UsIHRoZW4gdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLiIsCgpkZXNjcmlwdGlvbjogIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwuY2FsbCh7fSwge30pOwoKIH0KfSk7Cgo=","id":"S15.3.4.4_A15"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTE2IiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuNF9GdW5jdGlvbi5wcm90b3R5cGUuY2FsbC9TMTUuMy40LjRfQTE2LmpzIiwKCmFzc2VydGlvbjogIklmIElzQ2FsbGFibGUoZnVuYykgaXMgZmFsc2UsIHRoZW4gdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLiIsCgpkZXNjcmlwdGlvbjogIkEgUmVnRXhwIGlzIG5vdCBhIGZ1bmN0aW9uLCBidXQgaXQgbWF5IGJlIGNhbGxhYmxlLiBJZmYgaXQgaXMsIGl0XCdzIHR5cGVvZiBzaG91bGQgYmUgXCdmdW5jdGlvblwnLCBpbiB3aGljaCBjYXNlIGNhbGwgc2hvdWxkIGFjY2VwdCBpdCBhcyBhIHZhbGlkIHRoaXMgdmFsdWUuIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgcmUgPSAoL3gvKTsKaWYgKHR5cGVvZiByZSA9PT0gJ2Z1bmN0aW9uJykgewogIEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsLmNhbGwocmUsIHVuZGVmaW5lZCwgJ3gnKTsKfSBlbHNlIHsKICB0cnkgewogICAgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChyZSwgdW5kZWZpbmVkKTsKICAgICRGQUlMKCcjMTogSWYgSXNDYWxsYWJsZShmdW5jKSBpcyBmYWxzZSwgJyArCiAgICAgICAgICAndGhlbiAoYmluZCBzaG91bGQpIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbicpOwogIH0gY2F0Y2ggKGUpIHsKICAgIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgICAgICRFUlJPUignIzE6IFR5cGVFcnJvciBleHBlY3RlZC4gQWN0dWFsOiAnICsgZSk7CiAgICB9CiAgfQp9CgogfQp9KTsKCg==","id":"S15.3.4.4_A16"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTFfVDEiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BMV9UMS5qcyIsCgphc3NlcnRpb246ICJUaGUgY2FsbCBtZXRob2QgcGVyZm9ybXMgYSBmdW5jdGlvbiBjYWxsIHVzaW5nIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBvZiB0aGUgb2JqZWN0LiBJZiB0aGUgb2JqZWN0IGRvZXMgbm90IGhhdmUgYSBbW0NhbGxdXSBwcm9wZXJ0eSwgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93biIsCgpkZXNjcmlwdGlvbjogIkNhbGwgXCJjYWxsXCIgbWV0aG9kIG9mIHRoZSBvYmplY3QgdGhhdCBkb2VzIG5vdCBoYXZlIGEgW1tDYWxsXV0gcHJvcGVydHkuIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgcHJvdG89RnVuY3Rpb24oKTsKCmZ1bmN0aW9uIEZBQ1RPUlkoKXt9OwoKRkFDVE9SWS5wcm90b3R5cGU9cHJvdG87Cgp2YXIgb2JqID0gbmV3IEZBQ1RPUlk7CgovL0NIRUNLIzEKaWYgKHR5cGVvZiBvYmouY2FsbCAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzE6IGNhbGwgbWV0aG9kIGFjY2Vzc2VkJyk7Cn0KCi8vQ0hFQ0sjMgp0cnkgewogIG9iai5jYWxsKCk7CiAgJEZBSUwoJyMyOiBJZiB0aGUgb2JqZWN0IGRvZXMgbm90IGhhdmUgYSBbW0NhbGxdXSBwcm9wZXJ0eSwgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93bicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAJJEVSUk9SKCcjMi4xOiBJZiB0aGUgb2JqZWN0IGRvZXMgbm90IGhhdmUgYSBbW0NhbGxdXSBwcm9wZXJ0eSwgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93bicpOwogIH0KfQogICAgCiB9Cn0pOwoK","id":"S15.3.4.4_A1_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTFfVDIiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BMV9UMi5qcyIsCgphc3NlcnRpb246ICJUaGUgY2FsbCBtZXRob2QgcGVyZm9ybXMgYSBmdW5jdGlvbiBjYWxsIHVzaW5nIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBvZiB0aGUgb2JqZWN0LiBJZiB0aGUgb2JqZWN0IGRvZXMgbm90IGhhdmUgYSBbW0NhbGxdXSBwcm9wZXJ0eSwgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93biIsCgpkZXNjcmlwdGlvbjogIkNhbGxpbmcgXCJjYWxsXCIgbWV0aG9kIG9mIHRoZSBvYmplY3QgdGhhdCBkb2VzIG5vdCBoYXZlIGEgW1tDYWxsXV0gcHJvcGVydHkuIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBmdW5jdGlvbiBGQUNUT1JZKCl7fTsKCkZBQ1RPUlkucHJvdG90eXBlPUZ1bmN0aW9uLnByb3RvdHlwZTsKCnZhciBvYmogPSBuZXcgRkFDVE9SWTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIG9iai5jYWxsICE9PSAiZnVuY3Rpb24iKSB7CiAgJEVSUk9SKCcjMTogY2FsbCBtZXRob2QgYWNjZXNzZWQnKTsKfQoKLy9DSEVDSyMyCnRyeSB7CiAgb2JqLmNhbGwoKTsKICAkRkFJTCgnIzI6IElmIHRoZSBvYmplY3QgZG9lcyBub3QgaGF2ZSBhIFtbQ2FsbF1dIHByb3BlcnR5LCBhIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSkgewogIAkkRVJST1IoJyMyLjE6IElmIHRoZSBvYmplY3QgZG9lcyBub3QgaGF2ZSBhIFtbQ2FsbF1dIHByb3BlcnR5LCBhIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duJyk7CiAgfQp9CgogfQp9KTsKCg==","id":"S15.3.4.4_A1_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTJfVDEiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BMl9UMS5qcyIsCgphc3NlcnRpb246ICJUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBjYWxsIG1ldGhvZCBpcyAxIiwKCmRlc2NyaXB0aW9uOiAiQ2hlY2tpbmcgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAvL0NIRUNLIzEKaWYgKHR5cGVvZiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzE6IGNhbGwgbWV0aG9kIGRlZmluZWQnKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2YgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoID09PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzI6IGxlbmd0aCBwcm9wZXJ0eSBvZiBjYWxsIG1ldGhvZCBkZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogVGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiB0aGUgY2FsbCBtZXRob2QgaXMgMScpOwp9CgogfQp9KTsKCg==","id":"S15.3.4.4_A2_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTJfVDIiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BMl9UMi5qcyIsCgphc3NlcnRpb246ICJUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBjYWxsIG1ldGhvZCBpcyAxIiwKCmRlc2NyaXB0aW9uOiAiQ2hlY2tpbmcgZi5jYWxsLmxlbmd0aCwgd2hlcmUgZiBpcyBuZXcgRnVuY3Rpb24iLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHZhciBmPW5ldyBGdW5jdGlvbjsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIGYuY2FsbCAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzE6IGNhbGwgbWV0aG9kIGFjY2Vzc2VkJyk7Cn0KCi8vQ0hFQ0sjMgppZiAodHlwZW9mIGYuY2FsbC5sZW5ndGggPT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMjogbGVuZ3RoIHByb3BlcnR5IG9mIGNhbGwgbWV0aG9kIGRlZmluZWQnKTsKfQoKLy9DSEVDSyMzCmlmIChmLmNhbGwubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogVGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiB0aGUgY2FsbCBtZXRob2QgaXMgMScpOwp9CgogfQp9KTsKCg==","id":"S15.3.4.4_A2_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTNfVDEiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BM19UMS5qcyIsCgphc3NlcnRpb246ICJJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZSIsCgpkZXNjcmlwdGlvbjogIk5vdCBhbnkgYXJndW1lbnRzIGF0IGNhbGwgZnVuY3Rpb24iLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIEZ1bmN0aW9uKCJ0aGlzLmZpZWxkPVwic3RyYXdiZXJyeVwiIikuY2FsbCgpOwoKLy9DSEVDSyMxCmlmICh0aGlzWyJmaWVsZCJdICE9PSAic3RyYXdiZXJyeSIpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9CgogfQp9KTsKCg==","id":"S15.3.4.4_A3_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTNfVDEwIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuNF9GdW5jdGlvbi5wcm90b3R5cGUuY2FsbC9TMTUuMy40LjRfQTNfVDEwLmpzIiwKCmFzc2VydGlvbjogIklmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlIiwKCmRlc2NyaXB0aW9uOiAiQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbCwgbm8gYW55IGFyZ3VtZW50cyBhdCBjYWxsIGZ1bmN0aW9uIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBldmFsKCIgKGZ1bmN0aW9uKCl7dGhpcy5mZWF0PTF9KS5jYWxsKCkiKTsKCi8vQ0hFQ0sjMQppZiAodGhpc1siZmVhdCJdICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.4.4_A3_T10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTNfVDIiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BM19UMi5qcyIsCgphc3NlcnRpb246ICJJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZSIsCgpkZXNjcmlwdGlvbjogIkFyZ3VtZW50IGF0IGNhbGwgZnVuY3Rpb24gaXMgbnVsbCIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgRnVuY3Rpb24oInRoaXMuZmllbGQ9XCJncmVlblwiIikuY2FsbChudWxsKTsKCi8vQ0hFQ0sjMQppZiAodGhpc1siZmllbGQiXSAhPT0gImdyZWVuIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.4.4_A3_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTNfVDMiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BM19UMy5qcyIsCgphc3NlcnRpb246ICJJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZSIsCgpkZXNjcmlwdGlvbjogIkFyZ3VtZW50IGF0IGNhbGwgZnVuY3Rpb24gaXMgdm9pZCAwIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBGdW5jdGlvbigidGhpcy5maWVsZD1cImJhdHRsZVwiIikuY2FsbCh2b2lkIDApOwoKLy9DSEVDSyMxCmlmICh0aGlzWyJmaWVsZCJdICE9PSAiYmF0dGxlIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.4.4_A3_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTNfVDQiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BM19UNC5qcyIsCgphc3NlcnRpb246ICJJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZSIsCgpkZXNjcmlwdGlvbjogIkFyZ3VtZW50IGF0IGNhbGwgZnVuY3Rpb24gaXMgdW5kZWZpbmVkIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBGdW5jdGlvbigidGhpcy5maWVsZD1cIm9pbFwiIikuY2FsbCh1bmRlZmluZWQpOwoKLy9DSEVDSyMxCmlmICh0aGlzWyJmaWVsZCJdICE9PSAib2lsIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.4.4_A3_T4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTNfVDUiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BM19UNS5qcyIsCgphc3NlcnRpb246ICJJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZSIsCgpkZXNjcmlwdGlvbjogIk5vIGFueSBhcmd1bWVudHMgYXQgY2FsbCBmdW5jdGlvbiBhbmQgaXQgY2FsbGVkIGluc2lkZSBmdW5jdGlvbiBkZWNsYXJhdGlvbiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgZnVuY3Rpb24gRkFDVE9SWSgpewogIEZ1bmN0aW9uKCJ0aGlzLmZlYXQ9XCJpbiBkYSBoYXVzXCIiKS5jYWxsKCk7Cn07Cgp2YXIgb2JqID0gbmV3IEZBQ1RPUlk7CgovL0NIRUNLIzEKaWYgKHRoaXNbImZlYXQiXSAhPT0gImluIGRhIGhhdXMiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygb2JqLmZlYXQgIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.4.4_A3_T5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTNfVDYiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BM19UNi5qcyIsCgphc3NlcnRpb246ICJJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZSIsCgpkZXNjcmlwdGlvbjogIkFyZ3VtZW50IGF0IGNhbGwgZnVuY3Rpb24gaXMgbnVsbCBhbmQgaXQgY2FsbGVkIGluc2lkZSBmdW5jdGlvbiBkZWNsYXJhdGlvbiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgZnVuY3Rpb24gRkFDVE9SWSgpewogIChmdW5jdGlvbigpe3RoaXMuZmVhdD0ia2Ftb24gYmV5YmEifSkuY2FsbChudWxsKTsKfTsKCnZhciBvYmogPSBuZXcgRkFDVE9SWTsKCi8vQ0hFQ0sjMQppZiAodGhpc1siZmVhdCJdICE9PSAia2Ftb24gYmV5YmEiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygb2JqLmZlYXQgIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.4.4_A3_T6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTNfVDciLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BM19UNy5qcyIsCgphc3NlcnRpb246ICJJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZSIsCgpkZXNjcmlwdGlvbjogIkFyZ3VtZW50IGF0IGNhbGwgZnVuY3Rpb24gaXMgdm9pZCAwIGFuZCBpdCBjYWxsZWQgaW5zaWRlIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAoZnVuY3Rpb24gRkFDVE9SWSgpewogIEZ1bmN0aW9uKCJ0aGlzLmZlYXQ9XCJpbiBkYSBoYXVzXCIiKS5jYWxsKHZvaWQgMCk7Cn0pKCk7CgoKLy9DSEVDSyMxCmlmICh0aGlzWyJmZWF0Il0gIT09ICJpbiBkYSBoYXVzIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.4.4_A3_T7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTNfVDgiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BM19UOC5qcyIsCgphc3NlcnRpb246ICJJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZSIsCgpkZXNjcmlwdGlvbjogIkFyZ3VtZW50IGF0IGNhbGwgZnVuY3Rpb24gaXMgdW5kZWZpbmVkIGFuZCBpdCBjYWxsZWQgaW5zaWRlIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAoZnVuY3Rpb24gRkFDVE9SWSgpewogIChmdW5jdGlvbigpe3RoaXMuZmVhdD0ia2Ftb24gYmV5YmEifSkuY2FsbCh1bmRlZmluZWQpOwp9KSgpOwoKCi8vQ0hFQ0sjMQppZiAodGhpc1siZmVhdCJdICE9PSAia2Ftb24gYmV5YmEiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.4.4_A3_T8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTNfVDkiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BM19UOS5qcyIsCgphc3NlcnRpb246ICJJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZSIsCgpkZXNjcmlwdGlvbjogIkNoZWNraW5nIGJ5IHVzaW5nIGV2YWwsIGFyZ3VtZW50IGF0IGNhbGwgZnVuY3Rpb24gaXMgdm9pZCAwIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBldmFsKCAiIEZ1bmN0aW9uKFwidGhpcy5mZWF0PTFcIikuY2FsbCh2b2lkIDApICIgKTsKCgovL0NIRUNLIzEKaWYgKHRoaXNbImZlYXQiXSAhPT0gMSkgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.4.4_A3_T9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTVfVDEiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BNV9UMS5qcyIsCgphc3NlcnRpb246ICJJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlIiwKCmRlc2NyaXB0aW9uOiAidGhpc0FyZyBpcyBudW1iZXIiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHZhciBvYmo9MTsKCnZhciByZXRvYmogPSBGdW5jdGlvbigidGhpcy50b3VjaGVkPSB0cnVlOyByZXR1cm4gdGhpczsiKS5jYWxsKG9iaik7CgovL0NIRUNLIzEKaWYgKHR5cGVvZiBvYmoudG91Y2hlZCAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIShyZXRvYmpbInRvdWNoZWQiXSkpIHsKICAkRVJST1IoJyMyOiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCgogfQp9KTsKCg==","id":"S15.3.4.4_A5_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTVfVDIiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BNV9UMi5qcyIsCgphc3NlcnRpb246ICJJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlIiwKCmRlc2NyaXB0aW9uOiAidGhpc0FyZyBpcyBib29sZWFuIHRydWUiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHZhciBvYmo9dHJ1ZTsKCnZhciByZXRvYmogPSBuZXcgRnVuY3Rpb24oInRoaXMudG91Y2hlZD0gdHJ1ZTsgcmV0dXJuIHRoaXM7IikuY2FsbChvYmopOwoKLy9DSEVDSyMxCmlmICh0eXBlb2Ygb2JqLnRvdWNoZWQgIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCEocmV0b2JqWyJ0b3VjaGVkIl0pKSB7CiAgJEVSUk9SKCcjMjogSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9CgoKIH0KfSk7Cgo=","id":"S15.3.4.4_A5_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTVfVDMiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BNV9UMy5qcyIsCgphc3NlcnRpb246ICJJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlIiwKCmRlc2NyaXB0aW9uOiAidGhpc0FyZyBpcyBzdHJpbmciLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHZhciBvYmo9InNvYXAiOwoKdmFyIHJldG9iaiA9ICggZnVuY3Rpb24oKXt0aGlzLnRvdWNoZWQ9IHRydWU7IHJldHVybiB0aGlzO30gKS5jYWxsKG9iaik7CgovL0NIRUNLIzEKaWYgKHR5cGVvZiBvYmoudG91Y2hlZCAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIShyZXRvYmpbInRvdWNoZWQiXSkpIHsKICAkRVJST1IoJyMyOiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCgogfQp9KTsKCg==","id":"S15.3.4.4_A5_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTVfVDQiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BNV9UNC5qcyIsCgphc3NlcnRpb246ICJJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlIiwKCmRlc2NyaXB0aW9uOiAidGhpc0FyZyBpcyBmdW5jdGlvbiB2YXJpYWJsZSB0aGF0IHJldHVybiB0aGlzIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgZiA9IGZ1bmN0aW9uKCl7dGhpcy50b3VjaGVkPSB0cnVlOyByZXR1cm4gdGhpczt9OwoKdmFyIHJldG9iaiA9IGYuY2FsbChvYmopOwoKLy9DSEVDSyMxCmlmICh0eXBlb2Ygb2JqICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKLy9DSEVDSyMyCmlmICghKHJldG9ialsidG91Y2hlZCJdKSkgewogICRFUlJPUignIzI6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKdmFyIG9iajsKCiB9Cn0pOwoK","id":"S15.3.4.4_A5_T4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTVfVDUiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BNV9UNS5qcyIsCgphc3NlcnRpb246ICJJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlIiwKCmRlc2NyaXB0aW9uOiAidGhpc0FyZyBpcyBmdW5jdGlvbiB2YXJpYWJsZSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgdmFyIGYgPSBmdW5jdGlvbigpe3RoaXMudG91Y2hlZD0gdHJ1ZTt9OwoKdmFyIG9iaj17fTsKCmYuY2FsbChvYmopOwoKLy9DSEVDSyMxCmlmICghKG9iai50b3VjaGVkKSkgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.4.4_A5_T5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTVfVDYiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BNV9UNi5qcyIsCgphc3NlcnRpb246ICJJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlIiwKCmRlc2NyaXB0aW9uOiAidGhpc0FyZyBpcyBuZXcgU3RyaW5nKCkiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHZhciBvYmo9bmV3IFN0cmluZygic29hcCIpOwoKKCBmdW5jdGlvbigpe3RoaXMudG91Y2hlZD0gdHJ1ZTt9KS5jYWxsKG9iaik7CgovL0NIRUNLIzEKaWYgKCEob2JqLnRvdWNoZWQpKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9CgogfQp9KTsKCg==","id":"S15.3.4.4_A5_T6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTVfVDciLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BNV9UNy5qcyIsCgphc3NlcnRpb246ICJJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlIiwKCmRlc2NyaXB0aW9uOiAidGhpc0FyZyBpcyBuZXcgTnVtYmVyKCkiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHZhciBvYmo9bmV3IE51bWJlcigxKTsKCkZ1bmN0aW9uKCJ0aGlzLnRvdWNoZWQ9IHRydWU7IikuY2FsbChvYmopOwoKLy9DSEVDSyMxCmlmICghKG9iai50b3VjaGVkKSkgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKCiB9Cn0pOwoK","id":"S15.3.4.4_A5_T7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTVfVDgiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BNV9UOC5qcyIsCgphc3NlcnRpb246ICJJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlIiwKCmRlc2NyaXB0aW9uOiAidGhpc0FyZyBpcyBGdW5jdGlvbigpIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgb2JqPUZ1bmN0aW9uKCk7CgpuZXcgRnVuY3Rpb24oInRoaXMudG91Y2hlZD0gdHJ1ZTsgcmV0dXJuIHRoaXM7IikuY2FsbChvYmopOwoKLy9DSEVDSyMxCmlmICghKG9iai50b3VjaGVkKSkgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.4.4_A5_T8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTZfVDEiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BNl9UMS5qcyIsCgphc3NlcnRpb246ICJUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcyIsCgpkZXNjcmlwdGlvbjogIkFyZ3VuZW10cyBvZiBjYWxsIGZ1bmN0aW9uIGlzIChudWxsLFsxXSkiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIEZ1bmN0aW9uKCJhMSxhMixhMyIsInRoaXMuc2hpZnRlZD1hMTsiKS5jYWxsKG51bGwsWzFdKTsKCi8vQ0hFQ0sjMQppZiAodGhpc1sic2hpZnRlZCJdLmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IFRoZSBjYWxsIG1ldGhvZCB0YWtlcyBvbmUgb3IgbW9yZSBhcmd1bWVudHMsIHRoaXNBcmcgYW5kIChvcHRpb25hbGx5KSBhcmcxLCBhcmcyIGV0YywgYW5kIHBlcmZvcm1zIGEgZnVuY3Rpb24gY2FsbCB1c2luZyB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgdGhlIG9iamVjdCcpOwp9CgovL0NIRUNLIzIKaWYgKHRoaXNbInNoaWZ0ZWQiXS5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcyBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QnKTsKfQoKLy9DSEVDSyMzCmlmICh0aGlzWyJzaGlmdGVkIl1bMF0gIT09IDEpIHsKICAkRVJST1IoJyMzOiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcyBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QnKTsKfQoKCiB9Cn0pOwoK","id":"S15.3.4.4_A6_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTZfVDIiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BNl9UMi5qcyIsCgphc3NlcnRpb246ICJUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcyIsCgpkZXNjcmlwdGlvbjogIkFyZ3VuZW10cyBvZiBjYWxsIGZ1bmN0aW9uIGlzIChudWxsLFszLDIsMV0pIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBuZXcgRnVuY3Rpb24oImExLGEyIiwiYTMiLCJ0aGlzLnNoaWZ0ZWQ9YTE7IikuY2FsbChudWxsLFszLDIsMV0pOwoKLy9DSEVDSyMxCmlmICh0aGlzWyJzaGlmdGVkIl0ubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMTogVGhlIGNhbGwgbWV0aG9kIHRha2VzIG9uZSBvciBtb3JlIGFyZ3VtZW50cywgdGhpc0FyZyBhbmQgKG9wdGlvbmFsbHkpIGFyZzEsIGFyZzIgZXRjLCBhbmQgcGVyZm9ybXMgYSBmdW5jdGlvbiBjYWxsIHVzaW5nIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBvZiB0aGUgb2JqZWN0Jyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKHRoaXNbInNoaWZ0ZWQiXVswXSAhPT0gMyl8fCh0aGlzWyJzaGlmdGVkIl1bMV0gIT09IDIpfHwodGhpc1sic2hpZnRlZCJdWzJdICE9PSAxKSkgewogICRFUlJPUignIzI6IFRoZSBjYWxsIG1ldGhvZCB0YWtlcyBvbmUgb3IgbW9yZSBhcmd1bWVudHMsIHRoaXNBcmcgYW5kIChvcHRpb25hbGx5KSBhcmcxLCBhcmcyIGV0YywgYW5kIHBlcmZvcm1zIGEgZnVuY3Rpb24gY2FsbCB1c2luZyB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgdGhlIG9iamVjdCcpOwp9CgoKIH0KfSk7Cgo=","id":"S15.3.4.4_A6_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTZfVDUiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BNl9UNS5qcyIsCgphc3NlcnRpb246ICJUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcyIsCgpkZXNjcmlwdGlvbjogIkFyZ3VuZW10cyBvZiBjYWxsIGZ1bmN0aW9uIGlzIChudWxsLCBhcmd1bWVudHMsXCJcIiwyKSwgaW5zaWRlIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIHVzZWQiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIGZ1bmN0aW9uIEZBQ1RPUlkoKXsKICBGdW5jdGlvbigiYTEsYTIsYTMiLCJ0aGlzLnNoaWZ0ZWQ9YTEubGVuZ3RoK2EyK2EzOyIpLmNhbGwobnVsbCxhcmd1bWVudHMsIiIsMik7Cn0KCnZhciBvYmo9bmV3IEZBQ1RPUlkoIiIsMSwyLCJBIik7CgovL0NIRUNLIzEKaWYgKHRoaXNbInNoaWZ0ZWQiXSAhPT0gIjQyIikgewogICRFUlJPUignIzE6IFRoZSBjYWxsIG1ldGhvZCB0YWtlcyBvbmUgb3IgbW9yZSBhcmd1bWVudHMsIHRoaXNBcmcgYW5kIChvcHRpb25hbGx5KSBhcmcxLCBhcmcyIGV0YywgYW5kIHBlcmZvcm1zIGEgZnVuY3Rpb24gY2FsbCB1c2luZyB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgdGhlIG9iamVjdCcpOwp9CgovL0NIRUNLIzIKaWYgKHR5cGVvZiBvYmouc2hpZnRlZCAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMyOiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcyBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QnKTsKfQoKCiB9Cn0pOwoK","id":"S15.3.4.4_A6_T5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTZfVDciLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BNl9UNy5qcyIsCgphc3NlcnRpb246ICJUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcyIsCgpkZXNjcmlwdGlvbjogIkFyZ3VuZW10cyBvZiBjYWxsIGZ1bmN0aW9uIGlzIChudWxsLCBhcmd1bWVudHMsXCJcIiwyKSwgaW5zaWRlIGZ1bmN0aW9uIGNhbGwgd2l0aG91dCBkZWNsYXJhdGlvbiB1c2VkIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAoZnVuY3Rpb24gKCl7CiAgRnVuY3Rpb24oImExLGEyLGEzIiwidGhpcy5zaGlmdGVkPWExLmxlbmd0aCthMithMzsiKS5jYWxsKG51bGwsYXJndW1lbnRzLCIiLDIpOwp9KSgiIiwxLDIsdHJ1ZSk7CgovL0NIRUNLIzEKaWYgKHRoaXNbInNoaWZ0ZWQiXSAhPT0gIjQyIikgewogICRFUlJPUignIzE6IFRoZSBjYWxsIG1ldGhvZCB0YWtlcyBvbmUgb3IgbW9yZSBhcmd1bWVudHMsIHRoaXNBcmcgYW5kIChvcHRpb25hbGx5KSBhcmcxLCBhcmcyIGV0YywgYW5kIHBlcmZvcm1zIGEgZnVuY3Rpb24gY2FsbCB1c2luZyB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgdGhlIG9iamVjdCcpOwp9CgogfQp9KTsKCg==","id":"S15.3.4.4_A6_T7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTZfVDgiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BNl9UOC5qcyIsCgphc3NlcnRpb246ICJUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcyIsCgpkZXNjcmlwdGlvbjogIkFyZ3VuZW10cyBvZiBjYWxsIGZ1bmN0aW9uIGlzICh0aGlzLCBhcmd1bWVudHMsXCJcIiwyKSwgaW5zaWRlIGZ1bmN0aW9uIGNhbGwgd2l0aG91dCBkZWNsYXJhdGlvbiB1c2VkIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAoZnVuY3Rpb24gKCl7CiAgRnVuY3Rpb24oImExLGEyLGEzIiwidGhpcy5zaGlmdGVkPWExLmxlbmd0aCthMithMzsiKS5jYWxsKHRoaXMsYXJndW1lbnRzLCIiLDIpOwp9KSgiIiw0LDIsbnVsbCk7CgovL0NIRUNLIzIKaWYgKHRoaXNbInNoaWZ0ZWQiXSAhPT0gIjQyIikgewogICRFUlJPUignIzI6IFRoZSBjYWxsIG1ldGhvZCB0YWtlcyBvbmUgb3IgbW9yZSBhcmd1bWVudHMsIHRoaXNBcmcgYW5kIChvcHRpb25hbGx5KSBhcmcxLCBhcmcyIGV0YywgYW5kIHBlcmZvcm1zIGEgZnVuY3Rpb24gY2FsbCB1c2luZyB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgdGhlIG9iamVjdCcpOwp9CgoKIH0KfSk7Cgo=","id":"S15.3.4.4_A6_T8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTdfVDEiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BN19UMS5qcyIsCgphc3NlcnRpb246ICJGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlciIsCgpkZXNjcmlwdGlvbjogIkNoZWNraW5nIGlmIGNyZWF0aW5nIFwibmV3IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsXCIgZmFpbHMiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHRyeSB7CiAgdmFyIG9iaiA9IG5ldyBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbDsKICAkRVJST1IoJyMxOiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAJJEVSUk9SKCcjMS4xOiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcicpOwogIH0KfQoKIH0KfSk7Cgo=","id":"S15.3.4.4_A7_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTdfVDIiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BN19UMi5qcyIsCgphc3NlcnRpb246ICJGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlciIsCgpkZXNjcmlwdGlvbjogIkNoZWNraW5nIGlmIGNyZWF0aW5nIFwibmV3IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsKClcIiBmYWlscyIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgdHJ5IHsKICB2YXIgRkFDVE9SWSA9IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsOwogIHZhciBvYmogPSBuZXcgRkFDVE9SWSgpOwogICRFUlJPUignIzE6IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsIGNhblwndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSkgewogIAkkRVJST1IoJyMxLjE6IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsIGNhblwndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyJyk7CiAgfQp9CgogfQp9KTsKCg==","id":"S15.3.4.4_A7_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTdfVDMiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BN19UMy5qcyIsCgphc3NlcnRpb246ICJGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlciIsCgpkZXNjcmlwdGlvbjogIkNoZWNraW5nIGlmIGNyZWF0aW5nIFwibmV3IEZ1bmN0aW9uLmNhbGxcIiBmYWlscyIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgdHJ5IHsKICB2YXIgb2JqID0gbmV3IEZ1bmN0aW9uLmNhbGw7CiAgJEVSUk9SKCcjMTogRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwgY2FuXCd0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXInKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgCSRFUlJPUignIzEuMTogRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwgY2FuXCd0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXInKTsKICB9Cn0KCiB9Cn0pOwoK","id":"S15.3.4.4_A7_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTdfVDQiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BN19UNC5qcyIsCgphc3NlcnRpb246ICJGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlciIsCgpkZXNjcmlwdGlvbjogIkNoZWNraW5nIGlmIGNyZWF0aW5nIFwibmV3IChGdW5jdGlvbihcInRoaXMucDE9MVwiKS5jYWxsKVwiIGZhaWxzIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB0cnkgewogIHZhciBvYmogPSBuZXcgKEZ1bmN0aW9uKCJ0aGlzLnAxPTEiKS5jYWxsKTsKICAkRVJST1IoJyMxOiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAJJEVSUk9SKCcjMS4xOiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcicpOwogIH0KfQoKIH0KfSk7Cgo=","id":"S15.3.4.4_A7_T4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTdfVDUiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BN19UNS5qcyIsCgphc3NlcnRpb246ICJGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlciIsCgpkZXNjcmlwdGlvbjogIkNoZWNraW5nIGlmIGNyZWF0aW5nIFwibmV3IEZ1bmN0aW9uKFwidGhpcy5wMT0xXCIpLmNhbGxcIiBmYWlscyIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgdHJ5IHsKICB2YXIgRkFDVE9SWSA9IEZ1bmN0aW9uKCJ0aGlzLnAxPTEiKS5jYWxsOwogIHZhciBvYmogPSBuZXcgRkFDVE9SWSgpOwogICRFUlJPUignIzE6IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsIGNhblwndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSkgewogIAkkRVJST1IoJyMxLjE6IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsIGNhblwndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyJyk7CiAgfQp9CgogfQp9KTsKCg==","id":"S15.3.4.4_A7_T5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTdfVDYiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BN19UNi5qcyIsCgphc3NlcnRpb246ICJGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlciIsCgpkZXNjcmlwdGlvbjogIkNoZWNraW5nIGlmIGNyZWF0aW5nIFwibmV3IChGdW5jdGlvbihcImZ1bmN0aW9uIGYoKXt0aGlzLnAxPTE7fTtyZXR1cm4gZlwiKS5jYWxsKCkpXCIgZmFpbHMiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIC8vQ0hFQ0sjMQp0cnkgewogIHZhciBvYmogPSBuZXcgKEZ1bmN0aW9uKCJmdW5jdGlvbiBmKCl7dGhpcy5wMT0xO307cmV0dXJuIGYiKS5jYWxsKCkpOwp9IGNhdGNoIChlKSB7CiAgJEVSUk9SKCcjMTogRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwgY2FuXCd0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXInKTsKfQoKLy9DSEVDSyMyCmlmIChvYmoucDEhPT0gMSkgewogICRFUlJPUignIzI6IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsIGNhblwndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.4.4_A7_T6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTkiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BOS5qcyIsCgphc3NlcnRpb246ICJUaGUgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUiLAoKZGVzY3JpcHRpb246ICJDaGVja2luZyBpZiBkZWxldGluZyB0aGUgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoIHByb3BlcnR5IGZhaWxzIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAvL0NIRUNLIzAKaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsIGhhcyBsZW5ndGggcHJvcGVydHknKTsKfQoKLy9DSEVDSyMxCmlmIChkZWxldGUgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogVGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgovL0NIRUNLIzIKaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMjogVGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgogfQp9KTsKCg==","id":"S15.3.4.4_A9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjVfQTEiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC41X0Z1bmN0aW9uLnByb3RvdHlwZS5iaW5kL1MxNS4zLjQuNV9BMS5qcyIsCgphc3NlcnRpb246ICJcImNhbGxlclwiIG9mIGJvdW5kIGZ1bmN0aW9uIGlzIHBvaXNvbmVkIChzdGVwIDIwKSIsCgpkZXNjcmlwdGlvbjogIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgZnVuY3Rpb24gZm9vKCkgeyByZXR1cm4gYmFyLmNhbGxlcjsgfQp2YXIgYmFyID0gZm9vLmJpbmQoe30pOwpmdW5jdGlvbiBiYXooKSB7IHJldHVybiBiYXIoKTsgfQpiYXooKTsKCiB9Cn0pOwoK","id":"S15.3.4.5_A1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjVfQTEzIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuNV9GdW5jdGlvbi5wcm90b3R5cGUuYmluZC9TMTUuMy40LjVfQTEzLmpzIiwKCmFzc2VydGlvbjogIklmIElzQ2FsbGFibGUoZnVuYykgaXMgZmFsc2UsIHRoZW4gdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLiIsCgpkZXNjcmlwdGlvbjogIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbCh1bmRlZmluZWQsIHt9KTsKCgogfQp9KTsKCg==","id":"S15.3.4.5_A13"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjVfQTE0IiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuNV9GdW5jdGlvbi5wcm90b3R5cGUuYmluZC9TMTUuMy40LjVfQTE0LmpzIiwKCmFzc2VydGlvbjogIklmIElzQ2FsbGFibGUoZnVuYykgaXMgZmFsc2UsIHRoZW4gdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLiIsCgpkZXNjcmlwdGlvbjogIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChudWxsLCB7fSk7CgoKIH0KfSk7Cgo=","id":"S15.3.4.5_A14"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjVfQTE1IiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuNV9GdW5jdGlvbi5wcm90b3R5cGUuYmluZC9TMTUuMy40LjVfQTE1LmpzIiwKCmFzc2VydGlvbjogIklmIElzQ2FsbGFibGUoZnVuYykgaXMgZmFsc2UsIHRoZW4gdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLiIsCgpkZXNjcmlwdGlvbjogIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbCh7fSwge30pOwoKCiB9Cn0pOwoK","id":"S15.3.4.5_A15"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjVfQTE2IiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuNV9GdW5jdGlvbi5wcm90b3R5cGUuYmluZC9TMTUuMy40LjVfQTE2LmpzIiwKCmFzc2VydGlvbjogIklmIElzQ2FsbGFibGUoZnVuYykgaXMgZmFsc2UsIHRoZW4gdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLiIsCgpkZXNjcmlwdGlvbjogIkEgUmVnRXhwIGlzIG5vdCBhIGZ1bmN0aW9uLCBidXQgaXQgbWF5IGJlIGNhbGxhYmxlLiBJZmYgaXQgaXMsIGl0XCdzIHR5cGVvZiBzaG91bGQgYmUgXCdmdW5jdGlvblwnLCBpbiB3aGljaCBjYXNlIGJpbmQgc2hvdWxkIGFjY2VwdCBpdCBhcyBhIHZhbGlkIHRoaXMgdmFsdWUuIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgcmUgPSAoL3gvKTsKaWYgKHR5cGVvZiByZSA9PT0gJ2Z1bmN0aW9uJykgewogIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmNhbGwocmUsIHVuZGVmaW5lZCk7Cn0gZWxzZSB7CiAgdHJ5IHsKICAgIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmNhbGwocmUsIHVuZGVmaW5lZCk7CiAgICAkRkFJTCgnIzE6IElmIElzQ2FsbGFibGUoZnVuYykgaXMgZmFsc2UsICcgKwogICAgICAgICAgJ3RoZW4gKGJpbmQgc2hvdWxkKSB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24nKTsKICB9IGNhdGNoIChlKSB7CiAgICBpZiAoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSkgewogICAgICAkRVJST1IoJyMxOiBUeXBlRXJyb3IgZXhwZWN0ZWQuIEFjdHVhbDogJyArIGUpOwogICAgfQogIH0KfQoKIH0KfSk7Cgo=","id":"S15.3.4.5_A16"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjVfQTIiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC41X0Z1bmN0aW9uLnByb3RvdHlwZS5iaW5kL1MxNS4zLjQuNV9BMi5qcyIsCgphc3NlcnRpb246ICJcImFyZ3VtZW50c1wiIG9mIGJvdW5kIGZ1bmN0aW9uIGlzIHBvaXNvbmVkIChzdGVwIDIxKSIsCgpkZXNjcmlwdGlvbjogIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgZnVuY3Rpb24gZm9vKCkgeyByZXR1cm4gYmFyLmFyZ3VtZW50czsgfQp2YXIgYmFyID0gZm9vLmJpbmQoe30pOwpmdW5jdGlvbiBiYXooKSB7IHJldHVybiBiYXIoKTsgfQpiYXooKTsKCiB9Cn0pOwoK","id":"S15.3.4.5_A2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41LjFfQTFfVDEiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjFfQTFfVDEuanMiLAoKYXNzZXJ0aW9uOiAiVGhlIHZhbHVlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaXMgdXN1YWxseSBhbiBpbnRlZ2VyIHRoYXQgaW5kaWNhdGVzIHRoZSBcJ3R5cGljYWxcJyBudW1iZXIgb2YgYXJndW1lbnRzIGV4cGVjdGVkIGJ5IHRoZSBmdW5jdGlvbiIsCgpkZXNjcmlwdGlvbjogIkNoZWNraW5nIGxlbmd0aCBwcm9wZXJ0eSBvZiBGdW5jdGlvbihcImFyZzEsYXJnMixhcmczXCIsIG51bGwpIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBmID0gbmV3IEZ1bmN0aW9uKCJhcmcxLGFyZzIsYXJnMyIsIG51bGwpOwoKLy9DSEVDSyMxCmlmICghKGYuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMTogdGhlIGZ1bmN0aW9uIGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZi5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyMyOiBUaGUgdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpcyB1c3VhbGx5IGFuIGludGVnZXIgdGhhdCBpbmRpY2F0ZXMgdGhlICJ0eXBpY2FsIiBudW1iZXIgb2YgYXJndW1lbnRzIGV4cGVjdGVkIGJ5IHRoZSBmdW5jdGlvbicpOwp9CgogfQp9KTsKCg==","id":"S15.3.5.1_A1_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41LjFfQTFfVDIiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjFfQTFfVDIuanMiLAoKYXNzZXJ0aW9uOiAiVGhlIHZhbHVlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaXMgdXN1YWxseSBhbiBpbnRlZ2VyIHRoYXQgaW5kaWNhdGVzIHRoZSBcJ3R5cGljYWxcJyBudW1iZXIgb2YgYXJndW1lbnRzIGV4cGVjdGVkIGJ5IHRoZSBmdW5jdGlvbiIsCgpkZXNjcmlwdGlvbjogIkNoZWNraW5nIGxlbmd0aCBwcm9wZXJ0eSBvZiBGdW5jdGlvbihcImFyZzEsYXJnMixhcmczXCIsXCJhcmc0LGFyZzVcIiwgbnVsbCkiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIGYgPSBGdW5jdGlvbigiYXJnMSxhcmcyLGFyZzMiLCJhcmc0LGFyZzUiLCBudWxsKTsKCi8vQ0hFQ0sjMQppZiAoIShmLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IHRoZSBmdW5jdGlvbiBoYXMgbGVuZ3RoIHByb3BlcnR5LicpOwp9CgovL0NIRUNLIzIKaWYgKGYubGVuZ3RoICE9PSA1KSB7CiAgJEVSUk9SKCcjMjogVGhlIHZhbHVlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaXMgdXN1YWxseSBhbiBpbnRlZ2VyIHRoYXQgaW5kaWNhdGVzIHRoZSAidHlwaWNhbCIgbnVtYmVyIG9mIGFyZ3VtZW50cyBleHBlY3RlZCBieSB0aGUgZnVuY3Rpb24nKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.5.1_A1_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41LjFfQTFfVDMiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjFfQTFfVDMuanMiLAoKYXNzZXJ0aW9uOiAiVGhlIHZhbHVlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaXMgdXN1YWxseSBhbiBpbnRlZ2VyIHRoYXQgaW5kaWNhdGVzIHRoZSBcJ3R5cGljYWxcJyBudW1iZXIgb2YgYXJndW1lbnRzIGV4cGVjdGVkIGJ5IHRoZSBmdW5jdGlvbiIsCgpkZXNjcmlwdGlvbjogIkNoZWNraW5nIGxlbmd0aCBwcm9wZXJ0eSBvZiBGdW5jdGlvbihcImFyZzEsYXJnMixhcmczXCIsXCJhcmcxLGFyZzJcIixcImFyZzNcIiwgbnVsbCkiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIGYgPSBuZXcgRnVuY3Rpb24oImFyZzEsYXJnMixhcmczIiwiYXJnMSxhcmcyIiwiYXJnMyIsIG51bGwpOwoKLy9DSEVDSyMxCmlmICghKGYuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMTogdGhlIGZ1bmN0aW9uIGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZi5sZW5ndGggIT09IDYpIHsKICAkRVJST1IoJyMyOiBUaGUgdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpcyB1c3VhbGx5IGFuIGludGVnZXIgdGhhdCBpbmRpY2F0ZXMgdGhlICJ0eXBpY2FsIiBudW1iZXIgb2YgYXJndW1lbnRzIGV4cGVjdGVkIGJ5IHRoZSBmdW5jdGlvbicpOwp9CgogfQp9KTsKCg==","id":"S15.3.5.1_A1_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41LjFfQTJfVDEiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjFfQTJfVDEuanMiLAoKYXNzZXJ0aW9uOiAidGhlIGxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBEb250RGVsZXRlIH0iLAoKZGVzY3JpcHRpb246ICJDaGVja2luZyBpZiBkZWxldGluZyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mIEZ1bmN0aW9uKFwiYXJnMSxhcmcyLGFyZzNcIiwgbnVsbCkgZmFpbHMiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIGYgPSBuZXcgRnVuY3Rpb24oImFyZzEsYXJnMixhcmczIiwgbnVsbCk7CgovL0NIRUNLIzEKaWYgKCEoZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMxOiB0aGUgZnVuY3Rpb24gaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKfQoKLy9DSEVDSyMyCmlmKGRlbGV0ZSBmLmxlbmd0aCl7CiAgJEVSUk9SKCcjMjogdGhlIGZ1bmN0aW9uLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZS4nKTsKfQoKLy9DSEVDSyMzCmlmICghKGYuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRFUlJPUignIzM6IHRoZSBmdW5jdGlvbi5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUuJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZi5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyM0OiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERvbnREZWxldGUgfScpOwp9CgogfQp9KTsKCg==","id":"S15.3.5.1_A2_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41LjFfQTJfVDIiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjFfQTJfVDIuanMiLAoKYXNzZXJ0aW9uOiAidGhlIGxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBEb250RGVsZXRlIH0iLAoKZGVzY3JpcHRpb246ICJDaGVja2luZyBpZiBkZWxldGluZyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mIEZ1bmN0aW9uKFwiYXJnMSxhcmcyLGFyZzNcIixcImFyZzQsYXJnNVwiLCBudWxsKSBmYWlscyIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgZiA9ICBGdW5jdGlvbigiYXJnMSxhcmcyLGFyZzMiLCJhcmc0LGFyZzUiLCBudWxsKTsKCi8vQ0hFQ0sjMQppZiAoIShmLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IHRoZSBmdW5jdGlvbiBoYXMgbGVuZ3RoIHByb3BlcnR5LicpOwp9CgpkZWxldGUgZi5sZW5ndGg7CgovL0NIRUNLIzIKaWYgKCEoZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEVSUk9SKCcjMjogdGhlIGZ1bmN0aW9uLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZS4nKTsKfQoKLy9DSEVDSyMzCmlmIChmLmxlbmd0aCAhPT0gNSkgewogICRFUlJPUignIzM6IHRoZSBsZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIHsgRG9udERlbGV0ZSB9Jyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.5.1_A2_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41LjFfQTJfVDMiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjFfQTJfVDMuanMiLAoKYXNzZXJ0aW9uOiAidGhlIGxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBEb250RGVsZXRlIH0iLAoKZGVzY3JpcHRpb246ICJDaGVja2luZyBpZiBkZWxldGluZyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mIEZ1bmN0aW9uKFwiYXJnMSxhcmcyLGFyZzNcIixcImFyZzEsYXJnMlwiLFwiYXJnM1wiLCBudWxsKSBmYWlscyIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgZiA9IG5ldyBGdW5jdGlvbigiYXJnMSxhcmcyLGFyZzMiLCJhcmcxLGFyZzIiLCJhcmczIiwgbnVsbCk7CgovL0NIRUNLIzEKaWYgKCEoZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMxOiB0aGUgZnVuY3Rpb24gaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKfQoKZGVsZXRlIGYubGVuZ3RoOwoKLy9DSEVDSyMyCmlmICghKGYuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRFUlJPUignIzI6IHRoZSBmdW5jdGlvbi5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUuJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZi5sZW5ndGggIT09IDYpIHsKICAkRVJST1IoJyMzOiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERvbnREZWxldGUgfScpOwp9CgogfQp9KTsKCg==","id":"S15.3.5.1_A2_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41LjFfQTNfVDEiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjFfQTNfVDEuanMiLAoKYXNzZXJ0aW9uOiAidGhlIGxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBSZWFkT25seSB9IiwKCmRlc2NyaXB0aW9uOiAiQ2hlY2tpbmcgaWYgdmFyeWluZyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mIEZ1bmN0aW9uKFwiYXJnMSxhcmcyLGFyZzNcIixcImFyZzQsYXJnNVwiLCBudWxsKSBmYWlscyIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgZiA9IG5ldyBGdW5jdGlvbigiYXJnMSxhcmcyLGFyZzMiLCJhcmc0LGFyZzUiLCBudWxsKTsKCi8vQ0hFQ0sjMQppZiAoIShmLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IHRoZSBmdW5jdGlvbiBoYXMgbGVuZ3RoIHByb3BlcnR5LicpOwp9CgpsZW5ndGggPSBmLmxlbmd0aDsKCmYubGVuZ3RoID0gZnVuY3Rpb24oKXt9OwoKLy9DSEVDSyMyCmlmIChmLmxlbmd0aCAhPT0gbGVuZ3RoKSB7CiAgJEVSUk9SKCcjMjogdGhlIGZ1bmN0aW9uLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgUmVhZE9ubHknKTsKfQoKLy9DSEVDSyMzCnRyeSB7CiAgZi5sZW5ndGgoKTsKICAkRVJST1IoJyMzOiB0aGUgZnVuY3Rpb24ubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBSZWFkT25seScpOwp9IGNhdGNoIChlKSB7CiAgOwp9CgovL0NIRUNLIzQKaWYgKGYubGVuZ3RoICE9PSA1KSB7CiAgJEVSUk9SKCcjNDogdGhlIGxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBSZWFkT25seSB9Jyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.5.1_A3_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41LjFfQTNfVDIiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjFfQTNfVDIuanMiLAoKYXNzZXJ0aW9uOiAidGhlIGxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBSZWFkT25seSB9IiwKCmRlc2NyaXB0aW9uOiAiQ2hlY2tpbmcgaWYgdmFyeWluZyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mIEZ1bmN0aW9uKFwiYXJnMSxhcmcyLGFyZzNcIiwgbnVsbCkgZmFpbHMiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIGYgPSAgRnVuY3Rpb24oImFyZzEsYXJnMixhcmczIiwgbnVsbCk7CgovL0NIRUNLIzEKaWYgKCEoZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMxOiB0aGUgZnVuY3Rpb24gaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKfQoKbGVuZ3RoID0gZi5sZW5ndGg7CgpmLmxlbmd0aCA9IGZ1bmN0aW9uKCl7fTsKCi8vQ0hFQ0sjMgppZiAoZi5sZW5ndGggIT09IGxlbmd0aCkgewogICRFUlJPUignIzI6IHRoZSBmdW5jdGlvbi5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIFJlYWRPbmx5Jyk7Cn0KCi8vQ0hFQ0sjMwp0cnkgewogIGYubGVuZ3RoKCk7CiAgJEVSUk9SKCcjMzogdGhlIGZ1bmN0aW9uLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgUmVhZE9ubHknKTsKfSBjYXRjaCAoZSkgewogIDsKfQoKLy9DSEVDSyM0CmlmIChmLmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzQ6IHRoZSBsZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIHsgUmVhZE9ubHkgfScpOwp9CgogfQp9KTsKCg==","id":"S15.3.5.1_A3_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41LjFfQTNfVDMiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjFfQTNfVDMuanMiLAoKYXNzZXJ0aW9uOiAidGhlIGxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBSZWFkT25seSB9IiwKCmRlc2NyaXB0aW9uOiAiQ2hlY2tpbmcgaWYgdmFyeWluZyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mIEZ1bmN0aW9uKFwiYXJnMSxhcmcyLGFyZzNcIixcImFyZzEsYXJnMlwiLFwiYXJnM1wiLCBudWxsKSBmYWlscyIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgZiA9IG5ldyBGdW5jdGlvbigiYXJnMSxhcmcyLGFyZzMiLCJhcmcxLGFyZzIiLCJhcmczIiwgbnVsbCk7CgovL0NIRUNLIzEKaWYgKCEoZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMxOiB0aGUgZnVuY3Rpb24gaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKfQoKbGVuZ3RoID0gZi5sZW5ndGg7CgpmLmxlbmd0aCA9IGZ1bmN0aW9uKCl7fTsKCi8vQ0hFQ0sjMgppZiAoZi5sZW5ndGggIT09IGxlbmd0aCkgewogICRFUlJPUignIzI6IHRoZSBmdW5jdGlvbi5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIFJlYWRPbmx5Jyk7Cn0KCi8vQ0hFQ0sjMwp0cnkgewogIGYubGVuZ3RoKCk7CiAgJEVSUk9SKCcjMzogdGhlIGZ1bmN0aW9uLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgUmVhZE9ubHknKTsKfSBjYXRjaCAoZSkgewogIDsKfQoKLy9DSEVDSyM0CmlmIChmLmxlbmd0aCAhPT0gNikgewogICRFUlJPUignIzQ6IHRoZSBsZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIHsgUmVhZE9ubHkgfScpOwp9CgogfQp9KTsKCg==","id":"S15.3.5.1_A3_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41LjFfQTRfVDEiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjFfQTRfVDEuanMiLAoKYXNzZXJ0aW9uOiAidGhlIGxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBEb250RW51bSB9IiwKCmRlc2NyaXB0aW9uOiAiQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiBGdW5jdGlvbihcImFyZzEsYXJnMixhcmczXCIsIG51bGwpIGZhaWxzIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBmID0gbmV3IEZ1bmN0aW9uKCJhcmcxLGFyZzIsYXJnMyIsIG51bGwpOwoKLy9DSEVDSyMxCmlmICghKGYuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMTogdGhlIGZ1bmN0aW9uIGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Cn0KCmZvcihrZXkgaW4gZikgICAgCiAgaWYoa2V5PT0ibGVuZ3RoIikKICAgICAgdmFyIGxlbmd0aGVudW1lZD10cnVlOwogICAgICAKLy9DSEVDSyMyCmlmIChsZW5ndGhlbnVtZWQpIHsKICAkRVJST1IoJyMyOiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERvbnRFbnVtIH0nKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.5.1_A4_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41LjFfQTRfVDIiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjFfQTRfVDIuanMiLAoKYXNzZXJ0aW9uOiAidGhlIGxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBEb250RW51bSB9IiwKCmRlc2NyaXB0aW9uOiAiQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiBGdW5jdGlvbihcImFyZzEsYXJnMixhcmczXCIsXCJhcmc0LGFyZzVcIiwgbnVsbCkgZmFpbHMiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIGYgPSAgRnVuY3Rpb24oImFyZzEsYXJnMixhcmczIiwiYXJnNSxhcmc0IiwgbnVsbCk7CgovL0NIRUNLIzEKaWYgKCEoZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMxOiB0aGUgZnVuY3Rpb24gaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKfQoKZm9yKGtleSBpbiBmKSAgICAKICBpZihrZXk9PSJsZW5ndGgiKQogICAgICB2YXIgbGVuZ3RoZW51bWVkPXRydWU7CiAgICAgIAovL0NIRUNLIzIKaWYgKGxlbmd0aGVudW1lZCkgewogICRFUlJPUignIzI6IHRoZSBsZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIHsgRG9udEVudW0gfScpOwp9CgogfQp9KTsKCg==","id":"S15.3.5.1_A4_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41LjFfQTRfVDMiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjFfQTRfVDMuanMiLAoKYXNzZXJ0aW9uOiAidGhlIGxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBEb250RW51bSB9IiwKCmRlc2NyaXB0aW9uOiAiQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiBGdW5jdGlvbihcImFyZzEsYXJnMixhcmczXCIsXCJhcmcxLGFyZzJcIixcImFyZzNcIiwgbnVsbCkgZmFpbHMiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIGYgPSBuZXcgRnVuY3Rpb24oImFyZzEsYXJnMixhcmczIiwiYXJnMSxhcmcyIiwiYXJnMyIsIG51bGwpOwoKLy9DSEVDSyMxCmlmICghKGYuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMTogdGhlIGZ1bmN0aW9uIGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Cn0KCmZvcihrZXkgaW4gZikgICAgCiAgaWYoa2V5PT0ibGVuZ3RoIikKICAgIHZhciBsZW5ndGhlbnVtZWQ9dHJ1ZTsKICAgICAgCi8vQ0hFQ0sjMgppZiAobGVuZ3RoZW51bWVkKSB7CiAgJEVSUk9SKCcjMjogdGhlIGxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBEb250RW51bSB9Jyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.5.1_A4_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41LjJfQTFfVDEiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjJfQTFfVDEuanMiLAoKYXNzZXJ0aW9uOiAidGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBEb250RGVsZXRlIH0iLAoKZGVzY3JpcHRpb246ICJDaGVja2luZyBpZiBkZWxldGluZyB0aGUgcHJvdG90eXBlIHByb3BlcnR5IG9mIEZ1bmN0aW9uKFwiXCIsIG51bGwpIGZhaWxzIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBmID0gbmV3IEZ1bmN0aW9uKCIiLCBudWxsKTsKCi8vQ0hFQ0sjMQppZiAoIShmLmhhc093blByb3BlcnR5KCdwcm90b3R5cGUnKSkpIHsKICAkRkFJTCgnIzE6IHRoZSBmdW5jdGlvbiBoYXMgbGVuZ3RoIHByb3BlcnR5LicpOwp9CgpmcHJvdG8gPSBmLnByb3RvdHlwZTsKCi8vQ0hFQ0sjMgppZiAoZGVsZXRlIGYucHJvdG90eXBlKSB7CiAgJEVSUk9SKCcjMjogdGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBEb250RGVsZXRlIH0nKTsKfQoKLy9DSEVDSyMzCmlmIChmLnByb3RvdHlwZSAhPT0gZnByb3RvKSB7CiAgJEVSUk9SKCcjMzogdGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBEb250RGVsZXRlIH0nKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.5.2_A1_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41LjJfQTFfVDIiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjJfQTFfVDIuanMiLAoKYXNzZXJ0aW9uOiAidGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBEb250RGVsZXRlIH0iLAoKZGVzY3JpcHRpb246ICJDaGVja2luZyBpZiBkZWxldGluZyB0aGUgcHJvdG90eXBlIHByb3BlcnR5IG9mIEZ1bmN0aW9uKHZvaWQgMCwgXCJcIikgZmFpbHMiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIGYgPSBGdW5jdGlvbih2b2lkIDAsICIiKTsKCi8vQ0hFQ0sjMQppZiAoIShmLmhhc093blByb3BlcnR5KCdwcm90b3R5cGUnKSkpIHsKICAkRkFJTCgnIzE6IHRoZSBmdW5jdGlvbiBoYXMgbGVuZ3RoIHByb3BlcnR5LicpOwp9CgpmcHJvdG8gPSBmLnByb3RvdHlwZTsKCi8vQ0hFQ0sjMgppZiAoZGVsZXRlIGYucHJvdG90eXBlKSB7CiAgJEVSUk9SKCcjMjogdGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBEb250RGVsZXRlIH0nKTsKfQoKLy9DSEVDSyMzCmlmIChmLnByb3RvdHlwZSAhPT0gZnByb3RvKSB7CiAgJEVSUk9SKCcjMzogdGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBEb250RGVsZXRlIH0nKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.5.2_A1_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41LjNfQTFfVDEiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjNfQTFfVDEuanMiLAoKYXNzZXJ0aW9uOiAiQXNzdW1lIEYgaXMgYSBGdW5jdGlvbiBvYmplY3QuIFdoZW4gdGhlIFtbSGFzSW5zdGFuY2VdXSBtZXRob2Qgb2YgRiBpcyBjYWxsZWQgd2l0aCB2YWx1ZSBWLCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjogaSkgSWYgViBpcyBub3QgYW4gb2JqZWN0LCByZXR1cm4gZmFsc2UiLAoKZGVzY3JpcHRpb246ICJWIGlzIG51bWJlciIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgRkFDVE9SWSA9IEZ1bmN0aW9uKCJuYW1lIiwidGhpcy5uYW1lPW5hbWU7Iik7CgovL0NIRUNLIzEKaWYgKCgxIGluc3RhbmNlb2YgIEZBQ1RPUlkpIT09ZmFsc2UpIHsKICAkRVJST1IoJyMxOiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiBpKSBJZiBWIGlzIG5vdCBhbiBvYmplY3QsIHJldHVybiBmYWxzZScpOwp9CgogfQp9KTsKCg==","id":"S15.3.5.3_A1_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41LjNfQTFfVDIiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjNfQTFfVDIuanMiLAoKYXNzZXJ0aW9uOiAiQXNzdW1lIEYgaXMgYSBGdW5jdGlvbiBvYmplY3QuIFdoZW4gdGhlIFtbSGFzSW5zdGFuY2VdXSBtZXRob2Qgb2YgRiBpcyBjYWxsZWQgd2l0aCB2YWx1ZSBWLCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjogaSkgSWYgViBpcyBub3QgYW4gb2JqZWN0LCByZXR1cm4gZmFsc2UiLAoKZGVzY3JpcHRpb246ICJWIGlzIHN0cmluZyIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgRkFDVE9SWSA9IEZ1bmN0aW9uKCJuYW1lIiwidGhpcy5uYW1lPW5hbWU7Iik7CgovL0NIRUNLIzEKaWYgKCgiMSIgaW5zdGFuY2VvZiAgRkFDVE9SWSkhPT1mYWxzZSkgewogICRFUlJPUignIzE6IEFzc3VtZSBGIGlzIGEgRnVuY3Rpb24gb2JqZWN0LiBXaGVuIHRoZSBbW0hhc0luc3RhbmNlXV0gbWV0aG9kIG9mIEYgaXMgY2FsbGVkIHdpdGggdmFsdWUgViwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IGkpIElmIFYgaXMgbm90IGFuIG9iamVjdCwgcmV0dXJuIGZhbHNlJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.5.3_A1_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41LjNfQTFfVDMiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjNfQTFfVDMuanMiLAoKYXNzZXJ0aW9uOiAiQXNzdW1lIEYgaXMgYSBGdW5jdGlvbiBvYmplY3QuIFdoZW4gdGhlIFtbSGFzSW5zdGFuY2VdXSBtZXRob2Qgb2YgRiBpcyBjYWxsZWQgd2l0aCB2YWx1ZSBWLCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjogaSkgSWYgViBpcyBub3QgYW4gb2JqZWN0LCByZXR1cm4gZmFsc2UiLAoKZGVzY3JpcHRpb246ICJWIGlzIGJvb2xlYW4gdHJ1ZSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgRkFDVE9SWSA9IEZ1bmN0aW9uKCJuYW1lIiwidGhpcy5uYW1lPW5hbWU7Iik7CgovL0NIRUNLIzEKaWYgKCh0cnVlIGluc3RhbmNlb2YgIEZBQ1RPUlkpIT09ZmFsc2UpIHsKICAkRVJST1IoJyMxOiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiBpKSBJZiBWIGlzIG5vdCBhbiBvYmplY3QsIHJldHVybiBmYWxzZScpOwp9CgogfQp9KTsKCg==","id":"S15.3.5.3_A1_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41LjNfQTFfVDQiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjNfQTFfVDQuanMiLAoKYXNzZXJ0aW9uOiAiQXNzdW1lIEYgaXMgYSBGdW5jdGlvbiBvYmplY3QuIFdoZW4gdGhlIFtbSGFzSW5zdGFuY2VdXSBtZXRob2Qgb2YgRiBpcyBjYWxsZWQgd2l0aCB2YWx1ZSBWLCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjogaSkgSWYgViBpcyBub3QgYW4gb2JqZWN0LCByZXR1cm4gZmFsc2UiLAoKZGVzY3JpcHRpb246ICJWIGlzIGJvb2xlYW4gZmFsc2UiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIEZBQ1RPUlkgPSBGdW5jdGlvbigibmFtZSIsInRoaXMubmFtZT1uYW1lOyIpOwoKLy9DSEVDSyMxCmlmICgoZmFsc2UgaW5zdGFuY2VvZiAgRkFDVE9SWSkhPT1mYWxzZSkgewogICRFUlJPUignIzE6IEFzc3VtZSBGIGlzIGEgRnVuY3Rpb24gb2JqZWN0LiBXaGVuIHRoZSBbW0hhc0luc3RhbmNlXV0gbWV0aG9kIG9mIEYgaXMgY2FsbGVkIHdpdGggdmFsdWUgViwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IGkpIElmIFYgaXMgbm90IGFuIG9iamVjdCwgcmV0dXJuIGZhbHNlJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.5.3_A1_T4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41LjNfQTFfVDUiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjNfQTFfVDUuanMiLAoKYXNzZXJ0aW9uOiAiQXNzdW1lIEYgaXMgYSBGdW5jdGlvbiBvYmplY3QuIFdoZW4gdGhlIFtbSGFzSW5zdGFuY2VdXSBtZXRob2Qgb2YgRiBpcyBjYWxsZWQgd2l0aCB2YWx1ZSBWLCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjogaSkgSWYgViBpcyBub3QgYW4gb2JqZWN0LCByZXR1cm4gZmFsc2UiLAoKZGVzY3JpcHRpb246ICJWIGlzIHZvaWQgMCIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgRkFDVE9SWSA9IEZ1bmN0aW9uKCJuYW1lIiwidGhpcy5uYW1lPW5hbWU7Iik7CgovL0NIRUNLIzEKaWYgKCh2b2lkIDAgaW5zdGFuY2VvZiAgRkFDVE9SWSkhPT1mYWxzZSkgewogICRFUlJPUignIzE6IEFzc3VtZSBGIGlzIGEgRnVuY3Rpb24gb2JqZWN0LiBXaGVuIHRoZSBbW0hhc0luc3RhbmNlXV0gbWV0aG9kIG9mIEYgaXMgY2FsbGVkIHdpdGggdmFsdWUgViwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IGkpIElmIFYgaXMgbm90IGFuIG9iamVjdCwgcmV0dXJuIGZhbHNlJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.5.3_A1_T5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41LjNfQTFfVDYiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjNfQTFfVDYuanMiLAoKYXNzZXJ0aW9uOiAiQXNzdW1lIEYgaXMgYSBGdW5jdGlvbiBvYmplY3QuIFdoZW4gdGhlIFtbSGFzSW5zdGFuY2VdXSBtZXRob2Qgb2YgRiBpcyBjYWxsZWQgd2l0aCB2YWx1ZSBWLCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjogaSkgSWYgViBpcyBub3QgYW4gb2JqZWN0LCByZXR1cm4gZmFsc2UiLAoKZGVzY3JpcHRpb246ICJWIGlzIG51bGwiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIEZBQ1RPUlkgPSBGdW5jdGlvbigibmFtZSIsInRoaXMubmFtZT1uYW1lOyIpOwoKLy9DSEVDSyMxCmlmICgobnVsbCBpbnN0YW5jZW9mICBGQUNUT1JZKSE9PWZhbHNlKSB7CiAgJEVSUk9SKCcjMTogQXNzdW1lIEYgaXMgYSBGdW5jdGlvbiBvYmplY3QuIFdoZW4gdGhlIFtbSGFzSW5zdGFuY2VdXSBtZXRob2Qgb2YgRiBpcyBjYWxsZWQgd2l0aCB2YWx1ZSBWLCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjogaSkgSWYgViBpcyBub3QgYW4gb2JqZWN0LCByZXR1cm4gZmFsc2UnKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.5.3_A1_T6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41LjNfQTFfVDciLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjNfQTFfVDcuanMiLAoKYXNzZXJ0aW9uOiAiQXNzdW1lIEYgaXMgYSBGdW5jdGlvbiBvYmplY3QuIFdoZW4gdGhlIFtbSGFzSW5zdGFuY2VdXSBtZXRob2Qgb2YgRiBpcyBjYWxsZWQgd2l0aCB2YWx1ZSBWLCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjogaSkgSWYgViBpcyBub3QgYW4gb2JqZWN0LCByZXR1cm4gZmFsc2UiLAoKZGVzY3JpcHRpb246ICJWIGlzIHVuZGVmaW5lZCIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgRkFDVE9SWSA9IEZ1bmN0aW9uKCJuYW1lIiwidGhpcy5uYW1lPW5hbWU7Iik7CgovL0NIRUNLIzEKaWYgKCh1bmRlZmluZWQgaW5zdGFuY2VvZiAgRkFDVE9SWSkhPT1mYWxzZSkgewogICRFUlJPUignIzE6IEFzc3VtZSBGIGlzIGEgRnVuY3Rpb24gb2JqZWN0LiBXaGVuIHRoZSBbW0hhc0luc3RhbmNlXV0gbWV0aG9kIG9mIEYgaXMgY2FsbGVkIHdpdGggdmFsdWUgViwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IGkpIElmIFYgaXMgbm90IGFuIG9iamVjdCwgcmV0dXJuIGZhbHNlJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.5.3_A1_T7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41LjNfQTFfVDgiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjNfQTFfVDguanMiLAoKYXNzZXJ0aW9uOiAiQXNzdW1lIEYgaXMgYSBGdW5jdGlvbiBvYmplY3QuIFdoZW4gdGhlIFtbSGFzSW5zdGFuY2VdXSBtZXRob2Qgb2YgRiBpcyBjYWxsZWQgd2l0aCB2YWx1ZSBWLCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjogaSkgSWYgViBpcyBub3QgYW4gb2JqZWN0LCByZXR1cm4gZmFsc2UiLAoKZGVzY3JpcHRpb246ICJWIGlzIHVuZGVmaW5lZCB2YXJpYWJsZSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgRkFDVE9SWSA9IEZ1bmN0aW9uKCJuYW1lIiwidGhpcy5uYW1lPW5hbWU7Iik7CgovL0NIRUNLIzEKaWYgKCh4IGluc3RhbmNlb2YgIEZBQ1RPUlkpIT09ZmFsc2UpIHsKICAkRVJST1IoJyMxOiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiBpKSBJZiBWIGlzIG5vdCBhbiBvYmplY3QsIHJldHVybiBmYWxzZScpOwp9Cgp2YXIgeDsKCiB9Cn0pOwoK","id":"S15.3.5.3_A1_T8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41LjNfQTJfVDIiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjNfQTJfVDIuanMiLAoKYXNzZXJ0aW9uOiAiQXNzdW1lIEYgaXMgYSBGdW5jdGlvbiBvYmplY3QuIFdoZW4gdGhlIFtbSGFzSW5zdGFuY2VdXSBtZXRob2Qgb2YgRiBpcyBjYWxsZWQgd2l0aCB2YWx1ZSBWIGFuZCBWIGlzIGFuIG9iamVjdCwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IiwKCmRlc2NyaXB0aW9uOiAiRi5wcm90b3R5cGUgaXMgdW5kZWZpbmVkLCBhbmQgViBpcyBlbXB0eSBvYmplY3QiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIEZBQ1RPUlkgPSBuZXcgRnVuY3Rpb247CgpGQUNUT1JZLnByb3RvdHlwZSA9IHVuZGVmaW5lZDsKCm9iaj17fTsKCi8vQ0hFQ0sjMQp0cnkgewogIG9iaiBpbnN0YW5jZW9mICBGQUNUT1JZOwogICRGQUlMKCcjMTogTyBpcyBub3QgYW4gb2JqZWN0LCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgCSRFUlJPUignIzEuMTogTyBpcyBub3QgYW4gb2JqZWN0LCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24nKTsKICB9Cn0KCgoKIH0KfSk7Cgo=","id":"S15.3.5.3_A2_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41LjNfQTJfVDUiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjNfQTJfVDUuanMiLAoKYXNzZXJ0aW9uOiAiQXNzdW1lIEYgaXMgYSBGdW5jdGlvbiBvYmplY3QuIFdoZW4gdGhlIFtbSGFzSW5zdGFuY2VdXSBtZXRob2Qgb2YiLAoKZGVzY3JpcHRpb246ICJGLnByb3RvdHlwZSBpcyB2b2lkIDAsIGFuZCBWIGlzIG5ldyBGIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBGQUNUT1JZID0gRnVuY3Rpb24oInRoaXMucHJvcD0xOyIpOwoKRkFDVE9SWS5wcm90b3R5cGUubmFtZSA9ICJmYWlyeSI7CgppbnN0YW5jZSA9IG5ldyBGQUNUT1JZOwoKRkFDVE9SWS5wcm90b3R5cGUgPSB2b2lkIDA7CgovLyBDSEVDSyMxCnRyeSB7CiAgaW5zdGFuY2UgaW5zdGFuY2VvZiBGQUNUT1JZOwogICRGQUlMKCcjMTogTyBpcyBub3QgYW4gb2JqZWN0LCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgICAkRVJST1IoJyMxLjE6IE8gaXMgbm90IGFuIG9iamVjdCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uJyk7CiAgfQp9CgovLyBDSEVDSyMyCmlmICgoaW5zdGFuY2UuY29uc3RydWN0b3IgIT09IEZBQ1RPUlkpIHx8IChpbnN0YW5jZS5uYW1lICE9PSAiZmFpcnkiKSkgewogICRFUlJPUignIzI6IGluc3RhbmNlLmNvbnN0cnVjdG9yID09PSBGQUNUT1JZJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.5.3_A2_T5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41LjNfQTJfVDYiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjNfQTJfVDYuanMiLAoKYXNzZXJ0aW9uOiAiQXNzdW1lIEYgaXMgYSBGdW5jdGlvbiBvYmplY3QuIFdoZW4gdGhlIFtbSGFzSW5zdGFuY2VdXSBtZXRob2Qgb2YiLAoKZGVzY3JpcHRpb246ICJGLnByb3RvdHlwZSBpcyBzdHJpbmcsIGFuZCBWIGlzIGZ1bmN0aW9uIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBGQUNUT1JZID0gbmV3IEZ1bmN0aW9uOwoKRkFDVE9SWS5wcm90b3R5cGUgPSAiZXJyb3IiOwoKLy8gQ0hFQ0sjMQp0cnkgewogICggZnVuY3Rpb24oKSB7CiAgfSkgaW5zdGFuY2VvZiBGQUNUT1JZOwogICRGQUlMKCcjMTogTyBpcyBub3QgYW4gb2JqZWN0LCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgICAkRVJST1IoJyMxLjE6IE8gaXMgbm90IGFuIG9iamVjdCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uJyk7CiAgfQp9CgogfQp9KTsKCg==","id":"S15.3.5.3_A2_T6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41LjNfQTNfVDEiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjNfQTNfVDEuanMiLAoKYXNzZXJ0aW9uOiAiQXNzdW1lIEYgaXMgYSBGdW5jdGlvbiBvYmplY3QuIFdoZW4gdGhlIFtbSGFzSW5zdGFuY2VdXSBtZXRob2Qgb2YgRiBpcyBjYWxsZWQgd2l0aCB2YWx1ZSBWIGFuZCBWIGlzIGFuIG9iamVjdCwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IiwKCmRlc2NyaXB0aW9uOiAiRi5wcm90b3R5cGUudHlwZSBpcyAxLCBhbmQgViBpcyBuZXcgRiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgRkFDVE9SWSA9IEZ1bmN0aW9uKCJ0aGlzLm5hbWU9XCJyb290XCIiKTsKCkZBQ1RPUlkucHJvdG90eXBlLnR5cGU9MTsKCmluc3RhbmNlID0gbmV3IEZBQ1RPUlk7CgovL0NIRUNLIzEKaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBGQUNUT1JZKSkgewogICRFUlJPUignIzE6IElmIE8gYW5kIFYgcmVmZXIgdG8gdGhlIHNhbWUgb2JqZWN0IG9yIGlmIHRoZXkgcmVmZXIgdG8gb2JqZWN0cyBqb2luZWQgdG8gZWFjaCBvdGhlciAoMTMuMS4yKSwgcmV0dXJuIHRydWUnKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.5.3_A3_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41LjNfQTNfVDIiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjNfQTNfVDIuanMiLAoKYXNzZXJ0aW9uOiAiQXNzdW1lIEYgaXMgYSBGdW5jdGlvbiBvYmplY3QuIFdoZW4gdGhlIFtbSGFzSW5zdGFuY2VdXSBtZXRob2Qgb2YgRiBpcyBjYWxsZWQgd2l0aCB2YWx1ZSBWIGFuZCBWIGlzIGFuIG9iamVjdCwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IiwKCmRlc2NyaXB0aW9uOiAiRi5wcm90b3R5cGUgaXMgT2JqZWN0LnByb3RvdHlwZSwgYW5kIFYgaXMgZW1wdHkgb2JqZWN0IiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBGQUtFRkFDVE9SWSA9IEZ1bmN0aW9uKCk7CgpmYWtlaW5zdGFuY2UgPSB7fTsKCi8vQ0hFQ0sjMQppZiAoZmFrZWluc3RhbmNlIGluc3RhbmNlb2YgRkFLRUZBQ1RPUlkpIHsKICAkRVJST1IoJyMxOiBJZiBPIGFuZCBWIHJlZmVyIHRvIHRoZSBzYW1lIG9iamVjdCBvciBpZiB0aGV5IHJlZmVyIHRvIG9iamVjdHMgam9pbmVkIHRvIGVhY2ggb3RoZXIgKDEzLjEuMiksIHJldHVybiB0cnVlJyk7Cn0KCkZBS0VGQUNUT1JZLnByb3RvdHlwZT1PYmplY3QucHJvdG90eXBlOwoKLy9DSEVDSyMyCmlmICghKGZha2VpbnN0YW5jZSBpbnN0YW5jZW9mIEZBS0VGQUNUT1JZKSkgewogICRFUlJPUignIzI6IElmIE8gYW5kIFYgcmVmZXIgdG8gdGhlIHNhbWUgb2JqZWN0IG9yIGlmIHRoZXkgcmVmZXIgdG8gb2JqZWN0cyBqb2luZWQgdG8gZWFjaCBvdGhlciAoMTMuMS4yKSwgcmV0dXJuIHRydWUnKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.5.3_A3_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41X0EyX1QxIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjVfUHJvcGVydGllc19vZl9GdW5jdGlvbl9JbnN0YW5jZXMvUzE1LjMuNV9BMl9UMS5qcyIsCgphc3NlcnRpb246ICJFdmVyeSBmdW5jdGlvbiBpbnN0YW5jZSBoYXMgYSBbW0NhbGxdXSBwcm9wZXJ0eSIsCgpkZXNjcmlwdGlvbjogIkZvciB0ZXN0aW5nIGNhbGwgRnVuY3Rpb24oXCJ2YXIgeCA9MTsgdGhpcy55PTI7cmV0dXJuIFxcXCJPS1xcXCI7XCIpKCkiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIC8vQ0hFQ0sjMQppZiAoRnVuY3Rpb24oInZhciB4ID0xOyB0aGlzLnk9MjtyZXR1cm4gXCJPS1wiOyIpKCkgIT09ICJPSyIpIHsKICAkRVJST1IoJyMxOiBFdmVyeSBmdW5jdGlvbiBpbnN0YW5jZSBoYXMgYSBbW0NhbGxdXSBwcm9wZXJ0eScpOwp9CgovL0NIRUNLIzIKaWYgKHR5cGVvZiB4ICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzI6IEV2ZXJ5IGZ1bmN0aW9uIGluc3RhbmNlIGhhcyBhIFtbQ2FsbF1dIHByb3BlcnR5Jyk7Cn0KCi8vQ0hFQ0sjMwppZiAoeSAhPT0gMikgewogICRFUlJPUignIzM6IEV2ZXJ5IGZ1bmN0aW9uIGluc3RhbmNlIGhhcyBhIFtbQ2FsbF1dIHByb3BlcnR5Jyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.5_A2_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41X0EyX1QyIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjVfUHJvcGVydGllc19vZl9GdW5jdGlvbl9JbnN0YW5jZXMvUzE1LjMuNV9BMl9UMi5qcyIsCgphc3NlcnRpb246ICJFdmVyeSBmdW5jdGlvbiBpbnN0YW5jZSBoYXMgYSBbW0NhbGxdXSBwcm9wZXJ0eSIsCgpkZXNjcmlwdGlvbjogIkZvciB0ZXN0aW5nIGNhbGwgKG5ldyBGdW5jdGlvbihcImFyZzEsYXJnMlwiLFwidmFyIHggPWFyZzE7IHRoaXMueT1hcmcyO3JldHVybiBhcmcxK2FyZzI7XCIpKShcIjFcIiwyKSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgLy9DSEVDSyMxCmlmICgobmV3IEZ1bmN0aW9uKCJhcmcxLGFyZzIiLCJ2YXIgeCA9YXJnMTsgdGhpcy55PWFyZzI7cmV0dXJuIGFyZzErYXJnMjsiKSkoIjEiLDIpICE9PSAiMTIiKSB7CiAgJEVSUk9SKCcjMTogRXZlcnkgZnVuY3Rpb24gaW5zdGFuY2UgaGFzIGEgW1tDYWxsXV0gcHJvcGVydHknKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2YgeCAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMyOiBFdmVyeSBmdW5jdGlvbiBpbnN0YW5jZSBoYXMgYSBbW0NhbGxdXSBwcm9wZXJ0eScpOwp9CgovL0NIRUNLIzMKaWYgKHkgIT09IDIpIHsKICAkRVJST1IoJyMzOiBFdmVyeSBmdW5jdGlvbiBpbnN0YW5jZSBoYXMgYSBbW0NhbGxdXSBwcm9wZXJ0eScpOwp9CgogfQp9KTsKCg==","id":"S15.3.5_A2_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41X0EzX1QxIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjVfUHJvcGVydGllc19vZl9GdW5jdGlvbl9JbnN0YW5jZXMvUzE1LjMuNV9BM19UMS5qcyIsCgphc3NlcnRpb246ICJldmVyeSBmdW5jdGlvbiBpbnN0YW5jZSBoYXMgYSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5IiwKCmRlc2NyaXB0aW9uOiAiQXMgY29uc3RydWN0b3IgdXNlIEZ1bmN0aW9uKFwidmFyIHggPTE7IHRoaXMueT0yO3JldHVybiBcXFwiT0tcXFwiO1wiKSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgRkFDVE9SWSA9IEZ1bmN0aW9uKCJ2YXIgeCA9MTsgdGhpcy55PTI7cmV0dXJuIFwiT0tcIjsiKTsKb2JqID0gbmV3IEZBQ1RPUlk7CgovL0NIRUNLIzEKaWYgKHR5cGVvZiBvYmogIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogZXZlcnkgZnVuY3Rpb24gaW5zdGFuY2UgaGFzIGEgW1tDb25zdHJ1Y3RdXSBwcm9wZXJ0eScpOwp9CgovL0NIRUNLIzIKaWYgKG9iai5jb25zdHJ1Y3RvciAhPT0gRkFDVE9SWSkgewogICRFUlJPUignIzI6IGV2ZXJ5IGZ1bmN0aW9uIGluc3RhbmNlIGhhcyBhIFtbQ29uc3RydWN0XV0gcHJvcGVydHknKTsKfQoKLy9DSEVDSyMzCmlmIChvYmoueSAhPT0gMikgewogICRFUlJPUignIzM6IGV2ZXJ5IGZ1bmN0aW9uIGluc3RhbmNlIGhhcyBhIFtbQ29uc3RydWN0XV0gcHJvcGVydHknKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.5_A3_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41X0EzX1QyIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjVfUHJvcGVydGllc19vZl9GdW5jdGlvbl9JbnN0YW5jZXMvUzE1LjMuNV9BM19UMi5qcyIsCgphc3NlcnRpb246ICJldmVyeSBmdW5jdGlvbiBpbnN0YW5jZSBoYXMgYSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5IiwKCmRlc2NyaXB0aW9uOiAiQXMgY29uc3RydWN0b3IgdXNlIG5ldyBGdW5jdGlvbihcImFyZzEsYXJnMlwiLFwidmFyIHggPTE7IHRoaXMueT1hcmcxK2FyZzI7cmV0dXJuIFxcXCJPS1xcXCI7XCIpIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBGQUNUT1JZID0gbmV3IEZ1bmN0aW9uKCJhcmcxLGFyZzIiLCJ2YXIgeCA9MTsgdGhpcy55PWFyZzErYXJnMjtyZXR1cm4gXCJPS1wiOyIpOwpvYmogPSBuZXcgRkFDVE9SWSgiMSIsMik7CgovL0NIRUNLIzEKaWYgKHR5cGVvZiBvYmogIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogZXZlcnkgZnVuY3Rpb24gaW5zdGFuY2UgaGFzIGEgW1tDb25zdHJ1Y3RdXSBwcm9wZXJ0eScpOwp9CgovL0NIRUNLIzIKaWYgKG9iai5jb25zdHJ1Y3RvciAhPT0gRkFDVE9SWSkgewogICRFUlJPUignIzI6IGV2ZXJ5IGZ1bmN0aW9uIGluc3RhbmNlIGhhcyBhIFtbQ29uc3RydWN0XV0gcHJvcGVydHknKTsKfQoKLy9DSEVDSyMzCmlmIChvYmoueSAhPT0gIjEyIikgewogICRFUlJPUignIzM6IGV2ZXJ5IGZ1bmN0aW9uIGluc3RhbmNlIGhhcyBhIFtbQ29uc3RydWN0XV0gcHJvcGVydHknKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.5_A3_T2"}]}} \ No newline at end of file +{"testsCollection":{"name":"Chapter - 15.3_Function_Objects","numTests":"186","tests":[{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4xX0ExX1QxIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy9TMTUuMy4xX0ExX1QxLmpzIiwKCmFzc2VydGlvbjogIlRoZSBmdW5jdGlvbiBjYWxsIEZ1bmN0aW9uKOKApikgaXMgZXF1aXZhbGVudCB0byB0aGUgb2JqZWN0IGNyZWF0aW9uIGV4cHJlc3Npb24iLAoKZGVzY3JpcHRpb246ICJDcmVhdGUgc2ltcGxlIGZ1bmN0aW9ucyBhbmQgY2hlY2sgcmV0dXJuZWQgdmFsdWVzIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgZiA9IEZ1bmN0aW9uKCJyZXR1cm4gYXJndW1lbnRzWzBdOyIpOwoKLy9DSEVDSyMxCmlmICghKGYgaW5zdGFuY2VvZiBGdW5jdGlvbikpewogICRFUlJPUignIzE6IGYgaW5zdGFuY2VvZiBGdW5jdGlvbicpOwp9CgovL0NIRUNLIzIKaWYgKGYoMSkgIT09IDEpIHsKICAkRVJST1IoJyMyOiBmKDEpICE9PSAxJyk7Cn0KCnZhciBnID0gbmV3IEZ1bmN0aW9uKCJyZXR1cm4gYXJndW1lbnRzWzBdOyIpOwoKCi8vQ0hFQ0sjMwppZiAoIShnIGluc3RhbmNlb2YgRnVuY3Rpb24pKSB7CiAgJEVSUk9SKCcjMzogZyBpbnN0YW5jZW9mIEZ1bmN0aW9uJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZygiQSIpICE9PSAiQSIpIHsKICAkRVJST1IoJyM0OiBnKCJBIikgIT09ICJBIicpOwp9CgovL0NIRUNLIzUKaWYgKGcoIkEiKSAhPT0gZigiQSIpKSB7CiAgJEVSUk9SKCcjNTogZygiQSIpICE9PSBmKCJBIiknKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.1_A1_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuM19BMSIsCgpwYXRoOiAiVGVzdENhc2VzLzE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvUzE1LjNfQTEuanMiLAoKYXNzZXJ0aW9uOiAiRnVuY3Rpb24gaXMgdGhlIHByb3BlcnR5IG9mIGdsb2JhbCIsCgpkZXNjcmlwdGlvbjogIkNvbXBhcmUgRnVuY3Rpb24gd2l0aCB0aGlzLkZ1bmN0aW9uIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgb2JqID0gRnVuY3Rpb247Cgp2YXIgdGhpc29iaiA9IHRoaXMuRnVuY3Rpb247CgppZiAob2JqICE9PSB0aGlzb2JqKSB7CiAgJEVSUk9SKCdGdW5jdGlvbiBpcyB0aGUgcHJvcGVydHkgb2YgZ2xvYmFsJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3_A1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuM19BMl9UMSIsCgpwYXRoOiAiVGVzdENhc2VzLzE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvUzE1LjNfQTJfVDEuanMiLAoKYXNzZXJ0aW9uOiAiU2luY2UgYXBwbHlpbmcgdGhlIFwiY2FsbFwiIG1ldGhvZCB0byBGdW5jdGlvbiBjb25zdHJ1Y3RvciB0aGVtc2VsZiBsZWFkcyB0byBjcmVhdGluZyBhIG5ldyBmdW5jdGlvbiBpbnN0YW5jZSwgdGhlIHNlY29uZCBhcmd1bWVudCBtdXN0IGJlIGEgdmFsaWQgZnVuY3Rpb24gYm9keSIsCgpkZXNjcmlwdGlvbjogIkNoZWNraW5nIGlmIGV4ZWN1dGluZyBcIkZ1bmN0aW9uLmNhbGwodGhpcywgXCJ2YXIgeCAvID0gMTtcIilcIiBmYWlscyIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgLy9DSEVDSyMKdHJ5ewogIEZ1bmN0aW9uLmNhbGwodGhpcywgInZhciB4IC8gPSAxOyIpOwp9IGNhdGNoKGUpewogIGlmICghKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikpIHsKICAJJEVSUk9SKCcjMTogZnVuY3Rpb24gYm9keSBtdXN0IGJlIHZhbGlkJyk7CiAgfQp9ICAgIAoKCiB9Cn0pOwoK","id":"S15.3_A2_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuM19BMl9UMiIsCgpwYXRoOiAiVGVzdENhc2VzLzE1X05hdGl2ZS8xNS4zX0Z1bmN0aW9uX09iamVjdHMvUzE1LjNfQTJfVDIuanMiLAoKYXNzZXJ0aW9uOiAiU2luY2UgYXBwbHlpbmcgdGhlIFwiY2FsbFwiIG1ldGhvZCB0byBGdW5jdGlvbiBjb25zdHJ1Y3RvciB0aGVtc2VsZiBsZWFkcyB0byBjcmVhdGluZyBhIG5ldyBmdW5jdGlvbiBpbnN0YW5jZSwgdGhlIHNlY29uZCBhcmd1bWVudCBtdXN0IGJlIGEgdmFsaWQgZnVuY3Rpb24gYm9keSIsCgpkZXNjcmlwdGlvbjogIkNoZWNraW5nIGlmIGV4ZWN1dGluZyBcIkZ1bmN0aW9uLmNhbGwodGhpcywgXCJ2YXIgI3ggID0gMTtcIilcIiBmYWlscyIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgLy9DSEVDSyMKdHJ5ewogIEZ1bmN0aW9uLmNhbGwodGhpcywgInZhciAjeCAgPSAxOyIpOwp9IGNhdGNoKGUpewogIGlmICghKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikpIHsKICAJJEVSUk9SKCcjMTogZnVuY3Rpb24gYm9keSBtdXN0IGJlIHZhbGlkJyk7CiAgfQp9ICAgIAoKCiB9Cn0pOwoK","id":"S15.3_A2_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTFfVDEiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMi4xX0ExX1QxLmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCBhbmQgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IiwKCmRlc2NyaXB0aW9uOiAiVGhlIGJvZHkgb2YgdGhlIGZ1bmN0aW9uIGlzIFwie3RvU3RyaW5nOmZ1bmN0aW9uKCl7dGhyb3cgNzt9fVwiIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgYm9keSA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93IDc7fX0KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKGJvZHkpOwogICRGQUlMKCcjMTogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IHRoZSBmb2xsb3dpbmcgc3RlcCBhcmUgdGFrZW46IGNhbGwgVG9TdHJpbmcoYm9keSknKTsKfSBjYXRjaCAoZSkgewogIGlmIChlICE9PSA3KSB7CiAgCSRFUlJPUignIzEuMTogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IHRoZSBmb2xsb3dpbmcgc3RlcCBhcmUgdGFrZW46IGNhbGwgVG9TdHJpbmcoYm9keSknKTsKICB9Cn0KCiB9Cn0pOwoK","id":"S15.3.2.1_A1_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTFfVDEwIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjJfVGhlX0Z1bmN0aW9uX0NvbnN0cnVjdG9yL1MxNS4zLjIuMV9BMV9UMTAuanMiLAoKYXNzZXJ0aW9uOiAiV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IGFuZCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoiLAoKZGVzY3JpcHRpb246ICJWYWx1ZSBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnQgaXMgXCJudWxsXCIiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIC8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKG51bGwpOwp9IGNhdGNoIChlKSB7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxzIHdpdGggZXJyb3IgJytlKTsKfQoKLy9DSEVDSyMyCmlmIChmLmNvbnN0cnVjdG9yICE9PSBGdW5jdGlvbikgewogICRFUlJPUignIzI6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCBhbmQgY3JlYXRlcyBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjInKTsKfQoKLy9DSEVDSyMzCmlmIChmKCkgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbi4uLicpOwp9CgogfQp9KTsKCg==","id":"S15.3.2.1_A1_T10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTFfVDExIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjJfVGhlX0Z1bmN0aW9uX0NvbnN0cnVjdG9yL1MxNS4zLjIuMV9BMV9UMTEuanMiLAoKYXNzZXJ0aW9uOiAiV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IGFuZCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoiLAoKZGVzY3JpcHRpb246ICJWYWx1ZSBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnQgaXMgXCJ1bmRlZmluZWRcIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24odW5kZWZpbmVkKTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQgd2l0aCBlcnJvciAnK2UpOwp9CgovL0NIRUNLIzIKaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IGFuZCBjcmVhdGVzIGEgbmV3IEZ1bmN0aW9uIG9iamVjdCBhcyBzcGVjaWZpZWQgaW4gMTMuMicpOwp9CgovL0NIRUNLIzMKaWYgKGYoKSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuLi4uJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.2.1_A1_T11"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTFfVDEyIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjJfVGhlX0Z1bmN0aW9uX0NvbnN0cnVjdG9yL1MxNS4zLjIuMV9BMV9UMTIuanMiLAoKYXNzZXJ0aW9uOiAiV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IGFuZCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoiLAoKZGVzY3JpcHRpb246ICJWYWx1ZSBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnQgaXMgXCJ2b2lkIDBcIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24odm9pZCAwKTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQgd2l0aCBlcnJvciAnK2UpOwp9CgovL0NIRUNLIzIKaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IGFuZCBjcmVhdGVzIGEgbmV3IEZ1bmN0aW9uIG9iamVjdCBhcyBzcGVjaWZpZWQgaW4gMTMuMicpOwp9CgovL0NIRUNLIzMKaWYgKGYoKSE9PXVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbi4uLicpOwp9CgogfQp9KTsKCg==","id":"S15.3.2.1_A1_T12"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTFfVDEzIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjJfVGhlX0Z1bmN0aW9uX0NvbnN0cnVjdG9yL1MxNS4zLjIuMV9BMV9UMTMuanMiLAoKYXNzZXJ0aW9uOiAiV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IGFuZCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoiLAoKZGVzY3JpcHRpb246ICJWYWx1ZSBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnQgaXMgXCJ7fVwiIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAvL0NIRUNLIzEKdHJ5IHsKICB2YXIgZiA9IG5ldyBGdW5jdGlvbih7fSk7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCB3aXRoIGVycm9yICcrZSk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoIShlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpKSB7CiAgCSRFUlJPUignIzEuMTogSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24nKTsKICB9Cn0KCiB9Cn0pOwoK","id":"S15.3.2.1_A1_T13"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTFfVDIiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMi4xX0ExX1QyLmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCBhbmQgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IiwKCmRlc2NyaXB0aW9uOiAiVGhlIGJvZHkgb2YgdGhlIGZ1bmN0aW9uIGlzIFwie3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIFwicmV0dXJuIDE7XCI7fX1cIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgdmFyIGJvZHk9e3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJyZXR1cm4gMTsiO319OwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24oYm9keSk7CQp9IGNhdGNoIChlKSB7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCB3aXRoIGVycm9yICcrZSk7Cn0KCi8vQ0hFQ0sjMgppZiAoZi5jb25zdHJ1Y3RvciAhPT0gRnVuY3Rpb24pIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIGNyZWF0ZXMgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZigpIT09MSkgewogICRFUlJPUignIzM6IGhlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuLi4uJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.2.1_A1_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTFfVDMiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMi4xX0ExX1QzLmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCBhbmQgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IiwKCmRlc2NyaXB0aW9uOiAiVmFsdWUgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50IGlzIDEiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIC8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKDEpOwp9IGNhdGNoIChlKSB7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCB3aXRoIGVycm9yICcrZSk7Cn0KCi8vQ0hFQ0sjMgppZiAoZi5jb25zdHJ1Y3RvciAhPT0gRnVuY3Rpb24pIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIGNyZWF0ZXMgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZigpIT09dW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuLi4uJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.2.1_A1_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTFfVDQiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMi4xX0ExX1Q0LmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCBhbmQgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IiwKCmRlc2NyaXB0aW9uOiAiVmFsdWUgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50IGlzIHgsIHdoZXJlIHggaXMgc3BlY2lmaWVkIHdpdGggXCJ1bmRlZmluZWRcIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24oeCk7Cn0gY2F0Y2ggKGUpIHsKICAkRkFJTCgnIzE6IHRlc3QgZmFpbGVkIHdpdGggZXJyb3IgJytlKTsKfQoKLy9DSEVDSyMyCmlmIChmLmNvbnN0cnVjdG9yICE9PSBGdW5jdGlvbikgewogICRFUlJPUignIzI6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCBhbmQgY3JlYXRlcyBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjInKTsKfQoKLy9DSEVDSyMzCmlmIChmKCkhPT11bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW4uLi4nKTsKfQoKdmFyIHg7CgogfQp9KTsKCg==","id":"S15.3.2.1_A1_T4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTFfVDUiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMi4xX0ExX1Q1LmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCBhbmQgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IiwKCmRlc2NyaXB0aW9uOiAiVmFsdWUgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50IGlzIFwiT2JqZWN0KFwicmV0dXJuIFxcXCdBXFxcJ1wiKVwiIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgYm9keSA9IE9iamVjdCgicmV0dXJuIFwnQVwnIik7CgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgZiA9IG5ldyBGdW5jdGlvbihib2R5KTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQgd2l0aCBlcnJvciAnK2UpOwp9CgovL0NIRUNLIzIKaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IGFuZCBjcmVhdGVzIGEgbmV3IEZ1bmN0aW9uIG9iamVjdCBhcyBzcGVjaWZpZWQgaW4gMTMuMicpOwp9CgovL0NIRUNLIzMKaWYgKGYoKSE9PSJcdTAwNDEiKSB7CiAgJEVSUk9SKCcjMzogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuLi4uJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.2.1_A1_T5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTFfVDYiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMi4xX0ExX1Q2LmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCBhbmQgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IiwKCmRlc2NyaXB0aW9uOiAiVmFsdWUgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50IGlzIHRoZSBzdHJpbmcgXCJyZXR1cm4gdHJ1ZTtcIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24oInJldHVybiB0cnVlOyIpOwp9IGNhdGNoIChlKSB7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCB3aXRoIGVycm9yICcrZSk7Cn0KCi8vQ0hFQ0sjMgppZiAoZi5jb25zdHJ1Y3RvciAhPT0gRnVuY3Rpb24pIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIGNyZWF0ZXMgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoIShmKCkpKSB7CiAgJEVSUk9SKCcjMzogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuLi4uJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.2.1_A1_T6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTFfVDciLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMi4xX0ExX1Q3LmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCBhbmQgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IiwKCmRlc2NyaXB0aW9uOiAiVmFsdWUgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50IGlzIFwiT2JqZWN0KDEpXCIiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHZhciBib2R5ID0gbmV3IE9iamVjdCgxKTsKCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKGJvZHkpOwp9IGNhdGNoIChlKSB7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCB3aXRoIGVycm9yICcrZSk7Cn0KCi8vQ0hFQ0sjMgppZiAoZi5jb25zdHJ1Y3RvciAhPT0gRnVuY3Rpb24pIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIGNyZWF0ZXMgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZigpIT09dW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuLi4uJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.2.1_A1_T7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTFfVDgiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMi4xX0ExX1Q4LmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCBhbmQgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IiwKCmRlc2NyaXB0aW9uOiAiVmFsdWUgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50IGlzIFwidmFyIDE9MTtcIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgdmFyIGJvZHkgPSAidmFyIDE9MTsiOwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24oYm9keSk7CiAgJEZBSUwoJyMxOiBJZiBib2R5IGlzIG5vdCBwYXJzYWJsZSBhcyBGdW5jdGlvbkJvZHkgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKCEoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSkgewogIAkkRVJST1IoJyMxLjE6IElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uJyk7CiAgfQp9CgogfQp9KTsKCg==","id":"S15.3.2.1_A1_T8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTFfVDkiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMi4xX0ExX1Q5LmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCBhbmQgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IiwKCmRlc2NyaXB0aW9uOiAiVmFsdWUgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50IGlzIFwicmV0dXJuIGFyZ3VtZW50c1swXTtcIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgdmFyIGYgPSBuZXcgRnVuY3Rpb24oInJldHVybiBhcmd1bWVudHNbMF07Iik7CgovL0NIRUNLIzEKaWYgKCEoZiBpbnN0YW5jZW9mIEZ1bmN0aW9uKSkgewogICRFUlJPUignIzM6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCBhbmQgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW4uLi4nKTsKfQoKLy9DSEVDSyMyCmlmIChmKCJBIikgIT09ICJBIikgewogICRFUlJPUignIzI6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCBhbmQgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW4uLi4nKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.2.1_A1_T9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTJfVDEiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMi4xX0EyX1QxLmpzIiwKCmFzc2VydGlvbjogIkl0IGlzIHBlcm1pc3NpYmxlIGJ1dCBub3QgbmVjZXNzYXJ5IHRvIGhhdmUgb25lIGFyZ3VtZW50IGZvciBlYWNoIGZvcm1hbCBwYXJhbWV0ZXIgdG8gYmUgc3BlY2lmaWVkIiwKCmRlc2NyaXB0aW9uOiAiVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlIFwiYXJnMVwiLCBcImFyZzJcIiwgXCJhcmczXCIsIFwicmV0dXJuIGFyZzErYXJnMithcmczO1wiIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAvL0NIRUNLIzEKdHJ5IHsKICB2YXIgZiA9IEZ1bmN0aW9uKCJhcmcxIiwgImFyZzIiLCAiYXJnMyIsICJyZXR1cm4gYXJnMSthcmcyK2FyZzM7Iik7Cn0gY2F0Y2ggKGUpIHsKICAkRkFJTCgnIzE6IHRlc3QgZmFpbGVkJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIShmIGluc3RhbmNlb2YgRnVuY3Rpb24pKXsKICAkRVJST1IoJyMyOiBJdCBpcyBwZXJtaXNzaWJsZSBidXQgbm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVudCBmb3IgZWFjaCBmb3JtYWwgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZCcpOwp9CgovL0NIRUNLIzMKaWYgKGYoMSwyLDMpICE9PSA2KSB7CiAgJEVSUk9SKCcjMzogSXQgaXMgcGVybWlzc2libGUgYnV0IG5vdCBuZWNlc3NhcnkgdG8gaGF2ZSBvbmUgYXJndW1lbnQgZm9yIGVhY2ggZm9ybWFsIHBhcmFtZXRlciB0byBiZSBzcGVjaWZpZWQnKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.2.1_A2_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTJfVDIiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMi4xX0EyX1QyLmpzIiwKCmFzc2VydGlvbjogIkl0IGlzIHBlcm1pc3NpYmxlIGJ1dCBub3QgbmVjZXNzYXJ5IHRvIGhhdmUgb25lIGFyZ3VtZW50IGZvciBlYWNoIGZvcm1hbCBwYXJhbWV0ZXIgdG8gYmUgc3BlY2lmaWVkIiwKCmRlc2NyaXB0aW9uOiAiVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlIFwiYXJnMSwgYXJnMlwiLCBcImFyZzNcIiwgXCJyZXR1cm4gYXJnMSthcmcyK2FyZzM7XCIiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIC8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gRnVuY3Rpb24oImFyZzEsIGFyZzIiLCAiYXJnMyIsICJyZXR1cm4gYXJnMSthcmcyK2FyZzM7Iik7Cn0gY2F0Y2ggKGUpIHsKICAkRkFJTCgnIzE6IHRlc3QgZmFpbGVkJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIShmIGluc3RhbmNlb2YgRnVuY3Rpb24pKXsKICAkRVJST1IoJyMyOiBJdCBpcyBwZXJtaXNzaWJsZSBidXQgbm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVudCBmb3IgZWFjaCBmb3JtYWwgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZCcpOwp9CgovL0NIRUNLIzMKaWYgKGYoIkFCIiwiQkEiLDEpICE9PSAiQUJCQTEiKSB7CiAgJEVSUk9SKCcjMzogSXQgaXMgcGVybWlzc2libGUgYnV0IG5vdCBuZWNlc3NhcnkgdG8gaGF2ZSBvbmUgYXJndW1lbnQgZm9yIGVhY2ggZm9ybWFsIHBhcmFtZXRlciB0byBiZSBzcGVjaWZpZWQnKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.2.1_A2_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTJfVDMiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMi4xX0EyX1QzLmpzIiwKCmFzc2VydGlvbjogIkl0IGlzIHBlcm1pc3NpYmxlIGJ1dCBub3QgbmVjZXNzYXJ5IHRvIGhhdmUgb25lIGFyZ3VtZW50IGZvciBlYWNoIGZvcm1hbCBwYXJhbWV0ZXIgdG8gYmUgc3BlY2lmaWVkIiwKCmRlc2NyaXB0aW9uOiAiVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlIFwiYXJnMSwgYXJnMiwgYXJnM1wiLCBcInJldHVybiBhcmcxK2FyZzIrYXJnMztcIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBGdW5jdGlvbigiYXJnMSwgYXJnMiwgYXJnMyIsICJyZXR1cm4gYXJnMSthcmcyK2FyZzM7Iik7Cn0gY2F0Y2ggKGUpIHsKICAkRkFJTCgnIzE6IHRlc3QgZmFpbGVkJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIShmIGluc3RhbmNlb2YgRnVuY3Rpb24pKXsKICAkRVJST1IoJyMyOiBJdCBpcyBwZXJtaXNzaWJsZSBidXQgbm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVudCBmb3IgZWFjaCBmb3JtYWwgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZCcpOwp9CgovL0NIRUNLIzMKaWYgKGYoMSwxLCJBQkJBIikgIT09ICIyQUJCQSIpIHsKICAkRVJST1IoJyMzOiBJdCBpcyBwZXJtaXNzaWJsZSBidXQgbm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVudCBmb3IgZWFjaCBmb3JtYWwgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZCcpOwp9CgogfQp9KTsKCg==","id":"S15.3.2.1_A2_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTJfVDQiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMi4xX0EyX1Q0LmpzIiwKCmFzc2VydGlvbjogIkl0IGlzIHBlcm1pc3NpYmxlIGJ1dCBub3QgbmVjZXNzYXJ5IHRvIGhhdmUgb25lIGFyZ3VtZW50IGZvciBlYWNoIGZvcm1hbCBwYXJhbWV0ZXIgdG8gYmUgc3BlY2lmaWVkIiwKCmRlc2NyaXB0aW9uOiAiVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlIFwicmV0dXJuXCItcyBvZiB2YXJpb3VzIHJlc3VsdHMiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHZhciBpPTA7Cgp2YXIgcD17dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gImFyZyIrKCsraSk7fX07CgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgZiA9IEZ1bmN0aW9uKHAsIHAsIHAsICJyZXR1cm4gYXJnMSthcmcyK2FyZzM7Iik7Cn0gY2F0Y2ggKGUpIHsKICAkRkFJTCgnIzE6IHRlc3QgZmFpbGVkJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIShmIGluc3RhbmNlb2YgRnVuY3Rpb24pKXsKICAkRVJST1IoJyMyOiBJdCBpcyBwZXJtaXNzaWJsZSBidXQgbm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVudCBmb3IgZWFjaCBmb3JtYWwgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZCcpOwp9CgovL0NIRUNLIzMKaWYgKGYoNCwiMiIsIlFVRVNUSU9OIikgIT09ICI0MlFVRVNUSU9OIikgewogICRFUlJPUignIzM6IEl0IGlzIHBlcm1pc3NpYmxlIGJ1dCBub3QgbmVjZXNzYXJ5IHRvIGhhdmUgb25lIGFyZ3VtZW50IGZvciBlYWNoIGZvcm1hbCBwYXJhbWV0ZXIgdG8gYmUgc3BlY2lmaWVkJyk7Cn0KICAKIH0KfSk7Cgo=","id":"S15.3.2.1_A2_T4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTJfVDUiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMi4xX0EyX1Q1LmpzIiwKCmFzc2VydGlvbjogIkl0IGlzIHBlcm1pc3NpYmxlIGJ1dCBub3QgbmVjZXNzYXJ5IHRvIGhhdmUgb25lIGFyZ3VtZW50IGZvciBlYWNoIGZvcm1hbCBwYXJhbWV0ZXIgdG8gYmUgc3BlY2lmaWVkIiwKCmRlc2NyaXB0aW9uOiAiVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlIFwicmV0dXJuXCItcyBvZiB2YXJpb3VzIHJlc3VsdHMgYW5kIGEgY29uY290ZW5hdGlvbiBvZiBzdHJpbmdzIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgaT0wOwoKdmFyIHA9e3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJhcmciKygrK2kpfX07CgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgZiA9IEZ1bmN0aW9uKHArIiwiK3AscCwgInJldHVybiBhcmcxK2FyZzIrYXJnMzsiKTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQnKTsKfQoKLy9DSEVDSyMyCmlmICghKGYgaW5zdGFuY2VvZiBGdW5jdGlvbikpewogICRFUlJPUignIzI6IEl0IGlzIHBlcm1pc3NpYmxlIGJ1dCBub3QgbmVjZXNzYXJ5IHRvIGhhdmUgb25lIGFyZ3VtZW50IGZvciBlYWNoIGZvcm1hbCBwYXJhbWV0ZXIgdG8gYmUgc3BlY2lmaWVkJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZigiIiwxLDIpICE9PSAiMTIiKSB7CiAgJEVSUk9SKCcjMzogSXQgaXMgcGVybWlzc2libGUgYnV0IG5vdCBuZWNlc3NhcnkgdG8gaGF2ZSBvbmUgYXJndW1lbnQgZm9yIGVhY2ggZm9ybWFsIHBhcmFtZXRlciB0byBiZSBzcGVjaWZpZWQnKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.2.1_A2_T5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTJfVDYiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMi4xX0EyX1Q2LmpzIiwKCmFzc2VydGlvbjogIkl0IGlzIHBlcm1pc3NpYmxlIGJ1dCBub3QgbmVjZXNzYXJ5IHRvIGhhdmUgb25lIGFyZ3VtZW50IGZvciBlYWNoIGZvcm1hbCBwYXJhbWV0ZXIgdG8gYmUgc3BlY2lmaWVkIiwKCmRlc2NyaXB0aW9uOiAiVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlIFwicmV0dXJuXCItcyBvZiB2YXJpb3VzIHJlc3VsdHMgYW5kIGEgY29uY290ZW5hdGlvbiBvZiBzdHJpbmdzIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgaT0wOwoKdmFyIHA9e3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJhcmciKygrK2kpfX07CgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgZiA9IEZ1bmN0aW9uKHArIiwiK3ArIiwiK3AsICJyZXR1cm4gYXJnMSthcmcyK2FyZzM7Iik7Cn0gY2F0Y2ggKGUpIHsKICAkRkFJTCgnIzE6IHRlc3QgZmFpbGVkJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIShmIGluc3RhbmNlb2YgRnVuY3Rpb24pKXsKICAkRVJST1IoJyMyOiBJdCBpcyBwZXJtaXNzaWJsZSBidXQgbm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVudCBmb3IgZWFjaCBmb3JtYWwgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZCcpOwp9CgovL0NIRUNLIzMKaWYgKGYoIiIsMSxwKSAhPT0gIjFhcmc0IikgewogICRFUlJPUignIzM6IEl0IGlzIHBlcm1pc3NpYmxlIGJ1dCBub3QgbmVjZXNzYXJ5IHRvIGhhdmUgb25lIGFyZ3VtZW50IGZvciBlYWNoIGZvcm1hbCBwYXJhbWV0ZXIgdG8gYmUgc3BlY2lmaWVkJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.2.1_A2_T6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTNfVDEiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMi4xX0EzX1QxLmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIGFyZ3VtZW50cyBwLCBib2R5IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiIsCgpkZXNjcmlwdGlvbjogIlZhbHVlcyBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnRzIGFyZSBcInt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93IDE7fX1cIiBhbmQgXCJ7dG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyBcJ2JvZHlcJzt9fVwiIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgcCA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93IDE7fX07CnZhciBib2R5ID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7dGhyb3cgImJvZHkiO319OwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24ocCxib2R5KTsKICAkRkFJTCgnIzE6IHRlc3QgZmFpbGVkJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gMSkgewogIAkkRVJST1IoJyMxLjE6IGkpIExldCBSZXN1bHQoaSkgYmUgdGhlIGZpcnN0IGFyZ3VtZW50OyBpaSkgTGV0IFAgYmUgVG9TdHJpbmcoUmVzdWx0KGkpKScpOwogIH0KfQoKCgogfQp9KTsKCg==","id":"S15.3.2.1_A3_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTNfVDEwIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjJfVGhlX0Z1bmN0aW9uX0NvbnN0cnVjdG9yL1MxNS4zLjIuMV9BM19UMTAuanMiLAoKYXNzZXJ0aW9uOiAiV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggYXJndW1lbnRzIHAsIGJvZHkgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IiwKCmRlc2NyaXB0aW9uOiAiVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlIFwie3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIFwiejt4XCJ9fVwiIGFuZCBcInJldHVybiB0aGlzO1wiIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgYm9keSA9ICJyZXR1cm4gdGhpczsiOwp2YXIgcD17dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIno7eCJ9fTsKCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKHAsYm9keSk7CiAgJEZBSUwoJyMxOiBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikpIHsKICAJJEVSUk9SKCcjMS4xOiBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24nKTsKICB9Cn0KCiB9Cn0pOwoK","id":"S15.3.2.1_A3_T10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTNfVDExIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjJfVGhlX0Z1bmN0aW9uX0NvbnN0cnVjdG9yL1MxNS4zLjIuMV9BM19UMTEuanMiLAoKYXNzZXJ0aW9uOiAiV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggYXJndW1lbnRzIHAsIGJvZHkgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IiwKCmRlc2NyaXB0aW9uOiAiVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlIFwiYSxiLGNcIiBhbmQgXCJ2b2lkIDBcIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgdmFyIHAgPSAiYSxiLGMiOwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24ocCwgdm9pZCAwKTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQgd2l0aCBlcnJvciAnK2UpOwp9CgovL0NIRUNLIzIKaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggYXJndW1lbnRzIHAsIGJvZHkgY3JlYXRlcyBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjInKTsKfQoKLy9DSEVDSyMzCmlmIChmKCkhPT11bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbi4uLicpOwp9CgogfQp9KTsKCg==","id":"S15.3.2.1_A3_T11"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTNfVDEyIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjJfVGhlX0Z1bmN0aW9uX0NvbnN0cnVjdG9yL1MxNS4zLjIuMV9BM19UMTIuanMiLAoKYXNzZXJ0aW9uOiAiV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggYXJndW1lbnRzIHAsIGJvZHkgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IiwKCmRlc2NyaXB0aW9uOiAiVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlIFwiYSxiLGNcIiBhbmQgXCJ1bmRlZmluZWRcIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgdmFyIHAgPSAiYSxiLGMiOwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24ocCwgdW5kZWZpbmVkKTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQgd2l0aCBlcnJvciAnK2UpOwp9CgovL0NIRUNLIzIKaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggYXJndW1lbnRzIHAsIGJvZHkgY3JlYXRlcyBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjInKTsKfQoKLy9DSEVDSyMzCmlmIChmKCkhPT11bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbi4uLicpOwp9CgogfQp9KTsKCg==","id":"S15.3.2.1_A3_T12"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTNfVDEzIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjJfVGhlX0Z1bmN0aW9uX0NvbnN0cnVjdG9yL1MxNS4zLjIuMV9BM19UMTMuanMiLAoKYXNzZXJ0aW9uOiAiV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggYXJndW1lbnRzIHAsIGJvZHkgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IiwKCmRlc2NyaXB0aW9uOiAiVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlIFwiYSxiLGNcIiBhbmQgXCJudWxsXCIiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHZhciBwID0gImEsYixjIjsKCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKHAsIG51bGwpOwp9IGNhdGNoIChlKSB7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCB3aXRoIGVycm9yICcrZSk7Cn0KCi8vQ0hFQ0sjMgppZiAoZi5jb25zdHJ1Y3RvciAhPT0gRnVuY3Rpb24pIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSBjcmVhdGVzIGEgbmV3IEZ1bmN0aW9uIG9iamVjdCBhcyBzcGVjaWZpZWQgaW4gMTMuMicpOwp9CgovL0NIRUNLIzMKaWYgKGYoKSE9PXVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIGFyZ3VtZW50cyBwLCBib2R5IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuLi4uJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.2.1_A3_T13"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTNfVDE0IiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjJfVGhlX0Z1bmN0aW9uX0NvbnN0cnVjdG9yL1MxNS4zLjIuMV9BM19UMTQuanMiLAoKYXNzZXJ0aW9uOiAiV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggYXJndW1lbnRzIHAsIGJvZHkgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IiwKCmRlc2NyaXB0aW9uOiAiVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlIFwiYSxiLGNcIiBhbmQgYW4gdW5kZWZpbmVkIHZhcmlhYmxlIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgcCA9ICJhLGIsYyI7CgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgZiA9IG5ldyBGdW5jdGlvbihwLCBib2R5KTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQgd2l0aCBlcnJvciAnK2UpOwp9CgovL0NIRUNLIzIKaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggYXJndW1lbnRzIHAsIGJvZHkgY3JlYXRlcyBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjInKTsKfQoKLy9DSEVDSyMzCmlmIChmKCkhPT11bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbi4uLicpOwp9Cgp2YXIgYm9keTsKCiB9Cn0pOwoK","id":"S15.3.2.1_A3_T14"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTNfVDE1IiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjJfVGhlX0Z1bmN0aW9uX0NvbnN0cnVjdG9yL1MxNS4zLjIuMV9BM19UMTUuanMiLAoKYXNzZXJ0aW9uOiAiV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggYXJndW1lbnRzIHAsIGJvZHkgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IiwKCmRlc2NyaXB0aW9uOiAiVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlIGFyZSB0d28gZW1wdHkgc3RyaW5ncyIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24oIiIsICIiKTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQgd2l0aCBlcnJvciAnK2UpOwp9CgovL0NIRUNLIzIKaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggYXJndW1lbnRzIHAsIGJvZHkgY3JlYXRlcyBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjInKTsKfQoKLy9DSEVDSyMzCmlmIChmKCkhPT11bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbi4uLicpOwp9CgogfQp9KTsKCg==","id":"S15.3.2.1_A3_T15"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTNfVDIiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMi4xX0EzX1QyLmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIGFyZ3VtZW50cyBwLCBib2R5IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiIsCgpkZXNjcmlwdGlvbjogIlZhbHVlcyBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnRzIGFyZSBcInt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiBcJ2FcJzt9fVwiIGFuZCBcInJldHVybiBhO1wiIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgcCA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiYSI7fX07CnZhciBib2R5ID0gInJldHVybiBhOyI7CgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgZiA9IG5ldyBGdW5jdGlvbihwLGJvZHkpOwp9IGNhdGNoIChlKSB7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCB3aXRoIGVycm9yICcrZSk7Cn0KCi8vQ0hFQ0sjMgppZiAoZi5jb25zdHJ1Y3RvciAhPT0gRnVuY3Rpb24pIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSBjcmVhdGVzIGEgbmV3IEZ1bmN0aW9uIG9iamVjdCBhcyBzcGVjaWZpZWQgaW4gMTMuMicpOwp9CgovL0NIRUNLIzMKaWYgKGYoNDIpIT09NDIpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSBjcmVhdGVzIGEgbmV3IEZ1bmN0aW9uIG9iamVjdCBhcyBzcGVjaWZpZWQgaW4gMTMuMicpOwp9CgoKCiB9Cn0pOwoK","id":"S15.3.2.1_A3_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTNfVDMiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMi4xX0EzX1QzLmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIGFyZ3VtZW50cyBwLCBib2R5IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiIsCgpkZXNjcmlwdGlvbjogIlZhbHVlcyBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnRzIGFyZSBcInt0b1N0cmluZzpmdW5jdGlvbigpe3A9MTtyZXR1cm4gXCJhXCI7fX1cIiBhbmQgXCJ7dG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyBcImJvZHlcIjt9fVwiIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgcCA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3A9MTtyZXR1cm4gImEiO319Owp2YXIgYm9keSA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJib2R5Ijt9fTsKCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKHAsYm9keSk7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCcpOwp9IGNhdGNoIChlKSB7CiAgaWYgKGUgIT09ICJib2R5IikgewogIAkkRVJST1IoJyMxLjE6IGkpIExldCBSZXN1bHQoaSkgYmUgdGhlIGZpcnN0IGFyZ3VtZW50OyBpaSkgTGV0IFAgYmUgVG9TdHJpbmcoUmVzdWx0KGkpKScpOwogIH0KfQoKLy9DSEVDSyMyCmlmIChwICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQ7IGlpKSBMZXQgUCBiZSBUb1N0cmluZyhSZXN1bHQoaSkpJyk7Cn0KCgoKCiB9Cn0pOwoK","id":"S15.3.2.1_A3_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTNfVDQiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMi4xX0EzX1Q0LmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIGFyZ3VtZW50cyBwLCBib2R5IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiIsCgpkZXNjcmlwdGlvbjogIlZhbHVlcyBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnRzIGFyZSBhbiB1bmRlZmluZWQgdmFyaWFibGUgYW5kIFwicmV0dXJuIDEuMTtcIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgdmFyIGJvZHkgPSAicmV0dXJuIDEuMTsiOwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24ocCxib2R5KTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQgd2l0aCBlcnJvciAnK2UpOwp9CgovL0NIRUNLIzIKaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IGFuZCBjcmVhdGVzIGEgbmV3IEZ1bmN0aW9uIG9iamVjdCBhcyBzcGVjaWZpZWQgaW4gMTMuMicpOwp9CgovL0NIRUNLIzMKaWYgKGYoKSE9PTEuMSkgewogICRFUlJPUignIzM6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbi4uLicpOwp9Cgp2YXIgcDsKIH0KfSk7Cgo=","id":"S15.3.2.1_A3_T4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTNfVDUiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMi4xX0EzX1Q1LmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIGFyZ3VtZW50cyBwLCBib2R5IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiIsCgpkZXNjcmlwdGlvbjogIlZhbHVlcyBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnRzIGFyZSBcInZvaWQgMFwiIGFuZCBcInJldHVybiBcXFwiQVxcXCI7XCIiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHZhciBib2R5ID0gInJldHVybiBcIkFcIjsiOwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24odm9pZCAwLGJvZHkpOwp9IGNhdGNoIChlKSB7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCB3aXRoIGVycm9yICcrZSk7Cn0KCi8vQ0hFQ0sjMgppZiAoZi5jb25zdHJ1Y3RvciAhPT0gRnVuY3Rpb24pIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIGNyZWF0ZXMgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZigpIT09J1x1MDA0MScpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW4uLi4nKTsKfQoKCgogfQp9KTsKCg==","id":"S15.3.2.1_A3_T5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTNfVDYiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMi4xX0EzX1Q2LmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIGFyZ3VtZW50cyBwLCBib2R5IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiIsCgpkZXNjcmlwdGlvbjogIlZhbHVlcyBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnRzIGFyZSBcIm51bGxcIiBhbmQgXCJyZXR1cm4gdHJ1ZTtcIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgdmFyIGJvZHkgPSAicmV0dXJuIHRydWU7IjsKCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKG51bGwsYm9keSk7CiAgJEZBSUwoJyMxOiBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikpIHsKICAJJEVSUk9SKCcjMS4xOiBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24nKTsKICB9Cn0KIH0KfSk7Cgo=","id":"S15.3.2.1_A3_T6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTNfVDciLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMi4xX0EzX1Q3LmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIGFyZ3VtZW50cyBwLCBib2R5IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiIsCgpkZXNjcmlwdGlvbjogIlZhbHVlcyBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnRzIGFyZSBcIk9iamVjdChcImFcIilcIiBhbmQgXCJyZXR1cm4gYTtcIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgdmFyIGJvZHkgPSAicmV0dXJuIGE7IjsKCnZhciBwPU9iamVjdCgiYSIpOwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24ocCwgYm9keSk7Cn0gY2F0Y2ggKGUpIHsKICAkRkFJTCgnIzE6IHRlc3QgZmFpbGVkIHdpdGggZXJyb3IgJytlKTsKfQoKLy9DSEVDSyMyCmlmIChmLmNvbnN0cnVjdG9yICE9PSBGdW5jdGlvbikgewogICRFUlJPUignIzI6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCBhbmQgY3JlYXRlcyBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjInKTsKfQoKLy9DSEVDSyMzCmlmIChmKDEpIT09MSkgewogICRFUlJPUignIzM6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbi4uLicpOwp9CiB9Cn0pOwoK","id":"S15.3.2.1_A3_T7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTNfVDgiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMi4xX0EzX1Q4LmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIGFyZ3VtZW50cyBwLCBib2R5IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiIsCgpkZXNjcmlwdGlvbjogIlZhbHVlcyBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnRzIGFyZSBcInVuZGVmaW5lZFwiIGFuZCBcInJldHVybiB0aGlzO1wiIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgYm9keSA9ICJyZXR1cm4gdGhpczsiOwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24odW5kZWZpbmVkLGJvZHkpOwp9IGNhdGNoIChlKSB7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCB3aXRoIGVycm9yICcrZSk7Cn0KCi8vQ0hFQ0sjMgppZiAoZi5jb25zdHJ1Y3RvciAhPT0gRnVuY3Rpb24pIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIGNyZWF0ZXMgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZigpIT09dGhpcykgewogICRFUlJPUignIzM6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbi4uLicpOwp9CgoKCiB9Cn0pOwoK","id":"S15.3.2.1_A3_T8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yLjFfQTNfVDkiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuMl9UaGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuMi4xX0EzX1Q5LmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIGFyZ3VtZW50cyBwLCBib2R5IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiIsCgpkZXNjcmlwdGlvbjogIlZhbHVlcyBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnRzIGFyZSBcIjEsMVwiIGFuZCBcInJldHVybiB0aGlzO1wiIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgYm9keSA9ICJyZXR1cm4gdGhpczsiOwp2YXIgcD0iMSwxIjsKCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKHAsYm9keSk7CiAgJEZBSUwoJyMxOiBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikpIHsKICAJJEVSUk9SKCcjMS4xOiBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24nKTsKICB9Cn0KCiB9Cn0pOwoK","id":"S15.3.2.1_A3_T9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4yX0ExIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjJfVGhlX0Z1bmN0aW9uX0NvbnN0cnVjdG9yL1MxNS4zLjJfQTEuanMiLAoKYXNzZXJ0aW9uOiAiV2hlbiBGdW5jdGlvbiBpcyBjYWxsZWQgYXMgcGFydCBvZiBhIG5ldyBleHByZXNzaW9uLCBpdCBpcyBhIGNvbnN0cnVjdG9yOiBpdCBpbml0aWFsaXNlcyB0aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QiLAoKZGVzY3JpcHRpb246ICJDaGVja2luZyB0aGUgY29uc3R1Y3RvciBvZiB0aGUgb2JqZWN0IHRoYXQgaXMgY3JlYXRlZCBhcyBhIG5ldyBGdW5jdGlvbiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgdmFyIGYgPSBuZXcgRnVuY3Rpb247CgovL0NIRUNLIzEKaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMTogV2hlbiBGdW5jdGlvbiBpcyBjYWxsZWQgYXMgcGFydCBvZiBhIG5ldyBleHByZXNzaW9uLCBpdCBpcyBhIGNvbnN0cnVjdG9yOiBpdCBpbml0aWFsaXNlcyB0aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QnKTsKfQoKLy9DSEVDSyMyCmlmIChmID09PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMyOiBXaGVuIEZ1bmN0aW9uIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCcpOwp9CgogfQp9KTsKCg==","id":"S15.3.2_A1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4zX0ExIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjNfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuM19BMS5qcyIsCgphc3NlcnRpb246ICJUaGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaGFzIHRoZSBwcm9wZXJ0eSBcInByb3RvdHlwZVwiIiwKCmRlc2NyaXB0aW9uOiAiQ2hlY2tpbmcgZXhpc3RlbmNlIG9mIHRoZSBwcm9wZXJ0eSBcInByb3RvdHlwZVwiIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBpZighRnVuY3Rpb24uaGFzT3duUHJvcGVydHkoInByb3RvdHlwZSIpKXsKICAkRVJST1IoJyMxOiBUaGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaGFzIHRoZSBwcm9wZXJ0eSAicHJvdG90eXBlIicpOwp9CgoKIH0KfSk7Cgo=","id":"S15.3.3_A1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4zX0EyX1QxIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjNfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuM19BMl9UMS5qcyIsCgphc3NlcnRpb246ICJUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIiwKCmRlc2NyaXB0aW9uOiAiQ2hlY2tpbmcgcHJvdG90eXBlIG9mIEZ1bmN0aW9uIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAvLyBDSEVDSyMKaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoRnVuY3Rpb24pKSkgewogICRFUlJPUignIzE6IHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgdGhlIEZ1bmN0aW9uIHByb3RvdHlwZSBvYmplY3QuJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.3_A2_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4zX0EyX1QyIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjNfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuM19BMl9UMi5qcyIsCgphc3NlcnRpb246ICJUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIiwKCmRlc2NyaXB0aW9uOiAiQWRkIG5ldyBwcm9wZXJ0eSB0byBGdW5jdGlvbi5wcm90b3R5cGUgYW5kIGNoZWNrIGl0IiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBGdW5jdGlvbi5wcm90b3R5cGUuaW5kaWNhdG9yID0gMTsKCi8vQ0hFQ0sjCmlmIChGdW5jdGlvbi5pbmRpY2F0b3IgIT0gMSkgewogICRFUlJPUignIzE6IHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgdGhlIEZ1bmN0aW9uIHByb3RvdHlwZSBvYmplY3QuJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.3_A2_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4zX0EzIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjNfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fQ29uc3RydWN0b3IvUzE1LjMuM19BMy5qcyIsCgphc3NlcnRpb246ICJGdW5jdGlvbiBjb25zdHJ1Y3RvciBoYXMgbGVuZ3RoIHByb3BlcnR5IHdob3NlIHZhbHVlIGlzIDEiLAoKZGVzY3JpcHRpb246ICJDaGVja2luZyBGdW5jdGlvbi5sZW5ndGggcHJvcGVydHkiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIC8vQ0hFQ0sjMQppZiAoIUZ1bmN0aW9uLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSl7CiAgJEVSUk9SKCcjMTogRnVuY3Rpb24gY29uc3RydWN0b3IgaGFzIGxlbmd0aCBwcm9wZXJ0eScpOwp9CgovL0NIRUNLIzIKaWYgKEZ1bmN0aW9uLmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzI6IEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGxlbmd0aCBwcm9wZXJ0eSB2YWx1ZSBpcyAxJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.3_A3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4zLjFfQTEiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuM19Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Db25zdHJ1Y3Rvci8xNS4zLjMuMV9GdW5jdGlvbi5wcm90b3R5cGUvUzE1LjMuMy4xX0ExLmpzIiwKCmFzc2VydGlvbjogIlRoZSBGdW5jdGlvbi5wcm90b3R5cGUgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkiLAoKZGVzY3JpcHRpb246ICJDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBGdW5jdGlvbi5wcm90b3R5cGUgcHJvcGVydHkgZmFpbHMiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHZhciBvYmogPSBGdW5jdGlvbi5wcm90b3R5cGU7CkZ1bmN0aW9uLnByb3RvdHlwZSA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OwoKLy9DSEVDSyMxCmlmIChGdW5jdGlvbi5wcm90b3R5cGUgIT09IG9iaikgewogICRFUlJPUignIzE6IHRoZSBGdW5jdGlvbi5wcm90b3R5cGUgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIFJlYWRPbmx5LicpOwp9CgovL0NIRUNLIzIKdHJ5IHsKICBpZihGdW5jdGlvbi5wcm90b3R5cGUoKSE9PXVuZGVmaW5lZCl7CiAgICRFUlJPUignIzI6IHRoZSBGdW5jdGlvbi5wcm90b3R5cGUgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIFJlYWRPbmx5Jyk7CiAgfQp9IGNhdGNoIChlKSB7CiAgJEVSUk9SKCcjMi4xOiB0aGUgRnVuY3Rpb24ucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBSZWFkT25seTogJytlKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.3.1_A1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4zLjFfQTIiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuM19Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Db25zdHJ1Y3Rvci8xNS4zLjMuMV9GdW5jdGlvbi5wcm90b3R5cGUvUzE1LjMuMy4xX0EyLmpzIiwKCmFzc2VydGlvbjogIlRoZSBGdW5jdGlvbi5wcm90b3R5cGUgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0iLAoKZGVzY3JpcHRpb246ICJDaGVja2luZyBpZiBlbnVtZXJhdGluZyB0aGUgRnVuY3Rpb24ucHJvdG90eXBlIHByb3BlcnR5IGZhaWxzIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAvLyBDSEVDSyMxCmlmIChGdW5jdGlvbi5wcm9wZXJ0eUlzRW51bWVyYWJsZSgncHJvdG90eXBlJykpIHsKICAkRVJST1IoJyMxOiB0aGUgRnVuY3Rpb24ucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RW51bScpOwp9CgovLyBDSEVDSyMyCnZhciBjb3VudD0wOwoKZm9yIChwIGluIEZ1bmN0aW9uKXsKICBpZiAocD09PSJwcm90b3R5cGUiKSBjb3VudCsrOwp9CgppZiAoY291bnQgIT09IDApIHsKICAkRVJST1IoJyMyOiB0aGUgRnVuY3Rpb24ucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RW51bScpOwp9CgogfQp9KTsKCg==","id":"S15.3.3.1_A2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy4zLjFfQTMiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuM19Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Db25zdHJ1Y3Rvci8xNS4zLjMuMV9GdW5jdGlvbi5wcm90b3R5cGUvUzE1LjMuMy4xX0EzLmpzIiwKCmFzc2VydGlvbjogIlRoZSBGdW5jdGlvbi5wcm90b3R5cGUgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZSIsCgpkZXNjcmlwdGlvbjogIkNoZWNraW5nIGlmIGRlbGV0aW5nIHRoZSBGdW5jdGlvbi5wcm90b3R5cGUgcHJvcGVydHkgZmFpbHMiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIGRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGU7CgovL0NIRUNLIzEKaWYgKCEoRnVuY3Rpb24uaGFzT3duUHJvcGVydHkoJ3Byb3RvdHlwZScpKSkgewogICRFUlJPUignIzE6IHRoZSBGdW5jdGlvbi5wcm90b3R5cGUgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUuJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.3.1_A3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjFfQTFfVDEiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0L1MxNS4zLjQuMV9BMV9UMS5qcyIsCgphc3NlcnRpb246ICJUaGUgaW5pdGlhbCB2YWx1ZSBvZiBGdW5jdGlvbi5wcm90b3R5cGUuY29uc3RydWN0b3IgaXMgdGhlIGJ1aWx0LWluIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIiwKCmRlc2NyaXB0aW9uOiAiQ2hlY2tpbmcgRnVuY3Rpb24ucHJvdG90eXBlLmNvbnN0cnVjdG9yIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAvL0NIRUNLIzEKaWYgKEZ1bmN0aW9uLnByb3RvdHlwZS5jb25zdHJ1Y3RvciAhPT0gRnVuY3Rpb24pIHsKICAkRVJST1IoJyMxOiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBGdW5jdGlvbi5wcm90b3R5cGUuY29uc3RydWN0b3IgaXMgdGhlIGJ1aWx0LWluIEZ1bmN0aW9uIGNvbnN0cnVjdG9yJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.4.1_A1_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40X0ExIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC9TMTUuMy40X0ExLmpzIiwKCmFzc2VydGlvbjogIlRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0IGlzIGl0c2VsZiBhIEZ1bmN0aW9uIG9iamVjdCAoaXRzIFtbQ2xhc3NdXSBpcyBcIkZ1bmN0aW9uXCIpIiwKCmRlc2NyaXB0aW9uOiAiT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyByZXR1cm5zIFtvYmplY3QrW1tDbGFzc11dK10iLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIGlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoRnVuY3Rpb24ucHJvdG90eXBlKSAhPT0gIltvYmplY3QgRnVuY3Rpb25dIikgewogICRFUlJPUignIzI6IFRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0IGlzIGl0c2VsZiBhIEZ1bmN0aW9uICcgKwogICAgICAgICAnb2JqZWN0IChpdHMgW1tDbGFzc11dIGlzICJGdW5jdGlvbiIpICgxNS4zLjQpJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.4_A1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40X0EyX1QxIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC9TMTUuMy40X0EyX1QxLmpzIiwKCmFzc2VydGlvbjogIlRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0IGlzIGl0c2VsZiBhIEZ1bmN0aW9uIG9iamVjdCB0aGF0LCB3aGVuIGludm9rZWQsIGFjY2VwdHMgYW55IGFyZ3VtZW50cyBhbmQgcmV0dXJucyB1bmRlZmluZWQiLAoKZGVzY3JpcHRpb246ICJDYWxsIEZ1bmN0aW9uLnByb3RvdHlwZSgpIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAvL0NIRUNLIzEKdHJ5IHsKICBpZiAoRnVuY3Rpb24ucHJvdG90eXBlKCkgIT09IHVuZGVmaW5lZCkgewogICAgJEVSUk9SKCcjMTogVGhlIEZ1bmN0aW9uIHByb3RvdHlwZSBvYmplY3QgaXMgaXRzZWxmIGEgRnVuY3Rpb24gb2JqZWN0IHRoYXQsIHdoZW4gaW52b2tlZCwgYWNjZXB0cyBhbnkgYXJndW1lbnRzIGFuZCByZXR1cm5zIHVuZGVmaW5lZCcpOwogIH0KfSBjYXRjaCAoZSkgewogICRFUlJPUignIzEuMTogVGhlIEZ1bmN0aW9uIHByb3RvdHlwZSBvYmplY3QgaXMgaXRzZWxmIGEgRnVuY3Rpb24gb2JqZWN0IHRoYXQsIHdoZW4gaW52b2tlZCwgYWNjZXB0cyBhbnkgYXJndW1lbnRzIGFuZCByZXR1cm5zIHVuZGVmaW5lZDogJytlKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.4_A2_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40X0EyX1QyIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC9TMTUuMy40X0EyX1QyLmpzIiwKCmFzc2VydGlvbjogIlRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0IGlzIGl0c2VsZiBhIEZ1bmN0aW9uIG9iamVjdCB0aGF0LCB3aGVuIGludm9rZWQsIGFjY2VwdHMgYW55IGFyZ3VtZW50cyBhbmQgcmV0dXJucyB1bmRlZmluZWQiLAoKZGVzY3JpcHRpb246ICJDYWxsIEZ1bmN0aW9uLnByb3RvdHlwZShudWxsLHZvaWQgMCkiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIC8vQ0hFQ0sjMQp0cnkgewogIGlmIChGdW5jdGlvbi5wcm90b3R5cGUobnVsbCx2b2lkIDApICE9PSB1bmRlZmluZWQpIHsKICAgICRFUlJPUignIzE6IFRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0IGlzIGl0c2VsZiBhIEZ1bmN0aW9uIG9iamVjdCB0aGF0LCB3aGVuIGludm9rZWQsIGFjY2VwdHMgYW55IGFyZ3VtZW50cyBhbmQgcmV0dXJucyB1bmRlZmluZWQnKTsKICB9Cn0gY2F0Y2ggKGUpIHsKICAkRVJST1IoJyMxLjE6IFRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0IGlzIGl0c2VsZiBhIEZ1bmN0aW9uIG9iamVjdCB0aGF0LCB3aGVuIGludm9rZWQsIGFjY2VwdHMgYW55IGFyZ3VtZW50cyBhbmQgcmV0dXJucyB1bmRlZmluZWQ6ICcrZSk7Cn0KCiB9Cn0pOwoK","id":"S15.3.4_A2_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40X0EyX1QzIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC9TMTUuMy40X0EyX1QzLmpzIiwKCmFzc2VydGlvbjogIlRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0IGlzIGl0c2VsZiBhIEZ1bmN0aW9uIG9iamVjdCB0aGF0LCB3aGVuIGludm9rZWQsIGFjY2VwdHMgYW55IGFyZ3VtZW50cyBhbmQgcmV0dXJucyB1bmRlZmluZWQiLAoKZGVzY3JpcHRpb246ICJDYWxsIEZ1bmN0aW9uLnByb3RvdHlwZSh4KSwgd2hlcmUgeCBpcyB1bmRlZmluZWQgdmFyaWFibGUiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIC8vQ0hFQ0sjMQp0cnkgewogIGlmIChGdW5jdGlvbi5wcm90b3R5cGUoeCkgIT09IHVuZGVmaW5lZCkgewogICAgdmFyIHg7CiAgICAkRVJST1IoJyMxOiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBpcyBpdHNlbGYgYSBGdW5jdGlvbiBvYmplY3QgdGhhdCwgd2hlbiBpbnZva2VkLCBhY2NlcHRzIGFueSBhcmd1bWVudHMgYW5kIHJldHVybnMgdW5kZWZpbmVkJyk7CiAgfQp9IGNhdGNoIChlKSB7CiAgJEVSUk9SKCcjMS4xOiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBpcyBpdHNlbGYgYSBGdW5jdGlvbiBvYmplY3QgdGhhdCwgd2hlbiBpbnZva2VkLCBhY2NlcHRzIGFueSBhcmd1bWVudHMgYW5kIHJldHVybnMgdW5kZWZpbmVkOiAnK2UpOwp9CgoKIH0KfSk7Cgo=","id":"S15.3.4_A2_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40X0EzX1QyIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC9TMTUuMy40X0EzX1QyLmpzIiwKCmFzc2VydGlvbjogIlRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBpcyB0aGUgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QgKDE1LjMuMi4xKSIsCgpkZXNjcmlwdGlvbjogIkFkZCBuZXcgcHJvcGVydHkgdG8gT2JqZWN0LnByb3RvdHlwZSBhbmQgY2hlY2sgaXQgYXQgRnVuY3Rpb24ucHJvdG90eXBlIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBPYmplY3QucHJvdG90eXBlLmluZGljYXRvciA9IDE7CgovL0NIRUNLIzEKaWYgKEZ1bmN0aW9uLnByb3RvdHlwZS5pbmRpY2F0b3IhPT0xKSB7CiAgJEVSUk9SKCcjMTogVGhlIHZhbHVlIG9mIHRoZSBpbnRlcm5hbCBbW1Byb3RvdHlwZV1dIHByb3BlcnR5IG9mIHRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0IGlzIHRoZSBPYmplY3QgcHJvdG90eXBlIG9iamVjdCAoMTUuMy4yLjEpJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.4_A3_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40X0E0IiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC9TMTUuMy40X0E0LmpzIiwKCmFzc2VydGlvbjogIlRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0IGRvZXMgbm90IGhhdmUgYSB2YWx1ZU9mIHByb3BlcnR5IG9mIGl0cyBvd24uIGhvd2V2ZXIsIGl0IGluaGVyaXRzIHRoZSB2YWx1ZU9mIHByb3BlcnR5IGZyb20gdGhlIE9iamVjdCBwcm90b3R5cGUgT2JqZWN0IiwKCmRlc2NyaXB0aW9uOiAiQ2hlY2tpbmcgdmFsdWVPZiBwcm9wZXJ0eSBhdCBGdW5jdGlvbi5wcm90b3R5cGUiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIC8vQ0hFQ0sjMQppZiAoRnVuY3Rpb24ucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJ2YWx1ZU9mIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIEZ1bmN0aW9uIHByb3RvdHlwZSBvYmplY3QgZG9lcyBub3QgaGF2ZSBhIHZhbHVlT2YgcHJvcGVydHkgb2YgaXRzIG93bicpOwp9CgovL0NIRUNLIzIKaWYgKHR5cGVvZiBGdW5jdGlvbi5wcm90b3R5cGUudmFsdWVPZiA9PT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMyOiBob3dldmVyLCBpdCBpbmhlcml0cyB0aGUgdmFsdWVPZiBwcm9wZXJ0eSBmcm9tIHRoZSBPYmplY3QgcHJvdG90eXBlIE9iamVjdCcpOwp9CgovL0NIRUNLIzMKaWYgKEZ1bmN0aW9uLnByb3RvdHlwZS52YWx1ZU9mICE9PSBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YpIHsKICAkRVJST1IoJyMzOiBob3dldmVyLCBpdCBpbmhlcml0cyB0aGUgdmFsdWVPZiBwcm9wZXJ0eSBmcm9tIHRoZSBPYmplY3QgcHJvdG90eXBlIE9iamVjdCcpOwp9CgogfQp9KTsKCg==","id":"S15.3.4_A4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40X0E1IiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC9TMTUuMy40X0E1LmpzIiwKCmFzc2VydGlvbjogIlRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0IGlzIGl0c2VsZiBhIEZ1bmN0aW9uIG9iamVjdCB3aXRob3V0IFtbY3JlYXRlXV0gcHJvcGVydHkiLAoKZGVzY3JpcHRpb246ICJDaGVja2luZyBpZiBjcmVhdGluZyBcIm5ldyBGdW5jdGlvbi5wcm90b3R5cGUgb2JqZWN0XCIgZmFpbHMiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIC8vQ0hFQ0sjCnRyeSB7CiAgdmFyIG9iaiA9IG5ldyBGdW5jdGlvbi5wcm90b3R5cGU7CiAgJEZBSUwoJyMxOiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBpcyBpdHNlbGYgYSBGdW5jdGlvbiBvYmplY3Qgd2l0aG91dCBbW2NyZWF0ZV1dIHByb3BlcnR5OiAnK2UpOwp9IGNhdGNoIChlKSB7CiAgJFBSSU5UKCIjMS4xOiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBpcyBpdHNlbGYgYSBGdW5jdGlvbiBvYmplY3Qgd2l0aG91dCBbW2NyZWF0ZV1dIHByb3BlcnR5ICIrZSk7Cgp9CgogfQp9KTsKCg==","id":"S15.3.4_A5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjJfQTEwIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuMl9GdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcvUzE1LjMuNC4yX0ExMC5qcyIsCgphc3NlcnRpb246ICJUaGUgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seSIsCgpkZXNjcmlwdGlvbjogIkNoZWNraW5nIGlmIHZhcnlpbmcgdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgZmFpbHMiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIC8vQ0hFQ0sjMQppZiAoIShGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMTogdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZyBoYXMgbGVuZ3RoIHByb3BlcnR5LicpOwp9Cgp2YXIgb2JqID0gRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aDsKCkZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggPSBmdW5jdGlvbigpe3JldHVybiAic2hpZnRlZCI7fTsKCi8vQ0hFQ0sjMgppZiAoRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCAhPT0gb2JqKSB7CiAgJEVSUk9SKCcjMjogdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZyBsZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIFJlYWRPbmx5LicpOwp9CgogfQp9KTsKCg==","id":"S15.3.4.2_A10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjJfQTExIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuMl9GdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcvUzE1LjMuNC4yX0ExMS5qcyIsCgphc3NlcnRpb246ICJUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b1N0cmluZyBtZXRob2QgaXMgMCIsCgpkZXNjcmlwdGlvbjogIkNoZWNraW5nIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGgiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIC8vQ0hFQ0sjMQppZiAoIShGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpKSkgewogICRFUlJPUignIzE6IFRoZSBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcgaGFzIHRoZSBsZW5ndGggcHJvcGVydHknKTsKfQoKLy9DSEVDSyMyCmlmIChGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogVGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiB0aGUgdG9TdHJpbmcgbWV0aG9kIGlzIDAnKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.4.2_A11"},{"code":"IEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHVuZGVmaW5lZCk7CiAKCg==","id":"S15.3.4.2_A12"},{"code":"IEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG51bGwpOwogCgo=","id":"S15.3.4.2_A13"},{"code":"IEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHt9KTsKIAoK","id":"S15.3.4.2_A14"},{"code":"IEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKC94Lyk7CiAKCg==","id":"S15.3.4.2_A15"},{"code":"IHZhciBvYmogPSB7dG9TdHJpbmc6IEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZ307CgpTdHJpbmcob2JqKTsKIAoK","id":"S15.3.4.2_A16"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjJfQTYiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4yX0Z1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy9TMTUuMy40LjJfQTYuanMiLAoKYXNzZXJ0aW9uOiAiRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5IiwKCmRlc2NyaXB0aW9uOiAiQ2hlY2tpbmcgaWYgb2J0YWluaW5nIHRoZSBwcm90b3R5cGUgcHJvcGVydHkgb2YgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nIGZhaWxzIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAvL0NIRUNLIzEKaWYgKEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZyBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eScrRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLnByb3RvdHlwZSk7Cn0KCiB9Cn0pOwoK","id":"S15.3.4.2_A6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjJfQTciLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4yX0Z1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy9TMTUuMy40LjJfQTcuanMiLAoKYXNzZXJ0aW9uOiAiRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nIGNhblwndCBiZSB1c2VkIGFzIGNvbnN0cnVjdG9yIiwKCmRlc2NyaXB0aW9uOiAiQ2hlY2tpbmcgaWYgY3JlYXRpbmcgXCJuZXcgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nXCIgZmFpbHMiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHZhciBGQUNUT1JZID0gRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nOwoKdHJ5IHsKICB2YXIgaW5zdGFuY2UgPSBuZXcgRkFDVE9SWTsKICAkRkFJTCgnIzE6IEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZyBjYW5cJ3QgYmUgdXNlZCBhcyBjb25zdHJ1Y3RvcicpOwp9IGNhdGNoIChlKSB7CiAgJFBSSU5UKGUpOwp9CgogfQp9KTsKCg==","id":"S15.3.4.2_A7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjJfQTgiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4yX0Z1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy9TMTUuMy40LjJfQTguanMiLAoKYXNzZXJ0aW9uOiAiVGhlIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0iLAoKZGVzY3JpcHRpb246ICJDaGVja2luZyBpZiBlbnVtZXJhdGluZyB0aGUgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBmYWlscyIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgLy9DSEVDSyMwCmlmICghKEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMwOiB0aGUgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nIGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Cn0KCgovLyBDSEVDSyMxCmlmIChGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnRFbnVtJyk7Cn0KCi8vIENIRUNLIzIKZm9yIChwIGluIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZyl7CiAgaWYgKHA9PT0ibGVuZ3RoIikKICAgICAgJEVSUk9SKCcjMjogdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnRFbnVtJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.4.2_A8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjJfQTkiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4yX0Z1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy9TMTUuMy40LjJfQTkuanMiLAoKYXNzZXJ0aW9uOiAiVGhlIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZSIsCgpkZXNjcmlwdGlvbjogIkNoZWNraW5nIGlmIGRlbGV0aW5nIHRoZSBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoIHByb3BlcnR5IGZhaWxzIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAvL0NIRUNLIzAKaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IHRoZSBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcgaGFzIGxlbmd0aCBwcm9wZXJ0eScpOwp9CgovL0NIRUNLIzEKaWYgKGRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogVGhlIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKLy9DSEVDSyMyCmlmICghKEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgogfQp9KTsKCg==","id":"S15.3.4.2_A9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTEwIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuM19GdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkvUzE1LjMuNC4zX0ExMC5qcyIsCgphc3NlcnRpb246ICJUaGUgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seSIsCgpkZXNjcmlwdGlvbjogIkNoZWNraW5nIGlmIHZhcnlpbmcgdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5sZW5ndGggcHJvcGVydHkgZmFpbHMiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIC8vQ0hFQ0sjMQppZiAoIShGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMTogdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSBoYXMgbGVuZ3RoIHByb3BlcnR5LicpOwp9Cgp2YXIgb2JqID0gRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmxlbmd0aDsKCkZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5sZW5ndGggPSBmdW5jdGlvbigpe3JldHVybiAic2hpZnRlZCI7fTsKCi8vQ0hFQ0sjMgppZiAoRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmxlbmd0aCAhPT0gb2JqKSB7CiAgJEVSUk9SKCcjMjogdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSBsZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIFJlYWRPbmx5LicpOwp9CgogfQp9KTsKCg==","id":"S15.3.4.3_A10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTExIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuM19GdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkvUzE1LjMuNC4zX0ExMS5qcyIsCgphc3NlcnRpb246ICJUaGUgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bSIsCgpkZXNjcmlwdGlvbjogIlRDaGVja2luZyBpZiBlbnVtZXJhdGluZyB0aGUgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmxlbmd0aCBwcm9wZXJ0eSBmYWlscyIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgLy9DSEVDSyMwCmlmICghKEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMwOiB0aGUgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5IGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Cn0KCgovLyBDSEVDSyMxCmlmIChGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnRFbnVtJyk7Cn0KCi8vIENIRUNLIzIKZm9yICh2YXIgcCBpbiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkpewogIGlmIChwPT09Imxlbmd0aCIpCiAgICAgICRFUlJPUignIzI6IHRoZSBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RW51bScpOwp9CgogfQp9KTsKCg==","id":"S15.3.4.3_A11"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTEyIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuM19GdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkvUzE1LjMuNC4zX0ExMi5qcyIsCgphc3NlcnRpb246ICJGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkiLAoKZGVzY3JpcHRpb246ICJDaGVja2luZyBpZiBvYnRhaW5pbmcgdGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBvZiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgZmFpbHMiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIC8vQ0hFQ0sjMQppZiAoRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5IGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5JytGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkucHJvdG90eXBlKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.4.3_A12"},{"code":"IEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5jYWxsKHVuZGVmaW5lZCwge30sIFtdKTsKIAoK","id":"S15.3.4.3_A13"},{"code":"IEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5jYWxsKG51bGwsIHt9LCBbXSk7CiAKCg==","id":"S15.3.4.3_A14"},{"code":"IEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5jYWxsKHt9LCB7fSwgW10pOwogCgo=","id":"S15.3.4.3_A15"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTE2IiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuM19GdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkvUzE1LjMuNC4zX0ExNi5qcyIsCgphc3NlcnRpb246ICJJZiBJc0NhbGxhYmxlKGZ1bmMpIGlzIGZhbHNlLCB0aGVuIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4iLAoKZGVzY3JpcHRpb246ICJBIFJlZ0V4cCBpcyBub3QgYSBmdW5jdGlvbiwgYnV0IGl0IG1heSBiZSBjYWxsYWJsZS4gSWZmIGl0IGlzLCBpdFwncyB0eXBlb2Ygc2hvdWxkIGJlIFwnZnVuY3Rpb25cJywgaW4gd2hpY2ggY2FzZSBhcHBseSBzaG91bGQgYWNjZXB0IGl0IGFzIGEgdmFsaWQgdGhpcyB2YWx1ZS4iLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHZhciByZSA9ICgveC8pOwppZiAodHlwZW9mIHJlID09PSAnZnVuY3Rpb24nKSB7CiAgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwocmUsIHVuZGVmaW5lZCwgWyd4J10pOwp9IGVsc2UgewogIHRyeSB7CiAgICBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKHJlLCB1bmRlZmluZWQpOwogICAgJEZBSUwoJyMxOiBJZiBJc0NhbGxhYmxlKGZ1bmMpIGlzIGZhbHNlLCAnICsKICAgICAgICAgICd0aGVuIChiaW5kIHNob3VsZCkgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uJyk7CiAgfSBjYXRjaCAoZSkgewogICAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAgICAgJEVSUk9SKCcjMTogVHlwZUVycm9yIGV4cGVjdGVkLiBBY3R1YWw6ICcgKyBlKTsKICAgIH0KICB9Cn0KCiB9Cn0pOwoK","id":"S15.3.4.3_A16"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTFfVDEiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTFfVDEuanMiLAoKYXNzZXJ0aW9uOiAiVGhlIGFwcGx5IG1ldGhvZCBwZXJmb3JtcyBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QuIElmIHRoZSBvYmplY3QgZG9lcyBub3QgaGF2ZSBhIFtbQ2FsbF1dIHByb3BlcnR5LCBhIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIiwKCmRlc2NyaXB0aW9uOiAiQ2FsbGluZyBcImFwcGx5XCIgbWV0aG9kIG9mIHRoZSBvYmplY3QgdGhhdCBkb2VzIG5vdCBoYXZlIGEgW1tDYWxsXV0gcHJvcGVydHkuIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgcHJvdG89RnVuY3Rpb24oKTsKCmZ1bmN0aW9uIEZBQ1RPUlkoKXt9OwoKRkFDVE9SWS5wcm90b3R5cGU9cHJvdG87Cgp2YXIgb2JqID0gbmV3IEZBQ1RPUlk7CgovL0NIRUNLIzEKaWYgKHR5cGVvZiBvYmouYXBwbHkgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiBhcHBseSBtZXRob2QgYWNjZXNzZWQnKTsKfQoKLy9DSEVDSyMyCnRyeSB7CiAgb2JqLmFwcGx5KCk7CiAgJEZBSUwoJyMyOiBJZiB0aGUgb2JqZWN0IGRvZXMgbm90IGhhdmUgYSBbW0NhbGxdXSBwcm9wZXJ0eSwgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93bicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAJJEVSUk9SKCcjMi4xOiBJZiB0aGUgb2JqZWN0IGRvZXMgbm90IGhhdmUgYSBbW0NhbGxdXSBwcm9wZXJ0eSwgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93bicpOwogIH0KfQoKIH0KfSk7Cgo=","id":"S15.3.4.3_A1_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTFfVDIiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTFfVDIuanMiLAoKYXNzZXJ0aW9uOiAiVGhlIGFwcGx5IG1ldGhvZCBwZXJmb3JtcyBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QuIElmIHRoZSBvYmplY3QgZG9lcyBub3QgaGF2ZSBhIFtbQ2FsbF1dIHByb3BlcnR5LCBhIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIiwKCmRlc2NyaXB0aW9uOiAiQ2FsbGluZyBcImFwcGx5XCIgbWV0aG9kIG9mIHRoZSBvYmplY3QgdGhhdCBkb2VzIG5vdCBoYXZlIGEgW1tDYWxsXV0gcHJvcGVydHkuIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBmdW5jdGlvbiBGQUNUT1JZKCl7fTsKCkZBQ1RPUlkucHJvdG90eXBlPUZ1bmN0aW9uLnByb3RvdHlwZTsKCnZhciBvYmogPSBuZXcgRkFDVE9SWTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIG9iai5hcHBseSAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzE6IGFwcGx5IG1ldGhvZCBhY2Nlc3NlZCcpOwp9CgovL0NIRUNLIzIKdHJ5IHsKICBvYmouYXBwbHkoKTsKICAkRkFJTCgnIzI6IElmIHRoZSBvYmplY3QgZG9lcyBub3QgaGF2ZSBhIFtbQ2FsbF1dIHByb3BlcnR5LCBhIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSkgewogIAkkRVJST1IoJyMyLjE6IElmIHRoZSBvYmplY3QgZG9lcyBub3QgaGF2ZSBhIFtbQ2FsbF1dIHByb3BlcnR5LCBhIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duJyk7CiAgfQp9CgogfQp9KTsKCg==","id":"S15.3.4.3_A1_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTJfVDEiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTJfVDEuanMiLAoKYXNzZXJ0aW9uOiAiVGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiB0aGUgYXBwbHkgbWV0aG9kIGlzIDIiLAoKZGVzY3JpcHRpb246ICJDaGVja2luZyBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkubGVuZ3RoIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAvL0NIRUNLIzEKaWYgKHR5cGVvZiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiBhcHBseSBtZXRob2QgZGVmaW5lZCcpOwp9CgovL0NIRUNLIzIKaWYgKHR5cGVvZiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkubGVuZ3RoID09PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzI6IGxlbmd0aCBwcm9wZXJ0eSBvZiBhcHBseSBtZXRob2QgZGVmaW5lZCcpOwp9CgovL0NIRUNLIzMKaWYgKEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMzOiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBhcHBseSBtZXRob2QgaXMgMicpOwp9CgogfQp9KTsKCg==","id":"S15.3.4.3_A2_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTJfVDIiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTJfVDIuanMiLAoKYXNzZXJ0aW9uOiAiVGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiB0aGUgYXBwbHkgbWV0aG9kIGlzIDIiLAoKZGVzY3JpcHRpb246ICJDaGVja2luZyBmLmFwcGx5Lmxlbmd0aCwgd2hlcmUgZiBpcyBuZXcgRnVuY3Rpb24iLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHZhciBmPW5ldyBGdW5jdGlvbjsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIGYuYXBwbHkgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiBhcHBseSBtZXRob2QgYWNjZXNzZWQnKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2YgZi5hcHBseS5sZW5ndGggPT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMjogbGVuZ3RoIHByb3BlcnR5IG9mIGFwcGx5IG1ldGhvZCBkZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZi5hcHBseS5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMzOiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBhcHBseSBtZXRob2QgaXMgMicpOwp9CgogfQp9KTsKCg==","id":"S15.3.4.3_A2_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTNfVDEiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTNfVDEuanMiLAoKYXNzZXJ0aW9uOiAiSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUiLAoKZGVzY3JpcHRpb246ICJOb3QgYW55IGFyZ3VtZW50cyBhdCBhcHBseSBmdW5jdGlvbiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgRnVuY3Rpb24oInRoaXMuZmllbGQ9XCJzdHJhd2JlcnJ5XCIiKS5hcHBseSgpOwoKLy9DSEVDSyMxCmlmICh0aGlzWyJmaWVsZCJdICE9PSAic3RyYXdiZXJyeSIpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9CgogfQp9KTsKCg==","id":"S15.3.4.3_A3_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTNfVDEwIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuM19GdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkvUzE1LjMuNC4zX0EzX1QxMC5qcyIsCgphc3NlcnRpb246ICJJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZSIsCgpkZXNjcmlwdGlvbjogIkNoZWNraW5nIGJ5IHVzaW5nIGV2YWwsIG5vIGFueSBhcmd1bWVudHMgYXQgYXBwbHkgZnVuY3Rpb24iLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIGV2YWwoIiAoZnVuY3Rpb24oKXt0aGlzLmZlYXQ9MX0pLmFwcGx5KCkiKTsKCi8vQ0hFQ0sjMQppZiAodGhpc1siZmVhdCJdICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.4.3_A3_T10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTNfVDIiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTNfVDIuanMiLAoKYXNzZXJ0aW9uOiAiSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUiLAoKZGVzY3JpcHRpb246ICJBcmd1bWVudCBhdCBhcHBseSBmdW5jdGlvbiBpcyBudWxsIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBGdW5jdGlvbigidGhpcy5maWVsZD1cImdyZWVuXCIiKS5hcHBseShudWxsKTsKCi8vQ0hFQ0sjMQppZiAodGhpc1siZmllbGQiXSAhPT0gImdyZWVuIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.4.3_A3_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTNfVDMiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTNfVDMuanMiLAoKYXNzZXJ0aW9uOiAiSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUiLAoKZGVzY3JpcHRpb246ICJBcmd1bWVudCBhdCBhcHBseSBmdW5jdGlvbiBpcyB2b2lkIDAiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIEZ1bmN0aW9uKCJ0aGlzLmZpZWxkPVwiYmF0dGxlXCIiKS5hcHBseSh2b2lkIDApOwoKLy9DSEVDSyMxCmlmICh0aGlzWyJmaWVsZCJdICE9PSAiYmF0dGxlIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.4.3_A3_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTNfVDQiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTNfVDQuanMiLAoKYXNzZXJ0aW9uOiAiSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUiLAoKZGVzY3JpcHRpb246ICJBcmd1bWVudCBhdCBhcHBseSBmdW5jdGlvbiBpcyB1bmRlZmluZWQiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIEZ1bmN0aW9uKCJ0aGlzLmZpZWxkPVwib2lsXCIiKS5hcHBseSh1bmRlZmluZWQpOwoKLy9DSEVDSyMxCmlmICh0aGlzWyJmaWVsZCJdICE9PSAib2lsIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.4.3_A3_T4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTNfVDUiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTNfVDUuanMiLAoKYXNzZXJ0aW9uOiAiSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUiLAoKZGVzY3JpcHRpb246ICJObyBhbnkgYXJndW1lbnRzIGF0IGFwcGx5IGZ1bmN0aW9uIGFuZCBpdCBjYWxsZWQgaW5zaWRlIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBmdW5jdGlvbiBGQUNUT1JZKCl7CiAgRnVuY3Rpb24oInRoaXMuZmVhdD1cImluIGRhIGhhdXNcIiIpLmFwcGx5KCk7Cn07Cgp2YXIgb2JqID0gbmV3IEZBQ1RPUlk7CgovL0NIRUNLIzEKaWYgKHRoaXNbImZlYXQiXSAhPT0gImluIGRhIGhhdXMiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygb2JqLmZlYXQgIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.4.3_A3_T5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTNfVDYiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTNfVDYuanMiLAoKYXNzZXJ0aW9uOiAiSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUiLAoKZGVzY3JpcHRpb246ICJBcmd1bWVudCBhdCBhcHBseSBmdW5jdGlvbiBpcyBudWxsIGFuZCBpdCBjYWxsZWQgaW5zaWRlIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBmdW5jdGlvbiBGQUNUT1JZKCl7CiAgKGZ1bmN0aW9uKCl7dGhpcy5mZWF0PSJrYW1vbiBiZXliYSJ9KS5hcHBseShudWxsKTsKfTsKCnZhciBvYmogPSBuZXcgRkFDVE9SWTsKCi8vQ0hFQ0sjMQppZiAodGhpc1siZmVhdCJdICE9PSAia2Ftb24gYmV5YmEiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygb2JqLmZlYXQgIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.4.3_A3_T6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTNfVDciLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTNfVDcuanMiLAoKYXNzZXJ0aW9uOiAiSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUiLAoKZGVzY3JpcHRpb246ICJBcmd1bWVudCBhdCBhcHBseSBmdW5jdGlvbiBpcyB2b2lkIDAgYW5kIGl0IGNhbGxlZCBpbnNpZGUgZnVuY3Rpb24gZGVjbGFyYXRpb24iLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIChmdW5jdGlvbiBGQUNUT1JZKCl7CiAgRnVuY3Rpb24oInRoaXMuZmVhdD1cImluIGRhIGhhdXNcIiIpLmFwcGx5KHZvaWQgMCk7Cn0pKCk7CgoKLy9DSEVDSyMxCmlmICh0aGlzWyJmZWF0Il0gIT09ICJpbiBkYSBoYXVzIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.4.3_A3_T7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTNfVDgiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTNfVDguanMiLAoKYXNzZXJ0aW9uOiAiSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUiLAoKZGVzY3JpcHRpb246ICJBcmd1bWVudCBhdCBhcHBseSBmdW5jdGlvbiBpcyB1bmRlZmluZWQgYW5kIGl0IGNhbGxlZCBpbnNpZGUgZnVuY3Rpb24gZGVjbGFyYXRpb24iLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIChmdW5jdGlvbiBGQUNUT1JZKCl7CiAgKGZ1bmN0aW9uKCl7dGhpcy5mZWF0PSJrYW1vbiBiZXliYSJ9KS5hcHBseSh1bmRlZmluZWQpOwp9KSgpOwoKLy9DSEVDSyMxCmlmICh0aGlzWyJmZWF0Il0gIT09ICJrYW1vbiBiZXliYSIpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9CgogfQp9KTsKCg==","id":"S15.3.4.3_A3_T8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTNfVDkiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTNfVDkuanMiLAoKYXNzZXJ0aW9uOiAiSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUiLAoKZGVzY3JpcHRpb246ICJDaGVja2luZyBieSB1c2luZyBldmFsLCBhcmd1bWVudCBhdCBhcHBseSBmdW5jdGlvbiBpcyB2b2lkIDAiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIGV2YWwoICIgRnVuY3Rpb24oXCJ0aGlzLmZlYXQ9MVwiKS5hcHBseSh2b2lkIDApICIgKTsKCi8vQ0hFQ0sjMQppZiAodGhpc1siZmVhdCJdICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.4.3_A3_T9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTVfVDEiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTVfVDEuanMiLAoKYXNzZXJ0aW9uOiAiSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZSIsCgpkZXNjcmlwdGlvbjogInRoaXNBcmcgaXMgbnVtYmVyIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgb2JqPTE7Cgp2YXIgcmV0b2JqID0gRnVuY3Rpb24oInRoaXMudG91Y2hlZD0gdHJ1ZTsgcmV0dXJuIHRoaXM7IikuYXBwbHkob2JqKTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIG9iai50b3VjaGVkICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKLy9DSEVDSyMyCmlmICghKHJldG9ialsidG91Y2hlZCJdKSkgewogICRFUlJPUignIzI6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQogfQp9KTsKCg==","id":"S15.3.4.3_A5_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTVfVDIiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTVfVDIuanMiLAoKYXNzZXJ0aW9uOiAiSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZSIsCgpkZXNjcmlwdGlvbjogInRoaXNBcmcgaXMgYm9vbGVhbiB0cnVlIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgb2JqPXRydWU7Cgp2YXIgcmV0b2JqID0gbmV3IEZ1bmN0aW9uKCJ0aGlzLnRvdWNoZWQ9IHRydWU7IHJldHVybiB0aGlzOyIpLmFwcGx5KG9iaik7CgovL0NIRUNLIzEKaWYgKHR5cGVvZiBvYmoudG91Y2hlZCAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIShyZXRvYmpbInRvdWNoZWQiXSkpIHsKICAkRVJST1IoJyMyOiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCgogfQp9KTsKCg==","id":"S15.3.4.3_A5_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTVfVDMiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTVfVDMuanMiLAoKYXNzZXJ0aW9uOiAiSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZSIsCgpkZXNjcmlwdGlvbjogInRoaXNBcmcgaXMgc3RyaW5nIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgb2JqPSJzb2FwIjsKCnZhciByZXRvYmogPSAoIGZ1bmN0aW9uKCl7dGhpcy50b3VjaGVkPSB0cnVlOyByZXR1cm4gdGhpczt9ICkuYXBwbHkob2JqKTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIG9iai50b3VjaGVkICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKLy9DSEVDSyMyCmlmICghKHJldG9ialsidG91Y2hlZCJdKSkgewogICRFUlJPUignIzI6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKCiB9Cn0pOwoK","id":"S15.3.4.3_A5_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTVfVDQiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTVfVDQuanMiLAoKYXNzZXJ0aW9uOiAiSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZSIsCgpkZXNjcmlwdGlvbjogInRoaXNBcmcgaXMgZnVuY3Rpb24gdmFyaWFibGUgdGhhdCByZXR1cm4gdGhpcyIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgZiA9IGZ1bmN0aW9uKCl7dGhpcy50b3VjaGVkPSB0cnVlOyByZXR1cm4gdGhpczt9OwoKcmV0b2JqID0gZi5hcHBseShvYmopOwoKLy9DSEVDSyMxCmlmICh0eXBlb2Ygb2JqICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKLy9DSEVDSyMyCmlmICghKHJldG9ialsidG91Y2hlZCJdKSkgewogICRFUlJPUignIzI6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKdmFyIG9iajsKCiB9Cn0pOwoK","id":"S15.3.4.3_A5_T4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTVfVDUiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTVfVDUuanMiLAoKYXNzZXJ0aW9uOiAiSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZSIsCgpkZXNjcmlwdGlvbjogInRoaXNBcmcgaXMgZnVuY3Rpb24gdmFyaWFibGUiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHZhciBmID0gZnVuY3Rpb24oKXt0aGlzLnRvdWNoZWQ9IHRydWU7fTsKCnZhciBvYmo9e307CgpmLmFwcGx5KG9iaik7CgovL0NIRUNLIzEKaWYgKCEob2JqLnRvdWNoZWQpKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9CgogfQp9KTsKCg==","id":"S15.3.4.3_A5_T5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTVfVDYiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTVfVDYuanMiLAoKYXNzZXJ0aW9uOiAiSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZSIsCgpkZXNjcmlwdGlvbjogInRoaXNBcmcgaXMgbmV3IFN0cmluZygpIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgb2JqPW5ldyBTdHJpbmcoInNvYXAiKTsKCiggZnVuY3Rpb24oKXt0aGlzLnRvdWNoZWQ9IHRydWU7fSkuYXBwbHkob2JqKTsKCi8vQ0hFQ0sjMQppZiAoIShvYmoudG91Y2hlZCkpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.4.3_A5_T6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTVfVDciLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTVfVDcuanMiLAoKYXNzZXJ0aW9uOiAiSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZSIsCgpkZXNjcmlwdGlvbjogInRoaXNBcmcgaXMgbmV3IE51bWJlcigpIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgb2JqPW5ldyBOdW1iZXIoMSk7CgpGdW5jdGlvbigidGhpcy50b3VjaGVkPSB0cnVlOyIpLmFwcGx5KG9iaik7CgovL0NIRUNLIzEKaWYgKCEob2JqLnRvdWNoZWQpKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9CgoKIH0KfSk7Cgo=","id":"S15.3.4.3_A5_T7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTVfVDgiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTVfVDguanMiLAoKYXNzZXJ0aW9uOiAiSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZSIsCgpkZXNjcmlwdGlvbjogInRoaXNBcmcgaXMgRnVuY3Rpb24oKSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgdmFyIG9iaj1GdW5jdGlvbigpOwoKbmV3IEZ1bmN0aW9uKCJ0aGlzLnRvdWNoZWQ9IHRydWU7IHJldHVybiB0aGlzOyIpLmFwcGx5KG9iaik7CgovL0NIRUNLIzEKaWYgKCEob2JqLnRvdWNoZWQpKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9CgogfQp9KTsKCg==","id":"S15.3.4.3_A5_T8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTZfVDIiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTZfVDIuanMiLAoKYXNzZXJ0aW9uOiAiaWYgYXJnQXJyYXkgaXMgbmVpdGhlciBhbiBhcnJheSBub3IgYW4gYXJndW1lbnRzIG9iamVjdCAoc2VlIDEwLjEuOCksIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24iLAoKZGVzY3JpcHRpb246ICJhcmdBcnJheSBpcyAobnVsbCwxKSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgLy9DSEVDSyMxCnRyeSB7CiAgRnVuY3Rpb24oKS5hcHBseShudWxsLDEpOwogICRGQUlMKCcjMTogaWYgYXJnQXJyYXkgaXMgbmVpdGhlciBhbiBhcnJheSBub3IgYW4gYXJndW1lbnRzIG9iamVjdCAoc2VlIDEwLjEuOCksIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgCSRFUlJPUignIzEuMTogaWYgYXJnQXJyYXkgaXMgbmVpdGhlciBhbiBhcnJheSBub3IgYW4gYXJndW1lbnRzIG9iamVjdCAoc2VlIDEwLjEuOCksIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24nKTsKICB9Cn0KCiB9Cn0pOwoK","id":"S15.3.4.3_A6_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTZfVDMiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTZfVDMuanMiLAoKYXNzZXJ0aW9uOiAiaWYgYXJnQXJyYXkgaXMgbmVpdGhlciBhbiBhcnJheSBub3IgYW4gYXJndW1lbnRzIG9iamVjdCAoc2VlIDEwLjEuOCksIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24iLAoKZGVzY3JpcHRpb246ICJhcmdBcnJheSBpcyAob2JqZWN0LFwiMSwzLDRcIikiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIG9iaj17fTsKCi8vQ0hFQ0sjMQp0cnkgewogIEZ1bmN0aW9uKCkuYXBwbHkob2JqLCIxLDMsNCIpOwogICRGQUlMKCcjMTogaWYgYXJnQXJyYXkgaXMgbmVpdGhlciBhbiBhcnJheSBub3IgYW4gYXJndW1lbnRzIG9iamVjdCAoc2VlIDEwLjEuOCksIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgCSRFUlJPUignIzEuMTogaWYgYXJnQXJyYXkgaXMgbmVpdGhlciBhbiBhcnJheSBub3IgYW4gYXJndW1lbnRzIG9iamVjdCAoc2VlIDEwLjEuOCksIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24nKTsKICB9Cn0KCiB9Cn0pOwoK","id":"S15.3.4.3_A6_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTdfVDEiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTdfVDEuanMiLAoKYXNzZXJ0aW9uOiAiSWYgYXJnQXJyYXkgaXMgZWl0aGVyIGFuIGFycmF5IG9yIGFuIGFyZ3VtZW50cyBvYmplY3QsIiwKCmRlc2NyaXB0aW9uOiAiYXJnQXJyYXkgaXMgKG51bGwsWzFdKSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgRnVuY3Rpb24oImExLGEyLGEzIiwidGhpcy5zaGlmdGVkPWExOyIpLmFwcGx5KG51bGwsWzFdKTsKCi8vQ0hFQ0sjMQppZiAodGhpc1sic2hpZnRlZCJdICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogSWYgYXJnQXJyYXkgaXMgZWl0aGVyIGFuIGFycmF5IG9yIGFuIGFyZ3VtZW50cyBvYmplY3QsIHRoZSBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlLi4uJyk7Cn0KCgogfQp9KTsKCg==","id":"S15.3.4.3_A7_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTdfVDIiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTdfVDIuanMiLAoKYXNzZXJ0aW9uOiAiSWYgYXJnQXJyYXkgaXMgZWl0aGVyIGFuIGFycmF5IG9yIGFuIGFyZ3VtZW50cyBvYmplY3QsIiwKCmRlc2NyaXB0aW9uOiAiYXJnQXJyYXkgaXMgKG51bGwsWzEsMiwzXSkiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIG5ldyBGdW5jdGlvbigiYTEsYTIiLCJhMyIsInRoaXMuc2hpZnRlZD1hMjsiKS5hcHBseShudWxsLFsxLDIsM10pOwoKLy9DSEVDSyMxCmlmICh0aGlzWyJzaGlmdGVkIl0gIT09IDIpIHsKICAkRVJST1IoJyMxOiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwgdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUuLi4nKTsKfQoKCiB9Cn0pOwoK","id":"S15.3.4.3_A7_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTdfVDUiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTdfVDUuanMiLAoKYXNzZXJ0aW9uOiAiSWYgYXJnQXJyYXkgaXMgZWl0aGVyIGFuIGFycmF5IG9yIGFuIGFyZ3VtZW50cyBvYmplY3QsIiwKCmRlc2NyaXB0aW9uOiAiYXJnQXJyYXkgaXMgKG51bGwsIGFyZ3VtZW50cyksIGluc2lkZSBmdW5jdGlvbiBkZWNsYXJhdGlvbiB1c2VkIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBmdW5jdGlvbiBGQUNUT1JZKCl7CiAgRnVuY3Rpb24oImExLGEyLGEzIiwidGhpcy5zaGlmdGVkPWExK2EyK2EzOyIpLmFwcGx5KG51bGwsYXJndW1lbnRzKTsKfQoKb2JqPW5ldyBGQUNUT1JZKCIiLDEsMik7CgovL0NIRUNLIzEKaWYgKHRoaXNbInNoaWZ0ZWQiXSAhPT0gIjEyIikgewogICRFUlJPUignIzE6IElmIGFyZ0FycmF5IGlzIGVpdGhlciBhbiBhcnJheSBvciBhbiBhcmd1bWVudHMgb2JqZWN0LCB0aGUgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZS4uLicpOwp9CgovL0NIRUNLIzIKaWYgKHR5cGVvZiBvYmouc2hpZnRlZCAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMyOiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwgdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUuLi4nKTsKfQoKCiB9Cn0pOwoK","id":"S15.3.4.3_A7_T5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTdfVDciLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTdfVDcuanMiLAoKYXNzZXJ0aW9uOiAiSWYgYXJnQXJyYXkgaXMgZWl0aGVyIGFuIGFycmF5IG9yIGFuIGFyZ3VtZW50cyBvYmplY3QsIiwKCmRlc2NyaXB0aW9uOiAiYXJnQXJyYXkgaXMgKG51bGwsIGFyZ3VtZW50cyksIGluc2lkZSBmdW5jdGlvbiBjYWxsIHdpdGhvdXQgZGVjbGFyYXRpb24gdXNlZCIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgKGZ1bmN0aW9uICgpewogIEZ1bmN0aW9uKCJhMSxhMixhMyIsInRoaXMuc2hpZnRlZD1hMSthMithMzsiKS5hcHBseShudWxsLGFyZ3VtZW50cyk7Cn0pKCIiLDEsMik7CgovL0NIRUNLIzEKaWYgKHRoaXNbInNoaWZ0ZWQiXSAhPT0gIjEyIikgewogICRFUlJPUignIzE6IElmIGFyZ0FycmF5IGlzIGVpdGhlciBhbiBhcnJheSBvciBhbiBhcmd1bWVudHMgb2JqZWN0LCB0aGUgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZS4uLicpOwp9CgogfQp9KTsKCg==","id":"S15.3.4.3_A7_T7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTdfVDgiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTdfVDguanMiLAoKYXNzZXJ0aW9uOiAiSWYgYXJnQXJyYXkgaXMgZWl0aGVyIGFuIGFycmF5IG9yIGFuIGFyZ3VtZW50cyBvYmplY3QsIiwKCmRlc2NyaXB0aW9uOiAiYXJnQXJyYXkgaXMgKHRoaXMsIGFyZ3VtZW50cyksIGluc2lkZSBmdW5jdGlvbiBjYWxsIHdpdGhvdXQgZGVjbGFyYXRpb24gdXNlZCIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgKGZ1bmN0aW9uICgpewogIEZ1bmN0aW9uKCJhMSxhMixhMyIsInRoaXMuc2hpZnRlZD1hMSthMithMzsiKS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7Cn0pKCIiLDQsMik7CgovL0NIRUNLIzIKaWYgKHRoaXNbInNoaWZ0ZWQiXSAhPT0gIjQyIikgewogICRFUlJPUignIzI6IElmIGFyZ0FycmF5IGlzIGVpdGhlciBhbiBhcnJheSBvciBhbiBhcmd1bWVudHMgb2JqZWN0LCB0aGUgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZS4uLicpOwp9CgoKIH0KfSk7Cgo=","id":"S15.3.4.3_A7_T8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQThfVDEiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQThfVDEuanMiLAoKYXNzZXJ0aW9uOiAiRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5IGNhbmB0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXIiLAoKZGVzY3JpcHRpb246ICJDaGVja2luZyBpZiBjcmVhdGluZyBcIm5ldyBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHlcIiBmYWlscyIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgdHJ5IHsKICBvYmogPSBuZXcgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5OwogICRFUlJPUignIzE6IEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAJJEVSUk9SKCcjMS4xOiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuXCd0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXInKTsKICB9Cn0KCiB9Cn0pOwoK","id":"S15.3.4.3_A8_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQThfVDIiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQThfVDIuanMiLAoKYXNzZXJ0aW9uOiAiRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5IGNhbmB0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXIiLAoKZGVzY3JpcHRpb246ICJDaGVja2luZyBpZiBjcmVhdGluZyBcIm5ldyBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkoKVwiIGZhaWxzIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB0cnkgewogIG9iaiA9IG5ldyBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkoKTsKICAkRVJST1IoJyMxOiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuXCd0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXInKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgCSRFUlJPUignIzEuMTogRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5IGNhblwndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyJyk7CiAgfQp9CgogfQp9KTsKCg==","id":"S15.3.4.3_A8_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQThfVDMiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQThfVDMuanMiLAoKYXNzZXJ0aW9uOiAiRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5IGNhbmB0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXIiLAoKZGVzY3JpcHRpb246ICJDaGVja2luZyBpZiBjcmVhdGluZyBcIm5ldyBGdW5jdGlvbi5hcHBseVwiIGZhaWxzIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB0cnkgewogIG9iaiA9IG5ldyBGdW5jdGlvbi5hcHBseTsKICAkRVJST1IoJyMxOiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuXCd0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXInKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgCSRFUlJPUignIzEuMTogRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5IGNhblwndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyJyk7CiAgfQp9CgogfQp9KTsKCg==","id":"S15.3.4.3_A8_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQThfVDQiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQThfVDQuanMiLAoKYXNzZXJ0aW9uOiAiRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5IGNhbmB0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXIiLAoKZGVzY3JpcHRpb246ICJDaGVja2luZyBpZiBjcmVhdGluZyBcIm5ldyAoRnVuY3Rpb24oXCJ0aGlzLnAxPTFcIikuYXBwbHkpXCIgZmFpbHMiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHRyeSB7CiAgb2JqID0gbmV3IChGdW5jdGlvbigidGhpcy5wMT0xIikuYXBwbHkpOwogICRFUlJPUignIzE6IEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAJJEVSUk9SKCcjMS4xOiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuXCd0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXInKTsKICB9Cn0KCiB9Cn0pOwoK","id":"S15.3.4.3_A8_T4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQThfVDUiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQThfVDUuanMiLAoKYXNzZXJ0aW9uOiAiRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5IGNhbmB0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXIiLAoKZGVzY3JpcHRpb246ICJDaGVja2luZyBpZiBjcmVhdGluZyBcIm5ldyBGdW5jdGlvbihcInRoaXMucDE9MVwiKS5hcHBseVwiIGZhaWxzIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB0cnkgewogIEZBQ1RPUlkgPSBGdW5jdGlvbigidGhpcy5wMT0xIikuYXBwbHk7CiAgb2JqID0gbmV3IEZBQ1RPUlkoKTsKICAkRVJST1IoJyMxOiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuXCd0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXInKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgCSRFUlJPUignIzEuMTogRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5IGNhblwndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyJyk7CiAgfQp9CgogfQp9KTsKCg==","id":"S15.3.4.3_A8_T5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQThfVDYiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQThfVDYuanMiLAoKYXNzZXJ0aW9uOiAiRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5IGNhbmB0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXIiLAoKZGVzY3JpcHRpb246ICJDaGVja2luZyBpZiBjcmVhdGluZyBcIm5ldyAoRnVuY3Rpb24oXCJmdW5jdGlvbiBmKCl7dGhpcy5wMT0xO307cmV0dXJuIGZcIikuYXBwbHkoKSlcIiBmYWlscyIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgLy9DSEVDSyMxCnRyeSB7CiAgb2JqID0gbmV3IChGdW5jdGlvbigiZnVuY3Rpb24gZigpe3RoaXMucDE9MTt9O3JldHVybiBmIikuYXBwbHkoKSk7Cn0gY2F0Y2ggKGUpIHsKICAkRVJST1IoJyMxOiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuXCd0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXInKTsKfQoKLy9DSEVDSyMyCmlmIChvYmoucDEhPT0gMSkgewogICRFUlJPUignIzI6IEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcicpOwp9CgogfQp9KTsKCg==","id":"S15.3.4.3_A8_T6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjNfQTkiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC4zX0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS9TMTUuMy40LjNfQTkuanMiLAoKYXNzZXJ0aW9uOiAiVGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZSIsCgpkZXNjcmlwdGlvbjogIkNoZWNraW5nIGlmIGRlbGV0aW5nIHRoZSBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkubGVuZ3RoIHByb3BlcnR5IGZhaWxzIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAvL0NIRUNLIzAKaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IHRoZSBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgaGFzIGxlbmd0aCBwcm9wZXJ0eScpOwp9CgovL0NIRUNLIzEKaWYgKGRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogVGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKLy9DSEVDSyMyCmlmICghKEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgogfQp9KTsKCg==","id":"S15.3.4.3_A9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTEwIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuNF9GdW5jdGlvbi5wcm90b3R5cGUuY2FsbC9TMTUuMy40LjRfQTEwLmpzIiwKCmFzc2VydGlvbjogIlRoZSBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbC5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkiLAoKZGVzY3JpcHRpb246ICJDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbC5sZW5ndGggcHJvcGVydHkgZmFpbHMiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIC8vQ0hFQ0sjMQppZiAoIShGdW5jdGlvbi5wcm90b3R5cGUuY2FsbC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMxOiB0aGUgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwgaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKfQoKdmFyIG9iaiA9IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsLmxlbmd0aDsKCkZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsLmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OwoKLy9DSEVDSyMyCmlmIChGdW5jdGlvbi5wcm90b3R5cGUuY2FsbC5sZW5ndGggIT09IG9iaikgewogICRFUlJPUignIzI6IHRoZSBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBsZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIFJlYWRPbmx5LicpOwp9CgogfQp9KTsKCg==","id":"S15.3.4.4_A10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTExIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuNF9GdW5jdGlvbi5wcm90b3R5cGUuY2FsbC9TMTUuMy40LjRfQTExLmpzIiwKCmFzc2VydGlvbjogIlRoZSBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbC5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0iLAoKZGVzY3JpcHRpb246ICJDaGVja2luZyBpZiBlbnVtZXJhdGluZyB0aGUgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoIHByb3BlcnR5IGZhaWxzIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAvL0NIRUNLIzAKaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsIGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Cn0KCgovLyBDSEVDSyMxCmlmIChGdW5jdGlvbi5wcm90b3R5cGUuY2FsbC5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpIHsKICAkRVJST1IoJyMxOiB0aGUgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RW51bScpOwp9CgovLyBDSEVDSyMyCmZvciAocCBpbiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCl7CiAgaWYgKHA9PT0ibGVuZ3RoIikKICAgICRFUlJPUignIzI6IHRoZSBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbC5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnRFbnVtJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.4.4_A11"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTEyIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuNF9GdW5jdGlvbi5wcm90b3R5cGUuY2FsbC9TMTUuMy40LjRfQTEyLmpzIiwKCmFzc2VydGlvbjogIkZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5IiwKCmRlc2NyaXB0aW9uOiAiQ2hlY2tpbmcgaWYgb2J0YWluaW5nIHRoZSBwcm90b3R5cGUgcHJvcGVydHkgb2YgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwgZmFpbHMiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIC8vQ0hFQ0sjMQppZiAoRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwucHJvdG90eXBlICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eScrRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwucHJvdG90eXBlKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.4.4_A12"},{"code":"IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsLmNhbGwodW5kZWZpbmVkLCB7fSk7CiAKCg==","id":"S15.3.4.4_A13"},{"code":"IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsLmNhbGwobnVsbCwge30pOwogCgo=","id":"S15.3.4.4_A14"},{"code":"IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsLmNhbGwoe30sIHt9KTsKIAoK","id":"S15.3.4.4_A15"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTE2IiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuNF9GdW5jdGlvbi5wcm90b3R5cGUuY2FsbC9TMTUuMy40LjRfQTE2LmpzIiwKCmFzc2VydGlvbjogIklmIElzQ2FsbGFibGUoZnVuYykgaXMgZmFsc2UsIHRoZW4gdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLiIsCgpkZXNjcmlwdGlvbjogIkEgUmVnRXhwIGlzIG5vdCBhIGZ1bmN0aW9uLCBidXQgaXQgbWF5IGJlIGNhbGxhYmxlLiBJZmYgaXQgaXMsIGl0XCdzIHR5cGVvZiBzaG91bGQgYmUgXCdmdW5jdGlvblwnLCBpbiB3aGljaCBjYXNlIGNhbGwgc2hvdWxkIGFjY2VwdCBpdCBhcyBhIHZhbGlkIHRoaXMgdmFsdWUuIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgcmUgPSAoL3gvKTsKaWYgKHR5cGVvZiByZSA9PT0gJ2Z1bmN0aW9uJykgewogIEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsLmNhbGwocmUsIHVuZGVmaW5lZCwgJ3gnKTsKfSBlbHNlIHsKICB0cnkgewogICAgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChyZSwgdW5kZWZpbmVkKTsKICAgICRGQUlMKCcjMTogSWYgSXNDYWxsYWJsZShmdW5jKSBpcyBmYWxzZSwgJyArCiAgICAgICAgICAndGhlbiAoYmluZCBzaG91bGQpIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbicpOwogIH0gY2F0Y2ggKGUpIHsKICAgIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgICAgICRFUlJPUignIzE6IFR5cGVFcnJvciBleHBlY3RlZC4gQWN0dWFsOiAnICsgZSk7CiAgICB9CiAgfQp9CgogfQp9KTsKCg==","id":"S15.3.4.4_A16"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTFfVDEiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BMV9UMS5qcyIsCgphc3NlcnRpb246ICJUaGUgY2FsbCBtZXRob2QgcGVyZm9ybXMgYSBmdW5jdGlvbiBjYWxsIHVzaW5nIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBvZiB0aGUgb2JqZWN0LiBJZiB0aGUgb2JqZWN0IGRvZXMgbm90IGhhdmUgYSBbW0NhbGxdXSBwcm9wZXJ0eSwgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93biIsCgpkZXNjcmlwdGlvbjogIkNhbGwgXCJjYWxsXCIgbWV0aG9kIG9mIHRoZSBvYmplY3QgdGhhdCBkb2VzIG5vdCBoYXZlIGEgW1tDYWxsXV0gcHJvcGVydHkuIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgcHJvdG89RnVuY3Rpb24oKTsKCmZ1bmN0aW9uIEZBQ1RPUlkoKXt9OwoKRkFDVE9SWS5wcm90b3R5cGU9cHJvdG87Cgp2YXIgb2JqID0gbmV3IEZBQ1RPUlk7CgovL0NIRUNLIzEKaWYgKHR5cGVvZiBvYmouY2FsbCAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzE6IGNhbGwgbWV0aG9kIGFjY2Vzc2VkJyk7Cn0KCi8vQ0hFQ0sjMgp0cnkgewogIG9iai5jYWxsKCk7CiAgJEZBSUwoJyMyOiBJZiB0aGUgb2JqZWN0IGRvZXMgbm90IGhhdmUgYSBbW0NhbGxdXSBwcm9wZXJ0eSwgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93bicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAJJEVSUk9SKCcjMi4xOiBJZiB0aGUgb2JqZWN0IGRvZXMgbm90IGhhdmUgYSBbW0NhbGxdXSBwcm9wZXJ0eSwgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93bicpOwogIH0KfQogICAgCiB9Cn0pOwoK","id":"S15.3.4.4_A1_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTFfVDIiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BMV9UMi5qcyIsCgphc3NlcnRpb246ICJUaGUgY2FsbCBtZXRob2QgcGVyZm9ybXMgYSBmdW5jdGlvbiBjYWxsIHVzaW5nIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBvZiB0aGUgb2JqZWN0LiBJZiB0aGUgb2JqZWN0IGRvZXMgbm90IGhhdmUgYSBbW0NhbGxdXSBwcm9wZXJ0eSwgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93biIsCgpkZXNjcmlwdGlvbjogIkNhbGxpbmcgXCJjYWxsXCIgbWV0aG9kIG9mIHRoZSBvYmplY3QgdGhhdCBkb2VzIG5vdCBoYXZlIGEgW1tDYWxsXV0gcHJvcGVydHkuIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBmdW5jdGlvbiBGQUNUT1JZKCl7fTsKCkZBQ1RPUlkucHJvdG90eXBlPUZ1bmN0aW9uLnByb3RvdHlwZTsKCnZhciBvYmogPSBuZXcgRkFDVE9SWTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIG9iai5jYWxsICE9PSAiZnVuY3Rpb24iKSB7CiAgJEVSUk9SKCcjMTogY2FsbCBtZXRob2QgYWNjZXNzZWQnKTsKfQoKLy9DSEVDSyMyCnRyeSB7CiAgb2JqLmNhbGwoKTsKICAkRkFJTCgnIzI6IElmIHRoZSBvYmplY3QgZG9lcyBub3QgaGF2ZSBhIFtbQ2FsbF1dIHByb3BlcnR5LCBhIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSkgewogIAkkRVJST1IoJyMyLjE6IElmIHRoZSBvYmplY3QgZG9lcyBub3QgaGF2ZSBhIFtbQ2FsbF1dIHByb3BlcnR5LCBhIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duJyk7CiAgfQp9CgogfQp9KTsKCg==","id":"S15.3.4.4_A1_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTJfVDEiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BMl9UMS5qcyIsCgphc3NlcnRpb246ICJUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBjYWxsIG1ldGhvZCBpcyAxIiwKCmRlc2NyaXB0aW9uOiAiQ2hlY2tpbmcgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAvL0NIRUNLIzEKaWYgKHR5cGVvZiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzE6IGNhbGwgbWV0aG9kIGRlZmluZWQnKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2YgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoID09PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzI6IGxlbmd0aCBwcm9wZXJ0eSBvZiBjYWxsIG1ldGhvZCBkZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogVGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiB0aGUgY2FsbCBtZXRob2QgaXMgMScpOwp9CgogfQp9KTsKCg==","id":"S15.3.4.4_A2_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTJfVDIiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BMl9UMi5qcyIsCgphc3NlcnRpb246ICJUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBjYWxsIG1ldGhvZCBpcyAxIiwKCmRlc2NyaXB0aW9uOiAiQ2hlY2tpbmcgZi5jYWxsLmxlbmd0aCwgd2hlcmUgZiBpcyBuZXcgRnVuY3Rpb24iLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHZhciBmPW5ldyBGdW5jdGlvbjsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIGYuY2FsbCAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzE6IGNhbGwgbWV0aG9kIGFjY2Vzc2VkJyk7Cn0KCi8vQ0hFQ0sjMgppZiAodHlwZW9mIGYuY2FsbC5sZW5ndGggPT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMjogbGVuZ3RoIHByb3BlcnR5IG9mIGNhbGwgbWV0aG9kIGRlZmluZWQnKTsKfQoKLy9DSEVDSyMzCmlmIChmLmNhbGwubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogVGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiB0aGUgY2FsbCBtZXRob2QgaXMgMScpOwp9CgogfQp9KTsKCg==","id":"S15.3.4.4_A2_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTNfVDEiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BM19UMS5qcyIsCgphc3NlcnRpb246ICJJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZSIsCgpkZXNjcmlwdGlvbjogIk5vdCBhbnkgYXJndW1lbnRzIGF0IGNhbGwgZnVuY3Rpb24iLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIEZ1bmN0aW9uKCJ0aGlzLmZpZWxkPVwic3RyYXdiZXJyeVwiIikuY2FsbCgpOwoKLy9DSEVDSyMxCmlmICh0aGlzWyJmaWVsZCJdICE9PSAic3RyYXdiZXJyeSIpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9CgogfQp9KTsKCg==","id":"S15.3.4.4_A3_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTNfVDEwIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuNF9GdW5jdGlvbi5wcm90b3R5cGUuY2FsbC9TMTUuMy40LjRfQTNfVDEwLmpzIiwKCmFzc2VydGlvbjogIklmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlIiwKCmRlc2NyaXB0aW9uOiAiQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbCwgbm8gYW55IGFyZ3VtZW50cyBhdCBjYWxsIGZ1bmN0aW9uIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBldmFsKCIgKGZ1bmN0aW9uKCl7dGhpcy5mZWF0PTF9KS5jYWxsKCkiKTsKCi8vQ0hFQ0sjMQppZiAodGhpc1siZmVhdCJdICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.4.4_A3_T10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTNfVDIiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BM19UMi5qcyIsCgphc3NlcnRpb246ICJJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZSIsCgpkZXNjcmlwdGlvbjogIkFyZ3VtZW50IGF0IGNhbGwgZnVuY3Rpb24gaXMgbnVsbCIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgRnVuY3Rpb24oInRoaXMuZmllbGQ9XCJncmVlblwiIikuY2FsbChudWxsKTsKCi8vQ0hFQ0sjMQppZiAodGhpc1siZmllbGQiXSAhPT0gImdyZWVuIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.4.4_A3_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTNfVDMiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BM19UMy5qcyIsCgphc3NlcnRpb246ICJJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZSIsCgpkZXNjcmlwdGlvbjogIkFyZ3VtZW50IGF0IGNhbGwgZnVuY3Rpb24gaXMgdm9pZCAwIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBGdW5jdGlvbigidGhpcy5maWVsZD1cImJhdHRsZVwiIikuY2FsbCh2b2lkIDApOwoKLy9DSEVDSyMxCmlmICh0aGlzWyJmaWVsZCJdICE9PSAiYmF0dGxlIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.4.4_A3_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTNfVDQiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BM19UNC5qcyIsCgphc3NlcnRpb246ICJJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZSIsCgpkZXNjcmlwdGlvbjogIkFyZ3VtZW50IGF0IGNhbGwgZnVuY3Rpb24gaXMgdW5kZWZpbmVkIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBGdW5jdGlvbigidGhpcy5maWVsZD1cIm9pbFwiIikuY2FsbCh1bmRlZmluZWQpOwoKLy9DSEVDSyMxCmlmICh0aGlzWyJmaWVsZCJdICE9PSAib2lsIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.4.4_A3_T4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTNfVDUiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BM19UNS5qcyIsCgphc3NlcnRpb246ICJJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZSIsCgpkZXNjcmlwdGlvbjogIk5vIGFueSBhcmd1bWVudHMgYXQgY2FsbCBmdW5jdGlvbiBhbmQgaXQgY2FsbGVkIGluc2lkZSBmdW5jdGlvbiBkZWNsYXJhdGlvbiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgZnVuY3Rpb24gRkFDVE9SWSgpewogIEZ1bmN0aW9uKCJ0aGlzLmZlYXQ9XCJpbiBkYSBoYXVzXCIiKS5jYWxsKCk7Cn07Cgp2YXIgb2JqID0gbmV3IEZBQ1RPUlk7CgovL0NIRUNLIzEKaWYgKHRoaXNbImZlYXQiXSAhPT0gImluIGRhIGhhdXMiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygb2JqLmZlYXQgIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.4.4_A3_T5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTNfVDYiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BM19UNi5qcyIsCgphc3NlcnRpb246ICJJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZSIsCgpkZXNjcmlwdGlvbjogIkFyZ3VtZW50IGF0IGNhbGwgZnVuY3Rpb24gaXMgbnVsbCBhbmQgaXQgY2FsbGVkIGluc2lkZSBmdW5jdGlvbiBkZWNsYXJhdGlvbiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgZnVuY3Rpb24gRkFDVE9SWSgpewogIChmdW5jdGlvbigpe3RoaXMuZmVhdD0ia2Ftb24gYmV5YmEifSkuY2FsbChudWxsKTsKfTsKCnZhciBvYmogPSBuZXcgRkFDVE9SWTsKCi8vQ0hFQ0sjMQppZiAodGhpc1siZmVhdCJdICE9PSAia2Ftb24gYmV5YmEiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygb2JqLmZlYXQgIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.4.4_A3_T6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTNfVDciLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BM19UNy5qcyIsCgphc3NlcnRpb246ICJJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZSIsCgpkZXNjcmlwdGlvbjogIkFyZ3VtZW50IGF0IGNhbGwgZnVuY3Rpb24gaXMgdm9pZCAwIGFuZCBpdCBjYWxsZWQgaW5zaWRlIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAoZnVuY3Rpb24gRkFDVE9SWSgpewogIEZ1bmN0aW9uKCJ0aGlzLmZlYXQ9XCJpbiBkYSBoYXVzXCIiKS5jYWxsKHZvaWQgMCk7Cn0pKCk7CgoKLy9DSEVDSyMxCmlmICh0aGlzWyJmZWF0Il0gIT09ICJpbiBkYSBoYXVzIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.4.4_A3_T7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTNfVDgiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BM19UOC5qcyIsCgphc3NlcnRpb246ICJJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZSIsCgpkZXNjcmlwdGlvbjogIkFyZ3VtZW50IGF0IGNhbGwgZnVuY3Rpb24gaXMgdW5kZWZpbmVkIGFuZCBpdCBjYWxsZWQgaW5zaWRlIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAoZnVuY3Rpb24gRkFDVE9SWSgpewogIChmdW5jdGlvbigpe3RoaXMuZmVhdD0ia2Ftb24gYmV5YmEifSkuY2FsbCh1bmRlZmluZWQpOwp9KSgpOwoKCi8vQ0hFQ0sjMQppZiAodGhpc1siZmVhdCJdICE9PSAia2Ftb24gYmV5YmEiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.4.4_A3_T8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTNfVDkiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BM19UOS5qcyIsCgphc3NlcnRpb246ICJJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZSIsCgpkZXNjcmlwdGlvbjogIkNoZWNraW5nIGJ5IHVzaW5nIGV2YWwsIGFyZ3VtZW50IGF0IGNhbGwgZnVuY3Rpb24gaXMgdm9pZCAwIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBldmFsKCAiIEZ1bmN0aW9uKFwidGhpcy5mZWF0PTFcIikuY2FsbCh2b2lkIDApICIgKTsKCgovL0NIRUNLIzEKaWYgKHRoaXNbImZlYXQiXSAhPT0gMSkgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.4.4_A3_T9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTVfVDEiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BNV9UMS5qcyIsCgphc3NlcnRpb246ICJJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlIiwKCmRlc2NyaXB0aW9uOiAidGhpc0FyZyBpcyBudW1iZXIiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHZhciBvYmo9MTsKCnZhciByZXRvYmogPSBGdW5jdGlvbigidGhpcy50b3VjaGVkPSB0cnVlOyByZXR1cm4gdGhpczsiKS5jYWxsKG9iaik7CgovL0NIRUNLIzEKaWYgKHR5cGVvZiBvYmoudG91Y2hlZCAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIShyZXRvYmpbInRvdWNoZWQiXSkpIHsKICAkRVJST1IoJyMyOiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCgogfQp9KTsKCg==","id":"S15.3.4.4_A5_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTVfVDIiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BNV9UMi5qcyIsCgphc3NlcnRpb246ICJJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlIiwKCmRlc2NyaXB0aW9uOiAidGhpc0FyZyBpcyBib29sZWFuIHRydWUiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHZhciBvYmo9dHJ1ZTsKCnZhciByZXRvYmogPSBuZXcgRnVuY3Rpb24oInRoaXMudG91Y2hlZD0gdHJ1ZTsgcmV0dXJuIHRoaXM7IikuY2FsbChvYmopOwoKLy9DSEVDSyMxCmlmICh0eXBlb2Ygb2JqLnRvdWNoZWQgIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCEocmV0b2JqWyJ0b3VjaGVkIl0pKSB7CiAgJEVSUk9SKCcjMjogSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9CgoKIH0KfSk7Cgo=","id":"S15.3.4.4_A5_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTVfVDMiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BNV9UMy5qcyIsCgphc3NlcnRpb246ICJJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlIiwKCmRlc2NyaXB0aW9uOiAidGhpc0FyZyBpcyBzdHJpbmciLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHZhciBvYmo9InNvYXAiOwoKdmFyIHJldG9iaiA9ICggZnVuY3Rpb24oKXt0aGlzLnRvdWNoZWQ9IHRydWU7IHJldHVybiB0aGlzO30gKS5jYWxsKG9iaik7CgovL0NIRUNLIzEKaWYgKHR5cGVvZiBvYmoudG91Y2hlZCAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIShyZXRvYmpbInRvdWNoZWQiXSkpIHsKICAkRVJST1IoJyMyOiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCgogfQp9KTsKCg==","id":"S15.3.4.4_A5_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTVfVDQiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BNV9UNC5qcyIsCgphc3NlcnRpb246ICJJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlIiwKCmRlc2NyaXB0aW9uOiAidGhpc0FyZyBpcyBmdW5jdGlvbiB2YXJpYWJsZSB0aGF0IHJldHVybiB0aGlzIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgZiA9IGZ1bmN0aW9uKCl7dGhpcy50b3VjaGVkPSB0cnVlOyByZXR1cm4gdGhpczt9OwoKdmFyIHJldG9iaiA9IGYuY2FsbChvYmopOwoKLy9DSEVDSyMxCmlmICh0eXBlb2Ygb2JqICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKLy9DSEVDSyMyCmlmICghKHJldG9ialsidG91Y2hlZCJdKSkgewogICRFUlJPUignIzI6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKdmFyIG9iajsKCiB9Cn0pOwoK","id":"S15.3.4.4_A5_T4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTVfVDUiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BNV9UNS5qcyIsCgphc3NlcnRpb246ICJJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlIiwKCmRlc2NyaXB0aW9uOiAidGhpc0FyZyBpcyBmdW5jdGlvbiB2YXJpYWJsZSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgdmFyIGYgPSBmdW5jdGlvbigpe3RoaXMudG91Y2hlZD0gdHJ1ZTt9OwoKdmFyIG9iaj17fTsKCmYuY2FsbChvYmopOwoKLy9DSEVDSyMxCmlmICghKG9iai50b3VjaGVkKSkgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.4.4_A5_T5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTVfVDYiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BNV9UNi5qcyIsCgphc3NlcnRpb246ICJJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlIiwKCmRlc2NyaXB0aW9uOiAidGhpc0FyZyBpcyBuZXcgU3RyaW5nKCkiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHZhciBvYmo9bmV3IFN0cmluZygic29hcCIpOwoKKCBmdW5jdGlvbigpe3RoaXMudG91Y2hlZD0gdHJ1ZTt9KS5jYWxsKG9iaik7CgovL0NIRUNLIzEKaWYgKCEob2JqLnRvdWNoZWQpKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9CgogfQp9KTsKCg==","id":"S15.3.4.4_A5_T6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTVfVDciLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BNV9UNy5qcyIsCgphc3NlcnRpb246ICJJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlIiwKCmRlc2NyaXB0aW9uOiAidGhpc0FyZyBpcyBuZXcgTnVtYmVyKCkiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHZhciBvYmo9bmV3IE51bWJlcigxKTsKCkZ1bmN0aW9uKCJ0aGlzLnRvdWNoZWQ9IHRydWU7IikuY2FsbChvYmopOwoKLy9DSEVDSyMxCmlmICghKG9iai50b3VjaGVkKSkgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKCiB9Cn0pOwoK","id":"S15.3.4.4_A5_T7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTVfVDgiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BNV9UOC5qcyIsCgphc3NlcnRpb246ICJJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlIiwKCmRlc2NyaXB0aW9uOiAidGhpc0FyZyBpcyBGdW5jdGlvbigpIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgb2JqPUZ1bmN0aW9uKCk7CgpuZXcgRnVuY3Rpb24oInRoaXMudG91Y2hlZD0gdHJ1ZTsgcmV0dXJuIHRoaXM7IikuY2FsbChvYmopOwoKLy9DSEVDSyMxCmlmICghKG9iai50b3VjaGVkKSkgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.4.4_A5_T8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTZfVDEiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BNl9UMS5qcyIsCgphc3NlcnRpb246ICJUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcyIsCgpkZXNjcmlwdGlvbjogIkFyZ3VuZW10cyBvZiBjYWxsIGZ1bmN0aW9uIGlzIChudWxsLFsxXSkiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIEZ1bmN0aW9uKCJhMSxhMixhMyIsInRoaXMuc2hpZnRlZD1hMTsiKS5jYWxsKG51bGwsWzFdKTsKCi8vQ0hFQ0sjMQppZiAodGhpc1sic2hpZnRlZCJdLmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IFRoZSBjYWxsIG1ldGhvZCB0YWtlcyBvbmUgb3IgbW9yZSBhcmd1bWVudHMsIHRoaXNBcmcgYW5kIChvcHRpb25hbGx5KSBhcmcxLCBhcmcyIGV0YywgYW5kIHBlcmZvcm1zIGEgZnVuY3Rpb24gY2FsbCB1c2luZyB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgdGhlIG9iamVjdCcpOwp9CgovL0NIRUNLIzIKaWYgKHRoaXNbInNoaWZ0ZWQiXS5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcyBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QnKTsKfQoKLy9DSEVDSyMzCmlmICh0aGlzWyJzaGlmdGVkIl1bMF0gIT09IDEpIHsKICAkRVJST1IoJyMzOiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcyBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QnKTsKfQoKCiB9Cn0pOwoK","id":"S15.3.4.4_A6_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTZfVDIiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BNl9UMi5qcyIsCgphc3NlcnRpb246ICJUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcyIsCgpkZXNjcmlwdGlvbjogIkFyZ3VuZW10cyBvZiBjYWxsIGZ1bmN0aW9uIGlzIChudWxsLFszLDIsMV0pIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBuZXcgRnVuY3Rpb24oImExLGEyIiwiYTMiLCJ0aGlzLnNoaWZ0ZWQ9YTE7IikuY2FsbChudWxsLFszLDIsMV0pOwoKLy9DSEVDSyMxCmlmICh0aGlzWyJzaGlmdGVkIl0ubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMTogVGhlIGNhbGwgbWV0aG9kIHRha2VzIG9uZSBvciBtb3JlIGFyZ3VtZW50cywgdGhpc0FyZyBhbmQgKG9wdGlvbmFsbHkpIGFyZzEsIGFyZzIgZXRjLCBhbmQgcGVyZm9ybXMgYSBmdW5jdGlvbiBjYWxsIHVzaW5nIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBvZiB0aGUgb2JqZWN0Jyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKHRoaXNbInNoaWZ0ZWQiXVswXSAhPT0gMyl8fCh0aGlzWyJzaGlmdGVkIl1bMV0gIT09IDIpfHwodGhpc1sic2hpZnRlZCJdWzJdICE9PSAxKSkgewogICRFUlJPUignIzI6IFRoZSBjYWxsIG1ldGhvZCB0YWtlcyBvbmUgb3IgbW9yZSBhcmd1bWVudHMsIHRoaXNBcmcgYW5kIChvcHRpb25hbGx5KSBhcmcxLCBhcmcyIGV0YywgYW5kIHBlcmZvcm1zIGEgZnVuY3Rpb24gY2FsbCB1c2luZyB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgdGhlIG9iamVjdCcpOwp9CgoKIH0KfSk7Cgo=","id":"S15.3.4.4_A6_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTZfVDUiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BNl9UNS5qcyIsCgphc3NlcnRpb246ICJUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcyIsCgpkZXNjcmlwdGlvbjogIkFyZ3VuZW10cyBvZiBjYWxsIGZ1bmN0aW9uIGlzIChudWxsLCBhcmd1bWVudHMsXCJcIiwyKSwgaW5zaWRlIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIHVzZWQiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIGZ1bmN0aW9uIEZBQ1RPUlkoKXsKICBGdW5jdGlvbigiYTEsYTIsYTMiLCJ0aGlzLnNoaWZ0ZWQ9YTEubGVuZ3RoK2EyK2EzOyIpLmNhbGwobnVsbCxhcmd1bWVudHMsIiIsMik7Cn0KCnZhciBvYmo9bmV3IEZBQ1RPUlkoIiIsMSwyLCJBIik7CgovL0NIRUNLIzEKaWYgKHRoaXNbInNoaWZ0ZWQiXSAhPT0gIjQyIikgewogICRFUlJPUignIzE6IFRoZSBjYWxsIG1ldGhvZCB0YWtlcyBvbmUgb3IgbW9yZSBhcmd1bWVudHMsIHRoaXNBcmcgYW5kIChvcHRpb25hbGx5KSBhcmcxLCBhcmcyIGV0YywgYW5kIHBlcmZvcm1zIGEgZnVuY3Rpb24gY2FsbCB1c2luZyB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgdGhlIG9iamVjdCcpOwp9CgovL0NIRUNLIzIKaWYgKHR5cGVvZiBvYmouc2hpZnRlZCAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMyOiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcyBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QnKTsKfQoKCiB9Cn0pOwoK","id":"S15.3.4.4_A6_T5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTZfVDciLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BNl9UNy5qcyIsCgphc3NlcnRpb246ICJUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcyIsCgpkZXNjcmlwdGlvbjogIkFyZ3VuZW10cyBvZiBjYWxsIGZ1bmN0aW9uIGlzIChudWxsLCBhcmd1bWVudHMsXCJcIiwyKSwgaW5zaWRlIGZ1bmN0aW9uIGNhbGwgd2l0aG91dCBkZWNsYXJhdGlvbiB1c2VkIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAoZnVuY3Rpb24gKCl7CiAgRnVuY3Rpb24oImExLGEyLGEzIiwidGhpcy5zaGlmdGVkPWExLmxlbmd0aCthMithMzsiKS5jYWxsKG51bGwsYXJndW1lbnRzLCIiLDIpOwp9KSgiIiwxLDIsdHJ1ZSk7CgovL0NIRUNLIzEKaWYgKHRoaXNbInNoaWZ0ZWQiXSAhPT0gIjQyIikgewogICRFUlJPUignIzE6IFRoZSBjYWxsIG1ldGhvZCB0YWtlcyBvbmUgb3IgbW9yZSBhcmd1bWVudHMsIHRoaXNBcmcgYW5kIChvcHRpb25hbGx5KSBhcmcxLCBhcmcyIGV0YywgYW5kIHBlcmZvcm1zIGEgZnVuY3Rpb24gY2FsbCB1c2luZyB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgdGhlIG9iamVjdCcpOwp9CgogfQp9KTsKCg==","id":"S15.3.4.4_A6_T7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTZfVDgiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BNl9UOC5qcyIsCgphc3NlcnRpb246ICJUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcyIsCgpkZXNjcmlwdGlvbjogIkFyZ3VuZW10cyBvZiBjYWxsIGZ1bmN0aW9uIGlzICh0aGlzLCBhcmd1bWVudHMsXCJcIiwyKSwgaW5zaWRlIGZ1bmN0aW9uIGNhbGwgd2l0aG91dCBkZWNsYXJhdGlvbiB1c2VkIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAoZnVuY3Rpb24gKCl7CiAgRnVuY3Rpb24oImExLGEyLGEzIiwidGhpcy5zaGlmdGVkPWExLmxlbmd0aCthMithMzsiKS5jYWxsKHRoaXMsYXJndW1lbnRzLCIiLDIpOwp9KSgiIiw0LDIsbnVsbCk7CgovL0NIRUNLIzIKaWYgKHRoaXNbInNoaWZ0ZWQiXSAhPT0gIjQyIikgewogICRFUlJPUignIzI6IFRoZSBjYWxsIG1ldGhvZCB0YWtlcyBvbmUgb3IgbW9yZSBhcmd1bWVudHMsIHRoaXNBcmcgYW5kIChvcHRpb25hbGx5KSBhcmcxLCBhcmcyIGV0YywgYW5kIHBlcmZvcm1zIGEgZnVuY3Rpb24gY2FsbCB1c2luZyB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgdGhlIG9iamVjdCcpOwp9CgoKIH0KfSk7Cgo=","id":"S15.3.4.4_A6_T8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTdfVDEiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BN19UMS5qcyIsCgphc3NlcnRpb246ICJGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlciIsCgpkZXNjcmlwdGlvbjogIkNoZWNraW5nIGlmIGNyZWF0aW5nIFwibmV3IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsXCIgZmFpbHMiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHRyeSB7CiAgdmFyIG9iaiA9IG5ldyBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbDsKICAkRVJST1IoJyMxOiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAJJEVSUk9SKCcjMS4xOiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcicpOwogIH0KfQoKIH0KfSk7Cgo=","id":"S15.3.4.4_A7_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTdfVDIiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BN19UMi5qcyIsCgphc3NlcnRpb246ICJGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlciIsCgpkZXNjcmlwdGlvbjogIkNoZWNraW5nIGlmIGNyZWF0aW5nIFwibmV3IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsKClcIiBmYWlscyIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgdHJ5IHsKICB2YXIgRkFDVE9SWSA9IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsOwogIHZhciBvYmogPSBuZXcgRkFDVE9SWSgpOwogICRFUlJPUignIzE6IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsIGNhblwndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSkgewogIAkkRVJST1IoJyMxLjE6IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsIGNhblwndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyJyk7CiAgfQp9CgogfQp9KTsKCg==","id":"S15.3.4.4_A7_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTdfVDMiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BN19UMy5qcyIsCgphc3NlcnRpb246ICJGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlciIsCgpkZXNjcmlwdGlvbjogIkNoZWNraW5nIGlmIGNyZWF0aW5nIFwibmV3IEZ1bmN0aW9uLmNhbGxcIiBmYWlscyIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgdHJ5IHsKICB2YXIgb2JqID0gbmV3IEZ1bmN0aW9uLmNhbGw7CiAgJEVSUk9SKCcjMTogRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwgY2FuXCd0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXInKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgCSRFUlJPUignIzEuMTogRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwgY2FuXCd0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXInKTsKICB9Cn0KCiB9Cn0pOwoK","id":"S15.3.4.4_A7_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTdfVDQiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BN19UNC5qcyIsCgphc3NlcnRpb246ICJGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlciIsCgpkZXNjcmlwdGlvbjogIkNoZWNraW5nIGlmIGNyZWF0aW5nIFwibmV3IChGdW5jdGlvbihcInRoaXMucDE9MVwiKS5jYWxsKVwiIGZhaWxzIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB0cnkgewogIHZhciBvYmogPSBuZXcgKEZ1bmN0aW9uKCJ0aGlzLnAxPTEiKS5jYWxsKTsKICAkRVJST1IoJyMxOiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAJJEVSUk9SKCcjMS4xOiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcicpOwogIH0KfQoKIH0KfSk7Cgo=","id":"S15.3.4.4_A7_T4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTdfVDUiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BN19UNS5qcyIsCgphc3NlcnRpb246ICJGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlciIsCgpkZXNjcmlwdGlvbjogIkNoZWNraW5nIGlmIGNyZWF0aW5nIFwibmV3IEZ1bmN0aW9uKFwidGhpcy5wMT0xXCIpLmNhbGxcIiBmYWlscyIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgdHJ5IHsKICB2YXIgRkFDVE9SWSA9IEZ1bmN0aW9uKCJ0aGlzLnAxPTEiKS5jYWxsOwogIHZhciBvYmogPSBuZXcgRkFDVE9SWSgpOwogICRFUlJPUignIzE6IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsIGNhblwndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSkgewogIAkkRVJST1IoJyMxLjE6IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsIGNhblwndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyJyk7CiAgfQp9CgogfQp9KTsKCg==","id":"S15.3.4.4_A7_T5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTdfVDYiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BN19UNi5qcyIsCgphc3NlcnRpb246ICJGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlciIsCgpkZXNjcmlwdGlvbjogIkNoZWNraW5nIGlmIGNyZWF0aW5nIFwibmV3IChGdW5jdGlvbihcImZ1bmN0aW9uIGYoKXt0aGlzLnAxPTE7fTtyZXR1cm4gZlwiKS5jYWxsKCkpXCIgZmFpbHMiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIC8vQ0hFQ0sjMQp0cnkgewogIHZhciBvYmogPSBuZXcgKEZ1bmN0aW9uKCJmdW5jdGlvbiBmKCl7dGhpcy5wMT0xO307cmV0dXJuIGYiKS5jYWxsKCkpOwp9IGNhdGNoIChlKSB7CiAgJEVSUk9SKCcjMTogRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwgY2FuXCd0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXInKTsKfQoKLy9DSEVDSyMyCmlmIChvYmoucDEhPT0gMSkgewogICRFUlJPUignIzI6IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsIGNhblwndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.4.4_A7_T6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjRfQTkiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNF9Qcm9wZXJ0aWVzX29mX3RoZV9GdW5jdGlvbl9Qcm90b3R5cGVfT2JqZWN0LzE1LjMuNC40X0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsL1MxNS4zLjQuNF9BOS5qcyIsCgphc3NlcnRpb246ICJUaGUgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUiLAoKZGVzY3JpcHRpb246ICJDaGVja2luZyBpZiBkZWxldGluZyB0aGUgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoIHByb3BlcnR5IGZhaWxzIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAvL0NIRUNLIzAKaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsIGhhcyBsZW5ndGggcHJvcGVydHknKTsKfQoKLy9DSEVDSyMxCmlmIChkZWxldGUgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogVGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgovL0NIRUNLIzIKaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMjogVGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgogfQp9KTsKCg==","id":"S15.3.4.4_A9"},{"code":"IGZ1bmN0aW9uIGZvbygpIHsgcmV0dXJuIGJhci5jYWxsZXI7IH0KdmFyIGJhciA9IGZvby5iaW5kKHt9KTsKZnVuY3Rpb24gYmF6KCkgeyByZXR1cm4gYmFyKCk7IH0KYmF6KCk7CiAKCg==","id":"S15.3.4.5_A1"},{"code":"IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmNhbGwodW5kZWZpbmVkLCB7fSk7CgogCgo=","id":"S15.3.4.5_A13"},{"code":"IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmNhbGwobnVsbCwge30pOwoKIAoK","id":"S15.3.4.5_A14"},{"code":"IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmNhbGwoe30sIHt9KTsKCiAKCg==","id":"S15.3.4.5_A15"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy40LjVfQTE2IiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjRfUHJvcGVydGllc19vZl90aGVfRnVuY3Rpb25fUHJvdG90eXBlX09iamVjdC8xNS4zLjQuNV9GdW5jdGlvbi5wcm90b3R5cGUuYmluZC9TMTUuMy40LjVfQTE2LmpzIiwKCmFzc2VydGlvbjogIklmIElzQ2FsbGFibGUoZnVuYykgaXMgZmFsc2UsIHRoZW4gdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLiIsCgpkZXNjcmlwdGlvbjogIkEgUmVnRXhwIGlzIG5vdCBhIGZ1bmN0aW9uLCBidXQgaXQgbWF5IGJlIGNhbGxhYmxlLiBJZmYgaXQgaXMsIGl0XCdzIHR5cGVvZiBzaG91bGQgYmUgXCdmdW5jdGlvblwnLCBpbiB3aGljaCBjYXNlIGJpbmQgc2hvdWxkIGFjY2VwdCBpdCBhcyBhIHZhbGlkIHRoaXMgdmFsdWUuIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgcmUgPSAoL3gvKTsKaWYgKHR5cGVvZiByZSA9PT0gJ2Z1bmN0aW9uJykgewogIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmNhbGwocmUsIHVuZGVmaW5lZCk7Cn0gZWxzZSB7CiAgdHJ5IHsKICAgIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmNhbGwocmUsIHVuZGVmaW5lZCk7CiAgICAkRkFJTCgnIzE6IElmIElzQ2FsbGFibGUoZnVuYykgaXMgZmFsc2UsICcgKwogICAgICAgICAgJ3RoZW4gKGJpbmQgc2hvdWxkKSB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24nKTsKICB9IGNhdGNoIChlKSB7CiAgICBpZiAoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSkgewogICAgICAkRVJST1IoJyMxOiBUeXBlRXJyb3IgZXhwZWN0ZWQuIEFjdHVhbDogJyArIGUpOwogICAgfQogIH0KfQoKIH0KfSk7Cgo=","id":"S15.3.4.5_A16"},{"code":"IGZ1bmN0aW9uIGZvbygpIHsgcmV0dXJuIGJhci5hcmd1bWVudHM7IH0KdmFyIGJhciA9IGZvby5iaW5kKHt9KTsKZnVuY3Rpb24gYmF6KCkgeyByZXR1cm4gYmFyKCk7IH0KYmF6KCk7CiAKCg==","id":"S15.3.4.5_A2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41LjFfQTFfVDEiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjFfQTFfVDEuanMiLAoKYXNzZXJ0aW9uOiAiVGhlIHZhbHVlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaXMgdXN1YWxseSBhbiBpbnRlZ2VyIHRoYXQgaW5kaWNhdGVzIHRoZSBcJ3R5cGljYWxcJyBudW1iZXIgb2YgYXJndW1lbnRzIGV4cGVjdGVkIGJ5IHRoZSBmdW5jdGlvbiIsCgpkZXNjcmlwdGlvbjogIkNoZWNraW5nIGxlbmd0aCBwcm9wZXJ0eSBvZiBGdW5jdGlvbihcImFyZzEsYXJnMixhcmczXCIsIG51bGwpIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBmID0gbmV3IEZ1bmN0aW9uKCJhcmcxLGFyZzIsYXJnMyIsIG51bGwpOwoKLy9DSEVDSyMxCmlmICghKGYuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMTogdGhlIGZ1bmN0aW9uIGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZi5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyMyOiBUaGUgdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpcyB1c3VhbGx5IGFuIGludGVnZXIgdGhhdCBpbmRpY2F0ZXMgdGhlICJ0eXBpY2FsIiBudW1iZXIgb2YgYXJndW1lbnRzIGV4cGVjdGVkIGJ5IHRoZSBmdW5jdGlvbicpOwp9CgogfQp9KTsKCg==","id":"S15.3.5.1_A1_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41LjFfQTFfVDIiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjFfQTFfVDIuanMiLAoKYXNzZXJ0aW9uOiAiVGhlIHZhbHVlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaXMgdXN1YWxseSBhbiBpbnRlZ2VyIHRoYXQgaW5kaWNhdGVzIHRoZSBcJ3R5cGljYWxcJyBudW1iZXIgb2YgYXJndW1lbnRzIGV4cGVjdGVkIGJ5IHRoZSBmdW5jdGlvbiIsCgpkZXNjcmlwdGlvbjogIkNoZWNraW5nIGxlbmd0aCBwcm9wZXJ0eSBvZiBGdW5jdGlvbihcImFyZzEsYXJnMixhcmczXCIsXCJhcmc0LGFyZzVcIiwgbnVsbCkiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIGYgPSBGdW5jdGlvbigiYXJnMSxhcmcyLGFyZzMiLCJhcmc0LGFyZzUiLCBudWxsKTsKCi8vQ0hFQ0sjMQppZiAoIShmLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IHRoZSBmdW5jdGlvbiBoYXMgbGVuZ3RoIHByb3BlcnR5LicpOwp9CgovL0NIRUNLIzIKaWYgKGYubGVuZ3RoICE9PSA1KSB7CiAgJEVSUk9SKCcjMjogVGhlIHZhbHVlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaXMgdXN1YWxseSBhbiBpbnRlZ2VyIHRoYXQgaW5kaWNhdGVzIHRoZSAidHlwaWNhbCIgbnVtYmVyIG9mIGFyZ3VtZW50cyBleHBlY3RlZCBieSB0aGUgZnVuY3Rpb24nKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.5.1_A1_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41LjFfQTFfVDMiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjFfQTFfVDMuanMiLAoKYXNzZXJ0aW9uOiAiVGhlIHZhbHVlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaXMgdXN1YWxseSBhbiBpbnRlZ2VyIHRoYXQgaW5kaWNhdGVzIHRoZSBcJ3R5cGljYWxcJyBudW1iZXIgb2YgYXJndW1lbnRzIGV4cGVjdGVkIGJ5IHRoZSBmdW5jdGlvbiIsCgpkZXNjcmlwdGlvbjogIkNoZWNraW5nIGxlbmd0aCBwcm9wZXJ0eSBvZiBGdW5jdGlvbihcImFyZzEsYXJnMixhcmczXCIsXCJhcmcxLGFyZzJcIixcImFyZzNcIiwgbnVsbCkiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIGYgPSBuZXcgRnVuY3Rpb24oImFyZzEsYXJnMixhcmczIiwiYXJnMSxhcmcyIiwiYXJnMyIsIG51bGwpOwoKLy9DSEVDSyMxCmlmICghKGYuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMTogdGhlIGZ1bmN0aW9uIGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZi5sZW5ndGggIT09IDYpIHsKICAkRVJST1IoJyMyOiBUaGUgdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpcyB1c3VhbGx5IGFuIGludGVnZXIgdGhhdCBpbmRpY2F0ZXMgdGhlICJ0eXBpY2FsIiBudW1iZXIgb2YgYXJndW1lbnRzIGV4cGVjdGVkIGJ5IHRoZSBmdW5jdGlvbicpOwp9CgogfQp9KTsKCg==","id":"S15.3.5.1_A1_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41LjFfQTJfVDEiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjFfQTJfVDEuanMiLAoKYXNzZXJ0aW9uOiAidGhlIGxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBEb250RGVsZXRlIH0iLAoKZGVzY3JpcHRpb246ICJDaGVja2luZyBpZiBkZWxldGluZyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mIEZ1bmN0aW9uKFwiYXJnMSxhcmcyLGFyZzNcIiwgbnVsbCkgZmFpbHMiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIGYgPSBuZXcgRnVuY3Rpb24oImFyZzEsYXJnMixhcmczIiwgbnVsbCk7CgovL0NIRUNLIzEKaWYgKCEoZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMxOiB0aGUgZnVuY3Rpb24gaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKfQoKLy9DSEVDSyMyCmlmKGRlbGV0ZSBmLmxlbmd0aCl7CiAgJEVSUk9SKCcjMjogdGhlIGZ1bmN0aW9uLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZS4nKTsKfQoKLy9DSEVDSyMzCmlmICghKGYuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRFUlJPUignIzM6IHRoZSBmdW5jdGlvbi5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUuJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZi5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyM0OiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERvbnREZWxldGUgfScpOwp9CgogfQp9KTsKCg==","id":"S15.3.5.1_A2_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41LjFfQTJfVDIiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjFfQTJfVDIuanMiLAoKYXNzZXJ0aW9uOiAidGhlIGxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBEb250RGVsZXRlIH0iLAoKZGVzY3JpcHRpb246ICJDaGVja2luZyBpZiBkZWxldGluZyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mIEZ1bmN0aW9uKFwiYXJnMSxhcmcyLGFyZzNcIixcImFyZzQsYXJnNVwiLCBudWxsKSBmYWlscyIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgZiA9ICBGdW5jdGlvbigiYXJnMSxhcmcyLGFyZzMiLCJhcmc0LGFyZzUiLCBudWxsKTsKCi8vQ0hFQ0sjMQppZiAoIShmLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IHRoZSBmdW5jdGlvbiBoYXMgbGVuZ3RoIHByb3BlcnR5LicpOwp9CgpkZWxldGUgZi5sZW5ndGg7CgovL0NIRUNLIzIKaWYgKCEoZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEVSUk9SKCcjMjogdGhlIGZ1bmN0aW9uLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZS4nKTsKfQoKLy9DSEVDSyMzCmlmIChmLmxlbmd0aCAhPT0gNSkgewogICRFUlJPUignIzM6IHRoZSBsZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIHsgRG9udERlbGV0ZSB9Jyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.5.1_A2_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41LjFfQTJfVDMiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjFfQTJfVDMuanMiLAoKYXNzZXJ0aW9uOiAidGhlIGxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBEb250RGVsZXRlIH0iLAoKZGVzY3JpcHRpb246ICJDaGVja2luZyBpZiBkZWxldGluZyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mIEZ1bmN0aW9uKFwiYXJnMSxhcmcyLGFyZzNcIixcImFyZzEsYXJnMlwiLFwiYXJnM1wiLCBudWxsKSBmYWlscyIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgZiA9IG5ldyBGdW5jdGlvbigiYXJnMSxhcmcyLGFyZzMiLCJhcmcxLGFyZzIiLCJhcmczIiwgbnVsbCk7CgovL0NIRUNLIzEKaWYgKCEoZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMxOiB0aGUgZnVuY3Rpb24gaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKfQoKZGVsZXRlIGYubGVuZ3RoOwoKLy9DSEVDSyMyCmlmICghKGYuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRFUlJPUignIzI6IHRoZSBmdW5jdGlvbi5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUuJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZi5sZW5ndGggIT09IDYpIHsKICAkRVJST1IoJyMzOiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERvbnREZWxldGUgfScpOwp9CgogfQp9KTsKCg==","id":"S15.3.5.1_A2_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41LjFfQTNfVDEiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjFfQTNfVDEuanMiLAoKYXNzZXJ0aW9uOiAidGhlIGxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBSZWFkT25seSB9IiwKCmRlc2NyaXB0aW9uOiAiQ2hlY2tpbmcgaWYgdmFyeWluZyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mIEZ1bmN0aW9uKFwiYXJnMSxhcmcyLGFyZzNcIixcImFyZzQsYXJnNVwiLCBudWxsKSBmYWlscyIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgZiA9IG5ldyBGdW5jdGlvbigiYXJnMSxhcmcyLGFyZzMiLCJhcmc0LGFyZzUiLCBudWxsKTsKCi8vQ0hFQ0sjMQppZiAoIShmLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IHRoZSBmdW5jdGlvbiBoYXMgbGVuZ3RoIHByb3BlcnR5LicpOwp9CgpsZW5ndGggPSBmLmxlbmd0aDsKCmYubGVuZ3RoID0gZnVuY3Rpb24oKXt9OwoKLy9DSEVDSyMyCmlmIChmLmxlbmd0aCAhPT0gbGVuZ3RoKSB7CiAgJEVSUk9SKCcjMjogdGhlIGZ1bmN0aW9uLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgUmVhZE9ubHknKTsKfQoKLy9DSEVDSyMzCnRyeSB7CiAgZi5sZW5ndGgoKTsKICAkRVJST1IoJyMzOiB0aGUgZnVuY3Rpb24ubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBSZWFkT25seScpOwp9IGNhdGNoIChlKSB7CiAgOwp9CgovL0NIRUNLIzQKaWYgKGYubGVuZ3RoICE9PSA1KSB7CiAgJEVSUk9SKCcjNDogdGhlIGxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBSZWFkT25seSB9Jyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.5.1_A3_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41LjFfQTNfVDIiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjFfQTNfVDIuanMiLAoKYXNzZXJ0aW9uOiAidGhlIGxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBSZWFkT25seSB9IiwKCmRlc2NyaXB0aW9uOiAiQ2hlY2tpbmcgaWYgdmFyeWluZyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mIEZ1bmN0aW9uKFwiYXJnMSxhcmcyLGFyZzNcIiwgbnVsbCkgZmFpbHMiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIGYgPSAgRnVuY3Rpb24oImFyZzEsYXJnMixhcmczIiwgbnVsbCk7CgovL0NIRUNLIzEKaWYgKCEoZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMxOiB0aGUgZnVuY3Rpb24gaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKfQoKbGVuZ3RoID0gZi5sZW5ndGg7CgpmLmxlbmd0aCA9IGZ1bmN0aW9uKCl7fTsKCi8vQ0hFQ0sjMgppZiAoZi5sZW5ndGggIT09IGxlbmd0aCkgewogICRFUlJPUignIzI6IHRoZSBmdW5jdGlvbi5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIFJlYWRPbmx5Jyk7Cn0KCi8vQ0hFQ0sjMwp0cnkgewogIGYubGVuZ3RoKCk7CiAgJEVSUk9SKCcjMzogdGhlIGZ1bmN0aW9uLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgUmVhZE9ubHknKTsKfSBjYXRjaCAoZSkgewogIDsKfQoKLy9DSEVDSyM0CmlmIChmLmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzQ6IHRoZSBsZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIHsgUmVhZE9ubHkgfScpOwp9CgogfQp9KTsKCg==","id":"S15.3.5.1_A3_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41LjFfQTNfVDMiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjFfQTNfVDMuanMiLAoKYXNzZXJ0aW9uOiAidGhlIGxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBSZWFkT25seSB9IiwKCmRlc2NyaXB0aW9uOiAiQ2hlY2tpbmcgaWYgdmFyeWluZyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mIEZ1bmN0aW9uKFwiYXJnMSxhcmcyLGFyZzNcIixcImFyZzEsYXJnMlwiLFwiYXJnM1wiLCBudWxsKSBmYWlscyIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgZiA9IG5ldyBGdW5jdGlvbigiYXJnMSxhcmcyLGFyZzMiLCJhcmcxLGFyZzIiLCJhcmczIiwgbnVsbCk7CgovL0NIRUNLIzEKaWYgKCEoZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMxOiB0aGUgZnVuY3Rpb24gaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKfQoKbGVuZ3RoID0gZi5sZW5ndGg7CgpmLmxlbmd0aCA9IGZ1bmN0aW9uKCl7fTsKCi8vQ0hFQ0sjMgppZiAoZi5sZW5ndGggIT09IGxlbmd0aCkgewogICRFUlJPUignIzI6IHRoZSBmdW5jdGlvbi5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIFJlYWRPbmx5Jyk7Cn0KCi8vQ0hFQ0sjMwp0cnkgewogIGYubGVuZ3RoKCk7CiAgJEVSUk9SKCcjMzogdGhlIGZ1bmN0aW9uLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgUmVhZE9ubHknKTsKfSBjYXRjaCAoZSkgewogIDsKfQoKLy9DSEVDSyM0CmlmIChmLmxlbmd0aCAhPT0gNikgewogICRFUlJPUignIzQ6IHRoZSBsZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIHsgUmVhZE9ubHkgfScpOwp9CgogfQp9KTsKCg==","id":"S15.3.5.1_A3_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41LjFfQTRfVDEiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjFfQTRfVDEuanMiLAoKYXNzZXJ0aW9uOiAidGhlIGxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBEb250RW51bSB9IiwKCmRlc2NyaXB0aW9uOiAiQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiBGdW5jdGlvbihcImFyZzEsYXJnMixhcmczXCIsIG51bGwpIGZhaWxzIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBmID0gbmV3IEZ1bmN0aW9uKCJhcmcxLGFyZzIsYXJnMyIsIG51bGwpOwoKLy9DSEVDSyMxCmlmICghKGYuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMTogdGhlIGZ1bmN0aW9uIGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Cn0KCmZvcihrZXkgaW4gZikgICAgCiAgaWYoa2V5PT0ibGVuZ3RoIikKICAgICAgdmFyIGxlbmd0aGVudW1lZD10cnVlOwogICAgICAKLy9DSEVDSyMyCmlmIChsZW5ndGhlbnVtZWQpIHsKICAkRVJST1IoJyMyOiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERvbnRFbnVtIH0nKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.5.1_A4_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41LjFfQTRfVDIiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjFfQTRfVDIuanMiLAoKYXNzZXJ0aW9uOiAidGhlIGxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBEb250RW51bSB9IiwKCmRlc2NyaXB0aW9uOiAiQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiBGdW5jdGlvbihcImFyZzEsYXJnMixhcmczXCIsXCJhcmc0LGFyZzVcIiwgbnVsbCkgZmFpbHMiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIGYgPSAgRnVuY3Rpb24oImFyZzEsYXJnMixhcmczIiwiYXJnNSxhcmc0IiwgbnVsbCk7CgovL0NIRUNLIzEKaWYgKCEoZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMxOiB0aGUgZnVuY3Rpb24gaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKfQoKZm9yKGtleSBpbiBmKSAgICAKICBpZihrZXk9PSJsZW5ndGgiKQogICAgICB2YXIgbGVuZ3RoZW51bWVkPXRydWU7CiAgICAgIAovL0NIRUNLIzIKaWYgKGxlbmd0aGVudW1lZCkgewogICRFUlJPUignIzI6IHRoZSBsZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIHsgRG9udEVudW0gfScpOwp9CgogfQp9KTsKCg==","id":"S15.3.5.1_A4_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41LjFfQTRfVDMiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjFfQTRfVDMuanMiLAoKYXNzZXJ0aW9uOiAidGhlIGxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBEb250RW51bSB9IiwKCmRlc2NyaXB0aW9uOiAiQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiBGdW5jdGlvbihcImFyZzEsYXJnMixhcmczXCIsXCJhcmcxLGFyZzJcIixcImFyZzNcIiwgbnVsbCkgZmFpbHMiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIGYgPSBuZXcgRnVuY3Rpb24oImFyZzEsYXJnMixhcmczIiwiYXJnMSxhcmcyIiwiYXJnMyIsIG51bGwpOwoKLy9DSEVDSyMxCmlmICghKGYuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMTogdGhlIGZ1bmN0aW9uIGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Cn0KCmZvcihrZXkgaW4gZikgICAgCiAgaWYoa2V5PT0ibGVuZ3RoIikKICAgIHZhciBsZW5ndGhlbnVtZWQ9dHJ1ZTsKICAgICAgCi8vQ0hFQ0sjMgppZiAobGVuZ3RoZW51bWVkKSB7CiAgJEVSUk9SKCcjMjogdGhlIGxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBEb250RW51bSB9Jyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.5.1_A4_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41LjJfQTFfVDEiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjJfQTFfVDEuanMiLAoKYXNzZXJ0aW9uOiAidGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBEb250RGVsZXRlIH0iLAoKZGVzY3JpcHRpb246ICJDaGVja2luZyBpZiBkZWxldGluZyB0aGUgcHJvdG90eXBlIHByb3BlcnR5IG9mIEZ1bmN0aW9uKFwiXCIsIG51bGwpIGZhaWxzIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBmID0gbmV3IEZ1bmN0aW9uKCIiLCBudWxsKTsKCi8vQ0hFQ0sjMQppZiAoIShmLmhhc093blByb3BlcnR5KCdwcm90b3R5cGUnKSkpIHsKICAkRkFJTCgnIzE6IHRoZSBmdW5jdGlvbiBoYXMgbGVuZ3RoIHByb3BlcnR5LicpOwp9CgpmcHJvdG8gPSBmLnByb3RvdHlwZTsKCi8vQ0hFQ0sjMgppZiAoZGVsZXRlIGYucHJvdG90eXBlKSB7CiAgJEVSUk9SKCcjMjogdGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBEb250RGVsZXRlIH0nKTsKfQoKLy9DSEVDSyMzCmlmIChmLnByb3RvdHlwZSAhPT0gZnByb3RvKSB7CiAgJEVSUk9SKCcjMzogdGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBEb250RGVsZXRlIH0nKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.5.2_A1_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41LjJfQTFfVDIiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjJfQTFfVDIuanMiLAoKYXNzZXJ0aW9uOiAidGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBEb250RGVsZXRlIH0iLAoKZGVzY3JpcHRpb246ICJDaGVja2luZyBpZiBkZWxldGluZyB0aGUgcHJvdG90eXBlIHByb3BlcnR5IG9mIEZ1bmN0aW9uKHZvaWQgMCwgXCJcIikgZmFpbHMiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIGYgPSBGdW5jdGlvbih2b2lkIDAsICIiKTsKCi8vQ0hFQ0sjMQppZiAoIShmLmhhc093blByb3BlcnR5KCdwcm90b3R5cGUnKSkpIHsKICAkRkFJTCgnIzE6IHRoZSBmdW5jdGlvbiBoYXMgbGVuZ3RoIHByb3BlcnR5LicpOwp9CgpmcHJvdG8gPSBmLnByb3RvdHlwZTsKCi8vQ0hFQ0sjMgppZiAoZGVsZXRlIGYucHJvdG90eXBlKSB7CiAgJEVSUk9SKCcjMjogdGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBEb250RGVsZXRlIH0nKTsKfQoKLy9DSEVDSyMzCmlmIChmLnByb3RvdHlwZSAhPT0gZnByb3RvKSB7CiAgJEVSUk9SKCcjMzogdGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBEb250RGVsZXRlIH0nKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.5.2_A1_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41LjNfQTFfVDEiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjNfQTFfVDEuanMiLAoKYXNzZXJ0aW9uOiAiQXNzdW1lIEYgaXMgYSBGdW5jdGlvbiBvYmplY3QuIFdoZW4gdGhlIFtbSGFzSW5zdGFuY2VdXSBtZXRob2Qgb2YgRiBpcyBjYWxsZWQgd2l0aCB2YWx1ZSBWLCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjogaSkgSWYgViBpcyBub3QgYW4gb2JqZWN0LCByZXR1cm4gZmFsc2UiLAoKZGVzY3JpcHRpb246ICJWIGlzIG51bWJlciIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgRkFDVE9SWSA9IEZ1bmN0aW9uKCJuYW1lIiwidGhpcy5uYW1lPW5hbWU7Iik7CgovL0NIRUNLIzEKaWYgKCgxIGluc3RhbmNlb2YgIEZBQ1RPUlkpIT09ZmFsc2UpIHsKICAkRVJST1IoJyMxOiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiBpKSBJZiBWIGlzIG5vdCBhbiBvYmplY3QsIHJldHVybiBmYWxzZScpOwp9CgogfQp9KTsKCg==","id":"S15.3.5.3_A1_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41LjNfQTFfVDIiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjNfQTFfVDIuanMiLAoKYXNzZXJ0aW9uOiAiQXNzdW1lIEYgaXMgYSBGdW5jdGlvbiBvYmplY3QuIFdoZW4gdGhlIFtbSGFzSW5zdGFuY2VdXSBtZXRob2Qgb2YgRiBpcyBjYWxsZWQgd2l0aCB2YWx1ZSBWLCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjogaSkgSWYgViBpcyBub3QgYW4gb2JqZWN0LCByZXR1cm4gZmFsc2UiLAoKZGVzY3JpcHRpb246ICJWIGlzIHN0cmluZyIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgRkFDVE9SWSA9IEZ1bmN0aW9uKCJuYW1lIiwidGhpcy5uYW1lPW5hbWU7Iik7CgovL0NIRUNLIzEKaWYgKCgiMSIgaW5zdGFuY2VvZiAgRkFDVE9SWSkhPT1mYWxzZSkgewogICRFUlJPUignIzE6IEFzc3VtZSBGIGlzIGEgRnVuY3Rpb24gb2JqZWN0LiBXaGVuIHRoZSBbW0hhc0luc3RhbmNlXV0gbWV0aG9kIG9mIEYgaXMgY2FsbGVkIHdpdGggdmFsdWUgViwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IGkpIElmIFYgaXMgbm90IGFuIG9iamVjdCwgcmV0dXJuIGZhbHNlJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.5.3_A1_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41LjNfQTFfVDMiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjNfQTFfVDMuanMiLAoKYXNzZXJ0aW9uOiAiQXNzdW1lIEYgaXMgYSBGdW5jdGlvbiBvYmplY3QuIFdoZW4gdGhlIFtbSGFzSW5zdGFuY2VdXSBtZXRob2Qgb2YgRiBpcyBjYWxsZWQgd2l0aCB2YWx1ZSBWLCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjogaSkgSWYgViBpcyBub3QgYW4gb2JqZWN0LCByZXR1cm4gZmFsc2UiLAoKZGVzY3JpcHRpb246ICJWIGlzIGJvb2xlYW4gdHJ1ZSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgRkFDVE9SWSA9IEZ1bmN0aW9uKCJuYW1lIiwidGhpcy5uYW1lPW5hbWU7Iik7CgovL0NIRUNLIzEKaWYgKCh0cnVlIGluc3RhbmNlb2YgIEZBQ1RPUlkpIT09ZmFsc2UpIHsKICAkRVJST1IoJyMxOiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiBpKSBJZiBWIGlzIG5vdCBhbiBvYmplY3QsIHJldHVybiBmYWxzZScpOwp9CgogfQp9KTsKCg==","id":"S15.3.5.3_A1_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41LjNfQTFfVDQiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjNfQTFfVDQuanMiLAoKYXNzZXJ0aW9uOiAiQXNzdW1lIEYgaXMgYSBGdW5jdGlvbiBvYmplY3QuIFdoZW4gdGhlIFtbSGFzSW5zdGFuY2VdXSBtZXRob2Qgb2YgRiBpcyBjYWxsZWQgd2l0aCB2YWx1ZSBWLCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjogaSkgSWYgViBpcyBub3QgYW4gb2JqZWN0LCByZXR1cm4gZmFsc2UiLAoKZGVzY3JpcHRpb246ICJWIGlzIGJvb2xlYW4gZmFsc2UiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIEZBQ1RPUlkgPSBGdW5jdGlvbigibmFtZSIsInRoaXMubmFtZT1uYW1lOyIpOwoKLy9DSEVDSyMxCmlmICgoZmFsc2UgaW5zdGFuY2VvZiAgRkFDVE9SWSkhPT1mYWxzZSkgewogICRFUlJPUignIzE6IEFzc3VtZSBGIGlzIGEgRnVuY3Rpb24gb2JqZWN0LiBXaGVuIHRoZSBbW0hhc0luc3RhbmNlXV0gbWV0aG9kIG9mIEYgaXMgY2FsbGVkIHdpdGggdmFsdWUgViwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IGkpIElmIFYgaXMgbm90IGFuIG9iamVjdCwgcmV0dXJuIGZhbHNlJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.5.3_A1_T4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41LjNfQTFfVDUiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjNfQTFfVDUuanMiLAoKYXNzZXJ0aW9uOiAiQXNzdW1lIEYgaXMgYSBGdW5jdGlvbiBvYmplY3QuIFdoZW4gdGhlIFtbSGFzSW5zdGFuY2VdXSBtZXRob2Qgb2YgRiBpcyBjYWxsZWQgd2l0aCB2YWx1ZSBWLCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjogaSkgSWYgViBpcyBub3QgYW4gb2JqZWN0LCByZXR1cm4gZmFsc2UiLAoKZGVzY3JpcHRpb246ICJWIGlzIHZvaWQgMCIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgRkFDVE9SWSA9IEZ1bmN0aW9uKCJuYW1lIiwidGhpcy5uYW1lPW5hbWU7Iik7CgovL0NIRUNLIzEKaWYgKCh2b2lkIDAgaW5zdGFuY2VvZiAgRkFDVE9SWSkhPT1mYWxzZSkgewogICRFUlJPUignIzE6IEFzc3VtZSBGIGlzIGEgRnVuY3Rpb24gb2JqZWN0LiBXaGVuIHRoZSBbW0hhc0luc3RhbmNlXV0gbWV0aG9kIG9mIEYgaXMgY2FsbGVkIHdpdGggdmFsdWUgViwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IGkpIElmIFYgaXMgbm90IGFuIG9iamVjdCwgcmV0dXJuIGZhbHNlJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.5.3_A1_T5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41LjNfQTFfVDYiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjNfQTFfVDYuanMiLAoKYXNzZXJ0aW9uOiAiQXNzdW1lIEYgaXMgYSBGdW5jdGlvbiBvYmplY3QuIFdoZW4gdGhlIFtbSGFzSW5zdGFuY2VdXSBtZXRob2Qgb2YgRiBpcyBjYWxsZWQgd2l0aCB2YWx1ZSBWLCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjogaSkgSWYgViBpcyBub3QgYW4gb2JqZWN0LCByZXR1cm4gZmFsc2UiLAoKZGVzY3JpcHRpb246ICJWIGlzIG51bGwiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIEZBQ1RPUlkgPSBGdW5jdGlvbigibmFtZSIsInRoaXMubmFtZT1uYW1lOyIpOwoKLy9DSEVDSyMxCmlmICgobnVsbCBpbnN0YW5jZW9mICBGQUNUT1JZKSE9PWZhbHNlKSB7CiAgJEVSUk9SKCcjMTogQXNzdW1lIEYgaXMgYSBGdW5jdGlvbiBvYmplY3QuIFdoZW4gdGhlIFtbSGFzSW5zdGFuY2VdXSBtZXRob2Qgb2YgRiBpcyBjYWxsZWQgd2l0aCB2YWx1ZSBWLCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjogaSkgSWYgViBpcyBub3QgYW4gb2JqZWN0LCByZXR1cm4gZmFsc2UnKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.5.3_A1_T6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41LjNfQTFfVDciLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjNfQTFfVDcuanMiLAoKYXNzZXJ0aW9uOiAiQXNzdW1lIEYgaXMgYSBGdW5jdGlvbiBvYmplY3QuIFdoZW4gdGhlIFtbSGFzSW5zdGFuY2VdXSBtZXRob2Qgb2YgRiBpcyBjYWxsZWQgd2l0aCB2YWx1ZSBWLCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjogaSkgSWYgViBpcyBub3QgYW4gb2JqZWN0LCByZXR1cm4gZmFsc2UiLAoKZGVzY3JpcHRpb246ICJWIGlzIHVuZGVmaW5lZCIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgRkFDVE9SWSA9IEZ1bmN0aW9uKCJuYW1lIiwidGhpcy5uYW1lPW5hbWU7Iik7CgovL0NIRUNLIzEKaWYgKCh1bmRlZmluZWQgaW5zdGFuY2VvZiAgRkFDVE9SWSkhPT1mYWxzZSkgewogICRFUlJPUignIzE6IEFzc3VtZSBGIGlzIGEgRnVuY3Rpb24gb2JqZWN0LiBXaGVuIHRoZSBbW0hhc0luc3RhbmNlXV0gbWV0aG9kIG9mIEYgaXMgY2FsbGVkIHdpdGggdmFsdWUgViwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IGkpIElmIFYgaXMgbm90IGFuIG9iamVjdCwgcmV0dXJuIGZhbHNlJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.5.3_A1_T7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41LjNfQTFfVDgiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjNfQTFfVDguanMiLAoKYXNzZXJ0aW9uOiAiQXNzdW1lIEYgaXMgYSBGdW5jdGlvbiBvYmplY3QuIFdoZW4gdGhlIFtbSGFzSW5zdGFuY2VdXSBtZXRob2Qgb2YgRiBpcyBjYWxsZWQgd2l0aCB2YWx1ZSBWLCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjogaSkgSWYgViBpcyBub3QgYW4gb2JqZWN0LCByZXR1cm4gZmFsc2UiLAoKZGVzY3JpcHRpb246ICJWIGlzIHVuZGVmaW5lZCB2YXJpYWJsZSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgRkFDVE9SWSA9IEZ1bmN0aW9uKCJuYW1lIiwidGhpcy5uYW1lPW5hbWU7Iik7CgovL0NIRUNLIzEKaWYgKCh4IGluc3RhbmNlb2YgIEZBQ1RPUlkpIT09ZmFsc2UpIHsKICAkRVJST1IoJyMxOiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiBpKSBJZiBWIGlzIG5vdCBhbiBvYmplY3QsIHJldHVybiBmYWxzZScpOwp9Cgp2YXIgeDsKCiB9Cn0pOwoK","id":"S15.3.5.3_A1_T8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41LjNfQTJfVDIiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjNfQTJfVDIuanMiLAoKYXNzZXJ0aW9uOiAiQXNzdW1lIEYgaXMgYSBGdW5jdGlvbiBvYmplY3QuIFdoZW4gdGhlIFtbSGFzSW5zdGFuY2VdXSBtZXRob2Qgb2YgRiBpcyBjYWxsZWQgd2l0aCB2YWx1ZSBWIGFuZCBWIGlzIGFuIG9iamVjdCwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IiwKCmRlc2NyaXB0aW9uOiAiRi5wcm90b3R5cGUgaXMgdW5kZWZpbmVkLCBhbmQgViBpcyBlbXB0eSBvYmplY3QiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIEZBQ1RPUlkgPSBuZXcgRnVuY3Rpb247CgpGQUNUT1JZLnByb3RvdHlwZSA9IHVuZGVmaW5lZDsKCm9iaj17fTsKCi8vQ0hFQ0sjMQp0cnkgewogIG9iaiBpbnN0YW5jZW9mICBGQUNUT1JZOwogICRGQUlMKCcjMTogTyBpcyBub3QgYW4gb2JqZWN0LCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgCSRFUlJPUignIzEuMTogTyBpcyBub3QgYW4gb2JqZWN0LCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24nKTsKICB9Cn0KCgoKIH0KfSk7Cgo=","id":"S15.3.5.3_A2_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41LjNfQTJfVDUiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjNfQTJfVDUuanMiLAoKYXNzZXJ0aW9uOiAiQXNzdW1lIEYgaXMgYSBGdW5jdGlvbiBvYmplY3QuIFdoZW4gdGhlIFtbSGFzSW5zdGFuY2VdXSBtZXRob2Qgb2YiLAoKZGVzY3JpcHRpb246ICJGLnByb3RvdHlwZSBpcyB2b2lkIDAsIGFuZCBWIGlzIG5ldyBGIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBGQUNUT1JZID0gRnVuY3Rpb24oInRoaXMucHJvcD0xOyIpOwoKRkFDVE9SWS5wcm90b3R5cGUubmFtZSA9ICJmYWlyeSI7CgppbnN0YW5jZSA9IG5ldyBGQUNUT1JZOwoKRkFDVE9SWS5wcm90b3R5cGUgPSB2b2lkIDA7CgovLyBDSEVDSyMxCnRyeSB7CiAgaW5zdGFuY2UgaW5zdGFuY2VvZiBGQUNUT1JZOwogICRGQUlMKCcjMTogTyBpcyBub3QgYW4gb2JqZWN0LCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgICAkRVJST1IoJyMxLjE6IE8gaXMgbm90IGFuIG9iamVjdCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uJyk7CiAgfQp9CgovLyBDSEVDSyMyCmlmICgoaW5zdGFuY2UuY29uc3RydWN0b3IgIT09IEZBQ1RPUlkpIHx8IChpbnN0YW5jZS5uYW1lICE9PSAiZmFpcnkiKSkgewogICRFUlJPUignIzI6IGluc3RhbmNlLmNvbnN0cnVjdG9yID09PSBGQUNUT1JZJyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.5.3_A2_T5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41LjNfQTJfVDYiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjNfQTJfVDYuanMiLAoKYXNzZXJ0aW9uOiAiQXNzdW1lIEYgaXMgYSBGdW5jdGlvbiBvYmplY3QuIFdoZW4gdGhlIFtbSGFzSW5zdGFuY2VdXSBtZXRob2Qgb2YiLAoKZGVzY3JpcHRpb246ICJGLnByb3RvdHlwZSBpcyBzdHJpbmcsIGFuZCBWIGlzIGZ1bmN0aW9uIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBGQUNUT1JZID0gbmV3IEZ1bmN0aW9uOwoKRkFDVE9SWS5wcm90b3R5cGUgPSAiZXJyb3IiOwoKLy8gQ0hFQ0sjMQp0cnkgewogICggZnVuY3Rpb24oKSB7CiAgfSkgaW5zdGFuY2VvZiBGQUNUT1JZOwogICRGQUlMKCcjMTogTyBpcyBub3QgYW4gb2JqZWN0LCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgICAkRVJST1IoJyMxLjE6IE8gaXMgbm90IGFuIG9iamVjdCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uJyk7CiAgfQp9CgogfQp9KTsKCg==","id":"S15.3.5.3_A2_T6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41LjNfQTNfVDEiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjNfQTNfVDEuanMiLAoKYXNzZXJ0aW9uOiAiQXNzdW1lIEYgaXMgYSBGdW5jdGlvbiBvYmplY3QuIFdoZW4gdGhlIFtbSGFzSW5zdGFuY2VdXSBtZXRob2Qgb2YgRiBpcyBjYWxsZWQgd2l0aCB2YWx1ZSBWIGFuZCBWIGlzIGFuIG9iamVjdCwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IiwKCmRlc2NyaXB0aW9uOiAiRi5wcm90b3R5cGUudHlwZSBpcyAxLCBhbmQgViBpcyBuZXcgRiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgRkFDVE9SWSA9IEZ1bmN0aW9uKCJ0aGlzLm5hbWU9XCJyb290XCIiKTsKCkZBQ1RPUlkucHJvdG90eXBlLnR5cGU9MTsKCmluc3RhbmNlID0gbmV3IEZBQ1RPUlk7CgovL0NIRUNLIzEKaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBGQUNUT1JZKSkgewogICRFUlJPUignIzE6IElmIE8gYW5kIFYgcmVmZXIgdG8gdGhlIHNhbWUgb2JqZWN0IG9yIGlmIHRoZXkgcmVmZXIgdG8gb2JqZWN0cyBqb2luZWQgdG8gZWFjaCBvdGhlciAoMTMuMS4yKSwgcmV0dXJuIHRydWUnKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.5.3_A3_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41LjNfQTNfVDIiLAoKcGF0aDogIlRlc3RDYXNlcy8xNV9OYXRpdmUvMTUuM19GdW5jdGlvbl9PYmplY3RzLzE1LjMuNV9Qcm9wZXJ0aWVzX29mX0Z1bmN0aW9uX0luc3RhbmNlcy9TMTUuMy41LjNfQTNfVDIuanMiLAoKYXNzZXJ0aW9uOiAiQXNzdW1lIEYgaXMgYSBGdW5jdGlvbiBvYmplY3QuIFdoZW4gdGhlIFtbSGFzSW5zdGFuY2VdXSBtZXRob2Qgb2YgRiBpcyBjYWxsZWQgd2l0aCB2YWx1ZSBWIGFuZCBWIGlzIGFuIG9iamVjdCwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IiwKCmRlc2NyaXB0aW9uOiAiRi5wcm90b3R5cGUgaXMgT2JqZWN0LnByb3RvdHlwZSwgYW5kIFYgaXMgZW1wdHkgb2JqZWN0IiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBGQUtFRkFDVE9SWSA9IEZ1bmN0aW9uKCk7CgpmYWtlaW5zdGFuY2UgPSB7fTsKCi8vQ0hFQ0sjMQppZiAoZmFrZWluc3RhbmNlIGluc3RhbmNlb2YgRkFLRUZBQ1RPUlkpIHsKICAkRVJST1IoJyMxOiBJZiBPIGFuZCBWIHJlZmVyIHRvIHRoZSBzYW1lIG9iamVjdCBvciBpZiB0aGV5IHJlZmVyIHRvIG9iamVjdHMgam9pbmVkIHRvIGVhY2ggb3RoZXIgKDEzLjEuMiksIHJldHVybiB0cnVlJyk7Cn0KCkZBS0VGQUNUT1JZLnByb3RvdHlwZT1PYmplY3QucHJvdG90eXBlOwoKLy9DSEVDSyMyCmlmICghKGZha2VpbnN0YW5jZSBpbnN0YW5jZW9mIEZBS0VGQUNUT1JZKSkgewogICRFUlJPUignIzI6IElmIE8gYW5kIFYgcmVmZXIgdG8gdGhlIHNhbWUgb2JqZWN0IG9yIGlmIHRoZXkgcmVmZXIgdG8gb2JqZWN0cyBqb2luZWQgdG8gZWFjaCBvdGhlciAoMTMuMS4yKSwgcmV0dXJuIHRydWUnKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.5.3_A3_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41X0EyX1QxIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjVfUHJvcGVydGllc19vZl9GdW5jdGlvbl9JbnN0YW5jZXMvUzE1LjMuNV9BMl9UMS5qcyIsCgphc3NlcnRpb246ICJFdmVyeSBmdW5jdGlvbiBpbnN0YW5jZSBoYXMgYSBbW0NhbGxdXSBwcm9wZXJ0eSIsCgpkZXNjcmlwdGlvbjogIkZvciB0ZXN0aW5nIGNhbGwgRnVuY3Rpb24oXCJ2YXIgeCA9MTsgdGhpcy55PTI7cmV0dXJuIFxcXCJPS1xcXCI7XCIpKCkiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIC8vQ0hFQ0sjMQppZiAoRnVuY3Rpb24oInZhciB4ID0xOyB0aGlzLnk9MjtyZXR1cm4gXCJPS1wiOyIpKCkgIT09ICJPSyIpIHsKICAkRVJST1IoJyMxOiBFdmVyeSBmdW5jdGlvbiBpbnN0YW5jZSBoYXMgYSBbW0NhbGxdXSBwcm9wZXJ0eScpOwp9CgovL0NIRUNLIzIKaWYgKHR5cGVvZiB4ICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzI6IEV2ZXJ5IGZ1bmN0aW9uIGluc3RhbmNlIGhhcyBhIFtbQ2FsbF1dIHByb3BlcnR5Jyk7Cn0KCi8vQ0hFQ0sjMwppZiAoeSAhPT0gMikgewogICRFUlJPUignIzM6IEV2ZXJ5IGZ1bmN0aW9uIGluc3RhbmNlIGhhcyBhIFtbQ2FsbF1dIHByb3BlcnR5Jyk7Cn0KCiB9Cn0pOwoK","id":"S15.3.5_A2_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41X0EyX1QyIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjVfUHJvcGVydGllc19vZl9GdW5jdGlvbl9JbnN0YW5jZXMvUzE1LjMuNV9BMl9UMi5qcyIsCgphc3NlcnRpb246ICJFdmVyeSBmdW5jdGlvbiBpbnN0YW5jZSBoYXMgYSBbW0NhbGxdXSBwcm9wZXJ0eSIsCgpkZXNjcmlwdGlvbjogIkZvciB0ZXN0aW5nIGNhbGwgKG5ldyBGdW5jdGlvbihcImFyZzEsYXJnMlwiLFwidmFyIHggPWFyZzE7IHRoaXMueT1hcmcyO3JldHVybiBhcmcxK2FyZzI7XCIpKShcIjFcIiwyKSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgLy9DSEVDSyMxCmlmICgobmV3IEZ1bmN0aW9uKCJhcmcxLGFyZzIiLCJ2YXIgeCA9YXJnMTsgdGhpcy55PWFyZzI7cmV0dXJuIGFyZzErYXJnMjsiKSkoIjEiLDIpICE9PSAiMTIiKSB7CiAgJEVSUk9SKCcjMTogRXZlcnkgZnVuY3Rpb24gaW5zdGFuY2UgaGFzIGEgW1tDYWxsXV0gcHJvcGVydHknKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2YgeCAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMyOiBFdmVyeSBmdW5jdGlvbiBpbnN0YW5jZSBoYXMgYSBbW0NhbGxdXSBwcm9wZXJ0eScpOwp9CgovL0NIRUNLIzMKaWYgKHkgIT09IDIpIHsKICAkRVJST1IoJyMzOiBFdmVyeSBmdW5jdGlvbiBpbnN0YW5jZSBoYXMgYSBbW0NhbGxdXSBwcm9wZXJ0eScpOwp9CgogfQp9KTsKCg==","id":"S15.3.5_A2_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41X0EzX1QxIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjVfUHJvcGVydGllc19vZl9GdW5jdGlvbl9JbnN0YW5jZXMvUzE1LjMuNV9BM19UMS5qcyIsCgphc3NlcnRpb246ICJldmVyeSBmdW5jdGlvbiBpbnN0YW5jZSBoYXMgYSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5IiwKCmRlc2NyaXB0aW9uOiAiQXMgY29uc3RydWN0b3IgdXNlIEZ1bmN0aW9uKFwidmFyIHggPTE7IHRoaXMueT0yO3JldHVybiBcXFwiT0tcXFwiO1wiKSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgRkFDVE9SWSA9IEZ1bmN0aW9uKCJ2YXIgeCA9MTsgdGhpcy55PTI7cmV0dXJuIFwiT0tcIjsiKTsKb2JqID0gbmV3IEZBQ1RPUlk7CgovL0NIRUNLIzEKaWYgKHR5cGVvZiBvYmogIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogZXZlcnkgZnVuY3Rpb24gaW5zdGFuY2UgaGFzIGEgW1tDb25zdHJ1Y3RdXSBwcm9wZXJ0eScpOwp9CgovL0NIRUNLIzIKaWYgKG9iai5jb25zdHJ1Y3RvciAhPT0gRkFDVE9SWSkgewogICRFUlJPUignIzI6IGV2ZXJ5IGZ1bmN0aW9uIGluc3RhbmNlIGhhcyBhIFtbQ29uc3RydWN0XV0gcHJvcGVydHknKTsKfQoKLy9DSEVDSyMzCmlmIChvYmoueSAhPT0gMikgewogICRFUlJPUignIzM6IGV2ZXJ5IGZ1bmN0aW9uIGluc3RhbmNlIGhhcyBhIFtbQ29uc3RydWN0XV0gcHJvcGVydHknKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.5_A3_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTUuMy41X0EzX1QyIiwKCnBhdGg6ICJUZXN0Q2FzZXMvMTVfTmF0aXZlLzE1LjNfRnVuY3Rpb25fT2JqZWN0cy8xNS4zLjVfUHJvcGVydGllc19vZl9GdW5jdGlvbl9JbnN0YW5jZXMvUzE1LjMuNV9BM19UMi5qcyIsCgphc3NlcnRpb246ICJldmVyeSBmdW5jdGlvbiBpbnN0YW5jZSBoYXMgYSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5IiwKCmRlc2NyaXB0aW9uOiAiQXMgY29uc3RydWN0b3IgdXNlIG5ldyBGdW5jdGlvbihcImFyZzEsYXJnMlwiLFwidmFyIHggPTE7IHRoaXMueT1hcmcxK2FyZzI7cmV0dXJuIFxcXCJPS1xcXCI7XCIpIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBGQUNUT1JZID0gbmV3IEZ1bmN0aW9uKCJhcmcxLGFyZzIiLCJ2YXIgeCA9MTsgdGhpcy55PWFyZzErYXJnMjtyZXR1cm4gXCJPS1wiOyIpOwpvYmogPSBuZXcgRkFDVE9SWSgiMSIsMik7CgovL0NIRUNLIzEKaWYgKHR5cGVvZiBvYmogIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogZXZlcnkgZnVuY3Rpb24gaW5zdGFuY2UgaGFzIGEgW1tDb25zdHJ1Y3RdXSBwcm9wZXJ0eScpOwp9CgovL0NIRUNLIzIKaWYgKG9iai5jb25zdHJ1Y3RvciAhPT0gRkFDVE9SWSkgewogICRFUlJPUignIzI6IGV2ZXJ5IGZ1bmN0aW9uIGluc3RhbmNlIGhhcyBhIFtbQ29uc3RydWN0XV0gcHJvcGVydHknKTsKfQoKLy9DSEVDSyMzCmlmIChvYmoueSAhPT0gIjEyIikgewogICRFUlJPUignIzM6IGV2ZXJ5IGZ1bmN0aW9uIGluc3RhbmNlIGhhcyBhIFtbQ29uc3RydWN0XV0gcHJvcGVydHknKTsKfQoKIH0KfSk7Cgo=","id":"S15.3.5_A3_T2"}]}} \ No newline at end of file diff --git a/website/resources/scripts/testcases/SputnikGlobalScope.js b/website/resources/scripts/testcases/SputnikGlobalScope.js index 2d7dc03833..dfc6f1f6f3 100644 --- a/website/resources/scripts/testcases/SputnikGlobalScope.js +++ b/website/resources/scripts/testcases/SputnikGlobalScope.js @@ -238,6 +238,7 @@ GlobalScopeTests["S12.14_A16_T6"]={"assertion":"TryStatement: \"try Block Catch\ GlobalScopeTests["S12.14_A16_T7"]={"assertion":"TryStatement: \"try Block Catch\" or \"try Block Finally\" or \"try Block Catch Finally\"","description":"Block: \"{ StatementList }\". Checking if execution of \"try{} catch(){\" fails","id":"S12.14_A16_T7","path":"12_Statement\\12.14_The_try_Statement\\S12.14_A16_T7.js","negative":"."}; GlobalScopeTests["S12.14_A16_T8"]={"assertion":"TryStatement: \"try Block Catch\" or \"try Block Finally\" or \"try Block Catch Finally\"","description":"Block: \"{ StatementList }\". Catch: \"catch (Identifier ) Block\". Checking if execution of \"try{} catch(){finally{}\" fails","id":"S12.14_A16_T8","path":"12_Statement\\12.14_The_try_Statement\\S12.14_A16_T8.js","negative":"."}; GlobalScopeTests["S12.14_A16_T9"]={"assertion":"TryStatement: \"try Block Catch\" or \"try Block Finally\" or \"try Block Catch Finally\"","description":"Checking if execution of \"catch(){} finally{}\" fails","id":"S12.14_A16_T9","path":"12_Statement\\12.14_The_try_Statement\\S12.14_A16_T9.js","negative":"."}; +GlobalScopeTests["S12.1_A1"]={"assertion":"The production Block { } in strict code can't contain function declaration","description":"Trying to declare function at the Block statement","id":"S12.1_A1","path":"12_Statement\\12.1_Block\\S12.1_A1.js","negative":"."}; GlobalScopeTests["S12.1_A4_T1"]={"assertion":"The production Block can't be inside of expression","description":"Checking if execution of \"y={__func}()\" fails","id":"S12.1_A4_T1","path":"12_Statement\\12.1_Block\\S12.1_A4_T1.js","negative":"."}; GlobalScopeTests["S12.1_A4_T2"]={"assertion":"The production Block can't be inside of expression","description":"Checking if execution of \"y={x}\" fails","id":"S12.1_A4_T2","path":"12_Statement\\12.1_Block\\S12.1_A4_T2.js","negative":"."}; GlobalScopeTests["S12.2_A8_T1"]={"assertion":"Only AssignmentExpression is admitted when variable is initialized","description":"Checking if execution of \"var x += 1\" fails","id":"S12.2_A8_T1","path":"12_Statement\\12.2_Variable_Statement\\S12.2_A8_T1.js","negative":"."}; @@ -254,8 +255,12 @@ GlobalScopeTests["S12.5_A2"]={"assertion":"In the \"if\" Statement eval in Expre GlobalScopeTests["S12.5_A6_T1"]={"assertion":"In the If statement expression must be enclosed in braces","description":"Checking if execution of \"if true\" fails","id":"S12.5_A6_T1","path":"12_Statement\\12.5_The_if_Statement\\S12.5_A6_T1.js","negative":"."}; GlobalScopeTests["S12.5_A6_T2"]={"assertion":"In the If statement expression must be enclosed in braces","description":"Checking if execution of \"if false\" fails","id":"S12.5_A6_T2","path":"12_Statement\\12.5_The_if_Statement\\S12.5_A6_T2.js","negative":"."}; GlobalScopeTests["S12.5_A8"]={"assertion":"In the \"if\" Statement empty expression is not allowed","description":"Checking if execution of \"if()\" fails","id":"S12.5_A8","path":"12_Statement\\12.5_The_if_Statement\\S12.5_A8.js","negative":"."}; +GlobalScopeTests["S12.5_A9_T1"]={"assertion":"Function declaration within an \"if\" statement in strict code is not allowed","description":"Declaring function within an \"if\" statement","id":"S12.5_A9_T1","path":"12_Statement\\12.5_The_if_Statement\\S12.5_A9_T1.js","negative":"."}; +GlobalScopeTests["S12.5_A9_T2"]={"assertion":"Function declaration within an \"if\" statement in strict code is not allowed","description":"Declaring function within an \"if\" that is declared within the strict function","id":"S12.5_A9_T2","path":"12_Statement\\12.5_The_if_Statement\\S12.5_A9_T2.js","negative":"."}; GlobalScopeTests["S12.5_A9_T3"]={"assertion":"Function declaration within an \"if\" statement is not allowed","description":"Declaring function within an \"if\" statement that is declared within the function declaration","id":"S12.5_A9_T3","path":"12_Statement\\12.5_The_if_Statement\\S12.5_A9_T3.js","negative":"."}; GlobalScopeTests["S12.6.1_A12"]={"assertion":"Any statement within \"do-while\" construction must be a compound","description":"Checking if execution of \"do var x=1; var y =2; while (0)\" fails","id":"S12.6.1_A12","path":"12_Statement\\12.6_Iteration_Statements\\12.6.1_The_do_while_Statement\\S12.6.1_A12.js","negative":"."}; +GlobalScopeTests["S12.6.1_A13_T1"]={"assertion":"FunctionDeclaration within a \"do-while\" Block in strict code is not allowed","description":"Declaring function within a \"do-while\" loop","id":"S12.6.1_A13_T1","path":"12_Statement\\12.6_Iteration_Statements\\12.6.1_The_do_while_Statement\\S12.6.1_A13_T1.js","negative":"."}; +GlobalScopeTests["S12.6.1_A13_T2"]={"assertion":"FunctionDeclaration within a \"do-while\" Block in strict code is not allowed","description":"Declaring a function within a \"do-while\" loop that is within a strict function","id":"S12.6.1_A13_T2","path":"12_Statement\\12.6_Iteration_Statements\\12.6.1_The_do_while_Statement\\S12.6.1_A13_T2.js","negative":"."}; GlobalScopeTests["S12.6.1_A13_T3"]={"assertion":"FunctionDeclaration within a \"do-while\" Block is not allowed","description":"Declaring a function within a \"do-while\" loop that is within a function declaration itself","id":"S12.6.1_A13_T3","path":"12_Statement\\12.6_Iteration_Statements\\12.6.1_The_do_while_Statement\\S12.6.1_A13_T3.js","negative":"."}; GlobalScopeTests["S12.6.1_A15"]={"assertion":"Block within a \"do-while\" Expression is not allowed","description":"Using \"{0}\" Block as an Expression","id":"S12.6.1_A15","path":"12_Statement\\12.6_Iteration_Statements\\12.6.1_The_do_while_Statement\\S12.6.1_A15.js","negative":"."}; GlobalScopeTests["S12.6.1_A6_T1"]={"assertion":"Expression in \"do-while\" IterationStatement is bracketed with braces","description":"Checking if execution of \"do{} while 1\" fails","id":"S12.6.1_A6_T1","path":"12_Statement\\12.6_Iteration_Statements\\12.6.1_The_do_while_Statement\\S12.6.1_A6_T1.js","negative":"."}; @@ -342,4 +347,20 @@ GlobalScopeTests["S15.2.4.5_A13"]={"assertion":"Let O be the result of calling T GlobalScopeTests["S15.2.4.6_A12"]={"assertion":"Let O be the result of calling ToObject passing the this value as the argument.","description":"","id":"S15.2.4.6_A12","path":"15_Native\\15.2_Object_Objects\\15.2.4_Properties_of_the_Object_Prototype_Object\\15.2.4.6_Object.prototype.isPrototypeOf\\S15.2.4.6_A12.js","negative":"."}; GlobalScopeTests["S15.2.4.6_A13"]={"assertion":"Let O be the result of calling ToObject passing the this value as the argument.","description":"","id":"S15.2.4.6_A13","path":"15_Native\\15.2_Object_Objects\\15.2.4_Properties_of_the_Object_Prototype_Object\\15.2.4.6_Object.prototype.isPrototypeOf\\S15.2.4.6_A13.js","negative":"."}; GlobalScopeTests["S15.2.4.7_A12"]={"assertion":"Let O be the result of calling ToObject passing the this value as the argument.","description":"","id":"S15.2.4.7_A12","path":"15_Native\\15.2_Object_Objects\\15.2.4_Properties_of_the_Object_Prototype_Object\\15.2.4.7_Object.prototype.propertyIsEnumerable\\S15.2.4.7_A12.js","negative":"."}; -GlobalScopeTests["S15.2.4.7_A13"]={"assertion":"Let O be the result of calling ToObject passing the this value as the argument.","description":"","id":"S15.2.4.7_A13","path":"15_Native\\15.2_Object_Objects\\15.2.4_Properties_of_the_Object_Prototype_Object\\15.2.4.7_Object.prototype.propertyIsEnumerable\\S15.2.4.7_A13.js","negative":"."}; \ No newline at end of file +GlobalScopeTests["S15.2.4.7_A13"]={"assertion":"Let O be the result of calling ToObject passing the this value as the argument.","description":"","id":"S15.2.4.7_A13","path":"15_Native\\15.2_Object_Objects\\15.2.4_Properties_of_the_Object_Prototype_Object\\15.2.4.7_Object.prototype.propertyIsEnumerable\\S15.2.4.7_A13.js","negative":"."}; +GlobalScopeTests["S15.3.4.2_A12"]={"assertion":"The Function.prototype.toString function is not generic; it throws a TypeError exception if its this value is not a Function object.","description":"","id":"S15.3.4.2_A12","path":"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","negative":"."}; +GlobalScopeTests["S15.3.4.2_A13"]={"assertion":"The toString function is not generic; it throws a TypeError exception if its this value is not a Function object.","description":"","id":"S15.3.4.2_A13","path":"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","negative":"."}; +GlobalScopeTests["S15.3.4.2_A14"]={"assertion":"The toString function is not generic; it throws a TypeError exception if its this value is not a Function object.","description":"","id":"S15.3.4.2_A14","path":"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","negative":"."}; +GlobalScopeTests["S15.3.4.2_A15"]={"assertion":"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.","id":"S15.3.4.2_A15","path":"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","negative":"."}; +GlobalScopeTests["S15.3.4.2_A16"]={"assertion":"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.","id":"S15.3.4.2_A16","path":"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","negative":"."}; +GlobalScopeTests["S15.3.4.3_A13"]={"assertion":"If IsCallable(func) is false, then throw a TypeError exception.","description":"","id":"S15.3.4.3_A13","path":"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","negative":"."}; +GlobalScopeTests["S15.3.4.3_A14"]={"assertion":"If IsCallable(func) is false, then throw a TypeError exception.","description":"","id":"S15.3.4.3_A14","path":"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","negative":"."}; +GlobalScopeTests["S15.3.4.3_A15"]={"assertion":"If IsCallable(func) is false, then throw a TypeError exception.","description":"","id":"S15.3.4.3_A15","path":"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","negative":"."}; +GlobalScopeTests["S15.3.4.4_A13"]={"assertion":"If IsCallable(func) is false, then throw a TypeError exception.","description":"","id":"S15.3.4.4_A13","path":"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","negative":"."}; +GlobalScopeTests["S15.3.4.4_A14"]={"assertion":"If IsCallable(func) is false, then throw a TypeError exception.","description":"","id":"S15.3.4.4_A14","path":"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","negative":"."}; +GlobalScopeTests["S15.3.4.4_A15"]={"assertion":"If IsCallable(func) is false, then throw a TypeError exception.","description":"","id":"S15.3.4.4_A15","path":"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","negative":"."}; +GlobalScopeTests["S15.3.4.5_A1"]={"assertion":"\"caller\" of bound function is poisoned (step 20)","description":"","id":"S15.3.4.5_A1","path":"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","negative":"."}; +GlobalScopeTests["S15.3.4.5_A13"]={"assertion":"If IsCallable(func) is false, then throw a TypeError exception.","description":"","id":"S15.3.4.5_A13","path":"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","negative":"."}; +GlobalScopeTests["S15.3.4.5_A14"]={"assertion":"If IsCallable(func) is false, then throw a TypeError exception.","description":"","id":"S15.3.4.5_A14","path":"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","negative":"."}; +GlobalScopeTests["S15.3.4.5_A15"]={"assertion":"If IsCallable(func) is false, then throw a TypeError exception.","description":"","id":"S15.3.4.5_A15","path":"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","negative":"."}; +GlobalScopeTests["S15.3.4.5_A2"]={"assertion":"\"arguments\" of bound function is poisoned (step 21)","description":"","id":"S15.3.4.5_A2","path":"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","negative":"."}; \ No newline at end of file