mol_crypto_lib 0.0.151 → 0.0.152

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/web.test.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../fail/fail.ts","../../../fail/hidden/hidden.ts","../../../test/test.test.ts","../../../test/test.web.test.ts","../../../dom/context/context.ts","../../../dom/context/context.web.ts","../../../dom/render/children/children.ts","../../../type/error/error.js","../../../type/assert/assert.test.js","../../../type/assert/assert.js","../../../type/partial/deep/deep.test.js","../../../type/partial/deep/deep.js","../../../jsx/jsx.test.tsx","../../../jsx/jsx.ts","../../../compare/deep/deep.test.tsx","../../../compare/deep/deep.ts","../../../assert/assert.test.ts","../../../assert/assert.ts","../../secret/secret.test.ts","../../cipher/cipher.test.ts","../../auditor/auditor.test.ts","../../../log3/log3.ts","../../../type/keys/extract/extract.test.js","../../../type/keys/extract/extract.js","../../../log3/log3.test.ts","../../../log3/log3.web.ts","../../../type/equals/equals.test.js","../../../type/equals/equals.js","../../../diff/path/path.test.ts","../../../diff/path/path.ts","../../../error/mix/mix.ts"],"names":[],"mappings":"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","file":"web.test.js","sourcesContent":["namespace $ {\n\n\texport function $mol_fail( error : any ) : never {\n\t\tthrow error\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_fail_hidden( error : any ) : never {\n\t\tthrow error /// Use 'Never Pause Here' breakpoint in DevTools or simply blackbox this script\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_test( set : { [ name : string ] : string | ( ( context : $ )=> void ) } ) {\n\t\t\n\t\tfor( let name in set ) {\n\n\t\t\tconst code = set[ name ]\n\t\t\tconst test = ( typeof code === 'string' ) ? new Function( '' , code ) as ()=> void : code\n\t\t\t\n\t\t\t$mol_test_all.push( test )\n\t\t}\n\n\t\t$mol_test_schedule()\n\t}\n\n\texport let $mol_test_mocks = [] as Array< ( context : $ )=> void >\n\n\texport const $mol_test_all = [] as Array< ( context : $ )=> void >\n\n\texport async function $mol_test_run() {\n\n\t\tfor( var test of $mol_test_all ) {\n\n\t\t\tlet context = Object.create( $$ )\n\t\t\tfor( let mock of $mol_test_mocks ) await mock( context )\n\t\t\t\n\t\t\tawait test( context )\n\t\t}\n\t\t\n\t\t$$.$mol_log3_done({\n\t\t\tplace: '$mol_test',\n\t\t\tmessage: 'All tests passed',\n\t\t\tcount: $mol_test_all.length,\n\t\t})\n\t\t\n\t}\n\t\n\tlet scheduled = false\n\texport function $mol_test_schedule() {\n\n\t\tif( scheduled ) return\n\t\tscheduled = true\n\n\t\tsetTimeout( async ()=> {\n\t\t\t\n\t\t\tscheduled = false\n \t\t\t\n\t\t\ttry {\n\t\t\t\tawait $mol_test_run()\n\t\t\t} finally {\n\t\t\t\t$$.$mol_test_complete()\n\t\t\t}\n\t\t\t\n\t\t} , 0 )\n\t\t\n\t}\n\n\t$mol_test_mocks.push( context => {\n\t\tlet seed = 0\n\n\t\tcontext.Math = Object.create( Math )\n\t\tcontext.Math.random = ()=> Math.sin( seed++ )\n\n\t\tconst forbidden = [ 'XMLHttpRequest' , 'fetch' ]\n\n\t\tfor( let api of forbidden ) {\n\t\t\tcontext[ api ] = new Proxy( function(){} , {\n\t\t\t\tget() {\n\t\t\t\t\t$mol_fail_hidden( new Error( `${ api } is forbidden in tests` ) )\n\t\t\t\t} ,\n\t\t\t\tapply() {\n\t\t\t\t\t$mol_fail_hidden( new Error( `${ api } is forbidden in tests` ) )\n\t\t\t\t} ,\n\t\t\t} )\n\t\t}\n\t\t\n\t} )\n\n\t$mol_test({\n\n\t\t'mocked Math.random'( $ ) {\n\t\t\tconsole.assert( $.Math.random() === 0 )\n\t\t\tconsole.assert( $.Math.random() === Math.sin(1) )\n\t\t} ,\n\n\t\t'forbidden XMLHttpRequest'( $ ) {\n\t\t\ttry {\n\t\t\t\tconsole.assert( void new $.XMLHttpRequest )\n\t\t\t} catch( error: any ) {\n\t\t\t\tconsole.assert( error.message === 'XMLHttpRequest is forbidden in tests' )\n\t\t\t}\n\t\t} ,\n\n\t\t'forbidden fetch'( $ ) {\n\t\t\ttry {\n\t\t\t\tconsole.assert( void $.fetch('') )\n\t\t\t} catch( error: any ) {\n\t\t\t\tconsole.assert( error.message === 'fetch is forbidden in tests' )\n\t\t\t}\n\t\t} ,\n\n\t})\n\n}\n","namespace $ {\n\t\n\texport function $mol_test_complete() {\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport var $mol_dom_context : typeof globalThis\n\t\n}\n","namespace $ {\n\t\n\t$mol_dom_context = self as any\n\t\n}\n","namespace $ {\n\n\texport function $mol_dom_render_children (\n\t\tel : Element | DocumentFragment ,\n\t\tchildNodes : NodeList | Array< Node | string | null >\n\t) {\n\t\tconst node_set = new Set< Node | string | null >( childNodes )\n\t\t\n\t\tlet nextNode : Node | null = el.firstChild\n\t\tfor( let view of childNodes ) {\n\n\t\t\tif( view == null ) continue\n\n\t\t\tif( view instanceof $mol_dom_context.Node ) {\n\t\t\t\t\n\t\t\t\twhile( true ) {\n\t\t\t\t\tif( !nextNode ) {\n\t\t\t\t\t\tel.appendChild( view )\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tif( nextNode == view ) {\n\t\t\t\t\t\tnextNode = nextNode.nextSibling\n\t\t\t\t\t\tbreak\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif( node_set.has( nextNode ) ) {\n\t\t\t\t\t\t\tel.insertBefore( view , nextNode )\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst nn = nextNode.nextSibling\n\t\t\t\t\t\t\tel.removeChild( nextNode )\n\t\t\t\t\t\t\tnextNode = nn\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\tif( nextNode && nextNode.nodeName === '#text' ) {\n\t\t\t\t\tconst str = String( view )\n\t\t\t\t\tif( nextNode.nodeValue !== str ) nextNode.nodeValue = str\n\t\t\t\t\tnextNode = nextNode.nextSibling\n\t\t\t\t} else {\n\t\t\t\t\tconst textNode = $mol_dom_context.document.createTextNode( String( view ) )\n\t\t\t\t\tel.insertBefore( textNode , nextNode )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\twhile( nextNode ) {\n\t\t\tconst currNode = nextNode\n\t\t\tnextNode = currNode.nextSibling\n\t\t\tel.removeChild( currNode )\n\t\t}\n\t}\n\n}\n",null,null,null,null,null,"/** @jsx $mol_jsx */\nnamespace $ {\n\t\n\t$mol_test({\n\t\t\n\t\t'Make empty div'() {\n\t\t\t$mol_assert_equal( (<div/>).outerHTML , '<div></div>' )\n\t\t} ,\n\t\t\n\t\t'Define native field'() {\n\t\t\t\n\t\t\tconst dom = <input value='123' /> as HTMLInputElement\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML , '<input value=\"123\">' )\n\t\t\t$mol_assert_equal( dom.value , '123' )\n\n\t\t} ,\n\t\t\n\t\t'Define classes'() {\n\t\t\t\n\t\t\tconst dom = <div class={ 'foo bar' } />\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML , '<div class=\"foo bar\"></div>' )\n\n\t\t} ,\n\t\t\n\t\t'Define styles'() {\n\t\t\t\n\t\t\tconst dom = <div style={{ color : 'red' }} />\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML , '<div style=\"color: red;\"></div>' )\n\n\t\t} ,\n\t\t\n\t\t'Define dataset'() {\n\t\t\t\n\t\t\tconst dom = <div dataset={{ foo : 'bar' }} />\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML , '<div data-foo=\"bar\"></div>' )\n\n\t\t} ,\n\t\t\n\t\t'Define attributes'() {\n\t\t\t\n\t\t\tconst dom = <div lang=\"ru\" hidden />\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML , '<div lang=\"ru\" hidden=\"\"></div>' )\n\n\t\t} ,\n\t\t\n\t\t'Define child nodes'() {\n\n\t\t\tconst dom =\n\t\t\t\t<div>\n\t\t\t\t\thello\n\t\t\t\t\t<strong>world</strong>\n\t\t\t\t\t!\n\t\t\t\t</div>\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML , '<div>hello<strong>world</strong>!</div>' )\n\n\t\t} ,\n\n\t\t'Function as component'() {\n\n\t\t\tconst Button = ( { hint } : { hint : string } , target : ()=> string ) => {\n\t\t\t\treturn <button title={ hint } >{ target() }</button>\n\t\t\t}\n\n\t\t\tconst dom = <Button id=\"/foo\" hint=\"click me\">{ ()=> 'hey!' }</Button>\n\n\t\t\t$mol_assert_equal( dom.outerHTML , '<button title=\"click me\" id=\"/foo\">hey!</button>' )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t// 'Standart classes as component'() {\n\n\t\t// \tconst dom = <HTMLButtonElement id=\"/foo\" title=\"click me\">hey!</HTMLButtonElement>\n\n\t\t// \t$mol_assert_equal( dom.outerHTML , '<button title=\"click me\" id=\"/foo\">hey!</button>' )\n\t\t\t\n\t\t// } ,\n\t\t\n\t\t'Nested guid generation'() {\n\n\t\t\tconst Foo = ()=> {\n\t\t\t\treturn <div>\n\t\t\t\t\t<Bar id=\"/bar\">\n\t\t\t\t\t\t<img id=\"/icon\" />\n\t\t\t\t\t</Bar>\n\t\t\t\t</div>\n\t\t\t}\n\n\t\t\tconst Bar = ( props : {} , icon : Element )=> {\n\t\t\t\treturn <span>{ icon }</span>\n\t\t\t}\n\n\t\t\tconst dom = <Foo id=\"/foo\" />\n\n\t\t\t$mol_assert_equal( dom.outerHTML , '<div id=\"/foo\"><span id=\"/foo/bar\"><img id=\"/foo/icon\"></span></div>' )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'Fail on non unique ids'() {\n\n\t\t\tconst App = ()=> {\n\t\t\t\treturn <div>\n\t\t\t\t\t<span id=\"/bar\" />\n\t\t\t\t\t<span id=\"/bar\" />\n\t\t\t\t</div>\n\t\t\t}\n\n\t\t\t$mol_assert_fail( ()=> <App id=\"/foo\" /> , 'JSX already has tag with id \"/bar\"' )\n\t\t\t\n\t\t} ,\n\t\t\n\t})\n\t\n}\n","namespace $ {\n\n\texport let $mol_jsx_prefix = ''\n\n\texport let $mol_jsx_booked = null as null | Set< string >\n\t\n\texport let $mol_jsx_document : $mol_jsx.JSX.ElementClass['ownerDocument'] = {\n\t\tgetElementById : ()=> null ,\n\t\tcreateElementNS : ( space: string, name : string )=> $mol_dom_context.document.createElementNS( space, name ) as any,\n\t\tcreateDocumentFragment : ()=> $mol_dom_context.document.createDocumentFragment(),\n\t}\n\t\n\texport const $mol_jsx_frag = ''\n\n\texport function $mol_jsx<\n\t\tProps extends $mol_jsx.JSX.IntrinsicAttributes,\n\t\tChildren extends Array< Node | string >\n\t>(\n\t\tElem : string\n\t\t\t| ( ( props : Props , ... children : Children ) => Element ) ,\n\t\tprops : Props ,\n\t\t... childNodes : Children\n\t) : Element | DocumentFragment {\n\n\t\tconst id = props && props.id || ''\n\n\t\tif( Elem && $mol_jsx_booked ) {\n\t\t\tif( $mol_jsx_booked.has( id ) ) {\n\t\t\t\t$mol_fail( new Error( `JSX already has tag with id ${ JSON.stringify( id ) }` ) )\n\t\t\t} else {\n\t\t\t\t$mol_jsx_booked.add( id )\n\t\t\t}\n\t\t}\n\n\t\tconst guid = $mol_jsx_prefix + id\n\n\t\tlet node: Element | DocumentFragment | null = guid ? $mol_jsx_document.getElementById( guid ) : null\n\n\t\tif( typeof Elem !== 'string' ) {\n\n\t\t\tif( 'prototype' in Elem ) {\n\n\t\t\t\tconst view = node && node[ Elem as any ] || new ( Elem as any )\n\t\t\t\t\n\t\t\t\tObject.assign( view , props )\n\t\t\t\tview[ Symbol.toStringTag ] = guid\n\t\t\t\t\n\t\t\t\tview.childNodes = childNodes\n\t\t\t\t\n\t\t\t\tif( !view.ownerDocument ) view.ownerDocument = $mol_jsx_document\n\t\t\t\t\n\t\t\t\tnode = view.valueOf()\n\t\t\t\t\n\t\t\t\tnode![ Elem as any ] = view\n\t\t\t\t\n\t\t\t\treturn node!\n\n\t\t\t} else {\n\n\t\t\t\tconst prefix = $mol_jsx_prefix\n\t\t\t\tconst booked = $mol_jsx_booked\n\t\t\t\t\n\t\t\t\ttry {\n\t\n\t\t\t\t\t$mol_jsx_prefix = guid\n\t\t\t\t\t$mol_jsx_booked = new Set\n\t\n\t\t\t\t\treturn ( Elem as any )( props , ... childNodes )\n\t\t\t\t\t\n\t\t\t\t} finally {\n\n\t\t\t\t\t$mol_jsx_prefix = prefix\n\t\t\t\t\t$mol_jsx_booked = booked\n\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\n\t\tif( !node ) {\n\t\t\tnode = Elem\n\t\t\t\t? $mol_jsx_document.createElementNS( props?.xmlns ?? 'http://www.w3.org/1999/xhtml', Elem )\n\t\t\t\t: $mol_jsx_document.createDocumentFragment()\n\t\t}\n\n\t\t$mol_dom_render_children( node , ( [] as ( Node | string )[] ).concat( ... childNodes ) )\n\t\tif( !Elem ) return node\n\n\t\tfor( const key in props ) {\n\n\t\t\tif( typeof props[ key ] === 'string' ) {\n\n\t\t\t\t;( node as Element ).setAttribute( key , props[ key as any ] )\n\n\t\t\t} else if(\n\t\t\t\tprops[ key ] &&\n\t\t\t\ttypeof props[ key ] === 'object' &&\n\t\t\t\tReflect.getPrototypeOf( props[ key ] as any ) === Reflect.getPrototypeOf({})\n\t\t\t) {\n\n\t\t\t\tif( typeof node[ key as any ] === 'object' ) {\n\t\t\t\t\tObject.assign( ( node as any )[ key ] , props[ key ] )\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\n\t\t\t} else {\n\n\t\t\t\tnode[ key as any ] = props[ key ]\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\n\t\tif( guid ) ( node as Element ).id = guid\n\n\t\treturn node\n\n\t}\n\n\texport declare namespace $mol_jsx.JSX {\n\n\t\texport interface Element extends HTMLElement {\n\t\t\tclass?: string\n\t\t}\n\t\t\n\t\texport interface ElementClass {\n\t\t\tattributes : {}\n\t\t\townerDocument : Pick< Document , 'getElementById' | 'createElementNS' | 'createDocumentFragment' >\n\t\t\tchildNodes : Array< Node | string >\n\t\t\tvalueOf() : Element\n\t\t}\n\t\t\n\t\ttype OrString< Dict > = {\n\t\t\t[ key in keyof Dict ]: Dict[ key ] | string\n\t\t}\n\t\t\n\t\t/** Props for html elements */\n\t\texport type IntrinsicElements = {\n\t\t\t[ key in keyof ElementTagNameMap ]? : $.$mol_type_partial_deep< OrString<\n\t\t\t\t& Element\n\t\t\t\t& IntrinsicAttributes\n\t\t\t\t& ElementTagNameMap[ key ]\n\t\t\t> >\n\t\t}\n\t\t\n\t\t/** Additional undeclared props */\n\t\texport interface IntrinsicAttributes {\n\t\t\tid? : string\n\t\t\txmlns? : string\n\t\t}\n\t\t\n\t\texport interface ElementAttributesProperty {\n\t\t\tattributes : {\n\t\t\t}\n\t\t}\n\t\t\n\t\t// export type IntrinsicClassAttributes< Class > = $.$mol_type_partial_deep< Omit< Class , 'valueOf' > >\n\t\t\n\t\tinterface ElementChildrenAttribute {\n\t\t}\n\t\n\t}\n\n}\n","/** @jsx $mol_jsx */\nnamespace $ {\n\n\t$mol_test({\n\n\t\t'nulls & undefineds'() {\n\n\t\t\t$mol_assert_ok( $mol_compare_deep( null , null ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( undefined , undefined ) )\n\t\t\t\n\t\t\t$mol_assert_not( $mol_compare_deep( undefined , null ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( {} , null ) )\n\t\t\t\n\t\t} ,\n\n\t\t'number'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( 1 , 1 ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( Number.NaN , Number.NaN ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( 1 , 2 ) )\n\t\t} ,\n\n\t\t'Number'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( Object( 1 ) , Object( 1 ) ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( Object( Number.NaN ) , Object( Number.NaN ) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( Object( 1 ) , Object( 2 ) ) )\n\t\t} ,\n\n\t\t'empty POJOs'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( {} , {} ) )\n\t\t} ,\n\t\t\n\t\t'different POJOs'() {\n\t\t\t$mol_assert_not( $mol_compare_deep( { a : 1 } , { b : 2 } ) )\n\t\t} ,\n\n\t\t'different POJOs with same keys but different values'() {\n\t\t\t$mol_assert_not( $mol_compare_deep( { a : 1 } , { a : 2 } ) )\n\t\t} ,\n\n\t\t'different POJOs with different keys but same values'() {\n\t\t\t$mol_assert_not( $mol_compare_deep( {} , { a : undefined } ) )\n\t\t} ,\n\n\t\t'Array'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( [] , [] ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( [ 1 , [2] ] , [ 1 , [2] ] ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( [ 1 , 2 ] , [ 1 , 3 ] ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( [ 1 , 2 , ] , [ 1 , 3 , undefined ] ) )\n\t\t} ,\n\n\t\t'same POJO trees'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( { a : { b : 1 } } , { a : { b : 1 } } ) )\n\t\t} ,\n\n\t\t'different classes with same values'() {\n\n\t\t\tclass Obj { foo = 1 }\n\t\t\t\n\t\t\tconst a = new Obj\n\t\t\tconst b = new class extends Obj {}\n\t\t\t\n\t\t\t$mol_assert_not( $mol_compare_deep( a , b ) )\n\n\t\t} ,\n\n\t\t'same POJOs with cyclic reference'() {\n\n\t\t\tconst a = { foo : {} }\n\t\t\ta['self'] = a\n\n\t\t\tconst b = { foo : {} }\n\t\t\tb['self'] = b\n\n\t\t\t$mol_assert_ok( $mol_compare_deep( a , b ) )\n\n\t\t} ,\n\n\t\t'empty Element'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( <div /> , <div /> ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( <div /> , <span /> ) )\n\t\t} ,\n\t\t\n\t\t'Element with attributes'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( <div dir=\"rtl\" /> , <div dir=\"rtl\" /> ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( <div dir=\"rtl\" /> , <div /> ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( <div dir=\"rtl\" /> , <div dir=\"ltr\" /> ) )\n\t\t} ,\n\t\t\n\t\t'Element with styles'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( <div style={{ color : 'red' }} /> , <div style={{ color : 'red' }} /> ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( <div style={{ color : 'red' }} /> , <div style={{ }} /> ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( <div style={{ color : 'red' }} /> , <div style={{ color : 'blue' }} /> ) )\n\t\t} ,\n\t\t\n\t\t'Element with content'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( <div>foo<br/></div> , <div>foo<br/></div> ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( <div>foo<br/></div> , <div>bar<br/></div> ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( <div>foo<br/></div> , <div>foo<hr/></div> ) )\n\t\t} ,\n\t\t\n\t\t'Element with handlers'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( <div onclick={ ()=> 1 } /> , <div onclick={ ()=> 1 } /> ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( <div onclick={ ()=> 1 } /> , <div onclick={ ()=> 2 } /> ) )\n\t\t} ,\n\t\t\n\t\t'Date'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Date( 12345 ) , new Date( 12345 ) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new Date( 12345 ) , new Date( 12346 ) ) )\n\t\t} ,\n\n\t\t'RegExp'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( /\\x22/mig , /\\x22/mig ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( /\\x22/mig , /\\x21/mig ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( /\\x22/mig , /\\x22/mg ) )\n\t\t} ,\n\n\t\t'Map'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Map , new Map ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Map([ [ [1] , [2] ] ]) , new Map([ [ [1] , [2] ] ]) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new Map([ [ 1 , 2 ] ]) , new Map([ [ 1 , 3 ] ]) ) )\n\t\t} ,\n\t\t\n\t\t'Set'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Set , new Set ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Set([ 1 , [2] ]) , new Set([ 1 , [2] ]) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new Set([ 1 ]) , new Set([ 2 ]) ) )\n\t\t} ,\n\t\t\n\t\t'Uint8Array'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Uint8Array , new Uint8Array ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Uint8Array([ 0 ]) , new Uint8Array([ 0 ]) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new Uint8Array([ 0 ]) , new Uint8Array([ 1 ]) ) )\n\t\t} ,\n\t\t\n\t})\n\n}\n","namespace $ {\n\n\tconst a_stack = [] as any[]\n\tconst b_stack = [] as any[]\n\n\tlet cache = null as null | WeakMap< any , WeakMap< any , boolean > >\n\n\texport function $mol_compare_deep< Value >( a : Value , b : Value ) : boolean {\n\n\t\tif( Object.is( a , b ) ) return true\n\n\t\tconst a_type = typeof a\n\t\tconst b_type = typeof b\n\n\t\tif( a_type !== b_type ) return false\n\n\t\tif( a_type === 'function' ) return a['toString']() === b['toString']()\n\t\tif( a_type !== 'object' ) return false\n\n\t\tif( !a || !b ) return false\n\n\t\tif( a instanceof Error ) return false\n\t\tif( a['constructor'] !== b['constructor'] ) return false\n\n\t\tif( a instanceof RegExp ) return a.toString() === b['toString']()\n\n\t\tconst ref = a_stack.indexOf( a )\n\t\t\n\t\tif( ref >= 0 ) {\n\t\t\treturn Object.is( b_stack[ ref ] , b )\n\t\t}\n\n\t\tif( !cache ) cache = new WeakMap\n\n\t\tlet a_cache = cache.get( a )\n\t\tif( a_cache ) {\n\n\t\t\tconst b_cache = a_cache.get( b )\n\t\t\tif( typeof b_cache === 'boolean' ) return b_cache\n\n\t\t} else {\n\n\t\t\ta_cache = new WeakMap< any , boolean >()\n\t\t\tcache.set( a , a_cache )\n\n\t\t}\n\n\t\ta_stack.push( a )\n\t\tb_stack.push( b )\n\n\t\tlet result! : boolean\n\n\t\ttry {\n\n\t\t\tif( Symbol.iterator in a ) {\n\t\t\t\t\n\t\t\t\tconst a_iter = a[ Symbol.iterator ]()\n\t\t\t\tconst b_iter = b[ Symbol.iterator ]()\n\t\n\t\t\t\twhile( true ) {\n\n\t\t\t\t\tconst a_next = a_iter.next()\n\t\t\t\t\tconst b_next = b_iter.next()\n\n\t\t\t\t\tif( a_next.done !== b_next.done ) return result = false\n\t\t\t\t\tif( a_next.done ) break\n\n\t\t\t\t\tif( !$mol_compare_deep( a_next.value , b_next.value ) ) return result = false\n\n\t\t\t\t}\n\n\t\t\t\treturn result = true\n\n\t\t\t}\n\n\t\t\tlet count = 0\n\n\t\t\tfor( let key in a ) {\n\n\t\t\t\ttry {\n\n\t\t\t\t\tif( !$mol_compare_deep( a[key] , b[key] ) ) return result = false\n\t\t\t\t\n\t\t\t\t} catch( error: any ) {\n\n\t\t\t\t\t$mol_fail_hidden( new $mol_error_mix( `Failed ${ JSON.stringify( key ) } fields comparison of ${a} and ${b}` , error ) )\n\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t++ count\n\n\t\t\t}\n\t\n\t\t\tfor( let key in b ) {\n\n\t\t\t\t--count\n\t\t\t\t\n\t\t\t\tif( count < 0 ) return result = false\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tif( a instanceof Number || a instanceof String || a instanceof Symbol || a instanceof Boolean || a instanceof Date ) {\n\t\t\t\tif( !Object.is( a['valueOf'](), b['valueOf']() ) ) return result = false\n\t\t\t}\n\n\t\t\treturn result = true\n\n\t\t} finally {\n\t\t\t\n\t\t\ta_stack.pop()\n\t\t\tb_stack.pop()\n\n\t\t\tif( a_stack.length === 0 ) {\n\t\t\t\tcache = null\n\t\t\t} else {\n\t\t\t\ta_cache.set( b , result )\n\t\t\t}\n\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\t$mol_test( {\n\t\t\n\t\t'must be false'() {\n\t\t\t$mol_assert_not( 0 )\n\t\t} ,\n\t\t\n\t\t'must be true'() {\n\t\t\t$mol_assert_ok( 1 )\n\t\t} ,\n\t\t\n\t\t'two must be equal'() {\n\t\t\t$mol_assert_equal( 2 , 2 )\n\t\t} ,\n\t\t\n\t\t'three must be equal'() {\n\t\t\t$mol_assert_equal( 2 , 2 , 2 )\n\t\t} ,\n\t\t\n\t\t'two must be unique'() {\n\t\t\t$mol_assert_unique( [ 3 ] , [ 3 ] )\n\t\t} ,\n\t\t\n\t\t'three must be unique'() {\n\t\t\t$mol_assert_unique( [ 3 ] , [ 3 ] , [ 3 ] )\n\t\t} ,\n\t\t\n\t\t'two must be alike'() {\n\t\t\t$mol_assert_like( [ 3 ] , [ 3 ] )\n\t\t} ,\n\t\t\n\t\t'three must be alike'() {\n\t\t\t$mol_assert_like( [ 3 ] , [ 3 ] , [ 3 ] )\n\t\t} ,\n\t\t\n\t} )\n}\n","namespace $ {\n\t\n\texport function $mol_assert_ok( value : any ) {\n\t\tif( value ) return\n\t\t$mol_fail( new Error( `${value} ≠ true` ) )\n\t}\n\t\n\texport function $mol_assert_not( value : any ) {\n\t\tif( !value ) return\n\t\t$mol_fail( new Error( `${value} ≠ false` ) )\n\t}\n\t\n\texport function $mol_assert_fail( handler : ()=> any , ErrorRight? : any ) {\n\t\t\n\t\tconst fail = $.$mol_fail\n\t\t\n\t\ttry {\n\t\t\t$.$mol_fail = $.$mol_fail_hidden\n\t\t\t\n\t\t\thandler()\n\n\t\t} catch( error: any ) {\n\t\t\t\n\t\t\tif( !ErrorRight ) return error\n\t\t\t\n\t\t\t$.$mol_fail = fail\n\n\t\t\tif( typeof ErrorRight === 'string' ) {\n\t\t\t\t$mol_assert_equal( error.message, ErrorRight )\n\t\t\t} else {\n\t\t\t\t$mol_assert_ok( error instanceof ErrorRight )\n\t\t\t}\n\t\t\t\n\t\t\treturn error\n\n\t\t} finally {\n\t\t\t$.$mol_fail = fail\n\t\t}\n\n\t\t$mol_fail( new Error( 'Not failed' ) )\n\t}\n\t\n\texport function $mol_assert_equal< Value >( ... args : [ Value, Value, ...Value[] ] ) {\n\t\tfor( let i = 0 ; i < args.length ; ++i ) {\n\t\t\tfor( let j = 0 ; j < args.length ; ++j ) {\n\t\t\t\tif( i === j ) continue\n\t\t\t\tif( Number.isNaN( args[i] as any as number ) && Number.isNaN( args[j] as any as number ) ) continue\n\t\t\t\tif( args[i] !== args[j] ) $mol_fail( new Error( `Not equal (${i+1}:${j+1})\\n${ args[i] }\\n${ args[j] }` ) )\n\t\t\t}\n\t\t}\n\t}\n\t\n\texport function $mol_assert_unique( ... args : [ any, any, ...any[] ] ) {\n\t\tfor( let i = 0 ; i < args.length ; ++i ) {\n\t\t\tfor( let j = 0 ; j < args.length ; ++j ) {\n\t\t\t\tif( i === j ) continue\n\t\t\t\tif( args[i] === args[j] || ( Number.isNaN( args[i] as any as number ) && Number.isNaN( args[j] as any as number ) ) ) {\n\t\t\t\t\t$mol_fail( new Error( `args[${ i }] = args[${ j }] = ${ args[i] }` ) )\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t\n\texport function $mol_assert_like< Value >( head : Value, ... tail : Value[]) {\n\t\tfor( let [ index, value ] of Object.entries( tail ) ) {\n\n\t\t\tif( !$mol_compare_deep( value , head ) ) {\n\n\t\t\t\tconst print = ( val : any ) => {\n\t\t\t\t\t\n\t\t\t\t\tif( !val ) return val\n\t\t\t\t\tif( typeof val !== 'object' ) return val\n\t\t\t\t\tif( 'outerHTML' in val ) return val.outerHTML\n\t\t\t\t\t\n\t\t\t\t\ttry {\n\t\t\t\t\t\treturn JSON.stringify( val )\n\t\t\t\t\t} catch( error: any ) {\n\t\t\t\t\t\tconsole.error( error )\n\t\t\t\t\t\treturn val\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn $mol_fail( new Error( `Not like (1:${ + index + 2 })\\n${ print( head ) }\\n---\\n${ print( value ) }` ) )\n\n\t\t\t}\n\n\t\t}\n\t}\n\t\n}\n","namespace $ {\n\t$mol_test({\n\t\t\n\t\tasync 'sizes'() {\n\t\t\t\n\t\t\tconst cipher = await $mol_crypto_secret.generate()\n\t\t\t\n\t\t\tconst key = await cipher.serial()\n\t\t\t$mol_assert_equal( key.byteLength, $mol_crypto_secret.size )\n\t\t\t\n\t\t\tconst data = new Uint8Array([1,2,3])\n\t\t\tconst salt = $mol_crypto_salt()\n\t\t\t\n\t\t\tconst closed = await cipher.encrypt( data, salt )\n\t\t\t$mol_assert_equal( closed.byteLength, data.byteLength + $mol_crypto_secret.extra )\n\t\t\t\n\t\t},\n\t\t\n\t\tasync 'decrypt self encrypted with auto generated key'() {\n\t\t\t\n\t\t\tconst cipher = await $mol_crypto_secret.generate()\n\t\t\t\n\t\t\tconst data = new Uint8Array([1,2,3])\n\t\t\tconst salt = $mol_crypto_salt()\n\t\t\t\n\t\t\tconst closed = await cipher.encrypt( data, salt )\n\t\t\tconst opened = await cipher.decrypt( closed, salt )\n\t\t\t\n\t\t\t$mol_assert_like( data.buffer, opened )\n\t\t\t\n\t\t},\n\t\t\n\t\tasync 'decrypt encrypted with exported auto generated key'() {\n\t\t\t\n\t\t\tconst data = new Uint8Array([1,2,3])\n\t\t\tconst salt = $mol_crypto_salt()\n\t\t\t\n\t\t\tconst Alice = await $mol_crypto_secret.generate()\n\t\t\tconst closed = await Alice.encrypt( data, salt )\n\t\t\t\n\t\t\tconst Bob = await $mol_crypto_secret.from( await Alice.serial() )\n\t\t\tconst opened = await Bob.decrypt( closed, salt )\n\t\t\t\n\t\t\t$mol_assert_like( data.buffer, opened )\n\t\t\t\n\t\t},\n\t\t\n\t})\n}\n","namespace $ {\n\t$mol_test({\n\t\t\n\t\tasync 'sizes'() {\n\t\t\t\n\t\t\tconst pair = await $$.$mol_crypto_cipher_pair()\n\t\t\t\n\t\t\tconst key_private = await pair.private.serial()\n\t\t\t$mol_assert_ok( key_private!.byteLength > 630 )\n\t\t\t$mol_assert_ok( key_private!.byteLength < 640 )\n\t\t\t\n\t\t\tconst key_public = await pair.public.serial()\n\t\t\t$mol_assert_equal( key_public!.byteLength, $mol_crypto_cipher_public.size )\n\t\t\t\n\t\t\tconst data = new Uint8Array([1,2,3])\n\t\t\tconst closed = await pair.public.encrypt( data )\n\t\t\t$mol_assert_equal( closed.byteLength, $mol_crypto_cipher_ecrypted_size )\n\t\t\t\n\t\t},\n\t\t\n\t\tasync 'decrypt self encrypted with auto generated key'() {\n\t\t\t\n\t\t\tconst pair = await $$.$mol_crypto_cipher_pair()\n\t\t\tconst data = new Uint8Array([1,2,3])\n\t\t\t\n\t\t\tconst closed = await pair.public.encrypt( data )\n\t\t\tconst opened = await pair.private.decrypt( closed )\n\t\t\t\n\t\t\t$mol_assert_like( data.buffer, opened )\n\t\t\t\n\t\t},\n\t\t\n\t\tasync 'decrypt encrypted with exported auto generated key'() {\n\t\t\t\n\t\t\tconst pair = await $$.$mol_crypto_cipher_pair()\n\t\t\tconst data = new Uint8Array([1,2,3])\n\t\t\t\n\t\t\tconst Alice = await $mol_crypto_cipher_public.from( await pair.public.serial() )\n\t\t\tconst closed = await Alice.encrypt( data )\n\t\t\t\n\t\t\tconst Bob = await $mol_crypto_cipher_private.from( await pair.private.serial() )\n\t\t\tconst opened = await Bob.decrypt( closed )\n\t\t\t\n\t\t\t$mol_assert_like( data.buffer, opened )\n\t\t\t\n\t\t},\n\t\t\n\t})\n}\n","namespace $ {\n\t$mol_test({\n\t\t\n\t\tasync 'sizes'() {\n\t\t\t\n\t\t\tconst pair = await $$.$mol_crypto_auditor_pair()\n\t\t\t\n\t\t\tconst key_private = await pair.private.serial()\n\t\t\t$mol_assert_ok( key_private!.byteLength > 190 )\n\t\t\t$mol_assert_ok( key_private!.byteLength < 200 )\n\t\t\t\n\t\t\tconst key_public = await pair.public.serial()\n\t\t\t$mol_assert_equal( key_public!.byteLength, $mol_crypto_auditor_public.size )\n\t\t\t\n\t\t\tconst data = new Uint8Array([1,2,3])\n\t\t\tconst sign = await pair.private.sign( data )\n\t\t\t$mol_assert_equal( sign.byteLength, $mol_crypto_auditor_sign_size )\n\t\t\t\n\t\t},\n\t\t\n\t\tasync 'verify self signed with auto generated key'() {\n\t\t\t\n\t\t\tconst auditor = await $$.$mol_crypto_auditor_pair()\n\t\t\tconst data = new Uint8Array([1,2,3])\n\t\t\tconst sign = await auditor.private.sign( data )\n\t\t\t\n\t\t\t$mol_assert_ok( await auditor.public.verify( data, sign ) )\n\t\t\t\n\t\t},\n\t\t\n\t\tasync 'verify signed with exported auto generated key'() {\n\t\t\t\n\t\t\tconst pair = await $$.$mol_crypto_auditor_pair()\n\t\t\tconst data = new Uint8Array([1,2,3])\n\t\t\t\n\t\t\tconst Alice = await $mol_crypto_auditor_private.from( await pair.private.serial() )\n\t\t\tconst sign = await Alice.sign( data )\n\t\t\t\n\t\t\tconst Bob = await $mol_crypto_auditor_public.from( await pair.public.serial() )\n\t\t\t$mol_assert_ok( await Bob.verify( data, sign ) )\n\t\t\t\n\t\t},\n\t\t\n\t})\n}\n","namespace $ {\n\n\t/** Logger event data */\n\texport type $mol_log3_event< Fields > = {\n\t\t[ key in string ] : unknown\n\t} & {\n\t\t\n\t\t/** Time of event creation */\n\t\ttime? : string\n\n\t\t/** Place of event creation */\n\t\tplace : unknown\n\n\t\t/** Short description of event */\n\t\tmessage : string\n\n\t} & Fields\n\n\t/** Logger function */\n\texport type $mol_log3_logger< Fields , Res = void > = (\n\t\tthis : $ ,\n\t\tevent : $mol_log3_event< Fields > ,\n\t)=> Res\n\n\t/** Log begin of some task */\n\texport declare let $mol_log3_come : $mol_log3_logger<{}>\n\t\n\t/** Log end of some task */\n\texport declare let $mol_log3_done : $mol_log3_logger<{}>\n\t\n\t/** Log error */\n\texport declare let $mol_log3_fail : $mol_log3_logger<{}>\n\t\n\t/** Log warning message */\n\texport declare let $mol_log3_warn : $mol_log3_logger<{ hint : string }>\n\t\n\t/** Log some generic event */\n\texport declare let $mol_log3_rise : $mol_log3_logger<{}>\n\n\t/** Log begin of log group, returns func to close group */\n\texport declare let $mol_log3_area : $mol_log3_logger< {} , ()=> void >\n\n\t/** Log begin of collapsed group only when some logged inside, returns func to close group */\n\texport function $mol_log3_area_lazy(\n\t\tthis : $ ,\n\t\tevent : $mol_log3_event<{}> ,\n\t) {\n\n\t\tconst self = this\n\t\tconst stack = self.$mol_log3_stack\n\n\t\tconst deep = stack.length\n\t\tlet logged = false\n\n\t\tstack.push( ()=> {\n\t\t\tlogged = true\n\t\t\tself.$mol_log3_area.call( self , event )\n\t\t} )\n\n\t\treturn ()=> {\n\t\t\tif( logged ) self.console.groupEnd()\n\t\t\tif( stack.length > deep ) stack.length = deep\n\t\t}\n\n\t}\n\n\texport let $mol_log3_stack = [] as ( ()=> void )[]\n\n}\n",null,null,"namespace $ {\n\n\t$mol_test_mocks.push( $ => {\n\t\t$.$mol_log3_come = ()=> {}\n\t\t$.$mol_log3_done = ()=> {}\n\t\t$.$mol_log3_fail = ()=> {}\n\t\t$.$mol_log3_warn = ()=> {}\n\t\t$.$mol_log3_rise = ()=> {}\n\t\t$.$mol_log3_area = ()=> ()=> {}\n\t} )\n\n}\n","namespace $ {\n\n\texport function $mol_log3_web_make(\n\t\tlevel : $mol_type_keys_extract< Console, Function >,\n\t\tcolor : string,\n\t) {\n\n\t\treturn function $mol_log3_logger(\n\t\t\tthis : $ ,\n\t\t\tevent : $mol_log3_event<{}> ,\n\t\t) {\n\n\t\t\tconst pending = this.$mol_log3_stack.pop()\n\t\t\tif( pending ) pending()\n\n\t\t\tlet tpl = '%c'\n\t\t\tconst chunks = Object.values( event )\n\n\t\t\tfor( let i = 0 ; i < chunks.length ; ++i ) {\n\t\t\t\ttpl += ( typeof chunks[i] === 'string' ) ? ' ⦙ %s' : ' ⦙ %o'\n\t\t\t}\n\t\n\t\t\tconst style = `color:${color};font-weight:bolder`\n\n\t\t\t;( this.console[ level ] as any )( tpl , style , ... chunks )\n\n\t\t\tconst self = this\n\t\t\treturn ()=> self.console.groupEnd()\n\n\t\t}\n\n\t}\n\n\t$.$mol_log3_come = $mol_log3_web_make( 'info' , 'royalblue' )\n\t$.$mol_log3_done = $mol_log3_web_make( 'info' , 'forestgreen' )\n\t$.$mol_log3_fail = $mol_log3_web_make( 'error' , 'orangered' )\n\t$.$mol_log3_warn = $mol_log3_web_make( 'warn' , 'goldenrod' )\n\t$.$mol_log3_rise = $mol_log3_web_make( 'log' , 'magenta' )\n\t$.$mol_log3_area = $mol_log3_web_make( 'group' , 'cyan' )\n\n}\n",null,null,"namespace $ {\n\n\t$mol_test({\n\n\t\t'equal paths' () {\n\n\t\t\tconst diff = $mol_diff_path( [1,2,3,4] , [1,2,3,4] , [1,2,3,4] )\n\t\t\t\n\t\t\t$mol_assert_like( diff , {\n\t\t\t\tprefix : [1,2,3,4] , \n\t\t\t\tsuffix : [ [] , [] , [] ] ,\n\t\t\t} )\n\n\t\t} ,\n\n\t\t'different suffix' () {\n\n\t\t\tconst diff = $mol_diff_path( [1,2,3,4] , [1,2,3,5] , [1,2,5,4] )\n\t\t\t\n\t\t\t$mol_assert_like( diff , {\n\t\t\t\tprefix : [1,2] , \n\t\t\t\tsuffix : [ [3,4] , [3,5] , [5,4] ] ,\n\t\t\t} )\n\n\t\t} ,\n\n\t\t'one contains other' () {\n\t\t\t\n\t\t\tconst diff = $mol_diff_path( [1,2,3,4] , [1,2] , [1,2,3] )\n\t\t\t\n\t\t\t$mol_assert_like( diff , {\n\t\t\t\tprefix : [1,2] , \n\t\t\t\tsuffix : [ [3,4] , [] , [3] ] ,\n\t\t\t} )\n\n\t\t} ,\n\n\t\t'fully different' () {\n\n\t\t\tconst diff = $mol_diff_path( [1,2] , [3,4] , [5,6] )\n\t\t\t\n\t\t\t$mol_assert_like( diff , {\n\t\t\t\tprefix : [] , \n\t\t\t\tsuffix : [ [1,2] , [3,4] , [5,6] ] ,\n\t\t\t} )\n\n\t\t} ,\n\n\t})\n\n}\n","namespace $ {\n\n\texport function $mol_diff_path< Item >( ... paths : Item[][] ) {\n\n\t\tconst limit = Math.min( ... paths.map( path => path.length ) )\n\n\t\tlookup: for( var i = 0 ; i < limit ; ++i ) {\n\n\t\t\tconst first = paths[0][i]\n\n\t\t\tfor( let j = 1 ; j < paths.length ; ++j ) {\n\t\t\t\tif( paths[j][i] !== first ) break lookup\n\t\t\t}\n\n\t\t}\n\n\t\treturn {\n\t\t\tprefix : paths[0].slice( 0 , i ) ,\n\t\t\tsuffix : paths.map( path => path.slice( i ) ) ,\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_error_mix extends Error {\n\n\t\terrors : Error[]\n\n\t\tconstructor( message : string , ... errors : Error[] ) {\n\n\t\t\tsuper( message )\n\t\t\t\n\t\t\tthis.errors = errors\n\n\t\t\tif( errors.length ) {\n\n\t\t\t\tconst stacks = [ ... errors.map( error => error.stack ) , this.stack ]\n\t\t\t\t\n\t\t\t\tconst diff = $mol_diff_path( ... stacks.map( stack => {\n\t\t\t\t\tif( !stack ) return []\n\t\t\t\t\treturn stack.split( '\\n' ).reverse()\n\t\t\t\t} ) )\n\t\t\t\t\n\t\t\t\tconst head = diff.prefix.reverse().join( '\\n' )\n\t\t\t\tconst tails = diff.suffix.map( path => path.reverse().map( line => line.replace( /^(?!\\s+at)/ , '\\tat (.) ' ) ).join( '\\n' ) ).join( '\\n\\tat (.) -----\\n' )\n\n\t\t\t\tthis.stack = `Error: ${ this.constructor.name }\\n\\tat (.) /\"\"\"\\\\\\n${ tails }\\n\\tat (.) \\\\___/\\n${ head }`\n\t\t\t\tthis.message += errors.map( error => '\\n' + error.message ).join( '' )\n\n\t\t\t}\n\n\t\t}\n\n\t\ttoJSON() {\n\t\t\treturn this.message\n\t\t}\n\n\t}\n\n}\n"]}
1
+ {"version":3,"sources":["../../../fail/fail.ts","../../../fail/hidden/hidden.ts","../../../test/test.test.ts","../../../test/test.web.test.ts","../../../dom/context/context.ts","../../../dom/context/context.web.ts","../../../dom/render/children/children.ts","../../../type/error/error.js","../../../type/assert/assert.test.js","../../../type/assert/assert.js","../../../type/partial/deep/deep.test.js","../../../type/partial/deep/deep.js","../../../jsx/jsx.test.tsx","../../../jsx/jsx.ts","../../../compare/deep/deep.test.tsx","../../../compare/deep/deep.ts","../../../assert/assert.test.ts","../../../assert/assert.ts","../../secret/secret.test.ts","../../cipher/cipher.test.ts","../../auditor/auditor.test.ts","../../../log3/log3.ts","../../../type/keys/extract/extract.test.js","../../../type/keys/extract/extract.js","../../../log3/log3.test.ts","../../../log3/log3.web.ts","../../../type/equals/equals.test.js","../../../type/equals/equals.js","../../../diff/path/path.test.ts","../../../diff/path/path.ts","../../../error/mix/mix.ts"],"names":[],"mappings":";;;AAAA,IAAU,CAAC,CAMV;AAND,WAAU,CAAC;IAEV,SAAgB,SAAS,CAAE,KAAW;QACrC,MAAM,KAAK,CAAA;IACZ,CAAC;IAFe,WAAS,YAExB,CAAA;AAEF,CAAC,EANS,CAAC,KAAD,CAAC,QAMV;;;;ACND,IAAU,CAAC,CAMV;AAND,WAAU,CAAC;IAEV,SAAgB,gBAAgB,CAAE,KAAW;QAC5C,MAAM,KAAK,CAAA;IACZ,CAAC;IAFe,kBAAgB,mBAE/B,CAAA;AAEF,CAAC,EANS,CAAC,KAAD,CAAC,QAMV;;;;ACND,IAAU,CAAC,CAuGV;AAvGD,WAAU,GAAC;IAEV,SAAgB,SAAS,CAAE,GAAiE;QAE3F,KAAK,IAAI,IAAI,IAAI,GAAG,EAAG;YAEtB,MAAM,IAAI,GAAG,GAAG,CAAE,IAAI,CAAE,CAAA;YACxB,MAAM,IAAI,GAAG,CAAE,OAAO,IAAI,KAAK,QAAQ,CAAE,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAE,EAAE,EAAG,IAAI,CAAe,CAAC,CAAC,CAAC,IAAI,CAAA;YAEzF,IAAA,aAAa,CAAC,IAAI,CAAE,IAAI,CAAE,CAAA;SAC1B;QAED,kBAAkB,EAAE,CAAA;IACrB,CAAC;IAXe,aAAS,YAWxB,CAAA;IAEU,mBAAe,GAAG,EAAqC,CAAA;IAErD,iBAAa,GAAG,EAAqC,CAAA;IAE3D,KAAK,UAAU,aAAa;QAElC,KAAK,IAAI,IAAI,IAAI,IAAA,aAAa,EAAG;YAEhC,IAAI,OAAO,GAAG,MAAM,CAAC,MAAM,CAAE,IAAA,EAAE,CAAE,CAAA;YACjC,KAAK,IAAI,IAAI,IAAI,IAAA,eAAe;gBAAG,MAAM,IAAI,CAAE,OAAO,CAAE,CAAA;YAExD,MAAM,IAAI,CAAE,OAAO,CAAE,CAAA;SACrB;QAED,IAAA,EAAE,CAAC,cAAc,CAAC;YACjB,KAAK,EAAE,WAAW;YAClB,OAAO,EAAE,kBAAkB;YAC3B,KAAK,EAAE,IAAA,aAAa,CAAC,MAAM;SAC3B,CAAC,CAAA;IAEH,CAAC;IAhBqB,iBAAa,gBAgBlC,CAAA;IAED,IAAI,SAAS,GAAG,KAAK,CAAA;IACrB,SAAgB,kBAAkB;QAEjC,IAAI,SAAS;YAAG,OAAM;QACtB,SAAS,GAAG,IAAI,CAAA;QAEhB,UAAU,CAAE,KAAK,IAAG,EAAE;YAErB,SAAS,GAAG,KAAK,CAAA;YAEjB,IAAI;gBACH,MAAM,aAAa,EAAE,CAAA;aACrB;oBAAS;gBACT,IAAA,EAAE,CAAC,kBAAkB,EAAE,CAAA;aACvB;QAEF,CAAC,EAAG,CAAC,CAAE,CAAA;IAER,CAAC;IAjBe,sBAAkB,qBAiBjC,CAAA;IAED,IAAA,eAAe,CAAC,IAAI,CAAE,OAAO,CAAC,EAAE;QAC/B,IAAI,IAAI,GAAG,CAAC,CAAA;QAEZ,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAE,IAAI,CAAE,CAAA;QACpC,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,GAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAE,IAAI,EAAE,CAAE,CAAA;QAE7C,MAAM,SAAS,GAAG,CAAE,gBAAgB,EAAG,OAAO,CAAE,CAAA;QAEhD,KAAK,IAAI,GAAG,IAAI,SAAS,EAAG;YAC3B,OAAO,CAAE,GAAG,CAAE,GAAG,IAAI,KAAK,CAAE,cAAW,CAAC,EAAG;gBAC1C,GAAG;oBACF,IAAA,gBAAgB,CAAE,IAAI,KAAK,CAAE,GAAI,GAAI,wBAAwB,CAAE,CAAE,CAAA;gBAClE,CAAC;gBACD,KAAK;oBACJ,IAAA,gBAAgB,CAAE,IAAI,KAAK,CAAE,GAAI,GAAI,wBAAwB,CAAE,CAAE,CAAA;gBAClE,CAAC;aACD,CAAE,CAAA;SACH;IAEF,CAAC,CAAE,CAAA;IAEH,SAAS,CAAC;QAET,oBAAoB,CAAE,CAAC;YACtB,OAAO,CAAC,MAAM,CAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAE,CAAA;YACvC,OAAO,CAAC,MAAM,CAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAA;QAClD,CAAC;QAED,0BAA0B,CAAE,CAAC;YAC5B,IAAI;gBACH,OAAO,CAAC,MAAM,CAAE,KAAK,IAAI,CAAC,CAAC,cAAc,CAAE,CAAA;aAC3C;YAAC,OAAO,KAAU,EAAG;gBACrB,OAAO,CAAC,MAAM,CAAE,KAAK,CAAC,OAAO,KAAK,sCAAsC,CAAE,CAAA;aAC1E;QACF,CAAC;QAED,iBAAiB,CAAE,CAAC;YACnB,IAAI;gBACH,OAAO,CAAC,MAAM,CAAE,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAE,CAAA;aAClC;YAAC,OAAO,KAAU,EAAG;gBACrB,OAAO,CAAC,MAAM,CAAE,KAAK,CAAC,OAAO,KAAK,6BAA6B,CAAE,CAAA;aACjE;QACF,CAAC;KAED,CAAC,CAAA;AAEH,CAAC,EAvGS,CAAC,KAAD,CAAC,QAuGV;;;;ACvGD,IAAU,CAAC,CAKV;AALD,WAAU,CAAC;IAEV,SAAgB,kBAAkB;IAClC,CAAC;IADe,oBAAkB,qBACjC,CAAA;AAEF,CAAC,EALS,CAAC,KAAD,CAAC,QAKV;;;;ACLD,IAAU,CAAC,CAIV;AAJD,WAAU,CAAC;AAIX,CAAC,EAJS,CAAC,KAAD,CAAC,QAIV;;;;ACJD,IAAU,CAAC,CAIV;AAJD,WAAU,CAAC;IAEV,EAAA,gBAAgB,GAAG,IAAW,CAAA;AAE/B,CAAC,EAJS,CAAC,KAAD,CAAC,QAIV;;;;ACJD,IAAU,CAAC,CAuDV;AAvDD,WAAU,CAAC;IAEV,SAAgB,wBAAwB,CACvC,EAA+B,EAC/B,UAAqD;QAErD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAA0B,UAAU,CAAE,CAAA;QAE9D,IAAI,QAAQ,GAAiB,EAAE,CAAC,UAAU,CAAA;QAC1C,KAAK,IAAI,IAAI,IAAI,UAAU,EAAG;YAE7B,IAAI,IAAI,IAAI,IAAI;gBAAG,SAAQ;YAE3B,IAAI,IAAI,YAAY,EAAA,gBAAgB,CAAC,IAAI,EAAG;gBAE3C,OAAO,IAAI,EAAG;oBACb,IAAI,CAAC,QAAQ,EAAG;wBACf,EAAE,CAAC,WAAW,CAAE,IAAI,CAAE,CAAA;wBACtB,MAAK;qBACL;oBACD,IAAI,QAAQ,IAAI,IAAI,EAAG;wBACtB,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAA;wBAC/B,MAAK;qBACL;yBAAM;wBACN,IAAI,QAAQ,CAAC,GAAG,CAAE,QAAQ,CAAE,EAAG;4BAC9B,EAAE,CAAC,YAAY,CAAE,IAAI,EAAG,QAAQ,CAAE,CAAA;4BAClC,MAAK;yBACL;6BAAM;4BACN,MAAM,EAAE,GAAG,QAAQ,CAAC,WAAW,CAAA;4BAC/B,EAAE,CAAC,WAAW,CAAE,QAAQ,CAAE,CAAA;4BAC1B,QAAQ,GAAG,EAAE,CAAA;yBACb;qBACD;iBACD;aAED;iBAAM;gBACN,IAAI,QAAQ,IAAI,QAAQ,CAAC,QAAQ,KAAK,OAAO,EAAG;oBAC/C,MAAM,GAAG,GAAG,MAAM,CAAE,IAAI,CAAE,CAAA;oBAC1B,IAAI,QAAQ,CAAC,SAAS,KAAK,GAAG;wBAAG,QAAQ,CAAC,SAAS,GAAG,GAAG,CAAA;oBACzD,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAA;iBAC/B;qBAAM;oBACN,MAAM,QAAQ,GAAG,EAAA,gBAAgB,CAAC,QAAQ,CAAC,cAAc,CAAE,MAAM,CAAE,IAAI,CAAE,CAAE,CAAA;oBAC3E,EAAE,CAAC,YAAY,CAAE,QAAQ,EAAG,QAAQ,CAAE,CAAA;iBACtC;aACD;SAED;QAED,OAAO,QAAQ,EAAG;YACjB,MAAM,QAAQ,GAAG,QAAQ,CAAA;YACzB,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAA;YAC/B,EAAE,CAAC,WAAW,CAAE,QAAQ,CAAE,CAAA;SAC1B;IACF,CAAC;IAnDe,0BAAwB,2BAmDvC,CAAA;AAEF,CAAC,EAvDS,CAAC,KAAD,CAAC,QAuDV;;;ACvDD;AACA;AACA;ACFA;AACA;AACA;ACFA;AACA;AACA;ACFA;AACA;AACA;ACFA;AACA;AACA;;ACDA,IAAU,CAAC,CAqHV;AArHD,WAAU,CAAC;IAEV,EAAA,SAAS,CAAC;QAET,gBAAgB;YACf,EAAA,iBAAiB,CAAE,CAAC,uBAAM,CAAC,CAAC,SAAS,EAAG,aAAa,CAAE,CAAA;QACxD,CAAC;QAED,qBAAqB;YAEpB,MAAM,GAAG,GAAG,sBAAO,KAAK,EAAC,KAAK,GAAuB,CAAA;YAErD,EAAA,iBAAiB,CAAE,GAAG,CAAC,SAAS,EAAG,qBAAqB,CAAE,CAAA;YAC1D,EAAA,iBAAiB,CAAE,GAAG,CAAC,KAAK,EAAG,KAAK,CAAE,CAAA;QAEvC,CAAC;QAED,gBAAgB;YAEf,MAAM,GAAG,GAAG,oBAAK,KAAK,EAAG,SAAS,GAAK,CAAA;YAEvC,EAAA,iBAAiB,CAAE,GAAG,CAAC,SAAS,EAAG,6BAA6B,CAAE,CAAA;QAEnE,CAAC;QAED,eAAe;YAEd,MAAM,GAAG,GAAG,oBAAK,KAAK,EAAE,EAAE,KAAK,EAAG,KAAK,EAAE,GAAI,CAAA;YAE7C,EAAA,iBAAiB,CAAE,GAAG,CAAC,SAAS,EAAG,iCAAiC,CAAE,CAAA;QAEvE,CAAC;QAED,gBAAgB;YAEf,MAAM,GAAG,GAAG,oBAAK,OAAO,EAAE,EAAE,GAAG,EAAG,KAAK,EAAE,GAAI,CAAA;YAE7C,EAAA,iBAAiB,CAAE,GAAG,CAAC,SAAS,EAAG,4BAA4B,CAAE,CAAA;QAElE,CAAC;QAED,mBAAmB;YAElB,MAAM,GAAG,GAAG,oBAAK,IAAI,EAAC,IAAI,EAAC,MAAM,SAAG,CAAA;YAEpC,EAAA,iBAAiB,CAAE,GAAG,CAAC,SAAS,EAAG,iCAAiC,CAAE,CAAA;QAEvE,CAAC;QAED,oBAAoB;YAEnB,MAAM,GAAG,GACR;;gBAEC,mCAAsB;oBAEjB,CAAA;YAEP,EAAA,iBAAiB,CAAE,GAAG,CAAC,SAAS,EAAG,yCAAyC,CAAE,CAAA;QAE/E,CAAC;QAED,uBAAuB;YAEtB,MAAM,MAAM,GAAG,CAAE,EAAE,IAAI,EAAsB,EAAG,MAAoB,EAAG,EAAE;gBACxE,OAAO,uBAAQ,KAAK,EAAG,IAAI,IAAM,MAAM,EAAE,CAAW,CAAA;YACrD,CAAC,CAAA;YAED,MAAM,GAAG,GAAG,WAAC,MAAM,IAAC,EAAE,EAAC,MAAM,EAAC,IAAI,EAAC,UAAU,IAAG,GAAE,EAAE,CAAC,MAAM,CAAW,CAAA;YAEtE,EAAA,iBAAiB,CAAE,GAAG,CAAC,SAAS,EAAG,kDAAkD,CAAE,CAAA;QAExF,CAAC;QAUD,wBAAwB;YAEvB,MAAM,GAAG,GAAG,GAAE,EAAE;gBACf,OAAO;oBACN,WAAC,GAAG,IAAC,EAAE,EAAC,MAAM;wBACb,oBAAK,EAAE,EAAC,OAAO,GAAG,CACb,CACD,CAAA;YACP,CAAC,CAAA;YAED,MAAM,GAAG,GAAG,CAAE,KAAU,EAAG,IAAc,EAAE,EAAE;gBAC5C,OAAO,yBAAQ,IAAI,CAAS,CAAA;YAC7B,CAAC,CAAA;YAED,MAAM,GAAG,GAAG,WAAC,GAAG,IAAC,EAAE,EAAC,MAAM,GAAG,CAAA;YAE7B,EAAA,iBAAiB,CAAE,GAAG,CAAC,SAAS,EAAG,sEAAsE,CAAE,CAAA;QAE5G,CAAC;QAED,wBAAwB;YAEvB,MAAM,GAAG,GAAG,GAAE,EAAE;gBACf,OAAO;oBACN,qBAAM,EAAE,EAAC,MAAM,GAAG;oBAClB,qBAAM,EAAE,EAAC,MAAM,GAAG,CACb,CAAA;YACP,CAAC,CAAA;YAED,EAAA,gBAAgB,CAAE,GAAE,EAAE,CAAC,WAAC,GAAG,IAAC,EAAE,EAAC,MAAM,GAAG,EAAG,oCAAoC,CAAE,CAAA;QAElF,CAAC;KAED,CAAC,CAAA;AAEH,CAAC,EArHS,CAAC,KAAD,CAAC,QAqHV;;;;ACtHD,IAAU,CAAC,CAoKV;AApKD,WAAU,CAAC;IAEC,iBAAe,GAAG,EAAE,CAAA;IAEpB,iBAAe,GAAG,IAA4B,CAAA;IAE9C,mBAAiB,GAAgD;QAC3E,cAAc,EAAG,GAAE,EAAE,CAAC,IAAI;QAC1B,eAAe,EAAG,CAAE,KAAa,EAAE,IAAa,EAAE,EAAE,CAAC,EAAA,gBAAgB,CAAC,QAAQ,CAAC,eAAe,CAAE,KAAK,EAAE,IAAI,CAAS;QACpH,sBAAsB,EAAG,GAAE,EAAE,CAAC,EAAA,gBAAgB,CAAC,QAAQ,CAAC,sBAAsB,EAAE;KAChF,CAAA;IAEY,eAAa,GAAG,EAAE,CAAA;IAE/B,SAAgB,QAAQ,CAIvB,IAC6D,EAC7D,KAAa,EACb,GAAI,UAAqB;QAGzB,MAAM,EAAE,GAAG,KAAK,IAAI,KAAK,CAAC,EAAE,IAAI,EAAE,CAAA;QAElC,IAAI,IAAI,IAAI,EAAA,eAAe,EAAG;YAC7B,IAAI,EAAA,eAAe,CAAC,GAAG,CAAE,EAAE,CAAE,EAAG;gBAC/B,EAAA,SAAS,CAAE,IAAI,KAAK,CAAE,+BAAgC,IAAI,CAAC,SAAS,CAAE,EAAE,CAAG,EAAE,CAAE,CAAE,CAAA;aACjF;iBAAM;gBACN,EAAA,eAAe,CAAC,GAAG,CAAE,EAAE,CAAE,CAAA;aACzB;SACD;QAED,MAAM,IAAI,GAAG,EAAA,eAAe,GAAG,EAAE,CAAA;QAEjC,IAAI,IAAI,GAAsC,IAAI,CAAC,CAAC,CAAC,EAAA,iBAAiB,CAAC,cAAc,CAAE,IAAI,CAAE,CAAC,CAAC,CAAC,IAAI,CAAA;QAEpG,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAG;YAE9B,IAAI,WAAW,IAAI,IAAI,EAAG;gBAEzB,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,CAAE,IAAW,CAAE,IAAI,IAAM,IAAa,CAAA;gBAE/D,MAAM,CAAC,MAAM,CAAE,IAAI,EAAG,KAAK,CAAE,CAAA;gBAC7B,IAAI,CAAE,MAAM,CAAC,WAAW,CAAE,GAAG,IAAI,CAAA;gBAEjC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;gBAE5B,IAAI,CAAC,IAAI,CAAC,aAAa;oBAAG,IAAI,CAAC,aAAa,GAAG,EAAA,iBAAiB,CAAA;gBAEhE,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAA;gBAErB,IAAK,CAAE,IAAW,CAAE,GAAG,IAAI,CAAA;gBAE3B,OAAO,IAAK,CAAA;aAEZ;iBAAM;gBAEN,MAAM,MAAM,GAAG,EAAA,eAAe,CAAA;gBAC9B,MAAM,MAAM,GAAG,EAAA,eAAe,CAAA;gBAE9B,IAAI;oBAEH,EAAA,eAAe,GAAG,IAAI,CAAA;oBACtB,EAAA,eAAe,GAAG,IAAI,GAAG,CAAA;oBAEzB,OAAS,IAAa,CAAE,KAAK,EAAG,GAAI,UAAU,CAAE,CAAA;iBAEhD;wBAAS;oBAET,EAAA,eAAe,GAAG,MAAM,CAAA;oBACxB,EAAA,eAAe,GAAG,MAAM,CAAA;iBAExB;aAED;SAED;QAED,IAAI,CAAC,IAAI,EAAG;YACX,IAAI,GAAG,IAAI;gBACV,CAAC,CAAC,EAAA,iBAAiB,CAAC,eAAe,CAAE,KAAK,EAAE,KAAK,IAAI,8BAA8B,EAAE,IAAI,CAAE;gBAC3F,CAAC,CAAC,EAAA,iBAAiB,CAAC,sBAAsB,EAAE,CAAA;SAC7C;QAED,EAAA,wBAAwB,CAAE,IAAI,EAAK,EAA2B,CAAC,MAAM,CAAE,GAAI,UAAU,CAAE,CAAE,CAAA;QACzF,IAAI,CAAC,IAAI;YAAG,OAAO,IAAI,CAAA;QAEvB,KAAK,MAAM,GAAG,IAAI,KAAK,EAAG;YAEzB,IAAI,OAAO,KAAK,CAAE,GAAG,CAAE,KAAK,QAAQ,EAAG;gBAEtC,CAAC;gBAAE,IAAiB,CAAC,YAAY,CAAE,GAAG,EAAG,KAAK,CAAE,GAAU,CAAE,CAAE,CAAA;aAE9D;iBAAM,IACN,KAAK,CAAE,GAAG,CAAE;gBACZ,OAAO,KAAK,CAAE,GAAG,CAAE,KAAK,QAAQ;gBAChC,OAAO,CAAC,cAAc,CAAE,KAAK,CAAE,GAAG,CAAS,CAAE,KAAK,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,EAC3E;gBAED,IAAI,OAAO,IAAI,CAAE,GAAU,CAAE,KAAK,QAAQ,EAAG;oBAC5C,MAAM,CAAC,MAAM,CAAI,IAAa,CAAE,GAAG,CAAE,EAAG,KAAK,CAAE,GAAG,CAAE,CAAE,CAAA;oBACtD,SAAQ;iBACR;aAED;iBAAM;gBAEN,IAAI,CAAE,GAAU,CAAE,GAAG,KAAK,CAAE,GAAG,CAAE,CAAA;aAEjC;SAED;QAED,IAAI,IAAI;YAAK,IAAiB,CAAC,EAAE,GAAG,IAAI,CAAA;QAExC,OAAO,IAAI,CAAA;IAEZ,CAAC;IAxGe,UAAQ,WAwGvB,CAAA;AA8CF,CAAC,EApKS,CAAC,KAAD,CAAC,QAoKV;;;;ACnKD,IAAU,CAAC,CA0FV;AA1FD,WAAU,CAAC;IAEV,EAAA,SAAS,CAAC;QAET,oBAAoB;YAEnB,EAAA,cAAc,CAAE,EAAA,iBAAiB,CAAE,IAAI,EAAG,IAAI,CAAE,CAAE,CAAA;YAClD,EAAA,cAAc,CAAE,EAAA,iBAAiB,CAAE,SAAS,EAAG,SAAS,CAAE,CAAE,CAAA;YAE5D,EAAA,eAAe,CAAE,EAAA,iBAAiB,CAAE,SAAS,EAAG,IAAI,CAAE,CAAE,CAAA;YACxD,EAAA,eAAe,CAAE,EAAA,iBAAiB,CAAE,EAAE,EAAG,IAAI,CAAE,CAAE,CAAA;QAElD,CAAC;QAED,QAAQ;YACP,EAAA,cAAc,CAAE,EAAA,iBAAiB,CAAE,CAAC,EAAG,CAAC,CAAE,CAAE,CAAA;YAC5C,EAAA,cAAc,CAAE,EAAA,iBAAiB,CAAE,MAAM,CAAC,GAAG,EAAG,MAAM,CAAC,GAAG,CAAE,CAAE,CAAA;YAC9D,EAAA,eAAe,CAAE,EAAA,iBAAiB,CAAE,CAAC,EAAG,CAAC,CAAE,CAAE,CAAA;YAC7C,EAAA,eAAe,CAAE,EAAA,iBAAiB,CAAE,MAAM,CAAE,CAAC,CAAE,EAAG,MAAM,CAAE,CAAC,CAAE,CAAE,CAAE,CAAA;QAClE,CAAC;QAED,MAAM;YACL,EAAA,cAAc,CAAE,EAAA,iBAAiB,CAAE,EAAE,EAAG,EAAE,CAAE,CAAE,CAAA;YAC9C,EAAA,eAAe,CAAE,EAAA,iBAAiB,CAAE,EAAE,CAAC,EAAG,CAAC,EAAE,EAAG,EAAE,CAAC,EAAG,CAAC,EAAE,CAAE,CAAE,CAAA;YAC7D,EAAA,eAAe,CAAE,EAAA,iBAAiB,CAAE,EAAE,CAAC,EAAG,CAAC,EAAE,EAAG,EAAE,CAAC,EAAG,CAAC,EAAE,CAAE,CAAE,CAAA;YAC7D,EAAA,eAAe,CAAE,EAAA,iBAAiB,CAAE,EAAE,EAAG,EAAE,CAAC,EAAG,SAAS,EAAE,CAAE,CAAE,CAAA;YAC9D,EAAA,cAAc,CAAE,EAAA,iBAAiB,CAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAE,CAAE,CAAA;YACtE,EAAA,cAAc,CAAE,EAAA,iBAAiB,CAAE,EAAE,CAAC,EAAG,EAAE,CAAC,EAAG,CAAC,EAAE,EAAE,EAAG,EAAE,CAAC,EAAG,EAAE,CAAC,EAAG,CAAC,EAAE,EAAE,CAAE,CAAE,CAAA;QAC7E,CAAC;QAED,OAAO;YACN,EAAA,cAAc,CAAE,EAAA,iBAAiB,CAAE,EAAE,EAAG,EAAE,CAAE,CAAE,CAAA;YAC9C,EAAA,cAAc,CAAE,EAAA,iBAAiB,CAAE,CAAE,CAAC,EAAG,CAAC,CAAC,CAAC,CAAE,EAAG,CAAE,CAAC,EAAG,CAAC,CAAC,CAAC,CAAE,CAAE,CAAE,CAAA;YAChE,EAAA,eAAe,CAAE,EAAA,iBAAiB,CAAE,CAAE,CAAC,EAAG,CAAC,CAAE,EAAG,CAAE,CAAC,EAAG,CAAC,CAAE,CAAE,CAAE,CAAA;YAC7D,EAAA,eAAe,CAAE,EAAA,iBAAiB,CAAE,CAAE,CAAC,EAAG,CAAC,EAAI,EAAG,CAAE,CAAC,EAAG,CAAC,EAAG,SAAS,CAAE,CAAE,CAAE,CAAA;QAC5E,CAAC;QAED,wBAAwB;YAEvB,MAAM,KAAM,SAAQ,MAAM;aAAG;YAC7B,EAAA,eAAe,CAAE,EAAA,iBAAiB,CAAE,IAAI,KAAK,EAAG,IAAI,KAAK,CAAE,CAAE,CAAA;YAE7D,EAAA,eAAe,CAAE,EAAA,iBAAiB,CAAE,GAAE,EAAE,CAAC,CAAC,EAAG,GAAE,EAAE,CAAA,CAAC,CAAE,CAAE,CAAA;YACtD,EAAA,eAAe,CAAE,EAAA,iBAAiB,CAAE,IAAI,UAAU,CAAE,YAAY,CAAE,EAAG,IAAI,UAAU,CAAE,YAAY,CAAE,CAAE,CAAE,CAAA;QAExG,CAAC;QAED,kCAAkC;YAEjC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAG,EAAE,EAAE,CAAA;YACtB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAEb,MAAM,CAAC,GAAG,EAAE,GAAG,EAAG,EAAE,EAAE,CAAA;YACtB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAEb,EAAA,cAAc,CAAE,EAAA,iBAAiB,CAAE,CAAC,EAAG,CAAC,CAAE,CAAE,CAAA;QAE7C,CAAC;QAED,MAAM;YACL,EAAA,cAAc,CAAE,EAAA,iBAAiB,CAAE,IAAI,IAAI,CAAE,KAAK,CAAE,EAAG,IAAI,IAAI,CAAE,KAAK,CAAE,CAAE,CAAE,CAAA;YAC5E,EAAA,eAAe,CAAE,EAAA,iBAAiB,CAAE,IAAI,IAAI,CAAE,KAAK,CAAE,EAAG,IAAI,IAAI,CAAE,KAAK,CAAE,CAAE,CAAE,CAAA;QAC9E,CAAC;QAED,QAAQ;YACP,EAAA,cAAc,CAAE,EAAA,iBAAiB,CAAE,SAAS,EAAG,SAAS,CAAE,CAAE,CAAA;YAC5D,EAAA,eAAe,CAAE,EAAA,iBAAiB,CAAE,SAAS,EAAG,SAAS,CAAE,CAAE,CAAA;YAC7D,EAAA,eAAe,CAAE,EAAA,iBAAiB,CAAE,SAAS,EAAG,QAAQ,CAAE,CAAE,CAAA;QAC7D,CAAC;QAED,KAAK;YACJ,EAAA,cAAc,CAAE,EAAA,iBAAiB,CAAE,IAAI,GAAG,EAAG,IAAI,GAAG,CAAE,CAAE,CAAA;YACxD,EAAA,cAAc,CAAE,EAAA,iBAAiB,CAAE,IAAI,GAAG,CAAC,CAAE,CAAE,CAAC,CAAC,CAAC,EAAG,CAAC,CAAC,CAAC,CAAE,CAAE,CAAC,EAAG,IAAI,GAAG,CAAC,CAAE,CAAE,CAAC,CAAC,CAAC,EAAG,CAAC,CAAC,CAAC,CAAE,CAAE,CAAC,CAAE,CAAE,CAAA;YAC9F,EAAA,eAAe,CAAE,EAAA,iBAAiB,CAAE,IAAI,GAAG,CAAC,CAAE,CAAE,CAAC,EAAG,CAAC,CAAE,CAAE,CAAC,EAAG,IAAI,GAAG,CAAC,CAAE,CAAE,CAAC,EAAG,CAAC,CAAE,CAAE,CAAC,CAAE,CAAE,CAAA;QACxF,CAAC;QAED,KAAK;YACJ,EAAA,cAAc,CAAE,EAAA,iBAAiB,CAAE,IAAI,GAAG,EAAG,IAAI,GAAG,CAAE,CAAE,CAAA;YACxD,EAAA,cAAc,CAAE,EAAA,iBAAiB,CAAE,IAAI,GAAG,CAAC,CAAE,CAAC,EAAG,CAAC,CAAC,CAAC,CAAE,CAAC,EAAG,IAAI,GAAG,CAAC,CAAE,CAAC,EAAG,CAAC,CAAC,CAAC,CAAE,CAAC,CAAE,CAAE,CAAA;YAClF,EAAA,eAAe,CAAE,EAAA,iBAAiB,CAAE,IAAI,GAAG,CAAC,CAAE,CAAC,CAAE,CAAC,EAAG,IAAI,GAAG,CAAC,CAAE,CAAC,CAAE,CAAC,CAAE,CAAE,CAAA;QACxE,CAAC;QAED,YAAY;YACX,EAAA,cAAc,CAAE,EAAA,iBAAiB,CAAE,IAAI,UAAU,EAAG,IAAI,UAAU,CAAE,CAAE,CAAA;YACtE,EAAA,cAAc,CAAE,EAAA,iBAAiB,CAAE,IAAI,UAAU,CAAC,CAAE,CAAC,CAAE,CAAC,EAAG,IAAI,UAAU,CAAC,CAAE,CAAC,CAAE,CAAC,CAAE,CAAE,CAAA;YACpF,EAAA,eAAe,CAAE,EAAA,iBAAiB,CAAE,IAAI,UAAU,CAAC,CAAE,CAAC,CAAE,CAAC,EAAG,IAAI,UAAU,CAAC,CAAE,CAAC,CAAE,CAAC,CAAE,CAAE,CAAA;QACtF,CAAC;KAED,CAAC,CAAA;AAEH,CAAC,EA1FS,CAAC,KAAD,CAAC,QA0FV;;;;AC3FD,IAAU,CAAC,CAgGV;AAhGD,WAAU,CAAC;IAEV,IAAI,KAAK,GAAG,IAAI,OAAO,EAAoC,CAAA;IAE3D,SAAgB,iBAAiB,CAAW,IAAY,EAAG,KAAa;QAEvE,IAAI,MAAM,CAAC,EAAE,CAAE,IAAI,EAAG,KAAK,CAAE;YAAG,OAAO,IAAI,CAAA;QAE3C,IAAI,IAAI,KAAK,IAAI;YAAG,OAAO,KAAK,CAAA;QAChC,IAAI,KAAK,KAAK,IAAI;YAAG,OAAO,KAAK,CAAA;QAEjC,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAG,OAAO,KAAK,CAAA;QAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAG,OAAO,KAAK,CAAA;QAE5C,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,KAAK,CAAC,aAAa,CAAC;YAAG,OAAO,KAAK,CAAA;QAE/D,IAAI,UAAU,GAAG,KAAK,CAAC,GAAG,CAAE,IAAI,CAAE,CAAA;QAClC,IAAI,UAAU,EAAG;YAEhB,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,CAAE,KAAK,CAAE,CAAA;YAC3C,IAAI,OAAO,WAAW,KAAK,SAAS;gBAAG,OAAO,WAAW,CAAA;SAEzD;aAAM;YAEN,UAAU,GAAG,IAAI,OAAO,EAAmB,CAAA;YAC3C,KAAK,CAAC,GAAG,CAAE,IAAI,EAAG,UAAU,CAAE,CAAA;YAC9B,UAAU,CAAC,GAAG,CAAE,KAAK,EAAE,IAAI,CAAE,CAAA;SAE7B;QAED,IAAI,IAAI,YAAY,MAAM;YAAG,OAAO,IAAI,CAAC,QAAQ,EAAE,KAAK,KAAK,CAAC,UAAU,CAAC,EAAE,CAAA;QAC3E,IAAI,IAAI,YAAY,IAAI;YAAG,OAAO,MAAM,CAAC,EAAE,CAAE,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,CAAE,CAAA;QAEjF,IAAI,MAAiB,CAAA;QAErB,IAAI;YAEH,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,EAAG;gBAE7B,MAAM,SAAS,GAAG,IAAI,CAAE,MAAM,CAAC,QAAQ,CAAE,EAAE,CAAA;gBAC3C,MAAM,UAAU,GAAG,KAAK,CAAE,MAAM,CAAC,QAAQ,CAAE,EAAE,CAAA;gBAE7C,OAAO,IAAI,EAAG;oBAEb,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,EAAE,CAAA;oBAClC,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,EAAE,CAAA;oBAEpC,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI;wBAAG,OAAO,MAAM,GAAG,KAAK,CAAA;oBAC9D,IAAI,SAAS,CAAC,IAAI;wBAAG,MAAK;oBAE1B,IAAI,CAAC,iBAAiB,CAAE,SAAS,CAAC,KAAK,EAAG,UAAU,CAAC,KAAK,CAAE;wBAAG,OAAO,MAAM,GAAG,KAAK,CAAA;iBAEpF;gBAED,OAAO,MAAM,GAAG,IAAI,CAAA;aAEpB;YAED,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,WAAW;gBAAG,OAAO,MAAM,GAAG,KAAK,CAAA;YAEpE,IAAI,KAAK,GAAG,CAAC,CAAA;YAEb,KAAK,IAAI,GAAG,IAAI,IAAI,EAAG;gBAEtB,IAAI;oBAEH,IAAI,CAAC,iBAAiB,CAAE,IAAI,CAAC,GAAG,CAAC,EAAG,KAAK,CAAC,GAAG,CAAC,CAAE;wBAAG,OAAO,MAAM,GAAG,KAAK,CAAA;iBAExE;gBAAC,OAAO,KAAU,EAAG;oBAErB,EAAA,gBAAgB,CAAE,IAAI,EAAA,cAAc,CAAE,UAAW,IAAI,CAAC,SAAS,CAAE,GAAG,CAAG,yBAAyB,IAAI,QAAQ,KAAK,EAAE,EAAG,KAAK,CAAE,CAAE,CAAA;iBAE/H;gBAED,EAAG,KAAK,CAAA;aAER;YAED,KAAK,IAAI,GAAG,IAAI,KAAK,EAAG;gBAEvB,EAAE,KAAK,CAAA;gBAEP,IAAI,KAAK,GAAG,CAAC;oBAAG,OAAO,MAAM,GAAG,KAAK,CAAA;aAErC;YAED,OAAO,MAAM,GAAG,IAAI,CAAA;SAEpB;gBAAS;YAET,UAAU,CAAC,GAAG,CAAE,KAAK,EAAG,MAAM,CAAE,CAAA;SAEhC;IAEF,CAAC;IA1Fe,mBAAiB,oBA0FhC,CAAA;AAEF,CAAC,EAhGS,CAAC,KAAD,CAAC,QAgGV;;;;AChGD,IAAU,CAAC,CAoCV;AApCD,WAAU,CAAC;IACV,EAAA,SAAS,CAAE;QAEV,eAAe;YACd,EAAA,eAAe,CAAE,CAAC,CAAE,CAAA;QACrB,CAAC;QAED,cAAc;YACb,EAAA,cAAc,CAAE,CAAC,CAAE,CAAA;QACpB,CAAC;QAED,mBAAmB;YAClB,EAAA,iBAAiB,CAAE,CAAC,EAAG,CAAC,CAAE,CAAA;QAC3B,CAAC;QAED,qBAAqB;YACpB,EAAA,iBAAiB,CAAE,CAAC,EAAG,CAAC,EAAG,CAAC,CAAE,CAAA;QAC/B,CAAC;QAED,oBAAoB;YACnB,EAAA,kBAAkB,CAAE,CAAE,CAAC,CAAE,EAAG,CAAE,CAAC,CAAE,CAAE,CAAA;QACpC,CAAC;QAED,sBAAsB;YACrB,EAAA,kBAAkB,CAAE,CAAE,CAAC,CAAE,EAAG,CAAE,CAAC,CAAE,EAAG,CAAE,CAAC,CAAE,CAAE,CAAA;QAC5C,CAAC;QAED,mBAAmB;YAClB,EAAA,gBAAgB,CAAE,CAAE,CAAC,CAAE,EAAG,CAAE,CAAC,CAAE,CAAE,CAAA;QAClC,CAAC;QAED,qBAAqB;YACpB,EAAA,gBAAgB,CAAE,CAAE,CAAC,CAAE,EAAG,CAAE,CAAC,CAAE,EAAG,CAAE,CAAC,CAAE,CAAE,CAAA;QAC1C,CAAC;KAED,CAAE,CAAA;AACJ,CAAC,EApCS,CAAC,KAAD,CAAC,QAoCV;;;;ACpCD,IAAU,CAAC,CA0FV;AA1FD,WAAU,CAAC;IAEV,SAAgB,cAAc,CAAE,KAAW;QAC1C,IAAI,KAAK;YAAG,OAAM;QAClB,EAAA,SAAS,CAAE,IAAI,KAAK,CAAE,GAAG,KAAK,SAAS,CAAE,CAAE,CAAA;IAC5C,CAAC;IAHe,gBAAc,iBAG7B,CAAA;IAED,SAAgB,eAAe,CAAE,KAAW;QAC3C,IAAI,CAAC,KAAK;YAAG,OAAM;QACnB,EAAA,SAAS,CAAE,IAAI,KAAK,CAAE,GAAG,KAAK,UAAU,CAAE,CAAE,CAAA;IAC7C,CAAC;IAHe,iBAAe,kBAG9B,CAAA;IAED,SAAgB,gBAAgB,CAAE,OAAkB,EAAG,UAAiB;QAEvE,MAAM,IAAI,GAAG,CAAC,CAAC,SAAS,CAAA;QAExB,IAAI;YACH,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,gBAAgB,CAAA;YAEhC,OAAO,EAAE,CAAA;SAET;QAAC,OAAO,KAAU,EAAG;YAErB,IAAI,CAAC,UAAU;gBAAG,OAAO,KAAK,CAAA;YAE9B,CAAC,CAAC,SAAS,GAAG,IAAI,CAAA;YAElB,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAG;gBACpC,iBAAiB,CAAE,KAAK,CAAC,OAAO,EAAE,UAAU,CAAE,CAAA;aAC9C;iBAAM;gBACN,cAAc,CAAE,KAAK,YAAY,UAAU,CAAE,CAAA;aAC7C;YAED,OAAO,KAAK,CAAA;SAEZ;gBAAS;YACT,CAAC,CAAC,SAAS,GAAG,IAAI,CAAA;SAClB;QAED,EAAA,SAAS,CAAE,IAAI,KAAK,CAAE,YAAY,CAAE,CAAE,CAAA;IACvC,CAAC;IA5Be,kBAAgB,mBA4B/B,CAAA;IAED,SAAgB,iBAAiB,CAAW,GAAI,IAAmC;QAClF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAG,EAAE,CAAC,EAAG;YACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAG,EAAE,CAAC,EAAG;gBACxC,IAAI,CAAC,KAAK,CAAC;oBAAG,SAAQ;gBACtB,IAAI,MAAM,CAAC,KAAK,CAAE,IAAI,CAAC,CAAC,CAAkB,CAAE,IAAI,MAAM,CAAC,KAAK,CAAE,IAAI,CAAC,CAAC,CAAkB,CAAE;oBAAG,SAAQ;gBACnG,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;oBAAG,EAAA,SAAS,CAAE,IAAI,KAAK,CAAE,cAAc,CAAC,GAAC,CAAC,IAAI,CAAC,GAAC,CAAC,MAAO,IAAI,CAAC,CAAC,CAAE,KAAM,IAAI,CAAC,CAAC,CAAE,EAAE,CAAE,CAAE,CAAA;aAC3G;SACD;IACF,CAAC;IARe,mBAAiB,oBAQhC,CAAA;IAED,SAAgB,kBAAkB,CAAE,GAAI,IAA6B;QACpE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAG,EAAE,CAAC,EAAG;YACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAG,EAAE,CAAC,EAAG;gBACxC,IAAI,CAAC,KAAK,CAAC;oBAAG,SAAQ;gBACtB,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAE,MAAM,CAAC,KAAK,CAAE,IAAI,CAAC,CAAC,CAAkB,CAAE,IAAI,MAAM,CAAC,KAAK,CAAE,IAAI,CAAC,CAAC,CAAkB,CAAE,CAAE,EAAG;oBACrH,EAAA,SAAS,CAAE,IAAI,KAAK,CAAE,QAAS,CAAE,YAAa,CAAE,OAAQ,IAAI,CAAC,CAAC,CAAE,EAAE,CAAE,CAAE,CAAA;iBACtE;aACD;SACD;IACF,CAAC;IATe,oBAAkB,qBASjC,CAAA;IAED,SAAgB,gBAAgB,CAAW,IAAY,EAAE,GAAI,IAAc;QAC1E,KAAK,IAAI,CAAE,KAAK,EAAE,KAAK,CAAE,IAAI,MAAM,CAAC,OAAO,CAAE,IAAI,CAAE,EAAG;YAErD,IAAI,CAAC,EAAA,iBAAiB,CAAE,KAAK,EAAG,IAAI,CAAE,EAAG;gBAExC,MAAM,KAAK,GAAG,CAAE,GAAS,EAAG,EAAE;oBAE7B,IAAI,CAAC,GAAG;wBAAG,OAAO,GAAG,CAAA;oBACrB,IAAI,OAAO,GAAG,KAAK,QAAQ;wBAAG,OAAO,GAAG,CAAA;oBACxC,IAAI,WAAW,IAAI,GAAG;wBAAG,OAAO,GAAG,CAAC,SAAS,CAAA;oBAE7C,IAAI;wBACH,OAAO,IAAI,CAAC,SAAS,CAAE,GAAG,CAAE,CAAA;qBAC5B;oBAAC,OAAO,KAAU,EAAG;wBACrB,OAAO,CAAC,KAAK,CAAE,KAAK,CAAE,CAAA;wBACtB,OAAO,GAAG,CAAA;qBACV;gBAEF,CAAC,CAAA;gBAED,OAAO,EAAA,SAAS,CAAE,IAAI,KAAK,CAAE,eAAgB,CAAE,KAAK,GAAG,CAAE,MAAO,KAAK,CAAE,IAAI,CAAG,UAAW,KAAK,CAAE,KAAK,CAAG,EAAE,CAAE,CAAE,CAAA;aAE9G;SAED;IACF,CAAC;IAzBe,kBAAgB,mBAyB/B,CAAA;AAEF,CAAC,EA1FS,CAAC,KAAD,CAAC,QA0FV;;;;AC1FD,IAAU,CAAC,CAgDV;AAhDD,WAAU,CAAC;IACV,EAAA,SAAS,CAAC;QAET,KAAK,CAAC,OAAO;YAEZ,MAAM,MAAM,GAAG,MAAM,EAAA,kBAAkB,CAAC,QAAQ,EAAE,CAAA;YAElD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,CAAA;YACjC,EAAA,iBAAiB,CAAE,GAAG,CAAC,UAAU,EAAE,EAAA,kBAAkB,CAAC,IAAI,CAAE,CAAA;YAE5D,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAA;YACpC,MAAM,IAAI,GAAG,EAAA,gBAAgB,EAAE,CAAA;YAE/B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAE,IAAI,EAAE,IAAI,CAAE,CAAA;YACjD,EAAA,iBAAiB,CAAE,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,GAAG,EAAA,kBAAkB,CAAC,KAAK,CAAE,CAAA;QAEnF,CAAC;QAED,KAAK,CAAC,gDAAgD;YAErD,MAAM,MAAM,GAAG,MAAM,EAAA,kBAAkB,CAAC,QAAQ,EAAE,CAAA;YAElD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAA;YACpC,MAAM,IAAI,GAAG,EAAA,gBAAgB,EAAE,CAAA;YAE/B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAE,IAAI,EAAE,IAAI,CAAE,CAAA;YACjD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAE,MAAM,EAAE,IAAI,CAAE,CAAA;YAEnD,EAAA,gBAAgB,CAAE,IAAI,EAAE,IAAI,UAAU,CAAE,MAAM,CAAE,CAAE,CAAA;QAEnD,CAAC;QAED,KAAK,CAAC,oDAAoD;YAEzD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAA;YACpC,MAAM,IAAI,GAAG,EAAA,gBAAgB,EAAE,CAAA;YAE/B,MAAM,KAAK,GAAG,MAAM,EAAA,kBAAkB,CAAC,QAAQ,EAAE,CAAA;YACjD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAE,IAAI,EAAE,IAAI,CAAE,CAAA;YAEhD,MAAM,GAAG,GAAG,MAAM,EAAA,kBAAkB,CAAC,IAAI,CAAE,MAAM,KAAK,CAAC,MAAM,EAAE,CAAE,CAAA;YACjE,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,OAAO,CAAE,MAAM,EAAE,IAAI,CAAE,CAAA;YAEhD,EAAA,gBAAgB,CAAE,IAAI,EAAE,IAAI,UAAU,CAAE,MAAM,CAAE,CAAE,CAAA;QAEnD,CAAC;KAED,CAAC,CAAA;AACH,CAAC,EAhDS,CAAC,KAAD,CAAC,QAgDV;;;;AChDD,IAAU,CAAC,CAgDV;AAhDD,WAAU,CAAC;IACV,EAAA,SAAS,CAAC;QAET,KAAK,CAAC,OAAO;YAEZ,MAAM,IAAI,GAAG,MAAM,EAAA,EAAE,CAAC,uBAAuB,EAAE,CAAA;YAE/C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAA;YAC/C,EAAA,cAAc,CAAE,WAAY,CAAC,UAAU,GAAG,GAAG,CAAE,CAAA;YAC/C,EAAA,cAAc,CAAE,WAAY,CAAC,UAAU,GAAG,GAAG,CAAE,CAAA;YAE/C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAA;YAC7C,EAAA,iBAAiB,CAAE,UAAW,CAAC,UAAU,EAAE,EAAA,yBAAyB,CAAC,IAAI,CAAE,CAAA;YAE3E,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAA;YACpC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAE,IAAI,CAAE,CAAA;YAChD,EAAA,iBAAiB,CAAE,MAAM,CAAC,UAAU,EAAE,EAAA,gCAAgC,CAAE,CAAA;QAEzE,CAAC;QAED,KAAK,CAAC,gDAAgD;YAErD,MAAM,IAAI,GAAG,MAAM,EAAA,EAAE,CAAC,uBAAuB,EAAE,CAAA;YAC/C,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAA;YAEpC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAE,IAAI,CAAE,CAAA;YAChD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAE,MAAM,CAAE,CAAA;YAEnD,EAAA,gBAAgB,CAAE,IAAI,EAAE,IAAI,UAAU,CAAE,MAAM,CAAE,CAAE,CAAA;QAEnD,CAAC;QAED,KAAK,CAAC,oDAAoD;YAEzD,MAAM,IAAI,GAAG,MAAM,EAAA,EAAE,CAAC,uBAAuB,EAAE,CAAA;YAC/C,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAA;YAEpC,MAAM,KAAK,GAAG,MAAM,EAAA,yBAAyB,CAAC,IAAI,CAAE,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAE,CAAA;YAChF,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAE,IAAI,CAAE,CAAA;YAE1C,MAAM,GAAG,GAAG,MAAM,EAAA,0BAA0B,CAAC,IAAI,CAAE,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAE,CAAA;YAChF,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,OAAO,CAAE,MAAM,CAAE,CAAA;YAE1C,EAAA,gBAAgB,CAAE,IAAI,EAAE,IAAI,UAAU,CAAE,MAAM,CAAE,CAAE,CAAA;QAEnD,CAAC;KAED,CAAC,CAAA;AACH,CAAC,EAhDS,CAAC,KAAD,CAAC,QAgDV;;;;AChDD,IAAU,CAAC,CA4CV;AA5CD,WAAU,CAAC;IACV,EAAA,SAAS,CAAC;QAET,KAAK,CAAC,OAAO;YAEZ,MAAM,IAAI,GAAG,MAAM,EAAA,EAAE,CAAC,wBAAwB,EAAE,CAAA;YAEhD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAA;YAC/C,EAAA,cAAc,CAAE,WAAY,CAAC,UAAU,GAAG,GAAG,CAAE,CAAA;YAC/C,EAAA,cAAc,CAAE,WAAY,CAAC,UAAU,GAAG,GAAG,CAAE,CAAA;YAE/C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAA;YAC7C,EAAA,iBAAiB,CAAE,UAAW,CAAC,UAAU,EAAE,EAAA,0BAA0B,CAAC,IAAI,CAAE,CAAA;YAE5E,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAA;YACpC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAE,IAAI,CAAE,CAAA;YAC5C,EAAA,iBAAiB,CAAE,IAAI,CAAC,UAAU,EAAE,EAAA,6BAA6B,CAAE,CAAA;QAEpE,CAAC;QAED,KAAK,CAAC,4CAA4C;YAEjD,MAAM,OAAO,GAAG,MAAM,EAAA,EAAE,CAAC,wBAAwB,EAAE,CAAA;YACnD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAA;YACpC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAE,IAAI,CAAE,CAAA;YAE/C,EAAA,cAAc,CAAE,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,CAAE,IAAI,EAAE,IAAI,CAAE,CAAE,CAAA;QAE5D,CAAC;QAED,KAAK,CAAC,gDAAgD;YAErD,MAAM,IAAI,GAAG,MAAM,EAAA,EAAE,CAAC,wBAAwB,EAAE,CAAA;YAChD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAA;YAEpC,MAAM,KAAK,GAAG,MAAM,EAAA,2BAA2B,CAAC,IAAI,CAAE,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAE,CAAA;YACnF,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,IAAI,CAAE,IAAI,CAAE,CAAA;YAErC,MAAM,GAAG,GAAG,MAAM,EAAA,0BAA0B,CAAC,IAAI,CAAE,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAE,CAAA;YAC/E,EAAA,cAAc,CAAE,MAAM,GAAG,CAAC,MAAM,CAAE,IAAI,EAAE,IAAI,CAAE,CAAE,CAAA;QAEjD,CAAC;KAED,CAAC,CAAA;AACH,CAAC,EA5CS,CAAC,KAAD,CAAC,QA4CV;;;;AC5CD,IAAU,CAAC,CAoEV;AApED,WAAU,CAAC;IA2CV,SAAgB,mBAAmB,CAElC,KAA2B;QAG3B,MAAM,IAAI,GAAG,IAAI,CAAA;QACjB,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAA;QAElC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAA;QACzB,IAAI,MAAM,GAAG,KAAK,CAAA;QAElB,KAAK,CAAC,IAAI,CAAE,GAAE,EAAE;YACf,MAAM,GAAG,IAAI,CAAA;YACb,IAAI,CAAC,cAAc,CAAC,IAAI,CAAE,IAAI,EAAG,KAAK,CAAE,CAAA;QACzC,CAAC,CAAE,CAAA;QAEH,OAAO,GAAE,EAAE;YACV,IAAI,MAAM;gBAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAA;YACpC,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI;gBAAG,KAAK,CAAC,MAAM,GAAG,IAAI,CAAA;QAC9C,CAAC,CAAA;IAEF,CAAC;IArBe,qBAAmB,sBAqBlC,CAAA;IAEU,iBAAe,GAAG,EAAqB,CAAA;AAEnD,CAAC,EApES,CAAC,KAAD,CAAC,QAoEV;;;ACpED;AACA;AACA;ACFA;AACA;AACA;;ACFA,IAAU,CAAC,CAWV;AAXD,WAAU,GAAC;IAEV,IAAA,eAAe,CAAC,IAAI,CAAE,CAAC,CAAC,EAAE;QACzB,CAAC,CAAC,cAAc,GAAG,GAAE,EAAE,GAAE,CAAC,CAAA;QAC1B,CAAC,CAAC,cAAc,GAAG,GAAE,EAAE,GAAE,CAAC,CAAA;QAC1B,CAAC,CAAC,cAAc,GAAG,GAAE,EAAE,GAAE,CAAC,CAAA;QAC1B,CAAC,CAAC,cAAc,GAAG,GAAE,EAAE,GAAE,CAAC,CAAA;QAC1B,CAAC,CAAC,cAAc,GAAG,GAAE,EAAE,GAAE,CAAC,CAAA;QAC1B,CAAC,CAAC,cAAc,GAAG,GAAE,EAAE,CAAC,GAAE,EAAE,GAAE,CAAC,CAAA;IAChC,CAAC,CAAE,CAAA;AAEJ,CAAC,EAXS,CAAC,KAAD,CAAC,QAWV;;;;ACXD,IAAU,CAAC,CAwCV;AAxCD,WAAU,CAAC;IAEV,SAAgB,kBAAkB,CACjC,KAAmD,EACnD,KAAc;QAGd,OAAO,SAAS,gBAAgB,CAE/B,KAA2B;YAG3B,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAA;YAC1C,IAAI,OAAO;gBAAG,OAAO,EAAE,CAAA;YAEvB,IAAI,GAAG,GAAG,IAAI,CAAA;YACd,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAE,KAAK,CAAE,CAAA;YAErC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAG,EAAE,CAAC,EAAG;gBAC1C,GAAG,IAAI,CAAE,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAA;aAC5D;YAED,MAAM,KAAK,GAAG,SAAS,KAAK,qBAAqB,CAEhD;YAAE,IAAI,CAAC,OAAO,CAAE,KAAK,CAAW,CAAE,GAAG,EAAG,KAAK,EAAG,GAAI,MAAM,CAAE,CAAA;YAE7D,MAAM,IAAI,GAAG,IAAI,CAAA;YACjB,OAAO,GAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAA;QAEpC,CAAC,CAAA;IAEF,CAAC;IA7Be,oBAAkB,qBA6BjC,CAAA;IAED,CAAC,CAAC,cAAc,GAAG,kBAAkB,CAAE,MAAM,EAAG,WAAW,CAAE,CAAA;IAC7D,CAAC,CAAC,cAAc,GAAG,kBAAkB,CAAE,MAAM,EAAG,aAAa,CAAE,CAAA;IAC/D,CAAC,CAAC,cAAc,GAAG,kBAAkB,CAAE,OAAO,EAAG,WAAW,CAAE,CAAA;IAC9D,CAAC,CAAC,cAAc,GAAG,kBAAkB,CAAE,MAAM,EAAG,WAAW,CAAE,CAAA;IAC7D,CAAC,CAAC,cAAc,GAAG,kBAAkB,CAAE,KAAK,EAAG,SAAS,CAAE,CAAA;IAC1D,CAAC,CAAC,cAAc,GAAG,kBAAkB,CAAE,OAAO,EAAG,MAAM,CAAE,CAAA;AAE1D,CAAC,EAxCS,CAAC,KAAD,CAAC,QAwCV;;;ACxCD;AACA;AACA;ACFA;AACA;AACA;;ACFA,IAAU,CAAC,CAkDV;AAlDD,WAAU,CAAC;IAEV,EAAA,SAAS,CAAC;QAET,aAAa;YAEZ,MAAM,IAAI,GAAG,EAAA,cAAc,CAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAG,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAG,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAE,CAAA;YAEhE,EAAA,gBAAgB,CAAE,IAAI,EAAG;gBACxB,MAAM,EAAG,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;gBAClB,MAAM,EAAG,CAAE,EAAE,EAAG,EAAE,EAAG,EAAE,CAAE;aACzB,CAAE,CAAA;QAEJ,CAAC;QAED,kBAAkB;YAEjB,MAAM,IAAI,GAAG,EAAA,cAAc,CAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAG,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAG,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAE,CAAA;YAEhE,EAAA,gBAAgB,CAAE,IAAI,EAAG;gBACxB,MAAM,EAAG,CAAC,CAAC,EAAC,CAAC,CAAC;gBACd,MAAM,EAAG,CAAE,CAAC,CAAC,EAAC,CAAC,CAAC,EAAG,CAAC,CAAC,EAAC,CAAC,CAAC,EAAG,CAAC,CAAC,EAAC,CAAC,CAAC,CAAE;aAClC,CAAE,CAAA;QAEJ,CAAC;QAED,oBAAoB;YAEnB,MAAM,IAAI,GAAG,EAAA,cAAc,CAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAG,CAAC,CAAC,EAAC,CAAC,CAAC,EAAG,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAE,CAAA;YAE1D,EAAA,gBAAgB,CAAE,IAAI,EAAG;gBACxB,MAAM,EAAG,CAAC,CAAC,EAAC,CAAC,CAAC;gBACd,MAAM,EAAG,CAAE,CAAC,CAAC,EAAC,CAAC,CAAC,EAAG,EAAE,EAAG,CAAC,CAAC,CAAC,CAAE;aAC7B,CAAE,CAAA;QAEJ,CAAC;QAED,iBAAiB;YAEhB,MAAM,IAAI,GAAG,EAAA,cAAc,CAAE,CAAC,CAAC,EAAC,CAAC,CAAC,EAAG,CAAC,CAAC,EAAC,CAAC,CAAC,EAAG,CAAC,CAAC,EAAC,CAAC,CAAC,CAAE,CAAA;YAEpD,EAAA,gBAAgB,CAAE,IAAI,EAAG;gBACxB,MAAM,EAAG,EAAE;gBACX,MAAM,EAAG,CAAE,CAAC,CAAC,EAAC,CAAC,CAAC,EAAG,CAAC,CAAC,EAAC,CAAC,CAAC,EAAG,CAAC,CAAC,EAAC,CAAC,CAAC,CAAE;aAClC,CAAE,CAAA;QAEJ,CAAC;KAED,CAAC,CAAA;AAEH,CAAC,EAlDS,CAAC,KAAD,CAAC,QAkDV;;;;AClDD,IAAU,CAAC,CAuBV;AAvBD,WAAU,CAAC;IAEV,SAAgB,cAAc,CAAU,GAAI,KAAgB;QAE3D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAE,GAAI,KAAK,CAAC,GAAG,CAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAE,CAAE,CAAA;QAE9D,MAAM,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAG,CAAC,GAAG,KAAK,EAAG,EAAE,CAAC,EAAG;YAE1C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAEzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAG,EAAE,CAAC,EAAG;gBACzC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK;oBAAG,MAAM,MAAM,CAAA;aACxC;SAED;QAED,OAAO;YACN,MAAM,EAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAE,CAAC,EAAG,CAAC,CAAE;YAChC,MAAM,EAAG,KAAK,CAAC,GAAG,CAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAE,CAAC,CAAE,CAAE;SAC7C,CAAA;IAEF,CAAC;IAnBe,gBAAc,iBAmB7B,CAAA;AAEF,CAAC,EAvBS,CAAC,KAAD,CAAC,QAuBV;;;;ACvBD,IAAU,CAAC,CAqCV;AArCD,WAAU,CAAC;IAEV,MAAa,cAAe,SAAQ,KAAK;QAExC,MAAM,CAAU;QAEhB,YAAa,OAAgB,EAAG,GAAI,MAAgB;YAEnD,KAAK,CAAE,OAAO,CAAE,CAAA;YAEhB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;YAEpB,IAAI,MAAM,CAAC,MAAM,EAAG;gBAEnB,MAAM,MAAM,GAAG,CAAE,GAAI,MAAM,CAAC,GAAG,CAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAE,EAAG,IAAI,CAAC,KAAK,CAAE,CAAA;gBAEtE,MAAM,IAAI,GAAG,EAAA,cAAc,CAAE,GAAI,MAAM,CAAC,GAAG,CAAE,KAAK,CAAC,EAAE;oBACpD,IAAI,CAAC,KAAK;wBAAG,OAAO,EAAE,CAAA;oBACtB,OAAO,KAAK,CAAC,KAAK,CAAE,IAAI,CAAE,CAAC,OAAO,EAAE,CAAA;gBACrC,CAAC,CAAE,CAAE,CAAA;gBAEL,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,CAAE,IAAI,CAAE,CAAA;gBAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,CAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAE,YAAY,EAAG,WAAW,CAAE,CAAE,CAAC,IAAI,CAAE,IAAI,CAAE,CAAE,CAAC,IAAI,CAAE,oBAAoB,CAAE,CAAA;gBAE3J,IAAI,CAAC,KAAK,GAAG,UAAW,IAAI,CAAC,WAAW,CAAC,IAAK,sBAAuB,KAAM,sBAAuB,IAAK,EAAE,CAAA;gBACzG,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,CAAE,KAAK,CAAC,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC,OAAO,CAAE,CAAC,IAAI,CAAE,EAAE,CAAE,CAAA;aAEtE;QAEF,CAAC;QAED,MAAM;YACL,OAAO,IAAI,CAAC,OAAO,CAAA;QACpB,CAAC;KAED;IAjCY,gBAAc,iBAiC1B,CAAA;AAEF,CAAC,EArCS,CAAC,KAAD,CAAC,QAqCV;;","file":"web.test.js","sourcesContent":["namespace $ {\n\n\texport function $mol_fail( error : any ) : never {\n\t\tthrow error\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_fail_hidden( error : any ) : never {\n\t\tthrow error /// Use 'Never Pause Here' breakpoint in DevTools or simply blackbox this script\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_test( set : { [ name : string ] : string | ( ( context : $ )=> void ) } ) {\n\t\t\n\t\tfor( let name in set ) {\n\n\t\t\tconst code = set[ name ]\n\t\t\tconst test = ( typeof code === 'string' ) ? new Function( '' , code ) as ()=> void : code\n\t\t\t\n\t\t\t$mol_test_all.push( test )\n\t\t}\n\n\t\t$mol_test_schedule()\n\t}\n\n\texport let $mol_test_mocks = [] as Array< ( context : $ )=> void >\n\n\texport const $mol_test_all = [] as Array< ( context : $ )=> void >\n\n\texport async function $mol_test_run() {\n\n\t\tfor( var test of $mol_test_all ) {\n\n\t\t\tlet context = Object.create( $$ )\n\t\t\tfor( let mock of $mol_test_mocks ) await mock( context )\n\t\t\t\n\t\t\tawait test( context )\n\t\t}\n\t\t\n\t\t$$.$mol_log3_done({\n\t\t\tplace: '$mol_test',\n\t\t\tmessage: 'All tests passed',\n\t\t\tcount: $mol_test_all.length,\n\t\t})\n\t\t\n\t}\n\t\n\tlet scheduled = false\n\texport function $mol_test_schedule() {\n\n\t\tif( scheduled ) return\n\t\tscheduled = true\n\n\t\tsetTimeout( async ()=> {\n\t\t\t\n\t\t\tscheduled = false\n \t\t\t\n\t\t\ttry {\n\t\t\t\tawait $mol_test_run()\n\t\t\t} finally {\n\t\t\t\t$$.$mol_test_complete()\n\t\t\t}\n\t\t\t\n\t\t} , 0 )\n\t\t\n\t}\n\n\t$mol_test_mocks.push( context => {\n\t\tlet seed = 0\n\n\t\tcontext.Math = Object.create( Math )\n\t\tcontext.Math.random = ()=> Math.sin( seed++ )\n\n\t\tconst forbidden = [ 'XMLHttpRequest' , 'fetch' ]\n\n\t\tfor( let api of forbidden ) {\n\t\t\tcontext[ api ] = new Proxy( function(){} , {\n\t\t\t\tget() {\n\t\t\t\t\t$mol_fail_hidden( new Error( `${ api } is forbidden in tests` ) )\n\t\t\t\t} ,\n\t\t\t\tapply() {\n\t\t\t\t\t$mol_fail_hidden( new Error( `${ api } is forbidden in tests` ) )\n\t\t\t\t} ,\n\t\t\t} )\n\t\t}\n\t\t\n\t} )\n\n\t$mol_test({\n\n\t\t'mocked Math.random'( $ ) {\n\t\t\tconsole.assert( $.Math.random() === 0 )\n\t\t\tconsole.assert( $.Math.random() === Math.sin(1) )\n\t\t} ,\n\n\t\t'forbidden XMLHttpRequest'( $ ) {\n\t\t\ttry {\n\t\t\t\tconsole.assert( void new $.XMLHttpRequest )\n\t\t\t} catch( error: any ) {\n\t\t\t\tconsole.assert( error.message === 'XMLHttpRequest is forbidden in tests' )\n\t\t\t}\n\t\t} ,\n\n\t\t'forbidden fetch'( $ ) {\n\t\t\ttry {\n\t\t\t\tconsole.assert( void $.fetch('') )\n\t\t\t} catch( error: any ) {\n\t\t\t\tconsole.assert( error.message === 'fetch is forbidden in tests' )\n\t\t\t}\n\t\t} ,\n\n\t})\n\n}\n","namespace $ {\n\t\n\texport function $mol_test_complete() {\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport var $mol_dom_context : typeof globalThis\n\t\n}\n","namespace $ {\n\t\n\t$mol_dom_context = self as any\n\t\n}\n","namespace $ {\n\n\texport function $mol_dom_render_children (\n\t\tel : Element | DocumentFragment ,\n\t\tchildNodes : NodeList | Array< Node | string | null >\n\t) {\n\t\tconst node_set = new Set< Node | string | null >( childNodes )\n\t\t\n\t\tlet nextNode : Node | null = el.firstChild\n\t\tfor( let view of childNodes ) {\n\n\t\t\tif( view == null ) continue\n\n\t\t\tif( view instanceof $mol_dom_context.Node ) {\n\t\t\t\t\n\t\t\t\twhile( true ) {\n\t\t\t\t\tif( !nextNode ) {\n\t\t\t\t\t\tel.appendChild( view )\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tif( nextNode == view ) {\n\t\t\t\t\t\tnextNode = nextNode.nextSibling\n\t\t\t\t\t\tbreak\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif( node_set.has( nextNode ) ) {\n\t\t\t\t\t\t\tel.insertBefore( view , nextNode )\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst nn = nextNode.nextSibling\n\t\t\t\t\t\t\tel.removeChild( nextNode )\n\t\t\t\t\t\t\tnextNode = nn\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\tif( nextNode && nextNode.nodeName === '#text' ) {\n\t\t\t\t\tconst str = String( view )\n\t\t\t\t\tif( nextNode.nodeValue !== str ) nextNode.nodeValue = str\n\t\t\t\t\tnextNode = nextNode.nextSibling\n\t\t\t\t} else {\n\t\t\t\t\tconst textNode = $mol_dom_context.document.createTextNode( String( view ) )\n\t\t\t\t\tel.insertBefore( textNode , nextNode )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\twhile( nextNode ) {\n\t\t\tconst currNode = nextNode\n\t\t\tnextNode = currNode.nextSibling\n\t\t\tel.removeChild( currNode )\n\t\t}\n\t}\n\n}\n",null,null,null,null,null,"/** @jsx $mol_jsx */\nnamespace $ {\n\t\n\t$mol_test({\n\t\t\n\t\t'Make empty div'() {\n\t\t\t$mol_assert_equal( (<div/>).outerHTML , '<div></div>' )\n\t\t} ,\n\t\t\n\t\t'Define native field'() {\n\t\t\t\n\t\t\tconst dom = <input value='123' /> as HTMLInputElement\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML , '<input value=\"123\">' )\n\t\t\t$mol_assert_equal( dom.value , '123' )\n\n\t\t} ,\n\t\t\n\t\t'Define classes'() {\n\t\t\t\n\t\t\tconst dom = <div class={ 'foo bar' } />\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML , '<div class=\"foo bar\"></div>' )\n\n\t\t} ,\n\t\t\n\t\t'Define styles'() {\n\t\t\t\n\t\t\tconst dom = <div style={{ color : 'red' }} />\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML , '<div style=\"color: red;\"></div>' )\n\n\t\t} ,\n\t\t\n\t\t'Define dataset'() {\n\t\t\t\n\t\t\tconst dom = <div dataset={{ foo : 'bar' }} />\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML , '<div data-foo=\"bar\"></div>' )\n\n\t\t} ,\n\t\t\n\t\t'Define attributes'() {\n\t\t\t\n\t\t\tconst dom = <div lang=\"ru\" hidden />\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML , '<div lang=\"ru\" hidden=\"\"></div>' )\n\n\t\t} ,\n\t\t\n\t\t'Define child nodes'() {\n\n\t\t\tconst dom =\n\t\t\t\t<div>\n\t\t\t\t\thello\n\t\t\t\t\t<strong>world</strong>\n\t\t\t\t\t!\n\t\t\t\t</div>\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML , '<div>hello<strong>world</strong>!</div>' )\n\n\t\t} ,\n\n\t\t'Function as component'() {\n\n\t\t\tconst Button = ( { hint } : { hint : string } , target : ()=> string ) => {\n\t\t\t\treturn <button title={ hint } >{ target() }</button>\n\t\t\t}\n\n\t\t\tconst dom = <Button id=\"/foo\" hint=\"click me\">{ ()=> 'hey!' }</Button>\n\n\t\t\t$mol_assert_equal( dom.outerHTML , '<button title=\"click me\" id=\"/foo\">hey!</button>' )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t// 'Standart classes as component'() {\n\n\t\t// \tconst dom = <HTMLButtonElement id=\"/foo\" title=\"click me\">hey!</HTMLButtonElement>\n\n\t\t// \t$mol_assert_equal( dom.outerHTML , '<button title=\"click me\" id=\"/foo\">hey!</button>' )\n\t\t\t\n\t\t// } ,\n\t\t\n\t\t'Nested guid generation'() {\n\n\t\t\tconst Foo = ()=> {\n\t\t\t\treturn <div>\n\t\t\t\t\t<Bar id=\"/bar\">\n\t\t\t\t\t\t<img id=\"/icon\" />\n\t\t\t\t\t</Bar>\n\t\t\t\t</div>\n\t\t\t}\n\n\t\t\tconst Bar = ( props : {} , icon : Element )=> {\n\t\t\t\treturn <span>{ icon }</span>\n\t\t\t}\n\n\t\t\tconst dom = <Foo id=\"/foo\" />\n\n\t\t\t$mol_assert_equal( dom.outerHTML , '<div id=\"/foo\"><span id=\"/foo/bar\"><img id=\"/foo/icon\"></span></div>' )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'Fail on non unique ids'() {\n\n\t\t\tconst App = ()=> {\n\t\t\t\treturn <div>\n\t\t\t\t\t<span id=\"/bar\" />\n\t\t\t\t\t<span id=\"/bar\" />\n\t\t\t\t</div>\n\t\t\t}\n\n\t\t\t$mol_assert_fail( ()=> <App id=\"/foo\" /> , 'JSX already has tag with id \"/bar\"' )\n\t\t\t\n\t\t} ,\n\t\t\n\t})\n\t\n}\n","namespace $ {\n\n\texport let $mol_jsx_prefix = ''\n\n\texport let $mol_jsx_booked = null as null | Set< string >\n\t\n\texport let $mol_jsx_document : $mol_jsx.JSX.ElementClass['ownerDocument'] = {\n\t\tgetElementById : ()=> null ,\n\t\tcreateElementNS : ( space: string, name : string )=> $mol_dom_context.document.createElementNS( space, name ) as any,\n\t\tcreateDocumentFragment : ()=> $mol_dom_context.document.createDocumentFragment(),\n\t}\n\t\n\texport const $mol_jsx_frag = ''\n\n\texport function $mol_jsx<\n\t\tProps extends $mol_jsx.JSX.IntrinsicAttributes,\n\t\tChildren extends Array< Node | string >\n\t>(\n\t\tElem : string\n\t\t\t| ( ( props : Props , ... children : Children ) => Element ) ,\n\t\tprops : Props ,\n\t\t... childNodes : Children\n\t) : Element | DocumentFragment {\n\n\t\tconst id = props && props.id || ''\n\n\t\tif( Elem && $mol_jsx_booked ) {\n\t\t\tif( $mol_jsx_booked.has( id ) ) {\n\t\t\t\t$mol_fail( new Error( `JSX already has tag with id ${ JSON.stringify( id ) }` ) )\n\t\t\t} else {\n\t\t\t\t$mol_jsx_booked.add( id )\n\t\t\t}\n\t\t}\n\n\t\tconst guid = $mol_jsx_prefix + id\n\n\t\tlet node: Element | DocumentFragment | null = guid ? $mol_jsx_document.getElementById( guid ) : null\n\n\t\tif( typeof Elem !== 'string' ) {\n\n\t\t\tif( 'prototype' in Elem ) {\n\n\t\t\t\tconst view = node && node[ Elem as any ] || new ( Elem as any )\n\t\t\t\t\n\t\t\t\tObject.assign( view , props )\n\t\t\t\tview[ Symbol.toStringTag ] = guid\n\t\t\t\t\n\t\t\t\tview.childNodes = childNodes\n\t\t\t\t\n\t\t\t\tif( !view.ownerDocument ) view.ownerDocument = $mol_jsx_document\n\t\t\t\t\n\t\t\t\tnode = view.valueOf()\n\t\t\t\t\n\t\t\t\tnode![ Elem as any ] = view\n\t\t\t\t\n\t\t\t\treturn node!\n\n\t\t\t} else {\n\n\t\t\t\tconst prefix = $mol_jsx_prefix\n\t\t\t\tconst booked = $mol_jsx_booked\n\t\t\t\t\n\t\t\t\ttry {\n\t\n\t\t\t\t\t$mol_jsx_prefix = guid\n\t\t\t\t\t$mol_jsx_booked = new Set\n\t\n\t\t\t\t\treturn ( Elem as any )( props , ... childNodes )\n\t\t\t\t\t\n\t\t\t\t} finally {\n\n\t\t\t\t\t$mol_jsx_prefix = prefix\n\t\t\t\t\t$mol_jsx_booked = booked\n\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\n\t\tif( !node ) {\n\t\t\tnode = Elem\n\t\t\t\t? $mol_jsx_document.createElementNS( props?.xmlns ?? 'http://www.w3.org/1999/xhtml', Elem )\n\t\t\t\t: $mol_jsx_document.createDocumentFragment()\n\t\t}\n\n\t\t$mol_dom_render_children( node , ( [] as ( Node | string )[] ).concat( ... childNodes ) )\n\t\tif( !Elem ) return node\n\n\t\tfor( const key in props ) {\n\n\t\t\tif( typeof props[ key ] === 'string' ) {\n\n\t\t\t\t;( node as Element ).setAttribute( key , props[ key as any ] )\n\n\t\t\t} else if(\n\t\t\t\tprops[ key ] &&\n\t\t\t\ttypeof props[ key ] === 'object' &&\n\t\t\t\tReflect.getPrototypeOf( props[ key ] as any ) === Reflect.getPrototypeOf({})\n\t\t\t) {\n\n\t\t\t\tif( typeof node[ key as any ] === 'object' ) {\n\t\t\t\t\tObject.assign( ( node as any )[ key ] , props[ key ] )\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\n\t\t\t} else {\n\n\t\t\t\tnode[ key as any ] = props[ key ]\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\n\t\tif( guid ) ( node as Element ).id = guid\n\n\t\treturn node\n\n\t}\n\n\texport declare namespace $mol_jsx.JSX {\n\n\t\texport interface Element extends HTMLElement {\n\t\t\tclass?: string\n\t\t}\n\t\t\n\t\texport interface ElementClass {\n\t\t\tattributes : {}\n\t\t\townerDocument : Pick< Document , 'getElementById' | 'createElementNS' | 'createDocumentFragment' >\n\t\t\tchildNodes : Array< Node | string >\n\t\t\tvalueOf() : Element\n\t\t}\n\t\t\n\t\ttype OrString< Dict > = {\n\t\t\t[ key in keyof Dict ]: Dict[ key ] | string\n\t\t}\n\t\t\n\t\t/** Props for html elements */\n\t\texport type IntrinsicElements = {\n\t\t\t[ key in keyof ElementTagNameMap ]? : $.$mol_type_partial_deep< OrString<\n\t\t\t\t& Element\n\t\t\t\t& IntrinsicAttributes\n\t\t\t\t& ElementTagNameMap[ key ]\n\t\t\t> >\n\t\t}\n\t\t\n\t\t/** Additional undeclared props */\n\t\texport interface IntrinsicAttributes {\n\t\t\tid? : string\n\t\t\txmlns? : string\n\t\t}\n\t\t\n\t\texport interface ElementAttributesProperty {\n\t\t\tattributes : {\n\t\t\t}\n\t\t}\n\t\t\n\t\t// export type IntrinsicClassAttributes< Class > = $.$mol_type_partial_deep< Omit< Class , 'valueOf' > >\n\t\t\n\t\tinterface ElementChildrenAttribute {\n\t\t}\n\t\n\t}\n\n}\n","/** @jsx $mol_jsx */\nnamespace $ {\n\n\t$mol_test({\n\n\t\t'nulls & undefineds'() {\n\n\t\t\t$mol_assert_ok( $mol_compare_deep( null , null ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( undefined , undefined ) )\n\t\t\t\n\t\t\t$mol_assert_not( $mol_compare_deep( undefined , null ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( {} , null ) )\n\t\t\t\n\t\t} ,\n\n\t\t'number'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( 1 , 1 ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( Number.NaN , Number.NaN ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( 1 , 2 ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( Object( 1 ) , Object( 1 ) ) )\n\t\t} ,\n\n\t\t'POJO'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( {} , {} ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( { a : 1 } , { b : 2 } ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( { a : 1 } , { a : 2 } ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( {} , { a : undefined } ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( { a: 1, b: 2 } , { b: 2, a: 1 } ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( { a : { b : 1 } } , { a : { b : 1 } } ) )\n\t\t} ,\n\n\t\t'Array'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( [] , [] ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( [ 1 , [2] ] , [ 1 , [2] ] ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( [ 1 , 2 ] , [ 1 , 3 ] ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( [ 1 , 2 , ] , [ 1 , 3 , undefined ] ) )\n\t\t} ,\n\n\t\t'Non POJO are different'() {\n\t\t\t\n\t\t\tclass Thing extends Object {}\n\t\t\t$mol_assert_not( $mol_compare_deep( new Thing , new Thing ) )\n\t\t\t\n\t\t\t$mol_assert_not( $mol_compare_deep( ()=> 1 , ()=>1 ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new RangeError( 'Test error' ) , new RangeError( 'Test error' ) ) )\n\t\t\t\n\t\t} ,\n\n\t\t'same POJOs with cyclic reference'() {\n\n\t\t\tconst a = { foo : {} }\n\t\t\ta['self'] = a\n\n\t\t\tconst b = { foo : {} }\n\t\t\tb['self'] = b\n\n\t\t\t$mol_assert_ok( $mol_compare_deep( a , b ) )\n\n\t\t} ,\n\n\t\t'Date'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Date( 12345 ) , new Date( 12345 ) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new Date( 12345 ) , new Date( 12346 ) ) )\n\t\t} ,\n\n\t\t'RegExp'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( /\\x22/mig , /\\x22/mig ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( /\\x22/mig , /\\x21/mig ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( /\\x22/mig , /\\x22/mg ) )\n\t\t} ,\n\n\t\t'Map'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Map , new Map ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Map([ [ [1] , [2] ] ]) , new Map([ [ [1] , [2] ] ]) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new Map([ [ 1 , 2 ] ]) , new Map([ [ 1 , 3 ] ]) ) )\n\t\t} ,\n\t\t\n\t\t'Set'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Set , new Set ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Set([ 1 , [2] ]) , new Set([ 1 , [2] ]) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new Set([ 1 ]) , new Set([ 2 ]) ) )\n\t\t} ,\n\t\t\n\t\t'Uint8Array'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Uint8Array , new Uint8Array ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Uint8Array([ 0 ]) , new Uint8Array([ 0 ]) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new Uint8Array([ 0 ]) , new Uint8Array([ 1 ]) ) )\n\t\t} ,\n\t\t\n\t})\n\n}\n","namespace $ {\n\n\tlet cache = new WeakMap< any , WeakMap< any , boolean > >()\n\n\texport function $mol_compare_deep< Value >( left : Value , right : Value ) : boolean {\n\n\t\tif( Object.is( left , right ) ) return true\n\n\t\tif( left === null ) return false\n\t\tif( right === null ) return false\n\n\t\tif( typeof left !== 'object' ) return false\n\t\tif( typeof right !== 'object' ) return false\n\n\t\tif( left['constructor'] !== right['constructor'] ) return false\n\n\t\tlet left_cache = cache.get( left )\n\t\tif( left_cache ) {\n\n\t\t\tconst right_cache = left_cache.get( right )\n\t\t\tif( typeof right_cache === 'boolean' ) return right_cache\n\t\t\t\n\t\t} else {\n\t\t\t\n\t\t\tleft_cache = new WeakMap< any , boolean >()\n\t\t\tcache.set( left , left_cache )\n\t\t\tleft_cache.set( right, true )\n\n\t\t}\n\n\t\tif( left instanceof RegExp ) return left.toString() === right['toString']()\n\t\tif( left instanceof Date ) return Object.is( left.valueOf(), right['valueOf']() )\n\n\t\tlet result! : boolean\n\n\t\ttry {\n\n\t\t\tif( Symbol.iterator in left ) {\n\t\t\t\t\n\t\t\t\tconst left_iter = left[ Symbol.iterator ]()\n\t\t\t\tconst right_iter = right[ Symbol.iterator ]()\n\t\n\t\t\t\twhile( true ) {\n\n\t\t\t\t\tconst left_next = left_iter.next()\n\t\t\t\t\tconst right_next = right_iter.next()\n\n\t\t\t\t\tif( left_next.done !== right_next.done ) return result = false\n\t\t\t\t\tif( left_next.done ) break\n\n\t\t\t\t\tif( !$mol_compare_deep( left_next.value , right_next.value ) ) return result = false\n\n\t\t\t\t}\n\n\t\t\t\treturn result = true\n\n\t\t\t}\n\t\t\t\n\t\t\tif( left['constructor'] !== ({}).constructor ) return result = false\n\n\t\t\tlet count = 0\n\n\t\t\tfor( let key in left ) {\n\n\t\t\t\ttry {\n\n\t\t\t\t\tif( !$mol_compare_deep( left[key] , right[key] ) ) return result = false\n\t\t\t\t\n\t\t\t\t} catch( error: any ) {\n\n\t\t\t\t\t$mol_fail_hidden( new $mol_error_mix( `Failed ${ JSON.stringify( key ) } fields comparison of ${left} and ${right}` , error ) )\n\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t++ count\n\n\t\t\t}\n\t\n\t\t\tfor( let key in right ) {\n\n\t\t\t\t--count\n\t\t\t\t\n\t\t\t\tif( count < 0 ) return result = false\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\treturn result = true\n\n\t\t} finally {\n\t\t\t\n\t\t\tleft_cache.set( right , result )\n\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\t$mol_test( {\n\t\t\n\t\t'must be false'() {\n\t\t\t$mol_assert_not( 0 )\n\t\t} ,\n\t\t\n\t\t'must be true'() {\n\t\t\t$mol_assert_ok( 1 )\n\t\t} ,\n\t\t\n\t\t'two must be equal'() {\n\t\t\t$mol_assert_equal( 2 , 2 )\n\t\t} ,\n\t\t\n\t\t'three must be equal'() {\n\t\t\t$mol_assert_equal( 2 , 2 , 2 )\n\t\t} ,\n\t\t\n\t\t'two must be unique'() {\n\t\t\t$mol_assert_unique( [ 3 ] , [ 3 ] )\n\t\t} ,\n\t\t\n\t\t'three must be unique'() {\n\t\t\t$mol_assert_unique( [ 3 ] , [ 3 ] , [ 3 ] )\n\t\t} ,\n\t\t\n\t\t'two must be alike'() {\n\t\t\t$mol_assert_like( [ 3 ] , [ 3 ] )\n\t\t} ,\n\t\t\n\t\t'three must be alike'() {\n\t\t\t$mol_assert_like( [ 3 ] , [ 3 ] , [ 3 ] )\n\t\t} ,\n\t\t\n\t} )\n}\n","namespace $ {\n\t\n\texport function $mol_assert_ok( value : any ) {\n\t\tif( value ) return\n\t\t$mol_fail( new Error( `${value} ≠ true` ) )\n\t}\n\t\n\texport function $mol_assert_not( value : any ) {\n\t\tif( !value ) return\n\t\t$mol_fail( new Error( `${value} ≠ false` ) )\n\t}\n\t\n\texport function $mol_assert_fail( handler : ()=> any , ErrorRight? : any ) {\n\t\t\n\t\tconst fail = $.$mol_fail\n\t\t\n\t\ttry {\n\t\t\t$.$mol_fail = $.$mol_fail_hidden\n\t\t\t\n\t\t\thandler()\n\n\t\t} catch( error: any ) {\n\t\t\t\n\t\t\tif( !ErrorRight ) return error\n\t\t\t\n\t\t\t$.$mol_fail = fail\n\n\t\t\tif( typeof ErrorRight === 'string' ) {\n\t\t\t\t$mol_assert_equal( error.message, ErrorRight )\n\t\t\t} else {\n\t\t\t\t$mol_assert_ok( error instanceof ErrorRight )\n\t\t\t}\n\t\t\t\n\t\t\treturn error\n\n\t\t} finally {\n\t\t\t$.$mol_fail = fail\n\t\t}\n\n\t\t$mol_fail( new Error( 'Not failed' ) )\n\t}\n\t\n\texport function $mol_assert_equal< Value >( ... args : [ Value, Value, ...Value[] ] ) {\n\t\tfor( let i = 0 ; i < args.length ; ++i ) {\n\t\t\tfor( let j = 0 ; j < args.length ; ++j ) {\n\t\t\t\tif( i === j ) continue\n\t\t\t\tif( Number.isNaN( args[i] as any as number ) && Number.isNaN( args[j] as any as number ) ) continue\n\t\t\t\tif( args[i] !== args[j] ) $mol_fail( new Error( `Not equal (${i+1}:${j+1})\\n${ args[i] }\\n${ args[j] }` ) )\n\t\t\t}\n\t\t}\n\t}\n\t\n\texport function $mol_assert_unique( ... args : [ any, any, ...any[] ] ) {\n\t\tfor( let i = 0 ; i < args.length ; ++i ) {\n\t\t\tfor( let j = 0 ; j < args.length ; ++j ) {\n\t\t\t\tif( i === j ) continue\n\t\t\t\tif( args[i] === args[j] || ( Number.isNaN( args[i] as any as number ) && Number.isNaN( args[j] as any as number ) ) ) {\n\t\t\t\t\t$mol_fail( new Error( `args[${ i }] = args[${ j }] = ${ args[i] }` ) )\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t\n\texport function $mol_assert_like< Value >( head : Value, ... tail : Value[]) {\n\t\tfor( let [ index, value ] of Object.entries( tail ) ) {\n\n\t\t\tif( !$mol_compare_deep( value , head ) ) {\n\n\t\t\t\tconst print = ( val : any ) => {\n\t\t\t\t\t\n\t\t\t\t\tif( !val ) return val\n\t\t\t\t\tif( typeof val !== 'object' ) return val\n\t\t\t\t\tif( 'outerHTML' in val ) return val.outerHTML\n\t\t\t\t\t\n\t\t\t\t\ttry {\n\t\t\t\t\t\treturn JSON.stringify( val )\n\t\t\t\t\t} catch( error: any ) {\n\t\t\t\t\t\tconsole.error( error )\n\t\t\t\t\t\treturn val\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn $mol_fail( new Error( `Not like (1:${ + index + 2 })\\n${ print( head ) }\\n---\\n${ print( value ) }` ) )\n\n\t\t\t}\n\n\t\t}\n\t}\n\t\n}\n","namespace $ {\n\t$mol_test({\n\t\t\n\t\tasync 'sizes'() {\n\t\t\t\n\t\t\tconst cipher = await $mol_crypto_secret.generate()\n\t\t\t\n\t\t\tconst key = await cipher.serial()\n\t\t\t$mol_assert_equal( key.byteLength, $mol_crypto_secret.size )\n\t\t\t\n\t\t\tconst data = new Uint8Array([1,2,3])\n\t\t\tconst salt = $mol_crypto_salt()\n\t\t\t\n\t\t\tconst closed = await cipher.encrypt( data, salt )\n\t\t\t$mol_assert_equal( closed.byteLength, data.byteLength + $mol_crypto_secret.extra )\n\t\t\t\n\t\t},\n\t\t\n\t\tasync 'decrypt self encrypted with auto generated key'() {\n\t\t\t\n\t\t\tconst cipher = await $mol_crypto_secret.generate()\n\t\t\t\n\t\t\tconst data = new Uint8Array([1,2,3])\n\t\t\tconst salt = $mol_crypto_salt()\n\t\t\t\n\t\t\tconst closed = await cipher.encrypt( data, salt )\n\t\t\tconst opened = await cipher.decrypt( closed, salt )\n\t\t\t\n\t\t\t$mol_assert_like( data, new Uint8Array( opened ) )\n\t\t\t\n\t\t},\n\t\t\n\t\tasync 'decrypt encrypted with exported auto generated key'() {\n\t\t\t\n\t\t\tconst data = new Uint8Array([1,2,3])\n\t\t\tconst salt = $mol_crypto_salt()\n\t\t\t\n\t\t\tconst Alice = await $mol_crypto_secret.generate()\n\t\t\tconst closed = await Alice.encrypt( data, salt )\n\t\t\t\n\t\t\tconst Bob = await $mol_crypto_secret.from( await Alice.serial() )\n\t\t\tconst opened = await Bob.decrypt( closed, salt )\n\t\t\t\n\t\t\t$mol_assert_like( data, new Uint8Array( opened ) )\n\t\t\t\n\t\t},\n\t\t\n\t})\n}\n","namespace $ {\n\t$mol_test({\n\t\t\n\t\tasync 'sizes'() {\n\t\t\t\n\t\t\tconst pair = await $$.$mol_crypto_cipher_pair()\n\t\t\t\n\t\t\tconst key_private = await pair.private.serial()\n\t\t\t$mol_assert_ok( key_private!.byteLength > 630 )\n\t\t\t$mol_assert_ok( key_private!.byteLength < 640 )\n\t\t\t\n\t\t\tconst key_public = await pair.public.serial()\n\t\t\t$mol_assert_equal( key_public!.byteLength, $mol_crypto_cipher_public.size )\n\t\t\t\n\t\t\tconst data = new Uint8Array([1,2,3])\n\t\t\tconst closed = await pair.public.encrypt( data )\n\t\t\t$mol_assert_equal( closed.byteLength, $mol_crypto_cipher_ecrypted_size )\n\t\t\t\n\t\t},\n\t\t\n\t\tasync 'decrypt self encrypted with auto generated key'() {\n\t\t\t\n\t\t\tconst pair = await $$.$mol_crypto_cipher_pair()\n\t\t\tconst data = new Uint8Array([1,2,3])\n\t\t\t\n\t\t\tconst closed = await pair.public.encrypt( data )\n\t\t\tconst opened = await pair.private.decrypt( closed )\n\t\t\t\n\t\t\t$mol_assert_like( data, new Uint8Array( opened ) )\n\t\t\t\n\t\t},\n\t\t\n\t\tasync 'decrypt encrypted with exported auto generated key'() {\n\t\t\t\n\t\t\tconst pair = await $$.$mol_crypto_cipher_pair()\n\t\t\tconst data = new Uint8Array([1,2,3])\n\t\t\t\n\t\t\tconst Alice = await $mol_crypto_cipher_public.from( await pair.public.serial() )\n\t\t\tconst closed = await Alice.encrypt( data )\n\t\t\t\n\t\t\tconst Bob = await $mol_crypto_cipher_private.from( await pair.private.serial() )\n\t\t\tconst opened = await Bob.decrypt( closed )\n\t\t\t\n\t\t\t$mol_assert_like( data, new Uint8Array( opened ) )\n\t\t\t\n\t\t},\n\t\t\n\t})\n}\n","namespace $ {\n\t$mol_test({\n\t\t\n\t\tasync 'sizes'() {\n\t\t\t\n\t\t\tconst pair = await $$.$mol_crypto_auditor_pair()\n\t\t\t\n\t\t\tconst key_private = await pair.private.serial()\n\t\t\t$mol_assert_ok( key_private!.byteLength > 190 )\n\t\t\t$mol_assert_ok( key_private!.byteLength < 200 )\n\t\t\t\n\t\t\tconst key_public = await pair.public.serial()\n\t\t\t$mol_assert_equal( key_public!.byteLength, $mol_crypto_auditor_public.size )\n\t\t\t\n\t\t\tconst data = new Uint8Array([1,2,3])\n\t\t\tconst sign = await pair.private.sign( data )\n\t\t\t$mol_assert_equal( sign.byteLength, $mol_crypto_auditor_sign_size )\n\t\t\t\n\t\t},\n\t\t\n\t\tasync 'verify self signed with auto generated key'() {\n\t\t\t\n\t\t\tconst auditor = await $$.$mol_crypto_auditor_pair()\n\t\t\tconst data = new Uint8Array([1,2,3])\n\t\t\tconst sign = await auditor.private.sign( data )\n\t\t\t\n\t\t\t$mol_assert_ok( await auditor.public.verify( data, sign ) )\n\t\t\t\n\t\t},\n\t\t\n\t\tasync 'verify signed with exported auto generated key'() {\n\t\t\t\n\t\t\tconst pair = await $$.$mol_crypto_auditor_pair()\n\t\t\tconst data = new Uint8Array([1,2,3])\n\t\t\t\n\t\t\tconst Alice = await $mol_crypto_auditor_private.from( await pair.private.serial() )\n\t\t\tconst sign = await Alice.sign( data )\n\t\t\t\n\t\t\tconst Bob = await $mol_crypto_auditor_public.from( await pair.public.serial() )\n\t\t\t$mol_assert_ok( await Bob.verify( data, sign ) )\n\t\t\t\n\t\t},\n\t\t\n\t})\n}\n","namespace $ {\n\n\t/** Logger event data */\n\texport type $mol_log3_event< Fields > = {\n\t\t[ key in string ] : unknown\n\t} & {\n\t\t\n\t\t/** Time of event creation */\n\t\ttime? : string\n\n\t\t/** Place of event creation */\n\t\tplace : unknown\n\n\t\t/** Short description of event */\n\t\tmessage : string\n\n\t} & Fields\n\n\t/** Logger function */\n\texport type $mol_log3_logger< Fields , Res = void > = (\n\t\tthis : $ ,\n\t\tevent : $mol_log3_event< Fields > ,\n\t)=> Res\n\n\t/** Log begin of some task */\n\texport declare let $mol_log3_come : $mol_log3_logger<{}>\n\t\n\t/** Log end of some task */\n\texport declare let $mol_log3_done : $mol_log3_logger<{}>\n\t\n\t/** Log error */\n\texport declare let $mol_log3_fail : $mol_log3_logger<{}>\n\t\n\t/** Log warning message */\n\texport declare let $mol_log3_warn : $mol_log3_logger<{ hint : string }>\n\t\n\t/** Log some generic event */\n\texport declare let $mol_log3_rise : $mol_log3_logger<{}>\n\n\t/** Log begin of log group, returns func to close group */\n\texport declare let $mol_log3_area : $mol_log3_logger< {} , ()=> void >\n\n\t/** Log begin of collapsed group only when some logged inside, returns func to close group */\n\texport function $mol_log3_area_lazy(\n\t\tthis : $ ,\n\t\tevent : $mol_log3_event<{}> ,\n\t) {\n\n\t\tconst self = this\n\t\tconst stack = self.$mol_log3_stack\n\n\t\tconst deep = stack.length\n\t\tlet logged = false\n\n\t\tstack.push( ()=> {\n\t\t\tlogged = true\n\t\t\tself.$mol_log3_area.call( self , event )\n\t\t} )\n\n\t\treturn ()=> {\n\t\t\tif( logged ) self.console.groupEnd()\n\t\t\tif( stack.length > deep ) stack.length = deep\n\t\t}\n\n\t}\n\n\texport let $mol_log3_stack = [] as ( ()=> void )[]\n\n}\n",null,null,"namespace $ {\n\n\t$mol_test_mocks.push( $ => {\n\t\t$.$mol_log3_come = ()=> {}\n\t\t$.$mol_log3_done = ()=> {}\n\t\t$.$mol_log3_fail = ()=> {}\n\t\t$.$mol_log3_warn = ()=> {}\n\t\t$.$mol_log3_rise = ()=> {}\n\t\t$.$mol_log3_area = ()=> ()=> {}\n\t} )\n\n}\n","namespace $ {\n\n\texport function $mol_log3_web_make(\n\t\tlevel : $mol_type_keys_extract< Console, Function >,\n\t\tcolor : string,\n\t) {\n\n\t\treturn function $mol_log3_logger(\n\t\t\tthis : $ ,\n\t\t\tevent : $mol_log3_event<{}> ,\n\t\t) {\n\n\t\t\tconst pending = this.$mol_log3_stack.pop()\n\t\t\tif( pending ) pending()\n\n\t\t\tlet tpl = '%c'\n\t\t\tconst chunks = Object.values( event )\n\n\t\t\tfor( let i = 0 ; i < chunks.length ; ++i ) {\n\t\t\t\ttpl += ( typeof chunks[i] === 'string' ) ? ' ⦙ %s' : ' ⦙ %o'\n\t\t\t}\n\t\n\t\t\tconst style = `color:${color};font-weight:bolder`\n\n\t\t\t;( this.console[ level ] as any )( tpl , style , ... chunks )\n\n\t\t\tconst self = this\n\t\t\treturn ()=> self.console.groupEnd()\n\n\t\t}\n\n\t}\n\n\t$.$mol_log3_come = $mol_log3_web_make( 'info' , 'royalblue' )\n\t$.$mol_log3_done = $mol_log3_web_make( 'info' , 'forestgreen' )\n\t$.$mol_log3_fail = $mol_log3_web_make( 'error' , 'orangered' )\n\t$.$mol_log3_warn = $mol_log3_web_make( 'warn' , 'goldenrod' )\n\t$.$mol_log3_rise = $mol_log3_web_make( 'log' , 'magenta' )\n\t$.$mol_log3_area = $mol_log3_web_make( 'group' , 'cyan' )\n\n}\n",null,null,"namespace $ {\n\n\t$mol_test({\n\n\t\t'equal paths' () {\n\n\t\t\tconst diff = $mol_diff_path( [1,2,3,4] , [1,2,3,4] , [1,2,3,4] )\n\t\t\t\n\t\t\t$mol_assert_like( diff , {\n\t\t\t\tprefix : [1,2,3,4] , \n\t\t\t\tsuffix : [ [] , [] , [] ] ,\n\t\t\t} )\n\n\t\t} ,\n\n\t\t'different suffix' () {\n\n\t\t\tconst diff = $mol_diff_path( [1,2,3,4] , [1,2,3,5] , [1,2,5,4] )\n\t\t\t\n\t\t\t$mol_assert_like( diff , {\n\t\t\t\tprefix : [1,2] , \n\t\t\t\tsuffix : [ [3,4] , [3,5] , [5,4] ] ,\n\t\t\t} )\n\n\t\t} ,\n\n\t\t'one contains other' () {\n\t\t\t\n\t\t\tconst diff = $mol_diff_path( [1,2,3,4] , [1,2] , [1,2,3] )\n\t\t\t\n\t\t\t$mol_assert_like( diff , {\n\t\t\t\tprefix : [1,2] , \n\t\t\t\tsuffix : [ [3,4] , [] , [3] ] ,\n\t\t\t} )\n\n\t\t} ,\n\n\t\t'fully different' () {\n\n\t\t\tconst diff = $mol_diff_path( [1,2] , [3,4] , [5,6] )\n\t\t\t\n\t\t\t$mol_assert_like( diff , {\n\t\t\t\tprefix : [] , \n\t\t\t\tsuffix : [ [1,2] , [3,4] , [5,6] ] ,\n\t\t\t} )\n\n\t\t} ,\n\n\t})\n\n}\n","namespace $ {\n\n\texport function $mol_diff_path< Item >( ... paths : Item[][] ) {\n\n\t\tconst limit = Math.min( ... paths.map( path => path.length ) )\n\n\t\tlookup: for( var i = 0 ; i < limit ; ++i ) {\n\n\t\t\tconst first = paths[0][i]\n\n\t\t\tfor( let j = 1 ; j < paths.length ; ++j ) {\n\t\t\t\tif( paths[j][i] !== first ) break lookup\n\t\t\t}\n\n\t\t}\n\n\t\treturn {\n\t\t\tprefix : paths[0].slice( 0 , i ) ,\n\t\t\tsuffix : paths.map( path => path.slice( i ) ) ,\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_error_mix extends Error {\n\n\t\terrors : Error[]\n\n\t\tconstructor( message : string , ... errors : Error[] ) {\n\n\t\t\tsuper( message )\n\t\t\t\n\t\t\tthis.errors = errors\n\n\t\t\tif( errors.length ) {\n\n\t\t\t\tconst stacks = [ ... errors.map( error => error.stack ) , this.stack ]\n\t\t\t\t\n\t\t\t\tconst diff = $mol_diff_path( ... stacks.map( stack => {\n\t\t\t\t\tif( !stack ) return []\n\t\t\t\t\treturn stack.split( '\\n' ).reverse()\n\t\t\t\t} ) )\n\t\t\t\t\n\t\t\t\tconst head = diff.prefix.reverse().join( '\\n' )\n\t\t\t\tconst tails = diff.suffix.map( path => path.reverse().map( line => line.replace( /^(?!\\s+at)/ , '\\tat (.) ' ) ).join( '\\n' ) ).join( '\\n\\tat (.) -----\\n' )\n\n\t\t\t\tthis.stack = `Error: ${ this.constructor.name }\\n\\tat (.) /\"\"\"\\\\\\n${ tails }\\n\\tat (.) \\\\___/\\n${ head }`\n\t\t\t\tthis.message += errors.map( error => '\\n' + error.message ).join( '' )\n\n\t\t\t}\n\n\t\t}\n\n\t\ttoJSON() {\n\t\t\treturn this.message\n\t\t}\n\n\t}\n\n}\n"]}