@seanox/aspect-js
Version:
full stack JavaScript framework for SPAs incl. reactivity rendering, mvc / mvvm, models, expression language, datasource, routing, paths, unit test and some more
242 lines (228 loc) • 32.9 kB
HTML
<!DOCTYPE HTML>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Seanox aspect-js test environment</title>
<style>
body {
font-family: monospace;
white-space: pre;
}
</style>
<script src="aspect-js.js"></script>
<script src="expression.js"></script>
<script type="text/javascript">
Test.activate();
const TestModel_1 = {
field_1: "f1",
field_2: "f2",
method_1() {
return "m1";
},
method_2(value_1) {
return "m2" + value_1;
},
get field_3() {
return "f3";
},
get field_11() {
return [{x:{y:"f11[0]->x->y"}}];
},
get field_12() {
return [{x:[{y:"f12[0]->x->y"}]}];
}
};
// 1: Blink 30 | 60 i5-1240P
// 2: Blink 25 | 25 i5-1240P
// 3: Blink 30 | 30 i5-1240P
// 1: WebKit -- | 100 iPad Gen 10
// 2: WebKit -- | 65 iPad Gen 10
// 3: WebKit -- | 65 iPad Gen 10
// 1: goanna -- | 90 i5-1240P
// 2: goanna -- | 100 i5-1240P
// 3: goanna -- | 300 i5-1240P
// 1: Gecko -- | 75 i5-1240P
// 2: Gecko -- | 25 i5-1240P
// 3: Gecko -- | 55 i5-1240P
const timing = Date.now();
Composite.listen(Composite.EVENT_RENDER_END, function() {
if (Test.status().queue !== undefined)
return;
let timeout1;
let timeout2;
let timeout3;
if (navigator.engine === "blink") {
timeout1 = 75;
timeout2 = 30;
timeout3 = 50;
}
if (navigator.engine === "webkit") {
timeout1 = 115;
timeout2 = 75;
timeout3 = 75;
}
if (navigator.engine === "goanna") {
timeout1 = 115;
timeout2 = 125;
timeout3 = 350;
}
if (navigator.engine === "gecko") {
timeout1 = 75;
timeout2 = 50;
timeout3 = 75;
}
Test.create({test() {
console.log(`Benchmark 1: ${Date.now() -timing}ms`);
Assert.assertTrue((Date.now() -timing) < timeout1);
}});
Test.create({timeout:timeout2, test() {
const timing = Date.now();
let expression = document.querySelector("script[type='text/expression']");
expression = expression.innerHTML;
for (let loop = 0; loop < 2500; loop++)
Assert.assertEquals(" A:f11[0]->x->y B:12 C:4 D:1[0]", Expression.eval(expression));
console.log(`Benchmark 2: ${Date.now() -timing}ms`);
}});
Test.create({timeout:timeout3, test() {
const timing = Date.now();
let expression = document.querySelector("script[type='text/expression']");
expression = expression.innerHTML;
for (let loop = 0; loop < 25000; loop++)
Assert.assertEquals(" A:f11[0]->x->y B:12 C:4 D:1[0]", Expression.eval("ceb_1", expression));
console.log(`Benchmark 3: ${Date.now() -timing}ms`);
}});
Test.start();
});
</script>
<script type="text/expression">
{{
' A:' + TestModel_1.field_11[0].x.y
+ ' B:' + (TestModel_1.field_11[0].x.y).length
+ ' C:' + (TestModel_1.field_11[0].x.y).length /3
+ ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6)
}}
</script>
</head>
<body>
{{
' A:' + TestModel_1.field_11[0].x.y
+ ' B:' + (TestModel_1.field_11[0].x.y).length
+ ' C:' + (TestModel_1.field_11[0].x.y).length /3
+ ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);
}}
{{
' A:' + TestModel_1.field_11[0].x.y
+ ' B:' + (TestModel_1.field_11[0].x.y).length
+ ' C:' + (TestModel_1.field_11[0].x.y).length /3
+ ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);
}}
{{
' A:' + TestModel_1.field_11[0].x.y
+ ' B:' + (TestModel_1.field_11[0].x.y).length
+ ' C:' + (TestModel_1.field_11[0].x.y).length /3
+ ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);
}}
{{
' A:' + TestModel_1.field_11[0].x.y
+ ' B:' + (TestModel_1.field_11[0].x.y).length
+ ' C:' + (TestModel_1.field_11[0].x.y).length /3
+ ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);
}}
{{
' A:' + TestModel_1.field_11[0].x.y
+ ' B:' + (TestModel_1.field_11[0].x.y).length
+ ' C:' + (TestModel_1.field_11[0].x.y).length /3
+ ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);
}}
{{
' A:' + TestModel_1.field_11[0].x.y
+ ' B:' + (TestModel_1.field_11[0].x.y).length
+ ' C:' + (TestModel_1.field_11[0].x.y).length /3
+ ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);
}}
{{
' A:' + TestModel_1.field_11[0].x.y
+ ' B:' + (TestModel_1.field_11[0].x.y).length
+ ' C:' + (TestModel_1.field_11[0].x.y).length /3
+ ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);
}}
{{
' A:' + TestModel_1.field_11[0].x.y
+ ' B:' + (TestModel_1.field_11[0].x.y).length
+ ' C:' + (TestModel_1.field_11[0].x.y).length /3
+ ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);
}}
{{
' A:' + TestModel_1.field_11[0].x.y
+ ' B:' + (TestModel_1.field_11[0].x.y).length
+ ' C:' + (TestModel_1.field_11[0].x.y).length /3
+ ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);
}}
{{
' A:' + TestModel_1.field_11[0].x.y
+ ' B:' + (TestModel_1.field_11[0].x.y).length
+ ' C:' + (TestModel_1.field_11[0].x.y).length /3
+ ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);
}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}
</body>
</html>