j1-template 2021.1.21 → 2021.1.22

Sign up to get free protection for your applications and to get access to all the features.
Files changed (54) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/procedures/global/attributes_loader.proc +4 -0
  3. data/assets/data/banner.html +2 -2
  4. data/assets/data/panel.html +3 -3
  5. data/assets/error_pages/HTTP204.html +3 -1
  6. data/assets/error_pages/HTTP400.html +3 -1
  7. data/assets/error_pages/HTTP401.html +3 -1
  8. data/assets/error_pages/HTTP403.html +3 -1
  9. data/assets/error_pages/HTTP404.html +3 -1
  10. data/assets/error_pages/HTTP444.html +3 -1
  11. data/assets/error_pages/HTTP500.html +3 -1
  12. data/assets/error_pages/HTTP501.html +3 -1
  13. data/assets/error_pages/HTTP502.html +3 -1
  14. data/assets/error_pages/HTTP503.html +6 -2
  15. data/assets/themes/j1/adapter/js/j1.js +6 -0
  16. data/assets/themes/j1/core/css/themes/uno-light/bootstrap.css +48 -2
  17. data/assets/themes/j1/core/css/themes/uno-light/bootstrap.min.css +1 -1
  18. data/assets/themes/j1/core/css/vendor.css +187 -0
  19. data/assets/themes/j1/core/css/vendor.min.css +1 -1
  20. data/assets/themes/j1/core/js/template.js +1 -1
  21. data/assets/themes/j1/core/js/template.js.map +1 -1
  22. data/assets/themes/j1/core/js/template.min.js +1 -1
  23. data/assets/themes/j1/core/js/template.min.js.map +1 -1
  24. data/lib/j1/version.rb +1 -1
  25. data/lib/starter_web/Gemfile +1 -1
  26. data/lib/starter_web/_config.yml +2 -2
  27. data/lib/starter_web/_data/blocks/banner.yml +1 -1
  28. data/lib/starter_web/_data/blocks/footer.yml +2 -2
  29. data/lib/starter_web/_data/blocks/panel.yml +25 -17
  30. data/lib/starter_web/_includes/attributes.asciidoc +10 -1
  31. data/lib/starter_web/_plugins/lunr_index.rb +1 -1
  32. data/lib/starter_web/collections/posts/public/featured/_posts/0000-00-00-welcome-to-j1.adoc.erb +1 -0
  33. data/lib/starter_web/collections/posts/public/featured/_posts/2020-01-01-about-cookies.adoc +1 -0
  34. data/lib/starter_web/collections/posts/public/featured/_posts/2021-03-01-site-generators.adoc +1 -0
  35. data/lib/starter_web/collections/posts/public/featured/_posts/2021-03-03-about-j1.adoc +1 -0
  36. data/lib/starter_web/collections/posts/public/featured/_posts/_includes/attributes.asciidoc +7 -1
  37. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-01-post-test-series.adoc +1 -1
  38. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-02-post-test-series.adoc +1 -1
  39. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-03-post-test-series.adoc +1 -1
  40. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-04-post-test-series.adoc +1 -1
  41. data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-20-minneapolis.adoc +1 -0
  42. data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-24-narcisse-snake-dens.adoc +2 -1
  43. data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-26-columbia-river.adoc +2 -1
  44. data/lib/starter_web/collections/posts/public/wikipedia/_posts/_includes/attributes.asciidoc +7 -0
  45. data/lib/starter_web/package.json +1 -1
  46. data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/attributes.asciidoc +7 -1
  47. data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/_includes/attributes.asciidoc +7 -1
  48. data/lib/starter_web/pages/public/blog/navigator/archive.html +0 -1
  49. data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.adoc +1 -1
  50. data/lib/starter_web/pages/public/learn/roundtrip/_includes/attributes.asciidoc +9 -0
  51. data/lib/starter_web/pages/public/previewer/_includes/attributes.asciidoc +6 -0
  52. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  53. data/lib/starter_web/utilsrv/package.json +1 -1
  54. metadata +2 -2
@@ -1 +1 @@
1
- .note{padding:0!important;border-left:0!important;border-radius:2px!important}code{word-break:break-word;padding:.125em .275em!important;border-radius:2px;background-color:#e0e0e0!important}.h2,h2{font-size:200%!important}.h2,.h3,h2,h3{font-weight:500}.h3,h3{font-size:175%!important}.h4,.h5,h4,h5{font-size:150%!important;font-weight:400}div .paragraph p span.scaled img{width:auto;height:auto;max-height:100%;max-width:100%}#preamble div.sectionbody div.paragraph.turnoff{display:none}div.paragraph #preamble div.sectionbody div.paragraph.turnoff{display:block}b,optgroup,strong{font-weight:600}address,cite,dfn,em,var{font-style:italic;font-weight:400}table{border-collapse:collapse;border-spacing:0;font-size:85%;background:#fff;margin-bottom:1.25em;border:1px solid #9e9e9e;width:-webkit-fill-available}table tfoot,table thead{background:#eee;font-weight:700}table tfoot tr td,table tfoot tr th,table thead tr td,table thead tr th{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8)!important;text-align:left}table tr td,table tr th{padding:.5rem 1rem;font-size:inherit;color:rgba(0,0,0,.8)!important;border-right:1px solid #bdbdbd;border-bottom:1px solid #bdbdbd}table tr.alt,table tr.even,table tr:nth-of-type(2n){background:#f5f5f5}table tbody tr td,table tfoot tr td,table tfoot tr th,table thead tr th,table tr td{display:table-cell;line-height:1.6}table.full-width{width:100%}table.tableblock{max-width:100%;border-collapse:separate}table.tableblock td>.paragraph:last-child p>p:last-child,table.tableblock td>p:last-child,table.tableblock th>p:last-child{margin-bottom:0}table.spread{width:100%}table.grid-all td.tableblock,table.grid-all th.tableblock{border-width:0 1px 1px 0}table.grid-all tfoot>tr>td.tableblock,table.grid-all tfoot>tr>th.tableblock{border-width:1px 1px 0 0}table.grid-cols td.tableblock,table.grid-cols th.tableblock{border-width:0 1px 0 0}table.grid-rows td.tableblock,table.grid-rows th.tableblock{border-width:0 0 1px}table.grid-all tbody>td:last-child>th.tableblock{border-bottom-width:1px}table.grid-rows tfoot>tr>td.tableblock,table.grid-rows tfoot>tr>th.tableblock{border-width:1px 0 0}table.frame-all{border-width:1px}table.frame-sides{border-width:0 1px}table.frame-topbot{border-width:1px 0}td.halign-left,th.halign-left{text-align:left}td.halign-right,th.halign-right{text-align:right}td.halign-center,th.halign-center{text-align:center}td.valign-top,th.valign-top{vertical-align:top}td.valign-bottom,th.valign-bottom{vertical-align:bottom}td.valign-middle,th.valign-middle{vertical-align:middle}table tfoot th,table thead th{font-weight:700}tbody tr th{display:table-cell;line-height:1.6;background:#f5f5f5}tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:700}p.tableblock>code:only-child{background:none;padding:0}p.tableblock{font-size:1em;margin-top:1.5em}.quoteblock{margin-right:1em;margin-bottom:1.25em;margin-left:1.5em;display:table}.quoteblock>.title{margin-left:-1.5em;margin-bottom:.75em}.quoteblock blockquote,.quoteblock blockquote p{color:rgba(0,0,0,.8);line-height:1.3;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}.quoteblock blockquote{margin:0;padding:0;border:0}.quoteblock blockquote:before{content:"\201c";float:left;font-size:2.1em;font-weight:700;line-height:.6em;margin-left:-.6em;color:#0d47a1;text-shadow:0 1px 2px rgba(0,0,0,.1)}.quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}.quoteblock .attribution{margin-top:.5em;margin-right:.5ex;text-align:right}.quoteblock .quoteblock{margin-left:0;margin-right:0;padding:.5em 0;border-left:3px solid rgba(0,0,0,.6)}.quoteblock .quoteblock blockquote{padding:0 0 0 .75em}.quoteblock .quoteblock blockquote:before{display:none}.imageblock img{max-width:100%;height:auto}span.icon>.fa{cursor:default}.audioblock>.title,.dlist>.title,.exampleblock>.title,.hdlist>.title,.literalblock>.title,.olist>.title,.openblock>.title,.paragraph>.title,.qlist>.title,.quoteblock>.title,.stemblock>.title,.ulist>.title,.verseblock>.title,.videoblock>.title{text-rendering:optimizeLegibility;text-align:left;color:#424242;line-height:1.25;font-size:1.125rem;font-weight:500;margin-top:.5em;margin-bottom:.75em}.admonitionblock td.content>.title{margin-bottom:.5em}.admonitionblock td.content>.title,table.tableblock>.title{text-rendering:optimizeLegibility;text-align:left;color:#424242;line-height:1.25;font-size:1.125rem;font-weight:500}table.tableblock>.title{margin:0!important;border-top:1px solid #9e9e9e}.imageblock>.title,.listingblock>.title{color:#424242;line-height:1.25;font-size:1.125rem;font-weight:500;margin-bottom:.5rem}.listingblock pre{display:block;line-height:1.25rem!important;word-break:break-all;word-wrap:break-word;padding:.75rem;margin:0 0 1.5rem;border:1px solid #bdbdbd}.admonitionblock>table td.icon{text-align:center;width:130px;border-right:0!important;border-bottom:0}.admonitionblock>table td.icon img{max-width:none}.admonitionblock>table td.icon .title{font-weight:700;font-family:Open Sans,DejaVu Sans,sans-serif;text-transform:uppercase}.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.125em;border-right:1px;border-left:1px dotted #9e9e9e;font-size:inherit;color:rgba(0,0,0,.8);text-align:justify;border-bottom:0;min-width:20em}.admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}.icon-note{color:#2196f3}.icon-tip{color:#4caf50}.icon-important{color:#ff9800}.icon-warning{color:#fdd835}.icon-caution{color:#f44336}.admonitionblock td.icon [class^="fa icon-"]{font-size:5rem;cursor:default}.admonitionblock td.icon .icon-note:before{content:"\f05a"}.admonitionblock td.icon .icon-tip:before{content:"\f0eb"}.admonitionblock td.icon .icon-important:before{content:"\f06a"}.admonitionblock td.icon .icon-warning:before{content:"\f071"}.admonitionblock td.icon .icon-caution:before{content:"\f06d"}.admonitionblock td.icon .icon-question:before{content:"\f128";color:#ffc107}.admonitionblock td.icon .icon-answer:before{content:"\f0a4";color:#4caf50}.exampleblock{margin-bottom:1.25rem;border-radius:2px;color:rgba(0,0,0,.8);background:#fafafa}.exampleblock>.content>:first-child{margin-top:0}.exampleblock>.content>:last-child{margin-bottom:0;margin-bottom:1.25em}.exampleblock.result{display:none}a.view-result{float:right;font-weight:400;text-decoration:none;font-size:85%;line-height:.9}span.footnote,span.footnoteref{vertical-align:super;font-size:.875em}span.footnote a,span.footnoteref a{text-decoration:none}span.footnote a:active,span.footnoteref a:active{text-decoration:underline}#footnotes{padding:.75em 0;margin-top:-.625em}#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em;border-width:1px 0 0}#footnotes .footnote{line-height:1.3;font-size:.875em;margin-left:1.2em;text-indent:-1.2em;margin-bottom:.2em;padding:0 .375em}#footnotes .footnote a:first-of-type{font-weight:700;text-decoration:none}#footnotes .footnote:last-of-type{margin-bottom:0}.gist .file-data>table{border:0;background:#000;width:100%;margin-bottom:0}.gist .file-data>table td.line-data{width:99%}.mono{font-family:Droid Sans Mono,DejaVu Sans Mono,"Monospace",monospace}.unbreakable{page-break-inside:avoid}.big{font-size:larger}.small{font-size:smaller}.bold{font-weight:700}.italic{font-style:italic}.underline{text-decoration:underline}.overline{text-decoration:overline}.line-through{text-decoration:line-through}.aqua{color:#00bfbf}.aqua-background{background-color:#00fafa}.black{color:#000}.black-background{background-color:#000}.blue{color:#0000bf}.blue-background{background-color:#0000fa}.fuchsia{color:#bf00bf}.fuchsia-background{background-color:#fa00fa}.gray{color:#606060}.gray-background{background-color:#7d7d7d}.grey{color:#606060}.grey-background{background-color:#7d7d7d}.green{color:#006000}.green-background{background-color:#007d00}.lime{color:#00bf00}.lime-background{background-color:#00fa00}.maroon{color:#600000}.maroon-background{background-color:#7d0000}.navy{color:#000060}.navy-background{background-color:#00007d}.olive{color:#606000}.olive-background{background-color:#7d7d00}.purple{color:#600060}.purple-background{background-color:#7d007d}.red{color:#bf0000}.red-background{background-color:#fa0000}.silver{color:#909090}.silver-background{background-color:#bcbcbc}.teal{color:#006060}.teal-background{background-color:#007d7d}.white{color:#bfbfbf}.white-background{background-color:#fafafa}.yellow{color:#bfbf00}.yellow-background{background-color:#fafa00}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}button,input{line-height:normal}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0;margin-right:.25rem}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}.colist>table,.hdlist>table{border-collapse:separate;border:0;background:none}.colist>table tr td,.colist>table tr th{border-right:0;border-bottom:0}.colist>table>tbody>tr,.hdlist>table>tbody>tr{background:none}td.hdlist1{padding-right:.75em;font-weight:700}td.hdlist1,td.hdlist2{vertical-align:top}.listingblock+.colist,.literalblock+.colist{margin-top:-.5em}.colist>table tr>td:first-of-type{padding:0 .5rem;line-height:1}.colist>table tr>td:last-of-type{padding:.25rem 0}.conum[data-value]{display:inline-block;background-color:#2196f3;-webkit-border-radius:100px;border-radius:100px;text-align:center;width:1.67em;height:1.67em;font-size:85%;line-height:1.67em;font-family:Roboto,sans-serif;font-style:normal;font-weight:600}.conum[data-value],.conum[data-value] *{color:#fafafa!important}.conum[data-value]+b{display:none}.conum[data-value]:after{content:attr(data-value)}pre .conum[data-value]{position:relative;top:-.125em}b.conum *{color:inherit!important}.conum:not([data-value]):empty{display:none}kbd{font-family:monospace,serif;font-size:1em}.keyseq{color:rgba(51,51,51,.8)}kbd:not(.keyseq){display:inline-block;color:rgba(0,0,0,.8);font-size:.75em;background-color:#e0e0e0;border:1px solid #bdbdbd;-webkit-border-radius:3px;border-radius:3px;margin:-.15em .15em 0;padding:.2em .6em .2em .5em;vertical-align:middle;white-space:nowrap}.keyseq kbd:first-child{margin-left:0}.keyseq kbd:last-child{margin-right:0}.qanda>ol>li>p>em:only-child{color:#455a64}.olist>ol>li>p,.ulist>ul>li>p{margin:0 0 .1em!important}ul.circle li ul,ul.disc li ul,ul.square li ul{list-style:inherit}ul.square{list-style-type:square}ul.circle{list-style-type:circle}ul.disc{list-style-type:disc}.fa.fa-square-o{font-weight:400!important}.fa-square-o:before{content:"\f0c8"}.fa.fa-check-square-o{font-weight:400!important}.fa-check-square-o:before{content:"\f14a"}.ulist.checklist>ul>li>p>input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0;position:relative;z-index:1;display:inline-block;width:1.125rem;height:1.125rem;overflow:hidden;border:.125rem solid rgba(0,0,0,.54);border-radius:.125rem}@media only screen and (max-width:576px){.admonitionblock>table td.content{border-left:0}}@media only screen and (max-width:768px) and (max-width:992px){.admonitionblock>table td.content{border-left:0}.admonitionblock table,.admonitionblock tbody,.admonitionblock td,.admonitionblock tr{display:block}.admonitionblock>table td.icon{width:unset}.admonitionblock td.icon{padding-left:unset!important}.admonitionblock td{border:none;border-top:1px dotted #bdbdbd;position:relative;white-space:normal}.admonitionblock td:before{position:absolute;top:6px;left:6px;width:45%;padding-right:10px;white-space:nowrap;text-align:left;font-weight:700}}.tooltip-inner{background-color:#607d8b;border-radius:.125rem}.tooltip.in{opacity:1}.tooltip.bs-tether-element-attached-bottom .tooltip-arrow,.tooltip.tooltip-top .tooltip-arrow{border-top-color:#263238}.btn-viewer{position:absolute;top:2.6rem;right:.5rem;z-index:3;display:block;padding:.25rem .75rem;font-size:.75rem;font-style:normal;font-weight:300;color:#212121;cursor:pointer;text-transform:uppercase;background-color:transparent;border-radius:.25rem}.btn-viewer:hover{color:#fff;background-color:#607d8b}.btn-viewer+.tooltip>.tooltip-inner{background-color:red}.j1-viewer{position:relative;display:block;float:right}.j1-tooltip+.tooltip>.tooltip-arrow,.j1-tooltip+.tooltip>.tooltip-inner{background-color:red}@media screen and (min-width:320px) and (max-width:767px){.j1-viewer{display:none}}@font-face{font-family:Roboto;src:local(Roboto Thin),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Thin.woff2) format("woff2"),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Thin.woff) format("woff");font-weight:100}@font-face{font-family:Roboto;src:local(Roboto Light),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Light.woff2) format("woff2"),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Light.woff) format("woff");font-weight:300}@font-face{font-family:Roboto;src:local(Roboto Regular),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Regular.woff2) format("woff2"),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Regular.woff) format("woff");font-weight:400}@font-face{font-family:Roboto;src:local(Roboto Medium),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Medium.woff2) format("woff2"),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Medium.woff) format("woff");font-weight:500}@font-face{font-family:Roboto;src:local(Roboto Bold),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Bold.woff2) format("woff2"),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Bold.woff) format("woff");font-weight:700}
1
+ .note{padding:0!important;border-left:0!important;border-radius:2px!important}code{word-break:break-word;padding:.125em .275em!important;border-radius:2px;background-color:#e0e0e0!important}.h2,h2{font-size:200%!important}.h2,.h3,h2,h3{font-weight:500}.h3,h3{font-size:175%!important}.h4,.h5,h4,h5{font-size:150%!important;font-weight:400}div .paragraph p span.scaled img{width:auto;height:auto;max-height:100%;max-width:100%}#preamble div.sectionbody div.paragraph.turnoff{display:none}div.paragraph #preamble div.sectionbody div.paragraph.turnoff{display:block}b,optgroup,strong{font-weight:600}address,cite,dfn,em,var{font-style:italic;font-weight:400}table{border-collapse:collapse;border-spacing:0;font-size:85%;background:#fff;margin-bottom:1.25em;border:1px solid #9e9e9e;width:-webkit-fill-available}table tfoot,table thead{background:#eee;font-weight:700}table tfoot tr td,table tfoot tr th,table thead tr td,table thead tr th{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8)!important;text-align:left}table tr td,table tr th{padding:.5rem 1rem;font-size:inherit;color:rgba(0,0,0,.8)!important;border-right:1px solid #bdbdbd;border-bottom:1px solid #bdbdbd}table tr.alt,table tr.even,table tr:nth-of-type(2n){background:#f5f5f5}table tbody tr td,table tfoot tr td,table tfoot tr th,table thead tr th,table tr td{display:table-cell;line-height:1.6}table.full-width{width:100%}table.tableblock{max-width:100%;border-collapse:separate}table.tableblock td>.paragraph:last-child p>p:last-child,table.tableblock td>p:last-child,table.tableblock th>p:last-child{margin-bottom:0}table.spread{width:100%}table.grid-all td.tableblock,table.grid-all th.tableblock{border-width:0 1px 1px 0}table.grid-all tfoot>tr>td.tableblock,table.grid-all tfoot>tr>th.tableblock{border-width:1px 1px 0 0}table.grid-cols td.tableblock,table.grid-cols th.tableblock{border-width:0 1px 0 0}table.grid-rows td.tableblock,table.grid-rows th.tableblock{border-width:0 0 1px}table.grid-all tbody>td:last-child>th.tableblock{border-bottom-width:1px}table.grid-rows tfoot>tr>td.tableblock,table.grid-rows tfoot>tr>th.tableblock{border-width:1px 0 0}table.frame-all{border-width:1px}table.frame-sides{border-width:0 1px}table.frame-topbot{border-width:1px 0}td.halign-left,th.halign-left{text-align:left}td.halign-right,th.halign-right{text-align:right}td.halign-center,th.halign-center{text-align:center}td.valign-top,th.valign-top{vertical-align:top}td.valign-bottom,th.valign-bottom{vertical-align:bottom}td.valign-middle,th.valign-middle{vertical-align:middle}table tfoot th,table thead th{font-weight:700}tbody tr th{display:table-cell;line-height:1.6;background:#f5f5f5}tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:700}p.tableblock>code:only-child{background:none;padding:0}p.tableblock{font-size:1em;margin-top:1.5em}.quoteblock{margin-right:1em;margin-bottom:1.25em;margin-left:1.5em;display:table}.quoteblock>.title{margin-left:-1.5em;margin-bottom:.75em}.quoteblock blockquote,.quoteblock blockquote p{color:rgba(0,0,0,.8);line-height:1.3;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}.quoteblock blockquote{margin:0;padding:0;border:0}.quoteblock blockquote:before{content:"\201c";float:left;font-size:2.1em;font-weight:700;line-height:.6em;margin-left:-.6em;color:#0d47a1;text-shadow:0 1px 2px rgba(0,0,0,.1)}.quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}.quoteblock .attribution{margin-top:.5em;margin-right:.5ex;text-align:right}.quoteblock .quoteblock{margin-left:0;margin-right:0;padding:.5em 0;border-left:3px solid rgba(0,0,0,.6)}.quoteblock .quoteblock blockquote{padding:0 0 0 .75em}.quoteblock .quoteblock blockquote:before{display:none}.imageblock img{max-width:100%;height:auto}span.icon>.fa{cursor:default}.audioblock>.title,.dlist>.title,.exampleblock>.title,.hdlist>.title,.literalblock>.title,.olist>.title,.openblock>.title,.paragraph>.title,.qlist>.title,.quoteblock>.title,.stemblock>.title,.ulist>.title,.verseblock>.title,.videoblock>.title{text-rendering:optimizeLegibility;text-align:left;color:#424242;line-height:1.25;font-size:1.125rem;font-weight:500;margin-top:.5em;margin-bottom:.75em}.admonitionblock td.content>.title{margin-bottom:.5em}.admonitionblock td.content>.title,table.tableblock>.title{text-rendering:optimizeLegibility;text-align:left;color:#424242;line-height:1.25;font-size:1.125rem;font-weight:500}table.tableblock>.title{margin:0!important;border-top:1px solid #9e9e9e}.imageblock>.title,.listingblock>.title{color:#424242;line-height:1.25;font-size:1.125rem;font-weight:500;margin-bottom:.5rem}.listingblock pre{display:block;line-height:1.25rem!important;word-break:break-all;word-wrap:break-word;padding:.75rem;margin:0 0 1.5rem;border:1px solid #bdbdbd}.admonitionblock>table td.icon{text-align:center;width:130px;border-right:0!important;border-bottom:0}.admonitionblock>table td.icon img{max-width:none}.admonitionblock>table td.icon .title{font-weight:700;font-family:Open Sans,DejaVu Sans,sans-serif;text-transform:uppercase}.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.125em;border-right:1px;border-left:1px dotted #9e9e9e;font-size:inherit;color:rgba(0,0,0,.8);text-align:justify;border-bottom:0;min-width:20em}.admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}.icon-note{color:#2196f3}.icon-tip{color:#4caf50}.icon-important{color:#ff9800}.icon-warning{color:#fdd835}.icon-caution{color:#f44336}.admonitionblock td.icon [class^="fa icon-"]{font-size:5rem;cursor:default}.admonitionblock td.icon .icon-note:before{content:"\f05a"}.admonitionblock td.icon .icon-tip:before{content:"\f0eb"}.admonitionblock td.icon .icon-important:before{content:"\f06a"}.admonitionblock td.icon .icon-warning:before{content:"\f071"}.admonitionblock td.icon .icon-caution:before{content:"\f06d"}.admonitionblock td.icon .icon-question:before{content:"\f128";color:#ffc107}.admonitionblock td.icon .icon-answer:before{content:"\f0a4";color:#4caf50}.exampleblock{margin-bottom:1.25rem;border-radius:2px;color:rgba(0,0,0,.8);background:#fafafa}.exampleblock>.content>:first-child{margin-top:0}.exampleblock>.content>:last-child{margin-bottom:0;margin-bottom:1.25em}.exampleblock.result{display:none}a.view-result{float:right;font-weight:400;text-decoration:none;font-size:85%;line-height:.9}span.footnote,span.footnoteref{vertical-align:super;font-size:.875em}span.footnote a,span.footnoteref a{text-decoration:none}span.footnote a:active,span.footnoteref a:active{text-decoration:underline}#footnotes{padding:.75em 0;margin-top:-.625em}#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em;border-width:1px 0 0}#footnotes .footnote{line-height:1.3;font-size:.875em;margin-left:1.2em;text-indent:-1.2em;margin-bottom:.2em;padding:0 .375em}#footnotes .footnote a:first-of-type{font-weight:700;text-decoration:none}#footnotes .footnote:last-of-type{margin-bottom:0}.gist .file-data>table{border:0;background:#000;width:100%;margin-bottom:0}.gist .file-data>table td.line-data{width:99%}.mono{font-family:Droid Sans Mono,DejaVu Sans Mono,"Monospace",monospace}.unbreakable{page-break-inside:avoid}.big{font-size:larger}.small{font-size:smaller}.bold{font-weight:700}.italic{font-style:italic}.underline{text-decoration:underline}.overline{text-decoration:overline}.line-through{text-decoration:line-through}.aqua{color:#00bfbf}.aqua-background{background-color:#00fafa}.black{color:#000}.black-background{background-color:#000}.blue{color:#0000bf}.blue-background{background-color:#0000fa}.fuchsia{color:#bf00bf}.fuchsia-background{background-color:#fa00fa}.gray{color:#606060}.gray-background{background-color:#7d7d7d}.grey{color:#606060}.grey-background{background-color:#7d7d7d}.green{color:#006000}.green-background{background-color:#007d00}.lime{color:#00bf00}.lime-background{background-color:#00fa00}.maroon{color:#600000}.maroon-background{background-color:#7d0000}.navy{color:#000060}.navy-background{background-color:#00007d}.olive{color:#606000}.olive-background{background-color:#7d7d00}.purple{color:#600060}.purple-background{background-color:#7d007d}.red{color:#bf0000}.red-background{background-color:#fa0000}.silver{color:#909090}.silver-background{background-color:#bcbcbc}.teal{color:#006060}.teal-background{background-color:#007d7d}.white{color:#bfbfbf}.white-background{background-color:#fafafa}.yellow{color:#bfbf00}.yellow-background{background-color:#fafa00}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}button,input{line-height:normal}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0;margin-right:.25rem}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}.colist>table,.hdlist>table{border-collapse:separate;border:0;background:none}.colist>table tr td,.colist>table tr th{border-right:0;border-bottom:0}.colist>table>tbody>tr,.hdlist>table>tbody>tr{background:none}td.hdlist1{padding-right:.75em;font-weight:700}td.hdlist1,td.hdlist2{vertical-align:top}.listingblock+.colist,.literalblock+.colist{margin-top:-.5em}.colist>table tr>td:first-of-type{padding:0 .5rem;line-height:1}.colist>table tr>td:last-of-type{padding:.25rem 0}.conum[data-value]{display:inline-block;background-color:#2196f3;-webkit-border-radius:100px;border-radius:100px;text-align:center;width:1.67em;height:1.67em;font-size:85%;line-height:1.67em;font-family:Roboto,sans-serif;font-style:normal;font-weight:600}.conum[data-value],.conum[data-value] *{color:#fafafa!important}.conum[data-value]+b{display:none}.conum[data-value]:after{content:attr(data-value)}pre .conum[data-value]{position:relative;top:-.125em}b.conum *{color:inherit!important}.conum:not([data-value]):empty{display:none}kbd{font-family:monospace,serif;font-size:1em}.keyseq{color:rgba(51,51,51,.8)}kbd:not(.keyseq){display:inline-block;color:rgba(0,0,0,.8);font-size:.75em;background-color:#e0e0e0;border:1px solid #bdbdbd;-webkit-border-radius:3px;border-radius:3px;margin:-.15em .15em 0;padding:.2em .6em .2em .5em;vertical-align:middle;white-space:nowrap}.keyseq kbd:first-child{margin-left:0}.keyseq kbd:last-child{margin-right:0}.qanda>ol>li>p>em:only-child{color:#455a64}.olist>ol>li>p,.ulist>ul>li>p{margin:0 0 .1em!important}ul.circle li ul,ul.disc li ul,ul.square li ul{list-style:inherit}ul.square{list-style-type:square}ul.circle{list-style-type:circle}ul.disc{list-style-type:disc}.fa.fa-square-o{font-weight:400!important}.fa-square-o:before{content:"\f0c8"}.fa.fa-check-square-o{font-weight:400!important}.fa-check-square-o:before{content:"\f14a"}.ulist.checklist>ul>li>p>input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0;position:relative;z-index:1;display:inline-block;width:1.125rem;height:1.125rem;overflow:hidden;border:.125rem solid rgba(0,0,0,.54);border-radius:.125rem}@media only screen and (max-width:576px){.admonitionblock>table td.content{border-left:0}}@media only screen and (max-width:768px) and (max-width:992px){.admonitionblock>table td.content{border-left:0}.admonitionblock table,.admonitionblock tbody,.admonitionblock td,.admonitionblock tr{display:block}.admonitionblock>table td.icon{width:unset}.admonitionblock td.icon{padding-left:unset!important}.admonitionblock td{border:none;border-top:1px dotted #bdbdbd;position:relative;white-space:normal}.admonitionblock td:before{position:absolute;top:6px;left:6px;width:45%;padding-right:10px;white-space:nowrap;text-align:left;font-weight:700}}.tooltip-inner{background-color:#607d8b;border-radius:.125rem}.tooltip.in{opacity:1}.tooltip.bs-tether-element-attached-bottom .tooltip-arrow,.tooltip.tooltip-top .tooltip-arrow{border-top-color:#263238}.btn-viewer{position:absolute;top:2.6rem;right:.5rem;z-index:3;display:block;padding:.25rem .75rem;font-size:.75rem;font-style:normal;font-weight:300;color:#212121;cursor:pointer;text-transform:uppercase;background-color:transparent;border-radius:.25rem}.btn-viewer:hover{color:#fff;background-color:#607d8b}.btn-viewer+.tooltip>.tooltip-inner{background-color:red}.j1-viewer{position:relative;display:block;float:right}.j1-tooltip+.tooltip>.tooltip-arrow,.j1-tooltip+.tooltip>.tooltip-inner{background-color:red}@media screen and (min-width:320px) and (max-width:767px){.j1-viewer{display:none}}@font-face{font-family:Roboto;src:local(Roboto Thin),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Thin.woff2) format("woff2"),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Thin.woff) format("woff");font-weight:100}@font-face{font-family:Roboto;src:local(Roboto Light),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Light.woff2) format("woff2"),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Light.woff) format("woff");font-weight:300}@font-face{font-family:Roboto;src:local(Roboto Regular),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Regular.woff2) format("woff2"),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Regular.woff) format("woff");font-weight:400}@font-face{font-family:Roboto;src:local(Roboto Medium),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Medium.woff2) format("woff2"),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Medium.woff) format("woff");font-weight:500}@font-face{font-family:Roboto;src:local(Roboto Bold),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Bold.woff2) format("woff2"),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Bold.woff) format("woff");font-weight:700}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:300;src:url(https://fonts.gstatic.com/s/robotoslab/v13/BngMUXZYTXPIvIBgJJSb6ufA5qW54A.woff2) format("woff2");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:300;src:url(https://fonts.gstatic.com/s/robotoslab/v13/BngMUXZYTXPIvIBgJJSb6ufJ5qW54A.woff2) format("woff2");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:300;src:url(https://fonts.gstatic.com/s/robotoslab/v13/BngMUXZYTXPIvIBgJJSb6ufB5qW54A.woff2) format("woff2");unicode-range:U+1f??}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:300;src:url(https://fonts.gstatic.com/s/robotoslab/v13/BngMUXZYTXPIvIBgJJSb6ufO5qW54A.woff2) format("woff2");unicode-range:U+0370-03ff}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:300;src:url(https://fonts.gstatic.com/s/robotoslab/v13/BngMUXZYTXPIvIBgJJSb6ufC5qW54A.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+1ea0-1ef9,U+20ab}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:300;src:url(https://fonts.gstatic.com/s/robotoslab/v13/BngMUXZYTXPIvIBgJJSb6ufD5qW54A.woff2) format("woff2");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:300;src:url(https://fonts.gstatic.com/s/robotoslab/v13/BngMUXZYTXPIvIBgJJSb6ufN5qU.woff2) format("woff2");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/robotoslab/v13/BngMUXZYTXPIvIBgJJSb6ufA5qW54A.woff2) format("woff2");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/robotoslab/v13/BngMUXZYTXPIvIBgJJSb6ufJ5qW54A.woff2) format("woff2");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/robotoslab/v13/BngMUXZYTXPIvIBgJJSb6ufB5qW54A.woff2) format("woff2");unicode-range:U+1f??}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/robotoslab/v13/BngMUXZYTXPIvIBgJJSb6ufO5qW54A.woff2) format("woff2");unicode-range:U+0370-03ff}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/robotoslab/v13/BngMUXZYTXPIvIBgJJSb6ufC5qW54A.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+1ea0-1ef9,U+20ab}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/robotoslab/v13/BngMUXZYTXPIvIBgJJSb6ufD5qW54A.woff2) format("woff2");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/robotoslab/v13/BngMUXZYTXPIvIBgJJSb6ufN5qU.woff2) format("woff2");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:700;src:url(https://fonts.gstatic.com/s/robotoslab/v13/BngMUXZYTXPIvIBgJJSb6ufA5qW54A.woff2) format("woff2");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:700;src:url(https://fonts.gstatic.com/s/robotoslab/v13/BngMUXZYTXPIvIBgJJSb6ufJ5qW54A.woff2) format("woff2");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:700;src:url(https://fonts.gstatic.com/s/robotoslab/v13/BngMUXZYTXPIvIBgJJSb6ufB5qW54A.woff2) format("woff2");unicode-range:U+1f??}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:700;src:url(https://fonts.gstatic.com/s/robotoslab/v13/BngMUXZYTXPIvIBgJJSb6ufO5qW54A.woff2) format("woff2");unicode-range:U+0370-03ff}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:700;src:url(https://fonts.gstatic.com/s/robotoslab/v13/BngMUXZYTXPIvIBgJJSb6ufC5qW54A.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+1ea0-1ef9,U+20ab}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:700;src:url(https://fonts.gstatic.com/s/robotoslab/v13/BngMUXZYTXPIvIBgJJSb6ufD5qW54A.woff2) format("woff2");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:700;src:url(https://fonts.gstatic.com/s/robotoslab/v13/BngMUXZYTXPIvIBgJJSb6ufN5qU.woff2) format("woff2");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}
@@ -28,7 +28,7 @@
28
28
  * J1 Core
29
29
  * Copyright (C) 2021 Juergen Adams
30
30
  * Licensed under MIT License.
31
- */e.exports=function(e){$.extend({foo:"foo_option",bar:"bar_option"},void 0);return{_init_:function(e){},getState:function(){return"loaded"},isMobile:function(e){var t,n=!1;return t=navigator.userAgent||navigator.vendor||window.opera,(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\/|capi|ccwa|cdm|cell|chtm|cldc|cmd|co(mp|nd)|craw|da(it|ll|ng)|dbte|dcs|devi|dica|dmob|do(c|p)o|ds(12|d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(|_)|g1 u|g560|gene|gf5|gmo|go(\.w|od)|gr(ad|un)|haie|hcit|hd(m|p|t)|hei|hi(pt|ta)|hp( i|ip)|hsc|ht(c(| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i(20|go|ma)|i230|iac( ||\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|[a-w])|libw|lynx|m1w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|mcr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|([1-8]|c))|phil|pire|pl(ay|uc)|pn2|po(ck|rt|se)|prox|psio|ptg|qaa|qc(07|12|21|32|60|[2-7]|i)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h|oo|p)|sdk\/|se(c(|0|1)|47|mc|nd|ri)|sgh|shar|sie(|m)|sk0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h|v|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl|tdg|tel(i|m)|tim|tmo|to(pl|sh)|ts(70|m|m3|m5)|tx9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas|your|zeto|zte/i.test(t.substr(0,4)))&&(n=!0),n},bsFormClearButton:function(){$(":input").on("keydown focus change mouseover",(function(){$(this).val().length>0&&$(this).nextAll(".form-clear").removeClass("d-none")})).on("keydown keyup blur",(function(){0===$(this).val().length&&$(this).nextAll(".form-clear").addClass("d-none")}))}}}()},function(e,t){e.exports=function(e){var t,n,r={};$.extend({foo:"bar",bar:"foo"},e);return{init:function(e,o){return t=log4javascript.getLogger("j1.core.navigator"),n="core is being initialized",t.info(n),this.manageDropdownMenu(e,o),this.navbarSticky(),this.eventHandler(),r.type="command",r.action="core_initialized",r.text="navigator core initialized",j1.sendMessage("j1.core.navigator","j1.adapter.navigator",r),!0},eventHandler:function(){var e=log4javascript.getLogger("j1.core.navigator.eventHandler"),t=$("nav.navbar.navigator");if($('a[href="#"]').click((function(t){t.preventDefault?t.preventDefault():t.returnValue=!1,e.info('bound click event to "#", suppress default action')})),t.hasClass("navbar-sticky")&&t.wrap("<div class='wrap-sticky'></div>"),t.hasClass("brand-center")){var n=new Array,r=$("nav.brand-center"),o=r.find("ul.navbar-nav");r.find("ul.navbar-nav > li").each((function(){n.push($(this).html())}));var a=n.splice(0,Math.round(n.length/2)),i=n,s="",l=function(e){s="";for(var t=0;t<e.length;t++)s+="<li>"+e[t]+"</li>"};l(a),o.html(s),r.find("ul.nav").first().addClass("navbar-left"),l(i),o.after('<ul class="nav navbar-nav"></ul>').next().html(s),r.find("ul.nav").last().addClass("navbar-right"),r.find("ul.nav.navbar-left").wrap("<div class='col_half left'></div>"),r.find("ul.nav.navbar-right").wrap("<div class='col_half right'></div>"),r.find("ul.navbar-nav > li").each((function(){var e=$("ul.dropdown-menu",this),t=$("ul.megamenu-content",this);e.closest("li").addClass("dropdown"),t.closest("li").addClass("megamenu-fw")}))}t.find("ul.nav").hasClass("navbar-center")&&t.addClass("menu-center"),t.hasClass("navbar-full")?($("nav.navbar.navigator").find("ul.nav").wrap("<div class='wrap-full-menu'></div>"),$(".wrap-full-menu").wrap("<div class='nav-full'></div>"),$("ul.nav.navbar-nav").prepend("<li class='close-full-menu'><a href='#'><i class='mdi mdi-close'></i></a></li>")):t.hasClass("navbar-mobile")?t.removeClass("no-full"):t.addClass("no-full"),t.hasClass("no-background")&&$(window).on("scroll",(function(){var e=$("nav.navbar").outerHeight();$(window).scrollTop()>e?$(".navbar-fixed").removeClass("no-background"):$(".navbar-fixed").addClass("no-background")})),t.hasClass("navbar-transparent")&&$(window).on("scroll",(function(){var e=$("nav.navbar").outerHeight();$(window).scrollTop()>e?($(".navbar-fixed").removeClass("navbar-transparent"),$(".navbar-fixed").addClass("navbar-scrolled")):($(".navbar-fixed").removeClass("navbar-scrolled"),$(".navbar-fixed").addClass("navbar-transparent"))})),$(".attr-nav").each((function(){e.debug("register OPEN event|s for QuickSearch"),$("li.search > a",this).on("click",(function(t){e.debug("manage search action OPEN"),$("html,body").animate({scrollTop:0},0),$(".top-search").slideToggle("slow","swing",(function(){$(".top-search").is(":visible")?($("body").addClass("stop-scrolling"),$("body").bind("touchmove",(function(e){e.preventDefault()}))):($("body").removeClass("stop-scrolling"),$("body").unbind("touchmove"))}))}))})),e.debug("register CLOSE event|s for QuickSearch"),$(".input-group-addon.close-search").on("click",(function(t){t.preventDefault(),e.debug("manage search action CLOSE"),$(".top-search").slideUp("slow","swing"),$("html,body").animate({scrollTop:0},0),$("body").removeClass("stop-scrolling"),$("body").unbind("touchmove"),t.stopPropagation()})),$("nav.navbar.navigator .attr-nav").each((function(){e.debug("register SHOW|HIDE event|s for J1 Translator"),$("li.translator > a",this).on("click",(function(t){e.debug("toggle translator icon SHOW|HIDE"),$("#google_translate_element").toggle(),"none"!==$("#google_translate_element").css("display")&&$("html,body").animate({scrollTop:0},"slow")}))})),$("body").wrapInner("<div class='wrapper'></div>")},manageDropdownMenu:function(e,t){var n,r,o,a,i=e,s=t,l=$("nav.navbar.navigator"),c=(window.matchMedia("(orientation: landscape)").matches,$(window).width()),u=($("nav").width(),l.find("ul.nav").data("in")),d=l.find("ul.nav").data("out"),p="#"+s.xhr_container_id+".collapse",h=s.delay_menu_open;if(c<=(r="lg"===i.nav_bar.media_breakpoint?992:"md"===i.nav_bar.media_breakpoint?768:"sm"===i.nav_bar.media_breakpoint?576:992)?($(p).addClass("navbar-collapse"),$(p).removeClass("show"),$("#navigator_nav_quicklinks").addClass("show"),$("nav.navbar.navigator .attr-nav").each((function(){$(".dropdown-menu",this).removeClass("animated"),$("li.dropdown",this).off("mouseenter"),$("li.dropdown",this).off("mouseleave"),$("a.dropdown-toggle",this).off("click"),$("a.dropdown-toggle",this).on("click",(function(e){$(this).closest("li.dropdown").find(".dropdown-menu").first().stop().fadeToggle(),$(".navbar-toggle").each((function(){$(".mdi",this).removeClass("mdi-close"),$(".mdi",this).addClass("mdi-menu"),$(".navbar-collapse").removeClass("in"),$(".navbar-collapse").removeClass("open")}))})),$(this).on("mouseleave",(function(){$(".dropdown-menu",this).stop().fadeOut(),$("li.dropdown",this).removeClass("open")}))})),$("#desktop_menu").hide()):c>r&&($("#navigator_nav_quicklinks").removeClass("show"),$("#desktop_menu").show(),$(".dropdown-menu > li").on("mouseenter",(function(){if($("body").hasClass("stop-scrolling"))return!1;$("body").addClass("stop-scrolling")})),$(".dropdown-menu > li").on("mouseleave",(function(){$("body").hasClass("stop-scrolling")&&$("body").removeClass("stop-scrolling")})),$(".dropdown-menu > li").hover((function(){var e=$(this).find("ul");1==e.length&&e.addClass("scrollable-menu")})),$(p).removeClass("navbar-collapse"),$(p).addClass("show"),$("nav.navbar.navigator ul.nav").each((function(){$("a.dropdown-toggle",this).off("click"),$("a.dropdown-toggle",this).on("click",(function(e){})),$(".megamenu-fw",this).each((function(){$(".title",this).off("click"),$("a.dropdown-toggle",this).off("click"),$(".content").removeClass("animated")})),$(".dropdown-menu",this).addClass("animated"),$("li.dropdown",this).on("mouseenter",(function(){n=$(".dropdown-menu",this).eq(0),o=$(this),n.removeClass(d),n.removeClass("open"),o.addClass("open"),a=window.setTimeout((function(){o.hasClass("open")&&(n.stop().fadeIn().addClass(u),n.addClass("open"),o.addClass("open"))}),h)})),$("li.dropdown",this).on("mouseleave",(function(){window.clearTimeout(a),$(this).removeClass("open").removeClass("open"),$(".dropdown-menu",this).removeClass("open"),$(".dropdown-menu",this).eq(0).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d)})),$(this).on("mouseleave",(function(){window.clearTimeout(a),$("li.dropdown",this).removeClass("open"),$(".dropdown-menu",this).removeClass("open"),$(".dropdown-menu",this).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d)}))}))),$("nav.navbar.navigator .attr-nav").each((function(){$("a.dropdown-toggle",this).off("click"),$("a.dropdown-toggle",this).on("click",(function(e){})),$(".dropdown-menu",this).addClass("animated"),$("li.dropdown",this).on("mouseenter",(function(){$(".dropdown-menu",this).eq(0).removeClass(d),$(".dropdown-menu",this).eq(0).stop().fadeIn().addClass(u),$(this).addClass("open")})),$("li.dropdown",this).on("mouseleave",(function(){$(".dropdown-menu",this).eq(0).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d),$(this).removeClass("open")})),$(this).on("mouseleave",(function(){$(".dropdown-menu",this).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d),$("li.dropdown",this).removeClass("open")}))})),l.hasClass("navbar-full")){var g=$(window).height(),m=$(window).width();$(".nav-full").css("height",g+"px"),$(".wrap-full-menu").css("height",g+"px"),$(".wrap-full-menu").css("width",m+"px"),$(".navbar-collapse").addClass("animated"),$(".navbar-toggle").each((function(){var e=$(this).data("target");$(this).off("click"),$(this).on("click",(function(t){t.preventDefault(),$(e).removeClass(d),$(e).addClass("in"),$(e).addClass(u)})),$("li.close-full-menu").on("click",(function(t){t.preventDefault(),$(e).addClass(d),setTimeout((function(){$(e).removeClass("in"),$(e).removeClass(u)}),500)}))}))}},navbarSticky:function(){var e=$("nav.navbar.navigator");if(e.hasClass("navbar-sticky")){var t=e.height();$(".wrap-sticky").height(t);var n=$(".wrap-sticky").offset().top;$(window).on("scroll",(function(){$(window).scrollTop()>n?e.addClass("sticked"):e.removeClass("sticked")}))}},updateSidebar:function(e){var t,r=log4javascript.getLogger("j1.core.navigator.updateSidebar");return t=JSON.stringify(e),n="user state data: "+t,r.debug(n),j1.resolveMacros(e),j1.updateMacros(e),!0}}}(jQuery)},function(e,t){
31
+ */e.exports=function(e){$.extend({foo:"foo_option",bar:"bar_option"},void 0);return{_init_:function(e){},getState:function(){return"loaded"},isMobile:function(e){var t,n=!1;return t=navigator.userAgent||navigator.vendor||window.opera,(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\/|capi|ccwa|cdm|cell|chtm|cldc|cmd|co(mp|nd)|craw|da(it|ll|ng)|dbte|dcs|devi|dica|dmob|do(c|p)o|ds(12|d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(|_)|g1 u|g560|gene|gf5|gmo|go(\.w|od)|gr(ad|un)|haie|hcit|hd(m|p|t)|hei|hi(pt|ta)|hp( i|ip)|hsc|ht(c(| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i(20|go|ma)|i230|iac( ||\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|[a-w])|libw|lynx|m1w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|mcr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|([1-8]|c))|phil|pire|pl(ay|uc)|pn2|po(ck|rt|se)|prox|psio|ptg|qaa|qc(07|12|21|32|60|[2-7]|i)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h|oo|p)|sdk\/|se(c(|0|1)|47|mc|nd|ri)|sgh|shar|sie(|m)|sk0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h|v|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl|tdg|tel(i|m)|tim|tmo|to(pl|sh)|ts(70|m|m3|m5)|tx9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas|your|zeto|zte/i.test(t.substr(0,4)))&&(n=!0),n},bsFormClearButton:function(){$(":input").on("keydown focus change mouseover",(function(){$(this).val().length>0&&$(this).nextAll(".form-clear").removeClass("d-none")})).on("keydown keyup blur",(function(){0===$(this).val().length&&$(this).nextAll(".form-clear").addClass("d-none")}))},createDropCap:function(){$(".paragraph.dropcap").children("p").addClass("dropcap"),$("p.dropcap").length&&$("p.dropcap").each((function(){var e=$(this),t=$.trim(e.text()),n=t[0],r='<span class="j1-dropcap">'+n+"</span>";e.html(t.replace(n,r))}))}}}()},function(e,t){e.exports=function(e){var t,n,r={};$.extend({foo:"bar",bar:"foo"},e);return{init:function(e,o){return t=log4javascript.getLogger("j1.core.navigator"),n="core is being initialized",t.info(n),this.manageDropdownMenu(e,o),this.navbarSticky(),this.eventHandler(),r.type="command",r.action="core_initialized",r.text="navigator core initialized",j1.sendMessage("j1.core.navigator","j1.adapter.navigator",r),!0},eventHandler:function(){var e=log4javascript.getLogger("j1.core.navigator.eventHandler"),t=$("nav.navbar.navigator");if($('a[href="#"]').click((function(t){t.preventDefault?t.preventDefault():t.returnValue=!1,e.info('bound click event to "#", suppress default action')})),t.hasClass("navbar-sticky")&&t.wrap("<div class='wrap-sticky'></div>"),t.hasClass("brand-center")){var n=new Array,r=$("nav.brand-center"),o=r.find("ul.navbar-nav");r.find("ul.navbar-nav > li").each((function(){n.push($(this).html())}));var a=n.splice(0,Math.round(n.length/2)),i=n,s="",l=function(e){s="";for(var t=0;t<e.length;t++)s+="<li>"+e[t]+"</li>"};l(a),o.html(s),r.find("ul.nav").first().addClass("navbar-left"),l(i),o.after('<ul class="nav navbar-nav"></ul>').next().html(s),r.find("ul.nav").last().addClass("navbar-right"),r.find("ul.nav.navbar-left").wrap("<div class='col_half left'></div>"),r.find("ul.nav.navbar-right").wrap("<div class='col_half right'></div>"),r.find("ul.navbar-nav > li").each((function(){var e=$("ul.dropdown-menu",this),t=$("ul.megamenu-content",this);e.closest("li").addClass("dropdown"),t.closest("li").addClass("megamenu-fw")}))}t.find("ul.nav").hasClass("navbar-center")&&t.addClass("menu-center"),t.hasClass("navbar-full")?($("nav.navbar.navigator").find("ul.nav").wrap("<div class='wrap-full-menu'></div>"),$(".wrap-full-menu").wrap("<div class='nav-full'></div>"),$("ul.nav.navbar-nav").prepend("<li class='close-full-menu'><a href='#'><i class='mdi mdi-close'></i></a></li>")):t.hasClass("navbar-mobile")?t.removeClass("no-full"):t.addClass("no-full"),t.hasClass("no-background")&&$(window).on("scroll",(function(){var e=$("nav.navbar").outerHeight();$(window).scrollTop()>e?$(".navbar-fixed").removeClass("no-background"):$(".navbar-fixed").addClass("no-background")})),t.hasClass("navbar-transparent")&&$(window).on("scroll",(function(){var e=$("nav.navbar").outerHeight();$(window).scrollTop()>e?($(".navbar-fixed").removeClass("navbar-transparent"),$(".navbar-fixed").addClass("navbar-scrolled")):($(".navbar-fixed").removeClass("navbar-scrolled"),$(".navbar-fixed").addClass("navbar-transparent"))})),$(".attr-nav").each((function(){e.debug("register OPEN event|s for QuickSearch"),$("li.search > a",this).on("click",(function(t){e.debug("manage search action OPEN"),$("html,body").animate({scrollTop:0},0),$(".top-search").slideToggle("slow","swing",(function(){$(".top-search").is(":visible")?($("body").addClass("stop-scrolling"),$("body").bind("touchmove",(function(e){e.preventDefault()}))):($("body").removeClass("stop-scrolling"),$("body").unbind("touchmove"))}))}))})),e.debug("register CLOSE event|s for QuickSearch"),$(".input-group-addon.close-search").on("click",(function(t){t.preventDefault(),e.debug("manage search action CLOSE"),$(".top-search").slideUp("slow","swing"),$("html,body").animate({scrollTop:0},0),$("body").removeClass("stop-scrolling"),$("body").unbind("touchmove"),t.stopPropagation()})),$("nav.navbar.navigator .attr-nav").each((function(){e.debug("register SHOW|HIDE event|s for J1 Translator"),$("li.translator > a",this).on("click",(function(t){e.debug("toggle translator icon SHOW|HIDE"),$("#google_translate_element").toggle(),"none"!==$("#google_translate_element").css("display")&&$("html,body").animate({scrollTop:0},"slow")}))})),$("body").wrapInner("<div class='wrapper'></div>")},manageDropdownMenu:function(e,t){var n,r,o,a,i=e,s=t,l=$("nav.navbar.navigator"),c=(window.matchMedia("(orientation: landscape)").matches,$(window).width()),u=($("nav").width(),l.find("ul.nav").data("in")),d=l.find("ul.nav").data("out"),p="#"+s.xhr_container_id+".collapse",h=s.delay_menu_open;if(c<=(r="lg"===i.nav_bar.media_breakpoint?992:"md"===i.nav_bar.media_breakpoint?768:"sm"===i.nav_bar.media_breakpoint?576:992)?($(p).addClass("navbar-collapse"),$(p).removeClass("show"),$("#navigator_nav_quicklinks").addClass("show"),$("nav.navbar.navigator .attr-nav").each((function(){$(".dropdown-menu",this).removeClass("animated"),$("li.dropdown",this).off("mouseenter"),$("li.dropdown",this).off("mouseleave"),$("a.dropdown-toggle",this).off("click"),$("a.dropdown-toggle",this).on("click",(function(e){$(this).closest("li.dropdown").find(".dropdown-menu").first().stop().fadeToggle(),$(".navbar-toggle").each((function(){$(".mdi",this).removeClass("mdi-close"),$(".mdi",this).addClass("mdi-menu"),$(".navbar-collapse").removeClass("in"),$(".navbar-collapse").removeClass("open")}))})),$(this).on("mouseleave",(function(){$(".dropdown-menu",this).stop().fadeOut(),$("li.dropdown",this).removeClass("open")}))})),$("#desktop_menu").hide()):c>r&&($("#navigator_nav_quicklinks").removeClass("show"),$("#desktop_menu").show(),$(".dropdown-menu > li").on("mouseenter",(function(){if($("body").hasClass("stop-scrolling"))return!1;$("body").addClass("stop-scrolling")})),$(".dropdown-menu > li").on("mouseleave",(function(){$("body").hasClass("stop-scrolling")&&$("body").removeClass("stop-scrolling")})),$(".dropdown-menu > li").hover((function(){var e=$(this).find("ul");1==e.length&&e.addClass("scrollable-menu")})),$(p).removeClass("navbar-collapse"),$(p).addClass("show"),$("nav.navbar.navigator ul.nav").each((function(){$("a.dropdown-toggle",this).off("click"),$("a.dropdown-toggle",this).on("click",(function(e){})),$(".megamenu-fw",this).each((function(){$(".title",this).off("click"),$("a.dropdown-toggle",this).off("click"),$(".content").removeClass("animated")})),$(".dropdown-menu",this).addClass("animated"),$("li.dropdown",this).on("mouseenter",(function(){n=$(".dropdown-menu",this).eq(0),o=$(this),n.removeClass(d),n.removeClass("open"),o.addClass("open"),a=window.setTimeout((function(){o.hasClass("open")&&(n.stop().fadeIn().addClass(u),n.addClass("open"),o.addClass("open"))}),h)})),$("li.dropdown",this).on("mouseleave",(function(){window.clearTimeout(a),$(this).removeClass("open").removeClass("open"),$(".dropdown-menu",this).removeClass("open"),$(".dropdown-menu",this).eq(0).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d)})),$(this).on("mouseleave",(function(){window.clearTimeout(a),$("li.dropdown",this).removeClass("open"),$(".dropdown-menu",this).removeClass("open"),$(".dropdown-menu",this).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d)}))}))),$("nav.navbar.navigator .attr-nav").each((function(){$("a.dropdown-toggle",this).off("click"),$("a.dropdown-toggle",this).on("click",(function(e){})),$(".dropdown-menu",this).addClass("animated"),$("li.dropdown",this).on("mouseenter",(function(){$(".dropdown-menu",this).eq(0).removeClass(d),$(".dropdown-menu",this).eq(0).stop().fadeIn().addClass(u),$(this).addClass("open")})),$("li.dropdown",this).on("mouseleave",(function(){$(".dropdown-menu",this).eq(0).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d),$(this).removeClass("open")})),$(this).on("mouseleave",(function(){$(".dropdown-menu",this).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d),$("li.dropdown",this).removeClass("open")}))})),l.hasClass("navbar-full")){var g=$(window).height(),m=$(window).width();$(".nav-full").css("height",g+"px"),$(".wrap-full-menu").css("height",g+"px"),$(".wrap-full-menu").css("width",m+"px"),$(".navbar-collapse").addClass("animated"),$(".navbar-toggle").each((function(){var e=$(this).data("target");$(this).off("click"),$(this).on("click",(function(t){t.preventDefault(),$(e).removeClass(d),$(e).addClass("in"),$(e).addClass(u)})),$("li.close-full-menu").on("click",(function(t){t.preventDefault(),$(e).addClass(d),setTimeout((function(){$(e).removeClass("in"),$(e).removeClass(u)}),500)}))}))}},navbarSticky:function(){var e=$("nav.navbar.navigator");if(e.hasClass("navbar-sticky")){var t=e.height();$(".wrap-sticky").height(t);var n=$(".wrap-sticky").offset().top;$(window).on("scroll",(function(){$(window).scrollTop()>n?e.addClass("sticked"):e.removeClass("sticked")}))}},updateSidebar:function(e){var t,r=log4javascript.getLogger("j1.core.navigator.updateSidebar");return t=JSON.stringify(e),n="user state data: "+t,r.debug(n),j1.resolveMacros(e),j1.updateMacros(e),!0}}}(jQuery)},function(e,t){
32
32
  /*!
33
33
  * J1 Asciidoctor
34
34
  * Copyright (C) 2021 Juergen Adams
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///(webpack)/buildin/global.js","webpack:///./template.js","webpack:///./node_modules/js-cookie/src/js.cookie.js","webpack:///./node_modules/log4javascript/log4javascript.js","webpack:///./node_modules/lite-url/dist/lite-url.min.js","webpack:///./node_modules/platform/platform.js","webpack:///(webpack)/buildin/module.js","webpack:///./js/adapter/adapter.js","webpack:///./js/core/core.js","webpack:///./js/navigator/navigator.js","webpack:///./js/asciidoctor/asciidoctor.js","webpack:///./js/scroll-smooth/scroll-smooth.js","webpack:///./js/anime/anime.js","webpack:///./js/tocbot/tocbot.js","webpack:///./js/tocbot/default-options.js","webpack:///./js/tocbot/build-html.js","webpack:///./js/tocbot/parse-content.js","webpack:///./js/tocbot/update-toc-scroll.js","webpack:///./js/tocbot/scroll-smooth/index.js","webpack:///./js/adoc_result_viewer/view_results.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","g","this","Function","e","window","Cookies","require","log4javascript","liteURL","platform","j1","adapter","core","navigator","asciidoctor","scrollSmooth","anime","factory","OldCookies","api","noConflict","extend","result","arguments","length","attributes","decode","replace","decodeURIComponent","init","converter","set","document","path","defaults","expires","Date","toUTCString","JSON","stringify","test","write","encodeURIComponent","String","escape","stringifiedAttributes","attributeName","split","cookie","json","jar","cookies","parts","slice","join","charAt","read","parse","getJSON","remove","withConverter","isUndefined","obj","EventSupport","Array","push","len","shift","firstItem","splice","startIndex","deleteCount","itemsAfterDeleted","itemsDeleted","argumentsArray","itemsToAppend","concat","eventTypes","eventListeners","setEventTypes","eventTypesParam","handleError","addEventListener","eventType","listener","array_contains","removeEventListener","array_remove","dispatchEvent","eventArgs","listeners","applicationStartDate","uniqueId","getTime","Math","floor","random","emptyFunction","newLine","pageLoaded","Log4JavaScript","toStr","toString","getExceptionMessage","ex","message","description","getUrlFileName","url","lastSlashIndex","max","lastIndexOf","substr","getExceptionStringRep","exStr","lineNumber","fileName","localEx","logLog","warn","showStackTraces","stack","bool","Boolean","trim","str","splitIntoLines","text","version","edition","urlEncode","arr","val","index","extractBooleanFromParam","param","defaultValue","extractStringFromParam","extractIntFromParam","parseInt","isNaN","extractFunctionFromParam","isError","err","Error","apply","args","methodName","argsStrings","script","returnValue","eval","quietMode","debugMessages","setQuietMode","numberOfErrors","alertAllErrors","setAlertAllErrors","debug","displayDebug","alert","exception","error","alertMessage","enabled","log4javascript_disabled","setEnabled","enable","isEnabled","useTimeStampsInMilliseconds","setTimeStampsInMilliseconds","timeStampsInMilliseconds","isTimeStampsInMilliseconds","evalInScope","expr","setShowStackTraces","show","Level","level","Timer","INFO","start","equals","isGreaterOrEqual","ALL","Number","MIN_VALUE","TRACE","DEBUG","WARN","ERROR","FATAL","OFF","MAX_VALUE","getElapsedTime","anonymousLoggerName","defaultLoggerName","nullLoggerName","rootLoggerName","Logger","parent","children","appenders","loggerLevel","isRoot","isNull","appenderCache","appenderCacheInvalidated","addChild","childLogger","invalidateAppenderCache","additive","getAdditivity","setAdditivity","additivity","valueChanged","addAppender","appender","Appender","setAddedToLogger","removeAppender","setRemovedFromLogger","removeAllAppenders","appenderCount","getEffectiveAppenders","parentEffectiveAppenders","log","params","getEffectiveLevel","finalParamIndex","lastParam","messages","loggingEvent","LoggingEvent","callAppenders","effectiveAppenders","doAppend","setLevel","getLevel","logger","group","initiallyExpanded","groupEnd","timers","time","timeEnd","timer","milliseconds","assert","trace","info","fatal","isEnabledFor","isTraceEnabled","isDebugEnabled","isInfoEnabled","isWarnEnabled","isErrorEnabled","isFatalEnabled","isEntryPoint","loggers","loggerNames","ROOT_LOGGER_DEFAULT_LEVEL","rootLogger","getRootLogger","getLogger","loggerName","parentLogger","lastDotIndex","parentLoggerName","substring","defaultLogger","getDefaultLogger","createDefaultLogger","nullLogger","getNullLogger","resetConfiguration","timeStamp","timeStampInMilliseconds","timeStampInSeconds","getMilliseconds","getThrowableStrRep","getCombinedMessages","Layout","loggerKey","timeStampKey","millisecondsKey","levelKey","messageKey","exceptionKey","urlKey","batchHeader","batchFooter","batchSeparator","returnsPostData","overrideTimeStampsSetting","format","ignoresThrowable","getContentType","allowBatching","getTimeStampValue","getDataValues","combineMessages","dataValues","location","href","hasCustomFields","customFields","setKeys","setCustomField","fieldUpdated","formatWithException","formatted","SimpleDateFormat","SimpleLayout","NullLayout","XmlLayout","escapeNewLines","JsonLayout","readable","colon","tab","lineBreak","HttpPostDataLayout","formatObjectExpansion","depth","indentation","objectsExpanded","doFormat","childDepth","childIndentation","childLines","expansion","childExpansion","formatString","lines","j","jLen","PatternLayout","pattern","DEFAULT_CONVERSION_PATTERN","AlertAppender","BrowserConsoleAppender","layout","threshold","append","setLayout","getLayout","setThreshold","getThreshold","isCombinedMessages","escapeCdata","formatMessage","isReadable","formatValue","prefix","expand","formattedValue","valType","childPrefix","queryBits","regex","monthNames","dayNames","types","G","y","M","w","W","D","F","E","a","H","k","K","h","S","Z","newDateAtMidnight","year","month","day","setMilliseconds","getDifference","date","isBefore","getUTCTime","UTC","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getTimeSince","getPreviousSunday","midday","previousSunday","getDay","getWeekInYear","minimalDaysInFirstWeek","startOfYear","weekInYear","getWeekInMonth","startOfMonth","weekInMonth","getDayInYear","setMinimalDaysInFirstWeek","days","getMinimalDaysInFirstWeek","padWithZeroes","formatText","data","numberOfLetters","minLength","formatNumber","formattedString","searchString","exec","quotedString","patternLetters","otherLetters","otherCharacters","patternLetter","rawData","getTimezoneOffset","absData","abs","hours","minutes","TTCC_CONVERSION_PATTERN","ISO8601_DATEFORMAT","DATETIME_DATEFORMAT","ABSOLUTETIME_DATEFORMAT","matchedString","padding","truncation","conversionCharacter","specifier","replacement","precision","loggerNameBits","dateFormat","fieldIndex","strLen","consoleMethodName","getFormattedMessage","concatenate","formattedMessage","console","opera","postError","xhrFactory","XMLHttpRequest","xmlHttpFactories","ActiveXObject","withCredentialsSupported","getXmlHttp","errorHandler","xmlHttp","ConsoleAppender","isHttpRequestSuccessful","status","AjaxAppender","withCredentials","isSupported","timed","waitForResponse","batchSize","timerInterval","requestSuccessCallback","failCallback","postVarName","sendAllOnUnload","contentType","sessionId","queuedLoggingEvents","queuedRequests","headers","sending","initialized","checkCanConfigure","configOptionName","sendAll","currentRequestBatch","sendRequest","preparePostData","scheduleSending","sendAllRemaining","sendingAnything","currentLoggingEvent","actualBatchSize","batchedLoggingEvents","formattedMessages","postData","setTimeout","xmlHttpErrorHandler","msg","successCallback","onreadystatechange","readyState","open","header","setRequestHeader","headerEx","send","errMsg","getSessionId","setSessionId","sessionIdParam","layoutParam","isTimed","setTimed","timedParam","getTimerInterval","setTimerInterval","timerIntervalParam","isWaitForResponse","setWaitForResponse","waitForResponseParam","getBatchSize","setBatchSize","batchSizeParam","isSendAllOnUnload","setSendAllOnUnload","sendAllOnUnloadParam","setRequestSuccessCallback","requestSuccessCallbackParam","setFailCallback","failCallbackParam","getPostVarName","setPostVarName","postVarNameParam","getHeaders","addHeader","toLowerCase","oldBeforeUnload","onbeforeunload","setCookie","setTime","toGMTString","getCookie","nameEquals","ca","indexOf","unescape","getBaseUrl","scripts","getElementsByTagName","src","lastSlash","isLoaded","win","loaded","padWithSpaces","spaces","numberOfSpaces","PopUpAppender","defaultCommandLineFunctions","consoleAppenderIdCounter","lazyInit","initiallyMinimized","useDocumentWrite","width","height","focusPopUp","InPageAppender","container","inPage","focusConsoleWindow","consoleWindowCreated","consoleWindowLoaded","consoleClosed","consoleAppenderId","newestMessageAtTop","scrollToLatestMessage","createWindow","safeToAppend","getConsoleWindow","maxMessages","showCommandLine","commandLineObjectExpansionDepth","showHideButton","showCloseButton","appenderName","consoleWindowExists","isNewestMessageAtTop","setNewestMessageAtTop","newestMessageAtTopParam","setNewestAtTop","isScrollToLatestMessage","setScrollToLatestMessage","scrollToLatestMessageParam","setScrollToLatest","getWidth","setWidth","widthParam","getHeight","setHeight","heightParam","getMaxMessages","setMaxMessages","maxMessagesParam","isShowCommandLine","setShowCommandLine","showCommandLineParam","isShowHideButton","setShowHideButton","showHideButtonParam","isShowCloseButton","setShowCloseButton","showCloseButtonParam","getCommandLineObjectExpansionDepth","setCommandLineObjectExpansionDepth","commandLineObjectExpansionDepthParam","minimized","QueuedLoggingEvent","levelName","QueuedGroup","QueuedGroupEnd","isInitiallyMinimized","setInitiallyMinimized","initiallyMinimizedParam","isUseDocumentWrite","setUseDocumentWrite","useDocumentWriteParam","checkAndAppend","reopenWhenClosed","appendQueuedLoggingEvents","focus","clear","clearLog","focusCommandLine","focusSearch","commandWindow","getCommandWindow","setCommandWindow","commandWindowParam","executeLastCommand","evalLastCommand","commandLayout","getCommandLayout","setCommandLayout","commandLayoutParam","evalCommandAndAppend","commandReturnValue","appendResult","commandOutput","execScript","commandLineFunctionsHash","commandLineFunctions","objectsToRestore","addObjectToRestore","addFunctionToWindow","evalExpr","mainLayout","addCommandLineFunction","functionName","commandLineFunction","storeCommandHistory","commandHistory","writeHtml","doc","writeln","close","consoleWindowLoadHandler","setAppender","setMainWindow","storedValue","currentCommandIndex","unload","caller","pollConsoleWindow","windowTest","interval","errorMessage","poll","setInterval","clearInterval","getConsoleUrl","documentDomainSet","domain","hostname","containerElement","cssProperties","addCssProperty","iframeContainerDiv","windowCreationStarted","iframeId","hide","$","blur","style","display","isVisible","fromButton","confirm","parentNode","removeChild","initErrorMessage","finalInit","writeToDocument","appendChild","createElement","border","iframeSrc","innerHTML","iframeDocumentExistsTest","pageLoadHandler","el","getElementById","nodeType","position","left","right","bottom","body","iframe","frames","popUp","useOldPopUp","complainAboutPopUpBlocking","isUseOldPopUp","setUseOldPopUp","useOldPopUpParam","isComplainAboutPopUpBlocking","setComplainAboutPopUpBlocking","complainAboutPopUpBlockingParam","isFocusPopUp","setFocusPopUp","focusPopUpParam","isReopenWhenClosed","setReopenWhenClosed","reopenWhenClosedParam","windowProperties","frameInfo","frameEl","frameElement","tagName","id","windowName","host","checkPopUpClosed","closed","popUpClosedCallback","setCloseIfOpenerCloses","mainPageReloaded","addGlobalCommandLineFunction","showLogEntryDeleteButtons","InlineAppender","dir","maxLen","propList","propVal","propNameStr","nodeTypes","preFormattedElements","emptyElements","getXhtml","rootNode","includeRootNode","startNewLine","preformatted","xhtml","node","getStyleAttributeValue","stylePairs","cssText","styleValue","nameValueBits","props","childNodes","outerHTML","RegExp","$1","hasPrefix","currentAttr","specified","nodeValue","nodeName","hasChildNodes","childStartNewLine","childPreformatted","endTag","lt","trimmedLines","keys","values","expansionDepth","setDocumentReady","attachEvent","oldOnload","onload","evt","hash","origin","pathname","protocol","search","password","username","port","changeQueryParser","objectTypes","root","freeExports","freeModule","freeGlobal","global","self","maxSafeInteger","pow","reOpera","objectProto","capitalize","string","toUpperCase","forOwn","callback","getClassOf","qualify","reduce","array","accumulator","each","ua","context","isCustomContext","nav","userAgent","isSpecialCasedOS","type","likeChrome","airRuntimeClass","enviroClass","javaClass","java","phantomClass","rhino","environment","alpha","beta","operamini","operaClass","arch","prerelease","useFeatures","guess","label","guesses","getName","product","getProduct","manufacturer","getManufacturer","os","cleanupOS","getOS","getVersion","patterns","unshift","parseFloat","runtime","flash","system","Capabilities","phantom","major","minor","patch","documentMode","toFixed","lang","System","getProperty","process","browser","versions","electron","nw","appMinorVersion","external","family","architecture","cpuClass","webpackPolyfill","deprecate","paths","_init_","options","foo","bar","getState","isMobile","ua_name","mobile","vendor","bsFormClearButton","on","nextAll","removeClass","addClass","logText","defaultOptions","menuOptions","manageDropdownMenu","navbarSticky","eventHandler","action","sendMessage","$getNav","click","preventDefault","hasClass","wrap","postsArr","$postsList","find","html","firstList","round","secondList","ListHTML","createHTML","list","first","after","next","last","dropDown","megaMenu","closest","prepend","navbarHeighth","outerHeight","scrollTop","animate","slideToggle","is","unbind","slideUp","stopPropagation","toggle","css","wrapInner","$menu","breakPoint","$dropDown","timeoutHandle","navDefaultOptions","navMenuOptions","$getWindow","matchMedia","matches","$getIn","$getOut","menuSelector","xhr_container_id","delayMenuOpen","delay_menu_open","nav_bar","media_breakpoint","off","stop","fadeToggle","fadeOut","hover","$list","eq","fadeIn","clearTimeout","windowHeight","windowWidth","getId","$getHeight","getOffset","offset","top","updateSidebar","user_data","json_message","resolveMacros","updateMacros","jQuery","moduleOptions","dummyOption","callouts","colgroupList","conums","dependencies_met_page_finished","scroll","target","duration","scrollTo","timeStart","timeElapsed","pageYOffset","opt","easing","b","tgt","querySelector","decodeURI","distance","getBoundingClientRect","documentElement","loop","requestAnimationFrame","defaultInstanceSettings","update","begin","loopBegin","changeBegin","change","changeComplete","loopComplete","complete","direction","autoplay","timelineOffset","defaultTweenSettings","delay","endDelay","validTransforms","cache","CSS","springs","minMax","min","stringContains","applyArguments","func","isArray","pth","svg","SVGElement","inp","HTMLInputElement","dom","fnc","und","hex","rgb","hsl","col","parseEasingParameters","match","map","spring","mass","stiffness","damping","velocity","w0","sqrt","zeta","wd","solver","progress","exp","cos","sin","cached","elapsed","rest","steps","ceil","eases","functionEasings","bezier","A","aA1","aA2","B","C","calcBezier","aT","getSlope","mX1","mY1","mX2","mY2","sampleValues","Float32Array","x","getTForX","aX","intervalStart","currentSample","kSplineTableSize","guessForT","initialSlope","aGuessT","currentSlope","newtonRaphsonIterate","aA","aB","currentX","currentT","binarySubdivide","penner","linear","Sine","PI","Circ","Back","Bounce","pow2","Elastic","amplitude","period","asin","forEach","easeIn","parseEasings","ease","selectString","querySelectorAll","filterArray","thisArg","flattenArray","toArray","NodeList","HTMLCollection","arrayContains","some","cloneObject","clone","replaceObjectProps","o1","o2","mergeObjects","colorToRgb","rgbValue","hexValue","hexToRgba","hslValue","hue2rgb","q","hslToRgba","getUnit","getFunctionValue","animatable","total","getAttribute","prop","convertPxToUnit","unit","tempEl","parentEl","factor","offsetWidth","convertedUnit","getCSSValue","uppercasePropName","getComputedStyle","getPropertyValue","getAnimationType","getElementTransforms","transform","reg","transforms","Map","getTransformValue","propName","defaultVal","getTransformUnit","getOriginalTargetValue","getRelativeValue","to","from","operator","u","validateValue","originalUnit","unitLess","getDistance","p1","p2","getPolylineLength","previousPos","points","totalLength","numberOfItems","currentPos","getItem","getTotalLength","getCircleLength","getRectLength","getLineLength","getPolygonLength","getParentSvg","pathEl","svgData","parentSvgEl","getParentSvgEl","rect","viewBoxAttr","viewBox","getPathProgress","point","getPointAtLength","p0","atan2","decomposeValue","rgx","original","numbers","strings","parseTargets","targets","item","pos","getAnimatables","parsed","normalizePropertyTweens","tweenSettings","settings","propArray","v","getProperties","properties","keyframes","propertyNames","newKey","flattenKeyframes","tweens","normalizeTweens","previousTween","tween","normalizeTweenValues","tweenValue","toUnit","originalValue","previousValue","fromUnit","end","isPath","isColor","setProgressValue","attribute","setAttribute","manual","setTargetsValue","valueUnit","animType","getAnimations","animatables","lastTween","createAnimation","getInstanceTimings","animations","animLength","getTlOffset","anim","timings","instanceID","raf","activeInstances","pausedInstances","engine","play","step","activeInstancesLength","activeInstance","paused","instanceIndex","tick","cancelAnimationFrame","startTime","lastTime","now","childrenLength","resolve","makePromise","instance","promise","Promise","_resolve","finished","instanceSettings","createNewInstance","toggleInstanceDirection","reversed","child","adjustTime","resetTime","currentTime","speed","seekChild","seek","setAnimationsProgress","insTime","animationsLength","tweenLength","eased","toNumbersLength","toNumber","fromNumber","stringsLength","n$1","currentValue","setCallback","cb","passThrough","setInstanceProgress","engineTime","insDuration","insDelay","insEndDelay","reversePlayback","i$1","syncInstanceChildren","began","loopBegan","changeBegan","changeCompleted","remaining","completed","reset","pause","reverse","restart","removeTargetsFromAnimations","targetsArray","hidden","ins","running","childAnimations","convertPx","percent","setDashoffset","pathLength","stagger","grid","axis","fromIndex","fromFirst","fromCenter","fromLast","isRange","val1","val2","maxValue","fromX","fromY","distanceX","distanceY","timeline","tl","add","instanceParams","tlIndex","insParams","tlDuration","define","buildHtml","parseContent","headingsArray","tocbot","BuildHtml","ParseContent","updateTocScroll","supports","destroy","skipRendering","tocSelector","scrollContainer","_scrollListener","_clickListener","customOptions","source","state","scrollSmoothDuration","scrollSmoothOffset","initSmoothScrolling","_buildHtml","_parseContent","selectHeadings","contentSelector","headingSelector","nestedHeadings","nestHeadingsArray","nest","render","throttle","updateToc","disableTocScrollSync","isTop","scrollingElement","eventPhase","currentTarget","scrollEndCallback","throttleTimeout","timeout","event","disableTocAnimation","enableTocAnimation","refresh","fn","scope","deferTimer","ignoreSelector","hasInnerContainers","linkClass","extraLinkClasses","activeLinkClass","listClass","extraListClasses","isCollapsedClass","collapsibleClass","listItemClass","activeListItemClass","collapseDepth","headingsOffset","positionFixedSelector","positionFixedClass","fixedSidebarOffset","includeHtml","onClick","orderedList","headingLabelCallback","ignoreHiddenElements","headingObjectCallback","basePath","currentlyHighlighting","createEl","link","onclick","cloneNode","textContent","createLink","createList","isCollapsed","listElement","classes","srcElement","className","selector","firstChild","posFixedEl","offsetTop","updateFixedSidebarClass","topHeader","headings","heading","getHeadingTopPos","offsetParent","tocLinks","tocLink","tocLis","tocLi","activeTocLink","li","tocLists","nextSibling","removeCollapsedFromParents","element","getLastItem","getHeadingLevel","getHeadingObject","HTMLElement","offsetHeight","headingLevel","prev","curr","currentHeading","lastItem","counter","undefined","addNode","selectors","toc","scrollHeight","clientHeight","activeItem","pageUrl","stripHash","jump","tabIndex","language","idx","view_result_link","result_block","title_div","toggleClass","toggle_result_block"],"mappings":"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","file":"template.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/assets/themes/j1/core/js\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 1);\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","/*\n # -----------------------------------------------------------------------------\n # ~/src/template.js\n # J1 Template Javascript Core library\n #\n # Product/Info:\n # https://jekyll.one\n #\n # Copyright (C) 2021 Juergen Adams\n #\n # J1 Template is licensed under the MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n #\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint-disable no-unused-vars */\n/* global window */\n\n// -----------------------------------------------------------------------------\n// Import SASS sources for HMR\n// -----------------------------------------------------------------------------\n// import '../100_template_css/scss/theme_uno/components/_footer.scss';\n// import '../100_template_css/theme_uno.css'; // <-- yes, also require (s)css. This is a Webpack thing\n\n// Core Libraries - imported|required from NODE|NPM modules\n// -----------------------------------------------------------------------------\n//\n// Following objects (framework modules) are *conditionaly* forced to be\n// exposed for run-time to the global namespace (window) by WP config\n// file (expose-loader):\n// jQuery\n// Popper ('popper.js/dist/umd/popper', https://github.com/twbs/bootstrap/issues/23381)\n// -----------------------------------------------------------------------------\n\n// Core Utilities (moved to modules)\n// -----------------------------------------------------------------------------\n// Following objects (native node modules) are *explicitely* forced to be\n// exposed for run-time to the global namespace (window).\n// -----------------------------------------------------------------------------\nwindow.Cookies = require('js-cookie');\nwindow.log4javascript = require('log4javascript');\nwindow.liteURL = require('lite-url');\nwindow.platform = require('platform');\n// window.yaml = require('js-yaml'); # NOT longer used/needed\n// window.uuid = require('uuid/v4'); # NOT longer used/needed\n\n// Core Libraries - build|required from SOURCE\n// -----------------------------------------------------------------------------\n\n// Following source objects|modules are *explicitely* forced to be\n// exposed for run-time to the global namespace (window).\n// -----------------------------------------------------------------------------\nwindow.j1.adapter = require('./js/adapter/adapter.js');\nwindow.j1.core = require('./js/core/core.js');\nwindow.j1.core.navigator = require('./js/navigator/navigator.js');\n// window.j1.core.cookiebar = require('./js/cookiebar/cookiebar.js');\n// window.j1.core.cookieconsent = require('./js/cookieconsent/cookieconsent.js');\nwindow.j1.core.asciidoctor = require('./js/asciidoctor/asciidoctor.js');\nwindow.j1.core.scrollSmooth = require('./js/scroll-smooth/scroll-smooth.js');\nwindow.j1.anime = require('./js/anime/anime.js'); // added for fam\n// window.j1.fam = require('./js/fam/fam.js'); // cannot used until NOT rewritten to jQuery\n\n// Following source objects|modules are *implicetly* forced to be\n// exposed for run-time to the global namespace (window).\n// -----------------------------------------------------------------------------\n//const Bootstrap = require('./js/bootstrap/bootstrap.js');\n//const J1JekyllSearch = require('./js/jekyll_search/jekyll_search.js');\nconst J1Tocbot = require('./js/tocbot/tocbot.js');\n//const J1ThemeSwitcher = require('./js/bs_theme_switcher/switcher.js');\n// const J1MmenuLight = require('./js/mmenu-light/mmenu.js');\n\n// Passing log data over Internet|SeeMe (currently NOT used)\n// -----------------------------------------------------------------------------\n// window.j1.core.log4javascript = require('./js/logger/client/webhook.js');\n\n// BMD Libraries (moved to modules)\n// -----------------------------------------------------------------------------\n// window.bootstrapMaterialDesign = require('./js/bmd/js/bmd.js');\n\n// Github Webhooks (currently NOT used)\n// -----------------------------------------------------------------------------\n// window.j1.core.webhooks = require('./js/webhooks/octokit/client.js');\n\n\n// Test|Custom modules (currently NOT used)\n// -----------------------------------------------------------------------------\n// window.j1promiseTest = require('./js/custom/test_promises.js');\n// window.j1Example = require('./js/custom/example_module.js');\n\n// BS Libraries (moved to modules)\n// -----------------------------------------------------------------------------\n// Following source objects|modules are *implicetly* forced to be\n// exposed for run-time to the global namespace (window).\n// -----------------------------------------------------------------------------\n// const Bootstrap = require('./js/bootstrap/bootstrap.js');\n\n// const J1JekyllSearch = require('./js/jekyll_search/jekyll_search.js'); // Buffer Kack\n// const J1Tocbot = require('./js/tocbot/tocbot.js');\n\n// Backstretch (moved to modules)\n// -----------------------------------------------------------------------------\n// Following source objects|modules are *implicetly* forced to be\n// exposed for run-time to the namespace of jQuery ($).\n// -----------------------------------------------------------------------------\n// const J1Attics = require('./js/backstretch/backstretch.js');\n\n// Additional Vanilla JS helpers\n// -----------------------------------------------------------------------------\nconst J1AdocResultViewer = require('./js/adoc_result_viewer/view_results.js');\n// const MSIEPolyfills = require('./js/polyfills/ms-ie.js');\n\n// HMR messages (currently NOT used)\n// -----------------------------------------------------------------------------\n// if (module.hot) {\n// var logtext;\n// var stat;\n// var stat=module.hot.status();\n//\n// logtext='[INFO ] [HMR ] [Hot Module Replacement enabled]';\n// console.log(logtext);\n// logtext='[INFO ] [HMR ] [Status: ' + stat + ']';\n// console.log(logtext);\n//\n// module.hot.accept('./template.js', function() {\n// console.log('[HMR] Accepting the updated template.js module!');\n// });\n//\n// module.hot.accept('../100_template_css/theme_uno.scss', function () {\n// console.log('[HMR] Accepting the updated style.css module!');\n// require('../100_template_css/theme_uno.scss')\n// })\n//\n// React to the current status...\n// module.hot.addStatusHandler(status => {\n// stat=module.hot.status();\n// logtext='[INFO ] [HMR ] [Status: ' + stat + ']';\n// console.log(logtext);\n// });\n//}\n\n// -----------------------------------------------------------------------------\n// END\n","/*!\n * JavaScript Cookie v2.2.1\n * https://github.com/js-cookie/js-cookie\n *\n * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n * Released under the MIT license\n */\n;(function (factory) {\n\tvar registeredInModuleLoader;\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine(factory);\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (typeof exports === 'object') {\n\t\tmodule.exports = factory();\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (!registeredInModuleLoader) {\n\t\tvar OldCookies = window.Cookies;\n\t\tvar api = window.Cookies = factory();\n\t\tapi.noConflict = function () {\n\t\t\twindow.Cookies = OldCookies;\n\t\t\treturn api;\n\t\t};\n\t}\n}(function () {\n\tfunction extend () {\n\t\tvar i = 0;\n\t\tvar result = {};\n\t\tfor (; i < arguments.length; i++) {\n\t\t\tvar attributes = arguments[ i ];\n\t\t\tfor (var key in attributes) {\n\t\t\t\tresult[key] = attributes[key];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tfunction decode (s) {\n\t\treturn s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);\n\t}\n\n\tfunction init (converter) {\n\t\tfunction api() {}\n\n\t\tfunction set (key, value, attributes) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tattributes = extend({\n\t\t\t\tpath: '/'\n\t\t\t}, api.defaults, attributes);\n\n\t\t\tif (typeof attributes.expires === 'number') {\n\t\t\t\tattributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5);\n\t\t\t}\n\n\t\t\t// We're using \"expires\" because \"max-age\" is not supported by IE\n\t\t\tattributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';\n\n\t\t\ttry {\n\t\t\t\tvar result = JSON.stringify(value);\n\t\t\t\tif (/^[\\{\\[]/.test(result)) {\n\t\t\t\t\tvalue = result;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\n\t\t\tvalue = converter.write ?\n\t\t\t\tconverter.write(value, key) :\n\t\t\t\tencodeURIComponent(String(value))\n\t\t\t\t\t.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n\n\t\t\tkey = encodeURIComponent(String(key))\n\t\t\t\t.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)\n\t\t\t\t.replace(/[\\(\\)]/g, escape);\n\n\t\t\tvar stringifiedAttributes = '';\n\t\t\tfor (var attributeName in attributes) {\n\t\t\t\tif (!attributes[attributeName]) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tstringifiedAttributes += '; ' + attributeName;\n\t\t\t\tif (attributes[attributeName] === true) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Considers RFC 6265 section 5.2:\n\t\t\t\t// ...\n\t\t\t\t// 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n\t\t\t\t// character:\n\t\t\t\t// Consume the characters of the unparsed-attributes up to,\n\t\t\t\t// not including, the first %x3B (\";\") character.\n\t\t\t\t// ...\n\t\t\t\tstringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n\t\t\t}\n\n\t\t\treturn (document.cookie = key + '=' + value + stringifiedAttributes);\n\t\t}\n\n\t\tfunction get (key, json) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar jar = {};\n\t\t\t// To prevent the for loop in the first place assign an empty array\n\t\t\t// in case there are no cookies at all.\n\t\t\tvar cookies = document.cookie ? document.cookie.split('; ') : [];\n\t\t\tvar i = 0;\n\n\t\t\tfor (; i < cookies.length; i++) {\n\t\t\t\tvar parts = cookies[i].split('=');\n\t\t\t\tvar cookie = parts.slice(1).join('=');\n\n\t\t\t\tif (!json && cookie.charAt(0) === '\"') {\n\t\t\t\t\tcookie = cookie.slice(1, -1);\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tvar name = decode(parts[0]);\n\t\t\t\t\tcookie = (converter.read || converter)(cookie, name) ||\n\t\t\t\t\t\tdecode(cookie);\n\n\t\t\t\t\tif (json) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tcookie = JSON.parse(cookie);\n\t\t\t\t\t\t} catch (e) {}\n\t\t\t\t\t}\n\n\t\t\t\t\tjar[name] = cookie;\n\n\t\t\t\t\tif (key === name) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {}\n\t\t\t}\n\n\t\t\treturn key ? jar[key] : jar;\n\t\t}\n\n\t\tapi.set = set;\n\t\tapi.get = function (key) {\n\t\t\treturn get(key, false /* read as raw */);\n\t\t};\n\t\tapi.getJSON = function (key) {\n\t\t\treturn get(key, true /* read as json */);\n\t\t};\n\t\tapi.remove = function (key, attributes) {\n\t\t\tset(key, '', extend(attributes, {\n\t\t\t\texpires: -1\n\t\t\t}));\n\t\t};\n\n\t\tapi.defaults = {};\n\n\t\tapi.withConverter = init;\n\n\t\treturn api;\n\t}\n\n\treturn init(function () {});\n}));\n","/**\r\n * Copyright 2015 Tim Down.\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\n\r\n(function(factory,root){if(typeof define==\"function\"&&define.amd){define(factory);}else if(typeof module!=\"undefined\"&&typeof exports==\"object\"){module.exports=factory();}else{root.log4javascript=factory();}})(function(){if(!Array.prototype.push){Array.prototype.push=function(){for(var i=0,len=arguments.length;i<len;i++){this[this.length]=arguments[i];}\r\nreturn this.length;};}\r\nif(!Array.prototype.shift){Array.prototype.shift=function(){if(this.length>0){var firstItem=this[0];for(var i=0,len=this.length-1;i<len;i++){this[i]=this[i+1];}\r\nthis.length=this.length-1;return firstItem;}};}\r\nif(!Array.prototype.splice){Array.prototype.splice=function(startIndex,deleteCount){var itemsAfterDeleted=this.slice(startIndex+deleteCount);var itemsDeleted=this.slice(startIndex,startIndex+deleteCount);this.length=startIndex;var argumentsArray=[];for(var i=0,len=arguments.length;i<len;i++){argumentsArray[i]=arguments[i];}\r\nvar itemsToAppend=(argumentsArray.length>2)?itemsAfterDeleted=argumentsArray.slice(2).concat(itemsAfterDeleted):itemsAfterDeleted;for(i=0,len=itemsToAppend.length;i<len;i++){this.push(itemsToAppend[i]);}\r\nreturn itemsDeleted;};}\r\nfunction isUndefined(obj){return typeof obj==\"undefined\";}\r\nfunction EventSupport(){}\r\nEventSupport.prototype={eventTypes:[],eventListeners:{},setEventTypes:function(eventTypesParam){if(eventTypesParam instanceof Array){this.eventTypes=eventTypesParam;this.eventListeners={};for(var i=0,len=this.eventTypes.length;i<len;i++){this.eventListeners[this.eventTypes[i]]=[];}}else{handleError(\"log4javascript.EventSupport [\"+this+\"]: setEventTypes: eventTypes parameter must be an Array\");}},addEventListener:function(eventType,listener){if(typeof listener==\"function\"){if(!array_contains(this.eventTypes,eventType)){handleError(\"log4javascript.EventSupport [\"+this+\"]: addEventListener: no event called '\"+eventType+\"'\");}\r\nthis.eventListeners[eventType].push(listener);}else{handleError(\"log4javascript.EventSupport [\"+this+\"]: addEventListener: listener must be a function\");}},removeEventListener:function(eventType,listener){if(typeof listener==\"function\"){if(!array_contains(this.eventTypes,eventType)){handleError(\"log4javascript.EventSupport [\"+this+\"]: removeEventListener: no event called '\"+eventType+\"'\");}\r\narray_remove(this.eventListeners[eventType],listener);}else{handleError(\"log4javascript.EventSupport [\"+this+\"]: removeEventListener: listener must be a function\");}},dispatchEvent:function(eventType,eventArgs){if(array_contains(this.eventTypes,eventType)){var listeners=this.eventListeners[eventType];for(var i=0,len=listeners.length;i<len;i++){listeners[i](this,eventType,eventArgs);}}else{handleError(\"log4javascript.EventSupport [\"+this+\"]: dispatchEvent: no event called '\"+eventType+\"'\");}}};var applicationStartDate=new Date();var uniqueId=\"log4javascript_\"+applicationStartDate.getTime()+\"_\"+\r\nMath.floor(Math.random()*100000000);var emptyFunction=function(){};var newLine=\"\\r\\n\";var pageLoaded=false;function Log4JavaScript(){}\r\nLog4JavaScript.prototype=new EventSupport();var log4javascript=new Log4JavaScript();log4javascript.version=\"1.4.13\";log4javascript.edition=\"log4javascript\";function toStr(obj){if(obj&&obj.toString){return obj.toString();}else{return String(obj);}}\r\nfunction getExceptionMessage(ex){if(ex.message){return ex.message;}else if(ex.description){return ex.description;}else{return toStr(ex);}}\r\nfunction getUrlFileName(url){var lastSlashIndex=Math.max(url.lastIndexOf(\"/\"),url.lastIndexOf(\"\\\\\"));return url.substr(lastSlashIndex+1);}\r\nfunction getExceptionStringRep(ex){if(ex){var exStr=\"Exception: \"+getExceptionMessage(ex);try{if(ex.lineNumber){exStr+=\" on line number \"+ex.lineNumber;}\r\nif(ex.fileName){exStr+=\" in file \"+getUrlFileName(ex.fileName);}}catch(localEx){logLog.warn(\"Unable to obtain file and line information for error\");}\r\nif(showStackTraces&&ex.stack){exStr+=newLine+\"Stack trace:\"+newLine+ex.stack;}\r\nreturn exStr;}\r\nreturn null;}\r\nfunction bool(obj){return Boolean(obj);}\r\nfunction trim(str){return str.replace(/^\\s+/,\"\").replace(/\\s+$/,\"\");}\r\nfunction splitIntoLines(text){var text2=text.replace(/\\r\\n/g,\"\\n\").replace(/\\r/g,\"\\n\");return text2.split(\"\\n\");}\r\nvar urlEncode=(typeof window.encodeURIComponent!=\"undefined\")?function(str){return encodeURIComponent(str);}:function(str){return escape(str).replace(/\\+/g,\"%2B\").replace(/\"/g,\"%22\").replace(/'/g,\"%27\").replace(/\\//g,\"%2F\").replace(/=/g,\"%3D\");};function array_remove(arr,val){var index=-1;for(var i=0,len=arr.length;i<len;i++){if(arr[i]===val){index=i;break;}}\r\nif(index>=0){arr.splice(index,1);return true;}else{return false;}}\r\nfunction array_contains(arr,val){for(var i=0,len=arr.length;i<len;i++){if(arr[i]==val){return true;}}\r\nreturn false;}\r\nfunction extractBooleanFromParam(param,defaultValue){if(isUndefined(param)){return defaultValue;}else{return bool(param);}}\r\nfunction extractStringFromParam(param,defaultValue){if(isUndefined(param)){return defaultValue;}else{return String(param);}}\r\nfunction extractIntFromParam(param,defaultValue){if(isUndefined(param)){return defaultValue;}else{try{var value=parseInt(param,10);return isNaN(value)?defaultValue:value;}catch(ex){logLog.warn(\"Invalid int param \"+param,ex);return defaultValue;}}}\r\nfunction extractFunctionFromParam(param,defaultValue){if(typeof param==\"function\"){return param;}else{return defaultValue;}}\r\nfunction isError(err){return(err instanceof Error);}\r\nif(!Function.prototype.apply){Function.prototype.apply=function(obj,args){var methodName=\"__apply__\";if(typeof obj[methodName]!=\"undefined\"){methodName+=String(Math.random()).substr(2);}\r\nobj[methodName]=this;var argsStrings=[];for(var i=0,len=args.length;i<len;i++){argsStrings[i]=\"args[\"+i+\"]\";}\r\nvar script=\"obj.\"+methodName+\"(\"+argsStrings.join(\",\")+\")\";var returnValue=eval(script);delete obj[methodName];return returnValue;};}\r\nif(!Function.prototype.call){Function.prototype.call=function(obj){var args=[];for(var i=1,len=arguments.length;i<len;i++){args[i-1]=arguments[i];}\r\nreturn this.apply(obj,args);};}\r\nvar logLog={quietMode:false,debugMessages:[],setQuietMode:function(quietMode){this.quietMode=bool(quietMode);},numberOfErrors:0,alertAllErrors:false,setAlertAllErrors:function(alertAllErrors){this.alertAllErrors=alertAllErrors;},debug:function(message){this.debugMessages.push(message);},displayDebug:function(){alert(this.debugMessages.join(newLine));},warn:function(message,exception){},error:function(message,exception){if(++this.numberOfErrors==1||this.alertAllErrors){if(!this.quietMode){var alertMessage=\"log4javascript error: \"+message;if(exception){alertMessage+=newLine+newLine+\"Original error: \"+getExceptionStringRep(exception);}\r\nalert(alertMessage);}}}};log4javascript.logLog=logLog;log4javascript.setEventTypes([\"load\",\"error\"]);function handleError(message,exception){logLog.error(message,exception);log4javascript.dispatchEvent(\"error\",{\"message\":message,\"exception\":exception});}\r\nlog4javascript.handleError=handleError;var enabled=!((typeof log4javascript_disabled!=\"undefined\")&&log4javascript_disabled);log4javascript.setEnabled=function(enable){enabled=bool(enable);};log4javascript.isEnabled=function(){return enabled;};var useTimeStampsInMilliseconds=true;log4javascript.setTimeStampsInMilliseconds=function(timeStampsInMilliseconds){useTimeStampsInMilliseconds=bool(timeStampsInMilliseconds);};log4javascript.isTimeStampsInMilliseconds=function(){return useTimeStampsInMilliseconds;};log4javascript.evalInScope=function(expr){return eval(expr);};var showStackTraces=false;log4javascript.setShowStackTraces=function(show){showStackTraces=bool(show);};var Level=function(level,name){this.level=level;this.name=name;};Level.prototype={toString:function(){return this.name;},equals:function(level){return this.level==level.level;},isGreaterOrEqual:function(level){return this.level>=level.level;}};Level.ALL=new Level(Number.MIN_VALUE,\"ALL\");Level.TRACE=new Level(10000,\"TRACE\");Level.DEBUG=new Level(20000,\"DEBUG\");Level.INFO=new Level(30000,\"INFO\");Level.WARN=new Level(40000,\"WARN\");Level.ERROR=new Level(50000,\"ERROR\");Level.FATAL=new Level(60000,\"FATAL\");Level.OFF=new Level(Number.MAX_VALUE,\"OFF\");log4javascript.Level=Level;function Timer(name,level){this.name=name;this.level=isUndefined(level)?Level.INFO:level;this.start=new Date();}\r\nTimer.prototype.getElapsedTime=function(){return new Date().getTime()-this.start.getTime();};var anonymousLoggerName=\"[anonymous]\";var defaultLoggerName=\"[default]\";var nullLoggerName=\"[null]\";var rootLoggerName=\"root\";function Logger(name){this.name=name;this.parent=null;this.children=[];var appenders=[];var loggerLevel=null;var isRoot=(this.name===rootLoggerName);var isNull=(this.name===nullLoggerName);var appenderCache=null;var appenderCacheInvalidated=false;this.addChild=function(childLogger){this.children.push(childLogger);childLogger.parent=this;childLogger.invalidateAppenderCache();};var additive=true;this.getAdditivity=function(){return additive;};this.setAdditivity=function(additivity){var valueChanged=(additive!=additivity);additive=additivity;if(valueChanged){this.invalidateAppenderCache();}};this.addAppender=function(appender){if(isNull){handleError(\"Logger.addAppender: you may not add an appender to the null logger\");}else{if(appender instanceof log4javascript.Appender){if(!array_contains(appenders,appender)){appenders.push(appender);appender.setAddedToLogger(this);this.invalidateAppenderCache();}}else{handleError(\"Logger.addAppender: appender supplied ('\"+\r\ntoStr(appender)+\"') is not a subclass of Appender\");}}};this.removeAppender=function(appender){array_remove(appenders,appender);appender.setRemovedFromLogger(this);this.invalidateAppenderCache();};this.removeAllAppenders=function(){var appenderCount=appenders.length;if(appenderCount>0){for(var i=0;i<appenderCount;i++){appenders[i].setRemovedFromLogger(this);}\r\nappenders.length=0;this.invalidateAppenderCache();}};this.getEffectiveAppenders=function(){if(appenderCache===null||appenderCacheInvalidated){var parentEffectiveAppenders=(isRoot||!this.getAdditivity())?[]:this.parent.getEffectiveAppenders();appenderCache=parentEffectiveAppenders.concat(appenders);appenderCacheInvalidated=false;}\r\nreturn appenderCache;};this.invalidateAppenderCache=function(){appenderCacheInvalidated=true;for(var i=0,len=this.children.length;i<len;i++){this.children[i].invalidateAppenderCache();}};this.log=function(level,params){if(enabled&&level.isGreaterOrEqual(this.getEffectiveLevel())){var exception;var finalParamIndex=params.length-1;var lastParam=params[finalParamIndex];if(params.length>1&&isError(lastParam)){exception=lastParam;finalParamIndex--;}\r\nvar messages=[];for(var i=0;i<=finalParamIndex;i++){messages[i]=params[i];}\r\nvar loggingEvent=new LoggingEvent(this,new Date(),level,messages,exception);this.callAppenders(loggingEvent);}};this.callAppenders=function(loggingEvent){var effectiveAppenders=this.getEffectiveAppenders();for(var i=0,len=effectiveAppenders.length;i<len;i++){effectiveAppenders[i].doAppend(loggingEvent);}};this.setLevel=function(level){if(isRoot&&level===null){handleError(\"Logger.setLevel: you cannot set the level of the root logger to null\");}else if(level instanceof Level){loggerLevel=level;}else{handleError(\"Logger.setLevel: level supplied to logger \"+\r\nthis.name+\" is not an instance of log4javascript.Level\");}};this.getLevel=function(){return loggerLevel;};this.getEffectiveLevel=function(){for(var logger=this;logger!==null;logger=logger.parent){var level=logger.getLevel();if(level!==null){return level;}}};this.group=function(name,initiallyExpanded){if(enabled){var effectiveAppenders=this.getEffectiveAppenders();for(var i=0,len=effectiveAppenders.length;i<len;i++){effectiveAppenders[i].group(name,initiallyExpanded);}}};this.groupEnd=function(){if(enabled){var effectiveAppenders=this.getEffectiveAppenders();for(var i=0,len=effectiveAppenders.length;i<len;i++){effectiveAppenders[i].groupEnd();}}};var timers={};this.time=function(name,level){if(enabled){if(isUndefined(name)){handleError(\"Logger.time: a name for the timer must be supplied\");}else if(level&&!(level instanceof Level)){handleError(\"Logger.time: level supplied to timer \"+\r\nname+\" is not an instance of log4javascript.Level\");}else{timers[name]=new Timer(name,level);}}};this.timeEnd=function(name){if(enabled){if(isUndefined(name)){handleError(\"Logger.timeEnd: a name for the timer must be supplied\");}else if(timers[name]){var timer=timers[name];var milliseconds=timer.getElapsedTime();this.log(timer.level,[\"Timer \"+toStr(name)+\" completed in \"+milliseconds+\"ms\"]);delete timers[name];}else{logLog.warn(\"Logger.timeEnd: no timer found with name \"+name);}}};this.assert=function(expr){if(enabled&&!expr){var args=[];for(var i=1,len=arguments.length;i<len;i++){args.push(arguments[i]);}\r\nargs=(args.length>0)?args:[\"Assertion Failure\"];args.push(newLine);args.push(expr);this.log(Level.ERROR,args);}};this.toString=function(){return\"Logger[\"+this.name+\"]\";};}\r\nLogger.prototype={trace:function(){this.log(Level.TRACE,arguments);},debug:function(){this.log(Level.DEBUG,arguments);},info:function(){this.log(Level.INFO,arguments);},warn:function(){this.log(Level.WARN,arguments);},error:function(){this.log(Level.ERROR,arguments);},fatal:function(){this.log(Level.FATAL,arguments);},isEnabledFor:function(level){return level.isGreaterOrEqual(this.getEffectiveLevel());},isTraceEnabled:function(){return this.isEnabledFor(Level.TRACE);},isDebugEnabled:function(){return this.isEnabledFor(Level.DEBUG);},isInfoEnabled:function(){return this.isEnabledFor(Level.INFO);},isWarnEnabled:function(){return this.isEnabledFor(Level.WARN);},isErrorEnabled:function(){return this.isEnabledFor(Level.ERROR);},isFatalEnabled:function(){return this.isEnabledFor(Level.FATAL);}};Logger.prototype.trace.isEntryPoint=true;Logger.prototype.debug.isEntryPoint=true;Logger.prototype.info.isEntryPoint=true;Logger.prototype.warn.isEntryPoint=true;Logger.prototype.error.isEntryPoint=true;Logger.prototype.fatal.isEntryPoint=true;var loggers={};var loggerNames=[];var ROOT_LOGGER_DEFAULT_LEVEL=Level.DEBUG;var rootLogger=new Logger(rootLoggerName);rootLogger.setLevel(ROOT_LOGGER_DEFAULT_LEVEL);log4javascript.getRootLogger=function(){return rootLogger;};log4javascript.getLogger=function(loggerName){if(typeof loggerName!=\"string\"){loggerName=anonymousLoggerName;logLog.warn(\"log4javascript.getLogger: non-string logger name \"+\r\ntoStr(loggerName)+\" supplied, returning anonymous logger\");}\r\nif(loggerName==rootLoggerName){handleError(\"log4javascript.getLogger: root logger may not be obtained by name\");}\r\nif(!loggers[loggerName]){var logger=new Logger(loggerName);loggers[loggerName]=logger;loggerNames.push(loggerName);var lastDotIndex=loggerName.lastIndexOf(\".\");var parentLogger;if(lastDotIndex>-1){var parentLoggerName=loggerName.substring(0,lastDotIndex);parentLogger=log4javascript.getLogger(parentLoggerName);}else{parentLogger=rootLogger;}\r\nparentLogger.addChild(logger);}\r\nreturn loggers[loggerName];};var defaultLogger=null;log4javascript.getDefaultLogger=function(){if(!defaultLogger){defaultLogger=createDefaultLogger();}\r\nreturn defaultLogger;};var nullLogger=null;log4javascript.getNullLogger=function(){if(!nullLogger){nullLogger=new Logger(nullLoggerName);nullLogger.setLevel(Level.OFF);}\r\nreturn nullLogger;};log4javascript.resetConfiguration=function(){rootLogger.setLevel(ROOT_LOGGER_DEFAULT_LEVEL);loggers={};};var LoggingEvent=function(logger,timeStamp,level,messages,exception){this.logger=logger;this.timeStamp=timeStamp;this.timeStampInMilliseconds=timeStamp.getTime();this.timeStampInSeconds=Math.floor(this.timeStampInMilliseconds/1000);this.milliseconds=this.timeStamp.getMilliseconds();this.level=level;this.messages=messages;this.exception=exception;};LoggingEvent.prototype={getThrowableStrRep:function(){return this.exception?getExceptionStringRep(this.exception):\"\";},getCombinedMessages:function(){return(this.messages.length==1)?this.messages[0]:this.messages.join(newLine);},toString:function(){return\"LoggingEvent[\"+this.level+\"]\";}};log4javascript.LoggingEvent=LoggingEvent;var Layout=function(){};Layout.prototype={defaults:{loggerKey:\"logger\",timeStampKey:\"timestamp\",millisecondsKey:\"milliseconds\",levelKey:\"level\",messageKey:\"message\",exceptionKey:\"exception\",urlKey:\"url\"},loggerKey:\"logger\",timeStampKey:\"timestamp\",millisecondsKey:\"milliseconds\",levelKey:\"level\",messageKey:\"message\",exceptionKey:\"exception\",urlKey:\"url\",batchHeader:\"\",batchFooter:\"\",batchSeparator:\"\",returnsPostData:false,overrideTimeStampsSetting:false,useTimeStampsInMilliseconds:null,format:function(){handleError(\"Layout.format: layout supplied has no format() method\");},ignoresThrowable:function(){handleError(\"Layout.ignoresThrowable: layout supplied has no ignoresThrowable() method\");},getContentType:function(){return\"text/plain\";},allowBatching:function(){return true;},setTimeStampsInMilliseconds:function(timeStampsInMilliseconds){this.overrideTimeStampsSetting=true;this.useTimeStampsInMilliseconds=bool(timeStampsInMilliseconds);},isTimeStampsInMilliseconds:function(){return this.overrideTimeStampsSetting?this.useTimeStampsInMilliseconds:useTimeStampsInMilliseconds;},getTimeStampValue:function(loggingEvent){return this.isTimeStampsInMilliseconds()?loggingEvent.timeStampInMilliseconds:loggingEvent.timeStampInSeconds;},getDataValues:function(loggingEvent,combineMessages){var dataValues=[[this.loggerKey,loggingEvent.logger.name],[this.timeStampKey,this.getTimeStampValue(loggingEvent)],[this.levelKey,loggingEvent.level.name],[this.urlKey,window.location.href],[this.messageKey,combineMessages?loggingEvent.getCombinedMessages():loggingEvent.messages]];if(!this.isTimeStampsInMilliseconds()){dataValues.push([this.millisecondsKey,loggingEvent.milliseconds]);}\r\nif(loggingEvent.exception){dataValues.push([this.exceptionKey,getExceptionStringRep(loggingEvent.exception)]);}\r\nif(this.hasCustomFields()){for(var i=0,len=this.customFields.length;i<len;i++){var val=this.customFields[i].value;if(typeof val===\"function\"){val=val(this,loggingEvent);}\r\ndataValues.push([this.customFields[i].name,val]);}}\r\nreturn dataValues;},setKeys:function(loggerKey,timeStampKey,levelKey,messageKey,exceptionKey,urlKey,millisecondsKey){this.loggerKey=extractStringFromParam(loggerKey,this.defaults.loggerKey);this.timeStampKey=extractStringFromParam(timeStampKey,this.defaults.timeStampKey);this.levelKey=extractStringFromParam(levelKey,this.defaults.levelKey);this.messageKey=extractStringFromParam(messageKey,this.defaults.messageKey);this.exceptionKey=extractStringFromParam(exceptionKey,this.defaults.exceptionKey);this.urlKey=extractStringFromParam(urlKey,this.defaults.urlKey);this.millisecondsKey=extractStringFromParam(millisecondsKey,this.defaults.millisecondsKey);},setCustomField:function(name,value){var fieldUpdated=false;for(var i=0,len=this.customFields.length;i<len;i++){if(this.customFields[i].name===name){this.customFields[i].value=value;fieldUpdated=true;}}\r\nif(!fieldUpdated){this.customFields.push({\"name\":name,\"value\":value});}},hasCustomFields:function(){return(this.customFields.length>0);},formatWithException:function(loggingEvent){var formatted=this.format(loggingEvent);if(loggingEvent.exception&&this.ignoresThrowable()){formatted+=loggingEvent.getThrowableStrRep();}\r\nreturn formatted;},toString:function(){handleError(\"Layout.toString: all layouts must override this method\");}};log4javascript.Layout=Layout;var Appender=function(){};Appender.prototype=new EventSupport();Appender.prototype.layout=new PatternLayout();Appender.prototype.threshold=Level.ALL;Appender.prototype.loggers=[];Appender.prototype.doAppend=function(loggingEvent){if(enabled&&loggingEvent.level.level>=this.threshold.level){this.append(loggingEvent);}};Appender.prototype.append=function(loggingEvent){};Appender.prototype.setLayout=function(layout){if(layout instanceof Layout){this.layout=layout;}else{handleError(\"Appender.setLayout: layout supplied to \"+\r\nthis.toString()+\" is not a subclass of Layout\");}};Appender.prototype.getLayout=function(){return this.layout;};Appender.prototype.setThreshold=function(threshold){if(threshold instanceof Level){this.threshold=threshold;}else{handleError(\"Appender.setThreshold: threshold supplied to \"+\r\nthis.toString()+\" is not a subclass of Level\");}};Appender.prototype.getThreshold=function(){return this.threshold;};Appender.prototype.setAddedToLogger=function(logger){this.loggers.push(logger);};Appender.prototype.setRemovedFromLogger=function(logger){array_remove(this.loggers,logger);};Appender.prototype.group=emptyFunction;Appender.prototype.groupEnd=emptyFunction;Appender.prototype.toString=function(){handleError(\"Appender.toString: all appenders must override this method\");};log4javascript.Appender=Appender;function SimpleLayout(){this.customFields=[];}\r\nSimpleLayout.prototype=new Layout();SimpleLayout.prototype.format=function(loggingEvent){return loggingEvent.level.name+\" - \"+loggingEvent.getCombinedMessages();};SimpleLayout.prototype.ignoresThrowable=function(){return true;};SimpleLayout.prototype.toString=function(){return\"SimpleLayout\";};log4javascript.SimpleLayout=SimpleLayout;function NullLayout(){this.customFields=[];}\r\nNullLayout.prototype=new Layout();NullLayout.prototype.format=function(loggingEvent){return loggingEvent.messages;};NullLayout.prototype.ignoresThrowable=function(){return true;};NullLayout.prototype.formatWithException=function(loggingEvent){var messages=loggingEvent.messages,ex=loggingEvent.exception;return ex?messages.concat([ex]):messages;};NullLayout.prototype.toString=function(){return\"NullLayout\";};log4javascript.NullLayout=NullLayout;function XmlLayout(combineMessages){this.combineMessages=extractBooleanFromParam(combineMessages,true);this.customFields=[];}\r\nXmlLayout.prototype=new Layout();XmlLayout.prototype.isCombinedMessages=function(){return this.combineMessages;};XmlLayout.prototype.getContentType=function(){return\"text/xml\";};XmlLayout.prototype.escapeCdata=function(str){return str.replace(/\\]\\]>/,\"]]>]]&gt;<![CDATA[\");};XmlLayout.prototype.format=function(loggingEvent){var layout=this;var i,len;function formatMessage(message){message=(typeof message===\"string\")?message:toStr(message);return\"<log4javascript:message><![CDATA[\"+\r\nlayout.escapeCdata(message)+\"]]></log4javascript:message>\";}\r\nvar str=\"<log4javascript:event logger=\\\"\"+loggingEvent.logger.name+\"\\\" timestamp=\\\"\"+this.getTimeStampValue(loggingEvent)+\"\\\"\";if(!this.isTimeStampsInMilliseconds()){str+=\" milliseconds=\\\"\"+loggingEvent.milliseconds+\"\\\"\";}\r\nstr+=\" level=\\\"\"+loggingEvent.level.name+\"\\\">\"+newLine;if(this.combineMessages){str+=formatMessage(loggingEvent.getCombinedMessages());}else{str+=\"<log4javascript:messages>\"+newLine;for(i=0,len=loggingEvent.messages.length;i<len;i++){str+=formatMessage(loggingEvent.messages[i])+newLine;}\r\nstr+=\"</log4javascript:messages>\"+newLine;}\r\nif(this.hasCustomFields()){for(i=0,len=this.customFields.length;i<len;i++){str+=\"<log4javascript:customfield name=\\\"\"+\r\nthis.customFields[i].name+\"\\\"><![CDATA[\"+\r\nthis.customFields[i].value.toString()+\"]]></log4javascript:customfield>\"+newLine;}}\r\nif(loggingEvent.exception){str+=\"<log4javascript:exception><![CDATA[\"+\r\ngetExceptionStringRep(loggingEvent.exception)+\"]]></log4javascript:exception>\"+newLine;}\r\nstr+=\"</log4javascript:event>\"+newLine+newLine;return str;};XmlLayout.prototype.ignoresThrowable=function(){return false;};XmlLayout.prototype.toString=function(){return\"XmlLayout\";};log4javascript.XmlLayout=XmlLayout;function escapeNewLines(str){return str.replace(/\\r\\n|\\r|\\n/g,\"\\\\r\\\\n\");}\r\nfunction JsonLayout(readable,combineMessages){this.readable=extractBooleanFromParam(readable,false);this.combineMessages=extractBooleanFromParam(combineMessages,true);this.batchHeader=this.readable?\"[\"+newLine:\"[\";this.batchFooter=this.readable?\"]\"+newLine:\"]\";this.batchSeparator=this.readable?\",\"+newLine:\",\";this.setKeys();this.colon=this.readable?\": \":\":\";this.tab=this.readable?\"\\t\":\"\";this.lineBreak=this.readable?newLine:\"\";this.customFields=[];}\r\nJsonLayout.prototype=new Layout();JsonLayout.prototype.isReadable=function(){return this.readable;};JsonLayout.prototype.isCombinedMessages=function(){return this.combineMessages;};JsonLayout.prototype.format=function(loggingEvent){var layout=this;var dataValues=this.getDataValues(loggingEvent,this.combineMessages);var str=\"{\"+this.lineBreak;var i,len;function formatValue(val,prefix,expand){var formattedValue;var valType=typeof val;if(val instanceof Date){formattedValue=String(val.getTime());}else if(expand&&(val instanceof Array)){formattedValue=\"[\"+layout.lineBreak;for(var i=0,len=val.length;i<len;i++){var childPrefix=prefix+layout.tab;formattedValue+=childPrefix+formatValue(val[i],childPrefix,false);if(i<val.length-1){formattedValue+=\",\";}\r\nformattedValue+=layout.lineBreak;}\r\nformattedValue+=prefix+\"]\";}else if(valType!==\"number\"&&valType!==\"boolean\"){formattedValue=\"\\\"\"+escapeNewLines(toStr(val).replace(/\\\"/g,\"\\\\\\\"\"))+\"\\\"\";}else{formattedValue=val;}\r\nreturn formattedValue;}\r\nfor(i=0,len=dataValues.length-1;i<=len;i++){str+=this.tab+\"\\\"\"+dataValues[i][0]+\"\\\"\"+this.colon+formatValue(dataValues[i][1],this.tab,true);if(i<len){str+=\",\";}\r\nstr+=this.lineBreak;}\r\nstr+=\"}\"+this.lineBreak;return str;};JsonLayout.prototype.ignoresThrowable=function(){return false;};JsonLayout.prototype.toString=function(){return\"JsonLayout\";};JsonLayout.prototype.getContentType=function(){return\"application/json\";};log4javascript.JsonLayout=JsonLayout;function HttpPostDataLayout(){this.setKeys();this.customFields=[];this.returnsPostData=true;}\r\nHttpPostDataLayout.prototype=new Layout();HttpPostDataLayout.prototype.allowBatching=function(){return false;};HttpPostDataLayout.prototype.format=function(loggingEvent){var dataValues=this.getDataValues(loggingEvent);var queryBits=[];for(var i=0,len=dataValues.length;i<len;i++){var val=(dataValues[i][1]instanceof Date)?String(dataValues[i][1].getTime()):dataValues[i][1];queryBits.push(urlEncode(dataValues[i][0])+\"=\"+urlEncode(val));}\r\nreturn queryBits.join(\"&\");};HttpPostDataLayout.prototype.ignoresThrowable=function(loggingEvent){return false;};HttpPostDataLayout.prototype.toString=function(){return\"HttpPostDataLayout\";};log4javascript.HttpPostDataLayout=HttpPostDataLayout;function formatObjectExpansion(obj,depth,indentation){var objectsExpanded=[];function doFormat(obj,depth,indentation){var i,len,childDepth,childIndentation,childLines,expansion,childExpansion;if(!indentation){indentation=\"\";}\r\nfunction formatString(text){var lines=splitIntoLines(text);for(var j=1,jLen=lines.length;j<jLen;j++){lines[j]=indentation+lines[j];}\r\nreturn lines.join(newLine);}\r\nif(obj===null){return\"null\";}else if(typeof obj==\"undefined\"){return\"undefined\";}else if(typeof obj==\"string\"){return formatString(obj);}else if(typeof obj==\"object\"&&array_contains(objectsExpanded,obj)){try{expansion=toStr(obj);}catch(ex){expansion=\"Error formatting property. Details: \"+getExceptionStringRep(ex);}\r\nreturn expansion+\" [already expanded]\";}else if((obj instanceof Array)&&depth>0){objectsExpanded.push(obj);expansion=\"[\"+newLine;childDepth=depth-1;childIndentation=indentation+\" \";childLines=[];for(i=0,len=obj.length;i<len;i++){try{childExpansion=doFormat(obj[i],childDepth,childIndentation);childLines.push(childIndentation+childExpansion);}catch(ex){childLines.push(childIndentation+\"Error formatting array member. Details: \"+\r\ngetExceptionStringRep(ex)+\"\");}}\r\nexpansion+=childLines.join(\",\"+newLine)+newLine+indentation+\"]\";return expansion;}else if(Object.prototype.toString.call(obj)==\"[object Date]\"){return obj.toString();}else if(typeof obj==\"object\"&&depth>0){objectsExpanded.push(obj);expansion=\"{\"+newLine;childDepth=depth-1;childIndentation=indentation+\" \";childLines=[];for(i in obj){try{childExpansion=doFormat(obj[i],childDepth,childIndentation);childLines.push(childIndentation+i+\": \"+childExpansion);}catch(ex){childLines.push(childIndentation+i+\": Error formatting property. Details: \"+\r\ngetExceptionStringRep(ex));}}\r\nexpansion+=childLines.join(\",\"+newLine)+newLine+indentation+\"}\";return expansion;}else{return formatString(toStr(obj));}}\r\nreturn doFormat(obj,depth,indentation);}\r\nvar SimpleDateFormat;(function(){var regex=/('[^']*')|(G+|y+|M+|w+|W+|D+|d+|F+|E+|a+|H+|k+|K+|h+|m+|s+|S+|Z+)|([a-zA-Z]+)|([^a-zA-Z']+)/;var monthNames=[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"];var dayNames=[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"];var TEXT2=0,TEXT3=1,NUMBER=2,YEAR=3,MONTH=4,TIMEZONE=5;var types={G:TEXT2,y:YEAR,M:MONTH,w:NUMBER,W:NUMBER,D:NUMBER,d:NUMBER,F:NUMBER,E:TEXT3,a:TEXT2,H:NUMBER,k:NUMBER,K:NUMBER,h:NUMBER,m:NUMBER,s:NUMBER,S:NUMBER,Z:TIMEZONE};var ONE_DAY=24*60*60*1000;var ONE_WEEK=7*ONE_DAY;var DEFAULT_MINIMAL_DAYS_IN_FIRST_WEEK=1;var newDateAtMidnight=function(year,month,day){var d=new Date(year,month,day,0,0,0);d.setMilliseconds(0);return d;};Date.prototype.getDifference=function(date){return this.getTime()-date.getTime();};Date.prototype.isBefore=function(d){return this.getTime()<d.getTime();};Date.prototype.getUTCTime=function(){return Date.UTC(this.getFullYear(),this.getMonth(),this.getDate(),this.getHours(),this.getMinutes(),this.getSeconds(),this.getMilliseconds());};Date.prototype.getTimeSince=function(d){return this.getUTCTime()-d.getUTCTime();};Date.prototype.getPreviousSunday=function(){var midday=new Date(this.getFullYear(),this.getMonth(),this.getDate(),12,0,0);var previousSunday=new Date(midday.getTime()-this.getDay()*ONE_DAY);return newDateAtMidnight(previousSunday.getFullYear(),previousSunday.getMonth(),previousSunday.getDate());};Date.prototype.getWeekInYear=function(minimalDaysInFirstWeek){if(isUndefined(this.minimalDaysInFirstWeek)){minimalDaysInFirstWeek=DEFAULT_MINIMAL_DAYS_IN_FIRST_WEEK;}\r\nvar previousSunday=this.getPreviousSunday();var startOfYear=newDateAtMidnight(this.getFullYear(),0,1);var numberOfSundays=previousSunday.isBefore(startOfYear)?0:1+Math.floor(previousSunday.getTimeSince(startOfYear)/ONE_WEEK);var numberOfDaysInFirstWeek=7-startOfYear.getDay();var weekInYear=numberOfSundays;if(numberOfDaysInFirstWeek<minimalDaysInFirstWeek){weekInYear--;}\r\nreturn weekInYear;};Date.prototype.getWeekInMonth=function(minimalDaysInFirstWeek){if(isUndefined(this.minimalDaysInFirstWeek)){minimalDaysInFirstWeek=DEFAULT_MINIMAL_DAYS_IN_FIRST_WEEK;}\r\nvar previousSunday=this.getPreviousSunday();var startOfMonth=newDateAtMidnight(this.getFullYear(),this.getMonth(),1);var numberOfSundays=previousSunday.isBefore(startOfMonth)?0:1+Math.floor(previousSunday.getTimeSince(startOfMonth)/ONE_WEEK);var numberOfDaysInFirstWeek=7-startOfMonth.getDay();var weekInMonth=numberOfSundays;if(numberOfDaysInFirstWeek>=minimalDaysInFirstWeek){weekInMonth++;}\r\nreturn weekInMonth;};Date.prototype.getDayInYear=function(){var startOfYear=newDateAtMidnight(this.getFullYear(),0,1);return 1+Math.floor(this.getTimeSince(startOfYear)/ONE_DAY);};SimpleDateFormat=function(formatString){this.formatString=formatString;};SimpleDateFormat.prototype.setMinimalDaysInFirstWeek=function(days){this.minimalDaysInFirstWeek=days;};SimpleDateFormat.prototype.getMinimalDaysInFirstWeek=function(){return isUndefined(this.minimalDaysInFirstWeek)?DEFAULT_MINIMAL_DAYS_IN_FIRST_WEEK:this.minimalDaysInFirstWeek;};var padWithZeroes=function(str,len){while(str.length<len){str=\"0\"+str;}\r\nreturn str;};var formatText=function(data,numberOfLetters,minLength){return(numberOfLetters>=4)?data:data.substr(0,Math.max(minLength,numberOfLetters));};var formatNumber=function(data,numberOfLetters){var dataString=\"\"+data;return padWithZeroes(dataString,numberOfLetters);};SimpleDateFormat.prototype.format=function(date){var formattedString=\"\";var result;var searchString=this.formatString;while((result=regex.exec(searchString))){var quotedString=result[1];var patternLetters=result[2];var otherLetters=result[3];var otherCharacters=result[4];if(quotedString){if(quotedString==\"''\"){formattedString+=\"'\";}else{formattedString+=quotedString.substring(1,quotedString.length-1);}}else if(otherLetters){}else if(otherCharacters){formattedString+=otherCharacters;}else if(patternLetters){var patternLetter=patternLetters.charAt(0);var numberOfLetters=patternLetters.length;var rawData=\"\";switch(patternLetter){case\"G\":rawData=\"AD\";break;case\"y\":rawData=date.getFullYear();break;case\"M\":rawData=date.getMonth();break;case\"w\":rawData=date.getWeekInYear(this.getMinimalDaysInFirstWeek());break;case\"W\":rawData=date.getWeekInMonth(this.getMinimalDaysInFirstWeek());break;case\"D\":rawData=date.getDayInYear();break;case\"d\":rawData=date.getDate();break;case\"F\":rawData=1+Math.floor((date.getDate()-1)/7);break;case\"E\":rawData=dayNames[date.getDay()];break;case\"a\":rawData=(date.getHours()>=12)?\"PM\":\"AM\";break;case\"H\":rawData=date.getHours();break;case\"k\":rawData=date.getHours()||24;break;case\"K\":rawData=date.getHours()%12;break;case\"h\":rawData=(date.getHours()%12)||12;break;case\"m\":rawData=date.getMinutes();break;case\"s\":rawData=date.getSeconds();break;case\"S\":rawData=date.getMilliseconds();break;case\"Z\":rawData=date.getTimezoneOffset();break;}\r\nswitch(types[patternLetter]){case TEXT2:formattedString+=formatText(rawData,numberOfLetters,2);break;case TEXT3:formattedString+=formatText(rawData,numberOfLetters,3);break;case NUMBER:formattedString+=formatNumber(rawData,numberOfLetters);break;case YEAR:if(numberOfLetters<=3){var dataString=\"\"+rawData;formattedString+=dataString.substr(2,2);}else{formattedString+=formatNumber(rawData,numberOfLetters);}\r\nbreak;case MONTH:if(numberOfLetters>=3){formattedString+=formatText(monthNames[rawData],numberOfLetters,numberOfLetters);}else{formattedString+=formatNumber(rawData+1,numberOfLetters);}\r\nbreak;case TIMEZONE:var isPositive=(rawData>0);var prefix=isPositive?\"-\":\"+\";var absData=Math.abs(rawData);var hours=\"\"+Math.floor(absData/60);hours=padWithZeroes(hours,2);var minutes=\"\"+(absData%60);minutes=padWithZeroes(minutes,2);formattedString+=prefix+hours+minutes;break;}}\r\nsearchString=searchString.substr(result.index+result[0].length);}\r\nreturn formattedString;};})();log4javascript.SimpleDateFormat=SimpleDateFormat;function PatternLayout(pattern){if(pattern){this.pattern=pattern;}else{this.pattern=PatternLayout.DEFAULT_CONVERSION_PATTERN;}\r\nthis.customFields=[];}\r\nPatternLayout.TTCC_CONVERSION_PATTERN=\"%r %p %c - %m%n\";PatternLayout.DEFAULT_CONVERSION_PATTERN=\"%m%n\";PatternLayout.ISO8601_DATEFORMAT=\"yyyy-MM-dd HH:mm:ss,SSS\";PatternLayout.DATETIME_DATEFORMAT=\"dd MMM yyyy HH:mm:ss,SSS\";PatternLayout.ABSOLUTETIME_DATEFORMAT=\"HH:mm:ss,SSS\";PatternLayout.prototype=new Layout();PatternLayout.prototype.format=function(loggingEvent){var regex=/%(-?[0-9]+)?(\\.?[0-9]+)?([acdfmMnpr%])(\\{([^\\}]+)\\})?|([^%]+)/;var formattedString=\"\";var result;var searchString=this.pattern;while((result=regex.exec(searchString))){var matchedString=result[0];var padding=result[1];var truncation=result[2];var conversionCharacter=result[3];var specifier=result[5];var text=result[6];if(text){formattedString+=\"\"+text;}else{var replacement=\"\";switch(conversionCharacter){case\"a\":case\"m\":var depth=0;if(specifier){depth=parseInt(specifier,10);if(isNaN(depth)){handleError(\"PatternLayout.format: invalid specifier '\"+\r\nspecifier+\"' for conversion character '\"+conversionCharacter+\"' - should be a number\");depth=0;}}\r\nvar messages=(conversionCharacter===\"a\")?loggingEvent.messages[0]:loggingEvent.messages;for(var i=0,len=messages.length;i<len;i++){if(i>0&&(replacement.charAt(replacement.length-1)!==\" \")){replacement+=\" \";}\r\nif(depth===0){replacement+=messages[i];}else{replacement+=formatObjectExpansion(messages[i],depth);}}\r\nbreak;case\"c\":var loggerName=loggingEvent.logger.name;if(specifier){var precision=parseInt(specifier,10);var loggerNameBits=loggingEvent.logger.name.split(\".\");if(precision>=loggerNameBits.length){replacement=loggerName;}else{replacement=loggerNameBits.slice(loggerNameBits.length-precision).join(\".\");}}else{replacement=loggerName;}\r\nbreak;case\"d\":var dateFormat=PatternLayout.ISO8601_DATEFORMAT;if(specifier){dateFormat=specifier;if(dateFormat==\"ISO8601\"){dateFormat=PatternLayout.ISO8601_DATEFORMAT;}else if(dateFormat==\"ABSOLUTE\"){dateFormat=PatternLayout.ABSOLUTETIME_DATEFORMAT;}else if(dateFormat==\"DATE\"){dateFormat=PatternLayout.DATETIME_DATEFORMAT;}}\r\nreplacement=(new SimpleDateFormat(dateFormat)).format(loggingEvent.timeStamp);break;case\"f\":if(this.hasCustomFields()){var fieldIndex=0;if(specifier){fieldIndex=parseInt(specifier,10);if(isNaN(fieldIndex)){handleError(\"PatternLayout.format: invalid specifier '\"+\r\nspecifier+\"' for conversion character 'f' - should be a number\");}else if(fieldIndex===0){handleError(\"PatternLayout.format: invalid specifier '\"+\r\nspecifier+\"' for conversion character 'f' - must be greater than zero\");}else if(fieldIndex>this.customFields.length){handleError(\"PatternLayout.format: invalid specifier '\"+\r\nspecifier+\"' for conversion character 'f' - there aren't that many custom fields\");}else{fieldIndex=fieldIndex-1;}}\r\nvar val=this.customFields[fieldIndex].value;if(typeof val==\"function\"){val=val(this,loggingEvent);}\r\nreplacement=val;}\r\nbreak;case\"n\":replacement=newLine;break;case\"p\":replacement=loggingEvent.level.name;break;case\"r\":replacement=\"\"+loggingEvent.timeStamp.getDifference(applicationStartDate);break;case\"%\":replacement=\"%\";break;default:replacement=matchedString;break;}\r\nvar l;if(truncation){l=parseInt(truncation.substr(1),10);var strLen=replacement.length;if(l<strLen){replacement=replacement.substring(strLen-l,strLen);}}\r\nif(padding){if(padding.charAt(0)==\"-\"){l=parseInt(padding.substr(1),10);while(replacement.length<l){replacement+=\" \";}}else{l=parseInt(padding,10);while(replacement.length<l){replacement=\" \"+replacement;}}}\r\nformattedString+=replacement;}\r\nsearchString=searchString.substr(result.index+result[0].length);}\r\nreturn formattedString;};PatternLayout.prototype.ignoresThrowable=function(){return true;};PatternLayout.prototype.toString=function(){return\"PatternLayout\";};log4javascript.PatternLayout=PatternLayout;function AlertAppender(){}\r\nAlertAppender.prototype=new Appender();AlertAppender.prototype.layout=new SimpleLayout();AlertAppender.prototype.append=function(loggingEvent){alert(this.getLayout().formatWithException(loggingEvent));};AlertAppender.prototype.toString=function(){return\"AlertAppender\";};log4javascript.AlertAppender=AlertAppender;function BrowserConsoleAppender(){}\r\nBrowserConsoleAppender.prototype=new log4javascript.Appender();BrowserConsoleAppender.prototype.layout=new NullLayout();BrowserConsoleAppender.prototype.threshold=Level.DEBUG;BrowserConsoleAppender.prototype.append=function(loggingEvent){var appender=this;var getFormattedMessage=function(concatenate){var formattedMessage=appender.getLayout().formatWithException(loggingEvent);return(typeof formattedMessage==\"string\")?(concatenate?formattedMessage:[formattedMessage]):(concatenate?formattedMessage.join(\" \"):formattedMessage);};var console=window.console;if(console&&console.log){var consoleMethodName;if(console.debug&&Level.DEBUG.isGreaterOrEqual(loggingEvent.level)){consoleMethodName=\"debug\";}else if(console.info&&Level.INFO.equals(loggingEvent.level)){consoleMethodName=\"info\";}else if(console.warn&&Level.WARN.equals(loggingEvent.level)){consoleMethodName=\"warn\";}else if(console.error&&loggingEvent.level.isGreaterOrEqual(Level.ERROR)){consoleMethodName=\"error\";}else{consoleMethodName=\"log\";}\r\nif(typeof console[consoleMethodName].apply==\"function\"){console[consoleMethodName].apply(console,getFormattedMessage(false));}else{console[consoleMethodName](getFormattedMessage(true));}}else if((typeof opera!=\"undefined\")&&opera.postError){opera.postError(getFormattedMessage(true));}};BrowserConsoleAppender.prototype.group=function(name){if(window.console&&window.console.group){window.console.group(name);}};BrowserConsoleAppender.prototype.groupEnd=function(){if(window.console&&window.console.groupEnd){window.console.groupEnd();}};BrowserConsoleAppender.prototype.toString=function(){return\"BrowserConsoleAppender\";};log4javascript.BrowserConsoleAppender=BrowserConsoleAppender;var xhrFactory=function(){return new XMLHttpRequest();};var xmlHttpFactories=[xhrFactory,function(){return new ActiveXObject(\"Msxml2.XMLHTTP\");},function(){return new ActiveXObject(\"Microsoft.XMLHTTP\");}];var withCredentialsSupported=false;var getXmlHttp=function(errorHandler){var xmlHttp=null,factory;for(var i=0,len=xmlHttpFactories.length;i<len;i++){factory=xmlHttpFactories[i];try{xmlHttp=factory();withCredentialsSupported=(factory==xhrFactory&&(\"withCredentials\"in xmlHttp));getXmlHttp=factory;return xmlHttp;}catch(e){}}\r\nif(errorHandler){errorHandler();}else{handleError(\"getXmlHttp: unable to obtain XMLHttpRequest object\");}};function isHttpRequestSuccessful(xmlHttp){return isUndefined(xmlHttp.status)||xmlHttp.status===0||(xmlHttp.status>=200&&xmlHttp.status<300)||xmlHttp.status==1223;}\r\nfunction AjaxAppender(url,withCredentials){var appender=this;var isSupported=true;if(!url){handleError(\"AjaxAppender: URL must be specified in constructor\");isSupported=false;}\r\nvar timed=this.defaults.timed;var waitForResponse=this.defaults.waitForResponse;var batchSize=this.defaults.batchSize;var timerInterval=this.defaults.timerInterval;var requestSuccessCallback=this.defaults.requestSuccessCallback;var failCallback=this.defaults.failCallback;var postVarName=this.defaults.postVarName;var sendAllOnUnload=this.defaults.sendAllOnUnload;var contentType=this.defaults.contentType;var sessionId=null;var queuedLoggingEvents=[];var queuedRequests=[];var headers=[];var sending=false;var initialized=false;function checkCanConfigure(configOptionName){if(initialized){handleError(\"AjaxAppender: configuration option '\"+\r\nconfigOptionName+\"' may not be set after the appender has been initialized\");return false;}\r\nreturn true;}\r\nthis.getSessionId=function(){return sessionId;};this.setSessionId=function(sessionIdParam){sessionId=extractStringFromParam(sessionIdParam,null);this.layout.setCustomField(\"sessionid\",sessionId);};this.setLayout=function(layoutParam){if(checkCanConfigure(\"layout\")){this.layout=layoutParam;if(sessionId!==null){this.setSessionId(sessionId);}}};this.isTimed=function(){return timed;};this.setTimed=function(timedParam){if(checkCanConfigure(\"timed\")){timed=bool(timedParam);}};this.getTimerInterval=function(){return timerInterval;};this.setTimerInterval=function(timerIntervalParam){if(checkCanConfigure(\"timerInterval\")){timerInterval=extractIntFromParam(timerIntervalParam,timerInterval);}};this.isWaitForResponse=function(){return waitForResponse;};this.setWaitForResponse=function(waitForResponseParam){if(checkCanConfigure(\"waitForResponse\")){waitForResponse=bool(waitForResponseParam);}};this.getBatchSize=function(){return batchSize;};this.setBatchSize=function(batchSizeParam){if(checkCanConfigure(\"batchSize\")){batchSize=extractIntFromParam(batchSizeParam,batchSize);}};this.isSendAllOnUnload=function(){return sendAllOnUnload;};this.setSendAllOnUnload=function(sendAllOnUnloadParam){if(checkCanConfigure(\"sendAllOnUnload\")){sendAllOnUnload=extractBooleanFromParam(sendAllOnUnloadParam,sendAllOnUnload);}};this.setRequestSuccessCallback=function(requestSuccessCallbackParam){requestSuccessCallback=extractFunctionFromParam(requestSuccessCallbackParam,requestSuccessCallback);};this.setFailCallback=function(failCallbackParam){failCallback=extractFunctionFromParam(failCallbackParam,failCallback);};this.getPostVarName=function(){return postVarName;};this.setPostVarName=function(postVarNameParam){if(checkCanConfigure(\"postVarName\")){postVarName=extractStringFromParam(postVarNameParam,postVarName);}};this.getHeaders=function(){return headers;};this.addHeader=function(name,value){if(name.toLowerCase()==\"content-type\"){contentType=value;}else{headers.push({name:name,value:value});}};function sendAll(){if(isSupported&&enabled){sending=true;var currentRequestBatch;if(waitForResponse){if(queuedRequests.length>0){currentRequestBatch=queuedRequests.shift();sendRequest(preparePostData(currentRequestBatch),sendAll);}else{sending=false;if(timed){scheduleSending();}}}else{while((currentRequestBatch=queuedRequests.shift())){sendRequest(preparePostData(currentRequestBatch));}\r\nsending=false;if(timed){scheduleSending();}}}}\r\nthis.sendAll=sendAll;function sendAllRemaining(){var sendingAnything=false;if(isSupported&&enabled){var actualBatchSize=appender.getLayout().allowBatching()?batchSize:1;var currentLoggingEvent;var batchedLoggingEvents=[];while((currentLoggingEvent=queuedLoggingEvents.shift())){batchedLoggingEvents.push(currentLoggingEvent);if(queuedLoggingEvents.length>=actualBatchSize){queuedRequests.push(batchedLoggingEvents);batchedLoggingEvents=[];}}\r\nif(batchedLoggingEvents.length>0){queuedRequests.push(batchedLoggingEvents);}\r\nsendingAnything=(queuedRequests.length>0);waitForResponse=false;timed=false;sendAll();}\r\nreturn sendingAnything;}\r\nthis.sendAllRemaining=sendAllRemaining;function preparePostData(batchedLoggingEvents){var formattedMessages=[];var currentLoggingEvent;var postData=\"\";while((currentLoggingEvent=batchedLoggingEvents.shift())){formattedMessages.push(appender.getLayout().formatWithException(currentLoggingEvent));}\r\nif(batchedLoggingEvents.length==1){postData=formattedMessages.join(\"\");}else{postData=appender.getLayout().batchHeader+\r\nformattedMessages.join(appender.getLayout().batchSeparator)+\r\nappender.getLayout().batchFooter;}\r\nif(contentType==appender.defaults.contentType){postData=appender.getLayout().returnsPostData?postData:urlEncode(postVarName)+\"=\"+urlEncode(postData);if(postData.length>0){postData+=\"&\";}\r\npostData+=\"layout=\"+urlEncode(appender.getLayout().toString());}\r\nreturn postData;}\r\nfunction scheduleSending(){window.setTimeout(sendAll,timerInterval);}\r\nfunction xmlHttpErrorHandler(){var msg=\"AjaxAppender: could not create XMLHttpRequest object. AjaxAppender disabled\";handleError(msg);isSupported=false;if(failCallback){failCallback(msg);}}\r\nfunction sendRequest(postData,successCallback){try{var xmlHttp=getXmlHttp(xmlHttpErrorHandler);if(isSupported){xmlHttp.onreadystatechange=function(){if(xmlHttp.readyState==4){if(isHttpRequestSuccessful(xmlHttp)){if(requestSuccessCallback){requestSuccessCallback(xmlHttp);}\r\nif(successCallback){successCallback(xmlHttp);}}else{var msg=\"AjaxAppender.append: XMLHttpRequest request to URL \"+\r\nurl+\" returned status code \"+xmlHttp.status;handleError(msg);if(failCallback){failCallback(msg);}}\r\nxmlHttp.onreadystatechange=emptyFunction;xmlHttp=null;}};xmlHttp.open(\"POST\",url,true);if(withCredentials&&withCredentialsSupported){xmlHttp.withCredentials=true;}\r\ntry{for(var i=0,header;header=headers[i++];){xmlHttp.setRequestHeader(header.name,header.value);}\r\nxmlHttp.setRequestHeader(\"Content-Type\",contentType);}catch(headerEx){var msg=\"AjaxAppender.append: your browser's XMLHttpRequest implementation\"+\" does not support setRequestHeader, therefore cannot post data. AjaxAppender disabled\";handleError(msg);isSupported=false;if(failCallback){failCallback(msg);}\r\nreturn;}\r\nxmlHttp.send(postData);}}catch(ex){var errMsg=\"AjaxAppender.append: error sending log message to \"+url;handleError(errMsg,ex);isSupported=false;if(failCallback){failCallback(errMsg+\". Details: \"+getExceptionStringRep(ex));}}}\r\nthis.append=function(loggingEvent){if(isSupported){if(!initialized){init();}\r\nqueuedLoggingEvents.push(loggingEvent);var actualBatchSize=this.getLayout().allowBatching()?batchSize:1;if(queuedLoggingEvents.length>=actualBatchSize){var currentLoggingEvent;var batchedLoggingEvents=[];while((currentLoggingEvent=queuedLoggingEvents.shift())){batchedLoggingEvents.push(currentLoggingEvent);}\r\nqueuedRequests.push(batchedLoggingEvents);if(!timed&&(!waitForResponse||(waitForResponse&&!sending))){sendAll();}}}};function init(){initialized=true;if(sendAllOnUnload){var oldBeforeUnload=window.onbeforeunload;window.onbeforeunload=function(){if(oldBeforeUnload){oldBeforeUnload();}\r\nsendAllRemaining();};}\r\nif(timed){scheduleSending();}}}\r\nAjaxAppender.prototype=new Appender();AjaxAppender.prototype.defaults={waitForResponse:false,timed:false,timerInterval:1000,batchSize:1,sendAllOnUnload:false,requestSuccessCallback:null,failCallback:null,postVarName:\"data\",contentType:\"application/x-www-form-urlencoded\"};AjaxAppender.prototype.layout=new HttpPostDataLayout();AjaxAppender.prototype.toString=function(){return\"AjaxAppender\";};log4javascript.AjaxAppender=AjaxAppender;function setCookie(name,value,days,path){var expires;path=path?\"; path=\"+path:\"\";if(days){var date=new Date();date.setTime(date.getTime()+(days*24*60*60*1000));expires=\"; expires=\"+date.toGMTString();}else{expires=\"\";}\r\ndocument.cookie=escape(name)+\"=\"+escape(value)+expires+path;}\r\nfunction getCookie(name){var nameEquals=escape(name)+\"=\";var ca=document.cookie.split(\";\");for(var i=0,len=ca.length;i<len;i++){var c=ca[i];while(c.charAt(0)===\" \"){c=c.substring(1,c.length);}\r\nif(c.indexOf(nameEquals)===0){return unescape(c.substring(nameEquals.length,c.length));}}\r\nreturn null;}\r\nfunction getBaseUrl(){var scripts=document.getElementsByTagName(\"script\");for(var i=0,len=scripts.length;i<len;++i){if(scripts[i].src.indexOf(\"log4javascript\")!=-1){var lastSlash=scripts[i].src.lastIndexOf(\"/\");return(lastSlash==-1)?\"\":scripts[i].src.substr(0,lastSlash+1);}}\r\nreturn null;}\r\nfunction isLoaded(win){try{return bool(win.loaded);}catch(ex){return false;}}\r\nvar ConsoleAppender;(function(){var getConsoleHtmlLines=function(){return['<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">','<html xmlns=\"http://www.w3.org/1999/xhtml\" lang=\"en\" xml:lang=\"en\">','<head>','<title>log4javascript</title>','<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />','<!-- Make IE8 behave like IE7, having gone to all the trouble of making IE work -->','<meta http-equiv=\"X-UA-Compatible\" content=\"IE=7\" />','<script type=\"text/javascript\">var isIe = false, isIePre7 = false;</script>','<!--[if IE]><script type=\"text/javascript\">isIe = true</script><![endif]-->','<!--[if lt IE 7]><script type=\"text/javascript\">isIePre7 = true</script><![endif]-->','<script type=\"text/javascript\">','//<![CDATA[','var loggingEnabled=true;var logQueuedEventsTimer=null;var logEntries=[];var logEntriesAndSeparators=[];var logItems=[];var renderDelay=100;var unrenderedLogItemsExist=false;var rootGroup,currentGroup=null;var loaded=false;var currentLogItem=null;var logMainContainer;function copyProperties(obj,props){for(var i in props){obj[i]=props[i];}}','function LogItem(){}','LogItem.prototype={mainContainer:null,wrappedContainer:null,unwrappedContainer:null,group:null,appendToLog:function(){for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].appendToLog();}','this.group.update();},doRemove:function(doUpdate,removeFromGroup){if(this.rendered){for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].remove();}','this.unwrappedElementContainer=null;this.wrappedElementContainer=null;this.mainElementContainer=null;}','if(this.group&&removeFromGroup){this.group.removeChild(this,doUpdate);}','if(this===currentLogItem){currentLogItem=null;}},remove:function(doUpdate,removeFromGroup){this.doRemove(doUpdate,removeFromGroup);},render:function(){},accept:function(visitor){visitor.visit(this);},getUnwrappedDomContainer:function(){return this.group.unwrappedElementContainer.contentDiv;},getWrappedDomContainer:function(){return this.group.wrappedElementContainer.contentDiv;},getMainDomContainer:function(){return this.group.mainElementContainer.contentDiv;}};LogItem.serializedItemKeys={LOG_ENTRY:0,GROUP_START:1,GROUP_END:2};function LogItemContainerElement(){}','LogItemContainerElement.prototype={appendToLog:function(){var insertBeforeFirst=(newestAtTop&&this.containerDomNode.hasChildNodes());if(insertBeforeFirst){this.containerDomNode.insertBefore(this.mainDiv,this.containerDomNode.firstChild);}else{this.containerDomNode.appendChild(this.mainDiv);}}};function SeparatorElementContainer(containerDomNode){this.containerDomNode=containerDomNode;this.mainDiv=document.createElement(\"div\");this.mainDiv.className=\"separator\";this.mainDiv.innerHTML=\"&nbsp;\";}','SeparatorElementContainer.prototype=new LogItemContainerElement();SeparatorElementContainer.prototype.remove=function(){this.mainDiv.parentNode.removeChild(this.mainDiv);this.mainDiv=null;};function Separator(){this.rendered=false;}','Separator.prototype=new LogItem();copyProperties(Separator.prototype,{render:function(){var containerDomNode=this.group.contentDiv;if(isIe){this.unwrappedElementContainer=new SeparatorElementContainer(this.getUnwrappedDomContainer());this.wrappedElementContainer=new SeparatorElementContainer(this.getWrappedDomContainer());this.elementContainers=[this.unwrappedElementContainer,this.wrappedElementContainer];}else{this.mainElementContainer=new SeparatorElementContainer(this.getMainDomContainer());this.elementContainers=[this.mainElementContainer];}','this.content=this.formattedMessage;this.rendered=true;}});function GroupElementContainer(group,containerDomNode,isRoot,isWrapped){this.group=group;this.containerDomNode=containerDomNode;this.isRoot=isRoot;this.isWrapped=isWrapped;this.expandable=false;if(this.isRoot){if(isIe){this.contentDiv=logMainContainer.appendChild(document.createElement(\"div\"));this.contentDiv.id=this.isWrapped?\"log_wrapped\":\"log_unwrapped\";}else{this.contentDiv=logMainContainer;}}else{var groupElementContainer=this;this.mainDiv=document.createElement(\"div\");this.mainDiv.className=\"group\";this.headingDiv=this.mainDiv.appendChild(document.createElement(\"div\"));this.headingDiv.className=\"groupheading\";this.expander=this.headingDiv.appendChild(document.createElement(\"span\"));this.expander.className=\"expander unselectable greyedout\";this.expander.unselectable=true;var expanderText=this.group.expanded?\"-\":\"+\";this.expanderTextNode=this.expander.appendChild(document.createTextNode(expanderText));this.headingDiv.appendChild(document.createTextNode(\" \"+this.group.name));this.contentDiv=this.mainDiv.appendChild(document.createElement(\"div\"));var contentCssClass=this.group.expanded?\"expanded\":\"collapsed\";this.contentDiv.className=\"groupcontent \"+contentCssClass;this.expander.onclick=function(){if(groupElementContainer.group.expandable){groupElementContainer.group.toggleExpanded();}};}}','GroupElementContainer.prototype=new LogItemContainerElement();copyProperties(GroupElementContainer.prototype,{toggleExpanded:function(){if(!this.isRoot){var oldCssClass,newCssClass,expanderText;if(this.group.expanded){newCssClass=\"expanded\";oldCssClass=\"collapsed\";expanderText=\"-\";}else{newCssClass=\"collapsed\";oldCssClass=\"expanded\";expanderText=\"+\";}','replaceClass(this.contentDiv,newCssClass,oldCssClass);this.expanderTextNode.nodeValue=expanderText;}},remove:function(){if(!this.isRoot){this.headingDiv=null;this.expander.onclick=null;this.expander=null;this.expanderTextNode=null;this.contentDiv=null;this.containerDomNode=null;this.mainDiv.parentNode.removeChild(this.mainDiv);this.mainDiv=null;}},reverseChildren:function(){var node=null;var childDomNodes=[];while((node=this.contentDiv.firstChild)){this.contentDiv.removeChild(node);childDomNodes.push(node);}','while((node=childDomNodes.pop())){this.contentDiv.appendChild(node);}},update:function(){if(!this.isRoot){if(this.group.expandable){removeClass(this.expander,\"greyedout\");}else{addClass(this.expander,\"greyedout\");}}},clear:function(){if(this.isRoot){this.contentDiv.innerHTML=\"\";}}});function Group(name,isRoot,initiallyExpanded){this.name=name;this.group=null;this.isRoot=isRoot;this.initiallyExpanded=initiallyExpanded;this.elementContainers=[];this.children=[];this.expanded=initiallyExpanded;this.rendered=false;this.expandable=false;}','Group.prototype=new LogItem();copyProperties(Group.prototype,{addChild:function(logItem){this.children.push(logItem);logItem.group=this;},render:function(){if(isIe){var unwrappedDomContainer,wrappedDomContainer;if(this.isRoot){unwrappedDomContainer=logMainContainer;wrappedDomContainer=logMainContainer;}else{unwrappedDomContainer=this.getUnwrappedDomContainer();wrappedDomContainer=this.getWrappedDomContainer();}','this.unwrappedElementContainer=new GroupElementContainer(this,unwrappedDomContainer,this.isRoot,false);this.wrappedElementContainer=new GroupElementContainer(this,wrappedDomContainer,this.isRoot,true);this.elementContainers=[this.unwrappedElementContainer,this.wrappedElementContainer];}else{var mainDomContainer=this.isRoot?logMainContainer:this.getMainDomContainer();this.mainElementContainer=new GroupElementContainer(this,mainDomContainer,this.isRoot,false);this.elementContainers=[this.mainElementContainer];}','this.rendered=true;},toggleExpanded:function(){this.expanded=!this.expanded;for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].toggleExpanded();}},expand:function(){if(!this.expanded){this.toggleExpanded();}},accept:function(visitor){visitor.visitGroup(this);},reverseChildren:function(){if(this.rendered){for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].reverseChildren();}}},update:function(){var previouslyExpandable=this.expandable;this.expandable=(this.children.length!==0);if(this.expandable!==previouslyExpandable){for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].update();}}},flatten:function(){var visitor=new GroupFlattener();this.accept(visitor);return visitor.logEntriesAndSeparators;},removeChild:function(child,doUpdate){array_remove(this.children,child);child.group=null;if(doUpdate){this.update();}},remove:function(doUpdate,removeFromGroup){for(var i=0,len=this.children.length;i<len;i++){this.children[i].remove(false,false);}','this.children=[];this.update();if(this===currentGroup){currentGroup=this.group;}','this.doRemove(doUpdate,removeFromGroup);},serialize:function(items){items.push([LogItem.serializedItemKeys.GROUP_START,this.name]);for(var i=0,len=this.children.length;i<len;i++){this.children[i].serialize(items);}','if(this!==currentGroup){items.push([LogItem.serializedItemKeys.GROUP_END]);}},clear:function(){for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].clear();}}});function LogEntryElementContainer(){}','LogEntryElementContainer.prototype=new LogItemContainerElement();copyProperties(LogEntryElementContainer.prototype,{remove:function(){this.doRemove();},doRemove:function(){this.mainDiv.parentNode.removeChild(this.mainDiv);this.mainDiv=null;this.contentElement=null;this.containerDomNode=null;},setContent:function(content,wrappedContent){if(content===this.formattedMessage){this.contentElement.innerHTML=\"\";this.contentElement.appendChild(document.createTextNode(this.formattedMessage));}else{this.contentElement.innerHTML=content;}},setSearchMatch:function(isMatch){var oldCssClass=isMatch?\"searchnonmatch\":\"searchmatch\";var newCssClass=isMatch?\"searchmatch\":\"searchnonmatch\";replaceClass(this.mainDiv,newCssClass,oldCssClass);},clearSearch:function(){removeClass(this.mainDiv,\"searchmatch\");removeClass(this.mainDiv,\"searchnonmatch\");}});function LogEntryWrappedElementContainer(logEntry,containerDomNode){this.logEntry=logEntry;this.containerDomNode=containerDomNode;this.mainDiv=document.createElement(\"div\");this.mainDiv.appendChild(document.createTextNode(this.logEntry.formattedMessage));this.mainDiv.className=\"logentry wrapped \"+this.logEntry.level;this.contentElement=this.mainDiv;}','LogEntryWrappedElementContainer.prototype=new LogEntryElementContainer();LogEntryWrappedElementContainer.prototype.setContent=function(content,wrappedContent){if(content===this.formattedMessage){this.contentElement.innerHTML=\"\";this.contentElement.appendChild(document.createTextNode(this.formattedMessage));}else{this.contentElement.innerHTML=wrappedContent;}};function LogEntryUnwrappedElementContainer(logEntry,containerDomNode){this.logEntry=logEntry;this.containerDomNode=containerDomNode;this.mainDiv=document.createElement(\"div\");this.mainDiv.className=\"logentry unwrapped \"+this.logEntry.level;this.pre=this.mainDiv.appendChild(document.createElement(\"pre\"));this.pre.appendChild(document.createTextNode(this.logEntry.formattedMessage));this.pre.className=\"unwrapped\";this.contentElement=this.pre;}','LogEntryUnwrappedElementContainer.prototype=new LogEntryElementContainer();LogEntryUnwrappedElementContainer.prototype.remove=function(){this.doRemove();this.pre=null;};function LogEntryMainElementContainer(logEntry,containerDomNode){this.logEntry=logEntry;this.containerDomNode=containerDomNode;this.mainDiv=document.createElement(\"div\");this.mainDiv.className=\"logentry nonielogentry \"+this.logEntry.level;this.contentElement=this.mainDiv.appendChild(document.createElement(\"span\"));this.contentElement.appendChild(document.createTextNode(this.logEntry.formattedMessage));}','LogEntryMainElementContainer.prototype=new LogEntryElementContainer();function LogEntry(level,formattedMessage){this.level=level;this.formattedMessage=formattedMessage;this.rendered=false;}','LogEntry.prototype=new LogItem();copyProperties(LogEntry.prototype,{render:function(){var logEntry=this;var containerDomNode=this.group.contentDiv;if(isIe){this.formattedMessage=this.formattedMessage.replace(/\\\\r\\\\n/g,\"\\\\r\");this.unwrappedElementContainer=new LogEntryUnwrappedElementContainer(this,this.getUnwrappedDomContainer());this.wrappedElementContainer=new LogEntryWrappedElementContainer(this,this.getWrappedDomContainer());this.elementContainers=[this.unwrappedElementContainer,this.wrappedElementContainer];}else{this.mainElementContainer=new LogEntryMainElementContainer(this,this.getMainDomContainer());this.elementContainers=[this.mainElementContainer];}','this.content=this.formattedMessage;this.rendered=true;},setContent:function(content,wrappedContent){if(content!=this.content){if(isIe&&(content!==this.formattedMessage)){content=content.replace(/\\\\r\\\\n/g,\"\\\\r\");}','for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].setContent(content,wrappedContent);}','this.content=content;}},getSearchMatches:function(){var matches=[];var i,len;if(isIe){var unwrappedEls=getElementsByClass(this.unwrappedElementContainer.mainDiv,\"searchterm\",\"span\");var wrappedEls=getElementsByClass(this.wrappedElementContainer.mainDiv,\"searchterm\",\"span\");for(i=0,len=unwrappedEls.length;i<len;i++){matches[i]=new Match(this.level,null,unwrappedEls[i],wrappedEls[i]);}}else{var els=getElementsByClass(this.mainElementContainer.mainDiv,\"searchterm\",\"span\");for(i=0,len=els.length;i<len;i++){matches[i]=new Match(this.level,els[i]);}}','return matches;},setSearchMatch:function(isMatch){for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].setSearchMatch(isMatch);}},clearSearch:function(){for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].clearSearch();}},accept:function(visitor){visitor.visitLogEntry(this);},serialize:function(items){items.push([LogItem.serializedItemKeys.LOG_ENTRY,this.level,this.formattedMessage]);}});function LogItemVisitor(){}','LogItemVisitor.prototype={visit:function(logItem){},visitParent:function(logItem){if(logItem.group){logItem.group.accept(this);}},visitChildren:function(logItem){for(var i=0,len=logItem.children.length;i<len;i++){logItem.children[i].accept(this);}},visitLogEntry:function(logEntry){this.visit(logEntry);},visitSeparator:function(separator){this.visit(separator);},visitGroup:function(group){this.visit(group);}};function GroupFlattener(){this.logEntriesAndSeparators=[];}','GroupFlattener.prototype=new LogItemVisitor();GroupFlattener.prototype.visitGroup=function(group){this.visitChildren(group);};GroupFlattener.prototype.visitLogEntry=function(logEntry){this.logEntriesAndSeparators.push(logEntry);};GroupFlattener.prototype.visitSeparator=function(separator){this.logEntriesAndSeparators.push(separator);};window.onload=function(){if(location.search){var queryBits=unescape(location.search).substr(1).split(\"&\"),nameValueBits;for(var i=0,len=queryBits.length;i<len;i++){nameValueBits=queryBits[i].split(\"=\");if(nameValueBits[0]==\"log4javascript_domain\"){document.domain=nameValueBits[1];break;}}}','logMainContainer=$(\"log\");if(isIePre7){addClass(logMainContainer,\"oldIe\");}','rootGroup=new Group(\"root\",true);rootGroup.render();currentGroup=rootGroup;setCommandInputWidth();setLogContainerHeight();toggleLoggingEnabled();toggleSearchEnabled();toggleSearchFilter();toggleSearchHighlight();applyFilters();checkAllLevels();toggleWrap();toggleNewestAtTop();toggleScrollToLatest();renderQueuedLogItems();loaded=true;$(\"command\").value=\"\";$(\"command\").autocomplete=\"off\";$(\"command\").onkeydown=function(evt){evt=getEvent(evt);if(evt.keyCode==10||evt.keyCode==13){evalCommandLine();stopPropagation(evt);}else if(evt.keyCode==27){this.value=\"\";this.focus();}else if(evt.keyCode==38&&commandHistory.length>0){currentCommandIndex=Math.max(0,currentCommandIndex-1);this.value=commandHistory[currentCommandIndex];moveCaretToEnd(this);}else if(evt.keyCode==40&&commandHistory.length>0){currentCommandIndex=Math.min(commandHistory.length-1,currentCommandIndex+1);this.value=commandHistory[currentCommandIndex];moveCaretToEnd(this);}};$(\"command\").onkeypress=function(evt){evt=getEvent(evt);if(evt.keyCode==38&&commandHistory.length>0&&evt.preventDefault){evt.preventDefault();}};$(\"command\").onkeyup=function(evt){evt=getEvent(evt);if(evt.keyCode==27&&evt.preventDefault){evt.preventDefault();this.focus();}};document.onkeydown=function keyEventHandler(evt){evt=getEvent(evt);switch(evt.keyCode){case 69:if(evt.shiftKey&&(evt.ctrlKey||evt.metaKey)){evalLastCommand();cancelKeyEvent(evt);return false;}','break;case 75:if(evt.shiftKey&&(evt.ctrlKey||evt.metaKey)){focusSearch();cancelKeyEvent(evt);return false;}','break;case 40:case 76:if(evt.shiftKey&&(evt.ctrlKey||evt.metaKey)){focusCommandLine();cancelKeyEvent(evt);return false;}','break;}};setTimeout(setLogContainerHeight,20);setShowCommandLine(showCommandLine);doSearch();};window.onunload=function(){if(mainWindowExists()){appender.unload();}','appender=null;};function toggleLoggingEnabled(){setLoggingEnabled($(\"enableLogging\").checked);}','function setLoggingEnabled(enable){loggingEnabled=enable;}','var appender=null;function setAppender(appenderParam){appender=appenderParam;}','function setShowCloseButton(showCloseButton){$(\"closeButton\").style.display=showCloseButton?\"inline\":\"none\";}','function setShowHideButton(showHideButton){$(\"hideButton\").style.display=showHideButton?\"inline\":\"none\";}','var newestAtTop=false;function LogItemContentReverser(){}','LogItemContentReverser.prototype=new LogItemVisitor();LogItemContentReverser.prototype.visitGroup=function(group){group.reverseChildren();this.visitChildren(group);};function setNewestAtTop(isNewestAtTop){var oldNewestAtTop=newestAtTop;var i,iLen,j,jLen;newestAtTop=Boolean(isNewestAtTop);if(oldNewestAtTop!=newestAtTop){var visitor=new LogItemContentReverser();rootGroup.accept(visitor);if(currentSearch){var currentMatch=currentSearch.matches[currentMatchIndex];var matchIndex=0;var matches=[];var actOnLogEntry=function(logEntry){var logEntryMatches=logEntry.getSearchMatches();for(j=0,jLen=logEntryMatches.length;j<jLen;j++){matches[matchIndex]=logEntryMatches[j];if(currentMatch&&logEntryMatches[j].equals(currentMatch)){currentMatchIndex=matchIndex;}','matchIndex++;}};if(newestAtTop){for(i=logEntries.length-1;i>=0;i--){actOnLogEntry(logEntries[i]);}}else{for(i=0,iLen=logEntries.length;i<iLen;i++){actOnLogEntry(logEntries[i]);}}','currentSearch.matches=matches;if(currentMatch){currentMatch.setCurrent();}}else if(scrollToLatest){doScrollToLatest();}}','$(\"newestAtTop\").checked=isNewestAtTop;}','function toggleNewestAtTop(){var isNewestAtTop=$(\"newestAtTop\").checked;setNewestAtTop(isNewestAtTop);}','var scrollToLatest=true;function setScrollToLatest(isScrollToLatest){scrollToLatest=isScrollToLatest;if(scrollToLatest){doScrollToLatest();}','$(\"scrollToLatest\").checked=isScrollToLatest;}','function toggleScrollToLatest(){var isScrollToLatest=$(\"scrollToLatest\").checked;setScrollToLatest(isScrollToLatest);}','function doScrollToLatest(){var l=logMainContainer;if(typeof l.scrollTop!=\"undefined\"){if(newestAtTop){l.scrollTop=0;}else{var latestLogEntry=l.lastChild;if(latestLogEntry){l.scrollTop=l.scrollHeight;}}}}','var closeIfOpenerCloses=true;function setCloseIfOpenerCloses(isCloseIfOpenerCloses){closeIfOpenerCloses=isCloseIfOpenerCloses;}','var maxMessages=null;function setMaxMessages(max){maxMessages=max;pruneLogEntries();}','var showCommandLine=false;function setShowCommandLine(isShowCommandLine){showCommandLine=isShowCommandLine;if(loaded){$(\"commandLine\").style.display=showCommandLine?\"block\":\"none\";setCommandInputWidth();setLogContainerHeight();}}','function focusCommandLine(){if(loaded){$(\"command\").focus();}}','function focusSearch(){if(loaded){$(\"searchBox\").focus();}}','function getLogItems(){var items=[];for(var i=0,len=logItems.length;i<len;i++){logItems[i].serialize(items);}','return items;}','function setLogItems(items){var loggingReallyEnabled=loggingEnabled;loggingEnabled=true;for(var i=0,len=items.length;i<len;i++){switch(items[i][0]){case LogItem.serializedItemKeys.LOG_ENTRY:log(items[i][1],items[i][2]);break;case LogItem.serializedItemKeys.GROUP_START:group(items[i][1]);break;case LogItem.serializedItemKeys.GROUP_END:groupEnd();break;}}','loggingEnabled=loggingReallyEnabled;}','function log(logLevel,formattedMessage){if(loggingEnabled){var logEntry=new LogEntry(logLevel,formattedMessage);logEntries.push(logEntry);logEntriesAndSeparators.push(logEntry);logItems.push(logEntry);currentGroup.addChild(logEntry);if(loaded){if(logQueuedEventsTimer!==null){clearTimeout(logQueuedEventsTimer);}','logQueuedEventsTimer=setTimeout(renderQueuedLogItems,renderDelay);unrenderedLogItemsExist=true;}}}','function renderQueuedLogItems(){logQueuedEventsTimer=null;var pruned=pruneLogEntries();var initiallyHasMatches=currentSearch?currentSearch.hasMatches():false;for(var i=0,len=logItems.length;i<len;i++){if(!logItems[i].rendered){logItems[i].render();logItems[i].appendToLog();if(currentSearch&&(logItems[i]instanceof LogEntry)){currentSearch.applyTo(logItems[i]);}}}','if(currentSearch){if(pruned){if(currentSearch.hasVisibleMatches()){if(currentMatchIndex===null){setCurrentMatchIndex(0);}','displayMatches();}else{displayNoMatches();}}else if(!initiallyHasMatches&&currentSearch.hasVisibleMatches()){setCurrentMatchIndex(0);displayMatches();}}','if(scrollToLatest){doScrollToLatest();}','unrenderedLogItemsExist=false;}','function pruneLogEntries(){if((maxMessages!==null)&&(logEntriesAndSeparators.length>maxMessages)){var numberToDelete=logEntriesAndSeparators.length-maxMessages;var prunedLogEntries=logEntriesAndSeparators.slice(0,numberToDelete);if(currentSearch){currentSearch.removeMatches(prunedLogEntries);}','var group;for(var i=0;i<numberToDelete;i++){group=logEntriesAndSeparators[i].group;array_remove(logItems,logEntriesAndSeparators[i]);array_remove(logEntries,logEntriesAndSeparators[i]);logEntriesAndSeparators[i].remove(true,true);if(group.children.length===0&&group!==currentGroup&&group!==rootGroup){array_remove(logItems,group);group.remove(true,true);}}','logEntriesAndSeparators=array_removeFromStart(logEntriesAndSeparators,numberToDelete);return true;}','return false;}','function group(name,startExpanded){if(loggingEnabled){initiallyExpanded=(typeof startExpanded===\"undefined\")?true:Boolean(startExpanded);var newGroup=new Group(name,false,initiallyExpanded);currentGroup.addChild(newGroup);currentGroup=newGroup;logItems.push(newGroup);if(loaded){if(logQueuedEventsTimer!==null){clearTimeout(logQueuedEventsTimer);}','logQueuedEventsTimer=setTimeout(renderQueuedLogItems,renderDelay);unrenderedLogItemsExist=true;}}}','function groupEnd(){currentGroup=(currentGroup===rootGroup)?rootGroup:currentGroup.group;}','function mainPageReloaded(){currentGroup=rootGroup;var separator=new Separator();logEntriesAndSeparators.push(separator);logItems.push(separator);currentGroup.addChild(separator);}','function closeWindow(){if(appender&&mainWindowExists()){appender.close(true);}else{window.close();}}','function hide(){if(appender&&mainWindowExists()){appender.hide();}}','var mainWindow=window;var windowId=\"log4javascriptConsoleWindow_\"+new Date().getTime()+\"_\"+(\"\"+Math.random()).substr(2);function setMainWindow(win){mainWindow=win;mainWindow[windowId]=window;if(opener&&closeIfOpenerCloses){pollOpener();}}','function pollOpener(){if(closeIfOpenerCloses){if(mainWindowExists()){setTimeout(pollOpener,500);}else{closeWindow();}}}','function mainWindowExists(){try{return(mainWindow&&!mainWindow.closed&&mainWindow[windowId]==window);}catch(ex){}','return false;}','var logLevels=[\"TRACE\",\"DEBUG\",\"INFO\",\"WARN\",\"ERROR\",\"FATAL\"];function getCheckBox(logLevel){return $(\"switch_\"+logLevel);}','function getIeWrappedLogContainer(){return $(\"log_wrapped\");}','function getIeUnwrappedLogContainer(){return $(\"log_unwrapped\");}','function applyFilters(){for(var i=0;i<logLevels.length;i++){if(getCheckBox(logLevels[i]).checked){addClass(logMainContainer,logLevels[i]);}else{removeClass(logMainContainer,logLevels[i]);}}','updateSearchFromFilters();}','function toggleAllLevels(){var turnOn=$(\"switch_ALL\").checked;for(var i=0;i<logLevels.length;i++){getCheckBox(logLevels[i]).checked=turnOn;if(turnOn){addClass(logMainContainer,logLevels[i]);}else{removeClass(logMainContainer,logLevels[i]);}}}','function checkAllLevels(){for(var i=0;i<logLevels.length;i++){if(!getCheckBox(logLevels[i]).checked){getCheckBox(\"ALL\").checked=false;return;}}','getCheckBox(\"ALL\").checked=true;}','function clearLog(){rootGroup.clear();currentGroup=rootGroup;logEntries=[];logItems=[];logEntriesAndSeparators=[];doSearch();}','function toggleWrap(){var enable=$(\"wrap\").checked;if(enable){addClass(logMainContainer,\"wrap\");}else{removeClass(logMainContainer,\"wrap\");}','refreshCurrentMatch();}','var searchTimer=null;function scheduleSearch(){try{clearTimeout(searchTimer);}catch(ex){}','searchTimer=setTimeout(doSearch,500);}','function Search(searchTerm,isRegex,searchRegex,isCaseSensitive){this.searchTerm=searchTerm;this.isRegex=isRegex;this.searchRegex=searchRegex;this.isCaseSensitive=isCaseSensitive;this.matches=[];}','Search.prototype={hasMatches:function(){return this.matches.length>0;},hasVisibleMatches:function(){if(this.hasMatches()){for(var i=0;i<this.matches.length;i++){if(this.matches[i].isVisible()){return true;}}}','return false;},match:function(logEntry){var entryText=String(logEntry.formattedMessage);var matchesSearch=false;if(this.isRegex){matchesSearch=this.searchRegex.test(entryText);}else if(this.isCaseSensitive){matchesSearch=(entryText.indexOf(this.searchTerm)>-1);}else{matchesSearch=(entryText.toLowerCase().indexOf(this.searchTerm.toLowerCase())>-1);}','return matchesSearch;},getNextVisibleMatchIndex:function(){for(var i=currentMatchIndex+1;i<this.matches.length;i++){if(this.matches[i].isVisible()){return i;}}','for(i=0;i<=currentMatchIndex;i++){if(this.matches[i].isVisible()){return i;}}','return-1;},getPreviousVisibleMatchIndex:function(){for(var i=currentMatchIndex-1;i>=0;i--){if(this.matches[i].isVisible()){return i;}}','for(var i=this.matches.length-1;i>=currentMatchIndex;i--){if(this.matches[i].isVisible()){return i;}}','return-1;},applyTo:function(logEntry){var doesMatch=this.match(logEntry);if(doesMatch){logEntry.group.expand();logEntry.setSearchMatch(true);var logEntryContent;var wrappedLogEntryContent;var searchTermReplacementStartTag=\"<span class=\\\\\\\"searchterm\\\\\\\">\";var searchTermReplacementEndTag=\"<\"+\"/span>\";var preTagName=isIe?\"pre\":\"span\";var preStartTag=\"<\"+preTagName+\" class=\\\\\\\"pre\\\\\\\">\";var preEndTag=\"<\"+\"/\"+preTagName+\">\";var startIndex=0;var searchIndex,matchedText,textBeforeMatch;if(this.isRegex){var flags=this.isCaseSensitive?\"g\":\"gi\";var capturingRegex=new RegExp(\"(\"+this.searchRegex.source+\")\",flags);var rnd=(\"\"+Math.random()).substr(2);var startToken=\"%%s\"+rnd+\"%%\";var endToken=\"%%e\"+rnd+\"%%\";logEntryContent=logEntry.formattedMessage.replace(capturingRegex,startToken+\"$1\"+endToken);logEntryContent=escapeHtml(logEntryContent);var result;var searchString=logEntryContent;logEntryContent=\"\";wrappedLogEntryContent=\"\";while((searchIndex=searchString.indexOf(startToken,startIndex))>-1){var endTokenIndex=searchString.indexOf(endToken,searchIndex);matchedText=searchString.substring(searchIndex+startToken.length,endTokenIndex);textBeforeMatch=searchString.substring(startIndex,searchIndex);logEntryContent+=preStartTag+textBeforeMatch+preEndTag;logEntryContent+=searchTermReplacementStartTag+preStartTag+matchedText+','preEndTag+searchTermReplacementEndTag;if(isIe){wrappedLogEntryContent+=textBeforeMatch+searchTermReplacementStartTag+','matchedText+searchTermReplacementEndTag;}','startIndex=endTokenIndex+endToken.length;}','logEntryContent+=preStartTag+searchString.substr(startIndex)+preEndTag;if(isIe){wrappedLogEntryContent+=searchString.substr(startIndex);}}else{logEntryContent=\"\";wrappedLogEntryContent=\"\";var searchTermReplacementLength=searchTermReplacementStartTag.length+','this.searchTerm.length+searchTermReplacementEndTag.length;var searchTermLength=this.searchTerm.length;var searchTermLowerCase=this.searchTerm.toLowerCase();var logTextLowerCase=logEntry.formattedMessage.toLowerCase();while((searchIndex=logTextLowerCase.indexOf(searchTermLowerCase,startIndex))>-1){matchedText=escapeHtml(logEntry.formattedMessage.substr(searchIndex,this.searchTerm.length));textBeforeMatch=escapeHtml(logEntry.formattedMessage.substring(startIndex,searchIndex));var searchTermReplacement=searchTermReplacementStartTag+','preStartTag+matchedText+preEndTag+searchTermReplacementEndTag;logEntryContent+=preStartTag+textBeforeMatch+preEndTag+searchTermReplacement;if(isIe){wrappedLogEntryContent+=textBeforeMatch+searchTermReplacementStartTag+','matchedText+searchTermReplacementEndTag;}','startIndex=searchIndex+searchTermLength;}','var textAfterLastMatch=escapeHtml(logEntry.formattedMessage.substr(startIndex));logEntryContent+=preStartTag+textAfterLastMatch+preEndTag;if(isIe){wrappedLogEntryContent+=textAfterLastMatch;}}','logEntry.setContent(logEntryContent,wrappedLogEntryContent);var logEntryMatches=logEntry.getSearchMatches();this.matches=this.matches.concat(logEntryMatches);}else{logEntry.setSearchMatch(false);logEntry.setContent(logEntry.formattedMessage,logEntry.formattedMessage);}','return doesMatch;},removeMatches:function(logEntries){var matchesToRemoveCount=0;var currentMatchRemoved=false;var matchesToRemove=[];var i,iLen,j,jLen;for(i=0,iLen=this.matches.length;i<iLen;i++){for(j=0,jLen=logEntries.length;j<jLen;j++){if(this.matches[i].belongsTo(logEntries[j])){matchesToRemove.push(this.matches[i]);if(i===currentMatchIndex){currentMatchRemoved=true;}}}}','var newMatch=currentMatchRemoved?null:this.matches[currentMatchIndex];if(currentMatchRemoved){for(i=currentMatchIndex,iLen=this.matches.length;i<iLen;i++){if(this.matches[i].isVisible()&&!array_contains(matchesToRemove,this.matches[i])){newMatch=this.matches[i];break;}}}','for(i=0,iLen=matchesToRemove.length;i<iLen;i++){array_remove(this.matches,matchesToRemove[i]);matchesToRemove[i].remove();}','if(this.hasVisibleMatches()){if(newMatch===null){setCurrentMatchIndex(0);}else{var newMatchIndex=0;for(i=0,iLen=this.matches.length;i<iLen;i++){if(newMatch===this.matches[i]){newMatchIndex=i;break;}}','setCurrentMatchIndex(newMatchIndex);}}else{currentMatchIndex=null;displayNoMatches();}}};function getPageOffsetTop(el,container){var currentEl=el;var y=0;while(currentEl&&currentEl!=container){y+=currentEl.offsetTop;currentEl=currentEl.offsetParent;}','return y;}','function scrollIntoView(el){var logContainer=logMainContainer;if(!$(\"wrap\").checked){var logContainerLeft=logContainer.scrollLeft;var logContainerRight=logContainerLeft+logContainer.offsetWidth;var elLeft=el.offsetLeft;var elRight=elLeft+el.offsetWidth;if(elLeft<logContainerLeft||elRight>logContainerRight){logContainer.scrollLeft=elLeft-(logContainer.offsetWidth-el.offsetWidth)/2;}}','var logContainerTop=logContainer.scrollTop;var logContainerBottom=logContainerTop+logContainer.offsetHeight;var elTop=getPageOffsetTop(el)-getToolBarsHeight();var elBottom=elTop+el.offsetHeight;if(elTop<logContainerTop||elBottom>logContainerBottom){logContainer.scrollTop=elTop-(logContainer.offsetHeight-el.offsetHeight)/2;}}','function Match(logEntryLevel,spanInMainDiv,spanInUnwrappedPre,spanInWrappedDiv){this.logEntryLevel=logEntryLevel;this.spanInMainDiv=spanInMainDiv;if(isIe){this.spanInUnwrappedPre=spanInUnwrappedPre;this.spanInWrappedDiv=spanInWrappedDiv;}','this.mainSpan=isIe?spanInUnwrappedPre:spanInMainDiv;}','Match.prototype={equals:function(match){return this.mainSpan===match.mainSpan;},setCurrent:function(){if(isIe){addClass(this.spanInUnwrappedPre,\"currentmatch\");addClass(this.spanInWrappedDiv,\"currentmatch\");var elementToScroll=$(\"wrap\").checked?this.spanInWrappedDiv:this.spanInUnwrappedPre;scrollIntoView(elementToScroll);}else{addClass(this.spanInMainDiv,\"currentmatch\");scrollIntoView(this.spanInMainDiv);}},belongsTo:function(logEntry){if(isIe){return isDescendant(this.spanInUnwrappedPre,logEntry.unwrappedPre);}else{return isDescendant(this.spanInMainDiv,logEntry.mainDiv);}},setNotCurrent:function(){if(isIe){removeClass(this.spanInUnwrappedPre,\"currentmatch\");removeClass(this.spanInWrappedDiv,\"currentmatch\");}else{removeClass(this.spanInMainDiv,\"currentmatch\");}},isOrphan:function(){return isOrphan(this.mainSpan);},isVisible:function(){return getCheckBox(this.logEntryLevel).checked;},remove:function(){if(isIe){this.spanInUnwrappedPre=null;this.spanInWrappedDiv=null;}else{this.spanInMainDiv=null;}}};var currentSearch=null;var currentMatchIndex=null;function doSearch(){var searchBox=$(\"searchBox\");var searchTerm=searchBox.value;var isRegex=$(\"searchRegex\").checked;var isCaseSensitive=$(\"searchCaseSensitive\").checked;var i;if(searchTerm===\"\"){$(\"searchReset\").disabled=true;$(\"searchNav\").style.display=\"none\";removeClass(document.body,\"searching\");removeClass(searchBox,\"hasmatches\");removeClass(searchBox,\"nomatches\");for(i=0;i<logEntries.length;i++){logEntries[i].clearSearch();logEntries[i].setContent(logEntries[i].formattedMessage,logEntries[i].formattedMessage);}','currentSearch=null;setLogContainerHeight();}else{$(\"searchReset\").disabled=false;$(\"searchNav\").style.display=\"block\";var searchRegex;var regexValid;if(isRegex){try{searchRegex=isCaseSensitive?new RegExp(searchTerm,\"g\"):new RegExp(searchTerm,\"gi\");regexValid=true;replaceClass(searchBox,\"validregex\",\"invalidregex\");searchBox.title=\"Valid regex\";}catch(ex){regexValid=false;replaceClass(searchBox,\"invalidregex\",\"validregex\");searchBox.title=\"Invalid regex: \"+(ex.message?ex.message:(ex.description?ex.description:\"unknown error\"));return;}}else{searchBox.title=\"\";removeClass(searchBox,\"validregex\");removeClass(searchBox,\"invalidregex\");}','addClass(document.body,\"searching\");currentSearch=new Search(searchTerm,isRegex,searchRegex,isCaseSensitive);for(i=0;i<logEntries.length;i++){currentSearch.applyTo(logEntries[i]);}','setLogContainerHeight();if(currentSearch.hasVisibleMatches()){setCurrentMatchIndex(0);displayMatches();}else{displayNoMatches();}}}','function updateSearchFromFilters(){if(currentSearch){if(currentSearch.hasMatches()){if(currentMatchIndex===null){currentMatchIndex=0;}','var currentMatch=currentSearch.matches[currentMatchIndex];if(currentMatch.isVisible()){displayMatches();setCurrentMatchIndex(currentMatchIndex);}else{currentMatch.setNotCurrent();var nextVisibleMatchIndex=currentSearch.getNextVisibleMatchIndex();if(nextVisibleMatchIndex>-1){setCurrentMatchIndex(nextVisibleMatchIndex);displayMatches();}else{displayNoMatches();}}}else{displayNoMatches();}}}','function refreshCurrentMatch(){if(currentSearch&&currentSearch.hasVisibleMatches()){setCurrentMatchIndex(currentMatchIndex);}}','function displayMatches(){replaceClass($(\"searchBox\"),\"hasmatches\",\"nomatches\");$(\"searchBox\").title=\"\"+currentSearch.matches.length+\" matches found\";$(\"searchNav\").style.display=\"block\";setLogContainerHeight();}','function displayNoMatches(){replaceClass($(\"searchBox\"),\"nomatches\",\"hasmatches\");$(\"searchBox\").title=\"No matches found\";$(\"searchNav\").style.display=\"none\";setLogContainerHeight();}','function toggleSearchEnabled(enable){enable=(typeof enable==\"undefined\")?!$(\"searchDisable\").checked:enable;$(\"searchBox\").disabled=!enable;$(\"searchReset\").disabled=!enable;$(\"searchRegex\").disabled=!enable;$(\"searchNext\").disabled=!enable;$(\"searchPrevious\").disabled=!enable;$(\"searchCaseSensitive\").disabled=!enable;$(\"searchNav\").style.display=(enable&&($(\"searchBox\").value!==\"\")&&currentSearch&&currentSearch.hasVisibleMatches())?\"block\":\"none\";if(enable){removeClass($(\"search\"),\"greyedout\");addClass(document.body,\"searching\");if($(\"searchHighlight\").checked){addClass(logMainContainer,\"searchhighlight\");}else{removeClass(logMainContainer,\"searchhighlight\");}','if($(\"searchFilter\").checked){addClass(logMainContainer,\"searchfilter\");}else{removeClass(logMainContainer,\"searchfilter\");}','$(\"searchDisable\").checked=!enable;}else{addClass($(\"search\"),\"greyedout\");removeClass(document.body,\"searching\");removeClass(logMainContainer,\"searchhighlight\");removeClass(logMainContainer,\"searchfilter\");}','setLogContainerHeight();}','function toggleSearchFilter(){var enable=$(\"searchFilter\").checked;if(enable){addClass(logMainContainer,\"searchfilter\");}else{removeClass(logMainContainer,\"searchfilter\");}','refreshCurrentMatch();}','function toggleSearchHighlight(){var enable=$(\"searchHighlight\").checked;if(enable){addClass(logMainContainer,\"searchhighlight\");}else{removeClass(logMainContainer,\"searchhighlight\");}}','function clearSearch(){$(\"searchBox\").value=\"\";doSearch();}','function searchNext(){if(currentSearch!==null&&currentMatchIndex!==null){currentSearch.matches[currentMatchIndex].setNotCurrent();var nextMatchIndex=currentSearch.getNextVisibleMatchIndex();if(nextMatchIndex>currentMatchIndex||confirm(\"Reached the end of the page. Start from the top?\")){setCurrentMatchIndex(nextMatchIndex);}}}','function searchPrevious(){if(currentSearch!==null&&currentMatchIndex!==null){currentSearch.matches[currentMatchIndex].setNotCurrent();var previousMatchIndex=currentSearch.getPreviousVisibleMatchIndex();if(previousMatchIndex<currentMatchIndex||confirm(\"Reached the start of the page. Continue from the bottom?\")){setCurrentMatchIndex(previousMatchIndex);}}}','function setCurrentMatchIndex(index){currentMatchIndex=index;currentSearch.matches[currentMatchIndex].setCurrent();}','function addClass(el,cssClass){if(!hasClass(el,cssClass)){if(el.className){el.className+=\" \"+cssClass;}else{el.className=cssClass;}}}','function hasClass(el,cssClass){if(el.className){var classNames=el.className.split(\" \");return array_contains(classNames,cssClass);}','return false;}','function removeClass(el,cssClass){if(hasClass(el,cssClass)){var existingClasses=el.className.split(\" \");var newClasses=[];for(var i=0,len=existingClasses.length;i<len;i++){if(existingClasses[i]!=cssClass){newClasses[newClasses.length]=existingClasses[i];}}','el.className=newClasses.join(\" \");}}','function replaceClass(el,newCssClass,oldCssClass){removeClass(el,oldCssClass);addClass(el,newCssClass);}','function getElementsByClass(el,cssClass,tagName){var elements=el.getElementsByTagName(tagName);var matches=[];for(var i=0,len=elements.length;i<len;i++){if(hasClass(elements[i],cssClass)){matches.push(elements[i]);}}','return matches;}','function $(id){return document.getElementById(id);}','function isDescendant(node,ancestorNode){while(node!=null){if(node===ancestorNode){return true;}','node=node.parentNode;}','return false;}','function isOrphan(node){var currentNode=node;while(currentNode){if(currentNode==document.body){return false;}','currentNode=currentNode.parentNode;}','return true;}','function escapeHtml(str){return str.replace(/&/g,\"&amp;\").replace(/[<]/g,\"&lt;\").replace(/>/g,\"&gt;\");}','function getWindowWidth(){if(window.innerWidth){return window.innerWidth;}else if(document.documentElement&&document.documentElement.clientWidth){return document.documentElement.clientWidth;}else if(document.body){return document.body.clientWidth;}','return 0;}','function getWindowHeight(){if(window.innerHeight){return window.innerHeight;}else if(document.documentElement&&document.documentElement.clientHeight){return document.documentElement.clientHeight;}else if(document.body){return document.body.clientHeight;}','return 0;}','function getToolBarsHeight(){return $(\"switches\").offsetHeight;}','function getChromeHeight(){var height=getToolBarsHeight();if(showCommandLine){height+=$(\"commandLine\").offsetHeight;}','return height;}','function setLogContainerHeight(){if(logMainContainer){var windowHeight=getWindowHeight();$(\"body\").style.height=getWindowHeight()+\"px\";logMainContainer.style.height=\"\"+','Math.max(0,windowHeight-getChromeHeight())+\"px\";}}','function setCommandInputWidth(){if(showCommandLine){$(\"command\").style.width=\"\"+Math.max(0,$(\"commandLineContainer\").offsetWidth-','($(\"evaluateButton\").offsetWidth+13))+\"px\";}}','window.onresize=function(){setCommandInputWidth();setLogContainerHeight();};if(!Array.prototype.push){Array.prototype.push=function(){for(var i=0,len=arguments.length;i<len;i++){this[this.length]=arguments[i];}','return this.length;};}','if(!Array.prototype.pop){Array.prototype.pop=function(){if(this.length>0){var val=this[this.length-1];this.length=this.length-1;return val;}};}','if(!Array.prototype.shift){Array.prototype.shift=function(){if(this.length>0){var firstItem=this[0];for(var i=0,len=this.length-1;i<len;i++){this[i]=this[i+1];}','this.length=this.length-1;return firstItem;}};}','if(!Array.prototype.splice){Array.prototype.splice=function(startIndex,deleteCount){var itemsAfterDeleted=this.slice(startIndex+deleteCount);var itemsDeleted=this.slice(startIndex,startIndex+deleteCount);this.length=startIndex;var argumentsArray=[];for(var i=0,len=arguments.length;i<len;i++){argumentsArray[i]=arguments[i];}','var itemsToAppend=(argumentsArray.length>2)?itemsAfterDeleted=argumentsArray.slice(2).concat(itemsAfterDeleted):itemsAfterDeleted;for(i=0,len=itemsToAppend.length;i<len;i++){this.push(itemsToAppend[i]);}','return itemsDeleted;};}','function array_remove(arr,val){var index=-1;for(var i=0,len=arr.length;i<len;i++){if(arr[i]===val){index=i;break;}}','if(index>=0){arr.splice(index,1);return index;}else{return false;}}','function array_removeFromStart(array,numberToRemove){if(Array.prototype.splice){array.splice(0,numberToRemove);}else{for(var i=numberToRemove,len=array.length;i<len;i++){array[i-numberToRemove]=array[i];}','array.length=array.length-numberToRemove;}','return array;}','function array_contains(arr,val){for(var i=0,len=arr.length;i<len;i++){if(arr[i]==val){return true;}}','return false;}','function getErrorMessage(ex){if(ex.message){return ex.message;}else if(ex.description){return ex.description;}','return\"\"+ex;}','function moveCaretToEnd(input){if(input.setSelectionRange){input.focus();var length=input.value.length;input.setSelectionRange(length,length);}else if(input.createTextRange){var range=input.createTextRange();range.collapse(false);range.select();}','input.focus();}','function stopPropagation(evt){if(evt.stopPropagation){evt.stopPropagation();}else if(typeof evt.cancelBubble!=\"undefined\"){evt.cancelBubble=true;}}','function getEvent(evt){return evt?evt:event;}','function getTarget(evt){return evt.target?evt.target:evt.srcElement;}','function getRelatedTarget(evt){if(evt.relatedTarget){return evt.relatedTarget;}else if(evt.srcElement){switch(evt.type){case\"mouseover\":return evt.fromElement;case\"mouseout\":return evt.toElement;default:return evt.srcElement;}}}','function cancelKeyEvent(evt){evt.returnValue=false;stopPropagation(evt);}','function evalCommandLine(){var expr=$(\"command\").value;evalCommand(expr);$(\"command\").value=\"\";}','function evalLastCommand(){if(lastCommand!=null){evalCommand(lastCommand);}}','var lastCommand=null;var commandHistory=[];var currentCommandIndex=0;function evalCommand(expr){if(appender){appender.evalCommandAndAppend(expr);}else{var prefix=\">>> \"+expr+\"\\\\r\\\\n\";try{log(\"INFO\",prefix+eval(expr));}catch(ex){log(\"ERROR\",prefix+\"Error: \"+getErrorMessage(ex));}}','if(expr!=commandHistory[commandHistory.length-1]){commandHistory.push(expr);if(appender){appender.storeCommandHistory(commandHistory);}}','currentCommandIndex=(expr==commandHistory[currentCommandIndex])?currentCommandIndex+1:commandHistory.length;lastCommand=expr;}','//]]>','</script>','<style type=\"text/css\">','body{background-color:white;color:black;padding:0;margin:0;font-family:tahoma,verdana,arial,helvetica,sans-serif;overflow:hidden}div#switchesContainer input{margin-bottom:0}div.toolbar{border-top:solid #ffffff 1px;border-bottom:solid #aca899 1px;background-color:#f1efe7;padding:3px 5px;font-size:68.75%}div.toolbar,div#search input{font-family:tahoma,verdana,arial,helvetica,sans-serif}div.toolbar input.button{padding:0 5px;font-size:100%}div.toolbar input.hidden{display:none}div#switches input#clearButton{margin-left:20px}div#levels label{font-weight:bold}div#levels label,div#options label{margin-right:5px}div#levels label#wrapLabel{font-weight:normal}div#search label{margin-right:10px}div#search label.searchboxlabel{margin-right:0}div#search input{font-size:100%}div#search input.validregex{color:green}div#search input.invalidregex{color:red}div#search input.nomatches{color:white;background-color:#ff6666}div#search input.nomatches{color:white;background-color:#ff6666}div#searchNav{display:none}div#commandLine{display:none}div#commandLine input#command{font-size:100%;font-family:Courier New,Courier}div#commandLine input#evaluateButton{}*.greyedout{color:gray !important;border-color:gray !important}*.greyedout *.alwaysenabled{color:black}*.unselectable{-khtml-user-select:none;-moz-user-select:none;user-select:none}div#log{font-family:Courier New,Courier;font-size:75%;width:100%;overflow:auto;clear:both;position:relative}div.group{border-color:#cccccc;border-style:solid;border-width:1px 0 1px 1px;overflow:visible}div.oldIe div.group,div.oldIe div.group *,div.oldIe *.logentry{height:1%}div.group div.groupheading span.expander{border:solid black 1px;font-family:Courier New,Courier;font-size:0.833em;background-color:#eeeeee;position:relative;top:-1px;color:black;padding:0 2px;cursor:pointer;cursor:hand;height:1%}div.group div.groupcontent{margin-left:10px;padding-bottom:2px;overflow:visible}div.group div.expanded{display:block}div.group div.collapsed{display:none}*.logentry{overflow:visible;display:none;white-space:pre}span.pre{white-space:pre}pre.unwrapped{display:inline !important}pre.unwrapped pre.pre,div.wrapped pre.pre{display:inline}div.wrapped pre.pre{white-space:normal}div.wrapped{display:none}body.searching *.logentry span.currentmatch{color:white !important;background-color:green !important}body.searching div.searchhighlight *.logentry span.searchterm{color:black;background-color:yellow}div.wrap *.logentry{white-space:normal !important;border-width:0 0 1px 0;border-color:#dddddd;border-style:dotted}div.wrap #log_wrapped,#log_unwrapped{display:block}div.wrap #log_unwrapped,#log_wrapped{display:none}div.wrap *.logentry span.pre{overflow:visible;white-space:normal}div.wrap *.logentry pre.unwrapped{display:none}div.wrap *.logentry span.wrapped{display:inline}div.searchfilter *.searchnonmatch{display:none !important}div#log *.TRACE,label#label_TRACE{color:#666666}div#log *.DEBUG,label#label_DEBUG{color:green}div#log *.INFO,label#label_INFO{color:#000099}div#log *.WARN,label#label_WARN{color:#999900}div#log *.ERROR,label#label_ERROR{color:red}div#log *.FATAL,label#label_FATAL{color:#660066}div.TRACE#log *.TRACE,div.DEBUG#log *.DEBUG,div.INFO#log *.INFO,div.WARN#log *.WARN,div.ERROR#log *.ERROR,div.FATAL#log *.FATAL{display:block}div#log div.separator{background-color:#cccccc;margin:5px 0;line-height:1px}','</style>','</head>','<body id=\"body\">','<div id=\"switchesContainer\">','<div id=\"switches\">','<div id=\"levels\" class=\"toolbar\">','Filters:','<input type=\"checkbox\" id=\"switch_TRACE\" onclick=\"applyFilters(); checkAllLevels()\" checked=\"checked\" title=\"Show/hide trace messages\" /><label for=\"switch_TRACE\" id=\"label_TRACE\">trace</label>','<input type=\"checkbox\" id=\"switch_DEBUG\" onclick=\"applyFilters(); checkAllLevels()\" checked=\"checked\" title=\"Show/hide debug messages\" /><label for=\"switch_DEBUG\" id=\"label_DEBUG\">debug</label>','<input type=\"checkbox\" id=\"switch_INFO\" onclick=\"applyFilters(); checkAllLevels()\" checked=\"checked\" title=\"Show/hide info messages\" /><label for=\"switch_INFO\" id=\"label_INFO\">info</label>','<input type=\"checkbox\" id=\"switch_WARN\" onclick=\"applyFilters(); checkAllLevels()\" checked=\"checked\" title=\"Show/hide warn messages\" /><label for=\"switch_WARN\" id=\"label_WARN\">warn</label>','<input type=\"checkbox\" id=\"switch_ERROR\" onclick=\"applyFilters(); checkAllLevels()\" checked=\"checked\" title=\"Show/hide error messages\" /><label for=\"switch_ERROR\" id=\"label_ERROR\">error</label>','<input type=\"checkbox\" id=\"switch_FATAL\" onclick=\"applyFilters(); checkAllLevels()\" checked=\"checked\" title=\"Show/hide fatal messages\" /><label for=\"switch_FATAL\" id=\"label_FATAL\">fatal</label>','<input type=\"checkbox\" id=\"switch_ALL\" onclick=\"toggleAllLevels(); applyFilters()\" checked=\"checked\" title=\"Show/hide all messages\" /><label for=\"switch_ALL\" id=\"label_ALL\">all</label>','</div>','<div id=\"search\" class=\"toolbar\">','<label for=\"searchBox\" class=\"searchboxlabel\">Search:</label> <input type=\"text\" id=\"searchBox\" onclick=\"toggleSearchEnabled(true)\" onkeyup=\"scheduleSearch()\" size=\"20\" />','<input type=\"button\" id=\"searchReset\" disabled=\"disabled\" value=\"Reset\" onclick=\"clearSearch()\" class=\"button\" title=\"Reset the search\" />','<input type=\"checkbox\" id=\"searchRegex\" onclick=\"doSearch()\" title=\"If checked, search is treated as a regular expression\" /><label for=\"searchRegex\">Regex</label>','<input type=\"checkbox\" id=\"searchCaseSensitive\" onclick=\"doSearch()\" title=\"If checked, search is case sensitive\" /><label for=\"searchCaseSensitive\">Match case</label>','<input type=\"checkbox\" id=\"searchDisable\" onclick=\"toggleSearchEnabled()\" title=\"Enable/disable search\" /><label for=\"searchDisable\" class=\"alwaysenabled\">Disable</label>','<div id=\"searchNav\">','<input type=\"button\" id=\"searchNext\" disabled=\"disabled\" value=\"Next\" onclick=\"searchNext()\" class=\"button\" title=\"Go to the next matching log entry\" />','<input type=\"button\" id=\"searchPrevious\" disabled=\"disabled\" value=\"Previous\" onclick=\"searchPrevious()\" class=\"button\" title=\"Go to the previous matching log entry\" />','<input type=\"checkbox\" id=\"searchFilter\" onclick=\"toggleSearchFilter()\" title=\"If checked, non-matching log entries are filtered out\" /><label for=\"searchFilter\">Filter</label>','<input type=\"checkbox\" id=\"searchHighlight\" onclick=\"toggleSearchHighlight()\" title=\"Highlight matched search terms\" /><label for=\"searchHighlight\" class=\"alwaysenabled\">Highlight all</label>','</div>','</div>','<div id=\"options\" class=\"toolbar\">','Options:','<input type=\"checkbox\" id=\"enableLogging\" onclick=\"toggleLoggingEnabled()\" checked=\"checked\" title=\"Enable/disable logging\" /><label for=\"enableLogging\" id=\"enableLoggingLabel\">Log</label>','<input type=\"checkbox\" id=\"wrap\" onclick=\"toggleWrap()\" title=\"Enable / disable word wrap\" /><label for=\"wrap\" id=\"wrapLabel\">Wrap</label>','<input type=\"checkbox\" id=\"newestAtTop\" onclick=\"toggleNewestAtTop()\" title=\"If checked, causes newest messages to appear at the top\" /><label for=\"newestAtTop\" id=\"newestAtTopLabel\">Newest at the top</label>','<input type=\"checkbox\" id=\"scrollToLatest\" onclick=\"toggleScrollToLatest()\" checked=\"checked\" title=\"If checked, window automatically scrolls to a new message when it is added\" /><label for=\"scrollToLatest\" id=\"scrollToLatestLabel\">Scroll to latest</label>','<input type=\"button\" id=\"clearButton\" value=\"Clear\" onclick=\"clearLog()\" class=\"button\" title=\"Clear all log messages\" />','<input type=\"button\" id=\"hideButton\" value=\"Hide\" onclick=\"hide()\" class=\"hidden button\" title=\"Hide the console\" />','<input type=\"button\" id=\"closeButton\" value=\"Close\" onclick=\"closeWindow()\" class=\"hidden button\" title=\"Close the window\" />','</div>','</div>','</div>','<div id=\"log\" class=\"TRACE DEBUG INFO WARN ERROR FATAL\"></div>','<div id=\"commandLine\" class=\"toolbar\">','<div id=\"commandLineContainer\">','<input type=\"text\" id=\"command\" title=\"Enter a JavaScript command here and hit return or press \\'Evaluate\\'\" />','<input type=\"button\" id=\"evaluateButton\" value=\"Evaluate\" class=\"button\" title=\"Evaluate the command\" onclick=\"evalCommandLine()\" />','</div>','</div>','</body>','</html>',''];};var defaultCommandLineFunctions=[];ConsoleAppender=function(){};var consoleAppenderIdCounter=1;ConsoleAppender.prototype=new Appender();ConsoleAppender.prototype.create=function(inPage,container,lazyInit,initiallyMinimized,useDocumentWrite,width,height,focusConsoleWindow){var appender=this;var initialized=false;var consoleWindowCreated=false;var consoleWindowLoaded=false;var consoleClosed=false;var queuedLoggingEvents=[];var isSupported=true;var consoleAppenderId=consoleAppenderIdCounter++;initiallyMinimized=extractBooleanFromParam(initiallyMinimized,this.defaults.initiallyMinimized);lazyInit=extractBooleanFromParam(lazyInit,this.defaults.lazyInit);useDocumentWrite=extractBooleanFromParam(useDocumentWrite,this.defaults.useDocumentWrite);var newestMessageAtTop=this.defaults.newestMessageAtTop;var scrollToLatestMessage=this.defaults.scrollToLatestMessage;width=width?width:this.defaults.width;height=height?height:this.defaults.height;var maxMessages=this.defaults.maxMessages;var showCommandLine=this.defaults.showCommandLine;var commandLineObjectExpansionDepth=this.defaults.commandLineObjectExpansionDepth;var showHideButton=this.defaults.showHideButton;var showCloseButton=this.defaults.showCloseButton;this.setLayout(this.defaults.layout);var init,createWindow,safeToAppend,getConsoleWindow,open;var appenderName=inPage?\"InPageAppender\":\"PopUpAppender\";var checkCanConfigure=function(configOptionName){if(consoleWindowCreated){handleError(appenderName+\": configuration option '\"+configOptionName+\"' may not be set after the appender has been initialized\");return false;}\r\nreturn true;};var consoleWindowExists=function(){return(consoleWindowLoaded&&isSupported&&!consoleClosed);};this.isNewestMessageAtTop=function(){return newestMessageAtTop;};this.setNewestMessageAtTop=function(newestMessageAtTopParam){newestMessageAtTop=bool(newestMessageAtTopParam);if(consoleWindowExists()){getConsoleWindow().setNewestAtTop(newestMessageAtTop);}};this.isScrollToLatestMessage=function(){return scrollToLatestMessage;};this.setScrollToLatestMessage=function(scrollToLatestMessageParam){scrollToLatestMessage=bool(scrollToLatestMessageParam);if(consoleWindowExists()){getConsoleWindow().setScrollToLatest(scrollToLatestMessage);}};this.getWidth=function(){return width;};this.setWidth=function(widthParam){if(checkCanConfigure(\"width\")){width=extractStringFromParam(widthParam,width);}};this.getHeight=function(){return height;};this.setHeight=function(heightParam){if(checkCanConfigure(\"height\")){height=extractStringFromParam(heightParam,height);}};this.getMaxMessages=function(){return maxMessages;};this.setMaxMessages=function(maxMessagesParam){maxMessages=extractIntFromParam(maxMessagesParam,maxMessages);if(consoleWindowExists()){getConsoleWindow().setMaxMessages(maxMessages);}};this.isShowCommandLine=function(){return showCommandLine;};this.setShowCommandLine=function(showCommandLineParam){showCommandLine=bool(showCommandLineParam);if(consoleWindowExists()){getConsoleWindow().setShowCommandLine(showCommandLine);}};this.isShowHideButton=function(){return showHideButton;};this.setShowHideButton=function(showHideButtonParam){showHideButton=bool(showHideButtonParam);if(consoleWindowExists()){getConsoleWindow().setShowHideButton(showHideButton);}};this.isShowCloseButton=function(){return showCloseButton;};this.setShowCloseButton=function(showCloseButtonParam){showCloseButton=bool(showCloseButtonParam);if(consoleWindowExists()){getConsoleWindow().setShowCloseButton(showCloseButton);}};this.getCommandLineObjectExpansionDepth=function(){return commandLineObjectExpansionDepth;};this.setCommandLineObjectExpansionDepth=function(commandLineObjectExpansionDepthParam){commandLineObjectExpansionDepth=extractIntFromParam(commandLineObjectExpansionDepthParam,commandLineObjectExpansionDepth);};var minimized=initiallyMinimized;this.isInitiallyMinimized=function(){return initiallyMinimized;};this.setInitiallyMinimized=function(initiallyMinimizedParam){if(checkCanConfigure(\"initiallyMinimized\")){initiallyMinimized=bool(initiallyMinimizedParam);minimized=initiallyMinimized;}};this.isUseDocumentWrite=function(){return useDocumentWrite;};this.setUseDocumentWrite=function(useDocumentWriteParam){if(checkCanConfigure(\"useDocumentWrite\")){useDocumentWrite=bool(useDocumentWriteParam);}};function QueuedLoggingEvent(loggingEvent,formattedMessage){this.loggingEvent=loggingEvent;this.levelName=loggingEvent.level.name;this.formattedMessage=formattedMessage;}\r\nQueuedLoggingEvent.prototype.append=function(){getConsoleWindow().log(this.levelName,this.formattedMessage);};function QueuedGroup(name,initiallyExpanded){this.name=name;this.initiallyExpanded=initiallyExpanded;}\r\nQueuedGroup.prototype.append=function(){getConsoleWindow().group(this.name,this.initiallyExpanded);};function QueuedGroupEnd(){}\r\nQueuedGroupEnd.prototype.append=function(){getConsoleWindow().groupEnd();};var checkAndAppend=function(){safeToAppend();if(!initialized){init();}else if(consoleClosed&&reopenWhenClosed){createWindow();}\r\nif(safeToAppend()){appendQueuedLoggingEvents();}};this.append=function(loggingEvent){if(isSupported){var formattedMessage=appender.getLayout().formatWithException(loggingEvent);queuedLoggingEvents.push(new QueuedLoggingEvent(loggingEvent,formattedMessage));checkAndAppend();}};this.group=function(name,initiallyExpanded){if(isSupported){queuedLoggingEvents.push(new QueuedGroup(name,initiallyExpanded));checkAndAppend();}};this.groupEnd=function(){if(isSupported){queuedLoggingEvents.push(new QueuedGroupEnd());checkAndAppend();}};var appendQueuedLoggingEvents=function(){while(queuedLoggingEvents.length>0){queuedLoggingEvents.shift().append();}\r\nif(focusConsoleWindow){getConsoleWindow().focus();}};this.setAddedToLogger=function(logger){this.loggers.push(logger);if(enabled&&!lazyInit){init();}};this.clear=function(){if(consoleWindowExists()){getConsoleWindow().clearLog();}\r\nqueuedLoggingEvents.length=0;};this.focus=function(){if(consoleWindowExists()){getConsoleWindow().focus();}};this.focusCommandLine=function(){if(consoleWindowExists()){getConsoleWindow().focusCommandLine();}};this.focusSearch=function(){if(consoleWindowExists()){getConsoleWindow().focusSearch();}};var commandWindow=window;this.getCommandWindow=function(){return commandWindow;};this.setCommandWindow=function(commandWindowParam){commandWindow=commandWindowParam;};this.executeLastCommand=function(){if(consoleWindowExists()){getConsoleWindow().evalLastCommand();}};var commandLayout=new PatternLayout(\"%m\");this.getCommandLayout=function(){return commandLayout;};this.setCommandLayout=function(commandLayoutParam){commandLayout=commandLayoutParam;};this.evalCommandAndAppend=function(expr){var commandReturnValue={appendResult:true,isError:false};var commandOutput=\"\";try{var result,i;if(!commandWindow.eval&&commandWindow.execScript){commandWindow.execScript(\"null\");}\r\nvar commandLineFunctionsHash={};for(i=0,len=commandLineFunctions.length;i<len;i++){commandLineFunctionsHash[commandLineFunctions[i][0]]=commandLineFunctions[i][1];}\r\nvar objectsToRestore=[];var addObjectToRestore=function(name){objectsToRestore.push([name,commandWindow[name]]);};addObjectToRestore(\"appender\");commandWindow.appender=appender;addObjectToRestore(\"commandReturnValue\");commandWindow.commandReturnValue=commandReturnValue;addObjectToRestore(\"commandLineFunctionsHash\");commandWindow.commandLineFunctionsHash=commandLineFunctionsHash;var addFunctionToWindow=function(name){addObjectToRestore(name);commandWindow[name]=function(){return this.commandLineFunctionsHash[name](appender,arguments,commandReturnValue);};};for(i=0,len=commandLineFunctions.length;i<len;i++){addFunctionToWindow(commandLineFunctions[i][0]);}\r\nif(commandWindow===window&&commandWindow.execScript){addObjectToRestore(\"evalExpr\");addObjectToRestore(\"result\");window.evalExpr=expr;commandWindow.execScript(\"window.result=eval(window.evalExpr);\");result=window.result;}else{result=commandWindow.eval(expr);}\r\ncommandOutput=isUndefined(result)?result:formatObjectExpansion(result,commandLineObjectExpansionDepth);for(i=0,len=objectsToRestore.length;i<len;i++){commandWindow[objectsToRestore[i][0]]=objectsToRestore[i][1];}}catch(ex){commandOutput=\"Error evaluating command: \"+getExceptionStringRep(ex);commandReturnValue.isError=true;}\r\nif(commandReturnValue.appendResult){var message=\">>> \"+expr;if(!isUndefined(commandOutput)){message+=newLine+commandOutput;}\r\nvar level=commandReturnValue.isError?Level.ERROR:Level.INFO;var loggingEvent=new LoggingEvent(null,new Date(),level,[message],null);var mainLayout=this.getLayout();this.setLayout(commandLayout);this.append(loggingEvent);this.setLayout(mainLayout);}};var commandLineFunctions=defaultCommandLineFunctions.concat([]);this.addCommandLineFunction=function(functionName,commandLineFunction){commandLineFunctions.push([functionName,commandLineFunction]);};var commandHistoryCookieName=\"log4javascriptCommandHistory\";this.storeCommandHistory=function(commandHistory){setCookie(commandHistoryCookieName,commandHistory.join(\",\"));};var writeHtml=function(doc){var lines=getConsoleHtmlLines();doc.open();for(var i=0,len=lines.length;i<len;i++){doc.writeln(lines[i]);}\r\ndoc.close();};this.setEventTypes([\"load\",\"unload\"]);var consoleWindowLoadHandler=function(){var win=getConsoleWindow();win.setAppender(appender);win.setNewestAtTop(newestMessageAtTop);win.setScrollToLatest(scrollToLatestMessage);win.setMaxMessages(maxMessages);win.setShowCommandLine(showCommandLine);win.setShowHideButton(showHideButton);win.setShowCloseButton(showCloseButton);win.setMainWindow(window);var storedValue=getCookie(commandHistoryCookieName);if(storedValue){win.commandHistory=storedValue.split(\",\");win.currentCommandIndex=win.commandHistory.length;}\r\nappender.dispatchEvent(\"load\",{\"win\":win});};this.unload=function(){logLog.debug(\"unload \"+this+\", caller: \"+this.unload.caller);if(!consoleClosed){logLog.debug(\"really doing unload \"+this);consoleClosed=true;consoleWindowLoaded=false;consoleWindowCreated=false;appender.dispatchEvent(\"unload\",{});}};var pollConsoleWindow=function(windowTest,interval,successCallback,errorMessage){function doPoll(){try{if(consoleClosed){clearInterval(poll);}\r\nif(windowTest(getConsoleWindow())){clearInterval(poll);successCallback();}}catch(ex){clearInterval(poll);isSupported=false;handleError(errorMessage,ex);}}\r\nvar poll=setInterval(doPoll,interval);};var getConsoleUrl=function(){var documentDomainSet=(document.domain!=location.hostname);return useDocumentWrite?\"\":getBaseUrl()+\"console.html\"+\r\n(documentDomainSet?\"?log4javascript_domain=\"+escape(document.domain):\"\");};if(inPage){var containerElement=null;var cssProperties=[];this.addCssProperty=function(name,value){if(checkCanConfigure(\"cssProperties\")){cssProperties.push([name,value]);}};var windowCreationStarted=false;var iframeContainerDiv;var iframeId=uniqueId+\"_InPageAppender_\"+consoleAppenderId;this.hide=function(){if(initialized&&consoleWindowCreated){if(consoleWindowExists()){getConsoleWindow().$(\"command\").blur();}\r\niframeContainerDiv.style.display=\"none\";minimized=true;}};this.show=function(){if(initialized){if(consoleWindowCreated){iframeContainerDiv.style.display=\"block\";this.setShowCommandLine(showCommandLine);minimized=false;}else if(!windowCreationStarted){createWindow(true);}}};this.isVisible=function(){return!minimized&&!consoleClosed;};this.close=function(fromButton){if(!consoleClosed&&(!fromButton||confirm(\"This will permanently remove the console from the page. No more messages will be logged. Do you wish to continue?\"))){iframeContainerDiv.parentNode.removeChild(iframeContainerDiv);this.unload();}};open=function(){var initErrorMessage=\"InPageAppender.open: unable to create console iframe\";function finalInit(){try{if(!initiallyMinimized){appender.show();}\r\nconsoleWindowLoadHandler();consoleWindowLoaded=true;appendQueuedLoggingEvents();}catch(ex){isSupported=false;handleError(initErrorMessage,ex);}}\r\nfunction writeToDocument(){try{var windowTest=function(win){return isLoaded(win);};if(useDocumentWrite){writeHtml(getConsoleWindow().document);}\r\nif(windowTest(getConsoleWindow())){finalInit();}else{pollConsoleWindow(windowTest,100,finalInit,initErrorMessage);}}catch(ex){isSupported=false;handleError(initErrorMessage,ex);}}\r\nminimized=false;iframeContainerDiv=containerElement.appendChild(document.createElement(\"div\"));iframeContainerDiv.style.width=width;iframeContainerDiv.style.height=height;iframeContainerDiv.style.border=\"solid gray 1px\";for(var i=0,len=cssProperties.length;i<len;i++){iframeContainerDiv.style[cssProperties[i][0]]=cssProperties[i][1];}\r\nvar iframeSrc=useDocumentWrite?\"\":\" src='\"+getConsoleUrl()+\"'\";iframeContainerDiv.innerHTML=\"<iframe id='\"+iframeId+\"' name='\"+iframeId+\"' width='100%' height='100%' frameborder='0'\"+iframeSrc+\" scrolling='no'></iframe>\";consoleClosed=false;var iframeDocumentExistsTest=function(win){try{return bool(win)&&bool(win.document);}catch(ex){return false;}};if(iframeDocumentExistsTest(getConsoleWindow())){writeToDocument();}else{pollConsoleWindow(iframeDocumentExistsTest,100,writeToDocument,initErrorMessage);}\r\nconsoleWindowCreated=true;};createWindow=function(show){if(show||!initiallyMinimized){var pageLoadHandler=function(){if(!container){containerElement=document.createElement(\"div\");containerElement.style.position=\"fixed\";containerElement.style.left=\"0\";containerElement.style.right=\"0\";containerElement.style.bottom=\"0\";document.body.appendChild(containerElement);appender.addCssProperty(\"borderWidth\",\"1px 0 0 0\");appender.addCssProperty(\"zIndex\",1000000);open();}else{try{var el=document.getElementById(container);if(el.nodeType==1){containerElement=el;}\r\nopen();}catch(ex){handleError(\"InPageAppender.init: invalid container element '\"+container+\"' supplied\",ex);}}};if(pageLoaded&&container&&container.appendChild){containerElement=container;open();}else if(pageLoaded){pageLoadHandler();}else{log4javascript.addEventListener(\"load\",pageLoadHandler);}\r\nwindowCreationStarted=true;}};init=function(){createWindow();initialized=true;};getConsoleWindow=function(){var iframe=window.frames[iframeId];if(iframe){return iframe;}};safeToAppend=function(){if(isSupported&&!consoleClosed){if(consoleWindowCreated&&!consoleWindowLoaded&&getConsoleWindow()&&isLoaded(getConsoleWindow())){consoleWindowLoaded=true;}\r\nreturn consoleWindowLoaded;}\r\nreturn false;};}else{var useOldPopUp=appender.defaults.useOldPopUp;var complainAboutPopUpBlocking=appender.defaults.complainAboutPopUpBlocking;var reopenWhenClosed=this.defaults.reopenWhenClosed;this.isUseOldPopUp=function(){return useOldPopUp;};this.setUseOldPopUp=function(useOldPopUpParam){if(checkCanConfigure(\"useOldPopUp\")){useOldPopUp=bool(useOldPopUpParam);}};this.isComplainAboutPopUpBlocking=function(){return complainAboutPopUpBlocking;};this.setComplainAboutPopUpBlocking=function(complainAboutPopUpBlockingParam){if(checkCanConfigure(\"complainAboutPopUpBlocking\")){complainAboutPopUpBlocking=bool(complainAboutPopUpBlockingParam);}};this.isFocusPopUp=function(){return focusConsoleWindow;};this.setFocusPopUp=function(focusPopUpParam){focusConsoleWindow=bool(focusPopUpParam);};this.isReopenWhenClosed=function(){return reopenWhenClosed;};this.setReopenWhenClosed=function(reopenWhenClosedParam){reopenWhenClosed=bool(reopenWhenClosedParam);};this.close=function(){logLog.debug(\"close \"+this);try{popUp.close();this.unload();}catch(ex){}};this.hide=function(){logLog.debug(\"hide \"+this);if(consoleWindowExists()){this.close();}};this.show=function(){logLog.debug(\"show \"+this);if(!consoleWindowCreated){open();}};this.isVisible=function(){return safeToAppend();};var popUp;open=function(){var windowProperties=\"width=\"+width+\",height=\"+height+\",status,resizable\";var frameInfo=\"\";try{var frameEl=window.frameElement;if(frameEl){frameInfo=\"_\"+frameEl.tagName+\"_\"+(frameEl.name||frameEl.id||\"\");}}catch(e){frameInfo=\"_inaccessibleParentFrame\";}\r\nvar windowName=\"PopUp_\"+location.host.replace(/[^a-z0-9]/gi,\"_\")+\"_\"+consoleAppenderId+frameInfo;if(!useOldPopUp||!useDocumentWrite){windowName=windowName+\"_\"+uniqueId;}\r\nvar checkPopUpClosed=function(win){if(consoleClosed){return true;}else{try{return bool(win)&&win.closed;}catch(ex){}}\r\nreturn false;};var popUpClosedCallback=function(){if(!consoleClosed){appender.unload();}};function finalInit(){getConsoleWindow().setCloseIfOpenerCloses(!useOldPopUp||!useDocumentWrite);consoleWindowLoadHandler();consoleWindowLoaded=true;appendQueuedLoggingEvents();pollConsoleWindow(checkPopUpClosed,500,popUpClosedCallback,\"PopUpAppender.checkPopUpClosed: error checking pop-up window\");}\r\ntry{popUp=window.open(getConsoleUrl(),windowName,windowProperties);consoleClosed=false;consoleWindowCreated=true;if(popUp&&popUp.document){if(useDocumentWrite&&useOldPopUp&&isLoaded(popUp)){popUp.mainPageReloaded();finalInit();}else{if(useDocumentWrite){writeHtml(popUp.document);}\r\nvar popUpLoadedTest=function(win){return bool(win)&&isLoaded(win);};if(isLoaded(popUp)){finalInit();}else{pollConsoleWindow(popUpLoadedTest,100,finalInit,\"PopUpAppender.init: unable to create console window\");}}}else{isSupported=false;logLog.warn(\"PopUpAppender.init: pop-ups blocked, please unblock to use PopUpAppender\");if(complainAboutPopUpBlocking){handleError(\"log4javascript: pop-up windows appear to be blocked. Please unblock them to use pop-up logging.\");}}}catch(ex){handleError(\"PopUpAppender.init: error creating pop-up\",ex);}};createWindow=function(){if(!initiallyMinimized){open();}};init=function(){createWindow();initialized=true;};getConsoleWindow=function(){return popUp;};safeToAppend=function(){if(isSupported&&!isUndefined(popUp)&&!consoleClosed){if(popUp.closed||(consoleWindowLoaded&&isUndefined(popUp.closed))){appender.unload();logLog.debug(\"PopUpAppender: pop-up closed\");return false;}\r\nif(!consoleWindowLoaded&&isLoaded(popUp)){consoleWindowLoaded=true;}}\r\nreturn isSupported&&consoleWindowLoaded&&!consoleClosed;};}\r\nthis.getConsoleWindow=getConsoleWindow;};ConsoleAppender.addGlobalCommandLineFunction=function(functionName,commandLineFunction){defaultCommandLineFunctions.push([functionName,commandLineFunction]);};function PopUpAppender(lazyInit,initiallyMinimized,useDocumentWrite,width,height){this.create(false,null,lazyInit,initiallyMinimized,useDocumentWrite,width,height,this.defaults.focusPopUp);}\r\nPopUpAppender.prototype=new ConsoleAppender();PopUpAppender.prototype.defaults={layout:new PatternLayout(\"%d{HH:mm:ss} %-5p - %m{1}%n\"),initiallyMinimized:false,focusPopUp:false,lazyInit:true,useOldPopUp:true,complainAboutPopUpBlocking:true,newestMessageAtTop:false,scrollToLatestMessage:true,width:\"600\",height:\"400\",reopenWhenClosed:false,maxMessages:null,showCommandLine:true,commandLineObjectExpansionDepth:1,showHideButton:false,showCloseButton:true,useDocumentWrite:true};PopUpAppender.prototype.toString=function(){return\"PopUpAppender\";};log4javascript.PopUpAppender=PopUpAppender;function InPageAppender(container,lazyInit,initiallyMinimized,useDocumentWrite,width,height){this.create(true,container,lazyInit,initiallyMinimized,useDocumentWrite,width,height,false);}\r\nInPageAppender.prototype=new ConsoleAppender();InPageAppender.prototype.defaults={layout:new PatternLayout(\"%d{HH:mm:ss} %-5p - %m{1}%n\"),initiallyMinimized:false,lazyInit:true,newestMessageAtTop:false,scrollToLatestMessage:true,width:\"100%\",height:\"220px\",maxMessages:null,showCommandLine:true,commandLineObjectExpansionDepth:1,showHideButton:false,showCloseButton:false,showLogEntryDeleteButtons:true,useDocumentWrite:true};InPageAppender.prototype.toString=function(){return\"InPageAppender\";};log4javascript.InPageAppender=InPageAppender;log4javascript.InlineAppender=InPageAppender;})();function padWithSpaces(str,len){if(str.length<len){var spaces=[];var numberOfSpaces=Math.max(0,len-str.length);for(var i=0;i<numberOfSpaces;i++){spaces[i]=\" \";}\r\nstr+=spaces.join(\"\");}\r\nreturn str;}\r\n(function(){function dir(obj){var maxLen=0;for(var p in obj){maxLen=Math.max(toStr(p).length,maxLen);}\r\nvar propList=[];for(p in obj){var propNameStr=\" \"+padWithSpaces(toStr(p),maxLen+2);var propVal;try{propVal=splitIntoLines(toStr(obj[p])).join(padWithSpaces(newLine,maxLen+6));}catch(ex){propVal=\"[Error obtaining property. Details: \"+getExceptionMessage(ex)+\"]\";}\r\npropList.push(propNameStr+propVal);}\r\nreturn propList.join(newLine);}\r\nvar nodeTypes={ELEMENT_NODE:1,ATTRIBUTE_NODE:2,TEXT_NODE:3,CDATA_SECTION_NODE:4,ENTITY_REFERENCE_NODE:5,ENTITY_NODE:6,PROCESSING_INSTRUCTION_NODE:7,COMMENT_NODE:8,DOCUMENT_NODE:9,DOCUMENT_TYPE_NODE:10,DOCUMENT_FRAGMENT_NODE:11,NOTATION_NODE:12};var preFormattedElements=[\"script\",\"pre\"];var emptyElements=[\"br\",\"img\",\"hr\",\"param\",\"link\",\"area\",\"input\",\"col\",\"base\",\"meta\"];var indentationUnit=\" \";function getXhtml(rootNode,includeRootNode,indentation,startNewLine,preformatted){includeRootNode=(typeof includeRootNode==\"undefined\")?true:!!includeRootNode;if(typeof indentation!=\"string\"){indentation=\"\";}\r\nstartNewLine=!!startNewLine;preformatted=!!preformatted;var xhtml;function isWhitespace(node){return((node.nodeType==nodeTypes.TEXT_NODE)&&/^[ \\t\\r\\n]*$/.test(node.nodeValue));}\r\nfunction fixAttributeValue(attrValue){return attrValue.toString().replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/\"/g,\"&quot;\");}\r\nfunction getStyleAttributeValue(el){var stylePairs=el.style.cssText.split(\";\");var styleValue=\"\";for(var j=0,len=stylePairs.length;j<len;j++){var nameValueBits=stylePairs[j].split(\":\");var props=[];if(!/^\\s*$/.test(nameValueBits[0])){props.push(trim(nameValueBits[0]).toLowerCase()+\":\"+trim(nameValueBits[1]));}\r\nstyleValue=props.join(\";\");}\r\nreturn styleValue;}\r\nfunction getNamespace(el){if(el.prefix){return el.prefix;}else if(el.outerHTML){var regex=new RegExp(\"<([^:]+):\"+el.tagName+\"[^>]*>\",\"i\");if(regex.test(el.outerHTML)){return RegExp.$1.toLowerCase();}}\r\nreturn\"\";}\r\nvar lt=\"<\";var gt=\">\";var i,len;if(includeRootNode&&rootNode.nodeType!=nodeTypes.DOCUMENT_FRAGMENT_NODE){switch(rootNode.nodeType){case nodeTypes.ELEMENT_NODE:var tagName=rootNode.tagName.toLowerCase();xhtml=startNewLine?newLine+indentation:\"\";xhtml+=lt;var prefix=getNamespace(rootNode);var hasPrefix=!!prefix;if(hasPrefix){xhtml+=prefix+\":\";}\r\nxhtml+=tagName;for(i=0,len=rootNode.attributes.length;i<len;i++){var currentAttr=rootNode.attributes[i];if(!currentAttr.specified||currentAttr.nodeValue===null||currentAttr.nodeName.toLowerCase()===\"style\"||typeof currentAttr.nodeValue!==\"string\"||currentAttr.nodeName.indexOf(\"_moz\")===0){continue;}\r\nxhtml+=\" \"+currentAttr.nodeName.toLowerCase()+\"=\\\"\";xhtml+=fixAttributeValue(currentAttr.nodeValue);xhtml+=\"\\\"\";}\r\nif(rootNode.style.cssText){var styleValue=getStyleAttributeValue(rootNode);if(styleValue!==\"\"){xhtml+=\" style=\\\"\"+getStyleAttributeValue(rootNode)+\"\\\"\";}}\r\nif(array_contains(emptyElements,tagName)||(hasPrefix&&!rootNode.hasChildNodes())){xhtml+=\"/\"+gt;}else{xhtml+=gt;var childStartNewLine=!(rootNode.childNodes.length===1&&rootNode.childNodes[0].nodeType===nodeTypes.TEXT_NODE);var childPreformatted=array_contains(preFormattedElements,tagName);for(i=0,len=rootNode.childNodes.length;i<len;i++){xhtml+=getXhtml(rootNode.childNodes[i],true,indentation+indentationUnit,childStartNewLine,childPreformatted);}\r\nvar endTag=lt+\"/\"+tagName+gt;xhtml+=childStartNewLine?newLine+indentation+endTag:endTag;}\r\nreturn xhtml;case nodeTypes.TEXT_NODE:if(isWhitespace(rootNode)){xhtml=\"\";}else{if(preformatted){xhtml=rootNode.nodeValue;}else{var lines=splitIntoLines(trim(rootNode.nodeValue));var trimmedLines=[];for(i=0,len=lines.length;i<len;i++){trimmedLines[i]=trim(lines[i]);}\r\nxhtml=trimmedLines.join(newLine+indentation);}\r\nif(startNewLine){xhtml=newLine+indentation+xhtml;}}\r\nreturn xhtml;case nodeTypes.CDATA_SECTION_NODE:return\"<![CDA\"+\"TA[\"+rootNode.nodeValue+\"]\"+\"]>\"+newLine;case nodeTypes.DOCUMENT_NODE:xhtml=\"\";for(i=0,len=rootNode.childNodes.length;i<len;i++){xhtml+=getXhtml(rootNode.childNodes[i],true,indentation);}\r\nreturn xhtml;default:return\"\";}}else{xhtml=\"\";for(i=0,len=rootNode.childNodes.length;i<len;i++){xhtml+=getXhtml(rootNode.childNodes[i],true,indentation+indentationUnit);}\r\nreturn xhtml;}}\r\nfunction createCommandLineFunctions(){ConsoleAppender.addGlobalCommandLineFunction(\"$\",function(appender,args,returnValue){return document.getElementById(args[0]);});ConsoleAppender.addGlobalCommandLineFunction(\"dir\",function(appender,args,returnValue){var lines=[];for(var i=0,len=args.length;i<len;i++){lines[i]=dir(args[i]);}\r\nreturn lines.join(newLine+newLine);});ConsoleAppender.addGlobalCommandLineFunction(\"dirxml\",function(appender,args,returnValue){var lines=[];for(var i=0,len=args.length;i<len;i++){lines[i]=getXhtml(args[i]);}\r\nreturn lines.join(newLine+newLine);});ConsoleAppender.addGlobalCommandLineFunction(\"cd\",function(appender,args,returnValue){var win,message;if(args.length===0||args[0]===\"\"){win=window;message=\"Command line set to run in main window\";}else{if(args[0].window==args[0]){win=args[0];message=\"Command line set to run in frame '\"+args[0].name+\"'\";}else{win=window.frames[args[0]];if(win){message=\"Command line set to run in frame '\"+args[0]+\"'\";}else{returnValue.isError=true;message=\"Frame '\"+args[0]+\"' does not exist\";win=appender.getCommandWindow();}}}\r\nappender.setCommandWindow(win);return message;});ConsoleAppender.addGlobalCommandLineFunction(\"clear\",function(appender,args,returnValue){returnValue.appendResult=false;appender.clear();});ConsoleAppender.addGlobalCommandLineFunction(\"keys\",function(appender,args,returnValue){var keys=[];for(var k in args[0]){keys.push(k);}\r\nreturn keys;});ConsoleAppender.addGlobalCommandLineFunction(\"values\",function(appender,args,returnValue){var values=[];for(var k in args[0]){try{values.push(args[0][k]);}catch(ex){logLog.warn(\"values(): Unable to obtain value for key \"+k+\". Details: \"+getExceptionMessage(ex));}}\r\nreturn values;});ConsoleAppender.addGlobalCommandLineFunction(\"expansionDepth\",function(appender,args,returnValue){var expansionDepth=parseInt(args[0],10);if(isNaN(expansionDepth)||expansionDepth<0){returnValue.isError=true;return\"\"+args[0]+\" is not a valid expansion depth\";}else{appender.setCommandLineObjectExpansionDepth(expansionDepth);return\"Object expansion depth set to \"+expansionDepth;}});}\r\nfunction init(){createCommandLineFunctions();}\r\ninit();})();function createDefaultLogger(){var logger=log4javascript.getLogger(defaultLoggerName);var a=new log4javascript.PopUpAppender();logger.addAppender(a);return logger;}\r\nlog4javascript.setDocumentReady=function(){pageLoaded=true;log4javascript.dispatchEvent(\"load\",{});};if(window.addEventListener){window.addEventListener(\"load\",log4javascript.setDocumentReady,false);}else if(window.attachEvent){window.attachEvent(\"onload\",log4javascript.setDocumentReady);}else{var oldOnload=window.onload;if(typeof window.onload!=\"function\"){window.onload=log4javascript.setDocumentReady;}else{window.onload=function(evt){if(oldOnload){oldOnload(evt);}\r\nlog4javascript.setDocumentReady();};}}\r\nreturn log4javascript;},this);\r\n","/**\n * lite-url - Small, JS lib that uses regex for parsing a URL into it's component parts.\n * @version v1.0.5\n * @link https://github.com/sadams/lite-url\n * @license BSD-3-Clause\n */\n(function(){\"use strict\";function r(r,n,t){var e=r.split(n),o=e.shift();return t(o,e.join(n))}function n(n){var t={hash:\"\",host:\"\",hostname:\"\",origin:\"\",pathname:\"\",protocol:\"\",search:\"\",password:\"\",username:\"\",port:\"\"};return r(n,\"#\",function(n,e){e&&(t.hash=e?\"#\"+e:\"\"),r(n,\"?\",function(n,e){e&&(t.search=\"?\"+e),n&&r(n,\"//\",function(n,e){t.protocol=n,r(e,\"/\",function(n,e){t.pathname=\"/\"+(e||\"\"),(t.protocol||n)&&(t.origin=t.protocol+\"//\"+n),r(n,\"@\",function(n,e){if(e){var o=n.split(\":\");t.username=o[0],t.password=o[1]}else e=n;t.host=e,r(e,\":\",function(r,n){t.hostname=r,n&&(t.port=n)})})})})})}),t.href=t.origin+t.pathname+t.search+t.hash,t}function t(r){var n={},t=r.search;if(t){t=t.replace(new RegExp(\"\\\\?\"),\"\");var e=t.split(\"&\");for(var o in e)if(e.hasOwnProperty(o)&&e[o]){var i=e[o].split(\"=\");n[i[0]]=i[1]}}return n}function e(r){var e=i[r];return\"undefined\"!=typeof e?e:(e=n(r),e.params=t(e),i[r]=e,e)}var o=this,i={};return e.changeQueryParser=function(r){t=r},\"undefined\"!=typeof exports?(\"undefined\"!=typeof module&&module.exports&&(exports=module.exports=e),exports.liteURL=e):o.liteURL=e,e}).call(this);\n","/*!\n * Platform.js v1.3.6\n * Copyright 2014-2020 Benjamin Tan\n * Copyright 2011-2013 John-David Dalton\n * Available under MIT license\n */\n;(function() {\n 'use strict';\n\n /** Used to determine if values are of the language type `Object`. */\n var objectTypes = {\n 'function': true,\n 'object': true\n };\n\n /** Used as a reference to the global object. */\n var root = (objectTypes[typeof window] && window) || this;\n\n /** Backup possible global object. */\n var oldRoot = root;\n\n /** Detect free variable `exports`. */\n var freeExports = objectTypes[typeof exports] && exports;\n\n /** Detect free variable `module`. */\n var freeModule = objectTypes[typeof module] && module && !module.nodeType && module;\n\n /** Detect free variable `global` from Node.js or Browserified code and use it as `root`. */\n var freeGlobal = freeExports && freeModule && typeof global == 'object' && global;\n if (freeGlobal && (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal || freeGlobal.self === freeGlobal)) {\n root = freeGlobal;\n }\n\n /**\n * Used as the maximum length of an array-like object.\n * See the [ES6 spec](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength)\n * for more details.\n */\n var maxSafeInteger = Math.pow(2, 53) - 1;\n\n /** Regular expression to detect Opera. */\n var reOpera = /\\bOpera/;\n\n /** Possible global object. */\n var thisBinding = this;\n\n /** Used for native method references. */\n var objectProto = Object.prototype;\n\n /** Used to check for own properties of an object. */\n var hasOwnProperty = objectProto.hasOwnProperty;\n\n /** Used to resolve the internal `[[Class]]` of values. */\n var toString = objectProto.toString;\n\n /*--------------------------------------------------------------------------*/\n\n /**\n * Capitalizes a string value.\n *\n * @private\n * @param {string} string The string to capitalize.\n * @returns {string} The capitalized string.\n */\n function capitalize(string) {\n string = String(string);\n return string.charAt(0).toUpperCase() + string.slice(1);\n }\n\n /**\n * A utility function to clean up the OS name.\n *\n * @private\n * @param {string} os The OS name to clean up.\n * @param {string} [pattern] A `RegExp` pattern matching the OS name.\n * @param {string} [label] A label for the OS.\n */\n function cleanupOS(os, pattern, label) {\n // Platform tokens are defined at:\n // http://msdn.microsoft.com/en-us/library/ms537503(VS.85).aspx\n // http://web.archive.org/web/20081122053950/http://msdn.microsoft.com/en-us/library/ms537503(VS.85).aspx\n var data = {\n '10.0': '10',\n '6.4': '10 Technical Preview',\n '6.3': '8.1',\n '6.2': '8',\n '6.1': 'Server 2008 R2 / 7',\n '6.0': 'Server 2008 / Vista',\n '5.2': 'Server 2003 / XP 64-bit',\n '5.1': 'XP',\n '5.01': '2000 SP1',\n '5.0': '2000',\n '4.0': 'NT',\n '4.90': 'ME'\n };\n // Detect Windows version from platform tokens.\n if (pattern && label && /^Win/i.test(os) && !/^Windows Phone /i.test(os) &&\n (data = data[/[\\d.]+$/.exec(os)])) {\n os = 'Windows ' + data;\n }\n // Correct character case and cleanup string.\n os = String(os);\n\n if (pattern && label) {\n os = os.replace(RegExp(pattern, 'i'), label);\n }\n\n os = format(\n os.replace(/ ce$/i, ' CE')\n .replace(/\\bhpw/i, 'web')\n .replace(/\\bMacintosh\\b/, 'Mac OS')\n .replace(/_PowerPC\\b/i, ' OS')\n .replace(/\\b(OS X) [^ \\d]+/i, '$1')\n .replace(/\\bMac (OS X)\\b/, '$1')\n .replace(/\\/(\\d)/, ' $1')\n .replace(/_/g, '.')\n .replace(/(?: BePC|[ .]*fc[ \\d.]+)$/i, '')\n .replace(/\\bx86\\.64\\b/gi, 'x86_64')\n .replace(/\\b(Windows Phone) OS\\b/, '$1')\n .replace(/\\b(Chrome OS \\w+) [\\d.]+\\b/, '$1')\n .split(' on ')[0]\n );\n\n return os;\n }\n\n /**\n * An iteration utility for arrays and objects.\n *\n * @private\n * @param {Array|Object} object The object to iterate over.\n * @param {Function} callback The function called per iteration.\n */\n function each(object, callback) {\n var index = -1,\n length = object ? object.length : 0;\n\n if (typeof length == 'number' && length > -1 && length <= maxSafeInteger) {\n while (++index < length) {\n callback(object[index], index, object);\n }\n } else {\n forOwn(object, callback);\n }\n }\n\n /**\n * Trim and conditionally capitalize string values.\n *\n * @private\n * @param {string} string The string to format.\n * @returns {string} The formatted string.\n */\n function format(string) {\n string = trim(string);\n return /^(?:webOS|i(?:OS|P))/.test(string)\n ? string\n : capitalize(string);\n }\n\n /**\n * Iterates over an object's own properties, executing the `callback` for each.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} callback The function executed per own property.\n */\n function forOwn(object, callback) {\n for (var key in object) {\n if (hasOwnProperty.call(object, key)) {\n callback(object[key], key, object);\n }\n }\n }\n\n /**\n * Gets the internal `[[Class]]` of a value.\n *\n * @private\n * @param {*} value The value.\n * @returns {string} The `[[Class]]`.\n */\n function getClassOf(value) {\n return value == null\n ? capitalize(value)\n : toString.call(value).slice(8, -1);\n }\n\n /**\n * Host objects can return type values that are different from their actual\n * data type. The objects we are concerned with usually return non-primitive\n * types of \"object\", \"function\", or \"unknown\".\n *\n * @private\n * @param {*} object The owner of the property.\n * @param {string} property The property to check.\n * @returns {boolean} Returns `true` if the property value is a non-primitive, else `false`.\n */\n function isHostType(object, property) {\n var type = object != null ? typeof object[property] : 'number';\n return !/^(?:boolean|number|string|undefined)$/.test(type) &&\n (type == 'object' ? !!object[property] : true);\n }\n\n /**\n * Prepares a string for use in a `RegExp` by making hyphens and spaces optional.\n *\n * @private\n * @param {string} string The string to qualify.\n * @returns {string} The qualified string.\n */\n function qualify(string) {\n return String(string).replace(/([ -])(?!$)/g, '$1?');\n }\n\n /**\n * A bare-bones `Array#reduce` like utility function.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} callback The function called per iteration.\n * @returns {*} The accumulated result.\n */\n function reduce(array, callback) {\n var accumulator = null;\n each(array, function(value, index) {\n accumulator = callback(accumulator, value, index, array);\n });\n return accumulator;\n }\n\n /**\n * Removes leading and trailing whitespace from a string.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} The trimmed string.\n */\n function trim(string) {\n return String(string).replace(/^ +| +$/g, '');\n }\n\n /*--------------------------------------------------------------------------*/\n\n /**\n * Creates a new platform object.\n *\n * @memberOf platform\n * @param {Object|string} [ua=navigator.userAgent] The user agent string or\n * context object.\n * @returns {Object} A platform object.\n */\n function parse(ua) {\n\n /** The environment context object. */\n var context = root;\n\n /** Used to flag when a custom context is provided. */\n var isCustomContext = ua && typeof ua == 'object' && getClassOf(ua) != 'String';\n\n // Juggle arguments.\n if (isCustomContext) {\n context = ua;\n ua = null;\n }\n\n /** Browser navigator object. */\n var nav = context.navigator || {};\n\n /** Browser user agent string. */\n var userAgent = nav.userAgent || '';\n\n ua || (ua = userAgent);\n\n /** Used to flag when `thisBinding` is the [ModuleScope]. */\n var isModuleScope = isCustomContext || thisBinding == oldRoot;\n\n /** Used to detect if browser is like Chrome. */\n var likeChrome = isCustomContext\n ? !!nav.likeChrome\n : /\\bChrome\\b/.test(ua) && !/internal|\\n/i.test(toString.toString());\n\n /** Internal `[[Class]]` value shortcuts. */\n var objectClass = 'Object',\n airRuntimeClass = isCustomContext ? objectClass : 'ScriptBridgingProxyObject',\n enviroClass = isCustomContext ? objectClass : 'Environment',\n javaClass = (isCustomContext && context.java) ? 'JavaPackage' : getClassOf(context.java),\n phantomClass = isCustomContext ? objectClass : 'RuntimeObject';\n\n /** Detect Java environments. */\n var java = /\\bJava/.test(javaClass) && context.java;\n\n /** Detect Rhino. */\n var rhino = java && getClassOf(context.environment) == enviroClass;\n\n /** A character to represent alpha. */\n var alpha = java ? 'a' : '\\u03b1';\n\n /** A character to represent beta. */\n var beta = java ? 'b' : '\\u03b2';\n\n /** Browser document object. */\n var doc = context.document || {};\n\n /**\n * Detect Opera browser (Presto-based).\n * http://www.howtocreate.co.uk/operaStuff/operaObject.html\n * http://dev.opera.com/articles/view/opera-mini-web-content-authoring-guidelines/#operamini\n */\n var opera = context.operamini || context.opera;\n\n /** Opera `[[Class]]`. */\n var operaClass = reOpera.test(operaClass = (isCustomContext && opera) ? opera['[[Class]]'] : getClassOf(opera))\n ? operaClass\n : (opera = null);\n\n /*------------------------------------------------------------------------*/\n\n /** Temporary variable used over the script's lifetime. */\n var data;\n\n /** The CPU architecture. */\n var arch = ua;\n\n /** Platform description array. */\n var description = [];\n\n /** Platform alpha/beta indicator. */\n var prerelease = null;\n\n /** A flag to indicate that environment features should be used to resolve the platform. */\n var useFeatures = ua == userAgent;\n\n /** The browser/environment version. */\n var version = useFeatures && opera && typeof opera.version == 'function' && opera.version();\n\n /** A flag to indicate if the OS ends with \"/ Version\" */\n var isSpecialCasedOS;\n\n /* Detectable layout engines (order is important). */\n var layout = getLayout([\n { 'label': 'EdgeHTML', 'pattern': 'Edge' },\n 'Trident',\n { 'label': 'WebKit', 'pattern': 'AppleWebKit' },\n 'iCab',\n 'Presto',\n 'NetFront',\n 'Tasman',\n 'KHTML',\n 'Gecko'\n ]);\n\n /* Detectable browser names (order is important). */\n var name = getName([\n 'Adobe AIR',\n 'Arora',\n 'Avant Browser',\n 'Breach',\n 'Camino',\n 'Electron',\n 'Epiphany',\n 'Fennec',\n 'Flock',\n 'Galeon',\n 'GreenBrowser',\n 'iCab',\n 'Iceweasel',\n 'K-Meleon',\n 'Konqueror',\n 'Lunascape',\n 'Maxthon',\n { 'label': 'Microsoft Edge', 'pattern': '(?:Edge|Edg|EdgA|EdgiOS)' },\n 'Midori',\n 'Nook Browser',\n 'PaleMoon',\n 'PhantomJS',\n 'Raven',\n 'Rekonq',\n 'RockMelt',\n { 'label': 'Samsung Internet', 'pattern': 'SamsungBrowser' },\n 'SeaMonkey',\n { 'label': 'Silk', 'pattern': '(?:Cloud9|Silk-Accelerated)' },\n 'Sleipnir',\n 'SlimBrowser',\n { 'label': 'SRWare Iron', 'pattern': 'Iron' },\n 'Sunrise',\n 'Swiftfox',\n 'Vivaldi',\n 'Waterfox',\n 'WebPositive',\n { 'label': 'Yandex Browser', 'pattern': 'YaBrowser' },\n { 'label': 'UC Browser', 'pattern': 'UCBrowser' },\n 'Opera Mini',\n { 'label': 'Opera Mini', 'pattern': 'OPiOS' },\n 'Opera',\n { 'label': 'Opera', 'pattern': 'OPR' },\n 'Chromium',\n 'Chrome',\n { 'label': 'Chrome', 'pattern': '(?:HeadlessChrome)' },\n { 'label': 'Chrome Mobile', 'pattern': '(?:CriOS|CrMo)' },\n { 'label': 'Firefox', 'pattern': '(?:Firefox|Minefield)' },\n { 'label': 'Firefox for iOS', 'pattern': 'FxiOS' },\n { 'label': 'IE', 'pattern': 'IEMobile' },\n { 'label': 'IE', 'pattern': 'MSIE' },\n 'Safari'\n ]);\n\n /* Detectable products (order is important). */\n var product = getProduct([\n { 'label': 'BlackBerry', 'pattern': 'BB10' },\n 'BlackBerry',\n { 'label': 'Galaxy S', 'pattern': 'GT-I9000' },\n { 'label': 'Galaxy S2', 'pattern': 'GT-I9100' },\n { 'label': 'Galaxy S3', 'pattern': 'GT-I9300' },\n { 'label': 'Galaxy S4', 'pattern': 'GT-I9500' },\n { 'label': 'Galaxy S5', 'pattern': 'SM-G900' },\n { 'label': 'Galaxy S6', 'pattern': 'SM-G920' },\n { 'label': 'Galaxy S6 Edge', 'pattern': 'SM-G925' },\n { 'label': 'Galaxy S7', 'pattern': 'SM-G930' },\n { 'label': 'Galaxy S7 Edge', 'pattern': 'SM-G935' },\n 'Google TV',\n 'Lumia',\n 'iPad',\n 'iPod',\n 'iPhone',\n 'Kindle',\n { 'label': 'Kindle Fire', 'pattern': '(?:Cloud9|Silk-Accelerated)' },\n 'Nexus',\n 'Nook',\n 'PlayBook',\n 'PlayStation Vita',\n 'PlayStation',\n 'TouchPad',\n 'Transformer',\n { 'label': 'Wii U', 'pattern': 'WiiU' },\n 'Wii',\n 'Xbox One',\n { 'label': 'Xbox 360', 'pattern': 'Xbox' },\n 'Xoom'\n ]);\n\n /* Detectable manufacturers. */\n var manufacturer = getManufacturer({\n 'Apple': { 'iPad': 1, 'iPhone': 1, 'iPod': 1 },\n 'Alcatel': {},\n 'Archos': {},\n 'Amazon': { 'Kindle': 1, 'Kindle Fire': 1 },\n 'Asus': { 'Transformer': 1 },\n 'Barnes & Noble': { 'Nook': 1 },\n 'BlackBerry': { 'PlayBook': 1 },\n 'Google': { 'Google TV': 1, 'Nexus': 1 },\n 'HP': { 'TouchPad': 1 },\n 'HTC': {},\n 'Huawei': {},\n 'Lenovo': {},\n 'LG': {},\n 'Microsoft': { 'Xbox': 1, 'Xbox One': 1 },\n 'Motorola': { 'Xoom': 1 },\n 'Nintendo': { 'Wii U': 1, 'Wii': 1 },\n 'Nokia': { 'Lumia': 1 },\n 'Oppo': {},\n 'Samsung': { 'Galaxy S': 1, 'Galaxy S2': 1, 'Galaxy S3': 1, 'Galaxy S4': 1 },\n 'Sony': { 'PlayStation': 1, 'PlayStation Vita': 1 },\n 'Xiaomi': { 'Mi': 1, 'Redmi': 1 }\n });\n\n /* Detectable operating systems (order is important). */\n var os = getOS([\n 'Windows Phone',\n 'KaiOS',\n 'Android',\n 'CentOS',\n { 'label': 'Chrome OS', 'pattern': 'CrOS' },\n 'Debian',\n { 'label': 'DragonFly BSD', 'pattern': 'DragonFly' },\n 'Fedora',\n 'FreeBSD',\n 'Gentoo',\n 'Haiku',\n 'Kubuntu',\n 'Linux Mint',\n 'OpenBSD',\n 'Red Hat',\n 'SuSE',\n 'Ubuntu',\n 'Xubuntu',\n 'Cygwin',\n 'Symbian OS',\n 'hpwOS',\n 'webOS ',\n 'webOS',\n 'Tablet OS',\n 'Tizen',\n 'Linux',\n 'Mac OS X',\n 'Macintosh',\n 'Mac',\n 'Windows 98;',\n 'Windows '\n ]);\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Picks the layout engine from an array of guesses.\n *\n * @private\n * @param {Array} guesses An array of guesses.\n * @returns {null|string} The detected layout engine.\n */\n function getLayout(guesses) {\n return reduce(guesses, function(result, guess) {\n return result || RegExp('\\\\b' + (\n guess.pattern || qualify(guess)\n ) + '\\\\b', 'i').exec(ua) && (guess.label || guess);\n });\n }\n\n /**\n * Picks the manufacturer from an array of guesses.\n *\n * @private\n * @param {Array} guesses An object of guesses.\n * @returns {null|string} The detected manufacturer.\n */\n function getManufacturer(guesses) {\n return reduce(guesses, function(result, value, key) {\n // Lookup the manufacturer by product or scan the UA for the manufacturer.\n return result || (\n value[product] ||\n value[/^[a-z]+(?: +[a-z]+\\b)*/i.exec(product)] ||\n RegExp('\\\\b' + qualify(key) + '(?:\\\\b|\\\\w*\\\\d)', 'i').exec(ua)\n ) && key;\n });\n }\n\n /**\n * Picks the browser name from an array of guesses.\n *\n * @private\n * @param {Array} guesses An array of guesses.\n * @returns {null|string} The detected browser name.\n */\n function getName(guesses) {\n return reduce(guesses, function(result, guess) {\n return result || RegExp('\\\\b' + (\n guess.pattern || qualify(guess)\n ) + '\\\\b', 'i').exec(ua) && (guess.label || guess);\n });\n }\n\n /**\n * Picks the OS name from an array of guesses.\n *\n * @private\n * @param {Array} guesses An array of guesses.\n * @returns {null|string} The detected OS name.\n */\n function getOS(guesses) {\n return reduce(guesses, function(result, guess) {\n var pattern = guess.pattern || qualify(guess);\n if (!result && (result =\n RegExp('\\\\b' + pattern + '(?:/[\\\\d.]+|[ \\\\w.]*)', 'i').exec(ua)\n )) {\n result = cleanupOS(result, pattern, guess.label || guess);\n }\n return result;\n });\n }\n\n /**\n * Picks the product name from an array of guesses.\n *\n * @private\n * @param {Array} guesses An array of guesses.\n * @returns {null|string} The detected product name.\n */\n function getProduct(guesses) {\n return reduce(guesses, function(result, guess) {\n var pattern = guess.pattern || qualify(guess);\n if (!result && (result =\n RegExp('\\\\b' + pattern + ' *\\\\d+[.\\\\w_]*', 'i').exec(ua) ||\n RegExp('\\\\b' + pattern + ' *\\\\w+-[\\\\w]*', 'i').exec(ua) ||\n RegExp('\\\\b' + pattern + '(?:; *(?:[a-z]+[_-])?[a-z]+\\\\d+|[^ ();-]*)', 'i').exec(ua)\n )) {\n // Split by forward slash and append product version if needed.\n if ((result = String((guess.label && !RegExp(pattern, 'i').test(guess.label)) ? guess.label : result).split('/'))[1] && !/[\\d.]+/.test(result[0])) {\n result[0] += ' ' + result[1];\n }\n // Correct character case and cleanup string.\n guess = guess.label || guess;\n result = format(result[0]\n .replace(RegExp(pattern, 'i'), guess)\n .replace(RegExp('; *(?:' + guess + '[_-])?', 'i'), ' ')\n .replace(RegExp('(' + guess + ')[-_.]?(\\\\w)', 'i'), '$1 $2'));\n }\n return result;\n });\n }\n\n /**\n * Resolves the version using an array of UA patterns.\n *\n * @private\n * @param {Array} patterns An array of UA patterns.\n * @returns {null|string} The detected version.\n */\n function getVersion(patterns) {\n return reduce(patterns, function(result, pattern) {\n return result || (RegExp(pattern +\n '(?:-[\\\\d.]+/|(?: for [\\\\w-]+)?[ /-])([\\\\d.]+[^ ();/_-]*)', 'i').exec(ua) || 0)[1] || null;\n });\n }\n\n /**\n * Returns `platform.description` when the platform object is coerced to a string.\n *\n * @name toString\n * @memberOf platform\n * @returns {string} Returns `platform.description` if available, else an empty string.\n */\n function toStringPlatform() {\n return this.description || '';\n }\n\n /*------------------------------------------------------------------------*/\n\n // Convert layout to an array so we can add extra details.\n layout && (layout = [layout]);\n\n // Detect Android products.\n // Browsers on Android devices typically provide their product IDS after \"Android;\"\n // up to \"Build\" or \") AppleWebKit\".\n // Example:\n // \"Mozilla/5.0 (Linux; Android 8.1.0; Moto G (5) Plus) AppleWebKit/537.36\n // (KHTML, like Gecko) Chrome/70.0.3538.80 Mobile Safari/537.36\"\n if (/\\bAndroid\\b/.test(os) && !product &&\n (data = /\\bAndroid[^;]*;(.*?)(?:Build|\\) AppleWebKit)\\b/i.exec(ua))) {\n product = trim(data[1])\n // Replace any language codes (eg. \"en-US\").\n .replace(/^[a-z]{2}-[a-z]{2};\\s*/i, '')\n || null;\n }\n // Detect product names that contain their manufacturer's name.\n if (manufacturer && !product) {\n product = getProduct([manufacturer]);\n } else if (manufacturer && product) {\n product = product\n .replace(RegExp('^(' + qualify(manufacturer) + ')[-_.\\\\s]', 'i'), manufacturer + ' ')\n .replace(RegExp('^(' + qualify(manufacturer) + ')[-_.]?(\\\\w)', 'i'), manufacturer + ' $2');\n }\n // Clean up Google TV.\n if ((data = /\\bGoogle TV\\b/.exec(product))) {\n product = data[0];\n }\n // Detect simulators.\n if (/\\bSimulator\\b/i.test(ua)) {\n product = (product ? product + ' ' : '') + 'Simulator';\n }\n // Detect Opera Mini 8+ running in Turbo/Uncompressed mode on iOS.\n if (name == 'Opera Mini' && /\\bOPiOS\\b/.test(ua)) {\n description.push('running in Turbo/Uncompressed mode');\n }\n // Detect IE Mobile 11.\n if (name == 'IE' && /\\blike iPhone OS\\b/.test(ua)) {\n data = parse(ua.replace(/like iPhone OS/, ''));\n manufacturer = data.manufacturer;\n product = data.product;\n }\n // Detect iOS.\n else if (/^iP/.test(product)) {\n name || (name = 'Safari');\n os = 'iOS' + ((data = / OS ([\\d_]+)/i.exec(ua))\n ? ' ' + data[1].replace(/_/g, '.')\n : '');\n }\n // Detect Kubuntu.\n else if (name == 'Konqueror' && /^Linux\\b/i.test(os)) {\n os = 'Kubuntu';\n }\n // Detect Android browsers.\n else if ((manufacturer && manufacturer != 'Google' &&\n ((/Chrome/.test(name) && !/\\bMobile Safari\\b/i.test(ua)) || /\\bVita\\b/.test(product))) ||\n (/\\bAndroid\\b/.test(os) && /^Chrome/.test(name) && /\\bVersion\\//i.test(ua))) {\n name = 'Android Browser';\n os = /\\bAndroid\\b/.test(os) ? os : 'Android';\n }\n // Detect Silk desktop/accelerated modes.\n else if (name == 'Silk') {\n if (!/\\bMobi/i.test(ua)) {\n os = 'Android';\n description.unshift('desktop mode');\n }\n if (/Accelerated *= *true/i.test(ua)) {\n description.unshift('accelerated');\n }\n }\n // Detect UC Browser speed mode.\n else if (name == 'UC Browser' && /\\bUCWEB\\b/.test(ua)) {\n description.push('speed mode');\n }\n // Detect PaleMoon identifying as Firefox.\n else if (name == 'PaleMoon' && (data = /\\bFirefox\\/([\\d.]+)\\b/.exec(ua))) {\n description.push('identifying as Firefox ' + data[1]);\n }\n // Detect Firefox OS and products running Firefox.\n else if (name == 'Firefox' && (data = /\\b(Mobile|Tablet|TV)\\b/i.exec(ua))) {\n os || (os = 'Firefox OS');\n product || (product = data[1]);\n }\n // Detect false positives for Firefox/Safari.\n else if (!name || (data = !/\\bMinefield\\b/i.test(ua) && /\\b(?:Firefox|Safari)\\b/.exec(name))) {\n // Escape the `/` for Firefox 1.\n if (name && !product && /[\\/,]|^[^(]+?\\)/.test(ua.slice(ua.indexOf(data + '/') + 8))) {\n // Clear name of false positives.\n name = null;\n }\n // Reassign a generic name.\n if ((data = product || manufacturer || os) &&\n (product || manufacturer || /\\b(?:Android|Symbian OS|Tablet OS|webOS)\\b/.test(os))) {\n name = /[a-z]+(?: Hat)?/i.exec(/\\bAndroid\\b/.test(os) ? os : data) + ' Browser';\n }\n }\n // Add Chrome version to description for Electron.\n else if (name == 'Electron' && (data = (/\\bChrome\\/([\\d.]+)\\b/.exec(ua) || 0)[1])) {\n description.push('Chromium ' + data);\n }\n // Detect non-Opera (Presto-based) versions (order is important).\n if (!version) {\n version = getVersion([\n '(?:Cloud9|CriOS|CrMo|Edge|Edg|EdgA|EdgiOS|FxiOS|HeadlessChrome|IEMobile|Iron|Opera ?Mini|OPiOS|OPR|Raven|SamsungBrowser|Silk(?!/[\\\\d.]+$)|UCBrowser|YaBrowser)',\n 'Version',\n qualify(name),\n '(?:Firefox|Minefield|NetFront)'\n ]);\n }\n // Detect stubborn layout engines.\n if ((data =\n layout == 'iCab' && parseFloat(version) > 3 && 'WebKit' ||\n /\\bOpera\\b/.test(name) && (/\\bOPR\\b/.test(ua) ? 'Blink' : 'Presto') ||\n /\\b(?:Midori|Nook|Safari)\\b/i.test(ua) && !/^(?:Trident|EdgeHTML)$/.test(layout) && 'WebKit' ||\n !layout && /\\bMSIE\\b/i.test(ua) && (os == 'Mac OS' ? 'Tasman' : 'Trident') ||\n layout == 'WebKit' && /\\bPlayStation\\b(?! Vita\\b)/i.test(name) && 'NetFront'\n )) {\n layout = [data];\n }\n // Detect Windows Phone 7 desktop mode.\n if (name == 'IE' && (data = (/; *(?:XBLWP|ZuneWP)(\\d+)/i.exec(ua) || 0)[1])) {\n name += ' Mobile';\n os = 'Windows Phone ' + (/\\+$/.test(data) ? data : data + '.x');\n description.unshift('desktop mode');\n }\n // Detect Windows Phone 8.x desktop mode.\n else if (/\\bWPDesktop\\b/i.test(ua)) {\n name = 'IE Mobile';\n os = 'Windows Phone 8.x';\n description.unshift('desktop mode');\n version || (version = (/\\brv:([\\d.]+)/.exec(ua) || 0)[1]);\n }\n // Detect IE 11 identifying as other browsers.\n else if (name != 'IE' && layout == 'Trident' && (data = /\\brv:([\\d.]+)/.exec(ua))) {\n if (name) {\n description.push('identifying as ' + name + (version ? ' ' + version : ''));\n }\n name = 'IE';\n version = data[1];\n }\n // Leverage environment features.\n if (useFeatures) {\n // Detect server-side environments.\n // Rhino has a global function while others have a global object.\n if (isHostType(context, 'global')) {\n if (java) {\n data = java.lang.System;\n arch = data.getProperty('os.arch');\n os = os || data.getProperty('os.name') + ' ' + data.getProperty('os.version');\n }\n if (rhino) {\n try {\n version = context.require('ringo/engine').version.join('.');\n name = 'RingoJS';\n } catch(e) {\n if ((data = context.system) && data.global.system == context.system) {\n name = 'Narwhal';\n os || (os = data[0].os || null);\n }\n }\n if (!name) {\n name = 'Rhino';\n }\n }\n else if (\n typeof context.process == 'object' && !context.process.browser &&\n (data = context.process)\n ) {\n if (typeof data.versions == 'object') {\n if (typeof data.versions.electron == 'string') {\n description.push('Node ' + data.versions.node);\n name = 'Electron';\n version = data.versions.electron;\n } else if (typeof data.versions.nw == 'string') {\n description.push('Chromium ' + version, 'Node ' + data.versions.node);\n name = 'NW.js';\n version = data.versions.nw;\n }\n }\n if (!name) {\n name = 'Node.js';\n arch = data.arch;\n os = data.platform;\n version = /[\\d.]+/.exec(data.version);\n version = version ? version[0] : null;\n }\n }\n }\n // Detect Adobe AIR.\n else if (getClassOf((data = context.runtime)) == airRuntimeClass) {\n name = 'Adobe AIR';\n os = data.flash.system.Capabilities.os;\n }\n // Detect PhantomJS.\n else if (getClassOf((data = context.phantom)) == phantomClass) {\n name = 'PhantomJS';\n version = (data = data.version || null) && (data.major + '.' + data.minor + '.' + data.patch);\n }\n // Detect IE compatibility modes.\n else if (typeof doc.documentMode == 'number' && (data = /\\bTrident\\/(\\d+)/i.exec(ua))) {\n // We're in compatibility mode when the Trident version + 4 doesn't\n // equal the document mode.\n version = [version, doc.documentMode];\n if ((data = +data[1] + 4) != version[1]) {\n description.push('IE ' + version[1] + ' mode');\n layout && (layout[1] = '');\n version[1] = data;\n }\n version = name == 'IE' ? String(version[1].toFixed(1)) : version[0];\n }\n // Detect IE 11 masking as other browsers.\n else if (typeof doc.documentMode == 'number' && /^(?:Chrome|Firefox)\\b/.test(name)) {\n description.push('masking as ' + name + ' ' + version);\n name = 'IE';\n version = '11.0';\n layout = ['Trident'];\n os = 'Windows';\n }\n os = os && format(os);\n }\n // Detect prerelease phases.\n if (version && (data =\n /(?:[ab]|dp|pre|[ab]\\d+pre)(?:\\d+\\+?)?$/i.exec(version) ||\n /(?:alpha|beta)(?: ?\\d)?/i.exec(ua + ';' + (useFeatures && nav.appMinorVersion)) ||\n /\\bMinefield\\b/i.test(ua) && 'a'\n )) {\n prerelease = /b/i.test(data) ? 'beta' : 'alpha';\n version = version.replace(RegExp(data + '\\\\+?$'), '') +\n (prerelease == 'beta' ? beta : alpha) + (/\\d+\\+?/.exec(data) || '');\n }\n // Detect Firefox Mobile.\n if (name == 'Fennec' || name == 'Firefox' && /\\b(?:Android|Firefox OS|KaiOS)\\b/.test(os)) {\n name = 'Firefox Mobile';\n }\n // Obscure Maxthon's unreliable version.\n else if (name == 'Maxthon' && version) {\n version = version.replace(/\\.[\\d.]+/, '.x');\n }\n // Detect Xbox 360 and Xbox One.\n else if (/\\bXbox\\b/i.test(product)) {\n if (product == 'Xbox 360') {\n os = null;\n }\n if (product == 'Xbox 360' && /\\bIEMobile\\b/.test(ua)) {\n description.unshift('mobile mode');\n }\n }\n // Add mobile postfix.\n else if ((/^(?:Chrome|IE|Opera)$/.test(name) || name && !product && !/Browser|Mobi/.test(name)) &&\n (os == 'Windows CE' || /Mobi/i.test(ua))) {\n name += ' Mobile';\n }\n // Detect IE platform preview.\n else if (name == 'IE' && useFeatures) {\n try {\n if (context.external === null) {\n description.unshift('platform preview');\n }\n } catch(e) {\n description.unshift('embedded');\n }\n }\n // Detect BlackBerry OS version.\n // http://docs.blackberry.com/en/developers/deliverables/18169/HTTP_headers_sent_by_BB_Browser_1234911_11.jsp\n else if ((/\\bBlackBerry\\b/.test(product) || /\\bBB10\\b/.test(ua)) && (data =\n (RegExp(product.replace(/ +/g, ' *') + '/([.\\\\d]+)', 'i').exec(ua) || 0)[1] ||\n version\n )) {\n data = [data, /BB10/.test(ua)];\n os = (data[1] ? (product = null, manufacturer = 'BlackBerry') : 'Device Software') + ' ' + data[0];\n version = null;\n }\n // Detect Opera identifying/masking itself as another browser.\n // http://www.opera.com/support/kb/view/843/\n else if (this != forOwn && product != 'Wii' && (\n (useFeatures && opera) ||\n (/Opera/.test(name) && /\\b(?:MSIE|Firefox)\\b/i.test(ua)) ||\n (name == 'Firefox' && /\\bOS X (?:\\d+\\.){2,}/.test(os)) ||\n (name == 'IE' && (\n (os && !/^Win/.test(os) && version > 5.5) ||\n /\\bWindows XP\\b/.test(os) && version > 8 ||\n version == 8 && !/\\bTrident\\b/.test(ua)\n ))\n ) && !reOpera.test((data = parse.call(forOwn, ua.replace(reOpera, '') + ';'))) && data.name) {\n // When \"identifying\", the UA contains both Opera and the other browser's name.\n data = 'ing as ' + data.name + ((data = data.version) ? ' ' + data : '');\n if (reOpera.test(name)) {\n if (/\\bIE\\b/.test(data) && os == 'Mac OS') {\n os = null;\n }\n data = 'identify' + data;\n }\n // When \"masking\", the UA contains only the other browser's name.\n else {\n data = 'mask' + data;\n if (operaClass) {\n name = format(operaClass.replace(/([a-z])([A-Z])/g, '$1 $2'));\n } else {\n name = 'Opera';\n }\n if (/\\bIE\\b/.test(data)) {\n os = null;\n }\n if (!useFeatures) {\n version = null;\n }\n }\n layout = ['Presto'];\n description.push(data);\n }\n // Detect WebKit Nightly and approximate Chrome/Safari versions.\n if ((data = (/\\bAppleWebKit\\/([\\d.]+\\+?)/i.exec(ua) || 0)[1])) {\n // Correct build number for numeric comparison.\n // (e.g. \"532.5\" becomes \"532.05\")\n data = [parseFloat(data.replace(/\\.(\\d)$/, '.0$1')), data];\n // Nightly builds are postfixed with a \"+\".\n if (name == 'Safari' && data[1].slice(-1) == '+') {\n name = 'WebKit Nightly';\n prerelease = 'alpha';\n version = data[1].slice(0, -1);\n }\n // Clear incorrect browser versions.\n else if (version == data[1] ||\n version == (data[2] = (/\\bSafari\\/([\\d.]+\\+?)/i.exec(ua) || 0)[1])) {\n version = null;\n }\n // Use the full Chrome version when available.\n data[1] = (/\\b(?:Headless)?Chrome\\/([\\d.]+)/i.exec(ua) || 0)[1];\n // Detect Blink layout engine.\n if (data[0] == 537.36 && data[2] == 537.36 && parseFloat(data[1]) >= 28 && layout == 'WebKit') {\n layout = ['Blink'];\n }\n // Detect JavaScriptCore.\n // http://stackoverflow.com/questions/6768474/how-can-i-detect-which-javascript-engine-v8-or-jsc-is-used-at-runtime-in-androi\n if (!useFeatures || (!likeChrome && !data[1])) {\n layout && (layout[1] = 'like Safari');\n data = (data = data[0], data < 400 ? 1 : data < 500 ? 2 : data < 526 ? 3 : data < 533 ? 4 : data < 534 ? '4+' : data < 535 ? 5 : data < 537 ? 6 : data < 538 ? 7 : data < 601 ? 8 : data < 602 ? 9 : data < 604 ? 10 : data < 606 ? 11 : data < 608 ? 12 : '12');\n } else {\n layout && (layout[1] = 'like Chrome');\n data = data[1] || (data = data[0], data < 530 ? 1 : data < 532 ? 2 : data < 532.05 ? 3 : data < 533 ? 4 : data < 534.03 ? 5 : data < 534.07 ? 6 : data < 534.10 ? 7 : data < 534.13 ? 8 : data < 534.16 ? 9 : data < 534.24 ? 10 : data < 534.30 ? 11 : data < 535.01 ? 12 : data < 535.02 ? '13+' : data < 535.07 ? 15 : data < 535.11 ? 16 : data < 535.19 ? 17 : data < 536.05 ? 18 : data < 536.10 ? 19 : data < 537.01 ? 20 : data < 537.11 ? '21+' : data < 537.13 ? 23 : data < 537.18 ? 24 : data < 537.24 ? 25 : data < 537.36 ? 26 : layout != 'Blink' ? '27' : '28');\n }\n // Add the postfix of \".x\" or \"+\" for approximate versions.\n layout && (layout[1] += ' ' + (data += typeof data == 'number' ? '.x' : /[.+]/.test(data) ? '' : '+'));\n // Obscure version for some Safari 1-2 releases.\n if (name == 'Safari' && (!version || parseInt(version) > 45)) {\n version = data;\n } else if (name == 'Chrome' && /\\bHeadlessChrome/i.test(ua)) {\n description.unshift('headless');\n }\n }\n // Detect Opera desktop modes.\n if (name == 'Opera' && (data = /\\bzbov|zvav$/.exec(os))) {\n name += ' ';\n description.unshift('desktop mode');\n if (data == 'zvav') {\n name += 'Mini';\n version = null;\n } else {\n name += 'Mobile';\n }\n os = os.replace(RegExp(' *' + data + '$'), '');\n }\n // Detect Chrome desktop mode.\n else if (name == 'Safari' && /\\bChrome\\b/.exec(layout && layout[1])) {\n description.unshift('desktop mode');\n name = 'Chrome Mobile';\n version = null;\n\n if (/\\bOS X\\b/.test(os)) {\n manufacturer = 'Apple';\n os = 'iOS 4.3+';\n } else {\n os = null;\n }\n }\n // Newer versions of SRWare Iron uses the Chrome tag to indicate its version number.\n else if (/\\bSRWare Iron\\b/.test(name) && !version) {\n version = getVersion('Chrome');\n }\n // Strip incorrect OS versions.\n if (version && version.indexOf((data = /[\\d.]+$/.exec(os))) == 0 &&\n ua.indexOf('/' + data + '-') > -1) {\n os = trim(os.replace(data, ''));\n }\n // Ensure OS does not include the browser name.\n if (os && os.indexOf(name) != -1 && !RegExp(name + ' OS').test(os)) {\n os = os.replace(RegExp(' *' + qualify(name) + ' *'), '');\n }\n // Add layout engine.\n if (layout && !/\\b(?:Avant|Nook)\\b/.test(name) && (\n /Browser|Lunascape|Maxthon/.test(name) ||\n name != 'Safari' && /^iOS/.test(os) && /\\bSafari\\b/.test(layout[1]) ||\n /^(?:Adobe|Arora|Breach|Midori|Opera|Phantom|Rekonq|Rock|Samsung Internet|Sleipnir|SRWare Iron|Vivaldi|Web)/.test(name) && layout[1])) {\n // Don't add layout details to description if they are falsey.\n (data = layout[layout.length - 1]) && description.push(data);\n }\n // Combine contextual information.\n if (description.length) {\n description = ['(' + description.join('; ') + ')'];\n }\n // Append manufacturer to description.\n if (manufacturer && product && product.indexOf(manufacturer) < 0) {\n description.push('on ' + manufacturer);\n }\n // Append product to description.\n if (product) {\n description.push((/^on /.test(description[description.length - 1]) ? '' : 'on ') + product);\n }\n // Parse the OS into an object.\n if (os) {\n data = / ([\\d.+]+)$/.exec(os);\n isSpecialCasedOS = data && os.charAt(os.length - data[0].length - 1) == '/';\n os = {\n 'architecture': 32,\n 'family': (data && !isSpecialCasedOS) ? os.replace(data[0], '') : os,\n 'version': data ? data[1] : null,\n 'toString': function() {\n var version = this.version;\n return this.family + ((version && !isSpecialCasedOS) ? ' ' + version : '') + (this.architecture == 64 ? ' 64-bit' : '');\n }\n };\n }\n // Add browser/OS architecture.\n if ((data = /\\b(?:AMD|IA|Win|WOW|x86_|x)64\\b/i.exec(arch)) && !/\\bi686\\b/i.test(arch)) {\n if (os) {\n os.architecture = 64;\n os.family = os.family.replace(RegExp(' *' + data), '');\n }\n if (\n name && (/\\bWOW64\\b/i.test(ua) ||\n (useFeatures && /\\w(?:86|32)$/.test(nav.cpuClass || nav.platform) && !/\\bWin64; x64\\b/i.test(ua)))\n ) {\n description.unshift('32-bit');\n }\n }\n // Chrome 39 and above on OS X is always 64-bit.\n else if (\n os && /^OS X/.test(os.family) &&\n name == 'Chrome' && parseFloat(version) >= 39\n ) {\n os.architecture = 64;\n }\n\n ua || (ua = null);\n\n /*------------------------------------------------------------------------*/\n\n /**\n * The platform object.\n *\n * @name platform\n * @type Object\n */\n var platform = {};\n\n /**\n * The platform description.\n *\n * @memberOf platform\n * @type string|null\n */\n platform.description = ua;\n\n /**\n * The name of the browser's layout engine.\n *\n * The list of common layout engines include:\n * \"Blink\", \"EdgeHTML\", \"Gecko\", \"Trident\" and \"WebKit\"\n *\n * @memberOf platform\n * @type string|null\n */\n platform.layout = layout && layout[0];\n\n /**\n * The name of the product's manufacturer.\n *\n * The list of manufacturers include:\n * \"Apple\", \"Archos\", \"Amazon\", \"Asus\", \"Barnes & Noble\", \"BlackBerry\",\n * \"Google\", \"HP\", \"HTC\", \"LG\", \"Microsoft\", \"Motorola\", \"Nintendo\",\n * \"Nokia\", \"Samsung\" and \"Sony\"\n *\n * @memberOf platform\n * @type string|null\n */\n platform.manufacturer = manufacturer;\n\n /**\n * The name of the browser/environment.\n *\n * The list of common browser names include:\n * \"Chrome\", \"Electron\", \"Firefox\", \"Firefox for iOS\", \"IE\",\n * \"Microsoft Edge\", \"PhantomJS\", \"Safari\", \"SeaMonkey\", \"Silk\",\n * \"Opera Mini\" and \"Opera\"\n *\n * Mobile versions of some browsers have \"Mobile\" appended to their name:\n * eg. \"Chrome Mobile\", \"Firefox Mobile\", \"IE Mobile\" and \"Opera Mobile\"\n *\n * @memberOf platform\n * @type string|null\n */\n platform.name = name;\n\n /**\n * The alpha/beta release indicator.\n *\n * @memberOf platform\n * @type string|null\n */\n platform.prerelease = prerelease;\n\n /**\n * The name of the product hosting the browser.\n *\n * The list of common products include:\n *\n * \"BlackBerry\", \"Galaxy S4\", \"Lumia\", \"iPad\", \"iPod\", \"iPhone\", \"Kindle\",\n * \"Kindle Fire\", \"Nexus\", \"Nook\", \"PlayBook\", \"TouchPad\" and \"Transformer\"\n *\n * @memberOf platform\n * @type string|null\n */\n platform.product = product;\n\n /**\n * The browser's user agent string.\n *\n * @memberOf platform\n * @type string|null\n */\n platform.ua = ua;\n\n /**\n * The browser/environment version.\n *\n * @memberOf platform\n * @type string|null\n */\n platform.version = name && version;\n\n /**\n * The name of the operating system.\n *\n * @memberOf platform\n * @type Object\n */\n platform.os = os || {\n\n /**\n * The CPU architecture the OS is built for.\n *\n * @memberOf platform.os\n * @type number|null\n */\n 'architecture': null,\n\n /**\n * The family of the OS.\n *\n * Common values include:\n * \"Windows\", \"Windows Server 2008 R2 / 7\", \"Windows Server 2008 / Vista\",\n * \"Windows XP\", \"OS X\", \"Linux\", \"Ubuntu\", \"Debian\", \"Fedora\", \"Red Hat\",\n * \"SuSE\", \"Android\", \"iOS\" and \"Windows Phone\"\n *\n * @memberOf platform.os\n * @type string|null\n */\n 'family': null,\n\n /**\n * The version of the OS.\n *\n * @memberOf platform.os\n * @type string|null\n */\n 'version': null,\n\n /**\n * Returns the OS string.\n *\n * @memberOf platform.os\n * @returns {string} The OS string.\n */\n 'toString': function() { return 'null'; }\n };\n\n platform.parse = parse;\n platform.toString = toStringPlatform;\n\n if (platform.version) {\n description.unshift(version);\n }\n if (platform.name) {\n description.unshift(name);\n }\n if (os && name && !(os == String(os).split(' ')[0] && (os == name.split(' ')[0] || product))) {\n description.push(product ? '(' + os + ')' : 'on ' + os);\n }\n if (description.length) {\n platform.description = description.join(' ');\n }\n return platform;\n }\n\n /*--------------------------------------------------------------------------*/\n\n // Export platform.\n var platform = parse();\n\n // Some AMD build optimizers, like r.js, check for condition patterns like the following:\n if (typeof define == 'function' && typeof define.amd == 'object' && define.amd) {\n // Expose platform on the global object to prevent errors when platform is\n // loaded by a script tag in the presence of an AMD loader.\n // See http://requirejs.org/docs/errors.html#mismatch for more details.\n root.platform = platform;\n\n // Define as an anonymous module so platform can be aliased through path mapping.\n define(function() {\n return platform;\n });\n }\n // Check for `exports` after `define` in case a build optimizer adds an `exports` object.\n else if (freeExports && freeModule) {\n // Export for CommonJS support.\n forOwn(platform, function(value, key) {\n freeExports[key] = value;\n });\n }\n else {\n // Export to the global object.\n root.platform = platform;\n }\n}.call(this));\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/adapter/adapter.js\n # Provides an empty object for later loaded adapter objects\n #\n # Product/Info:\n # https://jekyll.one\n #\n # Copyright (C) 2021 Juergen Adams\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n*/\n'use strict';\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-undef: \"off\" */\n// -----------------------------------------------------------------------------\n\n/*!\n * J1 Adapter\n * Copyright (C) 2021 Juergen Adams\n * Licensed under MIT License.\n */\nmodule.exports = (function ( j1, window ) {\n return {\n\n // -------------------------------------------------------------------------\n // _init_\n // Global initializer for the adapter object\n // -------------------------------------------------------------------------\n _init_: function () {\n return;\n } // END _init_\n\n }; // END return\n\n})( j1, window );\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/j1_template/core.js\n # Provides an empty object for later loaded core objects\n #\n # Product/Info:\n # https://jekyll.one\n # http://getbootstrap.com/\n #\n # Copyright (C) 2021 Juergen Adams\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n*/\n'use strict';\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-undef: \"off\" */\n// -----------------------------------------------------------------------------\n\n// module.exports = function core ( options ) {\n/*!\n * J1 Core\n * Copyright (C) 2021 Juergen Adams\n * Licensed under MIT License.\n */\nmodule.exports = (function (options) {\n\n // ---------------------------------------------------------------------------\n // Global variables\n // ---------------------------------------------------------------------------\n // var messageCatalog = {};\n // var state;\n // var logger;\n // var logText;\n\n // ---------------------------------------------------------------------------\n // Default settings\n // ---------------------------------------------------------------------------\n var settings = $.extend({\n foo: 'foo_option',\n bar: 'bar_option'\n }, options );\n\n var state = 'loaded';\n\n return {\n\n // -------------------------------------------------------------------------\n // _init_\n // Global initializer for the core object\n // -------------------------------------------------------------------------\n _init_: function (options) {\n\n //\n // Place handling of options here\n //\n\n return;\n }, // END _init_\n\n // -------------------------------------------------------------------------\n // Returns the current (processing) state of the module\n // -------------------------------------------------------------------------\n getState: function () {\n return state;\n }, // END state\n\n // -------------------------------------------------------------------------\n // isMobile\n // Return true if the current platform is a mobile device\n // -------------------------------------------------------------------------\n isMobile: function (ua_name) {\n var mobile = false;\n (function(a){if(/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\\/|capi|ccwa|cdm|cell|chtm|cldc|cmd|co(mp|nd)|craw|da(it|ll|ng)|dbte|dcs|devi|dica|dmob|do(c|p)o|ds(12|d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(|_)|g1 u|g560|gene|gf5|gmo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd(m|p|t)|hei|hi(pt|ta)|hp( i|ip)|hsc|ht(c(| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i(20|go|ma)|i230|iac( ||\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|[a-w])|libw|lynx|m1w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|mcr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|([1-8]|c))|phil|pire|pl(ay|uc)|pn2|po(ck|rt|se)|prox|psio|ptg|qaa|qc(07|12|21|32|60|[2-7]|i)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h|oo|p)|sdk\\/|se(c(|0|1)|47|mc|nd|ri)|sgh|shar|sie(|m)|sk0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h|v|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl|tdg|tel(i|m)|tim|tmo|to(pl|sh)|ts(70|m|m3|m5)|tx9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas|your|zeto|zte/i.test(a.substr(0,4))) mobile = true;})(navigator.userAgent||navigator.vendor||window.opera);\n return mobile;\n }, // END isMobile\n\n // -------------------------------------------------------------------------\n // Clear button for input fields (forms)\n // -------------------------------------------------------------------------\n bsFormClearButton: function () {\n// $('.position-relative :input').on('keydown focus', function() {\n $(':input').on('keydown focus change mouseover', function() {\n if ($(this).val().length > 0) {\n $(this).nextAll('.form-clear').removeClass('d-none');\n }\n }).on('keydown keyup blur', function() {\n if ($(this).val().length === 0) {\n $(this).nextAll('.form-clear').addClass('d-none');\n }\n });\n\n // $('.form-clear').on('click', function() {\n // $(this).addClass('d-none').prevAll(':input').val('');\n // // hide|clear results from top search\n // $('#search-results').hide();\n // $('#search-results').html('');\n // });\n }\n\n }; // end return (object)\n\n//})( jQuery, window );\n})(); // END IFFE\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/navigator/navigator.js\n # Provides all JavaScript core functions for J1 Navigator\n #\n # Product/Info:\n # https://jekyll.one\n # https://github.com/adamnurdin01/navigator\n #\n # Copyright (C) 2021 Juergen Adams\n # Copyright (C) 2016 adamnurdin01\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # Bootsnav is licensed under MIT License.\n # See: https://github.com/adamnurdin01/navigator\n #\n # -----------------------------------------------------------------------------\n # NOTE:\n # jadams, 2020-06-21:\n # J1 Navigator needs a general revision on BS4 code and functionalities\n # Current, only base function are tested with BS4 (was coded for BS3)\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-undef: \"off\" */\n// -----------------------------------------------------------------------------\n\n// -----------------------------------------------------------------------------\n// TODO: Height of dropdowns are to be limited in general\n\n// -----------------------------------------------------------------------------\n// Navigator core registered as 'j1.core.navigator'\n// -----------------------------------------------------------------------------\n\nmodule.exports = function navigator ( options ) {\n\n // ---------------------------------------------------------------------------\n // global vars\n // ---------------------------------------------------------------------------\n var message = {};\n var state;\n var logger;\n var logText;\n\n // -----------------------------------------------------------------------\n // default settings\n // -----------------------------------------------------------------------\n var settings = $.extend ({\n foo: 'bar',\n bar: 'foo',\n }, options );\n\n // ---------------------------------------------------------------------------\n // main object\n // ---------------------------------------------------------------------------\n return {\n\n // -------------------------------------------------------------------------\n // module initializer\n // -------------------------------------------------------------------------\n init: function( defaultOptions, menuOptions ) {\n logger = log4javascript.getLogger('j1.core.navigator');\n logText = 'core is being initialized';\n\n logger.info(logText);\n this.manageDropdownMenu(defaultOptions, menuOptions);\n this.navbarSticky();\n this.eventHandler(); // jadams, 2021-07-03: initialize events early\n\n message.type = 'command';\n message.action = 'core_initialized';\n message.text = 'navigator core initialized';\n j1.sendMessage( 'j1.core.navigator', 'j1.adapter.navigator', message );\n\n return true;\n },\n\n // -------------------------------------------------------------------------\n // event handler\n // -------------------------------------------------------------------------\n eventHandler: function() {\n var logger = log4javascript.getLogger('j1.core.navigator.eventHandler');\n var $getNav = $('nav.navbar.navigator');\n var json_data;\n // const seeMe = 'https://smee.io/wlNIFNiJN0GClm2';\n // const middleware = 'localhost:5000/state';\n // const web_server_dev = 'http://localhost:41000/status';\n // const utility_server = 'http://localhost:41001/git?request=pull';\n // var sender = seeMe;\n // var payload;\n\n // if (j1.checkUserAgent('IE') || j1.checkUserAgent('Edge')) {\n // logger.warn('HTML5 server side events (SSE) not supported for: ' + userAgent);\n // logger.warn('Middleware messages disabled');\n // } else {\n // const middleware_status = new EventSource(sender);\n //\n // // -----------------------------------------------------------------------\n // // middleware event handler ( SSE currently NOT used)\n // // -----------------------------------------------------------------------\n // middleware_status.onmessage = (event) => {\n // const payload = JSON.parse(event.data);\n //\n // logger.debug('middleware: event received');\n //\n // json_data = JSON.stringify(payload, undefined, 2);\n // logText = 'payload: ' + json_data;\n // logger.debug(logText);\n //\n // message.type = 'command';\n // message.action = 'status';\n // message.text = payload;\n // j1.sendMessage( 'j1.core.navigator', 'j1.adapter.navigator', message );\n //\n // return true;\n // }; // END event onMessage\n // }\n\n // bind click event to all links with \"#\" to suppress default action\n // See: https://stackoverflow.com/questions/134845/which-href-value-should-i-use-for-javascript-links-or-javascriptvoid0\n //\n $('a[href=\"#\"]').click(function(e) {\n e.preventDefault ? e.preventDefault() : e.returnValue = false;\n logger.info('bound click event to \"#\", suppress default action');\n });\n\n // -----------------------------------------------------------------------\n // Navbar Sticky\n // -----------------------------------------------------------------------\n var navSticky = $getNav.hasClass('navbar-sticky');\n if( navSticky ){\n // Wraped navigation\n $getNav.wrap('<div class=\\'wrap-sticky\\'></div>');\n }\n\n // -----------------------------------------------------------------------\n // Navbar Center\n // -----------------------------------------------------------------------\n if( $getNav.hasClass('brand-center') ){\n var postsArr = new Array();\n var index = $('nav.brand-center');\n var $postsList = index.find('ul.navbar-nav');\n\n //Create array of all posts in lists\n index.find('ul.navbar-nav > li').each(function(){\n postsArr.push($(this).html());\n });\n\n // Split the array at this point. The original array is altered.\n var firstList = postsArr.splice(0, Math.round(postsArr.length / 2));\n var secondList = postsArr;\n var ListHTML = '';\n\n var createHTML = function(list) {\n ListHTML = '';\n for (var i = 0; i < list.length; i++) {\n ListHTML += '<li>' + list[i] + '</li>';\n }\n };\n\n // Generate HTML for first list\n createHTML(firstList);\n $postsList.html(ListHTML);\n index.find('ul.nav').first().addClass('navbar-left');\n\n // Generate HTML for second list\n createHTML(secondList);\n //Create new list after original one\n $postsList.after('<ul class=\"nav navbar-nav\"></ul>').next().html(ListHTML);\n index.find('ul.nav').last().addClass('navbar-right');\n\n // Wrap navigation menu\n index.find('ul.nav.navbar-left').wrap('<div class=\\'col_half left\\'></div>');\n index.find('ul.nav.navbar-right').wrap('<div class=\\'col_half right\\'></div>');\n\n // Selection Class\n index.find('ul.navbar-nav > li').each(function() {\n var dropDown = $('ul.dropdown-menu', this),\n megaMenu = $('ul.megamenu-content', this);\n dropDown.closest('li').addClass('dropdown');\n megaMenu.closest('li').addClass('megamenu-fw');\n });\n }\n\n // -----------------------------------------------------------------------\n // Menu Center\n // -----------------------------------------------------------------------\n if( $getNav.find('ul.nav').hasClass('navbar-center')) {\n $getNav.addClass('menu-center');\n }\n\n // -----------------------------------------------------------------------\n // Navbar Full\n // -----------------------------------------------------------------------\n if( $getNav.hasClass('navbar-full')) {\n // Add Class to body\n $('nav.navbar.navigator').find('ul.nav').wrap('<div class=\\'wrap-full-menu\\'></div>');\n $('.wrap-full-menu').wrap('<div class=\\'nav-full\\'></div>');\n $('ul.nav.navbar-nav').prepend('<li class=\\'close-full-menu\\'><a href=\\'#\\'><i class=\\'mdi mdi-close\\'></i></a></li>');\n } else if( $getNav.hasClass('navbar-mobile') ) {\n $getNav.removeClass('no-full');\n } else {\n $getNav.addClass('no-full');\n }\n\n // -----------------------------------------------------------------------\n // Navbar Fixed\n // -----------------------------------------------------------------------\n if( $getNav.hasClass('no-background') ) {\n $(window).on('scroll', function() {\n var navbarHeighth = $('nav.navbar').outerHeight();\n var scrollPos = $(window).scrollTop();\n\n if (scrollPos > navbarHeighth) {\n $('.navbar-fixed').removeClass('no-background');\n } else {\n $('.navbar-fixed').addClass('no-background');\n }\n });\n }\n\n if( $getNav.hasClass('navbar-transparent') ) {\n $(window).on('scroll', function() {\n var navbarHeighth = $('nav.navbar').outerHeight();\n var scrollPos = $(window).scrollTop();\n\n if (scrollPos > navbarHeighth) {\n $('.navbar-fixed').removeClass('navbar-transparent');\n $('.navbar-fixed').addClass('navbar-scrolled');\n } else {\n $('.navbar-fixed').removeClass('navbar-scrolled');\n $('.navbar-fixed').addClass('navbar-transparent');\n }\n });\n }\n\n // -----------------------------------------------------------------------\n // Toggle Search\n // https://stackoverflow.com/questions/178325/how-do-i-check-if-an-element-is-hidden-in-jquery\n // https://stackoverflow.com/questions/4770025/how-to-disable-scrolling-temporarily\n // https://stackoverflow.com/questions/5963669/whats-the-difference-between-event-stoppropagation-and-event-preventdefault\n // -----------------------------------------------------------------------\n// $('nav.navbar.navigator .attr-nav').each(function() {\n $('.attr-nav').each(function() {\n logger.debug('register OPEN event|s for QuickSearch');\n $('li.search > a', this).on('click', function(e) {\n // e.preventDefault(); // don't do the default browser action\n logger.debug('manage search action OPEN');\n $('html,body').animate({scrollTop: 0}, 0);\n $('.top-search').slideToggle('slow', 'swing', function() {\n if ( $('.top-search').is(':visible') ) {\n // disable scrolling (desktop)\n $('body').addClass('stop-scrolling');\n // disable scrolling (mobile)\n $('body').bind('touchmove', function(e){e.preventDefault();});\n } else {\n // enable scrolling (desktop)\n $('body').removeClass('stop-scrolling');\n // enable scrolling (mobile)\n $('body').unbind('touchmove');\n }\n });\n // e.stopPropagation(); // don't bubble up the event\n });\n });\n logger.debug('register CLOSE event|s for QuickSearch');\n $('.input-group-addon.close-search').on('click', function(e) {\n e.preventDefault(); // don't do the default browser action\n logger.debug('manage search action CLOSE');\n $('.top-search').slideUp('slow', 'swing');\n $('html,body').animate({scrollTop: 0}, 0);\n // enable scrolling (desktop)\n $('body').removeClass('stop-scrolling');\n // enable scrolling (mobile)\n $('body').unbind('touchmove');\n e.stopPropagation(); // don't bubble up the event\n });\n\n // -----------------------------------------------------------------------\n // Toggle Translator SHOW|HIDE\n // -----------------------------------------------------------------------\n $('nav.navbar.navigator .attr-nav').each(function() {\n logger.debug('register SHOW|HIDE event|s for J1 Translator');\n $('li.translator > a', this).on('click', function(e) {\n // e.preventDefault(); // don't do the default browser action\n // window.location.reload(true);\n logger.debug('toggle translator icon SHOW|HIDE');\n // See: https://api.jquery.com/toggle/\n // With no parameters, the .toggle() method simply toggles the visibility of elements\n $('#google_translate_element').toggle();\n if ($('#google_translate_element').css('display') !== 'none') {\n $('html,body').animate({scrollTop: 0}, 'slow');\n }\n // e.stopPropagation(); // don't bubble up the event\n });\n });\n\n // -----------------------------------------------------------------------\n // Wrapper\n // -----------------------------------------------------------------------\n $('body').wrapInner( '<div class=\\'wrapper\\'></div>');\n\n }, // end event\n\n // -------------------------------------------------------------------------\n // Manage the Menu Dropdowns for Desktop|Mobile\n // -------------------------------------------------------------------------\n manageDropdownMenu : function( defaultOptions, menuOptions ) {\n\n var navDefaultOptions = defaultOptions;\n var navMenuOptions = menuOptions;\n\n var $getNav = $('nav.navbar.navigator');\n var $windowOrientation = window.matchMedia('(orientation: landscape)').matches ? 'landscape' : 'portrait';\n var $getWindow = $(window).width();\n var $getNavWidth = $('nav').width();\n var $getIn = $getNav.find('ul.nav').data('in');\n var $getOut = $getNav.find('ul.nav').data('out');\n\n var menuSelector = '#' +navMenuOptions.xhr_container_id+ '.collapse';\n var delayMenuOpen = navMenuOptions.delay_menu_open;\n\n var $menu;\n var breakPoint;\n var $dropDown;\n var timeoutHandle;\n\n // BS4 @media MAX breakpoints\n // NOTE: a media query is always a range\n // -----------------------------------------------------------------------\n var gridBreakpoint_lg = 992; // bs-breakpoint-lg\n var gridBreakpoint_md = 768; // bs-breakpoint-md\n var gridBreakpoint_sm = 576; // bs-breakpoint-sm\n\n // BS4 @media MIN breakpoints\n // -----------------------------------------------------------------------\n // NOTE: a media query is always a range\n // var gridBreakpoint_lg = 991;\n // var gridBreakpoint_md = 767;\n // var gridBreakpoint_sm = 575;\n\n // @media ranges\n // -----------------------------------------------------------------------\n var small_range = {min: '0em', max: '40em'}; /* 0, 640px */\n var medium_range = {min: '40.063em', max: '64em'}; /* 641px, 1024px */\n var large_range = {min: '64.063em', max: '90em'}; /* 1025px, 1440px */\n var xlarge_range = {min: '90.063em', max: '120em'}; /* 1441px, 1920px */\n var xxlarge_range = {min: '120.063em'}; /* 1921px */\n\n\n // jadams, 2019-05-01: Set Media Breakpoint for Desktop|Mobile Navigation\n if ( navDefaultOptions.nav_bar.media_breakpoint === 'lg' ) {\n breakPoint = gridBreakpoint_lg;\n } else if ( navDefaultOptions.nav_bar.media_breakpoint === 'md' ) {\n breakPoint = gridBreakpoint_md;\n } else if ( navDefaultOptions.nav_bar.media_breakpoint === 'sm' ) {\n breakPoint = gridBreakpoint_sm;\n } else{\n breakPoint = gridBreakpoint_lg;\n }\n\n // -----------------------------------------------------------------------\n // Tablet or Mobile\n // NOTE:\n // Managing the mobile menu is moved to MMenu Plugin\n // Only base functions like QuickLinks are managed by\n // J1 Navigator\n // -----------------------------------------------------------------------\n // MIN media breakpoint\n if ( $getWindow <= breakPoint ) {\n\n // Collapse Navbar\n $(menuSelector).addClass('navbar-collapse');\n $(menuSelector).removeClass('show'); //\n $('#navigator_nav_quicklinks').addClass('show');\n\n // Enable click Quicklink Navigation\n $('nav.navbar.navigator .attr-nav').each(function() {\n $('.dropdown-menu', this).removeClass('animated');\n $('li.dropdown', this).off('mouseenter');\n $('li.dropdown', this).off('mouseleave');\n $('a.dropdown-toggle', this).off('click');\n $('a.dropdown-toggle', this).on('click', function (e) {\n // e.stopPropagation(); // don't bubble up the event\n $(this).closest('li.dropdown').find('.dropdown-menu').first().stop().fadeToggle();\n $('.navbar-toggle').each(function(){\n $('.mdi', this).removeClass('mdi-close');\n $('.mdi', this).addClass('mdi-menu');\n $('.navbar-collapse').removeClass('in');\n $('.navbar-collapse').removeClass('open');\n });\n });\n\n $(this).on('mouseleave', function(){\n $('.dropdown-menu', this).stop().fadeOut();\n $('li.dropdown', this).removeClass('open');\n // return false;\n });\n });\n\n $('#desktop_menu').hide();\n\n // -----------------------------------------------------------------------\n // Desktop Navigation does NOT work on physical devices like iPad|Pro\n // Config DISABLED\n //\n// } else if ( $getWindow > breakPoint || $getWindow <= 1024 && $windowOrientation == 'portrait' ) {\n } else if ( $getWindow > breakPoint ) {\n // -----------------------------------------------------------------------\n // Desktop\n // -----------------------------------------------------------------------\n $('#navigator_nav_quicklinks').removeClass('show');\n $('#desktop_menu').show();\n\n // jadams, 2021-03-05: manage dropdown menus\n // ---------------------------------------------------------------------\n\n $('.dropdown-menu > li').on('mouseenter', function(){\n if ($('body').hasClass('stop-scrolling')){\n return false;\n } else {\n $('body').addClass('stop-scrolling');\n }\n });\n\n $('.dropdown-menu > li').on('mouseleave', function(){\n // stop scrolling if top search or any (mmenu) drawer is opened\n if ($('body').hasClass('stop-scrolling')){\n $('body').removeClass('stop-scrolling');\n }\n });\n\n // limit the dropdown menu lenght if needed\n $('.dropdown-menu > li').hover(function() {\n var $container = $(this);\n var $list = $container.find('ul');\n\n // limit LAST menu ONLY\n //\n if ( $list.length == 1 ) {\n $list.addClass('scrollable-menu');\n }\n });\n\n // jadams, 2021-03-06: Enable|Show Desktop Menu|s\n //\n $(menuSelector).removeClass('navbar-collapse');\n $(menuSelector).addClass('show');\n\n // Navbar Sidebar\n // jadams, 2021-03-05: Sidebar NOT used anymore\n\n // Open Desktop Menu|s on hover\n //\n $('nav.navbar.navigator ul.nav').each(function() {\n $('a.dropdown-toggle', this).off('click');\n $('a.dropdown-toggle', this).on('click', function (e) {\n // e.stopPropagation(); // don't bubble up the event\n });\n\n $('.megamenu-fw', this).each(function(){\n $('.title', this).off('click');\n $('a.dropdown-toggle', this).off('click');\n $('.content').removeClass('animated');\n });\n $('.dropdown-menu', this).addClass('animated');\n\n $('li.dropdown', this).on('mouseenter', function(){\n $menu = $('.dropdown-menu', this).eq(0);\n $dropDown = $(this);\n\n $menu.removeClass($getOut);\n $menu.removeClass('open');\n $dropDown.addClass('open');\n // Get|Set the timeout object to delay the dropdown open\n timeoutHandle = window.setTimeout(function () {\n if ($dropDown.hasClass('open')){\n $menu.stop().fadeIn().addClass($getIn);\n $menu.addClass('open');\n $dropDown.addClass('open');\n }\n }, delayMenuOpen);\n });\n\n $('li.dropdown', this).on('mouseleave', function(){\n window.clearTimeout(timeoutHandle); // Clear the timeout object\n $(this).removeClass('open').removeClass('open');\n\n $('.dropdown-menu', this).removeClass('open');\n $('.dropdown-menu', this).eq(0).removeClass($getIn);\n $('.dropdown-menu', this).eq(0).stop().fadeOut().addClass($getOut);\n });\n\n $(this).on('mouseleave', function(){\n window.clearTimeout(timeoutHandle);\n $('li.dropdown', this).removeClass('open');\n $('.dropdown-menu', this).removeClass('open');\n $('.dropdown-menu', this).removeClass($getIn);\n $('.dropdown-menu', this).eq(0).stop().fadeOut().addClass($getOut);\n });\n }); // END Desktop Menu\n\n } // end Desktop\n\n // -----------------------------------------------------------------------\n // Hover Open on Quicklink Navigation\n // -----------------------------------------------------------------------\n $('nav.navbar.navigator .attr-nav').each(function() {\n\n $('a.dropdown-toggle', this).off('click');\n $('a.dropdown-toggle', this).on('click', function (e) {\n // e.stopPropagation(); // don't bubble up the event\n });\n\n $('.dropdown-menu', this).addClass('animated');\n $('li.dropdown', this).on('mouseenter', function(){\n $('.dropdown-menu', this).eq(0).removeClass($getOut);\n $('.dropdown-menu', this).eq(0).stop().fadeIn().addClass($getIn);\n $(this).addClass('open');\n //return false;\n });\n\n $('li.dropdown', this).on('mouseleave', function(){\n $('.dropdown-menu', this).eq(0).removeClass($getIn);\n $('.dropdown-menu', this).eq(0).stop().fadeOut().addClass($getOut);\n $(this).removeClass('open');\n });\n\n $(this).on('mouseleave', function(){\n $('.dropdown-menu', this).removeClass($getIn);\n $('.dropdown-menu', this).eq(0).stop().fadeOut().addClass($getOut);\n $('li.dropdown', this).removeClass('open');\n //return false;\n });\n });\n\n // -----------------------------------------------------------------------\n // Fullscreen Menu\n // -----------------------------------------------------------------------\n if( $getNav.hasClass('navbar-full')){\n var windowHeight = $(window).height(),\n windowWidth = $(window).width();\n\n $('.nav-full').css('height', windowHeight + 'px');\n $('.wrap-full-menu').css('height', windowHeight + 'px');\n $('.wrap-full-menu').css('width', windowWidth + 'px');\n\n $('.navbar-collapse').addClass('animated');\n $('.navbar-toggle').each(function(){\n var getId = $(this).data('target');\n $(this).off('click');\n $(this).on('click', function(e){\n e.preventDefault();\n $(getId).removeClass($getOut);\n $(getId).addClass('in');\n $(getId).addClass($getIn);\n // e.stopPropagation(); // don't bubble up the event\n // return false;\n });\n\n $('li.close-full-menu').on('click', function(e){\n e.preventDefault();\n $(getId).addClass($getOut);\n setTimeout(function(){\n $(getId).removeClass('in');\n $(getId).removeClass($getIn);\n }, 500);\n //e.stopPropagation(); // don't bubble up the event\n // return false;\n });\n });\n }\n }, // end manageDropdownMenu\n\n // -------------------------------------------------------------------------\n // Sticky Navbar\n // -------------------------------------------------------------------------\n navbarSticky : function() {\n var $getNav = $('nav.navbar.navigator'),\n navSticky = $getNav.hasClass('navbar-sticky');\n\n if (navSticky) {\n // Set Height Navigation\n var $getHeight = $getNav.height();\n $('.wrap-sticky').height($getHeight);\n\n // Windown on scroll\n var getOffset = $('.wrap-sticky').offset().top;\n $(window).on('scroll', function(){\n var scrollTop = $(window).scrollTop();\n if(scrollTop > getOffset){\n $getNav.addClass('sticked');\n }else {\n $getNav.removeClass('sticked');\n }\n });\n }\n }, // end navbarSticky\n\n // -------------------------------------------------------------------------\n // updateSidebar\n // Note:\n // -------------------------------------------------------------------------\n updateSidebar: function (user_data) {\n var logger = log4javascript.getLogger('j1.core.navigator.updateSidebar');\n var json_message;\n\n// json_message = JSON.stringify(user_data, undefined, 2); // multiline\n json_message = JSON.stringify(user_data);\n logText = 'user state data: ' + json_message;\n logger.debug(logText);\n\n // Replace Macro placeholders to values\n j1.resolveMacros(user_data);\n // Replace Macro values only\n j1.updateMacros(user_data);\n\n return true;\n\n }, // END updateSidebar\n\n }; // end return (object)\n}( jQuery );\n","/*\n # -----------------------------------------------------------------------------\n # ~200_template_js/js/asciidoctor/asciidoctor.js\n # Provides JS functions to (dynamically) modify Asciidoctor HTML elements\n #\n # Product/Info:\n # http://jekyll.one\n #\n # Copyright (C) 2021 Juergen Adams\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one/J1 Template/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n # NOTE:\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint no-redeclare: \"off\" */\n/* global window */\n\n// TODO:\n\n// -----------------------------------------------------------------------------\n// J1 Asciidoctor registered as \"asciidoctor\"\n// -----------------------------------------------------------------------------\n/*!\n * J1 Asciidoctor\n * Copyright (C) 2021 Juergen Adams\n * Licensed under MIT License.\n */\nmodule.exports = function asciidoctor (options) {\n\n return {\n\n // -------------------------------------------------------------------------\n // module initializer\n // -------------------------------------------------------------------------\n init: function (options) {\n\n var moduleOptions = options;\n var logger = log4javascript.getLogger('j1.core.asciidoctor');\n\n var moduleDefaults = {\n dummyOption: false, // placeholder\n };\n var options = $.extend(moduleDefaults,moduleOptions);\n\n logText = 'J1 Asciidoctor is being initialized';\n logger.info(logText);\n\n this.callouts();\n\n }, // end initializer\n\n // -------------------------------------------------------------------------\n // manage callouts (HTML)\n // -------------------------------------------------------------------------\n // see: https://stackoverflow.com/questions/19393493/add-colgroup-for-each-table-column\n callouts: function( options ) {\n var colgroupList = '';\n\n // If the colist does not have a <colgroup> structure\n //\n \tif($('.colist > table > colgroup').length == 0) {\n colgroupList += '<!-- [INFO ] [j1.core.asciidoctor ] [ place a colgroup dynamically ] -->' + '\\n';\n colgroupList += '<colgroup> <col style=\"width: 5%;\"> <col style=\"width: 95%;\"> </colgroup>';\n \t\t$(\".colist > table\").prepend(colgroupList);\n }\n\n }, // end callouts\n\n // -------------------------------------------------------------------------\n // manage callouts (HTML)\n // -------------------------------------------------------------------------\n conums: function( options ) {\n var dependencies_met_page_finished = setInterval(function() {\n if (j1.getState() == 'finished') {\n // If the colist does not have a <colgroup> structure\n \tif($('.colist > table > colgroup').length == 0) {\n\n \t\tvar colgroupList = '';\n colgroupList += '<colgroup> <col style=\"width: 5%;\"> <col style=\"width: 95%;\"> </colgroup>';\n\n \t\t$(\".colist > table\").prepend(colgroupList);\n clearInterval(dependencies_met_page_finished);\n \t}\n }\n });\n }, // end conums\n\n }; // END return\n}( jQuery );\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/scroll-smooth/scroll-smooth.js\n # Provides Javascript functions for smooth scrolling\n #\n # Product/Info:\n # http://jekyll.one\n #\n # Copyright (C) 2020 Juergen Adams\n #\n # J1 Template is licensed under the MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n*/\n'use strict';\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint no-redeclare: \"off\" */\n/* eslint indent: \"off\" */\n// -----------------------------------------------------------------------------\n\n// -----------------------------------------------------------------------------\n// scrollSmooth core registered as \"scrollSmooth\"\n// -----------------------------------------------------------------------------\nmodule.exports = function scrollSmooth ( options ) {\n\n // Default settings\n var settings = $.extend({\n foo: 'foo_option',\n bar: 'bar_option'\n }, options );\n\n // -----------------------------------------------------------------------\n // Helper functions\n // -----------------------------------------------------------------------\n function stripHash (url) {\n return url.slice(0, url.lastIndexOf('#'));\n }\n\n function isCssSmoothScrollSupported () {\n return 'scrollBehavior' in document.documentElement.style;\n }\n\n return {\n // -------------------------------------------------------------------------\n // Initialize scrollSmooth\n // -------------------------------------------------------------------------\n scroll: function ( target, options ) {\n\n var logger;\n var logText;\n\n logger = log4javascript.getLogger('j1.core.scrollSmooth');\n\n // indicator|check currently NOT used\n // if (isCssSmoothScrollSupported()) { }\n\n logText = 'run module scrollSmooth';\n logger.info(logText);\n\n var duration = options.duration;\n var offset = options.offset;\n\n // var pageUrl = options.location.hash\n // ? stripHash(options.location.href)\n // : options.location.href;\n\n this.scrollTo(target, {\n duration: duration,\n offset: offset,\n callback: null\n });\n\n logText = 'scrollSmooth finished';\n logger.info(logText);\n },\n\n // -------------------------------------------------------------------------\n // scrollTo\n // -------------------------------------------------------------------------\n scrollTo: function ( target, options ) {\n var start = window.pageYOffset;\n var opt = {\n duration: options.duration,\n offset: options.offset || 0,\n callback: options.callback,\n easing: options.easing || easeInOutQuad\n };\n\n // This makes ids that start with a number work: ('[id=\"' + decodeURI(target).split('#').join('') + '\"]')\n // DecodeURI for nonASCII hashes, they was encoded, but id was not encoded, it lead to not finding the tgt element by id.\n // And this is for IE: document.body.scrollTop\n var tgt = document.querySelector('[id=\"' + decodeURI(target).split('#').join('') + '\"]');\n var distance = typeof target === 'string'\n ? opt.offset + (\n target\n ? (tgt && tgt.getBoundingClientRect().top) || 0 // handle non-existent links better.\n : -(document.documentElement.scrollTop || document.body.scrollTop))\n : target;\n var duration = typeof opt.duration === 'function'\n ? opt.duration(distance)\n : opt.duration;\n var timeStart;\n var timeElapsed;\n\n requestAnimationFrame(function (time) { timeStart = time; loop(time); });\n function loop (time) {\n timeElapsed = time - timeStart;\n\n window.scrollTo(0, opt.easing(timeElapsed, start, distance, duration));\n\n if (timeElapsed < duration) { requestAnimationFrame(loop); } else { end(); }\n }\n\n function end () {\n window.scrollTo(0, start + distance);\n\n // jadams, 2020-07-04: on (some?) mobile devices, the navbar\n // background is NOT switched (always?) correctly on a\n // page RELOAD.\n //\n // Solution: scroll the page one pixel back and forth (trigger)\n // to get the right position for the Toccer and adjust the\n // Navigator to display the (tranparent) navbar correctly based\n // on their onscroll events registered.\n //\n $(window).scrollTop($(window).scrollTop()+1);\n $(window).scrollTop($(window).scrollTop()-1);\n\n if (typeof opt.callback === 'function') { opt.callback(); }\n }\n\n // Robert Penner's easeInOutQuad - http://robertpenner.com/easing/\n function easeInOutQuad (t, b, c, d) {\n t /= d / 2;\n if (t < 1) return c / 2 * t * t + b;\n t--;\n return -c / 2 * (t * (t - 2) - 1) + b;\n }\n } // END scrollTo\n\n }; // END return\n}( jQuery );\n","/*\n * anime.js v3.2.0\n * (c) 2020 Julian Garnier\n * Released under the MIT license\n * animejs.com\n */\n\n'use strict';\n\n// Defaults\n\nvar defaultInstanceSettings = {\n update: null,\n begin: null,\n loopBegin: null,\n changeBegin: null,\n change: null,\n changeComplete: null,\n loopComplete: null,\n complete: null,\n loop: 1,\n direction: 'normal',\n autoplay: true,\n timelineOffset: 0\n};\n\nvar defaultTweenSettings = {\n duration: 1000,\n delay: 0,\n endDelay: 0,\n easing: 'easeOutElastic(1, .5)',\n round: 0\n};\n\nvar validTransforms = ['translateX', 'translateY', 'translateZ', 'rotate', 'rotateX', 'rotateY', 'rotateZ', 'scale', 'scaleX', 'scaleY', 'scaleZ', 'skew', 'skewX', 'skewY', 'perspective', 'matrix', 'matrix3d'];\n\n// Caching\n\nvar cache = {\n CSS: {},\n springs: {}\n};\n\n// Utils\n\nfunction minMax(val, min, max) {\n return Math.min(Math.max(val, min), max);\n}\n\nfunction stringContains(str, text) {\n return str.indexOf(text) > -1;\n}\n\nfunction applyArguments(func, args) {\n return func.apply(null, args);\n}\n\nvar is = {\n arr: function (a) { return Array.isArray(a); },\n obj: function (a) { return stringContains(Object.prototype.toString.call(a), 'Object'); },\n pth: function (a) { return is.obj(a) && a.hasOwnProperty('totalLength'); },\n svg: function (a) { return a instanceof SVGElement; },\n inp: function (a) { return a instanceof HTMLInputElement; },\n dom: function (a) { return a.nodeType || is.svg(a); },\n str: function (a) { return typeof a === 'string'; },\n fnc: function (a) { return typeof a === 'function'; },\n und: function (a) { return typeof a === 'undefined'; },\n hex: function (a) { return /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(a); },\n rgb: function (a) { return /^rgb/.test(a); },\n hsl: function (a) { return /^hsl/.test(a); },\n col: function (a) { return (is.hex(a) || is.rgb(a) || is.hsl(a)); },\n key: function (a) { return !defaultInstanceSettings.hasOwnProperty(a) && !defaultTweenSettings.hasOwnProperty(a) && a !== 'targets' && a !== 'keyframes'; }\n};\n\n// Easings\n\nfunction parseEasingParameters(string) {\n var match = /\\(([^)]+)\\)/.exec(string);\n return match ? match[1].split(',').map(function (p) { return parseFloat(p); }) : [];\n}\n\n// Spring solver inspired by Webkit Copyright © 2016 Apple Inc. All rights reserved. https://webkit.org/demos/spring/spring.js\n\nfunction spring(string, duration) {\n\n var params = parseEasingParameters(string);\n var mass = minMax(is.und(params[0]) ? 1 : params[0], .1, 100);\n var stiffness = minMax(is.und(params[1]) ? 100 : params[1], .1, 100);\n var damping = minMax(is.und(params[2]) ? 10 : params[2], .1, 100);\n var velocity = minMax(is.und(params[3]) ? 0 : params[3], .1, 100);\n var w0 = Math.sqrt(stiffness / mass);\n var zeta = damping / (2 * Math.sqrt(stiffness * mass));\n var wd = zeta < 1 ? w0 * Math.sqrt(1 - zeta * zeta) : 0;\n var a = 1;\n var b = zeta < 1 ? (zeta * w0 + -velocity) / wd : -velocity + w0;\n\n function solver(t) {\n var progress = duration ? (duration * t) / 1000 : t;\n if (zeta < 1) {\n progress = Math.exp(-progress * zeta * w0) * (a * Math.cos(wd * progress) + b * Math.sin(wd * progress));\n } else {\n progress = (a + b * progress) * Math.exp(-progress * w0);\n }\n if (t === 0 || t === 1) { return t; }\n return 1 - progress;\n }\n\n function getDuration() {\n var cached = cache.springs[string];\n if (cached) { return cached; }\n var frame = 1/6;\n var elapsed = 0;\n var rest = 0;\n while(true) {\n elapsed += frame;\n if (solver(elapsed) === 1) {\n rest++;\n if (rest >= 16) { break; }\n } else {\n rest = 0;\n }\n }\n var duration = elapsed * frame * 1000;\n cache.springs[string] = duration;\n return duration;\n }\n\n return duration ? solver : getDuration;\n\n}\n\n// Basic steps easing implementation https://developer.mozilla.org/fr/docs/Web/CSS/transition-timing-function\n\nfunction steps(steps) {\n if ( steps === void 0 ) steps = 10;\n\n return function (t) { return Math.ceil((minMax(t, 0.000001, 1)) * steps) * (1 / steps); };\n}\n\n// BezierEasing https://github.com/gre/bezier-easing\n\nvar bezier = (function () {\n\n var kSplineTableSize = 11;\n var kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);\n\n function A(aA1, aA2) { return 1.0 - 3.0 * aA2 + 3.0 * aA1 }\n function B(aA1, aA2) { return 3.0 * aA2 - 6.0 * aA1 }\n function C(aA1) { return 3.0 * aA1 }\n\n function calcBezier(aT, aA1, aA2) { return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT }\n function getSlope(aT, aA1, aA2) { return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1) }\n\n function binarySubdivide(aX, aA, aB, mX1, mX2) {\n var currentX, currentT, i = 0;\n do {\n currentT = aA + (aB - aA) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - aX;\n if (currentX > 0.0) { aB = currentT; } else { aA = currentT; }\n } while (Math.abs(currentX) > 0.0000001 && ++i < 10);\n return currentT;\n }\n\n function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {\n for (var i = 0; i < 4; ++i) {\n var currentSlope = getSlope(aGuessT, mX1, mX2);\n if (currentSlope === 0.0) { return aGuessT; }\n var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n aGuessT -= currentX / currentSlope;\n }\n return aGuessT;\n }\n\n function bezier(mX1, mY1, mX2, mY2) {\n\n if (!(0 <= mX1 && mX1 <= 1 && 0 <= mX2 && mX2 <= 1)) { return; }\n var sampleValues = new Float32Array(kSplineTableSize);\n\n if (mX1 !== mY1 || mX2 !== mY2) {\n for (var i = 0; i < kSplineTableSize; ++i) {\n sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\n }\n }\n\n function getTForX(aX) {\n\n var intervalStart = 0;\n var currentSample = 1;\n var lastSample = kSplineTableSize - 1;\n\n for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) {\n intervalStart += kSampleStepSize;\n }\n\n --currentSample;\n\n var dist = (aX - sampleValues[currentSample]) / (sampleValues[currentSample + 1] - sampleValues[currentSample]);\n var guessForT = intervalStart + dist * kSampleStepSize;\n var initialSlope = getSlope(guessForT, mX1, mX2);\n\n if (initialSlope >= 0.001) {\n return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\n } else if (initialSlope === 0.0) {\n return guessForT;\n } else {\n return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\n }\n\n }\n\n return function (x) {\n if (mX1 === mY1 && mX2 === mY2) { return x; }\n if (x === 0 || x === 1) { return x; }\n return calcBezier(getTForX(x), mY1, mY2);\n }\n\n }\n\n return bezier;\n\n})();\n\nvar penner = (function () {\n\n // Based on jQuery UI's implemenation of easing equations from Robert Penner (http://www.robertpenner.com/easing)\n\n var eases = { linear: function () { return function (t) { return t; }; } };\n\n var functionEasings = {\n Sine: function () { return function (t) { return 1 - Math.cos(t * Math.PI / 2); }; },\n Circ: function () { return function (t) { return 1 - Math.sqrt(1 - t * t); }; },\n Back: function () { return function (t) { return t * t * (3 * t - 2); }; },\n Bounce: function () { return function (t) {\n var pow2, b = 4;\n while (t < (( pow2 = Math.pow(2, --b)) - 1) / 11) {}\n return 1 / Math.pow(4, 3 - b) - 7.5625 * Math.pow(( pow2 * 3 - 2 ) / 22 - t, 2)\n }; },\n Elastic: function (amplitude, period) {\n if ( amplitude === void 0 ) amplitude = 1;\n if ( period === void 0 ) period = .5;\n\n var a = minMax(amplitude, 1, 10);\n var p = minMax(period, .1, 2);\n return function (t) {\n return (t === 0 || t === 1) ? t : \n -a * Math.pow(2, 10 * (t - 1)) * Math.sin((((t - 1) - (p / (Math.PI * 2) * Math.asin(1 / a))) * (Math.PI * 2)) / p);\n }\n }\n };\n\n var baseEasings = ['Quad', 'Cubic', 'Quart', 'Quint', 'Expo'];\n\n baseEasings.forEach(function (name, i) {\n functionEasings[name] = function () { return function (t) { return Math.pow(t, i + 2); }; };\n });\n\n Object.keys(functionEasings).forEach(function (name) {\n var easeIn = functionEasings[name];\n eases['easeIn' + name] = easeIn;\n eases['easeOut' + name] = function (a, b) { return function (t) { return 1 - easeIn(a, b)(1 - t); }; };\n eases['easeInOut' + name] = function (a, b) { return function (t) { return t < 0.5 ? easeIn(a, b)(t * 2) / 2 : \n 1 - easeIn(a, b)(t * -2 + 2) / 2; }; };\n });\n\n return eases;\n\n})();\n\nfunction parseEasings(easing, duration) {\n if (is.fnc(easing)) { return easing; }\n var name = easing.split('(')[0];\n var ease = penner[name];\n var args = parseEasingParameters(easing);\n switch (name) {\n case 'spring' : return spring(easing, duration);\n case 'cubicBezier' : return applyArguments(bezier, args);\n case 'steps' : return applyArguments(steps, args);\n default : return applyArguments(ease, args);\n }\n}\n\n// Strings\n\nfunction selectString(str) {\n try {\n var nodes = document.querySelectorAll(str);\n return nodes;\n } catch(e) {\n return;\n }\n}\n\n// Arrays\n\nfunction filterArray(arr, callback) {\n var len = arr.length;\n var thisArg = arguments.length >= 2 ? arguments[1] : void 0;\n var result = [];\n for (var i = 0; i < len; i++) {\n if (i in arr) {\n var val = arr[i];\n if (callback.call(thisArg, val, i, arr)) {\n result.push(val);\n }\n }\n }\n return result;\n}\n\nfunction flattenArray(arr) {\n return arr.reduce(function (a, b) { return a.concat(is.arr(b) ? flattenArray(b) : b); }, []);\n}\n\nfunction toArray(o) {\n if (is.arr(o)) { return o; }\n if (is.str(o)) { o = selectString(o) || o; }\n if (o instanceof NodeList || o instanceof HTMLCollection) { return [].slice.call(o); }\n return [o];\n}\n\nfunction arrayContains(arr, val) {\n return arr.some(function (a) { return a === val; });\n}\n\n// Objects\n\nfunction cloneObject(o) {\n var clone = {};\n for (var p in o) { clone[p] = o[p]; }\n return clone;\n}\n\nfunction replaceObjectProps(o1, o2) {\n var o = cloneObject(o1);\n for (var p in o1) { o[p] = o2.hasOwnProperty(p) ? o2[p] : o1[p]; }\n return o;\n}\n\nfunction mergeObjects(o1, o2) {\n var o = cloneObject(o1);\n for (var p in o2) { o[p] = is.und(o1[p]) ? o2[p] : o1[p]; }\n return o;\n}\n\n// Colors\n\nfunction rgbToRgba(rgbValue) {\n var rgb = /rgb\\((\\d+,\\s*[\\d]+,\\s*[\\d]+)\\)/g.exec(rgbValue);\n return rgb ? (\"rgba(\" + (rgb[1]) + \",1)\") : rgbValue;\n}\n\nfunction hexToRgba(hexValue) {\n var rgx = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n var hex = hexValue.replace(rgx, function (m, r, g, b) { return r + r + g + g + b + b; } );\n var rgb = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n var r = parseInt(rgb[1], 16);\n var g = parseInt(rgb[2], 16);\n var b = parseInt(rgb[3], 16);\n return (\"rgba(\" + r + \",\" + g + \",\" + b + \",1)\");\n}\n\nfunction hslToRgba(hslValue) {\n var hsl = /hsl\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%\\)/g.exec(hslValue) || /hsla\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%,\\s*([\\d.]+)\\)/g.exec(hslValue);\n var h = parseInt(hsl[1], 10) / 360;\n var s = parseInt(hsl[2], 10) / 100;\n var l = parseInt(hsl[3], 10) / 100;\n var a = hsl[4] || 1;\n function hue2rgb(p, q, t) {\n if (t < 0) { t += 1; }\n if (t > 1) { t -= 1; }\n if (t < 1/6) { return p + (q - p) * 6 * t; }\n if (t < 1/2) { return q; }\n if (t < 2/3) { return p + (q - p) * (2/3 - t) * 6; }\n return p;\n }\n var r, g, b;\n if (s == 0) {\n r = g = b = l;\n } else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1/3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1/3);\n }\n return (\"rgba(\" + (r * 255) + \",\" + (g * 255) + \",\" + (b * 255) + \",\" + a + \")\");\n}\n\nfunction colorToRgb(val) {\n if (is.rgb(val)) { return rgbToRgba(val); }\n if (is.hex(val)) { return hexToRgba(val); }\n if (is.hsl(val)) { return hslToRgba(val); }\n}\n\n// Units\n\nfunction getUnit(val) {\n var split = /[+-]?\\d*\\.?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(val);\n if (split) { return split[1]; }\n}\n\nfunction getTransformUnit(propName) {\n if (stringContains(propName, 'translate') || propName === 'perspective') { return 'px'; }\n if (stringContains(propName, 'rotate') || stringContains(propName, 'skew')) { return 'deg'; }\n}\n\n// Values\n\nfunction getFunctionValue(val, animatable) {\n if (!is.fnc(val)) { return val; }\n return val(animatable.target, animatable.id, animatable.total);\n}\n\nfunction getAttribute(el, prop) {\n return el.getAttribute(prop);\n}\n\nfunction convertPxToUnit(el, value, unit) {\n var valueUnit = getUnit(value);\n if (arrayContains([unit, 'deg', 'rad', 'turn'], valueUnit)) { return value; }\n var cached = cache.CSS[value + unit];\n if (!is.und(cached)) { return cached; }\n var baseline = 100;\n var tempEl = document.createElement(el.tagName);\n var parentEl = (el.parentNode && (el.parentNode !== document)) ? el.parentNode : document.body;\n parentEl.appendChild(tempEl);\n tempEl.style.position = 'absolute';\n tempEl.style.width = baseline + unit;\n var factor = baseline / tempEl.offsetWidth;\n parentEl.removeChild(tempEl);\n var convertedUnit = factor * parseFloat(value);\n cache.CSS[value + unit] = convertedUnit;\n return convertedUnit;\n}\n\nfunction getCSSValue(el, prop, unit) {\n if (prop in el.style) {\n var uppercasePropName = prop.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n var value = el.style[prop] || getComputedStyle(el).getPropertyValue(uppercasePropName) || '0';\n return unit ? convertPxToUnit(el, value, unit) : value;\n }\n}\n\nfunction getAnimationType(el, prop) {\n if (is.dom(el) && !is.inp(el) && (getAttribute(el, prop) || (is.svg(el) && el[prop]))) { return 'attribute'; }\n if (is.dom(el) && arrayContains(validTransforms, prop)) { return 'transform'; }\n if (is.dom(el) && (prop !== 'transform' && getCSSValue(el, prop))) { return 'css'; }\n if (el[prop] != null) { return 'object'; }\n}\n\nfunction getElementTransforms(el) {\n if (!is.dom(el)) { return; }\n var str = el.style.transform || '';\n var reg = /(\\w+)\\(([^)]*)\\)/g;\n var transforms = new Map();\n var m; while (m = reg.exec(str)) { transforms.set(m[1], m[2]); }\n return transforms;\n}\n\nfunction getTransformValue(el, propName, animatable, unit) {\n var defaultVal = stringContains(propName, 'scale') ? 1 : 0 + getTransformUnit(propName);\n var value = getElementTransforms(el).get(propName) || defaultVal;\n if (animatable) {\n animatable.transforms.list.set(propName, value);\n animatable.transforms['last'] = propName;\n }\n return unit ? convertPxToUnit(el, value, unit) : value;\n}\n\nfunction getOriginalTargetValue(target, propName, unit, animatable) {\n switch (getAnimationType(target, propName)) {\n case 'transform': return getTransformValue(target, propName, animatable, unit);\n case 'css': return getCSSValue(target, propName, unit);\n case 'attribute': return getAttribute(target, propName);\n default: return target[propName] || 0;\n }\n}\n\nfunction getRelativeValue(to, from) {\n var operator = /^(\\*=|\\+=|-=)/.exec(to);\n if (!operator) { return to; }\n var u = getUnit(to) || 0;\n var x = parseFloat(from);\n var y = parseFloat(to.replace(operator[0], ''));\n switch (operator[0][0]) {\n case '+': return x + y + u;\n case '-': return x - y + u;\n case '*': return x * y + u;\n }\n}\n\nfunction validateValue(val, unit) {\n if (is.col(val)) { return colorToRgb(val); }\n if (/\\s/g.test(val)) { return val; }\n var originalUnit = getUnit(val);\n var unitLess = originalUnit ? val.substr(0, val.length - originalUnit.length) : val;\n if (unit) { return unitLess + unit; }\n return unitLess;\n}\n\n// getTotalLength() equivalent for circle, rect, polyline, polygon and line shapes\n// adapted from https://gist.github.com/SebLambla/3e0550c496c236709744\n\nfunction getDistance(p1, p2) {\n return Math.sqrt(Math.pow(p2.x - p1.x, 2) + Math.pow(p2.y - p1.y, 2));\n}\n\nfunction getCircleLength(el) {\n return Math.PI * 2 * getAttribute(el, 'r');\n}\n\nfunction getRectLength(el) {\n return (getAttribute(el, 'width') * 2) + (getAttribute(el, 'height') * 2);\n}\n\nfunction getLineLength(el) {\n return getDistance(\n {x: getAttribute(el, 'x1'), y: getAttribute(el, 'y1')}, \n {x: getAttribute(el, 'x2'), y: getAttribute(el, 'y2')}\n );\n}\n\nfunction getPolylineLength(el) {\n var points = el.points;\n var totalLength = 0;\n var previousPos;\n for (var i = 0 ; i < points.numberOfItems; i++) {\n var currentPos = points.getItem(i);\n if (i > 0) { totalLength += getDistance(previousPos, currentPos); }\n previousPos = currentPos;\n }\n return totalLength;\n}\n\nfunction getPolygonLength(el) {\n var points = el.points;\n return getPolylineLength(el) + getDistance(points.getItem(points.numberOfItems - 1), points.getItem(0));\n}\n\n// Path animation\n\nfunction getTotalLength(el) {\n if (el.getTotalLength) { return el.getTotalLength(); }\n switch(el.tagName.toLowerCase()) {\n case 'circle': return getCircleLength(el);\n case 'rect': return getRectLength(el);\n case 'line': return getLineLength(el);\n case 'polyline': return getPolylineLength(el);\n case 'polygon': return getPolygonLength(el);\n }\n}\n\nfunction setDashoffset(el) {\n var pathLength = getTotalLength(el);\n el.setAttribute('stroke-dasharray', pathLength);\n return pathLength;\n}\n\n// Motion path\n\nfunction getParentSvgEl(el) {\n var parentEl = el.parentNode;\n while (is.svg(parentEl)) {\n if (!is.svg(parentEl.parentNode)) { break; }\n parentEl = parentEl.parentNode;\n }\n return parentEl;\n}\n\nfunction getParentSvg(pathEl, svgData) {\n var svg = svgData || {};\n var parentSvgEl = svg.el || getParentSvgEl(pathEl);\n var rect = parentSvgEl.getBoundingClientRect();\n var viewBoxAttr = getAttribute(parentSvgEl, 'viewBox');\n var width = rect.width;\n var height = rect.height;\n var viewBox = svg.viewBox || (viewBoxAttr ? viewBoxAttr.split(' ') : [0, 0, width, height]);\n return {\n el: parentSvgEl,\n viewBox: viewBox,\n x: viewBox[0] / 1,\n y: viewBox[1] / 1,\n w: width / viewBox[2],\n h: height / viewBox[3]\n }\n}\n\nfunction getPath(path, percent) {\n var pathEl = is.str(path) ? selectString(path)[0] : path;\n var p = percent || 100;\n return function(property) {\n return {\n property: property,\n el: pathEl,\n svg: getParentSvg(pathEl),\n totalLength: getTotalLength(pathEl) * (p / 100)\n }\n }\n}\n\nfunction getPathProgress(path, progress) {\n function point(offset) {\n if ( offset === void 0 ) offset = 0;\n\n var l = progress + offset >= 1 ? progress + offset : 0;\n return path.el.getPointAtLength(l);\n }\n var svg = getParentSvg(path.el, path.svg);\n var p = point();\n var p0 = point(-1);\n var p1 = point(+1);\n switch (path.property) {\n case 'x': return (p.x - svg.x) * svg.w;\n case 'y': return (p.y - svg.y) * svg.h;\n case 'angle': return Math.atan2(p1.y - p0.y, p1.x - p0.x) * 180 / Math.PI;\n }\n}\n\n// Decompose value\n\nfunction decomposeValue(val, unit) {\n // const rgx = /-?\\d*\\.?\\d+/g; // handles basic numbers\n // const rgx = /[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?/g; // handles exponents notation\n var rgx = /[+-]?\\d*\\.?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?/g; // handles exponents notation\n var value = validateValue((is.pth(val) ? val.totalLength : val), unit) + '';\n return {\n original: value,\n numbers: value.match(rgx) ? value.match(rgx).map(Number) : [0],\n strings: (is.str(val) || unit) ? value.split(rgx) : []\n }\n}\n\n// Animatables\n\nfunction parseTargets(targets) {\n var targetsArray = targets ? (flattenArray(is.arr(targets) ? targets.map(toArray) : toArray(targets))) : [];\n return filterArray(targetsArray, function (item, pos, self) { return self.indexOf(item) === pos; });\n}\n\nfunction getAnimatables(targets) {\n var parsed = parseTargets(targets);\n return parsed.map(function (t, i) {\n return {target: t, id: i, total: parsed.length, transforms: { list: getElementTransforms(t) } };\n });\n}\n\n// Properties\n\nfunction normalizePropertyTweens(prop, tweenSettings) {\n var settings = cloneObject(tweenSettings);\n // Override duration if easing is a spring\n if (/^spring/.test(settings.easing)) { settings.duration = spring(settings.easing); }\n if (is.arr(prop)) {\n var l = prop.length;\n var isFromTo = (l === 2 && !is.obj(prop[0]));\n if (!isFromTo) {\n // Duration divided by the number of tweens\n if (!is.fnc(tweenSettings.duration)) { settings.duration = tweenSettings.duration / l; }\n } else {\n // Transform [from, to] values shorthand to a valid tween value\n prop = {value: prop};\n }\n }\n var propArray = is.arr(prop) ? prop : [prop];\n return propArray.map(function (v, i) {\n var obj = (is.obj(v) && !is.pth(v)) ? v : {value: v};\n // Default delay value should only be applied to the first tween\n if (is.und(obj.delay)) { obj.delay = !i ? tweenSettings.delay : 0; }\n // Default endDelay value should only be applied to the last tween\n if (is.und(obj.endDelay)) { obj.endDelay = i === propArray.length - 1 ? tweenSettings.endDelay : 0; }\n return obj;\n }).map(function (k) { return mergeObjects(k, settings); });\n}\n\n\nfunction flattenKeyframes(keyframes) {\n var propertyNames = filterArray(flattenArray(keyframes.map(function (key) { return Object.keys(key); })), function (p) { return is.key(p); })\n .reduce(function (a,b) { if (a.indexOf(b) < 0) { a.push(b); } return a; }, []);\n var properties = {};\n var loop = function ( i ) {\n var propName = propertyNames[i];\n properties[propName] = keyframes.map(function (key) {\n var newKey = {};\n for (var p in key) {\n if (is.key(p)) {\n if (p == propName) { newKey.value = key[p]; }\n } else {\n newKey[p] = key[p];\n }\n }\n return newKey;\n });\n };\n\n for (var i = 0; i < propertyNames.length; i++) loop( i );\n return properties;\n}\n\nfunction getProperties(tweenSettings, params) {\n var properties = [];\n var keyframes = params.keyframes;\n if (keyframes) { params = mergeObjects(flattenKeyframes(keyframes), params); }\n for (var p in params) {\n if (is.key(p)) {\n properties.push({\n name: p,\n tweens: normalizePropertyTweens(params[p], tweenSettings)\n });\n }\n }\n return properties;\n}\n\n// Tweens\n\nfunction normalizeTweenValues(tween, animatable) {\n var t = {};\n for (var p in tween) {\n var value = getFunctionValue(tween[p], animatable);\n if (is.arr(value)) {\n value = value.map(function (v) { return getFunctionValue(v, animatable); });\n if (value.length === 1) { value = value[0]; }\n }\n t[p] = value;\n }\n t.duration = parseFloat(t.duration);\n t.delay = parseFloat(t.delay);\n return t;\n}\n\nfunction normalizeTweens(prop, animatable) {\n var previousTween;\n return prop.tweens.map(function (t) {\n var tween = normalizeTweenValues(t, animatable);\n var tweenValue = tween.value;\n var to = is.arr(tweenValue) ? tweenValue[1] : tweenValue;\n var toUnit = getUnit(to);\n var originalValue = getOriginalTargetValue(animatable.target, prop.name, toUnit, animatable);\n var previousValue = previousTween ? previousTween.to.original : originalValue;\n var from = is.arr(tweenValue) ? tweenValue[0] : previousValue;\n var fromUnit = getUnit(from) || getUnit(originalValue);\n var unit = toUnit || fromUnit;\n if (is.und(to)) { to = previousValue; }\n tween.from = decomposeValue(from, unit);\n tween.to = decomposeValue(getRelativeValue(to, from), unit);\n tween.start = previousTween ? previousTween.end : 0;\n tween.end = tween.start + tween.delay + tween.duration + tween.endDelay;\n tween.easing = parseEasings(tween.easing, tween.duration);\n tween.isPath = is.pth(tweenValue);\n tween.isColor = is.col(tween.from.original);\n if (tween.isColor) { tween.round = 1; }\n previousTween = tween;\n return tween;\n });\n}\n\n// Tween progress\n\nvar setProgressValue = {\n css: function (t, p, v) { return t.style[p] = v; },\n attribute: function (t, p, v) { return t.setAttribute(p, v); },\n object: function (t, p, v) { return t[p] = v; },\n transform: function (t, p, v, transforms, manual) {\n transforms.list.set(p, v);\n if (p === transforms.last || manual) {\n var str = '';\n transforms.list.forEach(function (value, prop) { str += prop + \"(\" + value + \") \"; });\n t.style.transform = str;\n }\n }\n};\n\n// Set Value helper\n\nfunction setTargetsValue(targets, properties) {\n var animatables = getAnimatables(targets);\n animatables.forEach(function (animatable) {\n for (var property in properties) {\n var value = getFunctionValue(properties[property], animatable);\n var target = animatable.target;\n var valueUnit = getUnit(value);\n var originalValue = getOriginalTargetValue(target, property, valueUnit, animatable);\n var unit = valueUnit || getUnit(originalValue);\n var to = getRelativeValue(validateValue(value, unit), originalValue);\n var animType = getAnimationType(target, property);\n setProgressValue[animType](target, property, to, animatable.transforms, true);\n }\n });\n}\n\n// Animations\n\nfunction createAnimation(animatable, prop) {\n var animType = getAnimationType(animatable.target, prop.name);\n if (animType) {\n var tweens = normalizeTweens(prop, animatable);\n var lastTween = tweens[tweens.length - 1];\n return {\n type: animType,\n property: prop.name,\n animatable: animatable,\n tweens: tweens,\n duration: lastTween.end,\n delay: tweens[0].delay,\n endDelay: lastTween.endDelay\n }\n }\n}\n\nfunction getAnimations(animatables, properties) {\n return filterArray(flattenArray(animatables.map(function (animatable) {\n return properties.map(function (prop) {\n return createAnimation(animatable, prop);\n });\n })), function (a) { return !is.und(a); });\n}\n\n// Create Instance\n\nfunction getInstanceTimings(animations, tweenSettings) {\n var animLength = animations.length;\n var getTlOffset = function (anim) { return anim.timelineOffset ? anim.timelineOffset : 0; };\n var timings = {};\n timings.duration = animLength ? Math.max.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.duration; })) : tweenSettings.duration;\n timings.delay = animLength ? Math.min.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.delay; })) : tweenSettings.delay;\n timings.endDelay = animLength ? timings.duration - Math.max.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.duration - anim.endDelay; })) : tweenSettings.endDelay;\n return timings;\n}\n\nvar instanceID = 0;\n\nfunction createNewInstance(params) {\n var instanceSettings = replaceObjectProps(defaultInstanceSettings, params);\n var tweenSettings = replaceObjectProps(defaultTweenSettings, params);\n var properties = getProperties(tweenSettings, params);\n var animatables = getAnimatables(params.targets);\n var animations = getAnimations(animatables, properties);\n var timings = getInstanceTimings(animations, tweenSettings);\n var id = instanceID;\n instanceID++;\n return mergeObjects(instanceSettings, {\n id: id,\n children: [],\n animatables: animatables,\n animations: animations,\n duration: timings.duration,\n delay: timings.delay,\n endDelay: timings.endDelay\n });\n}\n\n// Core\n\nvar activeInstances = [];\nvar pausedInstances = [];\nvar raf;\n\nvar engine = (function () {\n function play() { \n raf = requestAnimationFrame(step);\n }\n function step(t) {\n var activeInstancesLength = activeInstances.length;\n if (activeInstancesLength) {\n var i = 0;\n while (i < activeInstancesLength) {\n var activeInstance = activeInstances[i];\n if (!activeInstance.paused) {\n activeInstance.tick(t);\n } else {\n var instanceIndex = activeInstances.indexOf(activeInstance);\n if (instanceIndex > -1) {\n activeInstances.splice(instanceIndex, 1);\n activeInstancesLength = activeInstances.length;\n }\n }\n i++;\n }\n play();\n } else {\n raf = cancelAnimationFrame(raf);\n }\n }\n return play;\n})();\n\nfunction handleVisibilityChange() {\n if (document.hidden) {\n activeInstances.forEach(function (ins) { return ins.pause(); });\n pausedInstances = activeInstances.slice(0);\n anime.running = activeInstances = [];\n } else {\n pausedInstances.forEach(function (ins) { return ins.play(); });\n }\n}\n\nif (typeof document !== 'undefined') {\n document.addEventListener('visibilitychange', handleVisibilityChange);\n}\n\n// Public Instance\n\nfunction anime(params) {\n if ( params === void 0 ) params = {};\n\n\n var startTime = 0, lastTime = 0, now = 0;\n var children, childrenLength = 0;\n var resolve = null;\n\n function makePromise(instance) {\n var promise = window.Promise && new Promise(function (_resolve) { return resolve = _resolve; });\n instance.finished = promise;\n return promise;\n }\n\n var instance = createNewInstance(params);\n var promise = makePromise(instance);\n\n function toggleInstanceDirection() {\n var direction = instance.direction;\n if (direction !== 'alternate') {\n instance.direction = direction !== 'normal' ? 'normal' : 'reverse';\n }\n instance.reversed = !instance.reversed;\n children.forEach(function (child) { return child.reversed = instance.reversed; });\n }\n\n function adjustTime(time) {\n return instance.reversed ? instance.duration - time : time;\n }\n\n function resetTime() {\n startTime = 0;\n lastTime = adjustTime(instance.currentTime) * (1 / anime.speed);\n }\n\n function seekChild(time, child) {\n if (child) { child.seek(time - child.timelineOffset); }\n }\n\n function syncInstanceChildren(time) {\n if (!instance.reversePlayback) {\n for (var i = 0; i < childrenLength; i++) { seekChild(time, children[i]); }\n } else {\n for (var i$1 = childrenLength; i$1--;) { seekChild(time, children[i$1]); }\n }\n }\n\n function setAnimationsProgress(insTime) {\n var i = 0;\n var animations = instance.animations;\n var animationsLength = animations.length;\n while (i < animationsLength) {\n var anim = animations[i];\n var animatable = anim.animatable;\n var tweens = anim.tweens;\n var tweenLength = tweens.length - 1;\n var tween = tweens[tweenLength];\n // Only check for keyframes if there is more than one tween\n if (tweenLength) { tween = filterArray(tweens, function (t) { return (insTime < t.end); })[0] || tween; }\n var elapsed = minMax(insTime - tween.start - tween.delay, 0, tween.duration) / tween.duration;\n var eased = isNaN(elapsed) ? 1 : tween.easing(elapsed);\n var strings = tween.to.strings;\n var round = tween.round;\n var numbers = [];\n var toNumbersLength = tween.to.numbers.length;\n var progress = (void 0);\n for (var n = 0; n < toNumbersLength; n++) {\n var value = (void 0);\n var toNumber = tween.to.numbers[n];\n var fromNumber = tween.from.numbers[n] || 0;\n if (!tween.isPath) {\n value = fromNumber + (eased * (toNumber - fromNumber));\n } else {\n value = getPathProgress(tween.value, eased * toNumber);\n }\n if (round) {\n if (!(tween.isColor && n > 2)) {\n value = Math.round(value * round) / round;\n }\n }\n numbers.push(value);\n }\n // Manual Array.reduce for better performances\n var stringsLength = strings.length;\n if (!stringsLength) {\n progress = numbers[0];\n } else {\n progress = strings[0];\n for (var s = 0; s < stringsLength; s++) {\n var a = strings[s];\n var b = strings[s + 1];\n var n$1 = numbers[s];\n if (!isNaN(n$1)) {\n if (!b) {\n progress += n$1 + ' ';\n } else {\n progress += n$1 + b;\n }\n }\n }\n }\n setProgressValue[anim.type](animatable.target, anim.property, progress, animatable.transforms);\n anim.currentValue = progress;\n i++;\n }\n }\n\n function setCallback(cb) {\n if (instance[cb] && !instance.passThrough) { instance[cb](instance); }\n }\n\n function countIteration() {\n if (instance.remaining && instance.remaining !== true) {\n instance.remaining--;\n }\n }\n\n function setInstanceProgress(engineTime) {\n var insDuration = instance.duration;\n var insDelay = instance.delay;\n var insEndDelay = insDuration - instance.endDelay;\n var insTime = adjustTime(engineTime);\n instance.progress = minMax((insTime / insDuration) * 100, 0, 100);\n instance.reversePlayback = insTime < instance.currentTime;\n if (children) { syncInstanceChildren(insTime); }\n if (!instance.began && instance.currentTime > 0) {\n instance.began = true;\n setCallback('begin');\n }\n if (!instance.loopBegan && instance.currentTime > 0) {\n instance.loopBegan = true;\n setCallback('loopBegin');\n }\n if (insTime <= insDelay && instance.currentTime !== 0) {\n setAnimationsProgress(0);\n }\n if ((insTime >= insEndDelay && instance.currentTime !== insDuration) || !insDuration) {\n setAnimationsProgress(insDuration);\n }\n if (insTime > insDelay && insTime < insEndDelay) {\n if (!instance.changeBegan) {\n instance.changeBegan = true;\n instance.changeCompleted = false;\n setCallback('changeBegin');\n }\n setCallback('change');\n setAnimationsProgress(insTime);\n } else {\n if (instance.changeBegan) {\n instance.changeCompleted = true;\n instance.changeBegan = false;\n setCallback('changeComplete');\n }\n }\n instance.currentTime = minMax(insTime, 0, insDuration);\n if (instance.began) { setCallback('update'); }\n if (engineTime >= insDuration) {\n lastTime = 0;\n countIteration();\n if (!instance.remaining) {\n instance.paused = true;\n if (!instance.completed) {\n instance.completed = true;\n setCallback('loopComplete');\n setCallback('complete');\n if (!instance.passThrough && 'Promise' in window) {\n resolve();\n promise = makePromise(instance);\n }\n }\n } else {\n startTime = now;\n setCallback('loopComplete');\n instance.loopBegan = false;\n if (instance.direction === 'alternate') {\n toggleInstanceDirection();\n }\n }\n }\n }\n\n instance.reset = function() {\n var direction = instance.direction;\n instance.passThrough = false;\n instance.currentTime = 0;\n instance.progress = 0;\n instance.paused = true;\n instance.began = false;\n instance.loopBegan = false;\n instance.changeBegan = false;\n instance.completed = false;\n instance.changeCompleted = false;\n instance.reversePlayback = false;\n instance.reversed = direction === 'reverse';\n instance.remaining = instance.loop;\n children = instance.children;\n childrenLength = children.length;\n for (var i = childrenLength; i--;) { instance.children[i].reset(); }\n if (instance.reversed && instance.loop !== true || (direction === 'alternate' && instance.loop === 1)) { instance.remaining++; }\n setAnimationsProgress(instance.reversed ? instance.duration : 0);\n };\n\n // Set Value helper\n\n instance.set = function(targets, properties) {\n setTargetsValue(targets, properties);\n return instance;\n };\n\n instance.tick = function(t) {\n now = t;\n if (!startTime) { startTime = now; }\n setInstanceProgress((now + (lastTime - startTime)) * anime.speed);\n };\n\n instance.seek = function(time) {\n setInstanceProgress(adjustTime(time));\n };\n\n instance.pause = function() {\n instance.paused = true;\n resetTime();\n };\n\n instance.play = function() {\n if (!instance.paused) { return; }\n if (instance.completed) { instance.reset(); }\n instance.paused = false;\n activeInstances.push(instance);\n resetTime();\n if (!raf) { engine(); }\n };\n\n instance.reverse = function() {\n toggleInstanceDirection();\n instance.completed = instance.reversed ? false : true;\n resetTime();\n };\n\n instance.restart = function() {\n instance.reset();\n instance.play();\n };\n\n instance.reset();\n\n if (instance.autoplay) { instance.play(); }\n\n return instance;\n\n}\n\n// Remove targets from animation\n\nfunction removeTargetsFromAnimations(targetsArray, animations) {\n for (var a = animations.length; a--;) {\n if (arrayContains(targetsArray, animations[a].animatable.target)) {\n animations.splice(a, 1);\n }\n }\n}\n\nfunction removeTargets(targets) {\n var targetsArray = parseTargets(targets);\n for (var i = activeInstances.length; i--;) {\n var instance = activeInstances[i];\n var animations = instance.animations;\n var children = instance.children;\n removeTargetsFromAnimations(targetsArray, animations);\n for (var c = children.length; c--;) {\n var child = children[c];\n var childAnimations = child.animations;\n removeTargetsFromAnimations(targetsArray, childAnimations);\n if (!childAnimations.length && !child.children.length) { children.splice(c, 1); }\n }\n if (!animations.length && !children.length) { instance.pause(); }\n }\n}\n\n// Stagger helpers\n\nfunction stagger(val, params) {\n if ( params === void 0 ) params = {};\n\n var direction = params.direction || 'normal';\n var easing = params.easing ? parseEasings(params.easing) : null;\n var grid = params.grid;\n var axis = params.axis;\n var fromIndex = params.from || 0;\n var fromFirst = fromIndex === 'first';\n var fromCenter = fromIndex === 'center';\n var fromLast = fromIndex === 'last';\n var isRange = is.arr(val);\n var val1 = isRange ? parseFloat(val[0]) : parseFloat(val);\n var val2 = isRange ? parseFloat(val[1]) : 0;\n var unit = getUnit(isRange ? val[1] : val) || 0;\n var start = params.start || 0 + (isRange ? val1 : 0);\n var values = [];\n var maxValue = 0;\n return function (el, i, t) {\n if (fromFirst) { fromIndex = 0; }\n if (fromCenter) { fromIndex = (t - 1) / 2; }\n if (fromLast) { fromIndex = t - 1; }\n if (!values.length) {\n for (var index = 0; index < t; index++) {\n if (!grid) {\n values.push(Math.abs(fromIndex - index));\n } else {\n var fromX = !fromCenter ? fromIndex%grid[0] : (grid[0]-1)/2;\n var fromY = !fromCenter ? Math.floor(fromIndex/grid[0]) : (grid[1]-1)/2;\n var toX = index%grid[0];\n var toY = Math.floor(index/grid[0]);\n var distanceX = fromX - toX;\n var distanceY = fromY - toY;\n var value = Math.sqrt(distanceX * distanceX + distanceY * distanceY);\n if (axis === 'x') { value = -distanceX; }\n if (axis === 'y') { value = -distanceY; }\n values.push(value);\n }\n maxValue = Math.max.apply(Math, values);\n }\n if (easing) { values = values.map(function (val) { return easing(val / maxValue) * maxValue; }); }\n if (direction === 'reverse') { values = values.map(function (val) { return axis ? (val < 0) ? val * -1 : -val : Math.abs(maxValue - val); }); }\n }\n var spacing = isRange ? (val2 - val1) / maxValue : val1;\n return start + (spacing * (Math.round(values[i] * 100) / 100)) + unit;\n }\n}\n\n// Timeline\n\nfunction timeline(params) {\n if ( params === void 0 ) params = {};\n\n var tl = anime(params);\n tl.duration = 0;\n tl.add = function(instanceParams, timelineOffset) {\n var tlIndex = activeInstances.indexOf(tl);\n var children = tl.children;\n if (tlIndex > -1) { activeInstances.splice(tlIndex, 1); }\n function passThrough(ins) { ins.passThrough = true; }\n for (var i = 0; i < children.length; i++) { passThrough(children[i]); }\n var insParams = mergeObjects(instanceParams, replaceObjectProps(defaultTweenSettings, params));\n insParams.targets = insParams.targets || params.targets;\n var tlDuration = tl.duration;\n insParams.autoplay = false;\n insParams.direction = tl.direction;\n insParams.timelineOffset = is.und(timelineOffset) ? tlDuration : getRelativeValue(timelineOffset, tlDuration);\n passThrough(tl);\n tl.seek(insParams.timelineOffset);\n var ins = anime(insParams);\n passThrough(ins);\n children.push(ins);\n var timings = getInstanceTimings(children, params);\n tl.delay = timings.delay;\n tl.endDelay = timings.endDelay;\n tl.duration = timings.duration;\n tl.seek(0);\n tl.reset();\n if (tl.autoplay) { tl.play(); }\n return tl;\n };\n return tl;\n}\n\nanime.version = '3.2.0';\nanime.speed = 1;\nanime.running = activeInstances;\nanime.remove = removeTargets;\nanime.get = getOriginalTargetValue;\nanime.set = setTargetsValue;\nanime.convertPx = convertPxToUnit;\nanime.path = getPath;\nanime.setDashoffset = setDashoffset;\nanime.stagger = stagger;\nanime.timeline = timeline;\nanime.easing = parseEasings;\nanime.penner = penner;\nanime.random = function (min, max) { return Math.floor(Math.random() * (max - min + 1)) + min; };\n\nmodule.exports = anime;\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/tocbot/tocbot.js\n # Tocbot v4.12.0 implementation for J1 template\n #\n # Product/Info:\n # https://jekyll.one\n # https://tscanlin.github.io/tocbot\n # https://github.com/tscanlin/tocbot\n #\n # Copyright (C) 2021 Juergen Adams\n # Copyright (C) 2016 Tim Scanlin\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # Tocbot is licensed under the MIT License.\n # For details, https://github.com/tscanlin/tocbot/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n # rules:\n # \"eslint:tocbot\": \"eslint --ignore-path .eslintignore src/tocbot/js\"\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint semi: \"off\" */\n// -----------------------------------------------------------------------------\n\n/**\n * Tocbot\n * Tocbot creates a toble of contents based on HTML headings on a page,\n * this allows users to easily jump to different sections of the document.\n * Tocbot was inspired by tocify (http://gregfranko.com/jquery.tocify.js/).\n * The main differences are that it works natively without any need for jquery or jquery UI).\n *\n * @author Tim Scanlin\n */\n\n/* globals define */\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], factory(root))\n } else if (typeof exports === 'object') {\n module.exports = factory(root)\n } else {\n root.tocbot = factory(root)\n }\n})(typeof global !== 'undefined' ? global : this.window || this.global, function (root) {\n 'use strict'\n\n // Default options.\n var defaultOptions = require('./default-options.js')\n // Object to store current options.\n var options = {}\n // Object for public APIs.\n var tocbot = {}\n\n var BuildHtml = require('./build-html.js')\n var ParseContent = require('./parse-content.js')\n var updateTocScroll = require('./update-toc-scroll.js')\n // Keep these variables at top scope once options are passed in.\n var buildHtml\n var parseContent\n\n // Just return if its not a browser.\n var supports = !!root && !!root.document && !!root.document.querySelector && !!root.addEventListener // Feature test\n if (typeof window === 'undefined' && !supports) {\n return\n }\n var headingsArray\n\n // From: https://github.com/Raynos/xtend\n var hasOwnProperty = Object.prototype.hasOwnProperty\n function extend () {\n var target = {}\n for (var i = 0; i < arguments.length; i++) {\n var source = arguments[i]\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n target[key] = source[key]\n }\n }\n }\n return target\n }\n\n // From: https://remysharp.com/2010/07/21/throttling-function-calls\n function throttle (fn, threshold, scope) {\n threshold || (threshold = 250)\n var last\n var deferTimer\n return function () {\n var context = scope || this\n var now = +new Date()\n var args = arguments\n if (last && now < last + threshold) {\n // hold on to it\n clearTimeout(deferTimer)\n deferTimer = setTimeout(function () {\n last = now\n fn.apply(context, args)\n }, threshold)\n } else {\n last = now\n fn.apply(context, args)\n }\n }\n }\n\n /**\n * Destroy tocbot.\n */\n tocbot.destroy = function () {\n if (!options.skipRendering) {\n // Clear HTML.\n try {\n document.querySelector(options.tocSelector).innerHTML = ''\n } catch (e) {\n console.warn('Element not found: ' + options.tocSelector); // eslint-disable-line\n }\n }\n\n // Remove event listeners.\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n document.querySelector(options.scrollContainer).removeEventListener('scroll', this._scrollListener, false)\n document.querySelector(options.scrollContainer).removeEventListener('resize', this._scrollListener, false)\n if (buildHtml) {\n document.querySelector(options.scrollContainer).removeEventListener('click', this._clickListener, false)\n }\n } else {\n document.removeEventListener('scroll', this._scrollListener, false)\n document.removeEventListener('resize', this._scrollListener, false)\n if (buildHtml) {\n document.removeEventListener('click', this._clickListener, false)\n }\n }\n }\n\n /**\n * Initialize tocbot.\n * @param {object} customOptions\n */\n tocbot.init = function (customOptions) {\n // feature test\n if (!supports) {\n return\n }\n\n // Merge defaults with user options.\n // Set to options variable at the top.\n options = extend(defaultOptions, customOptions || {})\n this.options = options\n this.state = {}\n\n // Init smooth scroll if enabled (default).\n if (options.scrollSmooth) {\n options.duration = options.scrollSmoothDuration\n options.offset = options.scrollSmoothOffset\n tocbot.scrollSmooth = require('./scroll-smooth').initSmoothScrolling(options)\n }\n\n // Pass options to these modules.\n buildHtml = BuildHtml(options)\n parseContent = ParseContent(options)\n\n // For testing purposes.\n this._buildHtml = buildHtml\n this._parseContent = parseContent\n\n // Destroy it if it exists first.\n tocbot.destroy()\n\n // Get headings array.\n headingsArray = parseContent.selectHeadings(options.contentSelector, options.headingSelector)\n // Return if no headings are found.\n if (headingsArray === null) {\n return\n }\n\n // Build nested headings array.\n var nestedHeadingsObj = parseContent.nestHeadingsArray(headingsArray)\n var nestedHeadings = nestedHeadingsObj.nest\n\n // Render.\n if (!options.skipRendering) {\n buildHtml.render(options.tocSelector, nestedHeadings)\n }\n\n // Update Sidebar and bind listeners.\n this._scrollListener = throttle(function (e) {\n buildHtml.updateToc(headingsArray)\n !options.disableTocScrollSync && updateTocScroll(options)\n var isTop = e && e.target && e.target.scrollingElement && e.target.scrollingElement.scrollTop === 0\n if ((e && (e.eventPhase === 0 || e.currentTarget === null)) || isTop) {\n buildHtml.updateToc(headingsArray)\n if (options.scrollEndCallback) {\n options.scrollEndCallback(e)\n }\n }\n }, options.throttleTimeout)\n this._scrollListener()\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n document.querySelector(options.scrollContainer).addEventListener('scroll', this._scrollListener, false)\n document.querySelector(options.scrollContainer).addEventListener('resize', this._scrollListener, false)\n } else {\n document.addEventListener('scroll', this._scrollListener, false)\n document.addEventListener('resize', this._scrollListener, false)\n }\n\n // Bind click listeners to disable animation.\n var timeout = null\n this._clickListener = throttle(function (event) {\n if (options.scrollSmooth) {\n buildHtml.disableTocAnimation(event)\n }\n buildHtml.updateToc(headingsArray)\n // Timeout to re-enable the animation.\n timeout && clearTimeout(timeout)\n timeout = setTimeout(function () {\n buildHtml.enableTocAnimation()\n }, options.scrollSmoothDuration)\n }, options.throttleTimeout)\n\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n document.querySelector(options.scrollContainer).addEventListener('click', this._clickListener, false)\n } else {\n document.addEventListener('click', this._clickListener, false)\n }\n\n return this\n }\n\n /**\n * Refresh tocbot.\n */\n tocbot.refresh = function (customOptions) {\n tocbot.destroy()\n tocbot.init(customOptions || this.options)\n }\n\n // Make tocbot available globally.\n root.tocbot = tocbot\n\n return tocbot\n})\n","// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint no-unused-vars: \"off\" */\n// -----------------------------------------------------------------------------\n\nmodule.exports = {\n // Where to render the table of contents.\n tocSelector: '.js-toc',\n // Where to grab the headings to build the table of contents.\n contentSelector: '.js-toc-content',\n // Which headings to grab inside of the contentSelector element.\n headingSelector: 'h1, h2, h3',\n // Headings that match the ignoreSelector will be skipped.\n ignoreSelector: '.js-toc-ignore',\n // For headings inside relative or absolute positioned containers within content\n hasInnerContainers: false,\n // Main class to add to links.\n linkClass: 'toc-link',\n // Extra classes to add to links.\n extraLinkClasses: '',\n // Class to add to active links,\n // the link corresponding to the top most heading on the page.\n activeLinkClass: 'is-active-link',\n // Main class to add to lists.\n listClass: 'toc-list',\n // Extra classes to add to lists.\n extraListClasses: '',\n // Class that gets added when a list should be collapsed.\n isCollapsedClass: 'is-collapsed',\n // Class that gets added when a list should be able\n // to be collapsed but isn't necessarily collapsed.\n collapsibleClass: 'is-collapsible',\n // Class to add to list items.\n listItemClass: 'toc-list-item',\n // Class to add to active list items.\n activeListItemClass: 'is-active-li',\n // How many heading levels should not be collapsed.\n // For example, number 6 will show everything since\n // there are only 6 heading levels and number 0 will collapse them all.\n // The sections that are hidden will open\n // and close as you scroll to headings within them.\n collapseDepth: 0,\n // Smooth scrolling enabled.\n scrollSmooth: true,\n // Smooth scroll duration.\n scrollSmoothDuration: 420,\n // Smooth scroll offset.\n scrollSmoothOffset: 0,\n // Callback for scroll end.\n scrollEndCallback: function (e) {},\n // Headings offset between the headings and the top of the document (this is meant for minor adjustments).\n headingsOffset: 1,\n // Timeout between events firing to make sure it's\n // not too rapid (for performance reasons).\n throttleTimeout: 50,\n // Element to add the positionFixedClass to.\n positionFixedSelector: null,\n // Fixed position class to add to make sidebar fixed after scrolling\n // down past the fixedSidebarOffset.\n positionFixedClass: 'is-position-fixed',\n // fixedSidebarOffset can be any number but by default is set\n // to auto which sets the fixedSidebarOffset to the sidebar\n // element's offsetTop from the top of the document on init.\n fixedSidebarOffset: 'auto',\n // includeHtml can be set to true to include the HTML markup from the\n // heading node instead of just including the textContent.\n includeHtml: false,\n // onclick function to apply to all links in toc. will be called with\n // the event as the first parameter, and this can be used to stop,\n // propagation, prevent default or perform action\n onClick: function (e) {},\n // orderedList can be set to false to generate unordered lists (ul)\n // instead of ordered lists (ol)\n orderedList: true,\n // If there is a fixed article scroll container, set to calculate titles' offset\n scrollContainer: null,\n // prevent ToC DOM rendering if it's already rendered by an external system\n skipRendering: false,\n // Optional callback to change heading labels.\n // For example it can be used to cut down and put ellipses on multiline headings you deem too long.\n // Called each time a heading is parsed. Expects a string in return, the modified label to display.\n // function (string) => string\n headingLabelCallback: false,\n // ignore headings that are hidden in DOM\n ignoreHiddenElements: false,\n // Optional callback to modify properties of parsed headings.\n // The heading element is passed in node parameter and information parsed by default parser is provided in obj parameter.\n // Function has to return the same or modified obj.\n // The heading will be excluded from TOC if nothing is returned.\n // function (object, HTMLElement) => object | void\n headingObjectCallback: null,\n // Set the base path, useful if you use a `base` tag in `head`.\n basePath: '',\n // Only takes affect when `tocSelector` is scrolling,\n // keep the toc scroll position in sync with the content.\n disableTocScrollSync: false,\n};\n","/**\n * This file is responsible for building the DOM and updating DOM state.\n *\n * @author Tim Scanlin\n */\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint semi: \"off\" */\n// -----------------------------------------------------------------------------\n\nmodule.exports = function (options) {\n var forEach = [].forEach\n var some = [].some\n var body = document.body\n var currentlyHighlighting = true\n var SPACE_CHAR = ' '\n\n /**\n * Create link and list elements.\n * @param {Object} d\n * @param {HTMLElement} container\n * @return {HTMLElement}\n */\n function createEl (d, container) {\n var link = container.appendChild(createLink(d))\n if (d.children.length) {\n var list = createList(d.isCollapsed)\n d.children.forEach(function (child) {\n createEl(child, list)\n })\n link.appendChild(list)\n }\n }\n\n /**\n * Render nested heading array data into a given selector.\n * @param {String} selector\n * @param {Array} data\n * @return {HTMLElement}\n */\n function render (selector, data) {\n var collapsed = false\n var container = createList(collapsed)\n\n data.forEach(function (d) {\n createEl(d, container)\n })\n\n var parent = document.querySelector(selector)\n\n // Return if no parent is found.\n if (parent === null) {\n return\n }\n\n // Remove existing child if it exists.\n if (parent.firstChild) {\n parent.removeChild(parent.firstChild)\n }\n\n // Just return the parent and don't append the list if no links are found.\n if (data.length === 0) {\n return parent\n }\n\n // Append the Elements that have been created\n return parent.appendChild(container)\n }\n\n /**\n * Create link element.\n * @param {Object} data\n * @return {HTMLElement}\n */\n function createLink (data) {\n var item = document.createElement('li')\n var a = document.createElement('a')\n if (options.listItemClass) {\n item.setAttribute('class', options.listItemClass)\n }\n\n if (options.onClick) {\n a.onclick = options.onClick\n }\n\n if (options.includeHtml && data.childNodes.length) {\n forEach.call(data.childNodes, function (node) {\n a.appendChild(node.cloneNode(true))\n })\n } else {\n // Default behavior.\n a.textContent = data.textContent\n }\n a.setAttribute('href', options.basePath + '#' + data.id)\n a.setAttribute('class', options.linkClass +\n SPACE_CHAR + 'node-name--' + data.nodeName +\n SPACE_CHAR + options.extraLinkClasses)\n item.appendChild(a)\n return item\n }\n\n /**\n * Create list element.\n * @param {Boolean} isCollapsed\n * @return {HTMLElement}\n */\n function createList (isCollapsed) {\n var listElement = (options.orderedList) ? 'ol' : 'ul'\n var list = document.createElement(listElement)\n var classes = options.listClass +\n SPACE_CHAR + options.extraListClasses\n if (isCollapsed) {\n classes += SPACE_CHAR + options.collapsibleClass\n classes += SPACE_CHAR + options.isCollapsedClass\n }\n list.setAttribute('class', classes)\n return list\n }\n\n /**\n * Update fixed sidebar class.\n * @return {HTMLElement}\n */\n function updateFixedSidebarClass () {\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n var top\n top = document.querySelector(options.scrollContainer).scrollTop\n } else {\n top = document.documentElement.scrollTop || body.scrollTop\n }\n var posFixedEl = document.querySelector(options.positionFixedSelector)\n\n if (options.fixedSidebarOffset === 'auto') {\n options.fixedSidebarOffset = document.querySelector(options.tocSelector).offsetTop\n }\n\n if (top > options.fixedSidebarOffset) {\n if (posFixedEl.className.indexOf(options.positionFixedClass) === -1) {\n posFixedEl.className += SPACE_CHAR + options.positionFixedClass\n }\n } else {\n posFixedEl.className = posFixedEl.className.split(SPACE_CHAR + options.positionFixedClass).join('')\n }\n }\n\n /**\n * Get top position of heading\n * @param {HTMLElement}\n * @return {integer} position\n */\n function getHeadingTopPos (obj) {\n var position = 0\n if (obj !== document.querySelector(options.contentSelector && obj != null)) {\n position = obj.offsetTop\n if (options.hasInnerContainers) { position += getHeadingTopPos(obj.offsetParent) }\n }\n return position\n }\n\n /**\n * Update TOC highlighting and collapsed groups\n */\n function updateToc (headingsArray) {\n // If a fixed content container was set\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n var top\n top = document.querySelector(options.scrollContainer).scrollTop\n } else {\n top = document.documentElement.scrollTop || body.scrollTop\n }\n\n // Add fixed class at offset\n if (options.positionFixedSelector) {\n updateFixedSidebarClass()\n }\n\n // Get the most TOP heading currently visible on the page to\n // identify what element to be highlighted\n var headings = headingsArray;\n var topHeader;\n var headingTopPos;\n\n // Using some instead of each so that we can escape early\n if (currentlyHighlighting &&\n document.querySelector(options.tocSelector) !== null &&\n headings.length > 0) {\n some.call(headings, function (heading, i) {\n headingTopPos = getHeadingTopPos(heading)\n if (headingTopPos > top + options.headingsOffset + 10) {\n // Don't allow negative index value\n // var index = (i === 0) ? i : i - 1;\n // topHeader = headings[index];\n // jadams, index correction seems NOT needed\n topHeader = headings[i];\n return true\n } else if (i === headings.length - 1) {\n // This allows scrolling for the last heading on the page\n topHeader = headings[headings.length - 1]\n return true\n }\n })\n\n // Remove the active class from the other tocLinks.\n var tocLinks = document.querySelector(options.tocSelector)\n .querySelectorAll('.' + options.linkClass)\n forEach.call(tocLinks, function (tocLink) {\n tocLink.className = tocLink.className.split(SPACE_CHAR + options.activeLinkClass).join('')\n })\n var tocLis = document.querySelector(options.tocSelector)\n .querySelectorAll('.' + options.listItemClass)\n forEach.call(tocLis, function (tocLi) {\n tocLi.className = tocLi.className.split(SPACE_CHAR + options.activeListItemClass).join('')\n })\n\n // Add the active class to the active tocLink.\n var activeTocLink = document.querySelector(options.tocSelector)\n .querySelector('.' + options.linkClass +\n '.node-name--' + topHeader.nodeName +\n '[href=\"' + options.basePath + '#' + topHeader.id.replace(/([ #;&,.+*~':\"!^$[\\]()=>|/@])/g, '\\\\$1') + '\"]')\n if (activeTocLink.className.indexOf(options.activeLinkClass) === -1) {\n activeTocLink.className += SPACE_CHAR + options.activeLinkClass\n }\n var li = activeTocLink.parentNode\n if (li && li.className.indexOf(options.activeListItemClass) === -1) {\n li.className += SPACE_CHAR + options.activeListItemClass\n }\n\n var tocLists = document.querySelector(options.tocSelector)\n .querySelectorAll('.' + options.listClass + '.' + options.collapsibleClass)\n\n // Collapse the other collapsible lists.\n forEach.call(tocLists, function (list) {\n if (list.className.indexOf(options.isCollapsedClass) === -1) {\n list.className += SPACE_CHAR + options.isCollapsedClass\n }\n })\n\n // Expand the active link's collapsible list and its sibling if applicable.\n if (activeTocLink.nextSibling && activeTocLink.nextSibling.className.indexOf(options.isCollapsedClass) !== -1) {\n activeTocLink.nextSibling.className = activeTocLink.nextSibling.className.split(SPACE_CHAR + options.isCollapsedClass).join('')\n }\n removeCollapsedFromParents(activeTocLink.parentNode.parentNode)\n }\n }\n\n /**\n * Remove collpased class from parent elements.\n * @param {HTMLElement} element\n * @return {HTMLElement}\n */\n function removeCollapsedFromParents (element) {\n if (element.className.indexOf(options.collapsibleClass) !== -1 && element.className.indexOf(options.isCollapsedClass) !== -1) {\n element.className = element.className.split(SPACE_CHAR + options.isCollapsedClass).join('')\n return removeCollapsedFromParents(element.parentNode.parentNode)\n }\n return element\n }\n\n /**\n * Disable TOC Animation when a link is clicked.\n * @param {Event} event\n */\n function disableTocAnimation (event) {\n var target = event.target || event.srcElement\n if (typeof target.className !== 'string' || target.className.indexOf(options.linkClass) === -1) {\n return\n }\n // Bind to tocLink clicks to temporarily disable highlighting\n // while smoothScroll is animating.\n currentlyHighlighting = false\n }\n\n /**\n * Enable TOC Animation.\n */\n function enableTocAnimation () {\n currentlyHighlighting = true\n }\n\n return {\n enableTocAnimation: enableTocAnimation,\n disableTocAnimation: disableTocAnimation,\n render: render,\n updateToc: updateToc\n }\n}\n","/**\n * This file is responsible for parsing the content from the DOM and making\n * sure data is nested properly.\n *\n * @author Tim Scanlin\n */\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint semi: \"off\" */\n// -----------------------------------------------------------------------------\n\nmodule.exports = function parseContent (options) {\n var reduce = [].reduce\n\n /**\n * Get the last item in an array and return a reference to it.\n * @param {Array} array\n * @return {Object}\n */\n function getLastItem (array) {\n return array[array.length - 1]\n }\n\n /**\n * Get heading level for a heading dom node.\n * @param {HTMLElement} heading\n * @return {Number}\n */\n function getHeadingLevel (heading) {\n return +heading.nodeName.split('H').join('')\n }\n\n /**\n * Get important properties from a heading element and store in a plain object.\n * @param {HTMLElement} heading\n * @return {Object}\n */\n function getHeadingObject (heading) {\n // each node is processed twice by this method because nestHeadingsArray() and addNode() calls it\n // first time heading is real DOM node element, second time it is obj\n // that is causing problem so I am processing only original DOM node\n if (!(heading instanceof window.HTMLElement)) return heading\n\n if (options.ignoreHiddenElements && (!heading.offsetHeight || !heading.offsetParent)) {\n return null\n }\n\n var obj = {\n id: heading.id,\n children: [],\n nodeName: heading.nodeName,\n headingLevel: getHeadingLevel(heading),\n textContent: options.headingLabelCallback ? String(options.headingLabelCallback(heading.textContent)) : heading.textContent.trim()\n }\n\n if (options.includeHtml) {\n obj.childNodes = heading.childNodes\n }\n\n if (options.headingObjectCallback) {\n return options.headingObjectCallback(obj, heading)\n }\n\n return obj\n }\n\n /**\n * Add a node to the nested array.\n * @param {Object} node\n * @param {Array} nest\n * @return {Array}\n */\n function addNode (node, nest) {\n var obj = getHeadingObject(node)\n var level = obj.headingLevel\n var array = nest\n var lastItem = getLastItem(array)\n var lastItemLevel = lastItem\n ? lastItem.headingLevel\n : 0\n var counter = level - lastItemLevel\n\n while (counter > 0) {\n lastItem = getLastItem(array)\n if (lastItem && lastItem.children !== undefined) {\n array = lastItem.children\n }\n counter--\n }\n\n if (level >= options.collapseDepth) {\n obj.isCollapsed = true\n }\n\n array.push(obj)\n return array\n }\n\n /**\n * Select headings in content area, exclude any selector in options.ignoreSelector\n * @param {String} contentSelector\n * @param {Array} headingSelector\n * @return {Array}\n */\n function selectHeadings (contentSelector, headingSelector) {\n var selectors = headingSelector\n if (options.ignoreSelector) {\n selectors = headingSelector.split(',')\n .map(function mapSelectors (selector) {\n return selector.trim() + ':not(' + options.ignoreSelector + ')'\n })\n }\n try {\n return document.querySelector(contentSelector)\n .querySelectorAll(selectors)\n } catch (e) {\n console.warn('Element not found: ' + contentSelector); // eslint-disable-line\n return null\n }\n }\n\n /**\n * Nest headings array into nested arrays with 'children' property.\n * @param {Array} headingsArray\n * @return {Object}\n */\n function nestHeadingsArray (headingsArray) {\n return reduce.call(headingsArray, function reducer (prev, curr) {\n var currentHeading = getHeadingObject(curr)\n if (currentHeading) {\n addNode(currentHeading, prev.nest)\n }\n return prev\n }, {\n nest: []\n })\n }\n\n return {\n nestHeadingsArray: nestHeadingsArray,\n selectHeadings: selectHeadings\n }\n}\n","// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint semi: \"off\" */\n// -----------------------------------------------------------------------------\n\nmodule.exports = function updateTocScroll(options) {\n var toc = document.querySelector(options.tocSelector);\n if (toc && toc.scrollHeight > toc.clientHeight) {\n var activeItem = toc.querySelector('.' + options.activeListItemClass);\n if (activeItem) {\n toc.scrollTop = activeItem.offsetTop;\n }\n }\n}\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/tocbot/scroll-smooth/index.js\n # Scroll-Smooth (Tocbot v4.12.0) implementation for J1 template\n #\n # Product/Info:\n # https://jekyll.one\n # https://tscanlin.github.io/tocbot\n # https://github.com/tscanlin/tocbot\n #\n # Copyright (C) 2021 Juergen Adams\n # Copyright (C) 2016 Tim Scanlin\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # Tocbot is licensed under the MIT License.\n # For details, https://github.com/tscanlin/tocbot/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint no-redeclare: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint no-empty: \"off\" */\n/* eslint semi: \"off\" */\n// -----------------------------------------------------------------------------\n/* globals location, requestAnimationFrame */\n\nexports.initSmoothScrolling = initSmoothScrolling\n\nfunction initSmoothScrolling (options) {\n if (isCssSmoothSCrollSupported()) { }\n\n var duration = options.duration\n var offset = options.offset\n\n var pageUrl = location.hash\n ? stripHash(location.href)\n : location.href\n\n delegatedLinkHijacking()\n\n function delegatedLinkHijacking () {\n document.body.addEventListener('click', onClick, false)\n\n function onClick (e) {\n if (\n !isInPageLink(e.target) ||\n e.target.className.indexOf('no-smooth-scroll') > -1 ||\n (e.target.href.charAt(e.target.href.length - 2) === '#' &&\n e.target.href.charAt(e.target.href.length - 1) === '!') ||\n e.target.className.indexOf(options.linkClass) === -1) {\n return\n }\n\n // Don't prevent default or hash doesn't change.\n // e.preventDefault()\n\n jump(e.target.hash, {\n duration: duration,\n offset: offset,\n callback: function () {\n setFocus(e.target.hash)\n }\n })\n }\n }\n\n function isInPageLink (n) {\n return n.tagName.toLowerCase() === 'a' &&\n (n.hash.length > 0 || n.href.charAt(n.href.length - 1) === '#') &&\n (stripHash(n.href) === pageUrl || stripHash(n.href) + '#' === pageUrl)\n }\n\n function stripHash (url) {\n return url.slice(0, url.lastIndexOf('#'))\n }\n\n function isCssSmoothSCrollSupported () {\n return 'scrollBehavior' in document.documentElement.style\n }\n\n // Adapted from:\n // https://www.nczonline.net/blog/2013/01/15/fixing-skip-to-content-links/\n function setFocus (hash) {\n var element = document.getElementById(hash.substring(1))\n\n if (element) {\n if (!/^(?:a|select|input|button|textarea)$/i.test(element.tagName)) {\n element.tabIndex = -1\n }\n\n element.focus()\n }\n }\n}\n\nfunction jump (target, options) {\n var start = window.pageYOffset\n var opt = {\n duration: options.duration,\n offset: options.offset || 0,\n callback: options.callback,\n easing: options.easing || easeInOutQuad\n }\n // This makes ids that start with a number work: ('[id=\"' + decodeURI(target).split('#').join('') + '\"]')\n // DecodeURI for nonASCII hashes, they was encoded, but id was not encoded, it lead to not finding the tgt element by id.\n // And this is for IE: document.body.scrollTop\n var tgt = document.querySelector('[id=\"' + decodeURI(target).split('#').join('') + '\"]')\n var distance = typeof target === 'string'\n ? opt.offset + (\n target\n ? (tgt && tgt.getBoundingClientRect().top) || 0 // handle non-existent links better.\n : -(document.documentElement.scrollTop || document.body.scrollTop))\n : target\n var duration = typeof opt.duration === 'function'\n ? opt.duration(distance)\n : opt.duration\n var timeStart\n var timeElapsed\n\n requestAnimationFrame(function (time) { timeStart = time; loop(time) })\n function loop (time) {\n timeElapsed = time - timeStart\n\n window.scrollTo(0, opt.easing(timeElapsed, start, distance, duration))\n\n if (timeElapsed < duration) { requestAnimationFrame(loop) } else { end() }\n }\n\n function end () {\n window.scrollTo(0, start + distance)\n\n if (typeof opt.callback === 'function') { opt.callback() }\n }\n\n // Robert Penner's easeInOutQuad - http://robertpenner.com/easing/\n function easeInOutQuad (t, b, c, d) {\n t /= d / 2\n if (t < 1) return c / 2 * t * t + b\n t--\n return -c / 2 * (t * (t - 2) - 1) + b\n }\n}\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/adoc_result_viewer/view_results.js\n # Provides JavaScript functions displaying results for Asciidoctor\n # example block\n #\n # Product/Info:\n # https://jekyll.one\n #\n # Copyright (C) 2021 Juergen Adams\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n # TODO: Improve lanuage settings\n # TODO: Improve auto-hide functionality for the results block\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* global $ */\n// -----------------------------------------------------------------------------\n\nvar timeoutHandle;\n// var language = 'de';\nvar language = document.documentElement.lang;\n\nfunction toggle_result_block(result_block) {\n window.clearTimeout(timeoutHandle); // Clear the timeout object\n result_block.prev().toggleClass('stacked');\n result_block.toggle();\n\n // jadams: Improve auto-hide functionality for the results block\n //\n // timeoutHandle = window.setTimeout(function () {\n // result_block.hide();\n // }, 5000);\n}\n\nfunction insert_result_links() {\n $('.result').each(function(idx, node) {\n var view_result_link;\n var result_block = $(node);\n var title_div = result_block.prev().find('.title');\n\n if (language == 'en') {\n view_result_link = $('<div class=\"view-result j1-viewer\"><span class=\"btn-viewer j1-tooltip\" data-toggle=\"tooltip\" data-placement=\"left\" title=\"toggle results\" data-original-title=\"toggle results\">View</span></div>');\n } else if (language == 'de') {\n view_result_link = $('<div class=\"view-result j1-viewer\"><span class=\"btn-viewer j1-tooltip\" data-toggle=\"tooltip\" data-placement=\"left\" title=\"Anzeige umschalten\" data-original-title=\"toggle results\">Anzeige</span></div>');\n } else {\n view_result_link = $('<div class=\"view-result j1-viewer\"><span class=\"btn-viewer j1-tooltip\" data-toggle=\"tooltip\" data-placement=\"left\" title=\"toggle results\" data-original-title=\"toggle results\">View</span></div>');\n }\n\n title_div.append(view_result_link);\n view_result_link.on('click', function(event) {\n event.preventDefault();\n toggle_result_block(result_block);\n });\n });\n}\n\n$(insert_result_links);\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///(webpack)/buildin/global.js","webpack:///./template.js","webpack:///./node_modules/js-cookie/src/js.cookie.js","webpack:///./node_modules/log4javascript/log4javascript.js","webpack:///./node_modules/lite-url/dist/lite-url.min.js","webpack:///./node_modules/platform/platform.js","webpack:///(webpack)/buildin/module.js","webpack:///./js/adapter/adapter.js","webpack:///./js/core/core.js","webpack:///./js/navigator/navigator.js","webpack:///./js/asciidoctor/asciidoctor.js","webpack:///./js/scroll-smooth/scroll-smooth.js","webpack:///./js/anime/anime.js","webpack:///./js/tocbot/tocbot.js","webpack:///./js/tocbot/default-options.js","webpack:///./js/tocbot/build-html.js","webpack:///./js/tocbot/parse-content.js","webpack:///./js/tocbot/update-toc-scroll.js","webpack:///./js/tocbot/scroll-smooth/index.js","webpack:///./js/adoc_result_viewer/view_results.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","g","this","Function","e","window","Cookies","require","log4javascript","liteURL","platform","j1","adapter","core","navigator","asciidoctor","scrollSmooth","anime","factory","OldCookies","api","noConflict","extend","result","arguments","length","attributes","decode","replace","decodeURIComponent","init","converter","set","document","path","defaults","expires","Date","toUTCString","JSON","stringify","test","write","encodeURIComponent","String","escape","stringifiedAttributes","attributeName","split","cookie","json","jar","cookies","parts","slice","join","charAt","read","parse","getJSON","remove","withConverter","isUndefined","obj","EventSupport","Array","push","len","shift","firstItem","splice","startIndex","deleteCount","itemsAfterDeleted","itemsDeleted","argumentsArray","itemsToAppend","concat","eventTypes","eventListeners","setEventTypes","eventTypesParam","handleError","addEventListener","eventType","listener","array_contains","removeEventListener","array_remove","dispatchEvent","eventArgs","listeners","applicationStartDate","uniqueId","getTime","Math","floor","random","emptyFunction","newLine","pageLoaded","Log4JavaScript","toStr","toString","getExceptionMessage","ex","message","description","getUrlFileName","url","lastSlashIndex","max","lastIndexOf","substr","getExceptionStringRep","exStr","lineNumber","fileName","localEx","logLog","warn","showStackTraces","stack","bool","Boolean","trim","str","splitIntoLines","text","version","edition","urlEncode","arr","val","index","extractBooleanFromParam","param","defaultValue","extractStringFromParam","extractIntFromParam","parseInt","isNaN","extractFunctionFromParam","isError","err","Error","apply","args","methodName","argsStrings","script","returnValue","eval","quietMode","debugMessages","setQuietMode","numberOfErrors","alertAllErrors","setAlertAllErrors","debug","displayDebug","alert","exception","error","alertMessage","enabled","log4javascript_disabled","setEnabled","enable","isEnabled","useTimeStampsInMilliseconds","setTimeStampsInMilliseconds","timeStampsInMilliseconds","isTimeStampsInMilliseconds","evalInScope","expr","setShowStackTraces","show","Level","level","Timer","INFO","start","equals","isGreaterOrEqual","ALL","Number","MIN_VALUE","TRACE","DEBUG","WARN","ERROR","FATAL","OFF","MAX_VALUE","getElapsedTime","anonymousLoggerName","defaultLoggerName","nullLoggerName","rootLoggerName","Logger","parent","children","appenders","loggerLevel","isRoot","isNull","appenderCache","appenderCacheInvalidated","addChild","childLogger","invalidateAppenderCache","additive","getAdditivity","setAdditivity","additivity","valueChanged","addAppender","appender","Appender","setAddedToLogger","removeAppender","setRemovedFromLogger","removeAllAppenders","appenderCount","getEffectiveAppenders","parentEffectiveAppenders","log","params","getEffectiveLevel","finalParamIndex","lastParam","messages","loggingEvent","LoggingEvent","callAppenders","effectiveAppenders","doAppend","setLevel","getLevel","logger","group","initiallyExpanded","groupEnd","timers","time","timeEnd","timer","milliseconds","assert","trace","info","fatal","isEnabledFor","isTraceEnabled","isDebugEnabled","isInfoEnabled","isWarnEnabled","isErrorEnabled","isFatalEnabled","isEntryPoint","loggers","loggerNames","ROOT_LOGGER_DEFAULT_LEVEL","rootLogger","getRootLogger","getLogger","loggerName","parentLogger","lastDotIndex","parentLoggerName","substring","defaultLogger","getDefaultLogger","createDefaultLogger","nullLogger","getNullLogger","resetConfiguration","timeStamp","timeStampInMilliseconds","timeStampInSeconds","getMilliseconds","getThrowableStrRep","getCombinedMessages","Layout","loggerKey","timeStampKey","millisecondsKey","levelKey","messageKey","exceptionKey","urlKey","batchHeader","batchFooter","batchSeparator","returnsPostData","overrideTimeStampsSetting","format","ignoresThrowable","getContentType","allowBatching","getTimeStampValue","getDataValues","combineMessages","dataValues","location","href","hasCustomFields","customFields","setKeys","setCustomField","fieldUpdated","formatWithException","formatted","SimpleDateFormat","SimpleLayout","NullLayout","XmlLayout","escapeNewLines","JsonLayout","readable","colon","tab","lineBreak","HttpPostDataLayout","formatObjectExpansion","depth","indentation","objectsExpanded","doFormat","childDepth","childIndentation","childLines","expansion","childExpansion","formatString","lines","j","jLen","PatternLayout","pattern","DEFAULT_CONVERSION_PATTERN","AlertAppender","BrowserConsoleAppender","layout","threshold","append","setLayout","getLayout","setThreshold","getThreshold","isCombinedMessages","escapeCdata","formatMessage","isReadable","formatValue","prefix","expand","formattedValue","valType","childPrefix","queryBits","regex","monthNames","dayNames","types","G","y","M","w","W","D","F","E","a","H","k","K","h","S","Z","newDateAtMidnight","year","month","day","setMilliseconds","getDifference","date","isBefore","getUTCTime","UTC","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getTimeSince","getPreviousSunday","midday","previousSunday","getDay","getWeekInYear","minimalDaysInFirstWeek","startOfYear","weekInYear","getWeekInMonth","startOfMonth","weekInMonth","getDayInYear","setMinimalDaysInFirstWeek","days","getMinimalDaysInFirstWeek","padWithZeroes","formatText","data","numberOfLetters","minLength","formatNumber","formattedString","searchString","exec","quotedString","patternLetters","otherLetters","otherCharacters","patternLetter","rawData","getTimezoneOffset","absData","abs","hours","minutes","TTCC_CONVERSION_PATTERN","ISO8601_DATEFORMAT","DATETIME_DATEFORMAT","ABSOLUTETIME_DATEFORMAT","matchedString","padding","truncation","conversionCharacter","specifier","replacement","precision","loggerNameBits","dateFormat","fieldIndex","strLen","consoleMethodName","getFormattedMessage","concatenate","formattedMessage","console","opera","postError","xhrFactory","XMLHttpRequest","xmlHttpFactories","ActiveXObject","withCredentialsSupported","getXmlHttp","errorHandler","xmlHttp","ConsoleAppender","isHttpRequestSuccessful","status","AjaxAppender","withCredentials","isSupported","timed","waitForResponse","batchSize","timerInterval","requestSuccessCallback","failCallback","postVarName","sendAllOnUnload","contentType","sessionId","queuedLoggingEvents","queuedRequests","headers","sending","initialized","checkCanConfigure","configOptionName","sendAll","currentRequestBatch","sendRequest","preparePostData","scheduleSending","sendAllRemaining","sendingAnything","currentLoggingEvent","actualBatchSize","batchedLoggingEvents","formattedMessages","postData","setTimeout","xmlHttpErrorHandler","msg","successCallback","onreadystatechange","readyState","open","header","setRequestHeader","headerEx","send","errMsg","getSessionId","setSessionId","sessionIdParam","layoutParam","isTimed","setTimed","timedParam","getTimerInterval","setTimerInterval","timerIntervalParam","isWaitForResponse","setWaitForResponse","waitForResponseParam","getBatchSize","setBatchSize","batchSizeParam","isSendAllOnUnload","setSendAllOnUnload","sendAllOnUnloadParam","setRequestSuccessCallback","requestSuccessCallbackParam","setFailCallback","failCallbackParam","getPostVarName","setPostVarName","postVarNameParam","getHeaders","addHeader","toLowerCase","oldBeforeUnload","onbeforeunload","setCookie","setTime","toGMTString","getCookie","nameEquals","ca","indexOf","unescape","getBaseUrl","scripts","getElementsByTagName","src","lastSlash","isLoaded","win","loaded","padWithSpaces","spaces","numberOfSpaces","PopUpAppender","defaultCommandLineFunctions","consoleAppenderIdCounter","lazyInit","initiallyMinimized","useDocumentWrite","width","height","focusPopUp","InPageAppender","container","inPage","focusConsoleWindow","consoleWindowCreated","consoleWindowLoaded","consoleClosed","consoleAppenderId","newestMessageAtTop","scrollToLatestMessage","createWindow","safeToAppend","getConsoleWindow","maxMessages","showCommandLine","commandLineObjectExpansionDepth","showHideButton","showCloseButton","appenderName","consoleWindowExists","isNewestMessageAtTop","setNewestMessageAtTop","newestMessageAtTopParam","setNewestAtTop","isScrollToLatestMessage","setScrollToLatestMessage","scrollToLatestMessageParam","setScrollToLatest","getWidth","setWidth","widthParam","getHeight","setHeight","heightParam","getMaxMessages","setMaxMessages","maxMessagesParam","isShowCommandLine","setShowCommandLine","showCommandLineParam","isShowHideButton","setShowHideButton","showHideButtonParam","isShowCloseButton","setShowCloseButton","showCloseButtonParam","getCommandLineObjectExpansionDepth","setCommandLineObjectExpansionDepth","commandLineObjectExpansionDepthParam","minimized","QueuedLoggingEvent","levelName","QueuedGroup","QueuedGroupEnd","isInitiallyMinimized","setInitiallyMinimized","initiallyMinimizedParam","isUseDocumentWrite","setUseDocumentWrite","useDocumentWriteParam","checkAndAppend","reopenWhenClosed","appendQueuedLoggingEvents","focus","clear","clearLog","focusCommandLine","focusSearch","commandWindow","getCommandWindow","setCommandWindow","commandWindowParam","executeLastCommand","evalLastCommand","commandLayout","getCommandLayout","setCommandLayout","commandLayoutParam","evalCommandAndAppend","commandReturnValue","appendResult","commandOutput","execScript","commandLineFunctionsHash","commandLineFunctions","objectsToRestore","addObjectToRestore","addFunctionToWindow","evalExpr","mainLayout","addCommandLineFunction","functionName","commandLineFunction","storeCommandHistory","commandHistory","writeHtml","doc","writeln","close","consoleWindowLoadHandler","setAppender","setMainWindow","storedValue","currentCommandIndex","unload","caller","pollConsoleWindow","windowTest","interval","errorMessage","poll","setInterval","clearInterval","getConsoleUrl","documentDomainSet","domain","hostname","containerElement","cssProperties","addCssProperty","iframeContainerDiv","windowCreationStarted","iframeId","hide","$","blur","style","display","isVisible","fromButton","confirm","parentNode","removeChild","initErrorMessage","finalInit","writeToDocument","appendChild","createElement","border","iframeSrc","innerHTML","iframeDocumentExistsTest","pageLoadHandler","el","getElementById","nodeType","position","left","right","bottom","body","iframe","frames","popUp","useOldPopUp","complainAboutPopUpBlocking","isUseOldPopUp","setUseOldPopUp","useOldPopUpParam","isComplainAboutPopUpBlocking","setComplainAboutPopUpBlocking","complainAboutPopUpBlockingParam","isFocusPopUp","setFocusPopUp","focusPopUpParam","isReopenWhenClosed","setReopenWhenClosed","reopenWhenClosedParam","windowProperties","frameInfo","frameEl","frameElement","tagName","id","windowName","host","checkPopUpClosed","closed","popUpClosedCallback","setCloseIfOpenerCloses","mainPageReloaded","addGlobalCommandLineFunction","showLogEntryDeleteButtons","InlineAppender","dir","maxLen","propList","propVal","propNameStr","nodeTypes","preFormattedElements","emptyElements","getXhtml","rootNode","includeRootNode","startNewLine","preformatted","xhtml","node","getStyleAttributeValue","stylePairs","cssText","styleValue","nameValueBits","props","childNodes","outerHTML","RegExp","$1","hasPrefix","currentAttr","specified","nodeValue","nodeName","hasChildNodes","childStartNewLine","childPreformatted","endTag","lt","trimmedLines","keys","values","expansionDepth","setDocumentReady","attachEvent","oldOnload","onload","evt","hash","origin","pathname","protocol","search","password","username","port","changeQueryParser","objectTypes","root","freeExports","freeModule","freeGlobal","global","self","maxSafeInteger","pow","reOpera","objectProto","capitalize","string","toUpperCase","forOwn","callback","getClassOf","qualify","reduce","array","accumulator","each","ua","context","isCustomContext","nav","userAgent","isSpecialCasedOS","type","likeChrome","airRuntimeClass","enviroClass","javaClass","java","phantomClass","rhino","environment","alpha","beta","operamini","operaClass","arch","prerelease","useFeatures","guess","label","guesses","getName","product","getProduct","manufacturer","getManufacturer","os","cleanupOS","getOS","getVersion","patterns","unshift","parseFloat","runtime","flash","system","Capabilities","phantom","major","minor","patch","documentMode","toFixed","lang","System","getProperty","process","browser","versions","electron","nw","appMinorVersion","external","family","architecture","cpuClass","webpackPolyfill","deprecate","paths","_init_","options","foo","bar","getState","isMobile","ua_name","mobile","vendor","bsFormClearButton","on","nextAll","removeClass","addClass","createDropCap","$p","firstLetter","marginalDropCap","html","logText","defaultOptions","menuOptions","manageDropdownMenu","navbarSticky","eventHandler","action","sendMessage","$getNav","click","preventDefault","hasClass","wrap","postsArr","$postsList","find","firstList","round","secondList","ListHTML","createHTML","list","first","after","next","last","dropDown","megaMenu","closest","prepend","navbarHeighth","outerHeight","scrollTop","animate","slideToggle","is","unbind","slideUp","stopPropagation","toggle","css","wrapInner","$menu","breakPoint","$dropDown","timeoutHandle","navDefaultOptions","navMenuOptions","$getWindow","matchMedia","matches","$getIn","$getOut","menuSelector","xhr_container_id","delayMenuOpen","delay_menu_open","nav_bar","media_breakpoint","off","stop","fadeToggle","fadeOut","hover","$list","eq","fadeIn","clearTimeout","windowHeight","windowWidth","getId","$getHeight","getOffset","offset","top","updateSidebar","user_data","json_message","resolveMacros","updateMacros","jQuery","moduleOptions","dummyOption","callouts","colgroupList","conums","dependencies_met_page_finished","scroll","target","duration","scrollTo","timeStart","timeElapsed","pageYOffset","opt","easing","b","tgt","querySelector","decodeURI","distance","getBoundingClientRect","documentElement","loop","requestAnimationFrame","defaultInstanceSettings","update","begin","loopBegin","changeBegin","change","changeComplete","loopComplete","complete","direction","autoplay","timelineOffset","defaultTweenSettings","delay","endDelay","validTransforms","cache","CSS","springs","minMax","min","stringContains","applyArguments","func","isArray","pth","svg","SVGElement","inp","HTMLInputElement","dom","fnc","und","hex","rgb","hsl","col","parseEasingParameters","match","map","spring","mass","stiffness","damping","velocity","w0","sqrt","zeta","wd","solver","progress","exp","cos","sin","cached","elapsed","rest","steps","ceil","eases","functionEasings","bezier","A","aA1","aA2","B","C","calcBezier","aT","getSlope","mX1","mY1","mX2","mY2","sampleValues","Float32Array","x","getTForX","aX","intervalStart","currentSample","kSplineTableSize","guessForT","initialSlope","aGuessT","currentSlope","newtonRaphsonIterate","aA","aB","currentX","currentT","binarySubdivide","penner","linear","Sine","PI","Circ","Back","Bounce","pow2","Elastic","amplitude","period","asin","forEach","easeIn","parseEasings","ease","selectString","querySelectorAll","filterArray","thisArg","flattenArray","toArray","NodeList","HTMLCollection","arrayContains","some","cloneObject","clone","replaceObjectProps","o1","o2","mergeObjects","colorToRgb","rgbValue","hexValue","hexToRgba","hslValue","hue2rgb","q","hslToRgba","getUnit","getFunctionValue","animatable","total","getAttribute","prop","convertPxToUnit","unit","tempEl","parentEl","factor","offsetWidth","convertedUnit","getCSSValue","uppercasePropName","getComputedStyle","getPropertyValue","getAnimationType","getElementTransforms","transform","reg","transforms","Map","getTransformValue","propName","defaultVal","getTransformUnit","getOriginalTargetValue","getRelativeValue","to","from","operator","u","validateValue","originalUnit","unitLess","getDistance","p1","p2","getPolylineLength","previousPos","points","totalLength","numberOfItems","currentPos","getItem","getTotalLength","getCircleLength","getRectLength","getLineLength","getPolygonLength","getParentSvg","pathEl","svgData","parentSvgEl","getParentSvgEl","rect","viewBoxAttr","viewBox","getPathProgress","point","getPointAtLength","p0","atan2","decomposeValue","rgx","original","numbers","strings","parseTargets","targets","item","pos","getAnimatables","parsed","normalizePropertyTweens","tweenSettings","settings","propArray","v","getProperties","properties","keyframes","propertyNames","newKey","flattenKeyframes","tweens","normalizeTweens","previousTween","tween","normalizeTweenValues","tweenValue","toUnit","originalValue","previousValue","fromUnit","end","isPath","isColor","setProgressValue","attribute","setAttribute","manual","setTargetsValue","valueUnit","animType","getAnimations","animatables","lastTween","createAnimation","getInstanceTimings","animations","animLength","getTlOffset","anim","timings","instanceID","raf","activeInstances","pausedInstances","engine","play","step","activeInstancesLength","activeInstance","paused","instanceIndex","tick","cancelAnimationFrame","startTime","lastTime","now","childrenLength","resolve","makePromise","instance","promise","Promise","_resolve","finished","instanceSettings","createNewInstance","toggleInstanceDirection","reversed","child","adjustTime","resetTime","currentTime","speed","seekChild","seek","setAnimationsProgress","insTime","animationsLength","tweenLength","eased","toNumbersLength","toNumber","fromNumber","stringsLength","n$1","currentValue","setCallback","cb","passThrough","setInstanceProgress","engineTime","insDuration","insDelay","insEndDelay","reversePlayback","i$1","syncInstanceChildren","began","loopBegan","changeBegan","changeCompleted","remaining","completed","reset","pause","reverse","restart","removeTargetsFromAnimations","targetsArray","hidden","ins","running","childAnimations","convertPx","percent","setDashoffset","pathLength","stagger","grid","axis","fromIndex","fromFirst","fromCenter","fromLast","isRange","val1","val2","maxValue","fromX","fromY","distanceX","distanceY","timeline","tl","add","instanceParams","tlIndex","insParams","tlDuration","define","buildHtml","parseContent","headingsArray","tocbot","BuildHtml","ParseContent","updateTocScroll","supports","destroy","skipRendering","tocSelector","scrollContainer","_scrollListener","_clickListener","customOptions","source","state","scrollSmoothDuration","scrollSmoothOffset","initSmoothScrolling","_buildHtml","_parseContent","selectHeadings","contentSelector","headingSelector","nestedHeadings","nestHeadingsArray","nest","render","throttle","updateToc","disableTocScrollSync","isTop","scrollingElement","eventPhase","currentTarget","scrollEndCallback","throttleTimeout","timeout","event","disableTocAnimation","enableTocAnimation","refresh","fn","scope","deferTimer","ignoreSelector","hasInnerContainers","linkClass","extraLinkClasses","activeLinkClass","listClass","extraListClasses","isCollapsedClass","collapsibleClass","listItemClass","activeListItemClass","collapseDepth","headingsOffset","positionFixedSelector","positionFixedClass","fixedSidebarOffset","includeHtml","onClick","orderedList","headingLabelCallback","ignoreHiddenElements","headingObjectCallback","basePath","currentlyHighlighting","createEl","link","onclick","cloneNode","textContent","createLink","createList","isCollapsed","listElement","classes","srcElement","className","selector","firstChild","posFixedEl","offsetTop","updateFixedSidebarClass","topHeader","headings","heading","getHeadingTopPos","offsetParent","tocLinks","tocLink","tocLis","tocLi","activeTocLink","li","tocLists","nextSibling","removeCollapsedFromParents","element","getLastItem","getHeadingLevel","getHeadingObject","HTMLElement","offsetHeight","headingLevel","prev","curr","currentHeading","lastItem","counter","undefined","addNode","selectors","toc","scrollHeight","clientHeight","activeItem","pageUrl","stripHash","jump","tabIndex","language","idx","view_result_link","result_block","title_div","toggleClass","toggle_result_block"],"mappings":"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","file":"template.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/assets/themes/j1/core/js\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 1);\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","/*\n # -----------------------------------------------------------------------------\n # ~/src/template.js\n # J1 Template Javascript Core library\n #\n # Product/Info:\n # https://jekyll.one\n #\n # Copyright (C) 2021 Juergen Adams\n #\n # J1 Template is licensed under the MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n #\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint-disable no-unused-vars */\n/* global window */\n\n// -----------------------------------------------------------------------------\n// Import SASS sources for HMR\n// -----------------------------------------------------------------------------\n// import '../100_template_css/scss/theme_uno/components/_footer.scss';\n// import '../100_template_css/theme_uno.css'; // <-- yes, also require (s)css. This is a Webpack thing\n\n// Core Libraries - imported|required from NODE|NPM modules\n// -----------------------------------------------------------------------------\n//\n// Following objects (framework modules) are *conditionaly* forced to be\n// exposed for run-time to the global namespace (window) by WP config\n// file (expose-loader):\n// jQuery\n// Popper ('popper.js/dist/umd/popper', https://github.com/twbs/bootstrap/issues/23381)\n// -----------------------------------------------------------------------------\n\n// Core Utilities (moved to modules)\n// -----------------------------------------------------------------------------\n// Following objects (native node modules) are *explicitely* forced to be\n// exposed for run-time to the global namespace (window).\n// -----------------------------------------------------------------------------\nwindow.Cookies = require('js-cookie');\nwindow.log4javascript = require('log4javascript');\nwindow.liteURL = require('lite-url');\nwindow.platform = require('platform');\n// window.yaml = require('js-yaml'); # NOT longer used/needed\n// window.uuid = require('uuid/v4'); # NOT longer used/needed\n\n// Core Libraries - build|required from SOURCE\n// -----------------------------------------------------------------------------\n\n// Following source objects|modules are *explicitely* forced to be\n// exposed for run-time to the global namespace (window).\n// -----------------------------------------------------------------------------\nwindow.j1.adapter = require('./js/adapter/adapter.js');\nwindow.j1.core = require('./js/core/core.js');\nwindow.j1.core.navigator = require('./js/navigator/navigator.js');\n// window.j1.core.cookiebar = require('./js/cookiebar/cookiebar.js');\n// window.j1.core.cookieconsent = require('./js/cookieconsent/cookieconsent.js');\nwindow.j1.core.asciidoctor = require('./js/asciidoctor/asciidoctor.js');\nwindow.j1.core.scrollSmooth = require('./js/scroll-smooth/scroll-smooth.js');\nwindow.j1.anime = require('./js/anime/anime.js'); // added for fam\n// window.j1.fam = require('./js/fam/fam.js'); // cannot used until NOT rewritten to jQuery\n\n// Following source objects|modules are *implicetly* forced to be\n// exposed for run-time to the global namespace (window).\n// -----------------------------------------------------------------------------\n//const Bootstrap = require('./js/bootstrap/bootstrap.js');\n//const J1JekyllSearch = require('./js/jekyll_search/jekyll_search.js');\nconst J1Tocbot = require('./js/tocbot/tocbot.js');\n//const J1ThemeSwitcher = require('./js/bs_theme_switcher/switcher.js');\n// const J1MmenuLight = require('./js/mmenu-light/mmenu.js');\n\n// Passing log data over Internet|SeeMe (currently NOT used)\n// -----------------------------------------------------------------------------\n// window.j1.core.log4javascript = require('./js/logger/client/webhook.js');\n\n// BMD Libraries (moved to modules)\n// -----------------------------------------------------------------------------\n// window.bootstrapMaterialDesign = require('./js/bmd/js/bmd.js');\n\n// Github Webhooks (currently NOT used)\n// -----------------------------------------------------------------------------\n// window.j1.core.webhooks = require('./js/webhooks/octokit/client.js');\n\n\n// Test|Custom modules (currently NOT used)\n// -----------------------------------------------------------------------------\n// window.j1promiseTest = require('./js/custom/test_promises.js');\n// window.j1Example = require('./js/custom/example_module.js');\n\n// BS Libraries (moved to modules)\n// -----------------------------------------------------------------------------\n// Following source objects|modules are *implicetly* forced to be\n// exposed for run-time to the global namespace (window).\n// -----------------------------------------------------------------------------\n// const Bootstrap = require('./js/bootstrap/bootstrap.js');\n\n// const J1JekyllSearch = require('./js/jekyll_search/jekyll_search.js'); // Buffer Kack\n// const J1Tocbot = require('./js/tocbot/tocbot.js');\n\n// Backstretch (moved to modules)\n// -----------------------------------------------------------------------------\n// Following source objects|modules are *implicetly* forced to be\n// exposed for run-time to the namespace of jQuery ($).\n// -----------------------------------------------------------------------------\n// const J1Attics = require('./js/backstretch/backstretch.js');\n\n// Additional Vanilla JS helpers\n// -----------------------------------------------------------------------------\nconst J1AdocResultViewer = require('./js/adoc_result_viewer/view_results.js');\n// const MSIEPolyfills = require('./js/polyfills/ms-ie.js');\n\n// HMR messages (currently NOT used)\n// -----------------------------------------------------------------------------\n// if (module.hot) {\n// var logtext;\n// var stat;\n// var stat=module.hot.status();\n//\n// logtext='[INFO ] [HMR ] [Hot Module Replacement enabled]';\n// console.log(logtext);\n// logtext='[INFO ] [HMR ] [Status: ' + stat + ']';\n// console.log(logtext);\n//\n// module.hot.accept('./template.js', function() {\n// console.log('[HMR] Accepting the updated template.js module!');\n// });\n//\n// module.hot.accept('../100_template_css/theme_uno.scss', function () {\n// console.log('[HMR] Accepting the updated style.css module!');\n// require('../100_template_css/theme_uno.scss')\n// })\n//\n// React to the current status...\n// module.hot.addStatusHandler(status => {\n// stat=module.hot.status();\n// logtext='[INFO ] [HMR ] [Status: ' + stat + ']';\n// console.log(logtext);\n// });\n//}\n\n// -----------------------------------------------------------------------------\n// END\n","/*!\n * JavaScript Cookie v2.2.1\n * https://github.com/js-cookie/js-cookie\n *\n * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n * Released under the MIT license\n */\n;(function (factory) {\n\tvar registeredInModuleLoader;\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine(factory);\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (typeof exports === 'object') {\n\t\tmodule.exports = factory();\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (!registeredInModuleLoader) {\n\t\tvar OldCookies = window.Cookies;\n\t\tvar api = window.Cookies = factory();\n\t\tapi.noConflict = function () {\n\t\t\twindow.Cookies = OldCookies;\n\t\t\treturn api;\n\t\t};\n\t}\n}(function () {\n\tfunction extend () {\n\t\tvar i = 0;\n\t\tvar result = {};\n\t\tfor (; i < arguments.length; i++) {\n\t\t\tvar attributes = arguments[ i ];\n\t\t\tfor (var key in attributes) {\n\t\t\t\tresult[key] = attributes[key];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tfunction decode (s) {\n\t\treturn s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);\n\t}\n\n\tfunction init (converter) {\n\t\tfunction api() {}\n\n\t\tfunction set (key, value, attributes) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tattributes = extend({\n\t\t\t\tpath: '/'\n\t\t\t}, api.defaults, attributes);\n\n\t\t\tif (typeof attributes.expires === 'number') {\n\t\t\t\tattributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5);\n\t\t\t}\n\n\t\t\t// We're using \"expires\" because \"max-age\" is not supported by IE\n\t\t\tattributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';\n\n\t\t\ttry {\n\t\t\t\tvar result = JSON.stringify(value);\n\t\t\t\tif (/^[\\{\\[]/.test(result)) {\n\t\t\t\t\tvalue = result;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\n\t\t\tvalue = converter.write ?\n\t\t\t\tconverter.write(value, key) :\n\t\t\t\tencodeURIComponent(String(value))\n\t\t\t\t\t.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n\n\t\t\tkey = encodeURIComponent(String(key))\n\t\t\t\t.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)\n\t\t\t\t.replace(/[\\(\\)]/g, escape);\n\n\t\t\tvar stringifiedAttributes = '';\n\t\t\tfor (var attributeName in attributes) {\n\t\t\t\tif (!attributes[attributeName]) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tstringifiedAttributes += '; ' + attributeName;\n\t\t\t\tif (attributes[attributeName] === true) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Considers RFC 6265 section 5.2:\n\t\t\t\t// ...\n\t\t\t\t// 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n\t\t\t\t// character:\n\t\t\t\t// Consume the characters of the unparsed-attributes up to,\n\t\t\t\t// not including, the first %x3B (\";\") character.\n\t\t\t\t// ...\n\t\t\t\tstringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n\t\t\t}\n\n\t\t\treturn (document.cookie = key + '=' + value + stringifiedAttributes);\n\t\t}\n\n\t\tfunction get (key, json) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar jar = {};\n\t\t\t// To prevent the for loop in the first place assign an empty array\n\t\t\t// in case there are no cookies at all.\n\t\t\tvar cookies = document.cookie ? document.cookie.split('; ') : [];\n\t\t\tvar i = 0;\n\n\t\t\tfor (; i < cookies.length; i++) {\n\t\t\t\tvar parts = cookies[i].split('=');\n\t\t\t\tvar cookie = parts.slice(1).join('=');\n\n\t\t\t\tif (!json && cookie.charAt(0) === '\"') {\n\t\t\t\t\tcookie = cookie.slice(1, -1);\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tvar name = decode(parts[0]);\n\t\t\t\t\tcookie = (converter.read || converter)(cookie, name) ||\n\t\t\t\t\t\tdecode(cookie);\n\n\t\t\t\t\tif (json) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tcookie = JSON.parse(cookie);\n\t\t\t\t\t\t} catch (e) {}\n\t\t\t\t\t}\n\n\t\t\t\t\tjar[name] = cookie;\n\n\t\t\t\t\tif (key === name) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {}\n\t\t\t}\n\n\t\t\treturn key ? jar[key] : jar;\n\t\t}\n\n\t\tapi.set = set;\n\t\tapi.get = function (key) {\n\t\t\treturn get(key, false /* read as raw */);\n\t\t};\n\t\tapi.getJSON = function (key) {\n\t\t\treturn get(key, true /* read as json */);\n\t\t};\n\t\tapi.remove = function (key, attributes) {\n\t\t\tset(key, '', extend(attributes, {\n\t\t\t\texpires: -1\n\t\t\t}));\n\t\t};\n\n\t\tapi.defaults = {};\n\n\t\tapi.withConverter = init;\n\n\t\treturn api;\n\t}\n\n\treturn init(function () {});\n}));\n","/**\r\n * Copyright 2015 Tim Down.\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\n\r\n(function(factory,root){if(typeof define==\"function\"&&define.amd){define(factory);}else if(typeof module!=\"undefined\"&&typeof exports==\"object\"){module.exports=factory();}else{root.log4javascript=factory();}})(function(){if(!Array.prototype.push){Array.prototype.push=function(){for(var i=0,len=arguments.length;i<len;i++){this[this.length]=arguments[i];}\r\nreturn this.length;};}\r\nif(!Array.prototype.shift){Array.prototype.shift=function(){if(this.length>0){var firstItem=this[0];for(var i=0,len=this.length-1;i<len;i++){this[i]=this[i+1];}\r\nthis.length=this.length-1;return firstItem;}};}\r\nif(!Array.prototype.splice){Array.prototype.splice=function(startIndex,deleteCount){var itemsAfterDeleted=this.slice(startIndex+deleteCount);var itemsDeleted=this.slice(startIndex,startIndex+deleteCount);this.length=startIndex;var argumentsArray=[];for(var i=0,len=arguments.length;i<len;i++){argumentsArray[i]=arguments[i];}\r\nvar itemsToAppend=(argumentsArray.length>2)?itemsAfterDeleted=argumentsArray.slice(2).concat(itemsAfterDeleted):itemsAfterDeleted;for(i=0,len=itemsToAppend.length;i<len;i++){this.push(itemsToAppend[i]);}\r\nreturn itemsDeleted;};}\r\nfunction isUndefined(obj){return typeof obj==\"undefined\";}\r\nfunction EventSupport(){}\r\nEventSupport.prototype={eventTypes:[],eventListeners:{},setEventTypes:function(eventTypesParam){if(eventTypesParam instanceof Array){this.eventTypes=eventTypesParam;this.eventListeners={};for(var i=0,len=this.eventTypes.length;i<len;i++){this.eventListeners[this.eventTypes[i]]=[];}}else{handleError(\"log4javascript.EventSupport [\"+this+\"]: setEventTypes: eventTypes parameter must be an Array\");}},addEventListener:function(eventType,listener){if(typeof listener==\"function\"){if(!array_contains(this.eventTypes,eventType)){handleError(\"log4javascript.EventSupport [\"+this+\"]: addEventListener: no event called '\"+eventType+\"'\");}\r\nthis.eventListeners[eventType].push(listener);}else{handleError(\"log4javascript.EventSupport [\"+this+\"]: addEventListener: listener must be a function\");}},removeEventListener:function(eventType,listener){if(typeof listener==\"function\"){if(!array_contains(this.eventTypes,eventType)){handleError(\"log4javascript.EventSupport [\"+this+\"]: removeEventListener: no event called '\"+eventType+\"'\");}\r\narray_remove(this.eventListeners[eventType],listener);}else{handleError(\"log4javascript.EventSupport [\"+this+\"]: removeEventListener: listener must be a function\");}},dispatchEvent:function(eventType,eventArgs){if(array_contains(this.eventTypes,eventType)){var listeners=this.eventListeners[eventType];for(var i=0,len=listeners.length;i<len;i++){listeners[i](this,eventType,eventArgs);}}else{handleError(\"log4javascript.EventSupport [\"+this+\"]: dispatchEvent: no event called '\"+eventType+\"'\");}}};var applicationStartDate=new Date();var uniqueId=\"log4javascript_\"+applicationStartDate.getTime()+\"_\"+\r\nMath.floor(Math.random()*100000000);var emptyFunction=function(){};var newLine=\"\\r\\n\";var pageLoaded=false;function Log4JavaScript(){}\r\nLog4JavaScript.prototype=new EventSupport();var log4javascript=new Log4JavaScript();log4javascript.version=\"1.4.13\";log4javascript.edition=\"log4javascript\";function toStr(obj){if(obj&&obj.toString){return obj.toString();}else{return String(obj);}}\r\nfunction getExceptionMessage(ex){if(ex.message){return ex.message;}else if(ex.description){return ex.description;}else{return toStr(ex);}}\r\nfunction getUrlFileName(url){var lastSlashIndex=Math.max(url.lastIndexOf(\"/\"),url.lastIndexOf(\"\\\\\"));return url.substr(lastSlashIndex+1);}\r\nfunction getExceptionStringRep(ex){if(ex){var exStr=\"Exception: \"+getExceptionMessage(ex);try{if(ex.lineNumber){exStr+=\" on line number \"+ex.lineNumber;}\r\nif(ex.fileName){exStr+=\" in file \"+getUrlFileName(ex.fileName);}}catch(localEx){logLog.warn(\"Unable to obtain file and line information for error\");}\r\nif(showStackTraces&&ex.stack){exStr+=newLine+\"Stack trace:\"+newLine+ex.stack;}\r\nreturn exStr;}\r\nreturn null;}\r\nfunction bool(obj){return Boolean(obj);}\r\nfunction trim(str){return str.replace(/^\\s+/,\"\").replace(/\\s+$/,\"\");}\r\nfunction splitIntoLines(text){var text2=text.replace(/\\r\\n/g,\"\\n\").replace(/\\r/g,\"\\n\");return text2.split(\"\\n\");}\r\nvar urlEncode=(typeof window.encodeURIComponent!=\"undefined\")?function(str){return encodeURIComponent(str);}:function(str){return escape(str).replace(/\\+/g,\"%2B\").replace(/\"/g,\"%22\").replace(/'/g,\"%27\").replace(/\\//g,\"%2F\").replace(/=/g,\"%3D\");};function array_remove(arr,val){var index=-1;for(var i=0,len=arr.length;i<len;i++){if(arr[i]===val){index=i;break;}}\r\nif(index>=0){arr.splice(index,1);return true;}else{return false;}}\r\nfunction array_contains(arr,val){for(var i=0,len=arr.length;i<len;i++){if(arr[i]==val){return true;}}\r\nreturn false;}\r\nfunction extractBooleanFromParam(param,defaultValue){if(isUndefined(param)){return defaultValue;}else{return bool(param);}}\r\nfunction extractStringFromParam(param,defaultValue){if(isUndefined(param)){return defaultValue;}else{return String(param);}}\r\nfunction extractIntFromParam(param,defaultValue){if(isUndefined(param)){return defaultValue;}else{try{var value=parseInt(param,10);return isNaN(value)?defaultValue:value;}catch(ex){logLog.warn(\"Invalid int param \"+param,ex);return defaultValue;}}}\r\nfunction extractFunctionFromParam(param,defaultValue){if(typeof param==\"function\"){return param;}else{return defaultValue;}}\r\nfunction isError(err){return(err instanceof Error);}\r\nif(!Function.prototype.apply){Function.prototype.apply=function(obj,args){var methodName=\"__apply__\";if(typeof obj[methodName]!=\"undefined\"){methodName+=String(Math.random()).substr(2);}\r\nobj[methodName]=this;var argsStrings=[];for(var i=0,len=args.length;i<len;i++){argsStrings[i]=\"args[\"+i+\"]\";}\r\nvar script=\"obj.\"+methodName+\"(\"+argsStrings.join(\",\")+\")\";var returnValue=eval(script);delete obj[methodName];return returnValue;};}\r\nif(!Function.prototype.call){Function.prototype.call=function(obj){var args=[];for(var i=1,len=arguments.length;i<len;i++){args[i-1]=arguments[i];}\r\nreturn this.apply(obj,args);};}\r\nvar logLog={quietMode:false,debugMessages:[],setQuietMode:function(quietMode){this.quietMode=bool(quietMode);},numberOfErrors:0,alertAllErrors:false,setAlertAllErrors:function(alertAllErrors){this.alertAllErrors=alertAllErrors;},debug:function(message){this.debugMessages.push(message);},displayDebug:function(){alert(this.debugMessages.join(newLine));},warn:function(message,exception){},error:function(message,exception){if(++this.numberOfErrors==1||this.alertAllErrors){if(!this.quietMode){var alertMessage=\"log4javascript error: \"+message;if(exception){alertMessage+=newLine+newLine+\"Original error: \"+getExceptionStringRep(exception);}\r\nalert(alertMessage);}}}};log4javascript.logLog=logLog;log4javascript.setEventTypes([\"load\",\"error\"]);function handleError(message,exception){logLog.error(message,exception);log4javascript.dispatchEvent(\"error\",{\"message\":message,\"exception\":exception});}\r\nlog4javascript.handleError=handleError;var enabled=!((typeof log4javascript_disabled!=\"undefined\")&&log4javascript_disabled);log4javascript.setEnabled=function(enable){enabled=bool(enable);};log4javascript.isEnabled=function(){return enabled;};var useTimeStampsInMilliseconds=true;log4javascript.setTimeStampsInMilliseconds=function(timeStampsInMilliseconds){useTimeStampsInMilliseconds=bool(timeStampsInMilliseconds);};log4javascript.isTimeStampsInMilliseconds=function(){return useTimeStampsInMilliseconds;};log4javascript.evalInScope=function(expr){return eval(expr);};var showStackTraces=false;log4javascript.setShowStackTraces=function(show){showStackTraces=bool(show);};var Level=function(level,name){this.level=level;this.name=name;};Level.prototype={toString:function(){return this.name;},equals:function(level){return this.level==level.level;},isGreaterOrEqual:function(level){return this.level>=level.level;}};Level.ALL=new Level(Number.MIN_VALUE,\"ALL\");Level.TRACE=new Level(10000,\"TRACE\");Level.DEBUG=new Level(20000,\"DEBUG\");Level.INFO=new Level(30000,\"INFO\");Level.WARN=new Level(40000,\"WARN\");Level.ERROR=new Level(50000,\"ERROR\");Level.FATAL=new Level(60000,\"FATAL\");Level.OFF=new Level(Number.MAX_VALUE,\"OFF\");log4javascript.Level=Level;function Timer(name,level){this.name=name;this.level=isUndefined(level)?Level.INFO:level;this.start=new Date();}\r\nTimer.prototype.getElapsedTime=function(){return new Date().getTime()-this.start.getTime();};var anonymousLoggerName=\"[anonymous]\";var defaultLoggerName=\"[default]\";var nullLoggerName=\"[null]\";var rootLoggerName=\"root\";function Logger(name){this.name=name;this.parent=null;this.children=[];var appenders=[];var loggerLevel=null;var isRoot=(this.name===rootLoggerName);var isNull=(this.name===nullLoggerName);var appenderCache=null;var appenderCacheInvalidated=false;this.addChild=function(childLogger){this.children.push(childLogger);childLogger.parent=this;childLogger.invalidateAppenderCache();};var additive=true;this.getAdditivity=function(){return additive;};this.setAdditivity=function(additivity){var valueChanged=(additive!=additivity);additive=additivity;if(valueChanged){this.invalidateAppenderCache();}};this.addAppender=function(appender){if(isNull){handleError(\"Logger.addAppender: you may not add an appender to the null logger\");}else{if(appender instanceof log4javascript.Appender){if(!array_contains(appenders,appender)){appenders.push(appender);appender.setAddedToLogger(this);this.invalidateAppenderCache();}}else{handleError(\"Logger.addAppender: appender supplied ('\"+\r\ntoStr(appender)+\"') is not a subclass of Appender\");}}};this.removeAppender=function(appender){array_remove(appenders,appender);appender.setRemovedFromLogger(this);this.invalidateAppenderCache();};this.removeAllAppenders=function(){var appenderCount=appenders.length;if(appenderCount>0){for(var i=0;i<appenderCount;i++){appenders[i].setRemovedFromLogger(this);}\r\nappenders.length=0;this.invalidateAppenderCache();}};this.getEffectiveAppenders=function(){if(appenderCache===null||appenderCacheInvalidated){var parentEffectiveAppenders=(isRoot||!this.getAdditivity())?[]:this.parent.getEffectiveAppenders();appenderCache=parentEffectiveAppenders.concat(appenders);appenderCacheInvalidated=false;}\r\nreturn appenderCache;};this.invalidateAppenderCache=function(){appenderCacheInvalidated=true;for(var i=0,len=this.children.length;i<len;i++){this.children[i].invalidateAppenderCache();}};this.log=function(level,params){if(enabled&&level.isGreaterOrEqual(this.getEffectiveLevel())){var exception;var finalParamIndex=params.length-1;var lastParam=params[finalParamIndex];if(params.length>1&&isError(lastParam)){exception=lastParam;finalParamIndex--;}\r\nvar messages=[];for(var i=0;i<=finalParamIndex;i++){messages[i]=params[i];}\r\nvar loggingEvent=new LoggingEvent(this,new Date(),level,messages,exception);this.callAppenders(loggingEvent);}};this.callAppenders=function(loggingEvent){var effectiveAppenders=this.getEffectiveAppenders();for(var i=0,len=effectiveAppenders.length;i<len;i++){effectiveAppenders[i].doAppend(loggingEvent);}};this.setLevel=function(level){if(isRoot&&level===null){handleError(\"Logger.setLevel: you cannot set the level of the root logger to null\");}else if(level instanceof Level){loggerLevel=level;}else{handleError(\"Logger.setLevel: level supplied to logger \"+\r\nthis.name+\" is not an instance of log4javascript.Level\");}};this.getLevel=function(){return loggerLevel;};this.getEffectiveLevel=function(){for(var logger=this;logger!==null;logger=logger.parent){var level=logger.getLevel();if(level!==null){return level;}}};this.group=function(name,initiallyExpanded){if(enabled){var effectiveAppenders=this.getEffectiveAppenders();for(var i=0,len=effectiveAppenders.length;i<len;i++){effectiveAppenders[i].group(name,initiallyExpanded);}}};this.groupEnd=function(){if(enabled){var effectiveAppenders=this.getEffectiveAppenders();for(var i=0,len=effectiveAppenders.length;i<len;i++){effectiveAppenders[i].groupEnd();}}};var timers={};this.time=function(name,level){if(enabled){if(isUndefined(name)){handleError(\"Logger.time: a name for the timer must be supplied\");}else if(level&&!(level instanceof Level)){handleError(\"Logger.time: level supplied to timer \"+\r\nname+\" is not an instance of log4javascript.Level\");}else{timers[name]=new Timer(name,level);}}};this.timeEnd=function(name){if(enabled){if(isUndefined(name)){handleError(\"Logger.timeEnd: a name for the timer must be supplied\");}else if(timers[name]){var timer=timers[name];var milliseconds=timer.getElapsedTime();this.log(timer.level,[\"Timer \"+toStr(name)+\" completed in \"+milliseconds+\"ms\"]);delete timers[name];}else{logLog.warn(\"Logger.timeEnd: no timer found with name \"+name);}}};this.assert=function(expr){if(enabled&&!expr){var args=[];for(var i=1,len=arguments.length;i<len;i++){args.push(arguments[i]);}\r\nargs=(args.length>0)?args:[\"Assertion Failure\"];args.push(newLine);args.push(expr);this.log(Level.ERROR,args);}};this.toString=function(){return\"Logger[\"+this.name+\"]\";};}\r\nLogger.prototype={trace:function(){this.log(Level.TRACE,arguments);},debug:function(){this.log(Level.DEBUG,arguments);},info:function(){this.log(Level.INFO,arguments);},warn:function(){this.log(Level.WARN,arguments);},error:function(){this.log(Level.ERROR,arguments);},fatal:function(){this.log(Level.FATAL,arguments);},isEnabledFor:function(level){return level.isGreaterOrEqual(this.getEffectiveLevel());},isTraceEnabled:function(){return this.isEnabledFor(Level.TRACE);},isDebugEnabled:function(){return this.isEnabledFor(Level.DEBUG);},isInfoEnabled:function(){return this.isEnabledFor(Level.INFO);},isWarnEnabled:function(){return this.isEnabledFor(Level.WARN);},isErrorEnabled:function(){return this.isEnabledFor(Level.ERROR);},isFatalEnabled:function(){return this.isEnabledFor(Level.FATAL);}};Logger.prototype.trace.isEntryPoint=true;Logger.prototype.debug.isEntryPoint=true;Logger.prototype.info.isEntryPoint=true;Logger.prototype.warn.isEntryPoint=true;Logger.prototype.error.isEntryPoint=true;Logger.prototype.fatal.isEntryPoint=true;var loggers={};var loggerNames=[];var ROOT_LOGGER_DEFAULT_LEVEL=Level.DEBUG;var rootLogger=new Logger(rootLoggerName);rootLogger.setLevel(ROOT_LOGGER_DEFAULT_LEVEL);log4javascript.getRootLogger=function(){return rootLogger;};log4javascript.getLogger=function(loggerName){if(typeof loggerName!=\"string\"){loggerName=anonymousLoggerName;logLog.warn(\"log4javascript.getLogger: non-string logger name \"+\r\ntoStr(loggerName)+\" supplied, returning anonymous logger\");}\r\nif(loggerName==rootLoggerName){handleError(\"log4javascript.getLogger: root logger may not be obtained by name\");}\r\nif(!loggers[loggerName]){var logger=new Logger(loggerName);loggers[loggerName]=logger;loggerNames.push(loggerName);var lastDotIndex=loggerName.lastIndexOf(\".\");var parentLogger;if(lastDotIndex>-1){var parentLoggerName=loggerName.substring(0,lastDotIndex);parentLogger=log4javascript.getLogger(parentLoggerName);}else{parentLogger=rootLogger;}\r\nparentLogger.addChild(logger);}\r\nreturn loggers[loggerName];};var defaultLogger=null;log4javascript.getDefaultLogger=function(){if(!defaultLogger){defaultLogger=createDefaultLogger();}\r\nreturn defaultLogger;};var nullLogger=null;log4javascript.getNullLogger=function(){if(!nullLogger){nullLogger=new Logger(nullLoggerName);nullLogger.setLevel(Level.OFF);}\r\nreturn nullLogger;};log4javascript.resetConfiguration=function(){rootLogger.setLevel(ROOT_LOGGER_DEFAULT_LEVEL);loggers={};};var LoggingEvent=function(logger,timeStamp,level,messages,exception){this.logger=logger;this.timeStamp=timeStamp;this.timeStampInMilliseconds=timeStamp.getTime();this.timeStampInSeconds=Math.floor(this.timeStampInMilliseconds/1000);this.milliseconds=this.timeStamp.getMilliseconds();this.level=level;this.messages=messages;this.exception=exception;};LoggingEvent.prototype={getThrowableStrRep:function(){return this.exception?getExceptionStringRep(this.exception):\"\";},getCombinedMessages:function(){return(this.messages.length==1)?this.messages[0]:this.messages.join(newLine);},toString:function(){return\"LoggingEvent[\"+this.level+\"]\";}};log4javascript.LoggingEvent=LoggingEvent;var Layout=function(){};Layout.prototype={defaults:{loggerKey:\"logger\",timeStampKey:\"timestamp\",millisecondsKey:\"milliseconds\",levelKey:\"level\",messageKey:\"message\",exceptionKey:\"exception\",urlKey:\"url\"},loggerKey:\"logger\",timeStampKey:\"timestamp\",millisecondsKey:\"milliseconds\",levelKey:\"level\",messageKey:\"message\",exceptionKey:\"exception\",urlKey:\"url\",batchHeader:\"\",batchFooter:\"\",batchSeparator:\"\",returnsPostData:false,overrideTimeStampsSetting:false,useTimeStampsInMilliseconds:null,format:function(){handleError(\"Layout.format: layout supplied has no format() method\");},ignoresThrowable:function(){handleError(\"Layout.ignoresThrowable: layout supplied has no ignoresThrowable() method\");},getContentType:function(){return\"text/plain\";},allowBatching:function(){return true;},setTimeStampsInMilliseconds:function(timeStampsInMilliseconds){this.overrideTimeStampsSetting=true;this.useTimeStampsInMilliseconds=bool(timeStampsInMilliseconds);},isTimeStampsInMilliseconds:function(){return this.overrideTimeStampsSetting?this.useTimeStampsInMilliseconds:useTimeStampsInMilliseconds;},getTimeStampValue:function(loggingEvent){return this.isTimeStampsInMilliseconds()?loggingEvent.timeStampInMilliseconds:loggingEvent.timeStampInSeconds;},getDataValues:function(loggingEvent,combineMessages){var dataValues=[[this.loggerKey,loggingEvent.logger.name],[this.timeStampKey,this.getTimeStampValue(loggingEvent)],[this.levelKey,loggingEvent.level.name],[this.urlKey,window.location.href],[this.messageKey,combineMessages?loggingEvent.getCombinedMessages():loggingEvent.messages]];if(!this.isTimeStampsInMilliseconds()){dataValues.push([this.millisecondsKey,loggingEvent.milliseconds]);}\r\nif(loggingEvent.exception){dataValues.push([this.exceptionKey,getExceptionStringRep(loggingEvent.exception)]);}\r\nif(this.hasCustomFields()){for(var i=0,len=this.customFields.length;i<len;i++){var val=this.customFields[i].value;if(typeof val===\"function\"){val=val(this,loggingEvent);}\r\ndataValues.push([this.customFields[i].name,val]);}}\r\nreturn dataValues;},setKeys:function(loggerKey,timeStampKey,levelKey,messageKey,exceptionKey,urlKey,millisecondsKey){this.loggerKey=extractStringFromParam(loggerKey,this.defaults.loggerKey);this.timeStampKey=extractStringFromParam(timeStampKey,this.defaults.timeStampKey);this.levelKey=extractStringFromParam(levelKey,this.defaults.levelKey);this.messageKey=extractStringFromParam(messageKey,this.defaults.messageKey);this.exceptionKey=extractStringFromParam(exceptionKey,this.defaults.exceptionKey);this.urlKey=extractStringFromParam(urlKey,this.defaults.urlKey);this.millisecondsKey=extractStringFromParam(millisecondsKey,this.defaults.millisecondsKey);},setCustomField:function(name,value){var fieldUpdated=false;for(var i=0,len=this.customFields.length;i<len;i++){if(this.customFields[i].name===name){this.customFields[i].value=value;fieldUpdated=true;}}\r\nif(!fieldUpdated){this.customFields.push({\"name\":name,\"value\":value});}},hasCustomFields:function(){return(this.customFields.length>0);},formatWithException:function(loggingEvent){var formatted=this.format(loggingEvent);if(loggingEvent.exception&&this.ignoresThrowable()){formatted+=loggingEvent.getThrowableStrRep();}\r\nreturn formatted;},toString:function(){handleError(\"Layout.toString: all layouts must override this method\");}};log4javascript.Layout=Layout;var Appender=function(){};Appender.prototype=new EventSupport();Appender.prototype.layout=new PatternLayout();Appender.prototype.threshold=Level.ALL;Appender.prototype.loggers=[];Appender.prototype.doAppend=function(loggingEvent){if(enabled&&loggingEvent.level.level>=this.threshold.level){this.append(loggingEvent);}};Appender.prototype.append=function(loggingEvent){};Appender.prototype.setLayout=function(layout){if(layout instanceof Layout){this.layout=layout;}else{handleError(\"Appender.setLayout: layout supplied to \"+\r\nthis.toString()+\" is not a subclass of Layout\");}};Appender.prototype.getLayout=function(){return this.layout;};Appender.prototype.setThreshold=function(threshold){if(threshold instanceof Level){this.threshold=threshold;}else{handleError(\"Appender.setThreshold: threshold supplied to \"+\r\nthis.toString()+\" is not a subclass of Level\");}};Appender.prototype.getThreshold=function(){return this.threshold;};Appender.prototype.setAddedToLogger=function(logger){this.loggers.push(logger);};Appender.prototype.setRemovedFromLogger=function(logger){array_remove(this.loggers,logger);};Appender.prototype.group=emptyFunction;Appender.prototype.groupEnd=emptyFunction;Appender.prototype.toString=function(){handleError(\"Appender.toString: all appenders must override this method\");};log4javascript.Appender=Appender;function SimpleLayout(){this.customFields=[];}\r\nSimpleLayout.prototype=new Layout();SimpleLayout.prototype.format=function(loggingEvent){return loggingEvent.level.name+\" - \"+loggingEvent.getCombinedMessages();};SimpleLayout.prototype.ignoresThrowable=function(){return true;};SimpleLayout.prototype.toString=function(){return\"SimpleLayout\";};log4javascript.SimpleLayout=SimpleLayout;function NullLayout(){this.customFields=[];}\r\nNullLayout.prototype=new Layout();NullLayout.prototype.format=function(loggingEvent){return loggingEvent.messages;};NullLayout.prototype.ignoresThrowable=function(){return true;};NullLayout.prototype.formatWithException=function(loggingEvent){var messages=loggingEvent.messages,ex=loggingEvent.exception;return ex?messages.concat([ex]):messages;};NullLayout.prototype.toString=function(){return\"NullLayout\";};log4javascript.NullLayout=NullLayout;function XmlLayout(combineMessages){this.combineMessages=extractBooleanFromParam(combineMessages,true);this.customFields=[];}\r\nXmlLayout.prototype=new Layout();XmlLayout.prototype.isCombinedMessages=function(){return this.combineMessages;};XmlLayout.prototype.getContentType=function(){return\"text/xml\";};XmlLayout.prototype.escapeCdata=function(str){return str.replace(/\\]\\]>/,\"]]>]]&gt;<![CDATA[\");};XmlLayout.prototype.format=function(loggingEvent){var layout=this;var i,len;function formatMessage(message){message=(typeof message===\"string\")?message:toStr(message);return\"<log4javascript:message><![CDATA[\"+\r\nlayout.escapeCdata(message)+\"]]></log4javascript:message>\";}\r\nvar str=\"<log4javascript:event logger=\\\"\"+loggingEvent.logger.name+\"\\\" timestamp=\\\"\"+this.getTimeStampValue(loggingEvent)+\"\\\"\";if(!this.isTimeStampsInMilliseconds()){str+=\" milliseconds=\\\"\"+loggingEvent.milliseconds+\"\\\"\";}\r\nstr+=\" level=\\\"\"+loggingEvent.level.name+\"\\\">\"+newLine;if(this.combineMessages){str+=formatMessage(loggingEvent.getCombinedMessages());}else{str+=\"<log4javascript:messages>\"+newLine;for(i=0,len=loggingEvent.messages.length;i<len;i++){str+=formatMessage(loggingEvent.messages[i])+newLine;}\r\nstr+=\"</log4javascript:messages>\"+newLine;}\r\nif(this.hasCustomFields()){for(i=0,len=this.customFields.length;i<len;i++){str+=\"<log4javascript:customfield name=\\\"\"+\r\nthis.customFields[i].name+\"\\\"><![CDATA[\"+\r\nthis.customFields[i].value.toString()+\"]]></log4javascript:customfield>\"+newLine;}}\r\nif(loggingEvent.exception){str+=\"<log4javascript:exception><![CDATA[\"+\r\ngetExceptionStringRep(loggingEvent.exception)+\"]]></log4javascript:exception>\"+newLine;}\r\nstr+=\"</log4javascript:event>\"+newLine+newLine;return str;};XmlLayout.prototype.ignoresThrowable=function(){return false;};XmlLayout.prototype.toString=function(){return\"XmlLayout\";};log4javascript.XmlLayout=XmlLayout;function escapeNewLines(str){return str.replace(/\\r\\n|\\r|\\n/g,\"\\\\r\\\\n\");}\r\nfunction JsonLayout(readable,combineMessages){this.readable=extractBooleanFromParam(readable,false);this.combineMessages=extractBooleanFromParam(combineMessages,true);this.batchHeader=this.readable?\"[\"+newLine:\"[\";this.batchFooter=this.readable?\"]\"+newLine:\"]\";this.batchSeparator=this.readable?\",\"+newLine:\",\";this.setKeys();this.colon=this.readable?\": \":\":\";this.tab=this.readable?\"\\t\":\"\";this.lineBreak=this.readable?newLine:\"\";this.customFields=[];}\r\nJsonLayout.prototype=new Layout();JsonLayout.prototype.isReadable=function(){return this.readable;};JsonLayout.prototype.isCombinedMessages=function(){return this.combineMessages;};JsonLayout.prototype.format=function(loggingEvent){var layout=this;var dataValues=this.getDataValues(loggingEvent,this.combineMessages);var str=\"{\"+this.lineBreak;var i,len;function formatValue(val,prefix,expand){var formattedValue;var valType=typeof val;if(val instanceof Date){formattedValue=String(val.getTime());}else if(expand&&(val instanceof Array)){formattedValue=\"[\"+layout.lineBreak;for(var i=0,len=val.length;i<len;i++){var childPrefix=prefix+layout.tab;formattedValue+=childPrefix+formatValue(val[i],childPrefix,false);if(i<val.length-1){formattedValue+=\",\";}\r\nformattedValue+=layout.lineBreak;}\r\nformattedValue+=prefix+\"]\";}else if(valType!==\"number\"&&valType!==\"boolean\"){formattedValue=\"\\\"\"+escapeNewLines(toStr(val).replace(/\\\"/g,\"\\\\\\\"\"))+\"\\\"\";}else{formattedValue=val;}\r\nreturn formattedValue;}\r\nfor(i=0,len=dataValues.length-1;i<=len;i++){str+=this.tab+\"\\\"\"+dataValues[i][0]+\"\\\"\"+this.colon+formatValue(dataValues[i][1],this.tab,true);if(i<len){str+=\",\";}\r\nstr+=this.lineBreak;}\r\nstr+=\"}\"+this.lineBreak;return str;};JsonLayout.prototype.ignoresThrowable=function(){return false;};JsonLayout.prototype.toString=function(){return\"JsonLayout\";};JsonLayout.prototype.getContentType=function(){return\"application/json\";};log4javascript.JsonLayout=JsonLayout;function HttpPostDataLayout(){this.setKeys();this.customFields=[];this.returnsPostData=true;}\r\nHttpPostDataLayout.prototype=new Layout();HttpPostDataLayout.prototype.allowBatching=function(){return false;};HttpPostDataLayout.prototype.format=function(loggingEvent){var dataValues=this.getDataValues(loggingEvent);var queryBits=[];for(var i=0,len=dataValues.length;i<len;i++){var val=(dataValues[i][1]instanceof Date)?String(dataValues[i][1].getTime()):dataValues[i][1];queryBits.push(urlEncode(dataValues[i][0])+\"=\"+urlEncode(val));}\r\nreturn queryBits.join(\"&\");};HttpPostDataLayout.prototype.ignoresThrowable=function(loggingEvent){return false;};HttpPostDataLayout.prototype.toString=function(){return\"HttpPostDataLayout\";};log4javascript.HttpPostDataLayout=HttpPostDataLayout;function formatObjectExpansion(obj,depth,indentation){var objectsExpanded=[];function doFormat(obj,depth,indentation){var i,len,childDepth,childIndentation,childLines,expansion,childExpansion;if(!indentation){indentation=\"\";}\r\nfunction formatString(text){var lines=splitIntoLines(text);for(var j=1,jLen=lines.length;j<jLen;j++){lines[j]=indentation+lines[j];}\r\nreturn lines.join(newLine);}\r\nif(obj===null){return\"null\";}else if(typeof obj==\"undefined\"){return\"undefined\";}else if(typeof obj==\"string\"){return formatString(obj);}else if(typeof obj==\"object\"&&array_contains(objectsExpanded,obj)){try{expansion=toStr(obj);}catch(ex){expansion=\"Error formatting property. Details: \"+getExceptionStringRep(ex);}\r\nreturn expansion+\" [already expanded]\";}else if((obj instanceof Array)&&depth>0){objectsExpanded.push(obj);expansion=\"[\"+newLine;childDepth=depth-1;childIndentation=indentation+\" \";childLines=[];for(i=0,len=obj.length;i<len;i++){try{childExpansion=doFormat(obj[i],childDepth,childIndentation);childLines.push(childIndentation+childExpansion);}catch(ex){childLines.push(childIndentation+\"Error formatting array member. Details: \"+\r\ngetExceptionStringRep(ex)+\"\");}}\r\nexpansion+=childLines.join(\",\"+newLine)+newLine+indentation+\"]\";return expansion;}else if(Object.prototype.toString.call(obj)==\"[object Date]\"){return obj.toString();}else if(typeof obj==\"object\"&&depth>0){objectsExpanded.push(obj);expansion=\"{\"+newLine;childDepth=depth-1;childIndentation=indentation+\" \";childLines=[];for(i in obj){try{childExpansion=doFormat(obj[i],childDepth,childIndentation);childLines.push(childIndentation+i+\": \"+childExpansion);}catch(ex){childLines.push(childIndentation+i+\": Error formatting property. Details: \"+\r\ngetExceptionStringRep(ex));}}\r\nexpansion+=childLines.join(\",\"+newLine)+newLine+indentation+\"}\";return expansion;}else{return formatString(toStr(obj));}}\r\nreturn doFormat(obj,depth,indentation);}\r\nvar SimpleDateFormat;(function(){var regex=/('[^']*')|(G+|y+|M+|w+|W+|D+|d+|F+|E+|a+|H+|k+|K+|h+|m+|s+|S+|Z+)|([a-zA-Z]+)|([^a-zA-Z']+)/;var monthNames=[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"];var dayNames=[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"];var TEXT2=0,TEXT3=1,NUMBER=2,YEAR=3,MONTH=4,TIMEZONE=5;var types={G:TEXT2,y:YEAR,M:MONTH,w:NUMBER,W:NUMBER,D:NUMBER,d:NUMBER,F:NUMBER,E:TEXT3,a:TEXT2,H:NUMBER,k:NUMBER,K:NUMBER,h:NUMBER,m:NUMBER,s:NUMBER,S:NUMBER,Z:TIMEZONE};var ONE_DAY=24*60*60*1000;var ONE_WEEK=7*ONE_DAY;var DEFAULT_MINIMAL_DAYS_IN_FIRST_WEEK=1;var newDateAtMidnight=function(year,month,day){var d=new Date(year,month,day,0,0,0);d.setMilliseconds(0);return d;};Date.prototype.getDifference=function(date){return this.getTime()-date.getTime();};Date.prototype.isBefore=function(d){return this.getTime()<d.getTime();};Date.prototype.getUTCTime=function(){return Date.UTC(this.getFullYear(),this.getMonth(),this.getDate(),this.getHours(),this.getMinutes(),this.getSeconds(),this.getMilliseconds());};Date.prototype.getTimeSince=function(d){return this.getUTCTime()-d.getUTCTime();};Date.prototype.getPreviousSunday=function(){var midday=new Date(this.getFullYear(),this.getMonth(),this.getDate(),12,0,0);var previousSunday=new Date(midday.getTime()-this.getDay()*ONE_DAY);return newDateAtMidnight(previousSunday.getFullYear(),previousSunday.getMonth(),previousSunday.getDate());};Date.prototype.getWeekInYear=function(minimalDaysInFirstWeek){if(isUndefined(this.minimalDaysInFirstWeek)){minimalDaysInFirstWeek=DEFAULT_MINIMAL_DAYS_IN_FIRST_WEEK;}\r\nvar previousSunday=this.getPreviousSunday();var startOfYear=newDateAtMidnight(this.getFullYear(),0,1);var numberOfSundays=previousSunday.isBefore(startOfYear)?0:1+Math.floor(previousSunday.getTimeSince(startOfYear)/ONE_WEEK);var numberOfDaysInFirstWeek=7-startOfYear.getDay();var weekInYear=numberOfSundays;if(numberOfDaysInFirstWeek<minimalDaysInFirstWeek){weekInYear--;}\r\nreturn weekInYear;};Date.prototype.getWeekInMonth=function(minimalDaysInFirstWeek){if(isUndefined(this.minimalDaysInFirstWeek)){minimalDaysInFirstWeek=DEFAULT_MINIMAL_DAYS_IN_FIRST_WEEK;}\r\nvar previousSunday=this.getPreviousSunday();var startOfMonth=newDateAtMidnight(this.getFullYear(),this.getMonth(),1);var numberOfSundays=previousSunday.isBefore(startOfMonth)?0:1+Math.floor(previousSunday.getTimeSince(startOfMonth)/ONE_WEEK);var numberOfDaysInFirstWeek=7-startOfMonth.getDay();var weekInMonth=numberOfSundays;if(numberOfDaysInFirstWeek>=minimalDaysInFirstWeek){weekInMonth++;}\r\nreturn weekInMonth;};Date.prototype.getDayInYear=function(){var startOfYear=newDateAtMidnight(this.getFullYear(),0,1);return 1+Math.floor(this.getTimeSince(startOfYear)/ONE_DAY);};SimpleDateFormat=function(formatString){this.formatString=formatString;};SimpleDateFormat.prototype.setMinimalDaysInFirstWeek=function(days){this.minimalDaysInFirstWeek=days;};SimpleDateFormat.prototype.getMinimalDaysInFirstWeek=function(){return isUndefined(this.minimalDaysInFirstWeek)?DEFAULT_MINIMAL_DAYS_IN_FIRST_WEEK:this.minimalDaysInFirstWeek;};var padWithZeroes=function(str,len){while(str.length<len){str=\"0\"+str;}\r\nreturn str;};var formatText=function(data,numberOfLetters,minLength){return(numberOfLetters>=4)?data:data.substr(0,Math.max(minLength,numberOfLetters));};var formatNumber=function(data,numberOfLetters){var dataString=\"\"+data;return padWithZeroes(dataString,numberOfLetters);};SimpleDateFormat.prototype.format=function(date){var formattedString=\"\";var result;var searchString=this.formatString;while((result=regex.exec(searchString))){var quotedString=result[1];var patternLetters=result[2];var otherLetters=result[3];var otherCharacters=result[4];if(quotedString){if(quotedString==\"''\"){formattedString+=\"'\";}else{formattedString+=quotedString.substring(1,quotedString.length-1);}}else if(otherLetters){}else if(otherCharacters){formattedString+=otherCharacters;}else if(patternLetters){var patternLetter=patternLetters.charAt(0);var numberOfLetters=patternLetters.length;var rawData=\"\";switch(patternLetter){case\"G\":rawData=\"AD\";break;case\"y\":rawData=date.getFullYear();break;case\"M\":rawData=date.getMonth();break;case\"w\":rawData=date.getWeekInYear(this.getMinimalDaysInFirstWeek());break;case\"W\":rawData=date.getWeekInMonth(this.getMinimalDaysInFirstWeek());break;case\"D\":rawData=date.getDayInYear();break;case\"d\":rawData=date.getDate();break;case\"F\":rawData=1+Math.floor((date.getDate()-1)/7);break;case\"E\":rawData=dayNames[date.getDay()];break;case\"a\":rawData=(date.getHours()>=12)?\"PM\":\"AM\";break;case\"H\":rawData=date.getHours();break;case\"k\":rawData=date.getHours()||24;break;case\"K\":rawData=date.getHours()%12;break;case\"h\":rawData=(date.getHours()%12)||12;break;case\"m\":rawData=date.getMinutes();break;case\"s\":rawData=date.getSeconds();break;case\"S\":rawData=date.getMilliseconds();break;case\"Z\":rawData=date.getTimezoneOffset();break;}\r\nswitch(types[patternLetter]){case TEXT2:formattedString+=formatText(rawData,numberOfLetters,2);break;case TEXT3:formattedString+=formatText(rawData,numberOfLetters,3);break;case NUMBER:formattedString+=formatNumber(rawData,numberOfLetters);break;case YEAR:if(numberOfLetters<=3){var dataString=\"\"+rawData;formattedString+=dataString.substr(2,2);}else{formattedString+=formatNumber(rawData,numberOfLetters);}\r\nbreak;case MONTH:if(numberOfLetters>=3){formattedString+=formatText(monthNames[rawData],numberOfLetters,numberOfLetters);}else{formattedString+=formatNumber(rawData+1,numberOfLetters);}\r\nbreak;case TIMEZONE:var isPositive=(rawData>0);var prefix=isPositive?\"-\":\"+\";var absData=Math.abs(rawData);var hours=\"\"+Math.floor(absData/60);hours=padWithZeroes(hours,2);var minutes=\"\"+(absData%60);minutes=padWithZeroes(minutes,2);formattedString+=prefix+hours+minutes;break;}}\r\nsearchString=searchString.substr(result.index+result[0].length);}\r\nreturn formattedString;};})();log4javascript.SimpleDateFormat=SimpleDateFormat;function PatternLayout(pattern){if(pattern){this.pattern=pattern;}else{this.pattern=PatternLayout.DEFAULT_CONVERSION_PATTERN;}\r\nthis.customFields=[];}\r\nPatternLayout.TTCC_CONVERSION_PATTERN=\"%r %p %c - %m%n\";PatternLayout.DEFAULT_CONVERSION_PATTERN=\"%m%n\";PatternLayout.ISO8601_DATEFORMAT=\"yyyy-MM-dd HH:mm:ss,SSS\";PatternLayout.DATETIME_DATEFORMAT=\"dd MMM yyyy HH:mm:ss,SSS\";PatternLayout.ABSOLUTETIME_DATEFORMAT=\"HH:mm:ss,SSS\";PatternLayout.prototype=new Layout();PatternLayout.prototype.format=function(loggingEvent){var regex=/%(-?[0-9]+)?(\\.?[0-9]+)?([acdfmMnpr%])(\\{([^\\}]+)\\})?|([^%]+)/;var formattedString=\"\";var result;var searchString=this.pattern;while((result=regex.exec(searchString))){var matchedString=result[0];var padding=result[1];var truncation=result[2];var conversionCharacter=result[3];var specifier=result[5];var text=result[6];if(text){formattedString+=\"\"+text;}else{var replacement=\"\";switch(conversionCharacter){case\"a\":case\"m\":var depth=0;if(specifier){depth=parseInt(specifier,10);if(isNaN(depth)){handleError(\"PatternLayout.format: invalid specifier '\"+\r\nspecifier+\"' for conversion character '\"+conversionCharacter+\"' - should be a number\");depth=0;}}\r\nvar messages=(conversionCharacter===\"a\")?loggingEvent.messages[0]:loggingEvent.messages;for(var i=0,len=messages.length;i<len;i++){if(i>0&&(replacement.charAt(replacement.length-1)!==\" \")){replacement+=\" \";}\r\nif(depth===0){replacement+=messages[i];}else{replacement+=formatObjectExpansion(messages[i],depth);}}\r\nbreak;case\"c\":var loggerName=loggingEvent.logger.name;if(specifier){var precision=parseInt(specifier,10);var loggerNameBits=loggingEvent.logger.name.split(\".\");if(precision>=loggerNameBits.length){replacement=loggerName;}else{replacement=loggerNameBits.slice(loggerNameBits.length-precision).join(\".\");}}else{replacement=loggerName;}\r\nbreak;case\"d\":var dateFormat=PatternLayout.ISO8601_DATEFORMAT;if(specifier){dateFormat=specifier;if(dateFormat==\"ISO8601\"){dateFormat=PatternLayout.ISO8601_DATEFORMAT;}else if(dateFormat==\"ABSOLUTE\"){dateFormat=PatternLayout.ABSOLUTETIME_DATEFORMAT;}else if(dateFormat==\"DATE\"){dateFormat=PatternLayout.DATETIME_DATEFORMAT;}}\r\nreplacement=(new SimpleDateFormat(dateFormat)).format(loggingEvent.timeStamp);break;case\"f\":if(this.hasCustomFields()){var fieldIndex=0;if(specifier){fieldIndex=parseInt(specifier,10);if(isNaN(fieldIndex)){handleError(\"PatternLayout.format: invalid specifier '\"+\r\nspecifier+\"' for conversion character 'f' - should be a number\");}else if(fieldIndex===0){handleError(\"PatternLayout.format: invalid specifier '\"+\r\nspecifier+\"' for conversion character 'f' - must be greater than zero\");}else if(fieldIndex>this.customFields.length){handleError(\"PatternLayout.format: invalid specifier '\"+\r\nspecifier+\"' for conversion character 'f' - there aren't that many custom fields\");}else{fieldIndex=fieldIndex-1;}}\r\nvar val=this.customFields[fieldIndex].value;if(typeof val==\"function\"){val=val(this,loggingEvent);}\r\nreplacement=val;}\r\nbreak;case\"n\":replacement=newLine;break;case\"p\":replacement=loggingEvent.level.name;break;case\"r\":replacement=\"\"+loggingEvent.timeStamp.getDifference(applicationStartDate);break;case\"%\":replacement=\"%\";break;default:replacement=matchedString;break;}\r\nvar l;if(truncation){l=parseInt(truncation.substr(1),10);var strLen=replacement.length;if(l<strLen){replacement=replacement.substring(strLen-l,strLen);}}\r\nif(padding){if(padding.charAt(0)==\"-\"){l=parseInt(padding.substr(1),10);while(replacement.length<l){replacement+=\" \";}}else{l=parseInt(padding,10);while(replacement.length<l){replacement=\" \"+replacement;}}}\r\nformattedString+=replacement;}\r\nsearchString=searchString.substr(result.index+result[0].length);}\r\nreturn formattedString;};PatternLayout.prototype.ignoresThrowable=function(){return true;};PatternLayout.prototype.toString=function(){return\"PatternLayout\";};log4javascript.PatternLayout=PatternLayout;function AlertAppender(){}\r\nAlertAppender.prototype=new Appender();AlertAppender.prototype.layout=new SimpleLayout();AlertAppender.prototype.append=function(loggingEvent){alert(this.getLayout().formatWithException(loggingEvent));};AlertAppender.prototype.toString=function(){return\"AlertAppender\";};log4javascript.AlertAppender=AlertAppender;function BrowserConsoleAppender(){}\r\nBrowserConsoleAppender.prototype=new log4javascript.Appender();BrowserConsoleAppender.prototype.layout=new NullLayout();BrowserConsoleAppender.prototype.threshold=Level.DEBUG;BrowserConsoleAppender.prototype.append=function(loggingEvent){var appender=this;var getFormattedMessage=function(concatenate){var formattedMessage=appender.getLayout().formatWithException(loggingEvent);return(typeof formattedMessage==\"string\")?(concatenate?formattedMessage:[formattedMessage]):(concatenate?formattedMessage.join(\" \"):formattedMessage);};var console=window.console;if(console&&console.log){var consoleMethodName;if(console.debug&&Level.DEBUG.isGreaterOrEqual(loggingEvent.level)){consoleMethodName=\"debug\";}else if(console.info&&Level.INFO.equals(loggingEvent.level)){consoleMethodName=\"info\";}else if(console.warn&&Level.WARN.equals(loggingEvent.level)){consoleMethodName=\"warn\";}else if(console.error&&loggingEvent.level.isGreaterOrEqual(Level.ERROR)){consoleMethodName=\"error\";}else{consoleMethodName=\"log\";}\r\nif(typeof console[consoleMethodName].apply==\"function\"){console[consoleMethodName].apply(console,getFormattedMessage(false));}else{console[consoleMethodName](getFormattedMessage(true));}}else if((typeof opera!=\"undefined\")&&opera.postError){opera.postError(getFormattedMessage(true));}};BrowserConsoleAppender.prototype.group=function(name){if(window.console&&window.console.group){window.console.group(name);}};BrowserConsoleAppender.prototype.groupEnd=function(){if(window.console&&window.console.groupEnd){window.console.groupEnd();}};BrowserConsoleAppender.prototype.toString=function(){return\"BrowserConsoleAppender\";};log4javascript.BrowserConsoleAppender=BrowserConsoleAppender;var xhrFactory=function(){return new XMLHttpRequest();};var xmlHttpFactories=[xhrFactory,function(){return new ActiveXObject(\"Msxml2.XMLHTTP\");},function(){return new ActiveXObject(\"Microsoft.XMLHTTP\");}];var withCredentialsSupported=false;var getXmlHttp=function(errorHandler){var xmlHttp=null,factory;for(var i=0,len=xmlHttpFactories.length;i<len;i++){factory=xmlHttpFactories[i];try{xmlHttp=factory();withCredentialsSupported=(factory==xhrFactory&&(\"withCredentials\"in xmlHttp));getXmlHttp=factory;return xmlHttp;}catch(e){}}\r\nif(errorHandler){errorHandler();}else{handleError(\"getXmlHttp: unable to obtain XMLHttpRequest object\");}};function isHttpRequestSuccessful(xmlHttp){return isUndefined(xmlHttp.status)||xmlHttp.status===0||(xmlHttp.status>=200&&xmlHttp.status<300)||xmlHttp.status==1223;}\r\nfunction AjaxAppender(url,withCredentials){var appender=this;var isSupported=true;if(!url){handleError(\"AjaxAppender: URL must be specified in constructor\");isSupported=false;}\r\nvar timed=this.defaults.timed;var waitForResponse=this.defaults.waitForResponse;var batchSize=this.defaults.batchSize;var timerInterval=this.defaults.timerInterval;var requestSuccessCallback=this.defaults.requestSuccessCallback;var failCallback=this.defaults.failCallback;var postVarName=this.defaults.postVarName;var sendAllOnUnload=this.defaults.sendAllOnUnload;var contentType=this.defaults.contentType;var sessionId=null;var queuedLoggingEvents=[];var queuedRequests=[];var headers=[];var sending=false;var initialized=false;function checkCanConfigure(configOptionName){if(initialized){handleError(\"AjaxAppender: configuration option '\"+\r\nconfigOptionName+\"' may not be set after the appender has been initialized\");return false;}\r\nreturn true;}\r\nthis.getSessionId=function(){return sessionId;};this.setSessionId=function(sessionIdParam){sessionId=extractStringFromParam(sessionIdParam,null);this.layout.setCustomField(\"sessionid\",sessionId);};this.setLayout=function(layoutParam){if(checkCanConfigure(\"layout\")){this.layout=layoutParam;if(sessionId!==null){this.setSessionId(sessionId);}}};this.isTimed=function(){return timed;};this.setTimed=function(timedParam){if(checkCanConfigure(\"timed\")){timed=bool(timedParam);}};this.getTimerInterval=function(){return timerInterval;};this.setTimerInterval=function(timerIntervalParam){if(checkCanConfigure(\"timerInterval\")){timerInterval=extractIntFromParam(timerIntervalParam,timerInterval);}};this.isWaitForResponse=function(){return waitForResponse;};this.setWaitForResponse=function(waitForResponseParam){if(checkCanConfigure(\"waitForResponse\")){waitForResponse=bool(waitForResponseParam);}};this.getBatchSize=function(){return batchSize;};this.setBatchSize=function(batchSizeParam){if(checkCanConfigure(\"batchSize\")){batchSize=extractIntFromParam(batchSizeParam,batchSize);}};this.isSendAllOnUnload=function(){return sendAllOnUnload;};this.setSendAllOnUnload=function(sendAllOnUnloadParam){if(checkCanConfigure(\"sendAllOnUnload\")){sendAllOnUnload=extractBooleanFromParam(sendAllOnUnloadParam,sendAllOnUnload);}};this.setRequestSuccessCallback=function(requestSuccessCallbackParam){requestSuccessCallback=extractFunctionFromParam(requestSuccessCallbackParam,requestSuccessCallback);};this.setFailCallback=function(failCallbackParam){failCallback=extractFunctionFromParam(failCallbackParam,failCallback);};this.getPostVarName=function(){return postVarName;};this.setPostVarName=function(postVarNameParam){if(checkCanConfigure(\"postVarName\")){postVarName=extractStringFromParam(postVarNameParam,postVarName);}};this.getHeaders=function(){return headers;};this.addHeader=function(name,value){if(name.toLowerCase()==\"content-type\"){contentType=value;}else{headers.push({name:name,value:value});}};function sendAll(){if(isSupported&&enabled){sending=true;var currentRequestBatch;if(waitForResponse){if(queuedRequests.length>0){currentRequestBatch=queuedRequests.shift();sendRequest(preparePostData(currentRequestBatch),sendAll);}else{sending=false;if(timed){scheduleSending();}}}else{while((currentRequestBatch=queuedRequests.shift())){sendRequest(preparePostData(currentRequestBatch));}\r\nsending=false;if(timed){scheduleSending();}}}}\r\nthis.sendAll=sendAll;function sendAllRemaining(){var sendingAnything=false;if(isSupported&&enabled){var actualBatchSize=appender.getLayout().allowBatching()?batchSize:1;var currentLoggingEvent;var batchedLoggingEvents=[];while((currentLoggingEvent=queuedLoggingEvents.shift())){batchedLoggingEvents.push(currentLoggingEvent);if(queuedLoggingEvents.length>=actualBatchSize){queuedRequests.push(batchedLoggingEvents);batchedLoggingEvents=[];}}\r\nif(batchedLoggingEvents.length>0){queuedRequests.push(batchedLoggingEvents);}\r\nsendingAnything=(queuedRequests.length>0);waitForResponse=false;timed=false;sendAll();}\r\nreturn sendingAnything;}\r\nthis.sendAllRemaining=sendAllRemaining;function preparePostData(batchedLoggingEvents){var formattedMessages=[];var currentLoggingEvent;var postData=\"\";while((currentLoggingEvent=batchedLoggingEvents.shift())){formattedMessages.push(appender.getLayout().formatWithException(currentLoggingEvent));}\r\nif(batchedLoggingEvents.length==1){postData=formattedMessages.join(\"\");}else{postData=appender.getLayout().batchHeader+\r\nformattedMessages.join(appender.getLayout().batchSeparator)+\r\nappender.getLayout().batchFooter;}\r\nif(contentType==appender.defaults.contentType){postData=appender.getLayout().returnsPostData?postData:urlEncode(postVarName)+\"=\"+urlEncode(postData);if(postData.length>0){postData+=\"&\";}\r\npostData+=\"layout=\"+urlEncode(appender.getLayout().toString());}\r\nreturn postData;}\r\nfunction scheduleSending(){window.setTimeout(sendAll,timerInterval);}\r\nfunction xmlHttpErrorHandler(){var msg=\"AjaxAppender: could not create XMLHttpRequest object. AjaxAppender disabled\";handleError(msg);isSupported=false;if(failCallback){failCallback(msg);}}\r\nfunction sendRequest(postData,successCallback){try{var xmlHttp=getXmlHttp(xmlHttpErrorHandler);if(isSupported){xmlHttp.onreadystatechange=function(){if(xmlHttp.readyState==4){if(isHttpRequestSuccessful(xmlHttp)){if(requestSuccessCallback){requestSuccessCallback(xmlHttp);}\r\nif(successCallback){successCallback(xmlHttp);}}else{var msg=\"AjaxAppender.append: XMLHttpRequest request to URL \"+\r\nurl+\" returned status code \"+xmlHttp.status;handleError(msg);if(failCallback){failCallback(msg);}}\r\nxmlHttp.onreadystatechange=emptyFunction;xmlHttp=null;}};xmlHttp.open(\"POST\",url,true);if(withCredentials&&withCredentialsSupported){xmlHttp.withCredentials=true;}\r\ntry{for(var i=0,header;header=headers[i++];){xmlHttp.setRequestHeader(header.name,header.value);}\r\nxmlHttp.setRequestHeader(\"Content-Type\",contentType);}catch(headerEx){var msg=\"AjaxAppender.append: your browser's XMLHttpRequest implementation\"+\" does not support setRequestHeader, therefore cannot post data. AjaxAppender disabled\";handleError(msg);isSupported=false;if(failCallback){failCallback(msg);}\r\nreturn;}\r\nxmlHttp.send(postData);}}catch(ex){var errMsg=\"AjaxAppender.append: error sending log message to \"+url;handleError(errMsg,ex);isSupported=false;if(failCallback){failCallback(errMsg+\". Details: \"+getExceptionStringRep(ex));}}}\r\nthis.append=function(loggingEvent){if(isSupported){if(!initialized){init();}\r\nqueuedLoggingEvents.push(loggingEvent);var actualBatchSize=this.getLayout().allowBatching()?batchSize:1;if(queuedLoggingEvents.length>=actualBatchSize){var currentLoggingEvent;var batchedLoggingEvents=[];while((currentLoggingEvent=queuedLoggingEvents.shift())){batchedLoggingEvents.push(currentLoggingEvent);}\r\nqueuedRequests.push(batchedLoggingEvents);if(!timed&&(!waitForResponse||(waitForResponse&&!sending))){sendAll();}}}};function init(){initialized=true;if(sendAllOnUnload){var oldBeforeUnload=window.onbeforeunload;window.onbeforeunload=function(){if(oldBeforeUnload){oldBeforeUnload();}\r\nsendAllRemaining();};}\r\nif(timed){scheduleSending();}}}\r\nAjaxAppender.prototype=new Appender();AjaxAppender.prototype.defaults={waitForResponse:false,timed:false,timerInterval:1000,batchSize:1,sendAllOnUnload:false,requestSuccessCallback:null,failCallback:null,postVarName:\"data\",contentType:\"application/x-www-form-urlencoded\"};AjaxAppender.prototype.layout=new HttpPostDataLayout();AjaxAppender.prototype.toString=function(){return\"AjaxAppender\";};log4javascript.AjaxAppender=AjaxAppender;function setCookie(name,value,days,path){var expires;path=path?\"; path=\"+path:\"\";if(days){var date=new Date();date.setTime(date.getTime()+(days*24*60*60*1000));expires=\"; expires=\"+date.toGMTString();}else{expires=\"\";}\r\ndocument.cookie=escape(name)+\"=\"+escape(value)+expires+path;}\r\nfunction getCookie(name){var nameEquals=escape(name)+\"=\";var ca=document.cookie.split(\";\");for(var i=0,len=ca.length;i<len;i++){var c=ca[i];while(c.charAt(0)===\" \"){c=c.substring(1,c.length);}\r\nif(c.indexOf(nameEquals)===0){return unescape(c.substring(nameEquals.length,c.length));}}\r\nreturn null;}\r\nfunction getBaseUrl(){var scripts=document.getElementsByTagName(\"script\");for(var i=0,len=scripts.length;i<len;++i){if(scripts[i].src.indexOf(\"log4javascript\")!=-1){var lastSlash=scripts[i].src.lastIndexOf(\"/\");return(lastSlash==-1)?\"\":scripts[i].src.substr(0,lastSlash+1);}}\r\nreturn null;}\r\nfunction isLoaded(win){try{return bool(win.loaded);}catch(ex){return false;}}\r\nvar ConsoleAppender;(function(){var getConsoleHtmlLines=function(){return['<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">','<html xmlns=\"http://www.w3.org/1999/xhtml\" lang=\"en\" xml:lang=\"en\">','<head>','<title>log4javascript</title>','<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />','<!-- Make IE8 behave like IE7, having gone to all the trouble of making IE work -->','<meta http-equiv=\"X-UA-Compatible\" content=\"IE=7\" />','<script type=\"text/javascript\">var isIe = false, isIePre7 = false;</script>','<!--[if IE]><script type=\"text/javascript\">isIe = true</script><![endif]-->','<!--[if lt IE 7]><script type=\"text/javascript\">isIePre7 = true</script><![endif]-->','<script type=\"text/javascript\">','//<![CDATA[','var loggingEnabled=true;var logQueuedEventsTimer=null;var logEntries=[];var logEntriesAndSeparators=[];var logItems=[];var renderDelay=100;var unrenderedLogItemsExist=false;var rootGroup,currentGroup=null;var loaded=false;var currentLogItem=null;var logMainContainer;function copyProperties(obj,props){for(var i in props){obj[i]=props[i];}}','function LogItem(){}','LogItem.prototype={mainContainer:null,wrappedContainer:null,unwrappedContainer:null,group:null,appendToLog:function(){for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].appendToLog();}','this.group.update();},doRemove:function(doUpdate,removeFromGroup){if(this.rendered){for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].remove();}','this.unwrappedElementContainer=null;this.wrappedElementContainer=null;this.mainElementContainer=null;}','if(this.group&&removeFromGroup){this.group.removeChild(this,doUpdate);}','if(this===currentLogItem){currentLogItem=null;}},remove:function(doUpdate,removeFromGroup){this.doRemove(doUpdate,removeFromGroup);},render:function(){},accept:function(visitor){visitor.visit(this);},getUnwrappedDomContainer:function(){return this.group.unwrappedElementContainer.contentDiv;},getWrappedDomContainer:function(){return this.group.wrappedElementContainer.contentDiv;},getMainDomContainer:function(){return this.group.mainElementContainer.contentDiv;}};LogItem.serializedItemKeys={LOG_ENTRY:0,GROUP_START:1,GROUP_END:2};function LogItemContainerElement(){}','LogItemContainerElement.prototype={appendToLog:function(){var insertBeforeFirst=(newestAtTop&&this.containerDomNode.hasChildNodes());if(insertBeforeFirst){this.containerDomNode.insertBefore(this.mainDiv,this.containerDomNode.firstChild);}else{this.containerDomNode.appendChild(this.mainDiv);}}};function SeparatorElementContainer(containerDomNode){this.containerDomNode=containerDomNode;this.mainDiv=document.createElement(\"div\");this.mainDiv.className=\"separator\";this.mainDiv.innerHTML=\"&nbsp;\";}','SeparatorElementContainer.prototype=new LogItemContainerElement();SeparatorElementContainer.prototype.remove=function(){this.mainDiv.parentNode.removeChild(this.mainDiv);this.mainDiv=null;};function Separator(){this.rendered=false;}','Separator.prototype=new LogItem();copyProperties(Separator.prototype,{render:function(){var containerDomNode=this.group.contentDiv;if(isIe){this.unwrappedElementContainer=new SeparatorElementContainer(this.getUnwrappedDomContainer());this.wrappedElementContainer=new SeparatorElementContainer(this.getWrappedDomContainer());this.elementContainers=[this.unwrappedElementContainer,this.wrappedElementContainer];}else{this.mainElementContainer=new SeparatorElementContainer(this.getMainDomContainer());this.elementContainers=[this.mainElementContainer];}','this.content=this.formattedMessage;this.rendered=true;}});function GroupElementContainer(group,containerDomNode,isRoot,isWrapped){this.group=group;this.containerDomNode=containerDomNode;this.isRoot=isRoot;this.isWrapped=isWrapped;this.expandable=false;if(this.isRoot){if(isIe){this.contentDiv=logMainContainer.appendChild(document.createElement(\"div\"));this.contentDiv.id=this.isWrapped?\"log_wrapped\":\"log_unwrapped\";}else{this.contentDiv=logMainContainer;}}else{var groupElementContainer=this;this.mainDiv=document.createElement(\"div\");this.mainDiv.className=\"group\";this.headingDiv=this.mainDiv.appendChild(document.createElement(\"div\"));this.headingDiv.className=\"groupheading\";this.expander=this.headingDiv.appendChild(document.createElement(\"span\"));this.expander.className=\"expander unselectable greyedout\";this.expander.unselectable=true;var expanderText=this.group.expanded?\"-\":\"+\";this.expanderTextNode=this.expander.appendChild(document.createTextNode(expanderText));this.headingDiv.appendChild(document.createTextNode(\" \"+this.group.name));this.contentDiv=this.mainDiv.appendChild(document.createElement(\"div\"));var contentCssClass=this.group.expanded?\"expanded\":\"collapsed\";this.contentDiv.className=\"groupcontent \"+contentCssClass;this.expander.onclick=function(){if(groupElementContainer.group.expandable){groupElementContainer.group.toggleExpanded();}};}}','GroupElementContainer.prototype=new LogItemContainerElement();copyProperties(GroupElementContainer.prototype,{toggleExpanded:function(){if(!this.isRoot){var oldCssClass,newCssClass,expanderText;if(this.group.expanded){newCssClass=\"expanded\";oldCssClass=\"collapsed\";expanderText=\"-\";}else{newCssClass=\"collapsed\";oldCssClass=\"expanded\";expanderText=\"+\";}','replaceClass(this.contentDiv,newCssClass,oldCssClass);this.expanderTextNode.nodeValue=expanderText;}},remove:function(){if(!this.isRoot){this.headingDiv=null;this.expander.onclick=null;this.expander=null;this.expanderTextNode=null;this.contentDiv=null;this.containerDomNode=null;this.mainDiv.parentNode.removeChild(this.mainDiv);this.mainDiv=null;}},reverseChildren:function(){var node=null;var childDomNodes=[];while((node=this.contentDiv.firstChild)){this.contentDiv.removeChild(node);childDomNodes.push(node);}','while((node=childDomNodes.pop())){this.contentDiv.appendChild(node);}},update:function(){if(!this.isRoot){if(this.group.expandable){removeClass(this.expander,\"greyedout\");}else{addClass(this.expander,\"greyedout\");}}},clear:function(){if(this.isRoot){this.contentDiv.innerHTML=\"\";}}});function Group(name,isRoot,initiallyExpanded){this.name=name;this.group=null;this.isRoot=isRoot;this.initiallyExpanded=initiallyExpanded;this.elementContainers=[];this.children=[];this.expanded=initiallyExpanded;this.rendered=false;this.expandable=false;}','Group.prototype=new LogItem();copyProperties(Group.prototype,{addChild:function(logItem){this.children.push(logItem);logItem.group=this;},render:function(){if(isIe){var unwrappedDomContainer,wrappedDomContainer;if(this.isRoot){unwrappedDomContainer=logMainContainer;wrappedDomContainer=logMainContainer;}else{unwrappedDomContainer=this.getUnwrappedDomContainer();wrappedDomContainer=this.getWrappedDomContainer();}','this.unwrappedElementContainer=new GroupElementContainer(this,unwrappedDomContainer,this.isRoot,false);this.wrappedElementContainer=new GroupElementContainer(this,wrappedDomContainer,this.isRoot,true);this.elementContainers=[this.unwrappedElementContainer,this.wrappedElementContainer];}else{var mainDomContainer=this.isRoot?logMainContainer:this.getMainDomContainer();this.mainElementContainer=new GroupElementContainer(this,mainDomContainer,this.isRoot,false);this.elementContainers=[this.mainElementContainer];}','this.rendered=true;},toggleExpanded:function(){this.expanded=!this.expanded;for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].toggleExpanded();}},expand:function(){if(!this.expanded){this.toggleExpanded();}},accept:function(visitor){visitor.visitGroup(this);},reverseChildren:function(){if(this.rendered){for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].reverseChildren();}}},update:function(){var previouslyExpandable=this.expandable;this.expandable=(this.children.length!==0);if(this.expandable!==previouslyExpandable){for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].update();}}},flatten:function(){var visitor=new GroupFlattener();this.accept(visitor);return visitor.logEntriesAndSeparators;},removeChild:function(child,doUpdate){array_remove(this.children,child);child.group=null;if(doUpdate){this.update();}},remove:function(doUpdate,removeFromGroup){for(var i=0,len=this.children.length;i<len;i++){this.children[i].remove(false,false);}','this.children=[];this.update();if(this===currentGroup){currentGroup=this.group;}','this.doRemove(doUpdate,removeFromGroup);},serialize:function(items){items.push([LogItem.serializedItemKeys.GROUP_START,this.name]);for(var i=0,len=this.children.length;i<len;i++){this.children[i].serialize(items);}','if(this!==currentGroup){items.push([LogItem.serializedItemKeys.GROUP_END]);}},clear:function(){for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].clear();}}});function LogEntryElementContainer(){}','LogEntryElementContainer.prototype=new LogItemContainerElement();copyProperties(LogEntryElementContainer.prototype,{remove:function(){this.doRemove();},doRemove:function(){this.mainDiv.parentNode.removeChild(this.mainDiv);this.mainDiv=null;this.contentElement=null;this.containerDomNode=null;},setContent:function(content,wrappedContent){if(content===this.formattedMessage){this.contentElement.innerHTML=\"\";this.contentElement.appendChild(document.createTextNode(this.formattedMessage));}else{this.contentElement.innerHTML=content;}},setSearchMatch:function(isMatch){var oldCssClass=isMatch?\"searchnonmatch\":\"searchmatch\";var newCssClass=isMatch?\"searchmatch\":\"searchnonmatch\";replaceClass(this.mainDiv,newCssClass,oldCssClass);},clearSearch:function(){removeClass(this.mainDiv,\"searchmatch\");removeClass(this.mainDiv,\"searchnonmatch\");}});function LogEntryWrappedElementContainer(logEntry,containerDomNode){this.logEntry=logEntry;this.containerDomNode=containerDomNode;this.mainDiv=document.createElement(\"div\");this.mainDiv.appendChild(document.createTextNode(this.logEntry.formattedMessage));this.mainDiv.className=\"logentry wrapped \"+this.logEntry.level;this.contentElement=this.mainDiv;}','LogEntryWrappedElementContainer.prototype=new LogEntryElementContainer();LogEntryWrappedElementContainer.prototype.setContent=function(content,wrappedContent){if(content===this.formattedMessage){this.contentElement.innerHTML=\"\";this.contentElement.appendChild(document.createTextNode(this.formattedMessage));}else{this.contentElement.innerHTML=wrappedContent;}};function LogEntryUnwrappedElementContainer(logEntry,containerDomNode){this.logEntry=logEntry;this.containerDomNode=containerDomNode;this.mainDiv=document.createElement(\"div\");this.mainDiv.className=\"logentry unwrapped \"+this.logEntry.level;this.pre=this.mainDiv.appendChild(document.createElement(\"pre\"));this.pre.appendChild(document.createTextNode(this.logEntry.formattedMessage));this.pre.className=\"unwrapped\";this.contentElement=this.pre;}','LogEntryUnwrappedElementContainer.prototype=new LogEntryElementContainer();LogEntryUnwrappedElementContainer.prototype.remove=function(){this.doRemove();this.pre=null;};function LogEntryMainElementContainer(logEntry,containerDomNode){this.logEntry=logEntry;this.containerDomNode=containerDomNode;this.mainDiv=document.createElement(\"div\");this.mainDiv.className=\"logentry nonielogentry \"+this.logEntry.level;this.contentElement=this.mainDiv.appendChild(document.createElement(\"span\"));this.contentElement.appendChild(document.createTextNode(this.logEntry.formattedMessage));}','LogEntryMainElementContainer.prototype=new LogEntryElementContainer();function LogEntry(level,formattedMessage){this.level=level;this.formattedMessage=formattedMessage;this.rendered=false;}','LogEntry.prototype=new LogItem();copyProperties(LogEntry.prototype,{render:function(){var logEntry=this;var containerDomNode=this.group.contentDiv;if(isIe){this.formattedMessage=this.formattedMessage.replace(/\\\\r\\\\n/g,\"\\\\r\");this.unwrappedElementContainer=new LogEntryUnwrappedElementContainer(this,this.getUnwrappedDomContainer());this.wrappedElementContainer=new LogEntryWrappedElementContainer(this,this.getWrappedDomContainer());this.elementContainers=[this.unwrappedElementContainer,this.wrappedElementContainer];}else{this.mainElementContainer=new LogEntryMainElementContainer(this,this.getMainDomContainer());this.elementContainers=[this.mainElementContainer];}','this.content=this.formattedMessage;this.rendered=true;},setContent:function(content,wrappedContent){if(content!=this.content){if(isIe&&(content!==this.formattedMessage)){content=content.replace(/\\\\r\\\\n/g,\"\\\\r\");}','for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].setContent(content,wrappedContent);}','this.content=content;}},getSearchMatches:function(){var matches=[];var i,len;if(isIe){var unwrappedEls=getElementsByClass(this.unwrappedElementContainer.mainDiv,\"searchterm\",\"span\");var wrappedEls=getElementsByClass(this.wrappedElementContainer.mainDiv,\"searchterm\",\"span\");for(i=0,len=unwrappedEls.length;i<len;i++){matches[i]=new Match(this.level,null,unwrappedEls[i],wrappedEls[i]);}}else{var els=getElementsByClass(this.mainElementContainer.mainDiv,\"searchterm\",\"span\");for(i=0,len=els.length;i<len;i++){matches[i]=new Match(this.level,els[i]);}}','return matches;},setSearchMatch:function(isMatch){for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].setSearchMatch(isMatch);}},clearSearch:function(){for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].clearSearch();}},accept:function(visitor){visitor.visitLogEntry(this);},serialize:function(items){items.push([LogItem.serializedItemKeys.LOG_ENTRY,this.level,this.formattedMessage]);}});function LogItemVisitor(){}','LogItemVisitor.prototype={visit:function(logItem){},visitParent:function(logItem){if(logItem.group){logItem.group.accept(this);}},visitChildren:function(logItem){for(var i=0,len=logItem.children.length;i<len;i++){logItem.children[i].accept(this);}},visitLogEntry:function(logEntry){this.visit(logEntry);},visitSeparator:function(separator){this.visit(separator);},visitGroup:function(group){this.visit(group);}};function GroupFlattener(){this.logEntriesAndSeparators=[];}','GroupFlattener.prototype=new LogItemVisitor();GroupFlattener.prototype.visitGroup=function(group){this.visitChildren(group);};GroupFlattener.prototype.visitLogEntry=function(logEntry){this.logEntriesAndSeparators.push(logEntry);};GroupFlattener.prototype.visitSeparator=function(separator){this.logEntriesAndSeparators.push(separator);};window.onload=function(){if(location.search){var queryBits=unescape(location.search).substr(1).split(\"&\"),nameValueBits;for(var i=0,len=queryBits.length;i<len;i++){nameValueBits=queryBits[i].split(\"=\");if(nameValueBits[0]==\"log4javascript_domain\"){document.domain=nameValueBits[1];break;}}}','logMainContainer=$(\"log\");if(isIePre7){addClass(logMainContainer,\"oldIe\");}','rootGroup=new Group(\"root\",true);rootGroup.render();currentGroup=rootGroup;setCommandInputWidth();setLogContainerHeight();toggleLoggingEnabled();toggleSearchEnabled();toggleSearchFilter();toggleSearchHighlight();applyFilters();checkAllLevels();toggleWrap();toggleNewestAtTop();toggleScrollToLatest();renderQueuedLogItems();loaded=true;$(\"command\").value=\"\";$(\"command\").autocomplete=\"off\";$(\"command\").onkeydown=function(evt){evt=getEvent(evt);if(evt.keyCode==10||evt.keyCode==13){evalCommandLine();stopPropagation(evt);}else if(evt.keyCode==27){this.value=\"\";this.focus();}else if(evt.keyCode==38&&commandHistory.length>0){currentCommandIndex=Math.max(0,currentCommandIndex-1);this.value=commandHistory[currentCommandIndex];moveCaretToEnd(this);}else if(evt.keyCode==40&&commandHistory.length>0){currentCommandIndex=Math.min(commandHistory.length-1,currentCommandIndex+1);this.value=commandHistory[currentCommandIndex];moveCaretToEnd(this);}};$(\"command\").onkeypress=function(evt){evt=getEvent(evt);if(evt.keyCode==38&&commandHistory.length>0&&evt.preventDefault){evt.preventDefault();}};$(\"command\").onkeyup=function(evt){evt=getEvent(evt);if(evt.keyCode==27&&evt.preventDefault){evt.preventDefault();this.focus();}};document.onkeydown=function keyEventHandler(evt){evt=getEvent(evt);switch(evt.keyCode){case 69:if(evt.shiftKey&&(evt.ctrlKey||evt.metaKey)){evalLastCommand();cancelKeyEvent(evt);return false;}','break;case 75:if(evt.shiftKey&&(evt.ctrlKey||evt.metaKey)){focusSearch();cancelKeyEvent(evt);return false;}','break;case 40:case 76:if(evt.shiftKey&&(evt.ctrlKey||evt.metaKey)){focusCommandLine();cancelKeyEvent(evt);return false;}','break;}};setTimeout(setLogContainerHeight,20);setShowCommandLine(showCommandLine);doSearch();};window.onunload=function(){if(mainWindowExists()){appender.unload();}','appender=null;};function toggleLoggingEnabled(){setLoggingEnabled($(\"enableLogging\").checked);}','function setLoggingEnabled(enable){loggingEnabled=enable;}','var appender=null;function setAppender(appenderParam){appender=appenderParam;}','function setShowCloseButton(showCloseButton){$(\"closeButton\").style.display=showCloseButton?\"inline\":\"none\";}','function setShowHideButton(showHideButton){$(\"hideButton\").style.display=showHideButton?\"inline\":\"none\";}','var newestAtTop=false;function LogItemContentReverser(){}','LogItemContentReverser.prototype=new LogItemVisitor();LogItemContentReverser.prototype.visitGroup=function(group){group.reverseChildren();this.visitChildren(group);};function setNewestAtTop(isNewestAtTop){var oldNewestAtTop=newestAtTop;var i,iLen,j,jLen;newestAtTop=Boolean(isNewestAtTop);if(oldNewestAtTop!=newestAtTop){var visitor=new LogItemContentReverser();rootGroup.accept(visitor);if(currentSearch){var currentMatch=currentSearch.matches[currentMatchIndex];var matchIndex=0;var matches=[];var actOnLogEntry=function(logEntry){var logEntryMatches=logEntry.getSearchMatches();for(j=0,jLen=logEntryMatches.length;j<jLen;j++){matches[matchIndex]=logEntryMatches[j];if(currentMatch&&logEntryMatches[j].equals(currentMatch)){currentMatchIndex=matchIndex;}','matchIndex++;}};if(newestAtTop){for(i=logEntries.length-1;i>=0;i--){actOnLogEntry(logEntries[i]);}}else{for(i=0,iLen=logEntries.length;i<iLen;i++){actOnLogEntry(logEntries[i]);}}','currentSearch.matches=matches;if(currentMatch){currentMatch.setCurrent();}}else if(scrollToLatest){doScrollToLatest();}}','$(\"newestAtTop\").checked=isNewestAtTop;}','function toggleNewestAtTop(){var isNewestAtTop=$(\"newestAtTop\").checked;setNewestAtTop(isNewestAtTop);}','var scrollToLatest=true;function setScrollToLatest(isScrollToLatest){scrollToLatest=isScrollToLatest;if(scrollToLatest){doScrollToLatest();}','$(\"scrollToLatest\").checked=isScrollToLatest;}','function toggleScrollToLatest(){var isScrollToLatest=$(\"scrollToLatest\").checked;setScrollToLatest(isScrollToLatest);}','function doScrollToLatest(){var l=logMainContainer;if(typeof l.scrollTop!=\"undefined\"){if(newestAtTop){l.scrollTop=0;}else{var latestLogEntry=l.lastChild;if(latestLogEntry){l.scrollTop=l.scrollHeight;}}}}','var closeIfOpenerCloses=true;function setCloseIfOpenerCloses(isCloseIfOpenerCloses){closeIfOpenerCloses=isCloseIfOpenerCloses;}','var maxMessages=null;function setMaxMessages(max){maxMessages=max;pruneLogEntries();}','var showCommandLine=false;function setShowCommandLine(isShowCommandLine){showCommandLine=isShowCommandLine;if(loaded){$(\"commandLine\").style.display=showCommandLine?\"block\":\"none\";setCommandInputWidth();setLogContainerHeight();}}','function focusCommandLine(){if(loaded){$(\"command\").focus();}}','function focusSearch(){if(loaded){$(\"searchBox\").focus();}}','function getLogItems(){var items=[];for(var i=0,len=logItems.length;i<len;i++){logItems[i].serialize(items);}','return items;}','function setLogItems(items){var loggingReallyEnabled=loggingEnabled;loggingEnabled=true;for(var i=0,len=items.length;i<len;i++){switch(items[i][0]){case LogItem.serializedItemKeys.LOG_ENTRY:log(items[i][1],items[i][2]);break;case LogItem.serializedItemKeys.GROUP_START:group(items[i][1]);break;case LogItem.serializedItemKeys.GROUP_END:groupEnd();break;}}','loggingEnabled=loggingReallyEnabled;}','function log(logLevel,formattedMessage){if(loggingEnabled){var logEntry=new LogEntry(logLevel,formattedMessage);logEntries.push(logEntry);logEntriesAndSeparators.push(logEntry);logItems.push(logEntry);currentGroup.addChild(logEntry);if(loaded){if(logQueuedEventsTimer!==null){clearTimeout(logQueuedEventsTimer);}','logQueuedEventsTimer=setTimeout(renderQueuedLogItems,renderDelay);unrenderedLogItemsExist=true;}}}','function renderQueuedLogItems(){logQueuedEventsTimer=null;var pruned=pruneLogEntries();var initiallyHasMatches=currentSearch?currentSearch.hasMatches():false;for(var i=0,len=logItems.length;i<len;i++){if(!logItems[i].rendered){logItems[i].render();logItems[i].appendToLog();if(currentSearch&&(logItems[i]instanceof LogEntry)){currentSearch.applyTo(logItems[i]);}}}','if(currentSearch){if(pruned){if(currentSearch.hasVisibleMatches()){if(currentMatchIndex===null){setCurrentMatchIndex(0);}','displayMatches();}else{displayNoMatches();}}else if(!initiallyHasMatches&&currentSearch.hasVisibleMatches()){setCurrentMatchIndex(0);displayMatches();}}','if(scrollToLatest){doScrollToLatest();}','unrenderedLogItemsExist=false;}','function pruneLogEntries(){if((maxMessages!==null)&&(logEntriesAndSeparators.length>maxMessages)){var numberToDelete=logEntriesAndSeparators.length-maxMessages;var prunedLogEntries=logEntriesAndSeparators.slice(0,numberToDelete);if(currentSearch){currentSearch.removeMatches(prunedLogEntries);}','var group;for(var i=0;i<numberToDelete;i++){group=logEntriesAndSeparators[i].group;array_remove(logItems,logEntriesAndSeparators[i]);array_remove(logEntries,logEntriesAndSeparators[i]);logEntriesAndSeparators[i].remove(true,true);if(group.children.length===0&&group!==currentGroup&&group!==rootGroup){array_remove(logItems,group);group.remove(true,true);}}','logEntriesAndSeparators=array_removeFromStart(logEntriesAndSeparators,numberToDelete);return true;}','return false;}','function group(name,startExpanded){if(loggingEnabled){initiallyExpanded=(typeof startExpanded===\"undefined\")?true:Boolean(startExpanded);var newGroup=new Group(name,false,initiallyExpanded);currentGroup.addChild(newGroup);currentGroup=newGroup;logItems.push(newGroup);if(loaded){if(logQueuedEventsTimer!==null){clearTimeout(logQueuedEventsTimer);}','logQueuedEventsTimer=setTimeout(renderQueuedLogItems,renderDelay);unrenderedLogItemsExist=true;}}}','function groupEnd(){currentGroup=(currentGroup===rootGroup)?rootGroup:currentGroup.group;}','function mainPageReloaded(){currentGroup=rootGroup;var separator=new Separator();logEntriesAndSeparators.push(separator);logItems.push(separator);currentGroup.addChild(separator);}','function closeWindow(){if(appender&&mainWindowExists()){appender.close(true);}else{window.close();}}','function hide(){if(appender&&mainWindowExists()){appender.hide();}}','var mainWindow=window;var windowId=\"log4javascriptConsoleWindow_\"+new Date().getTime()+\"_\"+(\"\"+Math.random()).substr(2);function setMainWindow(win){mainWindow=win;mainWindow[windowId]=window;if(opener&&closeIfOpenerCloses){pollOpener();}}','function pollOpener(){if(closeIfOpenerCloses){if(mainWindowExists()){setTimeout(pollOpener,500);}else{closeWindow();}}}','function mainWindowExists(){try{return(mainWindow&&!mainWindow.closed&&mainWindow[windowId]==window);}catch(ex){}','return false;}','var logLevels=[\"TRACE\",\"DEBUG\",\"INFO\",\"WARN\",\"ERROR\",\"FATAL\"];function getCheckBox(logLevel){return $(\"switch_\"+logLevel);}','function getIeWrappedLogContainer(){return $(\"log_wrapped\");}','function getIeUnwrappedLogContainer(){return $(\"log_unwrapped\");}','function applyFilters(){for(var i=0;i<logLevels.length;i++){if(getCheckBox(logLevels[i]).checked){addClass(logMainContainer,logLevels[i]);}else{removeClass(logMainContainer,logLevels[i]);}}','updateSearchFromFilters();}','function toggleAllLevels(){var turnOn=$(\"switch_ALL\").checked;for(var i=0;i<logLevels.length;i++){getCheckBox(logLevels[i]).checked=turnOn;if(turnOn){addClass(logMainContainer,logLevels[i]);}else{removeClass(logMainContainer,logLevels[i]);}}}','function checkAllLevels(){for(var i=0;i<logLevels.length;i++){if(!getCheckBox(logLevels[i]).checked){getCheckBox(\"ALL\").checked=false;return;}}','getCheckBox(\"ALL\").checked=true;}','function clearLog(){rootGroup.clear();currentGroup=rootGroup;logEntries=[];logItems=[];logEntriesAndSeparators=[];doSearch();}','function toggleWrap(){var enable=$(\"wrap\").checked;if(enable){addClass(logMainContainer,\"wrap\");}else{removeClass(logMainContainer,\"wrap\");}','refreshCurrentMatch();}','var searchTimer=null;function scheduleSearch(){try{clearTimeout(searchTimer);}catch(ex){}','searchTimer=setTimeout(doSearch,500);}','function Search(searchTerm,isRegex,searchRegex,isCaseSensitive){this.searchTerm=searchTerm;this.isRegex=isRegex;this.searchRegex=searchRegex;this.isCaseSensitive=isCaseSensitive;this.matches=[];}','Search.prototype={hasMatches:function(){return this.matches.length>0;},hasVisibleMatches:function(){if(this.hasMatches()){for(var i=0;i<this.matches.length;i++){if(this.matches[i].isVisible()){return true;}}}','return false;},match:function(logEntry){var entryText=String(logEntry.formattedMessage);var matchesSearch=false;if(this.isRegex){matchesSearch=this.searchRegex.test(entryText);}else if(this.isCaseSensitive){matchesSearch=(entryText.indexOf(this.searchTerm)>-1);}else{matchesSearch=(entryText.toLowerCase().indexOf(this.searchTerm.toLowerCase())>-1);}','return matchesSearch;},getNextVisibleMatchIndex:function(){for(var i=currentMatchIndex+1;i<this.matches.length;i++){if(this.matches[i].isVisible()){return i;}}','for(i=0;i<=currentMatchIndex;i++){if(this.matches[i].isVisible()){return i;}}','return-1;},getPreviousVisibleMatchIndex:function(){for(var i=currentMatchIndex-1;i>=0;i--){if(this.matches[i].isVisible()){return i;}}','for(var i=this.matches.length-1;i>=currentMatchIndex;i--){if(this.matches[i].isVisible()){return i;}}','return-1;},applyTo:function(logEntry){var doesMatch=this.match(logEntry);if(doesMatch){logEntry.group.expand();logEntry.setSearchMatch(true);var logEntryContent;var wrappedLogEntryContent;var searchTermReplacementStartTag=\"<span class=\\\\\\\"searchterm\\\\\\\">\";var searchTermReplacementEndTag=\"<\"+\"/span>\";var preTagName=isIe?\"pre\":\"span\";var preStartTag=\"<\"+preTagName+\" class=\\\\\\\"pre\\\\\\\">\";var preEndTag=\"<\"+\"/\"+preTagName+\">\";var startIndex=0;var searchIndex,matchedText,textBeforeMatch;if(this.isRegex){var flags=this.isCaseSensitive?\"g\":\"gi\";var capturingRegex=new RegExp(\"(\"+this.searchRegex.source+\")\",flags);var rnd=(\"\"+Math.random()).substr(2);var startToken=\"%%s\"+rnd+\"%%\";var endToken=\"%%e\"+rnd+\"%%\";logEntryContent=logEntry.formattedMessage.replace(capturingRegex,startToken+\"$1\"+endToken);logEntryContent=escapeHtml(logEntryContent);var result;var searchString=logEntryContent;logEntryContent=\"\";wrappedLogEntryContent=\"\";while((searchIndex=searchString.indexOf(startToken,startIndex))>-1){var endTokenIndex=searchString.indexOf(endToken,searchIndex);matchedText=searchString.substring(searchIndex+startToken.length,endTokenIndex);textBeforeMatch=searchString.substring(startIndex,searchIndex);logEntryContent+=preStartTag+textBeforeMatch+preEndTag;logEntryContent+=searchTermReplacementStartTag+preStartTag+matchedText+','preEndTag+searchTermReplacementEndTag;if(isIe){wrappedLogEntryContent+=textBeforeMatch+searchTermReplacementStartTag+','matchedText+searchTermReplacementEndTag;}','startIndex=endTokenIndex+endToken.length;}','logEntryContent+=preStartTag+searchString.substr(startIndex)+preEndTag;if(isIe){wrappedLogEntryContent+=searchString.substr(startIndex);}}else{logEntryContent=\"\";wrappedLogEntryContent=\"\";var searchTermReplacementLength=searchTermReplacementStartTag.length+','this.searchTerm.length+searchTermReplacementEndTag.length;var searchTermLength=this.searchTerm.length;var searchTermLowerCase=this.searchTerm.toLowerCase();var logTextLowerCase=logEntry.formattedMessage.toLowerCase();while((searchIndex=logTextLowerCase.indexOf(searchTermLowerCase,startIndex))>-1){matchedText=escapeHtml(logEntry.formattedMessage.substr(searchIndex,this.searchTerm.length));textBeforeMatch=escapeHtml(logEntry.formattedMessage.substring(startIndex,searchIndex));var searchTermReplacement=searchTermReplacementStartTag+','preStartTag+matchedText+preEndTag+searchTermReplacementEndTag;logEntryContent+=preStartTag+textBeforeMatch+preEndTag+searchTermReplacement;if(isIe){wrappedLogEntryContent+=textBeforeMatch+searchTermReplacementStartTag+','matchedText+searchTermReplacementEndTag;}','startIndex=searchIndex+searchTermLength;}','var textAfterLastMatch=escapeHtml(logEntry.formattedMessage.substr(startIndex));logEntryContent+=preStartTag+textAfterLastMatch+preEndTag;if(isIe){wrappedLogEntryContent+=textAfterLastMatch;}}','logEntry.setContent(logEntryContent,wrappedLogEntryContent);var logEntryMatches=logEntry.getSearchMatches();this.matches=this.matches.concat(logEntryMatches);}else{logEntry.setSearchMatch(false);logEntry.setContent(logEntry.formattedMessage,logEntry.formattedMessage);}','return doesMatch;},removeMatches:function(logEntries){var matchesToRemoveCount=0;var currentMatchRemoved=false;var matchesToRemove=[];var i,iLen,j,jLen;for(i=0,iLen=this.matches.length;i<iLen;i++){for(j=0,jLen=logEntries.length;j<jLen;j++){if(this.matches[i].belongsTo(logEntries[j])){matchesToRemove.push(this.matches[i]);if(i===currentMatchIndex){currentMatchRemoved=true;}}}}','var newMatch=currentMatchRemoved?null:this.matches[currentMatchIndex];if(currentMatchRemoved){for(i=currentMatchIndex,iLen=this.matches.length;i<iLen;i++){if(this.matches[i].isVisible()&&!array_contains(matchesToRemove,this.matches[i])){newMatch=this.matches[i];break;}}}','for(i=0,iLen=matchesToRemove.length;i<iLen;i++){array_remove(this.matches,matchesToRemove[i]);matchesToRemove[i].remove();}','if(this.hasVisibleMatches()){if(newMatch===null){setCurrentMatchIndex(0);}else{var newMatchIndex=0;for(i=0,iLen=this.matches.length;i<iLen;i++){if(newMatch===this.matches[i]){newMatchIndex=i;break;}}','setCurrentMatchIndex(newMatchIndex);}}else{currentMatchIndex=null;displayNoMatches();}}};function getPageOffsetTop(el,container){var currentEl=el;var y=0;while(currentEl&&currentEl!=container){y+=currentEl.offsetTop;currentEl=currentEl.offsetParent;}','return y;}','function scrollIntoView(el){var logContainer=logMainContainer;if(!$(\"wrap\").checked){var logContainerLeft=logContainer.scrollLeft;var logContainerRight=logContainerLeft+logContainer.offsetWidth;var elLeft=el.offsetLeft;var elRight=elLeft+el.offsetWidth;if(elLeft<logContainerLeft||elRight>logContainerRight){logContainer.scrollLeft=elLeft-(logContainer.offsetWidth-el.offsetWidth)/2;}}','var logContainerTop=logContainer.scrollTop;var logContainerBottom=logContainerTop+logContainer.offsetHeight;var elTop=getPageOffsetTop(el)-getToolBarsHeight();var elBottom=elTop+el.offsetHeight;if(elTop<logContainerTop||elBottom>logContainerBottom){logContainer.scrollTop=elTop-(logContainer.offsetHeight-el.offsetHeight)/2;}}','function Match(logEntryLevel,spanInMainDiv,spanInUnwrappedPre,spanInWrappedDiv){this.logEntryLevel=logEntryLevel;this.spanInMainDiv=spanInMainDiv;if(isIe){this.spanInUnwrappedPre=spanInUnwrappedPre;this.spanInWrappedDiv=spanInWrappedDiv;}','this.mainSpan=isIe?spanInUnwrappedPre:spanInMainDiv;}','Match.prototype={equals:function(match){return this.mainSpan===match.mainSpan;},setCurrent:function(){if(isIe){addClass(this.spanInUnwrappedPre,\"currentmatch\");addClass(this.spanInWrappedDiv,\"currentmatch\");var elementToScroll=$(\"wrap\").checked?this.spanInWrappedDiv:this.spanInUnwrappedPre;scrollIntoView(elementToScroll);}else{addClass(this.spanInMainDiv,\"currentmatch\");scrollIntoView(this.spanInMainDiv);}},belongsTo:function(logEntry){if(isIe){return isDescendant(this.spanInUnwrappedPre,logEntry.unwrappedPre);}else{return isDescendant(this.spanInMainDiv,logEntry.mainDiv);}},setNotCurrent:function(){if(isIe){removeClass(this.spanInUnwrappedPre,\"currentmatch\");removeClass(this.spanInWrappedDiv,\"currentmatch\");}else{removeClass(this.spanInMainDiv,\"currentmatch\");}},isOrphan:function(){return isOrphan(this.mainSpan);},isVisible:function(){return getCheckBox(this.logEntryLevel).checked;},remove:function(){if(isIe){this.spanInUnwrappedPre=null;this.spanInWrappedDiv=null;}else{this.spanInMainDiv=null;}}};var currentSearch=null;var currentMatchIndex=null;function doSearch(){var searchBox=$(\"searchBox\");var searchTerm=searchBox.value;var isRegex=$(\"searchRegex\").checked;var isCaseSensitive=$(\"searchCaseSensitive\").checked;var i;if(searchTerm===\"\"){$(\"searchReset\").disabled=true;$(\"searchNav\").style.display=\"none\";removeClass(document.body,\"searching\");removeClass(searchBox,\"hasmatches\");removeClass(searchBox,\"nomatches\");for(i=0;i<logEntries.length;i++){logEntries[i].clearSearch();logEntries[i].setContent(logEntries[i].formattedMessage,logEntries[i].formattedMessage);}','currentSearch=null;setLogContainerHeight();}else{$(\"searchReset\").disabled=false;$(\"searchNav\").style.display=\"block\";var searchRegex;var regexValid;if(isRegex){try{searchRegex=isCaseSensitive?new RegExp(searchTerm,\"g\"):new RegExp(searchTerm,\"gi\");regexValid=true;replaceClass(searchBox,\"validregex\",\"invalidregex\");searchBox.title=\"Valid regex\";}catch(ex){regexValid=false;replaceClass(searchBox,\"invalidregex\",\"validregex\");searchBox.title=\"Invalid regex: \"+(ex.message?ex.message:(ex.description?ex.description:\"unknown error\"));return;}}else{searchBox.title=\"\";removeClass(searchBox,\"validregex\");removeClass(searchBox,\"invalidregex\");}','addClass(document.body,\"searching\");currentSearch=new Search(searchTerm,isRegex,searchRegex,isCaseSensitive);for(i=0;i<logEntries.length;i++){currentSearch.applyTo(logEntries[i]);}','setLogContainerHeight();if(currentSearch.hasVisibleMatches()){setCurrentMatchIndex(0);displayMatches();}else{displayNoMatches();}}}','function updateSearchFromFilters(){if(currentSearch){if(currentSearch.hasMatches()){if(currentMatchIndex===null){currentMatchIndex=0;}','var currentMatch=currentSearch.matches[currentMatchIndex];if(currentMatch.isVisible()){displayMatches();setCurrentMatchIndex(currentMatchIndex);}else{currentMatch.setNotCurrent();var nextVisibleMatchIndex=currentSearch.getNextVisibleMatchIndex();if(nextVisibleMatchIndex>-1){setCurrentMatchIndex(nextVisibleMatchIndex);displayMatches();}else{displayNoMatches();}}}else{displayNoMatches();}}}','function refreshCurrentMatch(){if(currentSearch&&currentSearch.hasVisibleMatches()){setCurrentMatchIndex(currentMatchIndex);}}','function displayMatches(){replaceClass($(\"searchBox\"),\"hasmatches\",\"nomatches\");$(\"searchBox\").title=\"\"+currentSearch.matches.length+\" matches found\";$(\"searchNav\").style.display=\"block\";setLogContainerHeight();}','function displayNoMatches(){replaceClass($(\"searchBox\"),\"nomatches\",\"hasmatches\");$(\"searchBox\").title=\"No matches found\";$(\"searchNav\").style.display=\"none\";setLogContainerHeight();}','function toggleSearchEnabled(enable){enable=(typeof enable==\"undefined\")?!$(\"searchDisable\").checked:enable;$(\"searchBox\").disabled=!enable;$(\"searchReset\").disabled=!enable;$(\"searchRegex\").disabled=!enable;$(\"searchNext\").disabled=!enable;$(\"searchPrevious\").disabled=!enable;$(\"searchCaseSensitive\").disabled=!enable;$(\"searchNav\").style.display=(enable&&($(\"searchBox\").value!==\"\")&&currentSearch&&currentSearch.hasVisibleMatches())?\"block\":\"none\";if(enable){removeClass($(\"search\"),\"greyedout\");addClass(document.body,\"searching\");if($(\"searchHighlight\").checked){addClass(logMainContainer,\"searchhighlight\");}else{removeClass(logMainContainer,\"searchhighlight\");}','if($(\"searchFilter\").checked){addClass(logMainContainer,\"searchfilter\");}else{removeClass(logMainContainer,\"searchfilter\");}','$(\"searchDisable\").checked=!enable;}else{addClass($(\"search\"),\"greyedout\");removeClass(document.body,\"searching\");removeClass(logMainContainer,\"searchhighlight\");removeClass(logMainContainer,\"searchfilter\");}','setLogContainerHeight();}','function toggleSearchFilter(){var enable=$(\"searchFilter\").checked;if(enable){addClass(logMainContainer,\"searchfilter\");}else{removeClass(logMainContainer,\"searchfilter\");}','refreshCurrentMatch();}','function toggleSearchHighlight(){var enable=$(\"searchHighlight\").checked;if(enable){addClass(logMainContainer,\"searchhighlight\");}else{removeClass(logMainContainer,\"searchhighlight\");}}','function clearSearch(){$(\"searchBox\").value=\"\";doSearch();}','function searchNext(){if(currentSearch!==null&&currentMatchIndex!==null){currentSearch.matches[currentMatchIndex].setNotCurrent();var nextMatchIndex=currentSearch.getNextVisibleMatchIndex();if(nextMatchIndex>currentMatchIndex||confirm(\"Reached the end of the page. Start from the top?\")){setCurrentMatchIndex(nextMatchIndex);}}}','function searchPrevious(){if(currentSearch!==null&&currentMatchIndex!==null){currentSearch.matches[currentMatchIndex].setNotCurrent();var previousMatchIndex=currentSearch.getPreviousVisibleMatchIndex();if(previousMatchIndex<currentMatchIndex||confirm(\"Reached the start of the page. Continue from the bottom?\")){setCurrentMatchIndex(previousMatchIndex);}}}','function setCurrentMatchIndex(index){currentMatchIndex=index;currentSearch.matches[currentMatchIndex].setCurrent();}','function addClass(el,cssClass){if(!hasClass(el,cssClass)){if(el.className){el.className+=\" \"+cssClass;}else{el.className=cssClass;}}}','function hasClass(el,cssClass){if(el.className){var classNames=el.className.split(\" \");return array_contains(classNames,cssClass);}','return false;}','function removeClass(el,cssClass){if(hasClass(el,cssClass)){var existingClasses=el.className.split(\" \");var newClasses=[];for(var i=0,len=existingClasses.length;i<len;i++){if(existingClasses[i]!=cssClass){newClasses[newClasses.length]=existingClasses[i];}}','el.className=newClasses.join(\" \");}}','function replaceClass(el,newCssClass,oldCssClass){removeClass(el,oldCssClass);addClass(el,newCssClass);}','function getElementsByClass(el,cssClass,tagName){var elements=el.getElementsByTagName(tagName);var matches=[];for(var i=0,len=elements.length;i<len;i++){if(hasClass(elements[i],cssClass)){matches.push(elements[i]);}}','return matches;}','function $(id){return document.getElementById(id);}','function isDescendant(node,ancestorNode){while(node!=null){if(node===ancestorNode){return true;}','node=node.parentNode;}','return false;}','function isOrphan(node){var currentNode=node;while(currentNode){if(currentNode==document.body){return false;}','currentNode=currentNode.parentNode;}','return true;}','function escapeHtml(str){return str.replace(/&/g,\"&amp;\").replace(/[<]/g,\"&lt;\").replace(/>/g,\"&gt;\");}','function getWindowWidth(){if(window.innerWidth){return window.innerWidth;}else if(document.documentElement&&document.documentElement.clientWidth){return document.documentElement.clientWidth;}else if(document.body){return document.body.clientWidth;}','return 0;}','function getWindowHeight(){if(window.innerHeight){return window.innerHeight;}else if(document.documentElement&&document.documentElement.clientHeight){return document.documentElement.clientHeight;}else if(document.body){return document.body.clientHeight;}','return 0;}','function getToolBarsHeight(){return $(\"switches\").offsetHeight;}','function getChromeHeight(){var height=getToolBarsHeight();if(showCommandLine){height+=$(\"commandLine\").offsetHeight;}','return height;}','function setLogContainerHeight(){if(logMainContainer){var windowHeight=getWindowHeight();$(\"body\").style.height=getWindowHeight()+\"px\";logMainContainer.style.height=\"\"+','Math.max(0,windowHeight-getChromeHeight())+\"px\";}}','function setCommandInputWidth(){if(showCommandLine){$(\"command\").style.width=\"\"+Math.max(0,$(\"commandLineContainer\").offsetWidth-','($(\"evaluateButton\").offsetWidth+13))+\"px\";}}','window.onresize=function(){setCommandInputWidth();setLogContainerHeight();};if(!Array.prototype.push){Array.prototype.push=function(){for(var i=0,len=arguments.length;i<len;i++){this[this.length]=arguments[i];}','return this.length;};}','if(!Array.prototype.pop){Array.prototype.pop=function(){if(this.length>0){var val=this[this.length-1];this.length=this.length-1;return val;}};}','if(!Array.prototype.shift){Array.prototype.shift=function(){if(this.length>0){var firstItem=this[0];for(var i=0,len=this.length-1;i<len;i++){this[i]=this[i+1];}','this.length=this.length-1;return firstItem;}};}','if(!Array.prototype.splice){Array.prototype.splice=function(startIndex,deleteCount){var itemsAfterDeleted=this.slice(startIndex+deleteCount);var itemsDeleted=this.slice(startIndex,startIndex+deleteCount);this.length=startIndex;var argumentsArray=[];for(var i=0,len=arguments.length;i<len;i++){argumentsArray[i]=arguments[i];}','var itemsToAppend=(argumentsArray.length>2)?itemsAfterDeleted=argumentsArray.slice(2).concat(itemsAfterDeleted):itemsAfterDeleted;for(i=0,len=itemsToAppend.length;i<len;i++){this.push(itemsToAppend[i]);}','return itemsDeleted;};}','function array_remove(arr,val){var index=-1;for(var i=0,len=arr.length;i<len;i++){if(arr[i]===val){index=i;break;}}','if(index>=0){arr.splice(index,1);return index;}else{return false;}}','function array_removeFromStart(array,numberToRemove){if(Array.prototype.splice){array.splice(0,numberToRemove);}else{for(var i=numberToRemove,len=array.length;i<len;i++){array[i-numberToRemove]=array[i];}','array.length=array.length-numberToRemove;}','return array;}','function array_contains(arr,val){for(var i=0,len=arr.length;i<len;i++){if(arr[i]==val){return true;}}','return false;}','function getErrorMessage(ex){if(ex.message){return ex.message;}else if(ex.description){return ex.description;}','return\"\"+ex;}','function moveCaretToEnd(input){if(input.setSelectionRange){input.focus();var length=input.value.length;input.setSelectionRange(length,length);}else if(input.createTextRange){var range=input.createTextRange();range.collapse(false);range.select();}','input.focus();}','function stopPropagation(evt){if(evt.stopPropagation){evt.stopPropagation();}else if(typeof evt.cancelBubble!=\"undefined\"){evt.cancelBubble=true;}}','function getEvent(evt){return evt?evt:event;}','function getTarget(evt){return evt.target?evt.target:evt.srcElement;}','function getRelatedTarget(evt){if(evt.relatedTarget){return evt.relatedTarget;}else if(evt.srcElement){switch(evt.type){case\"mouseover\":return evt.fromElement;case\"mouseout\":return evt.toElement;default:return evt.srcElement;}}}','function cancelKeyEvent(evt){evt.returnValue=false;stopPropagation(evt);}','function evalCommandLine(){var expr=$(\"command\").value;evalCommand(expr);$(\"command\").value=\"\";}','function evalLastCommand(){if(lastCommand!=null){evalCommand(lastCommand);}}','var lastCommand=null;var commandHistory=[];var currentCommandIndex=0;function evalCommand(expr){if(appender){appender.evalCommandAndAppend(expr);}else{var prefix=\">>> \"+expr+\"\\\\r\\\\n\";try{log(\"INFO\",prefix+eval(expr));}catch(ex){log(\"ERROR\",prefix+\"Error: \"+getErrorMessage(ex));}}','if(expr!=commandHistory[commandHistory.length-1]){commandHistory.push(expr);if(appender){appender.storeCommandHistory(commandHistory);}}','currentCommandIndex=(expr==commandHistory[currentCommandIndex])?currentCommandIndex+1:commandHistory.length;lastCommand=expr;}','//]]>','</script>','<style type=\"text/css\">','body{background-color:white;color:black;padding:0;margin:0;font-family:tahoma,verdana,arial,helvetica,sans-serif;overflow:hidden}div#switchesContainer input{margin-bottom:0}div.toolbar{border-top:solid #ffffff 1px;border-bottom:solid #aca899 1px;background-color:#f1efe7;padding:3px 5px;font-size:68.75%}div.toolbar,div#search input{font-family:tahoma,verdana,arial,helvetica,sans-serif}div.toolbar input.button{padding:0 5px;font-size:100%}div.toolbar input.hidden{display:none}div#switches input#clearButton{margin-left:20px}div#levels label{font-weight:bold}div#levels label,div#options label{margin-right:5px}div#levels label#wrapLabel{font-weight:normal}div#search label{margin-right:10px}div#search label.searchboxlabel{margin-right:0}div#search input{font-size:100%}div#search input.validregex{color:green}div#search input.invalidregex{color:red}div#search input.nomatches{color:white;background-color:#ff6666}div#search input.nomatches{color:white;background-color:#ff6666}div#searchNav{display:none}div#commandLine{display:none}div#commandLine input#command{font-size:100%;font-family:Courier New,Courier}div#commandLine input#evaluateButton{}*.greyedout{color:gray !important;border-color:gray !important}*.greyedout *.alwaysenabled{color:black}*.unselectable{-khtml-user-select:none;-moz-user-select:none;user-select:none}div#log{font-family:Courier New,Courier;font-size:75%;width:100%;overflow:auto;clear:both;position:relative}div.group{border-color:#cccccc;border-style:solid;border-width:1px 0 1px 1px;overflow:visible}div.oldIe div.group,div.oldIe div.group *,div.oldIe *.logentry{height:1%}div.group div.groupheading span.expander{border:solid black 1px;font-family:Courier New,Courier;font-size:0.833em;background-color:#eeeeee;position:relative;top:-1px;color:black;padding:0 2px;cursor:pointer;cursor:hand;height:1%}div.group div.groupcontent{margin-left:10px;padding-bottom:2px;overflow:visible}div.group div.expanded{display:block}div.group div.collapsed{display:none}*.logentry{overflow:visible;display:none;white-space:pre}span.pre{white-space:pre}pre.unwrapped{display:inline !important}pre.unwrapped pre.pre,div.wrapped pre.pre{display:inline}div.wrapped pre.pre{white-space:normal}div.wrapped{display:none}body.searching *.logentry span.currentmatch{color:white !important;background-color:green !important}body.searching div.searchhighlight *.logentry span.searchterm{color:black;background-color:yellow}div.wrap *.logentry{white-space:normal !important;border-width:0 0 1px 0;border-color:#dddddd;border-style:dotted}div.wrap #log_wrapped,#log_unwrapped{display:block}div.wrap #log_unwrapped,#log_wrapped{display:none}div.wrap *.logentry span.pre{overflow:visible;white-space:normal}div.wrap *.logentry pre.unwrapped{display:none}div.wrap *.logentry span.wrapped{display:inline}div.searchfilter *.searchnonmatch{display:none !important}div#log *.TRACE,label#label_TRACE{color:#666666}div#log *.DEBUG,label#label_DEBUG{color:green}div#log *.INFO,label#label_INFO{color:#000099}div#log *.WARN,label#label_WARN{color:#999900}div#log *.ERROR,label#label_ERROR{color:red}div#log *.FATAL,label#label_FATAL{color:#660066}div.TRACE#log *.TRACE,div.DEBUG#log *.DEBUG,div.INFO#log *.INFO,div.WARN#log *.WARN,div.ERROR#log *.ERROR,div.FATAL#log *.FATAL{display:block}div#log div.separator{background-color:#cccccc;margin:5px 0;line-height:1px}','</style>','</head>','<body id=\"body\">','<div id=\"switchesContainer\">','<div id=\"switches\">','<div id=\"levels\" class=\"toolbar\">','Filters:','<input type=\"checkbox\" id=\"switch_TRACE\" onclick=\"applyFilters(); checkAllLevels()\" checked=\"checked\" title=\"Show/hide trace messages\" /><label for=\"switch_TRACE\" id=\"label_TRACE\">trace</label>','<input type=\"checkbox\" id=\"switch_DEBUG\" onclick=\"applyFilters(); checkAllLevels()\" checked=\"checked\" title=\"Show/hide debug messages\" /><label for=\"switch_DEBUG\" id=\"label_DEBUG\">debug</label>','<input type=\"checkbox\" id=\"switch_INFO\" onclick=\"applyFilters(); checkAllLevels()\" checked=\"checked\" title=\"Show/hide info messages\" /><label for=\"switch_INFO\" id=\"label_INFO\">info</label>','<input type=\"checkbox\" id=\"switch_WARN\" onclick=\"applyFilters(); checkAllLevels()\" checked=\"checked\" title=\"Show/hide warn messages\" /><label for=\"switch_WARN\" id=\"label_WARN\">warn</label>','<input type=\"checkbox\" id=\"switch_ERROR\" onclick=\"applyFilters(); checkAllLevels()\" checked=\"checked\" title=\"Show/hide error messages\" /><label for=\"switch_ERROR\" id=\"label_ERROR\">error</label>','<input type=\"checkbox\" id=\"switch_FATAL\" onclick=\"applyFilters(); checkAllLevels()\" checked=\"checked\" title=\"Show/hide fatal messages\" /><label for=\"switch_FATAL\" id=\"label_FATAL\">fatal</label>','<input type=\"checkbox\" id=\"switch_ALL\" onclick=\"toggleAllLevels(); applyFilters()\" checked=\"checked\" title=\"Show/hide all messages\" /><label for=\"switch_ALL\" id=\"label_ALL\">all</label>','</div>','<div id=\"search\" class=\"toolbar\">','<label for=\"searchBox\" class=\"searchboxlabel\">Search:</label> <input type=\"text\" id=\"searchBox\" onclick=\"toggleSearchEnabled(true)\" onkeyup=\"scheduleSearch()\" size=\"20\" />','<input type=\"button\" id=\"searchReset\" disabled=\"disabled\" value=\"Reset\" onclick=\"clearSearch()\" class=\"button\" title=\"Reset the search\" />','<input type=\"checkbox\" id=\"searchRegex\" onclick=\"doSearch()\" title=\"If checked, search is treated as a regular expression\" /><label for=\"searchRegex\">Regex</label>','<input type=\"checkbox\" id=\"searchCaseSensitive\" onclick=\"doSearch()\" title=\"If checked, search is case sensitive\" /><label for=\"searchCaseSensitive\">Match case</label>','<input type=\"checkbox\" id=\"searchDisable\" onclick=\"toggleSearchEnabled()\" title=\"Enable/disable search\" /><label for=\"searchDisable\" class=\"alwaysenabled\">Disable</label>','<div id=\"searchNav\">','<input type=\"button\" id=\"searchNext\" disabled=\"disabled\" value=\"Next\" onclick=\"searchNext()\" class=\"button\" title=\"Go to the next matching log entry\" />','<input type=\"button\" id=\"searchPrevious\" disabled=\"disabled\" value=\"Previous\" onclick=\"searchPrevious()\" class=\"button\" title=\"Go to the previous matching log entry\" />','<input type=\"checkbox\" id=\"searchFilter\" onclick=\"toggleSearchFilter()\" title=\"If checked, non-matching log entries are filtered out\" /><label for=\"searchFilter\">Filter</label>','<input type=\"checkbox\" id=\"searchHighlight\" onclick=\"toggleSearchHighlight()\" title=\"Highlight matched search terms\" /><label for=\"searchHighlight\" class=\"alwaysenabled\">Highlight all</label>','</div>','</div>','<div id=\"options\" class=\"toolbar\">','Options:','<input type=\"checkbox\" id=\"enableLogging\" onclick=\"toggleLoggingEnabled()\" checked=\"checked\" title=\"Enable/disable logging\" /><label for=\"enableLogging\" id=\"enableLoggingLabel\">Log</label>','<input type=\"checkbox\" id=\"wrap\" onclick=\"toggleWrap()\" title=\"Enable / disable word wrap\" /><label for=\"wrap\" id=\"wrapLabel\">Wrap</label>','<input type=\"checkbox\" id=\"newestAtTop\" onclick=\"toggleNewestAtTop()\" title=\"If checked, causes newest messages to appear at the top\" /><label for=\"newestAtTop\" id=\"newestAtTopLabel\">Newest at the top</label>','<input type=\"checkbox\" id=\"scrollToLatest\" onclick=\"toggleScrollToLatest()\" checked=\"checked\" title=\"If checked, window automatically scrolls to a new message when it is added\" /><label for=\"scrollToLatest\" id=\"scrollToLatestLabel\">Scroll to latest</label>','<input type=\"button\" id=\"clearButton\" value=\"Clear\" onclick=\"clearLog()\" class=\"button\" title=\"Clear all log messages\" />','<input type=\"button\" id=\"hideButton\" value=\"Hide\" onclick=\"hide()\" class=\"hidden button\" title=\"Hide the console\" />','<input type=\"button\" id=\"closeButton\" value=\"Close\" onclick=\"closeWindow()\" class=\"hidden button\" title=\"Close the window\" />','</div>','</div>','</div>','<div id=\"log\" class=\"TRACE DEBUG INFO WARN ERROR FATAL\"></div>','<div id=\"commandLine\" class=\"toolbar\">','<div id=\"commandLineContainer\">','<input type=\"text\" id=\"command\" title=\"Enter a JavaScript command here and hit return or press \\'Evaluate\\'\" />','<input type=\"button\" id=\"evaluateButton\" value=\"Evaluate\" class=\"button\" title=\"Evaluate the command\" onclick=\"evalCommandLine()\" />','</div>','</div>','</body>','</html>',''];};var defaultCommandLineFunctions=[];ConsoleAppender=function(){};var consoleAppenderIdCounter=1;ConsoleAppender.prototype=new Appender();ConsoleAppender.prototype.create=function(inPage,container,lazyInit,initiallyMinimized,useDocumentWrite,width,height,focusConsoleWindow){var appender=this;var initialized=false;var consoleWindowCreated=false;var consoleWindowLoaded=false;var consoleClosed=false;var queuedLoggingEvents=[];var isSupported=true;var consoleAppenderId=consoleAppenderIdCounter++;initiallyMinimized=extractBooleanFromParam(initiallyMinimized,this.defaults.initiallyMinimized);lazyInit=extractBooleanFromParam(lazyInit,this.defaults.lazyInit);useDocumentWrite=extractBooleanFromParam(useDocumentWrite,this.defaults.useDocumentWrite);var newestMessageAtTop=this.defaults.newestMessageAtTop;var scrollToLatestMessage=this.defaults.scrollToLatestMessage;width=width?width:this.defaults.width;height=height?height:this.defaults.height;var maxMessages=this.defaults.maxMessages;var showCommandLine=this.defaults.showCommandLine;var commandLineObjectExpansionDepth=this.defaults.commandLineObjectExpansionDepth;var showHideButton=this.defaults.showHideButton;var showCloseButton=this.defaults.showCloseButton;this.setLayout(this.defaults.layout);var init,createWindow,safeToAppend,getConsoleWindow,open;var appenderName=inPage?\"InPageAppender\":\"PopUpAppender\";var checkCanConfigure=function(configOptionName){if(consoleWindowCreated){handleError(appenderName+\": configuration option '\"+configOptionName+\"' may not be set after the appender has been initialized\");return false;}\r\nreturn true;};var consoleWindowExists=function(){return(consoleWindowLoaded&&isSupported&&!consoleClosed);};this.isNewestMessageAtTop=function(){return newestMessageAtTop;};this.setNewestMessageAtTop=function(newestMessageAtTopParam){newestMessageAtTop=bool(newestMessageAtTopParam);if(consoleWindowExists()){getConsoleWindow().setNewestAtTop(newestMessageAtTop);}};this.isScrollToLatestMessage=function(){return scrollToLatestMessage;};this.setScrollToLatestMessage=function(scrollToLatestMessageParam){scrollToLatestMessage=bool(scrollToLatestMessageParam);if(consoleWindowExists()){getConsoleWindow().setScrollToLatest(scrollToLatestMessage);}};this.getWidth=function(){return width;};this.setWidth=function(widthParam){if(checkCanConfigure(\"width\")){width=extractStringFromParam(widthParam,width);}};this.getHeight=function(){return height;};this.setHeight=function(heightParam){if(checkCanConfigure(\"height\")){height=extractStringFromParam(heightParam,height);}};this.getMaxMessages=function(){return maxMessages;};this.setMaxMessages=function(maxMessagesParam){maxMessages=extractIntFromParam(maxMessagesParam,maxMessages);if(consoleWindowExists()){getConsoleWindow().setMaxMessages(maxMessages);}};this.isShowCommandLine=function(){return showCommandLine;};this.setShowCommandLine=function(showCommandLineParam){showCommandLine=bool(showCommandLineParam);if(consoleWindowExists()){getConsoleWindow().setShowCommandLine(showCommandLine);}};this.isShowHideButton=function(){return showHideButton;};this.setShowHideButton=function(showHideButtonParam){showHideButton=bool(showHideButtonParam);if(consoleWindowExists()){getConsoleWindow().setShowHideButton(showHideButton);}};this.isShowCloseButton=function(){return showCloseButton;};this.setShowCloseButton=function(showCloseButtonParam){showCloseButton=bool(showCloseButtonParam);if(consoleWindowExists()){getConsoleWindow().setShowCloseButton(showCloseButton);}};this.getCommandLineObjectExpansionDepth=function(){return commandLineObjectExpansionDepth;};this.setCommandLineObjectExpansionDepth=function(commandLineObjectExpansionDepthParam){commandLineObjectExpansionDepth=extractIntFromParam(commandLineObjectExpansionDepthParam,commandLineObjectExpansionDepth);};var minimized=initiallyMinimized;this.isInitiallyMinimized=function(){return initiallyMinimized;};this.setInitiallyMinimized=function(initiallyMinimizedParam){if(checkCanConfigure(\"initiallyMinimized\")){initiallyMinimized=bool(initiallyMinimizedParam);minimized=initiallyMinimized;}};this.isUseDocumentWrite=function(){return useDocumentWrite;};this.setUseDocumentWrite=function(useDocumentWriteParam){if(checkCanConfigure(\"useDocumentWrite\")){useDocumentWrite=bool(useDocumentWriteParam);}};function QueuedLoggingEvent(loggingEvent,formattedMessage){this.loggingEvent=loggingEvent;this.levelName=loggingEvent.level.name;this.formattedMessage=formattedMessage;}\r\nQueuedLoggingEvent.prototype.append=function(){getConsoleWindow().log(this.levelName,this.formattedMessage);};function QueuedGroup(name,initiallyExpanded){this.name=name;this.initiallyExpanded=initiallyExpanded;}\r\nQueuedGroup.prototype.append=function(){getConsoleWindow().group(this.name,this.initiallyExpanded);};function QueuedGroupEnd(){}\r\nQueuedGroupEnd.prototype.append=function(){getConsoleWindow().groupEnd();};var checkAndAppend=function(){safeToAppend();if(!initialized){init();}else if(consoleClosed&&reopenWhenClosed){createWindow();}\r\nif(safeToAppend()){appendQueuedLoggingEvents();}};this.append=function(loggingEvent){if(isSupported){var formattedMessage=appender.getLayout().formatWithException(loggingEvent);queuedLoggingEvents.push(new QueuedLoggingEvent(loggingEvent,formattedMessage));checkAndAppend();}};this.group=function(name,initiallyExpanded){if(isSupported){queuedLoggingEvents.push(new QueuedGroup(name,initiallyExpanded));checkAndAppend();}};this.groupEnd=function(){if(isSupported){queuedLoggingEvents.push(new QueuedGroupEnd());checkAndAppend();}};var appendQueuedLoggingEvents=function(){while(queuedLoggingEvents.length>0){queuedLoggingEvents.shift().append();}\r\nif(focusConsoleWindow){getConsoleWindow().focus();}};this.setAddedToLogger=function(logger){this.loggers.push(logger);if(enabled&&!lazyInit){init();}};this.clear=function(){if(consoleWindowExists()){getConsoleWindow().clearLog();}\r\nqueuedLoggingEvents.length=0;};this.focus=function(){if(consoleWindowExists()){getConsoleWindow().focus();}};this.focusCommandLine=function(){if(consoleWindowExists()){getConsoleWindow().focusCommandLine();}};this.focusSearch=function(){if(consoleWindowExists()){getConsoleWindow().focusSearch();}};var commandWindow=window;this.getCommandWindow=function(){return commandWindow;};this.setCommandWindow=function(commandWindowParam){commandWindow=commandWindowParam;};this.executeLastCommand=function(){if(consoleWindowExists()){getConsoleWindow().evalLastCommand();}};var commandLayout=new PatternLayout(\"%m\");this.getCommandLayout=function(){return commandLayout;};this.setCommandLayout=function(commandLayoutParam){commandLayout=commandLayoutParam;};this.evalCommandAndAppend=function(expr){var commandReturnValue={appendResult:true,isError:false};var commandOutput=\"\";try{var result,i;if(!commandWindow.eval&&commandWindow.execScript){commandWindow.execScript(\"null\");}\r\nvar commandLineFunctionsHash={};for(i=0,len=commandLineFunctions.length;i<len;i++){commandLineFunctionsHash[commandLineFunctions[i][0]]=commandLineFunctions[i][1];}\r\nvar objectsToRestore=[];var addObjectToRestore=function(name){objectsToRestore.push([name,commandWindow[name]]);};addObjectToRestore(\"appender\");commandWindow.appender=appender;addObjectToRestore(\"commandReturnValue\");commandWindow.commandReturnValue=commandReturnValue;addObjectToRestore(\"commandLineFunctionsHash\");commandWindow.commandLineFunctionsHash=commandLineFunctionsHash;var addFunctionToWindow=function(name){addObjectToRestore(name);commandWindow[name]=function(){return this.commandLineFunctionsHash[name](appender,arguments,commandReturnValue);};};for(i=0,len=commandLineFunctions.length;i<len;i++){addFunctionToWindow(commandLineFunctions[i][0]);}\r\nif(commandWindow===window&&commandWindow.execScript){addObjectToRestore(\"evalExpr\");addObjectToRestore(\"result\");window.evalExpr=expr;commandWindow.execScript(\"window.result=eval(window.evalExpr);\");result=window.result;}else{result=commandWindow.eval(expr);}\r\ncommandOutput=isUndefined(result)?result:formatObjectExpansion(result,commandLineObjectExpansionDepth);for(i=0,len=objectsToRestore.length;i<len;i++){commandWindow[objectsToRestore[i][0]]=objectsToRestore[i][1];}}catch(ex){commandOutput=\"Error evaluating command: \"+getExceptionStringRep(ex);commandReturnValue.isError=true;}\r\nif(commandReturnValue.appendResult){var message=\">>> \"+expr;if(!isUndefined(commandOutput)){message+=newLine+commandOutput;}\r\nvar level=commandReturnValue.isError?Level.ERROR:Level.INFO;var loggingEvent=new LoggingEvent(null,new Date(),level,[message],null);var mainLayout=this.getLayout();this.setLayout(commandLayout);this.append(loggingEvent);this.setLayout(mainLayout);}};var commandLineFunctions=defaultCommandLineFunctions.concat([]);this.addCommandLineFunction=function(functionName,commandLineFunction){commandLineFunctions.push([functionName,commandLineFunction]);};var commandHistoryCookieName=\"log4javascriptCommandHistory\";this.storeCommandHistory=function(commandHistory){setCookie(commandHistoryCookieName,commandHistory.join(\",\"));};var writeHtml=function(doc){var lines=getConsoleHtmlLines();doc.open();for(var i=0,len=lines.length;i<len;i++){doc.writeln(lines[i]);}\r\ndoc.close();};this.setEventTypes([\"load\",\"unload\"]);var consoleWindowLoadHandler=function(){var win=getConsoleWindow();win.setAppender(appender);win.setNewestAtTop(newestMessageAtTop);win.setScrollToLatest(scrollToLatestMessage);win.setMaxMessages(maxMessages);win.setShowCommandLine(showCommandLine);win.setShowHideButton(showHideButton);win.setShowCloseButton(showCloseButton);win.setMainWindow(window);var storedValue=getCookie(commandHistoryCookieName);if(storedValue){win.commandHistory=storedValue.split(\",\");win.currentCommandIndex=win.commandHistory.length;}\r\nappender.dispatchEvent(\"load\",{\"win\":win});};this.unload=function(){logLog.debug(\"unload \"+this+\", caller: \"+this.unload.caller);if(!consoleClosed){logLog.debug(\"really doing unload \"+this);consoleClosed=true;consoleWindowLoaded=false;consoleWindowCreated=false;appender.dispatchEvent(\"unload\",{});}};var pollConsoleWindow=function(windowTest,interval,successCallback,errorMessage){function doPoll(){try{if(consoleClosed){clearInterval(poll);}\r\nif(windowTest(getConsoleWindow())){clearInterval(poll);successCallback();}}catch(ex){clearInterval(poll);isSupported=false;handleError(errorMessage,ex);}}\r\nvar poll=setInterval(doPoll,interval);};var getConsoleUrl=function(){var documentDomainSet=(document.domain!=location.hostname);return useDocumentWrite?\"\":getBaseUrl()+\"console.html\"+\r\n(documentDomainSet?\"?log4javascript_domain=\"+escape(document.domain):\"\");};if(inPage){var containerElement=null;var cssProperties=[];this.addCssProperty=function(name,value){if(checkCanConfigure(\"cssProperties\")){cssProperties.push([name,value]);}};var windowCreationStarted=false;var iframeContainerDiv;var iframeId=uniqueId+\"_InPageAppender_\"+consoleAppenderId;this.hide=function(){if(initialized&&consoleWindowCreated){if(consoleWindowExists()){getConsoleWindow().$(\"command\").blur();}\r\niframeContainerDiv.style.display=\"none\";minimized=true;}};this.show=function(){if(initialized){if(consoleWindowCreated){iframeContainerDiv.style.display=\"block\";this.setShowCommandLine(showCommandLine);minimized=false;}else if(!windowCreationStarted){createWindow(true);}}};this.isVisible=function(){return!minimized&&!consoleClosed;};this.close=function(fromButton){if(!consoleClosed&&(!fromButton||confirm(\"This will permanently remove the console from the page. No more messages will be logged. Do you wish to continue?\"))){iframeContainerDiv.parentNode.removeChild(iframeContainerDiv);this.unload();}};open=function(){var initErrorMessage=\"InPageAppender.open: unable to create console iframe\";function finalInit(){try{if(!initiallyMinimized){appender.show();}\r\nconsoleWindowLoadHandler();consoleWindowLoaded=true;appendQueuedLoggingEvents();}catch(ex){isSupported=false;handleError(initErrorMessage,ex);}}\r\nfunction writeToDocument(){try{var windowTest=function(win){return isLoaded(win);};if(useDocumentWrite){writeHtml(getConsoleWindow().document);}\r\nif(windowTest(getConsoleWindow())){finalInit();}else{pollConsoleWindow(windowTest,100,finalInit,initErrorMessage);}}catch(ex){isSupported=false;handleError(initErrorMessage,ex);}}\r\nminimized=false;iframeContainerDiv=containerElement.appendChild(document.createElement(\"div\"));iframeContainerDiv.style.width=width;iframeContainerDiv.style.height=height;iframeContainerDiv.style.border=\"solid gray 1px\";for(var i=0,len=cssProperties.length;i<len;i++){iframeContainerDiv.style[cssProperties[i][0]]=cssProperties[i][1];}\r\nvar iframeSrc=useDocumentWrite?\"\":\" src='\"+getConsoleUrl()+\"'\";iframeContainerDiv.innerHTML=\"<iframe id='\"+iframeId+\"' name='\"+iframeId+\"' width='100%' height='100%' frameborder='0'\"+iframeSrc+\" scrolling='no'></iframe>\";consoleClosed=false;var iframeDocumentExistsTest=function(win){try{return bool(win)&&bool(win.document);}catch(ex){return false;}};if(iframeDocumentExistsTest(getConsoleWindow())){writeToDocument();}else{pollConsoleWindow(iframeDocumentExistsTest,100,writeToDocument,initErrorMessage);}\r\nconsoleWindowCreated=true;};createWindow=function(show){if(show||!initiallyMinimized){var pageLoadHandler=function(){if(!container){containerElement=document.createElement(\"div\");containerElement.style.position=\"fixed\";containerElement.style.left=\"0\";containerElement.style.right=\"0\";containerElement.style.bottom=\"0\";document.body.appendChild(containerElement);appender.addCssProperty(\"borderWidth\",\"1px 0 0 0\");appender.addCssProperty(\"zIndex\",1000000);open();}else{try{var el=document.getElementById(container);if(el.nodeType==1){containerElement=el;}\r\nopen();}catch(ex){handleError(\"InPageAppender.init: invalid container element '\"+container+\"' supplied\",ex);}}};if(pageLoaded&&container&&container.appendChild){containerElement=container;open();}else if(pageLoaded){pageLoadHandler();}else{log4javascript.addEventListener(\"load\",pageLoadHandler);}\r\nwindowCreationStarted=true;}};init=function(){createWindow();initialized=true;};getConsoleWindow=function(){var iframe=window.frames[iframeId];if(iframe){return iframe;}};safeToAppend=function(){if(isSupported&&!consoleClosed){if(consoleWindowCreated&&!consoleWindowLoaded&&getConsoleWindow()&&isLoaded(getConsoleWindow())){consoleWindowLoaded=true;}\r\nreturn consoleWindowLoaded;}\r\nreturn false;};}else{var useOldPopUp=appender.defaults.useOldPopUp;var complainAboutPopUpBlocking=appender.defaults.complainAboutPopUpBlocking;var reopenWhenClosed=this.defaults.reopenWhenClosed;this.isUseOldPopUp=function(){return useOldPopUp;};this.setUseOldPopUp=function(useOldPopUpParam){if(checkCanConfigure(\"useOldPopUp\")){useOldPopUp=bool(useOldPopUpParam);}};this.isComplainAboutPopUpBlocking=function(){return complainAboutPopUpBlocking;};this.setComplainAboutPopUpBlocking=function(complainAboutPopUpBlockingParam){if(checkCanConfigure(\"complainAboutPopUpBlocking\")){complainAboutPopUpBlocking=bool(complainAboutPopUpBlockingParam);}};this.isFocusPopUp=function(){return focusConsoleWindow;};this.setFocusPopUp=function(focusPopUpParam){focusConsoleWindow=bool(focusPopUpParam);};this.isReopenWhenClosed=function(){return reopenWhenClosed;};this.setReopenWhenClosed=function(reopenWhenClosedParam){reopenWhenClosed=bool(reopenWhenClosedParam);};this.close=function(){logLog.debug(\"close \"+this);try{popUp.close();this.unload();}catch(ex){}};this.hide=function(){logLog.debug(\"hide \"+this);if(consoleWindowExists()){this.close();}};this.show=function(){logLog.debug(\"show \"+this);if(!consoleWindowCreated){open();}};this.isVisible=function(){return safeToAppend();};var popUp;open=function(){var windowProperties=\"width=\"+width+\",height=\"+height+\",status,resizable\";var frameInfo=\"\";try{var frameEl=window.frameElement;if(frameEl){frameInfo=\"_\"+frameEl.tagName+\"_\"+(frameEl.name||frameEl.id||\"\");}}catch(e){frameInfo=\"_inaccessibleParentFrame\";}\r\nvar windowName=\"PopUp_\"+location.host.replace(/[^a-z0-9]/gi,\"_\")+\"_\"+consoleAppenderId+frameInfo;if(!useOldPopUp||!useDocumentWrite){windowName=windowName+\"_\"+uniqueId;}\r\nvar checkPopUpClosed=function(win){if(consoleClosed){return true;}else{try{return bool(win)&&win.closed;}catch(ex){}}\r\nreturn false;};var popUpClosedCallback=function(){if(!consoleClosed){appender.unload();}};function finalInit(){getConsoleWindow().setCloseIfOpenerCloses(!useOldPopUp||!useDocumentWrite);consoleWindowLoadHandler();consoleWindowLoaded=true;appendQueuedLoggingEvents();pollConsoleWindow(checkPopUpClosed,500,popUpClosedCallback,\"PopUpAppender.checkPopUpClosed: error checking pop-up window\");}\r\ntry{popUp=window.open(getConsoleUrl(),windowName,windowProperties);consoleClosed=false;consoleWindowCreated=true;if(popUp&&popUp.document){if(useDocumentWrite&&useOldPopUp&&isLoaded(popUp)){popUp.mainPageReloaded();finalInit();}else{if(useDocumentWrite){writeHtml(popUp.document);}\r\nvar popUpLoadedTest=function(win){return bool(win)&&isLoaded(win);};if(isLoaded(popUp)){finalInit();}else{pollConsoleWindow(popUpLoadedTest,100,finalInit,\"PopUpAppender.init: unable to create console window\");}}}else{isSupported=false;logLog.warn(\"PopUpAppender.init: pop-ups blocked, please unblock to use PopUpAppender\");if(complainAboutPopUpBlocking){handleError(\"log4javascript: pop-up windows appear to be blocked. Please unblock them to use pop-up logging.\");}}}catch(ex){handleError(\"PopUpAppender.init: error creating pop-up\",ex);}};createWindow=function(){if(!initiallyMinimized){open();}};init=function(){createWindow();initialized=true;};getConsoleWindow=function(){return popUp;};safeToAppend=function(){if(isSupported&&!isUndefined(popUp)&&!consoleClosed){if(popUp.closed||(consoleWindowLoaded&&isUndefined(popUp.closed))){appender.unload();logLog.debug(\"PopUpAppender: pop-up closed\");return false;}\r\nif(!consoleWindowLoaded&&isLoaded(popUp)){consoleWindowLoaded=true;}}\r\nreturn isSupported&&consoleWindowLoaded&&!consoleClosed;};}\r\nthis.getConsoleWindow=getConsoleWindow;};ConsoleAppender.addGlobalCommandLineFunction=function(functionName,commandLineFunction){defaultCommandLineFunctions.push([functionName,commandLineFunction]);};function PopUpAppender(lazyInit,initiallyMinimized,useDocumentWrite,width,height){this.create(false,null,lazyInit,initiallyMinimized,useDocumentWrite,width,height,this.defaults.focusPopUp);}\r\nPopUpAppender.prototype=new ConsoleAppender();PopUpAppender.prototype.defaults={layout:new PatternLayout(\"%d{HH:mm:ss} %-5p - %m{1}%n\"),initiallyMinimized:false,focusPopUp:false,lazyInit:true,useOldPopUp:true,complainAboutPopUpBlocking:true,newestMessageAtTop:false,scrollToLatestMessage:true,width:\"600\",height:\"400\",reopenWhenClosed:false,maxMessages:null,showCommandLine:true,commandLineObjectExpansionDepth:1,showHideButton:false,showCloseButton:true,useDocumentWrite:true};PopUpAppender.prototype.toString=function(){return\"PopUpAppender\";};log4javascript.PopUpAppender=PopUpAppender;function InPageAppender(container,lazyInit,initiallyMinimized,useDocumentWrite,width,height){this.create(true,container,lazyInit,initiallyMinimized,useDocumentWrite,width,height,false);}\r\nInPageAppender.prototype=new ConsoleAppender();InPageAppender.prototype.defaults={layout:new PatternLayout(\"%d{HH:mm:ss} %-5p - %m{1}%n\"),initiallyMinimized:false,lazyInit:true,newestMessageAtTop:false,scrollToLatestMessage:true,width:\"100%\",height:\"220px\",maxMessages:null,showCommandLine:true,commandLineObjectExpansionDepth:1,showHideButton:false,showCloseButton:false,showLogEntryDeleteButtons:true,useDocumentWrite:true};InPageAppender.prototype.toString=function(){return\"InPageAppender\";};log4javascript.InPageAppender=InPageAppender;log4javascript.InlineAppender=InPageAppender;})();function padWithSpaces(str,len){if(str.length<len){var spaces=[];var numberOfSpaces=Math.max(0,len-str.length);for(var i=0;i<numberOfSpaces;i++){spaces[i]=\" \";}\r\nstr+=spaces.join(\"\");}\r\nreturn str;}\r\n(function(){function dir(obj){var maxLen=0;for(var p in obj){maxLen=Math.max(toStr(p).length,maxLen);}\r\nvar propList=[];for(p in obj){var propNameStr=\" \"+padWithSpaces(toStr(p),maxLen+2);var propVal;try{propVal=splitIntoLines(toStr(obj[p])).join(padWithSpaces(newLine,maxLen+6));}catch(ex){propVal=\"[Error obtaining property. Details: \"+getExceptionMessage(ex)+\"]\";}\r\npropList.push(propNameStr+propVal);}\r\nreturn propList.join(newLine);}\r\nvar nodeTypes={ELEMENT_NODE:1,ATTRIBUTE_NODE:2,TEXT_NODE:3,CDATA_SECTION_NODE:4,ENTITY_REFERENCE_NODE:5,ENTITY_NODE:6,PROCESSING_INSTRUCTION_NODE:7,COMMENT_NODE:8,DOCUMENT_NODE:9,DOCUMENT_TYPE_NODE:10,DOCUMENT_FRAGMENT_NODE:11,NOTATION_NODE:12};var preFormattedElements=[\"script\",\"pre\"];var emptyElements=[\"br\",\"img\",\"hr\",\"param\",\"link\",\"area\",\"input\",\"col\",\"base\",\"meta\"];var indentationUnit=\" \";function getXhtml(rootNode,includeRootNode,indentation,startNewLine,preformatted){includeRootNode=(typeof includeRootNode==\"undefined\")?true:!!includeRootNode;if(typeof indentation!=\"string\"){indentation=\"\";}\r\nstartNewLine=!!startNewLine;preformatted=!!preformatted;var xhtml;function isWhitespace(node){return((node.nodeType==nodeTypes.TEXT_NODE)&&/^[ \\t\\r\\n]*$/.test(node.nodeValue));}\r\nfunction fixAttributeValue(attrValue){return attrValue.toString().replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/\"/g,\"&quot;\");}\r\nfunction getStyleAttributeValue(el){var stylePairs=el.style.cssText.split(\";\");var styleValue=\"\";for(var j=0,len=stylePairs.length;j<len;j++){var nameValueBits=stylePairs[j].split(\":\");var props=[];if(!/^\\s*$/.test(nameValueBits[0])){props.push(trim(nameValueBits[0]).toLowerCase()+\":\"+trim(nameValueBits[1]));}\r\nstyleValue=props.join(\";\");}\r\nreturn styleValue;}\r\nfunction getNamespace(el){if(el.prefix){return el.prefix;}else if(el.outerHTML){var regex=new RegExp(\"<([^:]+):\"+el.tagName+\"[^>]*>\",\"i\");if(regex.test(el.outerHTML)){return RegExp.$1.toLowerCase();}}\r\nreturn\"\";}\r\nvar lt=\"<\";var gt=\">\";var i,len;if(includeRootNode&&rootNode.nodeType!=nodeTypes.DOCUMENT_FRAGMENT_NODE){switch(rootNode.nodeType){case nodeTypes.ELEMENT_NODE:var tagName=rootNode.tagName.toLowerCase();xhtml=startNewLine?newLine+indentation:\"\";xhtml+=lt;var prefix=getNamespace(rootNode);var hasPrefix=!!prefix;if(hasPrefix){xhtml+=prefix+\":\";}\r\nxhtml+=tagName;for(i=0,len=rootNode.attributes.length;i<len;i++){var currentAttr=rootNode.attributes[i];if(!currentAttr.specified||currentAttr.nodeValue===null||currentAttr.nodeName.toLowerCase()===\"style\"||typeof currentAttr.nodeValue!==\"string\"||currentAttr.nodeName.indexOf(\"_moz\")===0){continue;}\r\nxhtml+=\" \"+currentAttr.nodeName.toLowerCase()+\"=\\\"\";xhtml+=fixAttributeValue(currentAttr.nodeValue);xhtml+=\"\\\"\";}\r\nif(rootNode.style.cssText){var styleValue=getStyleAttributeValue(rootNode);if(styleValue!==\"\"){xhtml+=\" style=\\\"\"+getStyleAttributeValue(rootNode)+\"\\\"\";}}\r\nif(array_contains(emptyElements,tagName)||(hasPrefix&&!rootNode.hasChildNodes())){xhtml+=\"/\"+gt;}else{xhtml+=gt;var childStartNewLine=!(rootNode.childNodes.length===1&&rootNode.childNodes[0].nodeType===nodeTypes.TEXT_NODE);var childPreformatted=array_contains(preFormattedElements,tagName);for(i=0,len=rootNode.childNodes.length;i<len;i++){xhtml+=getXhtml(rootNode.childNodes[i],true,indentation+indentationUnit,childStartNewLine,childPreformatted);}\r\nvar endTag=lt+\"/\"+tagName+gt;xhtml+=childStartNewLine?newLine+indentation+endTag:endTag;}\r\nreturn xhtml;case nodeTypes.TEXT_NODE:if(isWhitespace(rootNode)){xhtml=\"\";}else{if(preformatted){xhtml=rootNode.nodeValue;}else{var lines=splitIntoLines(trim(rootNode.nodeValue));var trimmedLines=[];for(i=0,len=lines.length;i<len;i++){trimmedLines[i]=trim(lines[i]);}\r\nxhtml=trimmedLines.join(newLine+indentation);}\r\nif(startNewLine){xhtml=newLine+indentation+xhtml;}}\r\nreturn xhtml;case nodeTypes.CDATA_SECTION_NODE:return\"<![CDA\"+\"TA[\"+rootNode.nodeValue+\"]\"+\"]>\"+newLine;case nodeTypes.DOCUMENT_NODE:xhtml=\"\";for(i=0,len=rootNode.childNodes.length;i<len;i++){xhtml+=getXhtml(rootNode.childNodes[i],true,indentation);}\r\nreturn xhtml;default:return\"\";}}else{xhtml=\"\";for(i=0,len=rootNode.childNodes.length;i<len;i++){xhtml+=getXhtml(rootNode.childNodes[i],true,indentation+indentationUnit);}\r\nreturn xhtml;}}\r\nfunction createCommandLineFunctions(){ConsoleAppender.addGlobalCommandLineFunction(\"$\",function(appender,args,returnValue){return document.getElementById(args[0]);});ConsoleAppender.addGlobalCommandLineFunction(\"dir\",function(appender,args,returnValue){var lines=[];for(var i=0,len=args.length;i<len;i++){lines[i]=dir(args[i]);}\r\nreturn lines.join(newLine+newLine);});ConsoleAppender.addGlobalCommandLineFunction(\"dirxml\",function(appender,args,returnValue){var lines=[];for(var i=0,len=args.length;i<len;i++){lines[i]=getXhtml(args[i]);}\r\nreturn lines.join(newLine+newLine);});ConsoleAppender.addGlobalCommandLineFunction(\"cd\",function(appender,args,returnValue){var win,message;if(args.length===0||args[0]===\"\"){win=window;message=\"Command line set to run in main window\";}else{if(args[0].window==args[0]){win=args[0];message=\"Command line set to run in frame '\"+args[0].name+\"'\";}else{win=window.frames[args[0]];if(win){message=\"Command line set to run in frame '\"+args[0]+\"'\";}else{returnValue.isError=true;message=\"Frame '\"+args[0]+\"' does not exist\";win=appender.getCommandWindow();}}}\r\nappender.setCommandWindow(win);return message;});ConsoleAppender.addGlobalCommandLineFunction(\"clear\",function(appender,args,returnValue){returnValue.appendResult=false;appender.clear();});ConsoleAppender.addGlobalCommandLineFunction(\"keys\",function(appender,args,returnValue){var keys=[];for(var k in args[0]){keys.push(k);}\r\nreturn keys;});ConsoleAppender.addGlobalCommandLineFunction(\"values\",function(appender,args,returnValue){var values=[];for(var k in args[0]){try{values.push(args[0][k]);}catch(ex){logLog.warn(\"values(): Unable to obtain value for key \"+k+\". Details: \"+getExceptionMessage(ex));}}\r\nreturn values;});ConsoleAppender.addGlobalCommandLineFunction(\"expansionDepth\",function(appender,args,returnValue){var expansionDepth=parseInt(args[0],10);if(isNaN(expansionDepth)||expansionDepth<0){returnValue.isError=true;return\"\"+args[0]+\" is not a valid expansion depth\";}else{appender.setCommandLineObjectExpansionDepth(expansionDepth);return\"Object expansion depth set to \"+expansionDepth;}});}\r\nfunction init(){createCommandLineFunctions();}\r\ninit();})();function createDefaultLogger(){var logger=log4javascript.getLogger(defaultLoggerName);var a=new log4javascript.PopUpAppender();logger.addAppender(a);return logger;}\r\nlog4javascript.setDocumentReady=function(){pageLoaded=true;log4javascript.dispatchEvent(\"load\",{});};if(window.addEventListener){window.addEventListener(\"load\",log4javascript.setDocumentReady,false);}else if(window.attachEvent){window.attachEvent(\"onload\",log4javascript.setDocumentReady);}else{var oldOnload=window.onload;if(typeof window.onload!=\"function\"){window.onload=log4javascript.setDocumentReady;}else{window.onload=function(evt){if(oldOnload){oldOnload(evt);}\r\nlog4javascript.setDocumentReady();};}}\r\nreturn log4javascript;},this);\r\n","/**\n * lite-url - Small, JS lib that uses regex for parsing a URL into it's component parts.\n * @version v1.0.5\n * @link https://github.com/sadams/lite-url\n * @license BSD-3-Clause\n */\n(function(){\"use strict\";function r(r,n,t){var e=r.split(n),o=e.shift();return t(o,e.join(n))}function n(n){var t={hash:\"\",host:\"\",hostname:\"\",origin:\"\",pathname:\"\",protocol:\"\",search:\"\",password:\"\",username:\"\",port:\"\"};return r(n,\"#\",function(n,e){e&&(t.hash=e?\"#\"+e:\"\"),r(n,\"?\",function(n,e){e&&(t.search=\"?\"+e),n&&r(n,\"//\",function(n,e){t.protocol=n,r(e,\"/\",function(n,e){t.pathname=\"/\"+(e||\"\"),(t.protocol||n)&&(t.origin=t.protocol+\"//\"+n),r(n,\"@\",function(n,e){if(e){var o=n.split(\":\");t.username=o[0],t.password=o[1]}else e=n;t.host=e,r(e,\":\",function(r,n){t.hostname=r,n&&(t.port=n)})})})})})}),t.href=t.origin+t.pathname+t.search+t.hash,t}function t(r){var n={},t=r.search;if(t){t=t.replace(new RegExp(\"\\\\?\"),\"\");var e=t.split(\"&\");for(var o in e)if(e.hasOwnProperty(o)&&e[o]){var i=e[o].split(\"=\");n[i[0]]=i[1]}}return n}function e(r){var e=i[r];return\"undefined\"!=typeof e?e:(e=n(r),e.params=t(e),i[r]=e,e)}var o=this,i={};return e.changeQueryParser=function(r){t=r},\"undefined\"!=typeof exports?(\"undefined\"!=typeof module&&module.exports&&(exports=module.exports=e),exports.liteURL=e):o.liteURL=e,e}).call(this);\n","/*!\n * Platform.js v1.3.6\n * Copyright 2014-2020 Benjamin Tan\n * Copyright 2011-2013 John-David Dalton\n * Available under MIT license\n */\n;(function() {\n 'use strict';\n\n /** Used to determine if values are of the language type `Object`. */\n var objectTypes = {\n 'function': true,\n 'object': true\n };\n\n /** Used as a reference to the global object. */\n var root = (objectTypes[typeof window] && window) || this;\n\n /** Backup possible global object. */\n var oldRoot = root;\n\n /** Detect free variable `exports`. */\n var freeExports = objectTypes[typeof exports] && exports;\n\n /** Detect free variable `module`. */\n var freeModule = objectTypes[typeof module] && module && !module.nodeType && module;\n\n /** Detect free variable `global` from Node.js or Browserified code and use it as `root`. */\n var freeGlobal = freeExports && freeModule && typeof global == 'object' && global;\n if (freeGlobal && (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal || freeGlobal.self === freeGlobal)) {\n root = freeGlobal;\n }\n\n /**\n * Used as the maximum length of an array-like object.\n * See the [ES6 spec](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength)\n * for more details.\n */\n var maxSafeInteger = Math.pow(2, 53) - 1;\n\n /** Regular expression to detect Opera. */\n var reOpera = /\\bOpera/;\n\n /** Possible global object. */\n var thisBinding = this;\n\n /** Used for native method references. */\n var objectProto = Object.prototype;\n\n /** Used to check for own properties of an object. */\n var hasOwnProperty = objectProto.hasOwnProperty;\n\n /** Used to resolve the internal `[[Class]]` of values. */\n var toString = objectProto.toString;\n\n /*--------------------------------------------------------------------------*/\n\n /**\n * Capitalizes a string value.\n *\n * @private\n * @param {string} string The string to capitalize.\n * @returns {string} The capitalized string.\n */\n function capitalize(string) {\n string = String(string);\n return string.charAt(0).toUpperCase() + string.slice(1);\n }\n\n /**\n * A utility function to clean up the OS name.\n *\n * @private\n * @param {string} os The OS name to clean up.\n * @param {string} [pattern] A `RegExp` pattern matching the OS name.\n * @param {string} [label] A label for the OS.\n */\n function cleanupOS(os, pattern, label) {\n // Platform tokens are defined at:\n // http://msdn.microsoft.com/en-us/library/ms537503(VS.85).aspx\n // http://web.archive.org/web/20081122053950/http://msdn.microsoft.com/en-us/library/ms537503(VS.85).aspx\n var data = {\n '10.0': '10',\n '6.4': '10 Technical Preview',\n '6.3': '8.1',\n '6.2': '8',\n '6.1': 'Server 2008 R2 / 7',\n '6.0': 'Server 2008 / Vista',\n '5.2': 'Server 2003 / XP 64-bit',\n '5.1': 'XP',\n '5.01': '2000 SP1',\n '5.0': '2000',\n '4.0': 'NT',\n '4.90': 'ME'\n };\n // Detect Windows version from platform tokens.\n if (pattern && label && /^Win/i.test(os) && !/^Windows Phone /i.test(os) &&\n (data = data[/[\\d.]+$/.exec(os)])) {\n os = 'Windows ' + data;\n }\n // Correct character case and cleanup string.\n os = String(os);\n\n if (pattern && label) {\n os = os.replace(RegExp(pattern, 'i'), label);\n }\n\n os = format(\n os.replace(/ ce$/i, ' CE')\n .replace(/\\bhpw/i, 'web')\n .replace(/\\bMacintosh\\b/, 'Mac OS')\n .replace(/_PowerPC\\b/i, ' OS')\n .replace(/\\b(OS X) [^ \\d]+/i, '$1')\n .replace(/\\bMac (OS X)\\b/, '$1')\n .replace(/\\/(\\d)/, ' $1')\n .replace(/_/g, '.')\n .replace(/(?: BePC|[ .]*fc[ \\d.]+)$/i, '')\n .replace(/\\bx86\\.64\\b/gi, 'x86_64')\n .replace(/\\b(Windows Phone) OS\\b/, '$1')\n .replace(/\\b(Chrome OS \\w+) [\\d.]+\\b/, '$1')\n .split(' on ')[0]\n );\n\n return os;\n }\n\n /**\n * An iteration utility for arrays and objects.\n *\n * @private\n * @param {Array|Object} object The object to iterate over.\n * @param {Function} callback The function called per iteration.\n */\n function each(object, callback) {\n var index = -1,\n length = object ? object.length : 0;\n\n if (typeof length == 'number' && length > -1 && length <= maxSafeInteger) {\n while (++index < length) {\n callback(object[index], index, object);\n }\n } else {\n forOwn(object, callback);\n }\n }\n\n /**\n * Trim and conditionally capitalize string values.\n *\n * @private\n * @param {string} string The string to format.\n * @returns {string} The formatted string.\n */\n function format(string) {\n string = trim(string);\n return /^(?:webOS|i(?:OS|P))/.test(string)\n ? string\n : capitalize(string);\n }\n\n /**\n * Iterates over an object's own properties, executing the `callback` for each.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} callback The function executed per own property.\n */\n function forOwn(object, callback) {\n for (var key in object) {\n if (hasOwnProperty.call(object, key)) {\n callback(object[key], key, object);\n }\n }\n }\n\n /**\n * Gets the internal `[[Class]]` of a value.\n *\n * @private\n * @param {*} value The value.\n * @returns {string} The `[[Class]]`.\n */\n function getClassOf(value) {\n return value == null\n ? capitalize(value)\n : toString.call(value).slice(8, -1);\n }\n\n /**\n * Host objects can return type values that are different from their actual\n * data type. The objects we are concerned with usually return non-primitive\n * types of \"object\", \"function\", or \"unknown\".\n *\n * @private\n * @param {*} object The owner of the property.\n * @param {string} property The property to check.\n * @returns {boolean} Returns `true` if the property value is a non-primitive, else `false`.\n */\n function isHostType(object, property) {\n var type = object != null ? typeof object[property] : 'number';\n return !/^(?:boolean|number|string|undefined)$/.test(type) &&\n (type == 'object' ? !!object[property] : true);\n }\n\n /**\n * Prepares a string for use in a `RegExp` by making hyphens and spaces optional.\n *\n * @private\n * @param {string} string The string to qualify.\n * @returns {string} The qualified string.\n */\n function qualify(string) {\n return String(string).replace(/([ -])(?!$)/g, '$1?');\n }\n\n /**\n * A bare-bones `Array#reduce` like utility function.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} callback The function called per iteration.\n * @returns {*} The accumulated result.\n */\n function reduce(array, callback) {\n var accumulator = null;\n each(array, function(value, index) {\n accumulator = callback(accumulator, value, index, array);\n });\n return accumulator;\n }\n\n /**\n * Removes leading and trailing whitespace from a string.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} The trimmed string.\n */\n function trim(string) {\n return String(string).replace(/^ +| +$/g, '');\n }\n\n /*--------------------------------------------------------------------------*/\n\n /**\n * Creates a new platform object.\n *\n * @memberOf platform\n * @param {Object|string} [ua=navigator.userAgent] The user agent string or\n * context object.\n * @returns {Object} A platform object.\n */\n function parse(ua) {\n\n /** The environment context object. */\n var context = root;\n\n /** Used to flag when a custom context is provided. */\n var isCustomContext = ua && typeof ua == 'object' && getClassOf(ua) != 'String';\n\n // Juggle arguments.\n if (isCustomContext) {\n context = ua;\n ua = null;\n }\n\n /** Browser navigator object. */\n var nav = context.navigator || {};\n\n /** Browser user agent string. */\n var userAgent = nav.userAgent || '';\n\n ua || (ua = userAgent);\n\n /** Used to flag when `thisBinding` is the [ModuleScope]. */\n var isModuleScope = isCustomContext || thisBinding == oldRoot;\n\n /** Used to detect if browser is like Chrome. */\n var likeChrome = isCustomContext\n ? !!nav.likeChrome\n : /\\bChrome\\b/.test(ua) && !/internal|\\n/i.test(toString.toString());\n\n /** Internal `[[Class]]` value shortcuts. */\n var objectClass = 'Object',\n airRuntimeClass = isCustomContext ? objectClass : 'ScriptBridgingProxyObject',\n enviroClass = isCustomContext ? objectClass : 'Environment',\n javaClass = (isCustomContext && context.java) ? 'JavaPackage' : getClassOf(context.java),\n phantomClass = isCustomContext ? objectClass : 'RuntimeObject';\n\n /** Detect Java environments. */\n var java = /\\bJava/.test(javaClass) && context.java;\n\n /** Detect Rhino. */\n var rhino = java && getClassOf(context.environment) == enviroClass;\n\n /** A character to represent alpha. */\n var alpha = java ? 'a' : '\\u03b1';\n\n /** A character to represent beta. */\n var beta = java ? 'b' : '\\u03b2';\n\n /** Browser document object. */\n var doc = context.document || {};\n\n /**\n * Detect Opera browser (Presto-based).\n * http://www.howtocreate.co.uk/operaStuff/operaObject.html\n * http://dev.opera.com/articles/view/opera-mini-web-content-authoring-guidelines/#operamini\n */\n var opera = context.operamini || context.opera;\n\n /** Opera `[[Class]]`. */\n var operaClass = reOpera.test(operaClass = (isCustomContext && opera) ? opera['[[Class]]'] : getClassOf(opera))\n ? operaClass\n : (opera = null);\n\n /*------------------------------------------------------------------------*/\n\n /** Temporary variable used over the script's lifetime. */\n var data;\n\n /** The CPU architecture. */\n var arch = ua;\n\n /** Platform description array. */\n var description = [];\n\n /** Platform alpha/beta indicator. */\n var prerelease = null;\n\n /** A flag to indicate that environment features should be used to resolve the platform. */\n var useFeatures = ua == userAgent;\n\n /** The browser/environment version. */\n var version = useFeatures && opera && typeof opera.version == 'function' && opera.version();\n\n /** A flag to indicate if the OS ends with \"/ Version\" */\n var isSpecialCasedOS;\n\n /* Detectable layout engines (order is important). */\n var layout = getLayout([\n { 'label': 'EdgeHTML', 'pattern': 'Edge' },\n 'Trident',\n { 'label': 'WebKit', 'pattern': 'AppleWebKit' },\n 'iCab',\n 'Presto',\n 'NetFront',\n 'Tasman',\n 'KHTML',\n 'Gecko'\n ]);\n\n /* Detectable browser names (order is important). */\n var name = getName([\n 'Adobe AIR',\n 'Arora',\n 'Avant Browser',\n 'Breach',\n 'Camino',\n 'Electron',\n 'Epiphany',\n 'Fennec',\n 'Flock',\n 'Galeon',\n 'GreenBrowser',\n 'iCab',\n 'Iceweasel',\n 'K-Meleon',\n 'Konqueror',\n 'Lunascape',\n 'Maxthon',\n { 'label': 'Microsoft Edge', 'pattern': '(?:Edge|Edg|EdgA|EdgiOS)' },\n 'Midori',\n 'Nook Browser',\n 'PaleMoon',\n 'PhantomJS',\n 'Raven',\n 'Rekonq',\n 'RockMelt',\n { 'label': 'Samsung Internet', 'pattern': 'SamsungBrowser' },\n 'SeaMonkey',\n { 'label': 'Silk', 'pattern': '(?:Cloud9|Silk-Accelerated)' },\n 'Sleipnir',\n 'SlimBrowser',\n { 'label': 'SRWare Iron', 'pattern': 'Iron' },\n 'Sunrise',\n 'Swiftfox',\n 'Vivaldi',\n 'Waterfox',\n 'WebPositive',\n { 'label': 'Yandex Browser', 'pattern': 'YaBrowser' },\n { 'label': 'UC Browser', 'pattern': 'UCBrowser' },\n 'Opera Mini',\n { 'label': 'Opera Mini', 'pattern': 'OPiOS' },\n 'Opera',\n { 'label': 'Opera', 'pattern': 'OPR' },\n 'Chromium',\n 'Chrome',\n { 'label': 'Chrome', 'pattern': '(?:HeadlessChrome)' },\n { 'label': 'Chrome Mobile', 'pattern': '(?:CriOS|CrMo)' },\n { 'label': 'Firefox', 'pattern': '(?:Firefox|Minefield)' },\n { 'label': 'Firefox for iOS', 'pattern': 'FxiOS' },\n { 'label': 'IE', 'pattern': 'IEMobile' },\n { 'label': 'IE', 'pattern': 'MSIE' },\n 'Safari'\n ]);\n\n /* Detectable products (order is important). */\n var product = getProduct([\n { 'label': 'BlackBerry', 'pattern': 'BB10' },\n 'BlackBerry',\n { 'label': 'Galaxy S', 'pattern': 'GT-I9000' },\n { 'label': 'Galaxy S2', 'pattern': 'GT-I9100' },\n { 'label': 'Galaxy S3', 'pattern': 'GT-I9300' },\n { 'label': 'Galaxy S4', 'pattern': 'GT-I9500' },\n { 'label': 'Galaxy S5', 'pattern': 'SM-G900' },\n { 'label': 'Galaxy S6', 'pattern': 'SM-G920' },\n { 'label': 'Galaxy S6 Edge', 'pattern': 'SM-G925' },\n { 'label': 'Galaxy S7', 'pattern': 'SM-G930' },\n { 'label': 'Galaxy S7 Edge', 'pattern': 'SM-G935' },\n 'Google TV',\n 'Lumia',\n 'iPad',\n 'iPod',\n 'iPhone',\n 'Kindle',\n { 'label': 'Kindle Fire', 'pattern': '(?:Cloud9|Silk-Accelerated)' },\n 'Nexus',\n 'Nook',\n 'PlayBook',\n 'PlayStation Vita',\n 'PlayStation',\n 'TouchPad',\n 'Transformer',\n { 'label': 'Wii U', 'pattern': 'WiiU' },\n 'Wii',\n 'Xbox One',\n { 'label': 'Xbox 360', 'pattern': 'Xbox' },\n 'Xoom'\n ]);\n\n /* Detectable manufacturers. */\n var manufacturer = getManufacturer({\n 'Apple': { 'iPad': 1, 'iPhone': 1, 'iPod': 1 },\n 'Alcatel': {},\n 'Archos': {},\n 'Amazon': { 'Kindle': 1, 'Kindle Fire': 1 },\n 'Asus': { 'Transformer': 1 },\n 'Barnes & Noble': { 'Nook': 1 },\n 'BlackBerry': { 'PlayBook': 1 },\n 'Google': { 'Google TV': 1, 'Nexus': 1 },\n 'HP': { 'TouchPad': 1 },\n 'HTC': {},\n 'Huawei': {},\n 'Lenovo': {},\n 'LG': {},\n 'Microsoft': { 'Xbox': 1, 'Xbox One': 1 },\n 'Motorola': { 'Xoom': 1 },\n 'Nintendo': { 'Wii U': 1, 'Wii': 1 },\n 'Nokia': { 'Lumia': 1 },\n 'Oppo': {},\n 'Samsung': { 'Galaxy S': 1, 'Galaxy S2': 1, 'Galaxy S3': 1, 'Galaxy S4': 1 },\n 'Sony': { 'PlayStation': 1, 'PlayStation Vita': 1 },\n 'Xiaomi': { 'Mi': 1, 'Redmi': 1 }\n });\n\n /* Detectable operating systems (order is important). */\n var os = getOS([\n 'Windows Phone',\n 'KaiOS',\n 'Android',\n 'CentOS',\n { 'label': 'Chrome OS', 'pattern': 'CrOS' },\n 'Debian',\n { 'label': 'DragonFly BSD', 'pattern': 'DragonFly' },\n 'Fedora',\n 'FreeBSD',\n 'Gentoo',\n 'Haiku',\n 'Kubuntu',\n 'Linux Mint',\n 'OpenBSD',\n 'Red Hat',\n 'SuSE',\n 'Ubuntu',\n 'Xubuntu',\n 'Cygwin',\n 'Symbian OS',\n 'hpwOS',\n 'webOS ',\n 'webOS',\n 'Tablet OS',\n 'Tizen',\n 'Linux',\n 'Mac OS X',\n 'Macintosh',\n 'Mac',\n 'Windows 98;',\n 'Windows '\n ]);\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Picks the layout engine from an array of guesses.\n *\n * @private\n * @param {Array} guesses An array of guesses.\n * @returns {null|string} The detected layout engine.\n */\n function getLayout(guesses) {\n return reduce(guesses, function(result, guess) {\n return result || RegExp('\\\\b' + (\n guess.pattern || qualify(guess)\n ) + '\\\\b', 'i').exec(ua) && (guess.label || guess);\n });\n }\n\n /**\n * Picks the manufacturer from an array of guesses.\n *\n * @private\n * @param {Array} guesses An object of guesses.\n * @returns {null|string} The detected manufacturer.\n */\n function getManufacturer(guesses) {\n return reduce(guesses, function(result, value, key) {\n // Lookup the manufacturer by product or scan the UA for the manufacturer.\n return result || (\n value[product] ||\n value[/^[a-z]+(?: +[a-z]+\\b)*/i.exec(product)] ||\n RegExp('\\\\b' + qualify(key) + '(?:\\\\b|\\\\w*\\\\d)', 'i').exec(ua)\n ) && key;\n });\n }\n\n /**\n * Picks the browser name from an array of guesses.\n *\n * @private\n * @param {Array} guesses An array of guesses.\n * @returns {null|string} The detected browser name.\n */\n function getName(guesses) {\n return reduce(guesses, function(result, guess) {\n return result || RegExp('\\\\b' + (\n guess.pattern || qualify(guess)\n ) + '\\\\b', 'i').exec(ua) && (guess.label || guess);\n });\n }\n\n /**\n * Picks the OS name from an array of guesses.\n *\n * @private\n * @param {Array} guesses An array of guesses.\n * @returns {null|string} The detected OS name.\n */\n function getOS(guesses) {\n return reduce(guesses, function(result, guess) {\n var pattern = guess.pattern || qualify(guess);\n if (!result && (result =\n RegExp('\\\\b' + pattern + '(?:/[\\\\d.]+|[ \\\\w.]*)', 'i').exec(ua)\n )) {\n result = cleanupOS(result, pattern, guess.label || guess);\n }\n return result;\n });\n }\n\n /**\n * Picks the product name from an array of guesses.\n *\n * @private\n * @param {Array} guesses An array of guesses.\n * @returns {null|string} The detected product name.\n */\n function getProduct(guesses) {\n return reduce(guesses, function(result, guess) {\n var pattern = guess.pattern || qualify(guess);\n if (!result && (result =\n RegExp('\\\\b' + pattern + ' *\\\\d+[.\\\\w_]*', 'i').exec(ua) ||\n RegExp('\\\\b' + pattern + ' *\\\\w+-[\\\\w]*', 'i').exec(ua) ||\n RegExp('\\\\b' + pattern + '(?:; *(?:[a-z]+[_-])?[a-z]+\\\\d+|[^ ();-]*)', 'i').exec(ua)\n )) {\n // Split by forward slash and append product version if needed.\n if ((result = String((guess.label && !RegExp(pattern, 'i').test(guess.label)) ? guess.label : result).split('/'))[1] && !/[\\d.]+/.test(result[0])) {\n result[0] += ' ' + result[1];\n }\n // Correct character case and cleanup string.\n guess = guess.label || guess;\n result = format(result[0]\n .replace(RegExp(pattern, 'i'), guess)\n .replace(RegExp('; *(?:' + guess + '[_-])?', 'i'), ' ')\n .replace(RegExp('(' + guess + ')[-_.]?(\\\\w)', 'i'), '$1 $2'));\n }\n return result;\n });\n }\n\n /**\n * Resolves the version using an array of UA patterns.\n *\n * @private\n * @param {Array} patterns An array of UA patterns.\n * @returns {null|string} The detected version.\n */\n function getVersion(patterns) {\n return reduce(patterns, function(result, pattern) {\n return result || (RegExp(pattern +\n '(?:-[\\\\d.]+/|(?: for [\\\\w-]+)?[ /-])([\\\\d.]+[^ ();/_-]*)', 'i').exec(ua) || 0)[1] || null;\n });\n }\n\n /**\n * Returns `platform.description` when the platform object is coerced to a string.\n *\n * @name toString\n * @memberOf platform\n * @returns {string} Returns `platform.description` if available, else an empty string.\n */\n function toStringPlatform() {\n return this.description || '';\n }\n\n /*------------------------------------------------------------------------*/\n\n // Convert layout to an array so we can add extra details.\n layout && (layout = [layout]);\n\n // Detect Android products.\n // Browsers on Android devices typically provide their product IDS after \"Android;\"\n // up to \"Build\" or \") AppleWebKit\".\n // Example:\n // \"Mozilla/5.0 (Linux; Android 8.1.0; Moto G (5) Plus) AppleWebKit/537.36\n // (KHTML, like Gecko) Chrome/70.0.3538.80 Mobile Safari/537.36\"\n if (/\\bAndroid\\b/.test(os) && !product &&\n (data = /\\bAndroid[^;]*;(.*?)(?:Build|\\) AppleWebKit)\\b/i.exec(ua))) {\n product = trim(data[1])\n // Replace any language codes (eg. \"en-US\").\n .replace(/^[a-z]{2}-[a-z]{2};\\s*/i, '')\n || null;\n }\n // Detect product names that contain their manufacturer's name.\n if (manufacturer && !product) {\n product = getProduct([manufacturer]);\n } else if (manufacturer && product) {\n product = product\n .replace(RegExp('^(' + qualify(manufacturer) + ')[-_.\\\\s]', 'i'), manufacturer + ' ')\n .replace(RegExp('^(' + qualify(manufacturer) + ')[-_.]?(\\\\w)', 'i'), manufacturer + ' $2');\n }\n // Clean up Google TV.\n if ((data = /\\bGoogle TV\\b/.exec(product))) {\n product = data[0];\n }\n // Detect simulators.\n if (/\\bSimulator\\b/i.test(ua)) {\n product = (product ? product + ' ' : '') + 'Simulator';\n }\n // Detect Opera Mini 8+ running in Turbo/Uncompressed mode on iOS.\n if (name == 'Opera Mini' && /\\bOPiOS\\b/.test(ua)) {\n description.push('running in Turbo/Uncompressed mode');\n }\n // Detect IE Mobile 11.\n if (name == 'IE' && /\\blike iPhone OS\\b/.test(ua)) {\n data = parse(ua.replace(/like iPhone OS/, ''));\n manufacturer = data.manufacturer;\n product = data.product;\n }\n // Detect iOS.\n else if (/^iP/.test(product)) {\n name || (name = 'Safari');\n os = 'iOS' + ((data = / OS ([\\d_]+)/i.exec(ua))\n ? ' ' + data[1].replace(/_/g, '.')\n : '');\n }\n // Detect Kubuntu.\n else if (name == 'Konqueror' && /^Linux\\b/i.test(os)) {\n os = 'Kubuntu';\n }\n // Detect Android browsers.\n else if ((manufacturer && manufacturer != 'Google' &&\n ((/Chrome/.test(name) && !/\\bMobile Safari\\b/i.test(ua)) || /\\bVita\\b/.test(product))) ||\n (/\\bAndroid\\b/.test(os) && /^Chrome/.test(name) && /\\bVersion\\//i.test(ua))) {\n name = 'Android Browser';\n os = /\\bAndroid\\b/.test(os) ? os : 'Android';\n }\n // Detect Silk desktop/accelerated modes.\n else if (name == 'Silk') {\n if (!/\\bMobi/i.test(ua)) {\n os = 'Android';\n description.unshift('desktop mode');\n }\n if (/Accelerated *= *true/i.test(ua)) {\n description.unshift('accelerated');\n }\n }\n // Detect UC Browser speed mode.\n else if (name == 'UC Browser' && /\\bUCWEB\\b/.test(ua)) {\n description.push('speed mode');\n }\n // Detect PaleMoon identifying as Firefox.\n else if (name == 'PaleMoon' && (data = /\\bFirefox\\/([\\d.]+)\\b/.exec(ua))) {\n description.push('identifying as Firefox ' + data[1]);\n }\n // Detect Firefox OS and products running Firefox.\n else if (name == 'Firefox' && (data = /\\b(Mobile|Tablet|TV)\\b/i.exec(ua))) {\n os || (os = 'Firefox OS');\n product || (product = data[1]);\n }\n // Detect false positives for Firefox/Safari.\n else if (!name || (data = !/\\bMinefield\\b/i.test(ua) && /\\b(?:Firefox|Safari)\\b/.exec(name))) {\n // Escape the `/` for Firefox 1.\n if (name && !product && /[\\/,]|^[^(]+?\\)/.test(ua.slice(ua.indexOf(data + '/') + 8))) {\n // Clear name of false positives.\n name = null;\n }\n // Reassign a generic name.\n if ((data = product || manufacturer || os) &&\n (product || manufacturer || /\\b(?:Android|Symbian OS|Tablet OS|webOS)\\b/.test(os))) {\n name = /[a-z]+(?: Hat)?/i.exec(/\\bAndroid\\b/.test(os) ? os : data) + ' Browser';\n }\n }\n // Add Chrome version to description for Electron.\n else if (name == 'Electron' && (data = (/\\bChrome\\/([\\d.]+)\\b/.exec(ua) || 0)[1])) {\n description.push('Chromium ' + data);\n }\n // Detect non-Opera (Presto-based) versions (order is important).\n if (!version) {\n version = getVersion([\n '(?:Cloud9|CriOS|CrMo|Edge|Edg|EdgA|EdgiOS|FxiOS|HeadlessChrome|IEMobile|Iron|Opera ?Mini|OPiOS|OPR|Raven|SamsungBrowser|Silk(?!/[\\\\d.]+$)|UCBrowser|YaBrowser)',\n 'Version',\n qualify(name),\n '(?:Firefox|Minefield|NetFront)'\n ]);\n }\n // Detect stubborn layout engines.\n if ((data =\n layout == 'iCab' && parseFloat(version) > 3 && 'WebKit' ||\n /\\bOpera\\b/.test(name) && (/\\bOPR\\b/.test(ua) ? 'Blink' : 'Presto') ||\n /\\b(?:Midori|Nook|Safari)\\b/i.test(ua) && !/^(?:Trident|EdgeHTML)$/.test(layout) && 'WebKit' ||\n !layout && /\\bMSIE\\b/i.test(ua) && (os == 'Mac OS' ? 'Tasman' : 'Trident') ||\n layout == 'WebKit' && /\\bPlayStation\\b(?! Vita\\b)/i.test(name) && 'NetFront'\n )) {\n layout = [data];\n }\n // Detect Windows Phone 7 desktop mode.\n if (name == 'IE' && (data = (/; *(?:XBLWP|ZuneWP)(\\d+)/i.exec(ua) || 0)[1])) {\n name += ' Mobile';\n os = 'Windows Phone ' + (/\\+$/.test(data) ? data : data + '.x');\n description.unshift('desktop mode');\n }\n // Detect Windows Phone 8.x desktop mode.\n else if (/\\bWPDesktop\\b/i.test(ua)) {\n name = 'IE Mobile';\n os = 'Windows Phone 8.x';\n description.unshift('desktop mode');\n version || (version = (/\\brv:([\\d.]+)/.exec(ua) || 0)[1]);\n }\n // Detect IE 11 identifying as other browsers.\n else if (name != 'IE' && layout == 'Trident' && (data = /\\brv:([\\d.]+)/.exec(ua))) {\n if (name) {\n description.push('identifying as ' + name + (version ? ' ' + version : ''));\n }\n name = 'IE';\n version = data[1];\n }\n // Leverage environment features.\n if (useFeatures) {\n // Detect server-side environments.\n // Rhino has a global function while others have a global object.\n if (isHostType(context, 'global')) {\n if (java) {\n data = java.lang.System;\n arch = data.getProperty('os.arch');\n os = os || data.getProperty('os.name') + ' ' + data.getProperty('os.version');\n }\n if (rhino) {\n try {\n version = context.require('ringo/engine').version.join('.');\n name = 'RingoJS';\n } catch(e) {\n if ((data = context.system) && data.global.system == context.system) {\n name = 'Narwhal';\n os || (os = data[0].os || null);\n }\n }\n if (!name) {\n name = 'Rhino';\n }\n }\n else if (\n typeof context.process == 'object' && !context.process.browser &&\n (data = context.process)\n ) {\n if (typeof data.versions == 'object') {\n if (typeof data.versions.electron == 'string') {\n description.push('Node ' + data.versions.node);\n name = 'Electron';\n version = data.versions.electron;\n } else if (typeof data.versions.nw == 'string') {\n description.push('Chromium ' + version, 'Node ' + data.versions.node);\n name = 'NW.js';\n version = data.versions.nw;\n }\n }\n if (!name) {\n name = 'Node.js';\n arch = data.arch;\n os = data.platform;\n version = /[\\d.]+/.exec(data.version);\n version = version ? version[0] : null;\n }\n }\n }\n // Detect Adobe AIR.\n else if (getClassOf((data = context.runtime)) == airRuntimeClass) {\n name = 'Adobe AIR';\n os = data.flash.system.Capabilities.os;\n }\n // Detect PhantomJS.\n else if (getClassOf((data = context.phantom)) == phantomClass) {\n name = 'PhantomJS';\n version = (data = data.version || null) && (data.major + '.' + data.minor + '.' + data.patch);\n }\n // Detect IE compatibility modes.\n else if (typeof doc.documentMode == 'number' && (data = /\\bTrident\\/(\\d+)/i.exec(ua))) {\n // We're in compatibility mode when the Trident version + 4 doesn't\n // equal the document mode.\n version = [version, doc.documentMode];\n if ((data = +data[1] + 4) != version[1]) {\n description.push('IE ' + version[1] + ' mode');\n layout && (layout[1] = '');\n version[1] = data;\n }\n version = name == 'IE' ? String(version[1].toFixed(1)) : version[0];\n }\n // Detect IE 11 masking as other browsers.\n else if (typeof doc.documentMode == 'number' && /^(?:Chrome|Firefox)\\b/.test(name)) {\n description.push('masking as ' + name + ' ' + version);\n name = 'IE';\n version = '11.0';\n layout = ['Trident'];\n os = 'Windows';\n }\n os = os && format(os);\n }\n // Detect prerelease phases.\n if (version && (data =\n /(?:[ab]|dp|pre|[ab]\\d+pre)(?:\\d+\\+?)?$/i.exec(version) ||\n /(?:alpha|beta)(?: ?\\d)?/i.exec(ua + ';' + (useFeatures && nav.appMinorVersion)) ||\n /\\bMinefield\\b/i.test(ua) && 'a'\n )) {\n prerelease = /b/i.test(data) ? 'beta' : 'alpha';\n version = version.replace(RegExp(data + '\\\\+?$'), '') +\n (prerelease == 'beta' ? beta : alpha) + (/\\d+\\+?/.exec(data) || '');\n }\n // Detect Firefox Mobile.\n if (name == 'Fennec' || name == 'Firefox' && /\\b(?:Android|Firefox OS|KaiOS)\\b/.test(os)) {\n name = 'Firefox Mobile';\n }\n // Obscure Maxthon's unreliable version.\n else if (name == 'Maxthon' && version) {\n version = version.replace(/\\.[\\d.]+/, '.x');\n }\n // Detect Xbox 360 and Xbox One.\n else if (/\\bXbox\\b/i.test(product)) {\n if (product == 'Xbox 360') {\n os = null;\n }\n if (product == 'Xbox 360' && /\\bIEMobile\\b/.test(ua)) {\n description.unshift('mobile mode');\n }\n }\n // Add mobile postfix.\n else if ((/^(?:Chrome|IE|Opera)$/.test(name) || name && !product && !/Browser|Mobi/.test(name)) &&\n (os == 'Windows CE' || /Mobi/i.test(ua))) {\n name += ' Mobile';\n }\n // Detect IE platform preview.\n else if (name == 'IE' && useFeatures) {\n try {\n if (context.external === null) {\n description.unshift('platform preview');\n }\n } catch(e) {\n description.unshift('embedded');\n }\n }\n // Detect BlackBerry OS version.\n // http://docs.blackberry.com/en/developers/deliverables/18169/HTTP_headers_sent_by_BB_Browser_1234911_11.jsp\n else if ((/\\bBlackBerry\\b/.test(product) || /\\bBB10\\b/.test(ua)) && (data =\n (RegExp(product.replace(/ +/g, ' *') + '/([.\\\\d]+)', 'i').exec(ua) || 0)[1] ||\n version\n )) {\n data = [data, /BB10/.test(ua)];\n os = (data[1] ? (product = null, manufacturer = 'BlackBerry') : 'Device Software') + ' ' + data[0];\n version = null;\n }\n // Detect Opera identifying/masking itself as another browser.\n // http://www.opera.com/support/kb/view/843/\n else if (this != forOwn && product != 'Wii' && (\n (useFeatures && opera) ||\n (/Opera/.test(name) && /\\b(?:MSIE|Firefox)\\b/i.test(ua)) ||\n (name == 'Firefox' && /\\bOS X (?:\\d+\\.){2,}/.test(os)) ||\n (name == 'IE' && (\n (os && !/^Win/.test(os) && version > 5.5) ||\n /\\bWindows XP\\b/.test(os) && version > 8 ||\n version == 8 && !/\\bTrident\\b/.test(ua)\n ))\n ) && !reOpera.test((data = parse.call(forOwn, ua.replace(reOpera, '') + ';'))) && data.name) {\n // When \"identifying\", the UA contains both Opera and the other browser's name.\n data = 'ing as ' + data.name + ((data = data.version) ? ' ' + data : '');\n if (reOpera.test(name)) {\n if (/\\bIE\\b/.test(data) && os == 'Mac OS') {\n os = null;\n }\n data = 'identify' + data;\n }\n // When \"masking\", the UA contains only the other browser's name.\n else {\n data = 'mask' + data;\n if (operaClass) {\n name = format(operaClass.replace(/([a-z])([A-Z])/g, '$1 $2'));\n } else {\n name = 'Opera';\n }\n if (/\\bIE\\b/.test(data)) {\n os = null;\n }\n if (!useFeatures) {\n version = null;\n }\n }\n layout = ['Presto'];\n description.push(data);\n }\n // Detect WebKit Nightly and approximate Chrome/Safari versions.\n if ((data = (/\\bAppleWebKit\\/([\\d.]+\\+?)/i.exec(ua) || 0)[1])) {\n // Correct build number for numeric comparison.\n // (e.g. \"532.5\" becomes \"532.05\")\n data = [parseFloat(data.replace(/\\.(\\d)$/, '.0$1')), data];\n // Nightly builds are postfixed with a \"+\".\n if (name == 'Safari' && data[1].slice(-1) == '+') {\n name = 'WebKit Nightly';\n prerelease = 'alpha';\n version = data[1].slice(0, -1);\n }\n // Clear incorrect browser versions.\n else if (version == data[1] ||\n version == (data[2] = (/\\bSafari\\/([\\d.]+\\+?)/i.exec(ua) || 0)[1])) {\n version = null;\n }\n // Use the full Chrome version when available.\n data[1] = (/\\b(?:Headless)?Chrome\\/([\\d.]+)/i.exec(ua) || 0)[1];\n // Detect Blink layout engine.\n if (data[0] == 537.36 && data[2] == 537.36 && parseFloat(data[1]) >= 28 && layout == 'WebKit') {\n layout = ['Blink'];\n }\n // Detect JavaScriptCore.\n // http://stackoverflow.com/questions/6768474/how-can-i-detect-which-javascript-engine-v8-or-jsc-is-used-at-runtime-in-androi\n if (!useFeatures || (!likeChrome && !data[1])) {\n layout && (layout[1] = 'like Safari');\n data = (data = data[0], data < 400 ? 1 : data < 500 ? 2 : data < 526 ? 3 : data < 533 ? 4 : data < 534 ? '4+' : data < 535 ? 5 : data < 537 ? 6 : data < 538 ? 7 : data < 601 ? 8 : data < 602 ? 9 : data < 604 ? 10 : data < 606 ? 11 : data < 608 ? 12 : '12');\n } else {\n layout && (layout[1] = 'like Chrome');\n data = data[1] || (data = data[0], data < 530 ? 1 : data < 532 ? 2 : data < 532.05 ? 3 : data < 533 ? 4 : data < 534.03 ? 5 : data < 534.07 ? 6 : data < 534.10 ? 7 : data < 534.13 ? 8 : data < 534.16 ? 9 : data < 534.24 ? 10 : data < 534.30 ? 11 : data < 535.01 ? 12 : data < 535.02 ? '13+' : data < 535.07 ? 15 : data < 535.11 ? 16 : data < 535.19 ? 17 : data < 536.05 ? 18 : data < 536.10 ? 19 : data < 537.01 ? 20 : data < 537.11 ? '21+' : data < 537.13 ? 23 : data < 537.18 ? 24 : data < 537.24 ? 25 : data < 537.36 ? 26 : layout != 'Blink' ? '27' : '28');\n }\n // Add the postfix of \".x\" or \"+\" for approximate versions.\n layout && (layout[1] += ' ' + (data += typeof data == 'number' ? '.x' : /[.+]/.test(data) ? '' : '+'));\n // Obscure version for some Safari 1-2 releases.\n if (name == 'Safari' && (!version || parseInt(version) > 45)) {\n version = data;\n } else if (name == 'Chrome' && /\\bHeadlessChrome/i.test(ua)) {\n description.unshift('headless');\n }\n }\n // Detect Opera desktop modes.\n if (name == 'Opera' && (data = /\\bzbov|zvav$/.exec(os))) {\n name += ' ';\n description.unshift('desktop mode');\n if (data == 'zvav') {\n name += 'Mini';\n version = null;\n } else {\n name += 'Mobile';\n }\n os = os.replace(RegExp(' *' + data + '$'), '');\n }\n // Detect Chrome desktop mode.\n else if (name == 'Safari' && /\\bChrome\\b/.exec(layout && layout[1])) {\n description.unshift('desktop mode');\n name = 'Chrome Mobile';\n version = null;\n\n if (/\\bOS X\\b/.test(os)) {\n manufacturer = 'Apple';\n os = 'iOS 4.3+';\n } else {\n os = null;\n }\n }\n // Newer versions of SRWare Iron uses the Chrome tag to indicate its version number.\n else if (/\\bSRWare Iron\\b/.test(name) && !version) {\n version = getVersion('Chrome');\n }\n // Strip incorrect OS versions.\n if (version && version.indexOf((data = /[\\d.]+$/.exec(os))) == 0 &&\n ua.indexOf('/' + data + '-') > -1) {\n os = trim(os.replace(data, ''));\n }\n // Ensure OS does not include the browser name.\n if (os && os.indexOf(name) != -1 && !RegExp(name + ' OS').test(os)) {\n os = os.replace(RegExp(' *' + qualify(name) + ' *'), '');\n }\n // Add layout engine.\n if (layout && !/\\b(?:Avant|Nook)\\b/.test(name) && (\n /Browser|Lunascape|Maxthon/.test(name) ||\n name != 'Safari' && /^iOS/.test(os) && /\\bSafari\\b/.test(layout[1]) ||\n /^(?:Adobe|Arora|Breach|Midori|Opera|Phantom|Rekonq|Rock|Samsung Internet|Sleipnir|SRWare Iron|Vivaldi|Web)/.test(name) && layout[1])) {\n // Don't add layout details to description if they are falsey.\n (data = layout[layout.length - 1]) && description.push(data);\n }\n // Combine contextual information.\n if (description.length) {\n description = ['(' + description.join('; ') + ')'];\n }\n // Append manufacturer to description.\n if (manufacturer && product && product.indexOf(manufacturer) < 0) {\n description.push('on ' + manufacturer);\n }\n // Append product to description.\n if (product) {\n description.push((/^on /.test(description[description.length - 1]) ? '' : 'on ') + product);\n }\n // Parse the OS into an object.\n if (os) {\n data = / ([\\d.+]+)$/.exec(os);\n isSpecialCasedOS = data && os.charAt(os.length - data[0].length - 1) == '/';\n os = {\n 'architecture': 32,\n 'family': (data && !isSpecialCasedOS) ? os.replace(data[0], '') : os,\n 'version': data ? data[1] : null,\n 'toString': function() {\n var version = this.version;\n return this.family + ((version && !isSpecialCasedOS) ? ' ' + version : '') + (this.architecture == 64 ? ' 64-bit' : '');\n }\n };\n }\n // Add browser/OS architecture.\n if ((data = /\\b(?:AMD|IA|Win|WOW|x86_|x)64\\b/i.exec(arch)) && !/\\bi686\\b/i.test(arch)) {\n if (os) {\n os.architecture = 64;\n os.family = os.family.replace(RegExp(' *' + data), '');\n }\n if (\n name && (/\\bWOW64\\b/i.test(ua) ||\n (useFeatures && /\\w(?:86|32)$/.test(nav.cpuClass || nav.platform) && !/\\bWin64; x64\\b/i.test(ua)))\n ) {\n description.unshift('32-bit');\n }\n }\n // Chrome 39 and above on OS X is always 64-bit.\n else if (\n os && /^OS X/.test(os.family) &&\n name == 'Chrome' && parseFloat(version) >= 39\n ) {\n os.architecture = 64;\n }\n\n ua || (ua = null);\n\n /*------------------------------------------------------------------------*/\n\n /**\n * The platform object.\n *\n * @name platform\n * @type Object\n */\n var platform = {};\n\n /**\n * The platform description.\n *\n * @memberOf platform\n * @type string|null\n */\n platform.description = ua;\n\n /**\n * The name of the browser's layout engine.\n *\n * The list of common layout engines include:\n * \"Blink\", \"EdgeHTML\", \"Gecko\", \"Trident\" and \"WebKit\"\n *\n * @memberOf platform\n * @type string|null\n */\n platform.layout = layout && layout[0];\n\n /**\n * The name of the product's manufacturer.\n *\n * The list of manufacturers include:\n * \"Apple\", \"Archos\", \"Amazon\", \"Asus\", \"Barnes & Noble\", \"BlackBerry\",\n * \"Google\", \"HP\", \"HTC\", \"LG\", \"Microsoft\", \"Motorola\", \"Nintendo\",\n * \"Nokia\", \"Samsung\" and \"Sony\"\n *\n * @memberOf platform\n * @type string|null\n */\n platform.manufacturer = manufacturer;\n\n /**\n * The name of the browser/environment.\n *\n * The list of common browser names include:\n * \"Chrome\", \"Electron\", \"Firefox\", \"Firefox for iOS\", \"IE\",\n * \"Microsoft Edge\", \"PhantomJS\", \"Safari\", \"SeaMonkey\", \"Silk\",\n * \"Opera Mini\" and \"Opera\"\n *\n * Mobile versions of some browsers have \"Mobile\" appended to their name:\n * eg. \"Chrome Mobile\", \"Firefox Mobile\", \"IE Mobile\" and \"Opera Mobile\"\n *\n * @memberOf platform\n * @type string|null\n */\n platform.name = name;\n\n /**\n * The alpha/beta release indicator.\n *\n * @memberOf platform\n * @type string|null\n */\n platform.prerelease = prerelease;\n\n /**\n * The name of the product hosting the browser.\n *\n * The list of common products include:\n *\n * \"BlackBerry\", \"Galaxy S4\", \"Lumia\", \"iPad\", \"iPod\", \"iPhone\", \"Kindle\",\n * \"Kindle Fire\", \"Nexus\", \"Nook\", \"PlayBook\", \"TouchPad\" and \"Transformer\"\n *\n * @memberOf platform\n * @type string|null\n */\n platform.product = product;\n\n /**\n * The browser's user agent string.\n *\n * @memberOf platform\n * @type string|null\n */\n platform.ua = ua;\n\n /**\n * The browser/environment version.\n *\n * @memberOf platform\n * @type string|null\n */\n platform.version = name && version;\n\n /**\n * The name of the operating system.\n *\n * @memberOf platform\n * @type Object\n */\n platform.os = os || {\n\n /**\n * The CPU architecture the OS is built for.\n *\n * @memberOf platform.os\n * @type number|null\n */\n 'architecture': null,\n\n /**\n * The family of the OS.\n *\n * Common values include:\n * \"Windows\", \"Windows Server 2008 R2 / 7\", \"Windows Server 2008 / Vista\",\n * \"Windows XP\", \"OS X\", \"Linux\", \"Ubuntu\", \"Debian\", \"Fedora\", \"Red Hat\",\n * \"SuSE\", \"Android\", \"iOS\" and \"Windows Phone\"\n *\n * @memberOf platform.os\n * @type string|null\n */\n 'family': null,\n\n /**\n * The version of the OS.\n *\n * @memberOf platform.os\n * @type string|null\n */\n 'version': null,\n\n /**\n * Returns the OS string.\n *\n * @memberOf platform.os\n * @returns {string} The OS string.\n */\n 'toString': function() { return 'null'; }\n };\n\n platform.parse = parse;\n platform.toString = toStringPlatform;\n\n if (platform.version) {\n description.unshift(version);\n }\n if (platform.name) {\n description.unshift(name);\n }\n if (os && name && !(os == String(os).split(' ')[0] && (os == name.split(' ')[0] || product))) {\n description.push(product ? '(' + os + ')' : 'on ' + os);\n }\n if (description.length) {\n platform.description = description.join(' ');\n }\n return platform;\n }\n\n /*--------------------------------------------------------------------------*/\n\n // Export platform.\n var platform = parse();\n\n // Some AMD build optimizers, like r.js, check for condition patterns like the following:\n if (typeof define == 'function' && typeof define.amd == 'object' && define.amd) {\n // Expose platform on the global object to prevent errors when platform is\n // loaded by a script tag in the presence of an AMD loader.\n // See http://requirejs.org/docs/errors.html#mismatch for more details.\n root.platform = platform;\n\n // Define as an anonymous module so platform can be aliased through path mapping.\n define(function() {\n return platform;\n });\n }\n // Check for `exports` after `define` in case a build optimizer adds an `exports` object.\n else if (freeExports && freeModule) {\n // Export for CommonJS support.\n forOwn(platform, function(value, key) {\n freeExports[key] = value;\n });\n }\n else {\n // Export to the global object.\n root.platform = platform;\n }\n}.call(this));\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/adapter/adapter.js\n # Provides an empty object for later loaded adapter objects\n #\n # Product/Info:\n # https://jekyll.one\n #\n # Copyright (C) 2021 Juergen Adams\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n*/\n'use strict';\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-undef: \"off\" */\n// -----------------------------------------------------------------------------\n\n/*!\n * J1 Adapter\n * Copyright (C) 2021 Juergen Adams\n * Licensed under MIT License.\n */\nmodule.exports = (function ( j1, window ) {\n return {\n\n // -------------------------------------------------------------------------\n // _init_\n // Global initializer for the adapter object\n // -------------------------------------------------------------------------\n _init_: function () {\n return;\n } // END _init_\n\n }; // END return\n\n})( j1, window );\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/j1_template/core.js\n # Provides an empty object for later loaded core objects\n #\n # Product/Info:\n # https://jekyll.one\n # http://getbootstrap.com/\n #\n # Copyright (C) 2021 Juergen Adams\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n*/\n'use strict';\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-undef: \"off\" */\n// -----------------------------------------------------------------------------\n\n// module.exports = function core ( options ) {\n/*!\n * J1 Core\n * Copyright (C) 2021 Juergen Adams\n * Licensed under MIT License.\n */\nmodule.exports = (function (options) {\n\n // ---------------------------------------------------------------------------\n // Global variables\n // ---------------------------------------------------------------------------\n // var messageCatalog = {};\n // var state;\n // var logger;\n // var logText;\n\n // ---------------------------------------------------------------------------\n // Default settings\n // ---------------------------------------------------------------------------\n var settings = $.extend({\n foo: 'foo_option',\n bar: 'bar_option'\n }, options );\n\n var state = 'loaded';\n\n return {\n\n // -------------------------------------------------------------------------\n // _init_\n // Global initializer for the core object\n // -------------------------------------------------------------------------\n _init_: function (options) {\n\n //\n // Place handling of options here\n //\n\n return;\n }, // END _init_\n\n // -------------------------------------------------------------------------\n // Returns the current (processing) state of the module\n // -------------------------------------------------------------------------\n getState: function () {\n return state;\n }, // END state\n\n // -------------------------------------------------------------------------\n // isMobile\n // Return true if the current platform is a mobile device\n // -------------------------------------------------------------------------\n isMobile: function (ua_name) {\n var mobile = false;\n (function(a){if(/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\\/|capi|ccwa|cdm|cell|chtm|cldc|cmd|co(mp|nd)|craw|da(it|ll|ng)|dbte|dcs|devi|dica|dmob|do(c|p)o|ds(12|d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(|_)|g1 u|g560|gene|gf5|gmo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd(m|p|t)|hei|hi(pt|ta)|hp( i|ip)|hsc|ht(c(| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i(20|go|ma)|i230|iac( ||\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|[a-w])|libw|lynx|m1w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|mcr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|([1-8]|c))|phil|pire|pl(ay|uc)|pn2|po(ck|rt|se)|prox|psio|ptg|qaa|qc(07|12|21|32|60|[2-7]|i)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h|oo|p)|sdk\\/|se(c(|0|1)|47|mc|nd|ri)|sgh|shar|sie(|m)|sk0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h|v|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl|tdg|tel(i|m)|tim|tmo|to(pl|sh)|ts(70|m|m3|m5)|tx9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas|your|zeto|zte/i.test(a.substr(0,4))) mobile = true;})(navigator.userAgent||navigator.vendor||window.opera);\n return mobile;\n }, // END isMobile\n\n // -------------------------------------------------------------------------\n // Clear button for input fields (forms)\n // -------------------------------------------------------------------------\n bsFormClearButton: function () {\n// $('.position-relative :input').on('keydown focus', function() {\n $(':input').on('keydown focus change mouseover', function() {\n if ($(this).val().length > 0) {\n $(this).nextAll('.form-clear').removeClass('d-none');\n }\n }).on('keydown keyup blur', function() {\n if ($(this).val().length === 0) {\n $(this).nextAll('.form-clear').addClass('d-none');\n }\n });\n\n // $('.form-clear').on('click', function() {\n // $(this).addClass('d-none').prevAll(':input').val('');\n // // hide|clear results from top search\n // $('#search-results').hide();\n // $('#search-results').html('');\n // });\n }, // END bsFormClearButton\n\n // -------------------------------------------------------------------------\n // Initialize Backdrops on all <p> elements of class \"dropcap\"\n // -------------------------------------------------------------------------\n createDropCap: function () {\n\n // add class dropcap\n $('.paragraph.dropcap').children('p').addClass('dropcap');\n\n //\n if ($('p.dropcap').length) {\n $('p.dropcap').each(function() {\n var $p = $(this);\n var text = $.trim($p.text());\n var firstLetter = text[0];\n var marginalDropCap = '<span class=\"j1-dropcap\">' + firstLetter + '</span>';\n\n $p.html(text.replace(firstLetter, marginalDropCap));\n });\n }\n } // END createDropCap\n\n }; // end return (object)\n\n//})( jQuery, window );\n})(); // END IFFE\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/navigator/navigator.js\n # Provides all JavaScript core functions for J1 Navigator\n #\n # Product/Info:\n # https://jekyll.one\n # https://github.com/adamnurdin01/navigator\n #\n # Copyright (C) 2021 Juergen Adams\n # Copyright (C) 2016 adamnurdin01\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # Bootsnav is licensed under MIT License.\n # See: https://github.com/adamnurdin01/navigator\n #\n # -----------------------------------------------------------------------------\n # NOTE:\n # jadams, 2020-06-21:\n # J1 Navigator needs a general revision on BS4 code and functionalities\n # Current, only base function are tested with BS4 (was coded for BS3)\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-undef: \"off\" */\n// -----------------------------------------------------------------------------\n\n// -----------------------------------------------------------------------------\n// TODO: Height of dropdowns are to be limited in general\n\n// -----------------------------------------------------------------------------\n// Navigator core registered as 'j1.core.navigator'\n// -----------------------------------------------------------------------------\n\nmodule.exports = function navigator ( options ) {\n\n // ---------------------------------------------------------------------------\n // global vars\n // ---------------------------------------------------------------------------\n var message = {};\n var state;\n var logger;\n var logText;\n\n // -----------------------------------------------------------------------\n // default settings\n // -----------------------------------------------------------------------\n var settings = $.extend ({\n foo: 'bar',\n bar: 'foo',\n }, options );\n\n // ---------------------------------------------------------------------------\n // main object\n // ---------------------------------------------------------------------------\n return {\n\n // -------------------------------------------------------------------------\n // module initializer\n // -------------------------------------------------------------------------\n init: function( defaultOptions, menuOptions ) {\n logger = log4javascript.getLogger('j1.core.navigator');\n logText = 'core is being initialized';\n\n logger.info(logText);\n this.manageDropdownMenu(defaultOptions, menuOptions);\n this.navbarSticky();\n this.eventHandler(); // jadams, 2021-07-03: initialize events early\n\n message.type = 'command';\n message.action = 'core_initialized';\n message.text = 'navigator core initialized';\n j1.sendMessage( 'j1.core.navigator', 'j1.adapter.navigator', message );\n\n return true;\n },\n\n // -------------------------------------------------------------------------\n // event handler\n // -------------------------------------------------------------------------\n eventHandler: function() {\n var logger = log4javascript.getLogger('j1.core.navigator.eventHandler');\n var $getNav = $('nav.navbar.navigator');\n var json_data;\n // const seeMe = 'https://smee.io/wlNIFNiJN0GClm2';\n // const middleware = 'localhost:5000/state';\n // const web_server_dev = 'http://localhost:41000/status';\n // const utility_server = 'http://localhost:41001/git?request=pull';\n // var sender = seeMe;\n // var payload;\n\n // if (j1.checkUserAgent('IE') || j1.checkUserAgent('Edge')) {\n // logger.warn('HTML5 server side events (SSE) not supported for: ' + userAgent);\n // logger.warn('Middleware messages disabled');\n // } else {\n // const middleware_status = new EventSource(sender);\n //\n // // -----------------------------------------------------------------------\n // // middleware event handler ( SSE currently NOT used)\n // // -----------------------------------------------------------------------\n // middleware_status.onmessage = (event) => {\n // const payload = JSON.parse(event.data);\n //\n // logger.debug('middleware: event received');\n //\n // json_data = JSON.stringify(payload, undefined, 2);\n // logText = 'payload: ' + json_data;\n // logger.debug(logText);\n //\n // message.type = 'command';\n // message.action = 'status';\n // message.text = payload;\n // j1.sendMessage( 'j1.core.navigator', 'j1.adapter.navigator', message );\n //\n // return true;\n // }; // END event onMessage\n // }\n\n // bind click event to all links with \"#\" to suppress default action\n // See: https://stackoverflow.com/questions/134845/which-href-value-should-i-use-for-javascript-links-or-javascriptvoid0\n //\n $('a[href=\"#\"]').click(function(e) {\n e.preventDefault ? e.preventDefault() : e.returnValue = false;\n logger.info('bound click event to \"#\", suppress default action');\n });\n\n // -----------------------------------------------------------------------\n // Navbar Sticky\n // -----------------------------------------------------------------------\n var navSticky = $getNav.hasClass('navbar-sticky');\n if( navSticky ){\n // Wraped navigation\n $getNav.wrap('<div class=\\'wrap-sticky\\'></div>');\n }\n\n // -----------------------------------------------------------------------\n // Navbar Center\n // -----------------------------------------------------------------------\n if( $getNav.hasClass('brand-center') ){\n var postsArr = new Array();\n var index = $('nav.brand-center');\n var $postsList = index.find('ul.navbar-nav');\n\n //Create array of all posts in lists\n index.find('ul.navbar-nav > li').each(function(){\n postsArr.push($(this).html());\n });\n\n // Split the array at this point. The original array is altered.\n var firstList = postsArr.splice(0, Math.round(postsArr.length / 2));\n var secondList = postsArr;\n var ListHTML = '';\n\n var createHTML = function(list) {\n ListHTML = '';\n for (var i = 0; i < list.length; i++) {\n ListHTML += '<li>' + list[i] + '</li>';\n }\n };\n\n // Generate HTML for first list\n createHTML(firstList);\n $postsList.html(ListHTML);\n index.find('ul.nav').first().addClass('navbar-left');\n\n // Generate HTML for second list\n createHTML(secondList);\n //Create new list after original one\n $postsList.after('<ul class=\"nav navbar-nav\"></ul>').next().html(ListHTML);\n index.find('ul.nav').last().addClass('navbar-right');\n\n // Wrap navigation menu\n index.find('ul.nav.navbar-left').wrap('<div class=\\'col_half left\\'></div>');\n index.find('ul.nav.navbar-right').wrap('<div class=\\'col_half right\\'></div>');\n\n // Selection Class\n index.find('ul.navbar-nav > li').each(function() {\n var dropDown = $('ul.dropdown-menu', this),\n megaMenu = $('ul.megamenu-content', this);\n dropDown.closest('li').addClass('dropdown');\n megaMenu.closest('li').addClass('megamenu-fw');\n });\n }\n\n // -----------------------------------------------------------------------\n // Menu Center\n // -----------------------------------------------------------------------\n if( $getNav.find('ul.nav').hasClass('navbar-center')) {\n $getNav.addClass('menu-center');\n }\n\n // -----------------------------------------------------------------------\n // Navbar Full\n // -----------------------------------------------------------------------\n if( $getNav.hasClass('navbar-full')) {\n // Add Class to body\n $('nav.navbar.navigator').find('ul.nav').wrap('<div class=\\'wrap-full-menu\\'></div>');\n $('.wrap-full-menu').wrap('<div class=\\'nav-full\\'></div>');\n $('ul.nav.navbar-nav').prepend('<li class=\\'close-full-menu\\'><a href=\\'#\\'><i class=\\'mdi mdi-close\\'></i></a></li>');\n } else if( $getNav.hasClass('navbar-mobile') ) {\n $getNav.removeClass('no-full');\n } else {\n $getNav.addClass('no-full');\n }\n\n // -----------------------------------------------------------------------\n // Navbar Fixed\n // -----------------------------------------------------------------------\n if( $getNav.hasClass('no-background') ) {\n $(window).on('scroll', function() {\n var navbarHeighth = $('nav.navbar').outerHeight();\n var scrollPos = $(window).scrollTop();\n\n if (scrollPos > navbarHeighth) {\n $('.navbar-fixed').removeClass('no-background');\n } else {\n $('.navbar-fixed').addClass('no-background');\n }\n });\n }\n\n if( $getNav.hasClass('navbar-transparent') ) {\n $(window).on('scroll', function() {\n var navbarHeighth = $('nav.navbar').outerHeight();\n var scrollPos = $(window).scrollTop();\n\n if (scrollPos > navbarHeighth) {\n $('.navbar-fixed').removeClass('navbar-transparent');\n $('.navbar-fixed').addClass('navbar-scrolled');\n } else {\n $('.navbar-fixed').removeClass('navbar-scrolled');\n $('.navbar-fixed').addClass('navbar-transparent');\n }\n });\n }\n\n // -----------------------------------------------------------------------\n // Toggle Search\n // https://stackoverflow.com/questions/178325/how-do-i-check-if-an-element-is-hidden-in-jquery\n // https://stackoverflow.com/questions/4770025/how-to-disable-scrolling-temporarily\n // https://stackoverflow.com/questions/5963669/whats-the-difference-between-event-stoppropagation-and-event-preventdefault\n // -----------------------------------------------------------------------\n// $('nav.navbar.navigator .attr-nav').each(function() {\n $('.attr-nav').each(function() {\n logger.debug('register OPEN event|s for QuickSearch');\n $('li.search > a', this).on('click', function(e) {\n // e.preventDefault(); // don't do the default browser action\n logger.debug('manage search action OPEN');\n $('html,body').animate({scrollTop: 0}, 0);\n $('.top-search').slideToggle('slow', 'swing', function() {\n if ( $('.top-search').is(':visible') ) {\n // disable scrolling (desktop)\n $('body').addClass('stop-scrolling');\n // disable scrolling (mobile)\n $('body').bind('touchmove', function(e){e.preventDefault();});\n } else {\n // enable scrolling (desktop)\n $('body').removeClass('stop-scrolling');\n // enable scrolling (mobile)\n $('body').unbind('touchmove');\n }\n });\n // e.stopPropagation(); // don't bubble up the event\n });\n });\n logger.debug('register CLOSE event|s for QuickSearch');\n $('.input-group-addon.close-search').on('click', function(e) {\n e.preventDefault(); // don't do the default browser action\n logger.debug('manage search action CLOSE');\n $('.top-search').slideUp('slow', 'swing');\n $('html,body').animate({scrollTop: 0}, 0);\n // enable scrolling (desktop)\n $('body').removeClass('stop-scrolling');\n // enable scrolling (mobile)\n $('body').unbind('touchmove');\n e.stopPropagation(); // don't bubble up the event\n });\n\n // -----------------------------------------------------------------------\n // Toggle Translator SHOW|HIDE\n // -----------------------------------------------------------------------\n $('nav.navbar.navigator .attr-nav').each(function() {\n logger.debug('register SHOW|HIDE event|s for J1 Translator');\n $('li.translator > a', this).on('click', function(e) {\n // e.preventDefault(); // don't do the default browser action\n // window.location.reload(true);\n logger.debug('toggle translator icon SHOW|HIDE');\n // See: https://api.jquery.com/toggle/\n // With no parameters, the .toggle() method simply toggles the visibility of elements\n $('#google_translate_element').toggle();\n if ($('#google_translate_element').css('display') !== 'none') {\n $('html,body').animate({scrollTop: 0}, 'slow');\n }\n // e.stopPropagation(); // don't bubble up the event\n });\n });\n\n // -----------------------------------------------------------------------\n // Wrapper\n // -----------------------------------------------------------------------\n $('body').wrapInner( '<div class=\\'wrapper\\'></div>');\n\n }, // end event\n\n // -------------------------------------------------------------------------\n // Manage the Menu Dropdowns for Desktop|Mobile\n // -------------------------------------------------------------------------\n manageDropdownMenu : function( defaultOptions, menuOptions ) {\n\n var navDefaultOptions = defaultOptions;\n var navMenuOptions = menuOptions;\n\n var $getNav = $('nav.navbar.navigator');\n var $windowOrientation = window.matchMedia('(orientation: landscape)').matches ? 'landscape' : 'portrait';\n var $getWindow = $(window).width();\n var $getNavWidth = $('nav').width();\n var $getIn = $getNav.find('ul.nav').data('in');\n var $getOut = $getNav.find('ul.nav').data('out');\n\n var menuSelector = '#' +navMenuOptions.xhr_container_id+ '.collapse';\n var delayMenuOpen = navMenuOptions.delay_menu_open;\n\n var $menu;\n var breakPoint;\n var $dropDown;\n var timeoutHandle;\n\n // BS4 @media MAX breakpoints\n // NOTE: a media query is always a range\n // -----------------------------------------------------------------------\n var gridBreakpoint_lg = 992; // bs-breakpoint-lg\n var gridBreakpoint_md = 768; // bs-breakpoint-md\n var gridBreakpoint_sm = 576; // bs-breakpoint-sm\n\n // BS4 @media MIN breakpoints\n // -----------------------------------------------------------------------\n // NOTE: a media query is always a range\n // var gridBreakpoint_lg = 991;\n // var gridBreakpoint_md = 767;\n // var gridBreakpoint_sm = 575;\n\n // @media ranges\n // -----------------------------------------------------------------------\n var small_range = {min: '0em', max: '40em'}; /* 0, 640px */\n var medium_range = {min: '40.063em', max: '64em'}; /* 641px, 1024px */\n var large_range = {min: '64.063em', max: '90em'}; /* 1025px, 1440px */\n var xlarge_range = {min: '90.063em', max: '120em'}; /* 1441px, 1920px */\n var xxlarge_range = {min: '120.063em'}; /* 1921px */\n\n\n // jadams, 2019-05-01: Set Media Breakpoint for Desktop|Mobile Navigation\n if ( navDefaultOptions.nav_bar.media_breakpoint === 'lg' ) {\n breakPoint = gridBreakpoint_lg;\n } else if ( navDefaultOptions.nav_bar.media_breakpoint === 'md' ) {\n breakPoint = gridBreakpoint_md;\n } else if ( navDefaultOptions.nav_bar.media_breakpoint === 'sm' ) {\n breakPoint = gridBreakpoint_sm;\n } else{\n breakPoint = gridBreakpoint_lg;\n }\n\n // -----------------------------------------------------------------------\n // Tablet or Mobile\n // NOTE:\n // Managing the mobile menu is moved to MMenu Plugin\n // Only base functions like QuickLinks are managed by\n // J1 Navigator\n // -----------------------------------------------------------------------\n // MIN media breakpoint\n if ( $getWindow <= breakPoint ) {\n\n // Collapse Navbar\n $(menuSelector).addClass('navbar-collapse');\n $(menuSelector).removeClass('show'); //\n $('#navigator_nav_quicklinks').addClass('show');\n\n // Enable click Quicklink Navigation\n $('nav.navbar.navigator .attr-nav').each(function() {\n $('.dropdown-menu', this).removeClass('animated');\n $('li.dropdown', this).off('mouseenter');\n $('li.dropdown', this).off('mouseleave');\n $('a.dropdown-toggle', this).off('click');\n $('a.dropdown-toggle', this).on('click', function (e) {\n // e.stopPropagation(); // don't bubble up the event\n $(this).closest('li.dropdown').find('.dropdown-menu').first().stop().fadeToggle();\n $('.navbar-toggle').each(function(){\n $('.mdi', this).removeClass('mdi-close');\n $('.mdi', this).addClass('mdi-menu');\n $('.navbar-collapse').removeClass('in');\n $('.navbar-collapse').removeClass('open');\n });\n });\n\n $(this).on('mouseleave', function(){\n $('.dropdown-menu', this).stop().fadeOut();\n $('li.dropdown', this).removeClass('open');\n // return false;\n });\n });\n\n $('#desktop_menu').hide();\n\n // -----------------------------------------------------------------------\n // Desktop Navigation does NOT work on physical devices like iPad|Pro\n // Config DISABLED\n //\n// } else if ( $getWindow > breakPoint || $getWindow <= 1024 && $windowOrientation == 'portrait' ) {\n } else if ( $getWindow > breakPoint ) {\n // -----------------------------------------------------------------------\n // Desktop\n // -----------------------------------------------------------------------\n $('#navigator_nav_quicklinks').removeClass('show');\n $('#desktop_menu').show();\n\n // jadams, 2021-03-05: manage dropdown menus\n // ---------------------------------------------------------------------\n\n $('.dropdown-menu > li').on('mouseenter', function(){\n if ($('body').hasClass('stop-scrolling')){\n return false;\n } else {\n $('body').addClass('stop-scrolling');\n }\n });\n\n $('.dropdown-menu > li').on('mouseleave', function(){\n // stop scrolling if top search or any (mmenu) drawer is opened\n if ($('body').hasClass('stop-scrolling')){\n $('body').removeClass('stop-scrolling');\n }\n });\n\n // limit the dropdown menu lenght if needed\n $('.dropdown-menu > li').hover(function() {\n var $container = $(this);\n var $list = $container.find('ul');\n\n // limit LAST menu ONLY\n //\n if ( $list.length == 1 ) {\n $list.addClass('scrollable-menu');\n }\n });\n\n // jadams, 2021-03-06: Enable|Show Desktop Menu|s\n //\n $(menuSelector).removeClass('navbar-collapse');\n $(menuSelector).addClass('show');\n\n // Navbar Sidebar\n // jadams, 2021-03-05: Sidebar NOT used anymore\n\n // Open Desktop Menu|s on hover\n //\n $('nav.navbar.navigator ul.nav').each(function() {\n $('a.dropdown-toggle', this).off('click');\n $('a.dropdown-toggle', this).on('click', function (e) {\n // e.stopPropagation(); // don't bubble up the event\n });\n\n $('.megamenu-fw', this).each(function(){\n $('.title', this).off('click');\n $('a.dropdown-toggle', this).off('click');\n $('.content').removeClass('animated');\n });\n $('.dropdown-menu', this).addClass('animated');\n\n $('li.dropdown', this).on('mouseenter', function(){\n $menu = $('.dropdown-menu', this).eq(0);\n $dropDown = $(this);\n\n $menu.removeClass($getOut);\n $menu.removeClass('open');\n $dropDown.addClass('open');\n // Get|Set the timeout object to delay the dropdown open\n timeoutHandle = window.setTimeout(function () {\n if ($dropDown.hasClass('open')){\n $menu.stop().fadeIn().addClass($getIn);\n $menu.addClass('open');\n $dropDown.addClass('open');\n }\n }, delayMenuOpen);\n });\n\n $('li.dropdown', this).on('mouseleave', function(){\n window.clearTimeout(timeoutHandle); // Clear the timeout object\n $(this).removeClass('open').removeClass('open');\n\n $('.dropdown-menu', this).removeClass('open');\n $('.dropdown-menu', this).eq(0).removeClass($getIn);\n $('.dropdown-menu', this).eq(0).stop().fadeOut().addClass($getOut);\n });\n\n $(this).on('mouseleave', function(){\n window.clearTimeout(timeoutHandle);\n $('li.dropdown', this).removeClass('open');\n $('.dropdown-menu', this).removeClass('open');\n $('.dropdown-menu', this).removeClass($getIn);\n $('.dropdown-menu', this).eq(0).stop().fadeOut().addClass($getOut);\n });\n }); // END Desktop Menu\n\n } // end Desktop\n\n // -----------------------------------------------------------------------\n // Hover Open on Quicklink Navigation\n // -----------------------------------------------------------------------\n $('nav.navbar.navigator .attr-nav').each(function() {\n\n $('a.dropdown-toggle', this).off('click');\n $('a.dropdown-toggle', this).on('click', function (e) {\n // e.stopPropagation(); // don't bubble up the event\n });\n\n $('.dropdown-menu', this).addClass('animated');\n $('li.dropdown', this).on('mouseenter', function(){\n $('.dropdown-menu', this).eq(0).removeClass($getOut);\n $('.dropdown-menu', this).eq(0).stop().fadeIn().addClass($getIn);\n $(this).addClass('open');\n //return false;\n });\n\n $('li.dropdown', this).on('mouseleave', function(){\n $('.dropdown-menu', this).eq(0).removeClass($getIn);\n $('.dropdown-menu', this).eq(0).stop().fadeOut().addClass($getOut);\n $(this).removeClass('open');\n });\n\n $(this).on('mouseleave', function(){\n $('.dropdown-menu', this).removeClass($getIn);\n $('.dropdown-menu', this).eq(0).stop().fadeOut().addClass($getOut);\n $('li.dropdown', this).removeClass('open');\n //return false;\n });\n });\n\n // -----------------------------------------------------------------------\n // Fullscreen Menu\n // -----------------------------------------------------------------------\n if( $getNav.hasClass('navbar-full')){\n var windowHeight = $(window).height(),\n windowWidth = $(window).width();\n\n $('.nav-full').css('height', windowHeight + 'px');\n $('.wrap-full-menu').css('height', windowHeight + 'px');\n $('.wrap-full-menu').css('width', windowWidth + 'px');\n\n $('.navbar-collapse').addClass('animated');\n $('.navbar-toggle').each(function(){\n var getId = $(this).data('target');\n $(this).off('click');\n $(this).on('click', function(e){\n e.preventDefault();\n $(getId).removeClass($getOut);\n $(getId).addClass('in');\n $(getId).addClass($getIn);\n // e.stopPropagation(); // don't bubble up the event\n // return false;\n });\n\n $('li.close-full-menu').on('click', function(e){\n e.preventDefault();\n $(getId).addClass($getOut);\n setTimeout(function(){\n $(getId).removeClass('in');\n $(getId).removeClass($getIn);\n }, 500);\n //e.stopPropagation(); // don't bubble up the event\n // return false;\n });\n });\n }\n }, // end manageDropdownMenu\n\n // -------------------------------------------------------------------------\n // Sticky Navbar\n // -------------------------------------------------------------------------\n navbarSticky : function() {\n var $getNav = $('nav.navbar.navigator'),\n navSticky = $getNav.hasClass('navbar-sticky');\n\n if (navSticky) {\n // Set Height Navigation\n var $getHeight = $getNav.height();\n $('.wrap-sticky').height($getHeight);\n\n // Windown on scroll\n var getOffset = $('.wrap-sticky').offset().top;\n $(window).on('scroll', function(){\n var scrollTop = $(window).scrollTop();\n if(scrollTop > getOffset){\n $getNav.addClass('sticked');\n }else {\n $getNav.removeClass('sticked');\n }\n });\n }\n }, // end navbarSticky\n\n // -------------------------------------------------------------------------\n // updateSidebar\n // Note:\n // -------------------------------------------------------------------------\n updateSidebar: function (user_data) {\n var logger = log4javascript.getLogger('j1.core.navigator.updateSidebar');\n var json_message;\n\n// json_message = JSON.stringify(user_data, undefined, 2); // multiline\n json_message = JSON.stringify(user_data);\n logText = 'user state data: ' + json_message;\n logger.debug(logText);\n\n // Replace Macro placeholders to values\n j1.resolveMacros(user_data);\n // Replace Macro values only\n j1.updateMacros(user_data);\n\n return true;\n\n }, // END updateSidebar\n\n }; // end return (object)\n}( jQuery );\n","/*\n # -----------------------------------------------------------------------------\n # ~200_template_js/js/asciidoctor/asciidoctor.js\n # Provides JS functions to (dynamically) modify Asciidoctor HTML elements\n #\n # Product/Info:\n # http://jekyll.one\n #\n # Copyright (C) 2021 Juergen Adams\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one/J1 Template/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n # NOTE:\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint no-redeclare: \"off\" */\n/* global window */\n\n// TODO:\n\n// -----------------------------------------------------------------------------\n// J1 Asciidoctor registered as \"asciidoctor\"\n// -----------------------------------------------------------------------------\n/*!\n * J1 Asciidoctor\n * Copyright (C) 2021 Juergen Adams\n * Licensed under MIT License.\n */\nmodule.exports = function asciidoctor (options) {\n\n return {\n\n // -------------------------------------------------------------------------\n // module initializer\n // -------------------------------------------------------------------------\n init: function (options) {\n\n var moduleOptions = options;\n var logger = log4javascript.getLogger('j1.core.asciidoctor');\n\n var moduleDefaults = {\n dummyOption: false, // placeholder\n };\n var options = $.extend(moduleDefaults,moduleOptions);\n\n logText = 'J1 Asciidoctor is being initialized';\n logger.info(logText);\n\n this.callouts();\n\n }, // end initializer\n\n // -------------------------------------------------------------------------\n // manage callouts (HTML)\n // -------------------------------------------------------------------------\n // see: https://stackoverflow.com/questions/19393493/add-colgroup-for-each-table-column\n callouts: function( options ) {\n var colgroupList = '';\n\n // If the colist does not have a <colgroup> structure\n //\n \tif($('.colist > table > colgroup').length == 0) {\n colgroupList += '<!-- [INFO ] [j1.core.asciidoctor ] [ place a colgroup dynamically ] -->' + '\\n';\n colgroupList += '<colgroup> <col style=\"width: 5%;\"> <col style=\"width: 95%;\"> </colgroup>';\n \t\t$(\".colist > table\").prepend(colgroupList);\n }\n\n }, // end callouts\n\n // -------------------------------------------------------------------------\n // manage callouts (HTML)\n // -------------------------------------------------------------------------\n conums: function( options ) {\n var dependencies_met_page_finished = setInterval(function() {\n if (j1.getState() == 'finished') {\n // If the colist does not have a <colgroup> structure\n \tif($('.colist > table > colgroup').length == 0) {\n\n \t\tvar colgroupList = '';\n colgroupList += '<colgroup> <col style=\"width: 5%;\"> <col style=\"width: 95%;\"> </colgroup>';\n\n \t\t$(\".colist > table\").prepend(colgroupList);\n clearInterval(dependencies_met_page_finished);\n \t}\n }\n });\n }, // end conums\n\n }; // END return\n}( jQuery );\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/scroll-smooth/scroll-smooth.js\n # Provides Javascript functions for smooth scrolling\n #\n # Product/Info:\n # http://jekyll.one\n #\n # Copyright (C) 2020 Juergen Adams\n #\n # J1 Template is licensed under the MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n*/\n'use strict';\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint no-redeclare: \"off\" */\n/* eslint indent: \"off\" */\n// -----------------------------------------------------------------------------\n\n// -----------------------------------------------------------------------------\n// scrollSmooth core registered as \"scrollSmooth\"\n// -----------------------------------------------------------------------------\nmodule.exports = function scrollSmooth ( options ) {\n\n // Default settings\n var settings = $.extend({\n foo: 'foo_option',\n bar: 'bar_option'\n }, options );\n\n // -----------------------------------------------------------------------\n // Helper functions\n // -----------------------------------------------------------------------\n function stripHash (url) {\n return url.slice(0, url.lastIndexOf('#'));\n }\n\n function isCssSmoothScrollSupported () {\n return 'scrollBehavior' in document.documentElement.style;\n }\n\n return {\n // -------------------------------------------------------------------------\n // Initialize scrollSmooth\n // -------------------------------------------------------------------------\n scroll: function ( target, options ) {\n\n var logger;\n var logText;\n\n logger = log4javascript.getLogger('j1.core.scrollSmooth');\n\n // indicator|check currently NOT used\n // if (isCssSmoothScrollSupported()) { }\n\n logText = 'run module scrollSmooth';\n logger.info(logText);\n\n var duration = options.duration;\n var offset = options.offset;\n\n // var pageUrl = options.location.hash\n // ? stripHash(options.location.href)\n // : options.location.href;\n\n this.scrollTo(target, {\n duration: duration,\n offset: offset,\n callback: null\n });\n\n logText = 'scrollSmooth finished';\n logger.info(logText);\n },\n\n // -------------------------------------------------------------------------\n // scrollTo\n // -------------------------------------------------------------------------\n scrollTo: function ( target, options ) {\n var start = window.pageYOffset;\n var opt = {\n duration: options.duration,\n offset: options.offset || 0,\n callback: options.callback,\n easing: options.easing || easeInOutQuad\n };\n\n // This makes ids that start with a number work: ('[id=\"' + decodeURI(target).split('#').join('') + '\"]')\n // DecodeURI for nonASCII hashes, they was encoded, but id was not encoded, it lead to not finding the tgt element by id.\n // And this is for IE: document.body.scrollTop\n var tgt = document.querySelector('[id=\"' + decodeURI(target).split('#').join('') + '\"]');\n var distance = typeof target === 'string'\n ? opt.offset + (\n target\n ? (tgt && tgt.getBoundingClientRect().top) || 0 // handle non-existent links better.\n : -(document.documentElement.scrollTop || document.body.scrollTop))\n : target;\n var duration = typeof opt.duration === 'function'\n ? opt.duration(distance)\n : opt.duration;\n var timeStart;\n var timeElapsed;\n\n requestAnimationFrame(function (time) { timeStart = time; loop(time); });\n function loop (time) {\n timeElapsed = time - timeStart;\n\n window.scrollTo(0, opt.easing(timeElapsed, start, distance, duration));\n\n if (timeElapsed < duration) { requestAnimationFrame(loop); } else { end(); }\n }\n\n function end () {\n window.scrollTo(0, start + distance);\n\n // jadams, 2020-07-04: on (some?) mobile devices, the navbar\n // background is NOT switched (always?) correctly on a\n // page RELOAD.\n //\n // Solution: scroll the page one pixel back and forth (trigger)\n // to get the right position for the Toccer and adjust the\n // Navigator to display the (tranparent) navbar correctly based\n // on their onscroll events registered.\n //\n $(window).scrollTop($(window).scrollTop()+1);\n $(window).scrollTop($(window).scrollTop()-1);\n\n if (typeof opt.callback === 'function') { opt.callback(); }\n }\n\n // Robert Penner's easeInOutQuad - http://robertpenner.com/easing/\n function easeInOutQuad (t, b, c, d) {\n t /= d / 2;\n if (t < 1) return c / 2 * t * t + b;\n t--;\n return -c / 2 * (t * (t - 2) - 1) + b;\n }\n } // END scrollTo\n\n }; // END return\n}( jQuery );\n","/*\n * anime.js v3.2.0\n * (c) 2020 Julian Garnier\n * Released under the MIT license\n * animejs.com\n */\n\n'use strict';\n\n// Defaults\n\nvar defaultInstanceSettings = {\n update: null,\n begin: null,\n loopBegin: null,\n changeBegin: null,\n change: null,\n changeComplete: null,\n loopComplete: null,\n complete: null,\n loop: 1,\n direction: 'normal',\n autoplay: true,\n timelineOffset: 0\n};\n\nvar defaultTweenSettings = {\n duration: 1000,\n delay: 0,\n endDelay: 0,\n easing: 'easeOutElastic(1, .5)',\n round: 0\n};\n\nvar validTransforms = ['translateX', 'translateY', 'translateZ', 'rotate', 'rotateX', 'rotateY', 'rotateZ', 'scale', 'scaleX', 'scaleY', 'scaleZ', 'skew', 'skewX', 'skewY', 'perspective', 'matrix', 'matrix3d'];\n\n// Caching\n\nvar cache = {\n CSS: {},\n springs: {}\n};\n\n// Utils\n\nfunction minMax(val, min, max) {\n return Math.min(Math.max(val, min), max);\n}\n\nfunction stringContains(str, text) {\n return str.indexOf(text) > -1;\n}\n\nfunction applyArguments(func, args) {\n return func.apply(null, args);\n}\n\nvar is = {\n arr: function (a) { return Array.isArray(a); },\n obj: function (a) { return stringContains(Object.prototype.toString.call(a), 'Object'); },\n pth: function (a) { return is.obj(a) && a.hasOwnProperty('totalLength'); },\n svg: function (a) { return a instanceof SVGElement; },\n inp: function (a) { return a instanceof HTMLInputElement; },\n dom: function (a) { return a.nodeType || is.svg(a); },\n str: function (a) { return typeof a === 'string'; },\n fnc: function (a) { return typeof a === 'function'; },\n und: function (a) { return typeof a === 'undefined'; },\n hex: function (a) { return /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(a); },\n rgb: function (a) { return /^rgb/.test(a); },\n hsl: function (a) { return /^hsl/.test(a); },\n col: function (a) { return (is.hex(a) || is.rgb(a) || is.hsl(a)); },\n key: function (a) { return !defaultInstanceSettings.hasOwnProperty(a) && !defaultTweenSettings.hasOwnProperty(a) && a !== 'targets' && a !== 'keyframes'; }\n};\n\n// Easings\n\nfunction parseEasingParameters(string) {\n var match = /\\(([^)]+)\\)/.exec(string);\n return match ? match[1].split(',').map(function (p) { return parseFloat(p); }) : [];\n}\n\n// Spring solver inspired by Webkit Copyright © 2016 Apple Inc. All rights reserved. https://webkit.org/demos/spring/spring.js\n\nfunction spring(string, duration) {\n\n var params = parseEasingParameters(string);\n var mass = minMax(is.und(params[0]) ? 1 : params[0], .1, 100);\n var stiffness = minMax(is.und(params[1]) ? 100 : params[1], .1, 100);\n var damping = minMax(is.und(params[2]) ? 10 : params[2], .1, 100);\n var velocity = minMax(is.und(params[3]) ? 0 : params[3], .1, 100);\n var w0 = Math.sqrt(stiffness / mass);\n var zeta = damping / (2 * Math.sqrt(stiffness * mass));\n var wd = zeta < 1 ? w0 * Math.sqrt(1 - zeta * zeta) : 0;\n var a = 1;\n var b = zeta < 1 ? (zeta * w0 + -velocity) / wd : -velocity + w0;\n\n function solver(t) {\n var progress = duration ? (duration * t) / 1000 : t;\n if (zeta < 1) {\n progress = Math.exp(-progress * zeta * w0) * (a * Math.cos(wd * progress) + b * Math.sin(wd * progress));\n } else {\n progress = (a + b * progress) * Math.exp(-progress * w0);\n }\n if (t === 0 || t === 1) { return t; }\n return 1 - progress;\n }\n\n function getDuration() {\n var cached = cache.springs[string];\n if (cached) { return cached; }\n var frame = 1/6;\n var elapsed = 0;\n var rest = 0;\n while(true) {\n elapsed += frame;\n if (solver(elapsed) === 1) {\n rest++;\n if (rest >= 16) { break; }\n } else {\n rest = 0;\n }\n }\n var duration = elapsed * frame * 1000;\n cache.springs[string] = duration;\n return duration;\n }\n\n return duration ? solver : getDuration;\n\n}\n\n// Basic steps easing implementation https://developer.mozilla.org/fr/docs/Web/CSS/transition-timing-function\n\nfunction steps(steps) {\n if ( steps === void 0 ) steps = 10;\n\n return function (t) { return Math.ceil((minMax(t, 0.000001, 1)) * steps) * (1 / steps); };\n}\n\n// BezierEasing https://github.com/gre/bezier-easing\n\nvar bezier = (function () {\n\n var kSplineTableSize = 11;\n var kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);\n\n function A(aA1, aA2) { return 1.0 - 3.0 * aA2 + 3.0 * aA1 }\n function B(aA1, aA2) { return 3.0 * aA2 - 6.0 * aA1 }\n function C(aA1) { return 3.0 * aA1 }\n\n function calcBezier(aT, aA1, aA2) { return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT }\n function getSlope(aT, aA1, aA2) { return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1) }\n\n function binarySubdivide(aX, aA, aB, mX1, mX2) {\n var currentX, currentT, i = 0;\n do {\n currentT = aA + (aB - aA) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - aX;\n if (currentX > 0.0) { aB = currentT; } else { aA = currentT; }\n } while (Math.abs(currentX) > 0.0000001 && ++i < 10);\n return currentT;\n }\n\n function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {\n for (var i = 0; i < 4; ++i) {\n var currentSlope = getSlope(aGuessT, mX1, mX2);\n if (currentSlope === 0.0) { return aGuessT; }\n var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n aGuessT -= currentX / currentSlope;\n }\n return aGuessT;\n }\n\n function bezier(mX1, mY1, mX2, mY2) {\n\n if (!(0 <= mX1 && mX1 <= 1 && 0 <= mX2 && mX2 <= 1)) { return; }\n var sampleValues = new Float32Array(kSplineTableSize);\n\n if (mX1 !== mY1 || mX2 !== mY2) {\n for (var i = 0; i < kSplineTableSize; ++i) {\n sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\n }\n }\n\n function getTForX(aX) {\n\n var intervalStart = 0;\n var currentSample = 1;\n var lastSample = kSplineTableSize - 1;\n\n for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) {\n intervalStart += kSampleStepSize;\n }\n\n --currentSample;\n\n var dist = (aX - sampleValues[currentSample]) / (sampleValues[currentSample + 1] - sampleValues[currentSample]);\n var guessForT = intervalStart + dist * kSampleStepSize;\n var initialSlope = getSlope(guessForT, mX1, mX2);\n\n if (initialSlope >= 0.001) {\n return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\n } else if (initialSlope === 0.0) {\n return guessForT;\n } else {\n return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\n }\n\n }\n\n return function (x) {\n if (mX1 === mY1 && mX2 === mY2) { return x; }\n if (x === 0 || x === 1) { return x; }\n return calcBezier(getTForX(x), mY1, mY2);\n }\n\n }\n\n return bezier;\n\n})();\n\nvar penner = (function () {\n\n // Based on jQuery UI's implemenation of easing equations from Robert Penner (http://www.robertpenner.com/easing)\n\n var eases = { linear: function () { return function (t) { return t; }; } };\n\n var functionEasings = {\n Sine: function () { return function (t) { return 1 - Math.cos(t * Math.PI / 2); }; },\n Circ: function () { return function (t) { return 1 - Math.sqrt(1 - t * t); }; },\n Back: function () { return function (t) { return t * t * (3 * t - 2); }; },\n Bounce: function () { return function (t) {\n var pow2, b = 4;\n while (t < (( pow2 = Math.pow(2, --b)) - 1) / 11) {}\n return 1 / Math.pow(4, 3 - b) - 7.5625 * Math.pow(( pow2 * 3 - 2 ) / 22 - t, 2)\n }; },\n Elastic: function (amplitude, period) {\n if ( amplitude === void 0 ) amplitude = 1;\n if ( period === void 0 ) period = .5;\n\n var a = minMax(amplitude, 1, 10);\n var p = minMax(period, .1, 2);\n return function (t) {\n return (t === 0 || t === 1) ? t : \n -a * Math.pow(2, 10 * (t - 1)) * Math.sin((((t - 1) - (p / (Math.PI * 2) * Math.asin(1 / a))) * (Math.PI * 2)) / p);\n }\n }\n };\n\n var baseEasings = ['Quad', 'Cubic', 'Quart', 'Quint', 'Expo'];\n\n baseEasings.forEach(function (name, i) {\n functionEasings[name] = function () { return function (t) { return Math.pow(t, i + 2); }; };\n });\n\n Object.keys(functionEasings).forEach(function (name) {\n var easeIn = functionEasings[name];\n eases['easeIn' + name] = easeIn;\n eases['easeOut' + name] = function (a, b) { return function (t) { return 1 - easeIn(a, b)(1 - t); }; };\n eases['easeInOut' + name] = function (a, b) { return function (t) { return t < 0.5 ? easeIn(a, b)(t * 2) / 2 : \n 1 - easeIn(a, b)(t * -2 + 2) / 2; }; };\n });\n\n return eases;\n\n})();\n\nfunction parseEasings(easing, duration) {\n if (is.fnc(easing)) { return easing; }\n var name = easing.split('(')[0];\n var ease = penner[name];\n var args = parseEasingParameters(easing);\n switch (name) {\n case 'spring' : return spring(easing, duration);\n case 'cubicBezier' : return applyArguments(bezier, args);\n case 'steps' : return applyArguments(steps, args);\n default : return applyArguments(ease, args);\n }\n}\n\n// Strings\n\nfunction selectString(str) {\n try {\n var nodes = document.querySelectorAll(str);\n return nodes;\n } catch(e) {\n return;\n }\n}\n\n// Arrays\n\nfunction filterArray(arr, callback) {\n var len = arr.length;\n var thisArg = arguments.length >= 2 ? arguments[1] : void 0;\n var result = [];\n for (var i = 0; i < len; i++) {\n if (i in arr) {\n var val = arr[i];\n if (callback.call(thisArg, val, i, arr)) {\n result.push(val);\n }\n }\n }\n return result;\n}\n\nfunction flattenArray(arr) {\n return arr.reduce(function (a, b) { return a.concat(is.arr(b) ? flattenArray(b) : b); }, []);\n}\n\nfunction toArray(o) {\n if (is.arr(o)) { return o; }\n if (is.str(o)) { o = selectString(o) || o; }\n if (o instanceof NodeList || o instanceof HTMLCollection) { return [].slice.call(o); }\n return [o];\n}\n\nfunction arrayContains(arr, val) {\n return arr.some(function (a) { return a === val; });\n}\n\n// Objects\n\nfunction cloneObject(o) {\n var clone = {};\n for (var p in o) { clone[p] = o[p]; }\n return clone;\n}\n\nfunction replaceObjectProps(o1, o2) {\n var o = cloneObject(o1);\n for (var p in o1) { o[p] = o2.hasOwnProperty(p) ? o2[p] : o1[p]; }\n return o;\n}\n\nfunction mergeObjects(o1, o2) {\n var o = cloneObject(o1);\n for (var p in o2) { o[p] = is.und(o1[p]) ? o2[p] : o1[p]; }\n return o;\n}\n\n// Colors\n\nfunction rgbToRgba(rgbValue) {\n var rgb = /rgb\\((\\d+,\\s*[\\d]+,\\s*[\\d]+)\\)/g.exec(rgbValue);\n return rgb ? (\"rgba(\" + (rgb[1]) + \",1)\") : rgbValue;\n}\n\nfunction hexToRgba(hexValue) {\n var rgx = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n var hex = hexValue.replace(rgx, function (m, r, g, b) { return r + r + g + g + b + b; } );\n var rgb = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n var r = parseInt(rgb[1], 16);\n var g = parseInt(rgb[2], 16);\n var b = parseInt(rgb[3], 16);\n return (\"rgba(\" + r + \",\" + g + \",\" + b + \",1)\");\n}\n\nfunction hslToRgba(hslValue) {\n var hsl = /hsl\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%\\)/g.exec(hslValue) || /hsla\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%,\\s*([\\d.]+)\\)/g.exec(hslValue);\n var h = parseInt(hsl[1], 10) / 360;\n var s = parseInt(hsl[2], 10) / 100;\n var l = parseInt(hsl[3], 10) / 100;\n var a = hsl[4] || 1;\n function hue2rgb(p, q, t) {\n if (t < 0) { t += 1; }\n if (t > 1) { t -= 1; }\n if (t < 1/6) { return p + (q - p) * 6 * t; }\n if (t < 1/2) { return q; }\n if (t < 2/3) { return p + (q - p) * (2/3 - t) * 6; }\n return p;\n }\n var r, g, b;\n if (s == 0) {\n r = g = b = l;\n } else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1/3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1/3);\n }\n return (\"rgba(\" + (r * 255) + \",\" + (g * 255) + \",\" + (b * 255) + \",\" + a + \")\");\n}\n\nfunction colorToRgb(val) {\n if (is.rgb(val)) { return rgbToRgba(val); }\n if (is.hex(val)) { return hexToRgba(val); }\n if (is.hsl(val)) { return hslToRgba(val); }\n}\n\n// Units\n\nfunction getUnit(val) {\n var split = /[+-]?\\d*\\.?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(val);\n if (split) { return split[1]; }\n}\n\nfunction getTransformUnit(propName) {\n if (stringContains(propName, 'translate') || propName === 'perspective') { return 'px'; }\n if (stringContains(propName, 'rotate') || stringContains(propName, 'skew')) { return 'deg'; }\n}\n\n// Values\n\nfunction getFunctionValue(val, animatable) {\n if (!is.fnc(val)) { return val; }\n return val(animatable.target, animatable.id, animatable.total);\n}\n\nfunction getAttribute(el, prop) {\n return el.getAttribute(prop);\n}\n\nfunction convertPxToUnit(el, value, unit) {\n var valueUnit = getUnit(value);\n if (arrayContains([unit, 'deg', 'rad', 'turn'], valueUnit)) { return value; }\n var cached = cache.CSS[value + unit];\n if (!is.und(cached)) { return cached; }\n var baseline = 100;\n var tempEl = document.createElement(el.tagName);\n var parentEl = (el.parentNode && (el.parentNode !== document)) ? el.parentNode : document.body;\n parentEl.appendChild(tempEl);\n tempEl.style.position = 'absolute';\n tempEl.style.width = baseline + unit;\n var factor = baseline / tempEl.offsetWidth;\n parentEl.removeChild(tempEl);\n var convertedUnit = factor * parseFloat(value);\n cache.CSS[value + unit] = convertedUnit;\n return convertedUnit;\n}\n\nfunction getCSSValue(el, prop, unit) {\n if (prop in el.style) {\n var uppercasePropName = prop.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n var value = el.style[prop] || getComputedStyle(el).getPropertyValue(uppercasePropName) || '0';\n return unit ? convertPxToUnit(el, value, unit) : value;\n }\n}\n\nfunction getAnimationType(el, prop) {\n if (is.dom(el) && !is.inp(el) && (getAttribute(el, prop) || (is.svg(el) && el[prop]))) { return 'attribute'; }\n if (is.dom(el) && arrayContains(validTransforms, prop)) { return 'transform'; }\n if (is.dom(el) && (prop !== 'transform' && getCSSValue(el, prop))) { return 'css'; }\n if (el[prop] != null) { return 'object'; }\n}\n\nfunction getElementTransforms(el) {\n if (!is.dom(el)) { return; }\n var str = el.style.transform || '';\n var reg = /(\\w+)\\(([^)]*)\\)/g;\n var transforms = new Map();\n var m; while (m = reg.exec(str)) { transforms.set(m[1], m[2]); }\n return transforms;\n}\n\nfunction getTransformValue(el, propName, animatable, unit) {\n var defaultVal = stringContains(propName, 'scale') ? 1 : 0 + getTransformUnit(propName);\n var value = getElementTransforms(el).get(propName) || defaultVal;\n if (animatable) {\n animatable.transforms.list.set(propName, value);\n animatable.transforms['last'] = propName;\n }\n return unit ? convertPxToUnit(el, value, unit) : value;\n}\n\nfunction getOriginalTargetValue(target, propName, unit, animatable) {\n switch (getAnimationType(target, propName)) {\n case 'transform': return getTransformValue(target, propName, animatable, unit);\n case 'css': return getCSSValue(target, propName, unit);\n case 'attribute': return getAttribute(target, propName);\n default: return target[propName] || 0;\n }\n}\n\nfunction getRelativeValue(to, from) {\n var operator = /^(\\*=|\\+=|-=)/.exec(to);\n if (!operator) { return to; }\n var u = getUnit(to) || 0;\n var x = parseFloat(from);\n var y = parseFloat(to.replace(operator[0], ''));\n switch (operator[0][0]) {\n case '+': return x + y + u;\n case '-': return x - y + u;\n case '*': return x * y + u;\n }\n}\n\nfunction validateValue(val, unit) {\n if (is.col(val)) { return colorToRgb(val); }\n if (/\\s/g.test(val)) { return val; }\n var originalUnit = getUnit(val);\n var unitLess = originalUnit ? val.substr(0, val.length - originalUnit.length) : val;\n if (unit) { return unitLess + unit; }\n return unitLess;\n}\n\n// getTotalLength() equivalent for circle, rect, polyline, polygon and line shapes\n// adapted from https://gist.github.com/SebLambla/3e0550c496c236709744\n\nfunction getDistance(p1, p2) {\n return Math.sqrt(Math.pow(p2.x - p1.x, 2) + Math.pow(p2.y - p1.y, 2));\n}\n\nfunction getCircleLength(el) {\n return Math.PI * 2 * getAttribute(el, 'r');\n}\n\nfunction getRectLength(el) {\n return (getAttribute(el, 'width') * 2) + (getAttribute(el, 'height') * 2);\n}\n\nfunction getLineLength(el) {\n return getDistance(\n {x: getAttribute(el, 'x1'), y: getAttribute(el, 'y1')}, \n {x: getAttribute(el, 'x2'), y: getAttribute(el, 'y2')}\n );\n}\n\nfunction getPolylineLength(el) {\n var points = el.points;\n var totalLength = 0;\n var previousPos;\n for (var i = 0 ; i < points.numberOfItems; i++) {\n var currentPos = points.getItem(i);\n if (i > 0) { totalLength += getDistance(previousPos, currentPos); }\n previousPos = currentPos;\n }\n return totalLength;\n}\n\nfunction getPolygonLength(el) {\n var points = el.points;\n return getPolylineLength(el) + getDistance(points.getItem(points.numberOfItems - 1), points.getItem(0));\n}\n\n// Path animation\n\nfunction getTotalLength(el) {\n if (el.getTotalLength) { return el.getTotalLength(); }\n switch(el.tagName.toLowerCase()) {\n case 'circle': return getCircleLength(el);\n case 'rect': return getRectLength(el);\n case 'line': return getLineLength(el);\n case 'polyline': return getPolylineLength(el);\n case 'polygon': return getPolygonLength(el);\n }\n}\n\nfunction setDashoffset(el) {\n var pathLength = getTotalLength(el);\n el.setAttribute('stroke-dasharray', pathLength);\n return pathLength;\n}\n\n// Motion path\n\nfunction getParentSvgEl(el) {\n var parentEl = el.parentNode;\n while (is.svg(parentEl)) {\n if (!is.svg(parentEl.parentNode)) { break; }\n parentEl = parentEl.parentNode;\n }\n return parentEl;\n}\n\nfunction getParentSvg(pathEl, svgData) {\n var svg = svgData || {};\n var parentSvgEl = svg.el || getParentSvgEl(pathEl);\n var rect = parentSvgEl.getBoundingClientRect();\n var viewBoxAttr = getAttribute(parentSvgEl, 'viewBox');\n var width = rect.width;\n var height = rect.height;\n var viewBox = svg.viewBox || (viewBoxAttr ? viewBoxAttr.split(' ') : [0, 0, width, height]);\n return {\n el: parentSvgEl,\n viewBox: viewBox,\n x: viewBox[0] / 1,\n y: viewBox[1] / 1,\n w: width / viewBox[2],\n h: height / viewBox[3]\n }\n}\n\nfunction getPath(path, percent) {\n var pathEl = is.str(path) ? selectString(path)[0] : path;\n var p = percent || 100;\n return function(property) {\n return {\n property: property,\n el: pathEl,\n svg: getParentSvg(pathEl),\n totalLength: getTotalLength(pathEl) * (p / 100)\n }\n }\n}\n\nfunction getPathProgress(path, progress) {\n function point(offset) {\n if ( offset === void 0 ) offset = 0;\n\n var l = progress + offset >= 1 ? progress + offset : 0;\n return path.el.getPointAtLength(l);\n }\n var svg = getParentSvg(path.el, path.svg);\n var p = point();\n var p0 = point(-1);\n var p1 = point(+1);\n switch (path.property) {\n case 'x': return (p.x - svg.x) * svg.w;\n case 'y': return (p.y - svg.y) * svg.h;\n case 'angle': return Math.atan2(p1.y - p0.y, p1.x - p0.x) * 180 / Math.PI;\n }\n}\n\n// Decompose value\n\nfunction decomposeValue(val, unit) {\n // const rgx = /-?\\d*\\.?\\d+/g; // handles basic numbers\n // const rgx = /[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?/g; // handles exponents notation\n var rgx = /[+-]?\\d*\\.?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?/g; // handles exponents notation\n var value = validateValue((is.pth(val) ? val.totalLength : val), unit) + '';\n return {\n original: value,\n numbers: value.match(rgx) ? value.match(rgx).map(Number) : [0],\n strings: (is.str(val) || unit) ? value.split(rgx) : []\n }\n}\n\n// Animatables\n\nfunction parseTargets(targets) {\n var targetsArray = targets ? (flattenArray(is.arr(targets) ? targets.map(toArray) : toArray(targets))) : [];\n return filterArray(targetsArray, function (item, pos, self) { return self.indexOf(item) === pos; });\n}\n\nfunction getAnimatables(targets) {\n var parsed = parseTargets(targets);\n return parsed.map(function (t, i) {\n return {target: t, id: i, total: parsed.length, transforms: { list: getElementTransforms(t) } };\n });\n}\n\n// Properties\n\nfunction normalizePropertyTweens(prop, tweenSettings) {\n var settings = cloneObject(tweenSettings);\n // Override duration if easing is a spring\n if (/^spring/.test(settings.easing)) { settings.duration = spring(settings.easing); }\n if (is.arr(prop)) {\n var l = prop.length;\n var isFromTo = (l === 2 && !is.obj(prop[0]));\n if (!isFromTo) {\n // Duration divided by the number of tweens\n if (!is.fnc(tweenSettings.duration)) { settings.duration = tweenSettings.duration / l; }\n } else {\n // Transform [from, to] values shorthand to a valid tween value\n prop = {value: prop};\n }\n }\n var propArray = is.arr(prop) ? prop : [prop];\n return propArray.map(function (v, i) {\n var obj = (is.obj(v) && !is.pth(v)) ? v : {value: v};\n // Default delay value should only be applied to the first tween\n if (is.und(obj.delay)) { obj.delay = !i ? tweenSettings.delay : 0; }\n // Default endDelay value should only be applied to the last tween\n if (is.und(obj.endDelay)) { obj.endDelay = i === propArray.length - 1 ? tweenSettings.endDelay : 0; }\n return obj;\n }).map(function (k) { return mergeObjects(k, settings); });\n}\n\n\nfunction flattenKeyframes(keyframes) {\n var propertyNames = filterArray(flattenArray(keyframes.map(function (key) { return Object.keys(key); })), function (p) { return is.key(p); })\n .reduce(function (a,b) { if (a.indexOf(b) < 0) { a.push(b); } return a; }, []);\n var properties = {};\n var loop = function ( i ) {\n var propName = propertyNames[i];\n properties[propName] = keyframes.map(function (key) {\n var newKey = {};\n for (var p in key) {\n if (is.key(p)) {\n if (p == propName) { newKey.value = key[p]; }\n } else {\n newKey[p] = key[p];\n }\n }\n return newKey;\n });\n };\n\n for (var i = 0; i < propertyNames.length; i++) loop( i );\n return properties;\n}\n\nfunction getProperties(tweenSettings, params) {\n var properties = [];\n var keyframes = params.keyframes;\n if (keyframes) { params = mergeObjects(flattenKeyframes(keyframes), params); }\n for (var p in params) {\n if (is.key(p)) {\n properties.push({\n name: p,\n tweens: normalizePropertyTweens(params[p], tweenSettings)\n });\n }\n }\n return properties;\n}\n\n// Tweens\n\nfunction normalizeTweenValues(tween, animatable) {\n var t = {};\n for (var p in tween) {\n var value = getFunctionValue(tween[p], animatable);\n if (is.arr(value)) {\n value = value.map(function (v) { return getFunctionValue(v, animatable); });\n if (value.length === 1) { value = value[0]; }\n }\n t[p] = value;\n }\n t.duration = parseFloat(t.duration);\n t.delay = parseFloat(t.delay);\n return t;\n}\n\nfunction normalizeTweens(prop, animatable) {\n var previousTween;\n return prop.tweens.map(function (t) {\n var tween = normalizeTweenValues(t, animatable);\n var tweenValue = tween.value;\n var to = is.arr(tweenValue) ? tweenValue[1] : tweenValue;\n var toUnit = getUnit(to);\n var originalValue = getOriginalTargetValue(animatable.target, prop.name, toUnit, animatable);\n var previousValue = previousTween ? previousTween.to.original : originalValue;\n var from = is.arr(tweenValue) ? tweenValue[0] : previousValue;\n var fromUnit = getUnit(from) || getUnit(originalValue);\n var unit = toUnit || fromUnit;\n if (is.und(to)) { to = previousValue; }\n tween.from = decomposeValue(from, unit);\n tween.to = decomposeValue(getRelativeValue(to, from), unit);\n tween.start = previousTween ? previousTween.end : 0;\n tween.end = tween.start + tween.delay + tween.duration + tween.endDelay;\n tween.easing = parseEasings(tween.easing, tween.duration);\n tween.isPath = is.pth(tweenValue);\n tween.isColor = is.col(tween.from.original);\n if (tween.isColor) { tween.round = 1; }\n previousTween = tween;\n return tween;\n });\n}\n\n// Tween progress\n\nvar setProgressValue = {\n css: function (t, p, v) { return t.style[p] = v; },\n attribute: function (t, p, v) { return t.setAttribute(p, v); },\n object: function (t, p, v) { return t[p] = v; },\n transform: function (t, p, v, transforms, manual) {\n transforms.list.set(p, v);\n if (p === transforms.last || manual) {\n var str = '';\n transforms.list.forEach(function (value, prop) { str += prop + \"(\" + value + \") \"; });\n t.style.transform = str;\n }\n }\n};\n\n// Set Value helper\n\nfunction setTargetsValue(targets, properties) {\n var animatables = getAnimatables(targets);\n animatables.forEach(function (animatable) {\n for (var property in properties) {\n var value = getFunctionValue(properties[property], animatable);\n var target = animatable.target;\n var valueUnit = getUnit(value);\n var originalValue = getOriginalTargetValue(target, property, valueUnit, animatable);\n var unit = valueUnit || getUnit(originalValue);\n var to = getRelativeValue(validateValue(value, unit), originalValue);\n var animType = getAnimationType(target, property);\n setProgressValue[animType](target, property, to, animatable.transforms, true);\n }\n });\n}\n\n// Animations\n\nfunction createAnimation(animatable, prop) {\n var animType = getAnimationType(animatable.target, prop.name);\n if (animType) {\n var tweens = normalizeTweens(prop, animatable);\n var lastTween = tweens[tweens.length - 1];\n return {\n type: animType,\n property: prop.name,\n animatable: animatable,\n tweens: tweens,\n duration: lastTween.end,\n delay: tweens[0].delay,\n endDelay: lastTween.endDelay\n }\n }\n}\n\nfunction getAnimations(animatables, properties) {\n return filterArray(flattenArray(animatables.map(function (animatable) {\n return properties.map(function (prop) {\n return createAnimation(animatable, prop);\n });\n })), function (a) { return !is.und(a); });\n}\n\n// Create Instance\n\nfunction getInstanceTimings(animations, tweenSettings) {\n var animLength = animations.length;\n var getTlOffset = function (anim) { return anim.timelineOffset ? anim.timelineOffset : 0; };\n var timings = {};\n timings.duration = animLength ? Math.max.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.duration; })) : tweenSettings.duration;\n timings.delay = animLength ? Math.min.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.delay; })) : tweenSettings.delay;\n timings.endDelay = animLength ? timings.duration - Math.max.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.duration - anim.endDelay; })) : tweenSettings.endDelay;\n return timings;\n}\n\nvar instanceID = 0;\n\nfunction createNewInstance(params) {\n var instanceSettings = replaceObjectProps(defaultInstanceSettings, params);\n var tweenSettings = replaceObjectProps(defaultTweenSettings, params);\n var properties = getProperties(tweenSettings, params);\n var animatables = getAnimatables(params.targets);\n var animations = getAnimations(animatables, properties);\n var timings = getInstanceTimings(animations, tweenSettings);\n var id = instanceID;\n instanceID++;\n return mergeObjects(instanceSettings, {\n id: id,\n children: [],\n animatables: animatables,\n animations: animations,\n duration: timings.duration,\n delay: timings.delay,\n endDelay: timings.endDelay\n });\n}\n\n// Core\n\nvar activeInstances = [];\nvar pausedInstances = [];\nvar raf;\n\nvar engine = (function () {\n function play() { \n raf = requestAnimationFrame(step);\n }\n function step(t) {\n var activeInstancesLength = activeInstances.length;\n if (activeInstancesLength) {\n var i = 0;\n while (i < activeInstancesLength) {\n var activeInstance = activeInstances[i];\n if (!activeInstance.paused) {\n activeInstance.tick(t);\n } else {\n var instanceIndex = activeInstances.indexOf(activeInstance);\n if (instanceIndex > -1) {\n activeInstances.splice(instanceIndex, 1);\n activeInstancesLength = activeInstances.length;\n }\n }\n i++;\n }\n play();\n } else {\n raf = cancelAnimationFrame(raf);\n }\n }\n return play;\n})();\n\nfunction handleVisibilityChange() {\n if (document.hidden) {\n activeInstances.forEach(function (ins) { return ins.pause(); });\n pausedInstances = activeInstances.slice(0);\n anime.running = activeInstances = [];\n } else {\n pausedInstances.forEach(function (ins) { return ins.play(); });\n }\n}\n\nif (typeof document !== 'undefined') {\n document.addEventListener('visibilitychange', handleVisibilityChange);\n}\n\n// Public Instance\n\nfunction anime(params) {\n if ( params === void 0 ) params = {};\n\n\n var startTime = 0, lastTime = 0, now = 0;\n var children, childrenLength = 0;\n var resolve = null;\n\n function makePromise(instance) {\n var promise = window.Promise && new Promise(function (_resolve) { return resolve = _resolve; });\n instance.finished = promise;\n return promise;\n }\n\n var instance = createNewInstance(params);\n var promise = makePromise(instance);\n\n function toggleInstanceDirection() {\n var direction = instance.direction;\n if (direction !== 'alternate') {\n instance.direction = direction !== 'normal' ? 'normal' : 'reverse';\n }\n instance.reversed = !instance.reversed;\n children.forEach(function (child) { return child.reversed = instance.reversed; });\n }\n\n function adjustTime(time) {\n return instance.reversed ? instance.duration - time : time;\n }\n\n function resetTime() {\n startTime = 0;\n lastTime = adjustTime(instance.currentTime) * (1 / anime.speed);\n }\n\n function seekChild(time, child) {\n if (child) { child.seek(time - child.timelineOffset); }\n }\n\n function syncInstanceChildren(time) {\n if (!instance.reversePlayback) {\n for (var i = 0; i < childrenLength; i++) { seekChild(time, children[i]); }\n } else {\n for (var i$1 = childrenLength; i$1--;) { seekChild(time, children[i$1]); }\n }\n }\n\n function setAnimationsProgress(insTime) {\n var i = 0;\n var animations = instance.animations;\n var animationsLength = animations.length;\n while (i < animationsLength) {\n var anim = animations[i];\n var animatable = anim.animatable;\n var tweens = anim.tweens;\n var tweenLength = tweens.length - 1;\n var tween = tweens[tweenLength];\n // Only check for keyframes if there is more than one tween\n if (tweenLength) { tween = filterArray(tweens, function (t) { return (insTime < t.end); })[0] || tween; }\n var elapsed = minMax(insTime - tween.start - tween.delay, 0, tween.duration) / tween.duration;\n var eased = isNaN(elapsed) ? 1 : tween.easing(elapsed);\n var strings = tween.to.strings;\n var round = tween.round;\n var numbers = [];\n var toNumbersLength = tween.to.numbers.length;\n var progress = (void 0);\n for (var n = 0; n < toNumbersLength; n++) {\n var value = (void 0);\n var toNumber = tween.to.numbers[n];\n var fromNumber = tween.from.numbers[n] || 0;\n if (!tween.isPath) {\n value = fromNumber + (eased * (toNumber - fromNumber));\n } else {\n value = getPathProgress(tween.value, eased * toNumber);\n }\n if (round) {\n if (!(tween.isColor && n > 2)) {\n value = Math.round(value * round) / round;\n }\n }\n numbers.push(value);\n }\n // Manual Array.reduce for better performances\n var stringsLength = strings.length;\n if (!stringsLength) {\n progress = numbers[0];\n } else {\n progress = strings[0];\n for (var s = 0; s < stringsLength; s++) {\n var a = strings[s];\n var b = strings[s + 1];\n var n$1 = numbers[s];\n if (!isNaN(n$1)) {\n if (!b) {\n progress += n$1 + ' ';\n } else {\n progress += n$1 + b;\n }\n }\n }\n }\n setProgressValue[anim.type](animatable.target, anim.property, progress, animatable.transforms);\n anim.currentValue = progress;\n i++;\n }\n }\n\n function setCallback(cb) {\n if (instance[cb] && !instance.passThrough) { instance[cb](instance); }\n }\n\n function countIteration() {\n if (instance.remaining && instance.remaining !== true) {\n instance.remaining--;\n }\n }\n\n function setInstanceProgress(engineTime) {\n var insDuration = instance.duration;\n var insDelay = instance.delay;\n var insEndDelay = insDuration - instance.endDelay;\n var insTime = adjustTime(engineTime);\n instance.progress = minMax((insTime / insDuration) * 100, 0, 100);\n instance.reversePlayback = insTime < instance.currentTime;\n if (children) { syncInstanceChildren(insTime); }\n if (!instance.began && instance.currentTime > 0) {\n instance.began = true;\n setCallback('begin');\n }\n if (!instance.loopBegan && instance.currentTime > 0) {\n instance.loopBegan = true;\n setCallback('loopBegin');\n }\n if (insTime <= insDelay && instance.currentTime !== 0) {\n setAnimationsProgress(0);\n }\n if ((insTime >= insEndDelay && instance.currentTime !== insDuration) || !insDuration) {\n setAnimationsProgress(insDuration);\n }\n if (insTime > insDelay && insTime < insEndDelay) {\n if (!instance.changeBegan) {\n instance.changeBegan = true;\n instance.changeCompleted = false;\n setCallback('changeBegin');\n }\n setCallback('change');\n setAnimationsProgress(insTime);\n } else {\n if (instance.changeBegan) {\n instance.changeCompleted = true;\n instance.changeBegan = false;\n setCallback('changeComplete');\n }\n }\n instance.currentTime = minMax(insTime, 0, insDuration);\n if (instance.began) { setCallback('update'); }\n if (engineTime >= insDuration) {\n lastTime = 0;\n countIteration();\n if (!instance.remaining) {\n instance.paused = true;\n if (!instance.completed) {\n instance.completed = true;\n setCallback('loopComplete');\n setCallback('complete');\n if (!instance.passThrough && 'Promise' in window) {\n resolve();\n promise = makePromise(instance);\n }\n }\n } else {\n startTime = now;\n setCallback('loopComplete');\n instance.loopBegan = false;\n if (instance.direction === 'alternate') {\n toggleInstanceDirection();\n }\n }\n }\n }\n\n instance.reset = function() {\n var direction = instance.direction;\n instance.passThrough = false;\n instance.currentTime = 0;\n instance.progress = 0;\n instance.paused = true;\n instance.began = false;\n instance.loopBegan = false;\n instance.changeBegan = false;\n instance.completed = false;\n instance.changeCompleted = false;\n instance.reversePlayback = false;\n instance.reversed = direction === 'reverse';\n instance.remaining = instance.loop;\n children = instance.children;\n childrenLength = children.length;\n for (var i = childrenLength; i--;) { instance.children[i].reset(); }\n if (instance.reversed && instance.loop !== true || (direction === 'alternate' && instance.loop === 1)) { instance.remaining++; }\n setAnimationsProgress(instance.reversed ? instance.duration : 0);\n };\n\n // Set Value helper\n\n instance.set = function(targets, properties) {\n setTargetsValue(targets, properties);\n return instance;\n };\n\n instance.tick = function(t) {\n now = t;\n if (!startTime) { startTime = now; }\n setInstanceProgress((now + (lastTime - startTime)) * anime.speed);\n };\n\n instance.seek = function(time) {\n setInstanceProgress(adjustTime(time));\n };\n\n instance.pause = function() {\n instance.paused = true;\n resetTime();\n };\n\n instance.play = function() {\n if (!instance.paused) { return; }\n if (instance.completed) { instance.reset(); }\n instance.paused = false;\n activeInstances.push(instance);\n resetTime();\n if (!raf) { engine(); }\n };\n\n instance.reverse = function() {\n toggleInstanceDirection();\n instance.completed = instance.reversed ? false : true;\n resetTime();\n };\n\n instance.restart = function() {\n instance.reset();\n instance.play();\n };\n\n instance.reset();\n\n if (instance.autoplay) { instance.play(); }\n\n return instance;\n\n}\n\n// Remove targets from animation\n\nfunction removeTargetsFromAnimations(targetsArray, animations) {\n for (var a = animations.length; a--;) {\n if (arrayContains(targetsArray, animations[a].animatable.target)) {\n animations.splice(a, 1);\n }\n }\n}\n\nfunction removeTargets(targets) {\n var targetsArray = parseTargets(targets);\n for (var i = activeInstances.length; i--;) {\n var instance = activeInstances[i];\n var animations = instance.animations;\n var children = instance.children;\n removeTargetsFromAnimations(targetsArray, animations);\n for (var c = children.length; c--;) {\n var child = children[c];\n var childAnimations = child.animations;\n removeTargetsFromAnimations(targetsArray, childAnimations);\n if (!childAnimations.length && !child.children.length) { children.splice(c, 1); }\n }\n if (!animations.length && !children.length) { instance.pause(); }\n }\n}\n\n// Stagger helpers\n\nfunction stagger(val, params) {\n if ( params === void 0 ) params = {};\n\n var direction = params.direction || 'normal';\n var easing = params.easing ? parseEasings(params.easing) : null;\n var grid = params.grid;\n var axis = params.axis;\n var fromIndex = params.from || 0;\n var fromFirst = fromIndex === 'first';\n var fromCenter = fromIndex === 'center';\n var fromLast = fromIndex === 'last';\n var isRange = is.arr(val);\n var val1 = isRange ? parseFloat(val[0]) : parseFloat(val);\n var val2 = isRange ? parseFloat(val[1]) : 0;\n var unit = getUnit(isRange ? val[1] : val) || 0;\n var start = params.start || 0 + (isRange ? val1 : 0);\n var values = [];\n var maxValue = 0;\n return function (el, i, t) {\n if (fromFirst) { fromIndex = 0; }\n if (fromCenter) { fromIndex = (t - 1) / 2; }\n if (fromLast) { fromIndex = t - 1; }\n if (!values.length) {\n for (var index = 0; index < t; index++) {\n if (!grid) {\n values.push(Math.abs(fromIndex - index));\n } else {\n var fromX = !fromCenter ? fromIndex%grid[0] : (grid[0]-1)/2;\n var fromY = !fromCenter ? Math.floor(fromIndex/grid[0]) : (grid[1]-1)/2;\n var toX = index%grid[0];\n var toY = Math.floor(index/grid[0]);\n var distanceX = fromX - toX;\n var distanceY = fromY - toY;\n var value = Math.sqrt(distanceX * distanceX + distanceY * distanceY);\n if (axis === 'x') { value = -distanceX; }\n if (axis === 'y') { value = -distanceY; }\n values.push(value);\n }\n maxValue = Math.max.apply(Math, values);\n }\n if (easing) { values = values.map(function (val) { return easing(val / maxValue) * maxValue; }); }\n if (direction === 'reverse') { values = values.map(function (val) { return axis ? (val < 0) ? val * -1 : -val : Math.abs(maxValue - val); }); }\n }\n var spacing = isRange ? (val2 - val1) / maxValue : val1;\n return start + (spacing * (Math.round(values[i] * 100) / 100)) + unit;\n }\n}\n\n// Timeline\n\nfunction timeline(params) {\n if ( params === void 0 ) params = {};\n\n var tl = anime(params);\n tl.duration = 0;\n tl.add = function(instanceParams, timelineOffset) {\n var tlIndex = activeInstances.indexOf(tl);\n var children = tl.children;\n if (tlIndex > -1) { activeInstances.splice(tlIndex, 1); }\n function passThrough(ins) { ins.passThrough = true; }\n for (var i = 0; i < children.length; i++) { passThrough(children[i]); }\n var insParams = mergeObjects(instanceParams, replaceObjectProps(defaultTweenSettings, params));\n insParams.targets = insParams.targets || params.targets;\n var tlDuration = tl.duration;\n insParams.autoplay = false;\n insParams.direction = tl.direction;\n insParams.timelineOffset = is.und(timelineOffset) ? tlDuration : getRelativeValue(timelineOffset, tlDuration);\n passThrough(tl);\n tl.seek(insParams.timelineOffset);\n var ins = anime(insParams);\n passThrough(ins);\n children.push(ins);\n var timings = getInstanceTimings(children, params);\n tl.delay = timings.delay;\n tl.endDelay = timings.endDelay;\n tl.duration = timings.duration;\n tl.seek(0);\n tl.reset();\n if (tl.autoplay) { tl.play(); }\n return tl;\n };\n return tl;\n}\n\nanime.version = '3.2.0';\nanime.speed = 1;\nanime.running = activeInstances;\nanime.remove = removeTargets;\nanime.get = getOriginalTargetValue;\nanime.set = setTargetsValue;\nanime.convertPx = convertPxToUnit;\nanime.path = getPath;\nanime.setDashoffset = setDashoffset;\nanime.stagger = stagger;\nanime.timeline = timeline;\nanime.easing = parseEasings;\nanime.penner = penner;\nanime.random = function (min, max) { return Math.floor(Math.random() * (max - min + 1)) + min; };\n\nmodule.exports = anime;\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/tocbot/tocbot.js\n # Tocbot v4.12.0 implementation for J1 template\n #\n # Product/Info:\n # https://jekyll.one\n # https://tscanlin.github.io/tocbot\n # https://github.com/tscanlin/tocbot\n #\n # Copyright (C) 2021 Juergen Adams\n # Copyright (C) 2016 Tim Scanlin\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # Tocbot is licensed under the MIT License.\n # For details, https://github.com/tscanlin/tocbot/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n # rules:\n # \"eslint:tocbot\": \"eslint --ignore-path .eslintignore src/tocbot/js\"\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint semi: \"off\" */\n// -----------------------------------------------------------------------------\n\n/**\n * Tocbot\n * Tocbot creates a toble of contents based on HTML headings on a page,\n * this allows users to easily jump to different sections of the document.\n * Tocbot was inspired by tocify (http://gregfranko.com/jquery.tocify.js/).\n * The main differences are that it works natively without any need for jquery or jquery UI).\n *\n * @author Tim Scanlin\n */\n\n/* globals define */\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], factory(root))\n } else if (typeof exports === 'object') {\n module.exports = factory(root)\n } else {\n root.tocbot = factory(root)\n }\n})(typeof global !== 'undefined' ? global : this.window || this.global, function (root) {\n 'use strict'\n\n // Default options.\n var defaultOptions = require('./default-options.js')\n // Object to store current options.\n var options = {}\n // Object for public APIs.\n var tocbot = {}\n\n var BuildHtml = require('./build-html.js')\n var ParseContent = require('./parse-content.js')\n var updateTocScroll = require('./update-toc-scroll.js')\n // Keep these variables at top scope once options are passed in.\n var buildHtml\n var parseContent\n\n // Just return if its not a browser.\n var supports = !!root && !!root.document && !!root.document.querySelector && !!root.addEventListener // Feature test\n if (typeof window === 'undefined' && !supports) {\n return\n }\n var headingsArray\n\n // From: https://github.com/Raynos/xtend\n var hasOwnProperty = Object.prototype.hasOwnProperty\n function extend () {\n var target = {}\n for (var i = 0; i < arguments.length; i++) {\n var source = arguments[i]\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n target[key] = source[key]\n }\n }\n }\n return target\n }\n\n // From: https://remysharp.com/2010/07/21/throttling-function-calls\n function throttle (fn, threshold, scope) {\n threshold || (threshold = 250)\n var last\n var deferTimer\n return function () {\n var context = scope || this\n var now = +new Date()\n var args = arguments\n if (last && now < last + threshold) {\n // hold on to it\n clearTimeout(deferTimer)\n deferTimer = setTimeout(function () {\n last = now\n fn.apply(context, args)\n }, threshold)\n } else {\n last = now\n fn.apply(context, args)\n }\n }\n }\n\n /**\n * Destroy tocbot.\n */\n tocbot.destroy = function () {\n if (!options.skipRendering) {\n // Clear HTML.\n try {\n document.querySelector(options.tocSelector).innerHTML = ''\n } catch (e) {\n console.warn('Element not found: ' + options.tocSelector); // eslint-disable-line\n }\n }\n\n // Remove event listeners.\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n document.querySelector(options.scrollContainer).removeEventListener('scroll', this._scrollListener, false)\n document.querySelector(options.scrollContainer).removeEventListener('resize', this._scrollListener, false)\n if (buildHtml) {\n document.querySelector(options.scrollContainer).removeEventListener('click', this._clickListener, false)\n }\n } else {\n document.removeEventListener('scroll', this._scrollListener, false)\n document.removeEventListener('resize', this._scrollListener, false)\n if (buildHtml) {\n document.removeEventListener('click', this._clickListener, false)\n }\n }\n }\n\n /**\n * Initialize tocbot.\n * @param {object} customOptions\n */\n tocbot.init = function (customOptions) {\n // feature test\n if (!supports) {\n return\n }\n\n // Merge defaults with user options.\n // Set to options variable at the top.\n options = extend(defaultOptions, customOptions || {})\n this.options = options\n this.state = {}\n\n // Init smooth scroll if enabled (default).\n if (options.scrollSmooth) {\n options.duration = options.scrollSmoothDuration\n options.offset = options.scrollSmoothOffset\n tocbot.scrollSmooth = require('./scroll-smooth').initSmoothScrolling(options)\n }\n\n // Pass options to these modules.\n buildHtml = BuildHtml(options)\n parseContent = ParseContent(options)\n\n // For testing purposes.\n this._buildHtml = buildHtml\n this._parseContent = parseContent\n\n // Destroy it if it exists first.\n tocbot.destroy()\n\n // Get headings array.\n headingsArray = parseContent.selectHeadings(options.contentSelector, options.headingSelector)\n // Return if no headings are found.\n if (headingsArray === null) {\n return\n }\n\n // Build nested headings array.\n var nestedHeadingsObj = parseContent.nestHeadingsArray(headingsArray)\n var nestedHeadings = nestedHeadingsObj.nest\n\n // Render.\n if (!options.skipRendering) {\n buildHtml.render(options.tocSelector, nestedHeadings)\n }\n\n // Update Sidebar and bind listeners.\n this._scrollListener = throttle(function (e) {\n buildHtml.updateToc(headingsArray)\n !options.disableTocScrollSync && updateTocScroll(options)\n var isTop = e && e.target && e.target.scrollingElement && e.target.scrollingElement.scrollTop === 0\n if ((e && (e.eventPhase === 0 || e.currentTarget === null)) || isTop) {\n buildHtml.updateToc(headingsArray)\n if (options.scrollEndCallback) {\n options.scrollEndCallback(e)\n }\n }\n }, options.throttleTimeout)\n this._scrollListener()\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n document.querySelector(options.scrollContainer).addEventListener('scroll', this._scrollListener, false)\n document.querySelector(options.scrollContainer).addEventListener('resize', this._scrollListener, false)\n } else {\n document.addEventListener('scroll', this._scrollListener, false)\n document.addEventListener('resize', this._scrollListener, false)\n }\n\n // Bind click listeners to disable animation.\n var timeout = null\n this._clickListener = throttle(function (event) {\n if (options.scrollSmooth) {\n buildHtml.disableTocAnimation(event)\n }\n buildHtml.updateToc(headingsArray)\n // Timeout to re-enable the animation.\n timeout && clearTimeout(timeout)\n timeout = setTimeout(function () {\n buildHtml.enableTocAnimation()\n }, options.scrollSmoothDuration)\n }, options.throttleTimeout)\n\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n document.querySelector(options.scrollContainer).addEventListener('click', this._clickListener, false)\n } else {\n document.addEventListener('click', this._clickListener, false)\n }\n\n return this\n }\n\n /**\n * Refresh tocbot.\n */\n tocbot.refresh = function (customOptions) {\n tocbot.destroy()\n tocbot.init(customOptions || this.options)\n }\n\n // Make tocbot available globally.\n root.tocbot = tocbot\n\n return tocbot\n})\n","// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint no-unused-vars: \"off\" */\n// -----------------------------------------------------------------------------\n\nmodule.exports = {\n // Where to render the table of contents.\n tocSelector: '.js-toc',\n // Where to grab the headings to build the table of contents.\n contentSelector: '.js-toc-content',\n // Which headings to grab inside of the contentSelector element.\n headingSelector: 'h1, h2, h3',\n // Headings that match the ignoreSelector will be skipped.\n ignoreSelector: '.js-toc-ignore',\n // For headings inside relative or absolute positioned containers within content\n hasInnerContainers: false,\n // Main class to add to links.\n linkClass: 'toc-link',\n // Extra classes to add to links.\n extraLinkClasses: '',\n // Class to add to active links,\n // the link corresponding to the top most heading on the page.\n activeLinkClass: 'is-active-link',\n // Main class to add to lists.\n listClass: 'toc-list',\n // Extra classes to add to lists.\n extraListClasses: '',\n // Class that gets added when a list should be collapsed.\n isCollapsedClass: 'is-collapsed',\n // Class that gets added when a list should be able\n // to be collapsed but isn't necessarily collapsed.\n collapsibleClass: 'is-collapsible',\n // Class to add to list items.\n listItemClass: 'toc-list-item',\n // Class to add to active list items.\n activeListItemClass: 'is-active-li',\n // How many heading levels should not be collapsed.\n // For example, number 6 will show everything since\n // there are only 6 heading levels and number 0 will collapse them all.\n // The sections that are hidden will open\n // and close as you scroll to headings within them.\n collapseDepth: 0,\n // Smooth scrolling enabled.\n scrollSmooth: true,\n // Smooth scroll duration.\n scrollSmoothDuration: 420,\n // Smooth scroll offset.\n scrollSmoothOffset: 0,\n // Callback for scroll end.\n scrollEndCallback: function (e) {},\n // Headings offset between the headings and the top of the document (this is meant for minor adjustments).\n headingsOffset: 1,\n // Timeout between events firing to make sure it's\n // not too rapid (for performance reasons).\n throttleTimeout: 50,\n // Element to add the positionFixedClass to.\n positionFixedSelector: null,\n // Fixed position class to add to make sidebar fixed after scrolling\n // down past the fixedSidebarOffset.\n positionFixedClass: 'is-position-fixed',\n // fixedSidebarOffset can be any number but by default is set\n // to auto which sets the fixedSidebarOffset to the sidebar\n // element's offsetTop from the top of the document on init.\n fixedSidebarOffset: 'auto',\n // includeHtml can be set to true to include the HTML markup from the\n // heading node instead of just including the textContent.\n includeHtml: false,\n // onclick function to apply to all links in toc. will be called with\n // the event as the first parameter, and this can be used to stop,\n // propagation, prevent default or perform action\n onClick: function (e) {},\n // orderedList can be set to false to generate unordered lists (ul)\n // instead of ordered lists (ol)\n orderedList: true,\n // If there is a fixed article scroll container, set to calculate titles' offset\n scrollContainer: null,\n // prevent ToC DOM rendering if it's already rendered by an external system\n skipRendering: false,\n // Optional callback to change heading labels.\n // For example it can be used to cut down and put ellipses on multiline headings you deem too long.\n // Called each time a heading is parsed. Expects a string in return, the modified label to display.\n // function (string) => string\n headingLabelCallback: false,\n // ignore headings that are hidden in DOM\n ignoreHiddenElements: false,\n // Optional callback to modify properties of parsed headings.\n // The heading element is passed in node parameter and information parsed by default parser is provided in obj parameter.\n // Function has to return the same or modified obj.\n // The heading will be excluded from TOC if nothing is returned.\n // function (object, HTMLElement) => object | void\n headingObjectCallback: null,\n // Set the base path, useful if you use a `base` tag in `head`.\n basePath: '',\n // Only takes affect when `tocSelector` is scrolling,\n // keep the toc scroll position in sync with the content.\n disableTocScrollSync: false,\n};\n","/**\n * This file is responsible for building the DOM and updating DOM state.\n *\n * @author Tim Scanlin\n */\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint semi: \"off\" */\n// -----------------------------------------------------------------------------\n\nmodule.exports = function (options) {\n var forEach = [].forEach\n var some = [].some\n var body = document.body\n var currentlyHighlighting = true\n var SPACE_CHAR = ' '\n\n /**\n * Create link and list elements.\n * @param {Object} d\n * @param {HTMLElement} container\n * @return {HTMLElement}\n */\n function createEl (d, container) {\n var link = container.appendChild(createLink(d))\n if (d.children.length) {\n var list = createList(d.isCollapsed)\n d.children.forEach(function (child) {\n createEl(child, list)\n })\n link.appendChild(list)\n }\n }\n\n /**\n * Render nested heading array data into a given selector.\n * @param {String} selector\n * @param {Array} data\n * @return {HTMLElement}\n */\n function render (selector, data) {\n var collapsed = false\n var container = createList(collapsed)\n\n data.forEach(function (d) {\n createEl(d, container)\n })\n\n var parent = document.querySelector(selector)\n\n // Return if no parent is found.\n if (parent === null) {\n return\n }\n\n // Remove existing child if it exists.\n if (parent.firstChild) {\n parent.removeChild(parent.firstChild)\n }\n\n // Just return the parent and don't append the list if no links are found.\n if (data.length === 0) {\n return parent\n }\n\n // Append the Elements that have been created\n return parent.appendChild(container)\n }\n\n /**\n * Create link element.\n * @param {Object} data\n * @return {HTMLElement}\n */\n function createLink (data) {\n var item = document.createElement('li')\n var a = document.createElement('a')\n if (options.listItemClass) {\n item.setAttribute('class', options.listItemClass)\n }\n\n if (options.onClick) {\n a.onclick = options.onClick\n }\n\n if (options.includeHtml && data.childNodes.length) {\n forEach.call(data.childNodes, function (node) {\n a.appendChild(node.cloneNode(true))\n })\n } else {\n // Default behavior.\n a.textContent = data.textContent\n }\n a.setAttribute('href', options.basePath + '#' + data.id)\n a.setAttribute('class', options.linkClass +\n SPACE_CHAR + 'node-name--' + data.nodeName +\n SPACE_CHAR + options.extraLinkClasses)\n item.appendChild(a)\n return item\n }\n\n /**\n * Create list element.\n * @param {Boolean} isCollapsed\n * @return {HTMLElement}\n */\n function createList (isCollapsed) {\n var listElement = (options.orderedList) ? 'ol' : 'ul'\n var list = document.createElement(listElement)\n var classes = options.listClass +\n SPACE_CHAR + options.extraListClasses\n if (isCollapsed) {\n classes += SPACE_CHAR + options.collapsibleClass\n classes += SPACE_CHAR + options.isCollapsedClass\n }\n list.setAttribute('class', classes)\n return list\n }\n\n /**\n * Update fixed sidebar class.\n * @return {HTMLElement}\n */\n function updateFixedSidebarClass () {\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n var top\n top = document.querySelector(options.scrollContainer).scrollTop\n } else {\n top = document.documentElement.scrollTop || body.scrollTop\n }\n var posFixedEl = document.querySelector(options.positionFixedSelector)\n\n if (options.fixedSidebarOffset === 'auto') {\n options.fixedSidebarOffset = document.querySelector(options.tocSelector).offsetTop\n }\n\n if (top > options.fixedSidebarOffset) {\n if (posFixedEl.className.indexOf(options.positionFixedClass) === -1) {\n posFixedEl.className += SPACE_CHAR + options.positionFixedClass\n }\n } else {\n posFixedEl.className = posFixedEl.className.split(SPACE_CHAR + options.positionFixedClass).join('')\n }\n }\n\n /**\n * Get top position of heading\n * @param {HTMLElement}\n * @return {integer} position\n */\n function getHeadingTopPos (obj) {\n var position = 0\n if (obj !== document.querySelector(options.contentSelector && obj != null)) {\n position = obj.offsetTop\n if (options.hasInnerContainers) { position += getHeadingTopPos(obj.offsetParent) }\n }\n return position\n }\n\n /**\n * Update TOC highlighting and collapsed groups\n */\n function updateToc (headingsArray) {\n // If a fixed content container was set\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n var top\n top = document.querySelector(options.scrollContainer).scrollTop\n } else {\n top = document.documentElement.scrollTop || body.scrollTop\n }\n\n // Add fixed class at offset\n if (options.positionFixedSelector) {\n updateFixedSidebarClass()\n }\n\n // Get the most TOP heading currently visible on the page to\n // identify what element to be highlighted\n var headings = headingsArray;\n var topHeader;\n var headingTopPos;\n\n // Using some instead of each so that we can escape early\n if (currentlyHighlighting &&\n document.querySelector(options.tocSelector) !== null &&\n headings.length > 0) {\n some.call(headings, function (heading, i) {\n headingTopPos = getHeadingTopPos(heading)\n if (headingTopPos > top + options.headingsOffset + 10) {\n // Don't allow negative index value\n // var index = (i === 0) ? i : i - 1;\n // topHeader = headings[index];\n // jadams, index correction seems NOT needed\n topHeader = headings[i];\n return true\n } else if (i === headings.length - 1) {\n // This allows scrolling for the last heading on the page\n topHeader = headings[headings.length - 1]\n return true\n }\n })\n\n // Remove the active class from the other tocLinks.\n var tocLinks = document.querySelector(options.tocSelector)\n .querySelectorAll('.' + options.linkClass)\n forEach.call(tocLinks, function (tocLink) {\n tocLink.className = tocLink.className.split(SPACE_CHAR + options.activeLinkClass).join('')\n })\n var tocLis = document.querySelector(options.tocSelector)\n .querySelectorAll('.' + options.listItemClass)\n forEach.call(tocLis, function (tocLi) {\n tocLi.className = tocLi.className.split(SPACE_CHAR + options.activeListItemClass).join('')\n })\n\n // Add the active class to the active tocLink.\n var activeTocLink = document.querySelector(options.tocSelector)\n .querySelector('.' + options.linkClass +\n '.node-name--' + topHeader.nodeName +\n '[href=\"' + options.basePath + '#' + topHeader.id.replace(/([ #;&,.+*~':\"!^$[\\]()=>|/@])/g, '\\\\$1') + '\"]')\n if (activeTocLink.className.indexOf(options.activeLinkClass) === -1) {\n activeTocLink.className += SPACE_CHAR + options.activeLinkClass\n }\n var li = activeTocLink.parentNode\n if (li && li.className.indexOf(options.activeListItemClass) === -1) {\n li.className += SPACE_CHAR + options.activeListItemClass\n }\n\n var tocLists = document.querySelector(options.tocSelector)\n .querySelectorAll('.' + options.listClass + '.' + options.collapsibleClass)\n\n // Collapse the other collapsible lists.\n forEach.call(tocLists, function (list) {\n if (list.className.indexOf(options.isCollapsedClass) === -1) {\n list.className += SPACE_CHAR + options.isCollapsedClass\n }\n })\n\n // Expand the active link's collapsible list and its sibling if applicable.\n if (activeTocLink.nextSibling && activeTocLink.nextSibling.className.indexOf(options.isCollapsedClass) !== -1) {\n activeTocLink.nextSibling.className = activeTocLink.nextSibling.className.split(SPACE_CHAR + options.isCollapsedClass).join('')\n }\n removeCollapsedFromParents(activeTocLink.parentNode.parentNode)\n }\n }\n\n /**\n * Remove collpased class from parent elements.\n * @param {HTMLElement} element\n * @return {HTMLElement}\n */\n function removeCollapsedFromParents (element) {\n if (element.className.indexOf(options.collapsibleClass) !== -1 && element.className.indexOf(options.isCollapsedClass) !== -1) {\n element.className = element.className.split(SPACE_CHAR + options.isCollapsedClass).join('')\n return removeCollapsedFromParents(element.parentNode.parentNode)\n }\n return element\n }\n\n /**\n * Disable TOC Animation when a link is clicked.\n * @param {Event} event\n */\n function disableTocAnimation (event) {\n var target = event.target || event.srcElement\n if (typeof target.className !== 'string' || target.className.indexOf(options.linkClass) === -1) {\n return\n }\n // Bind to tocLink clicks to temporarily disable highlighting\n // while smoothScroll is animating.\n currentlyHighlighting = false\n }\n\n /**\n * Enable TOC Animation.\n */\n function enableTocAnimation () {\n currentlyHighlighting = true\n }\n\n return {\n enableTocAnimation: enableTocAnimation,\n disableTocAnimation: disableTocAnimation,\n render: render,\n updateToc: updateToc\n }\n}\n","/**\n * This file is responsible for parsing the content from the DOM and making\n * sure data is nested properly.\n *\n * @author Tim Scanlin\n */\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint semi: \"off\" */\n// -----------------------------------------------------------------------------\n\nmodule.exports = function parseContent (options) {\n var reduce = [].reduce\n\n /**\n * Get the last item in an array and return a reference to it.\n * @param {Array} array\n * @return {Object}\n */\n function getLastItem (array) {\n return array[array.length - 1]\n }\n\n /**\n * Get heading level for a heading dom node.\n * @param {HTMLElement} heading\n * @return {Number}\n */\n function getHeadingLevel (heading) {\n return +heading.nodeName.split('H').join('')\n }\n\n /**\n * Get important properties from a heading element and store in a plain object.\n * @param {HTMLElement} heading\n * @return {Object}\n */\n function getHeadingObject (heading) {\n // each node is processed twice by this method because nestHeadingsArray() and addNode() calls it\n // first time heading is real DOM node element, second time it is obj\n // that is causing problem so I am processing only original DOM node\n if (!(heading instanceof window.HTMLElement)) return heading\n\n if (options.ignoreHiddenElements && (!heading.offsetHeight || !heading.offsetParent)) {\n return null\n }\n\n var obj = {\n id: heading.id,\n children: [],\n nodeName: heading.nodeName,\n headingLevel: getHeadingLevel(heading),\n textContent: options.headingLabelCallback ? String(options.headingLabelCallback(heading.textContent)) : heading.textContent.trim()\n }\n\n if (options.includeHtml) {\n obj.childNodes = heading.childNodes\n }\n\n if (options.headingObjectCallback) {\n return options.headingObjectCallback(obj, heading)\n }\n\n return obj\n }\n\n /**\n * Add a node to the nested array.\n * @param {Object} node\n * @param {Array} nest\n * @return {Array}\n */\n function addNode (node, nest) {\n var obj = getHeadingObject(node)\n var level = obj.headingLevel\n var array = nest\n var lastItem = getLastItem(array)\n var lastItemLevel = lastItem\n ? lastItem.headingLevel\n : 0\n var counter = level - lastItemLevel\n\n while (counter > 0) {\n lastItem = getLastItem(array)\n if (lastItem && lastItem.children !== undefined) {\n array = lastItem.children\n }\n counter--\n }\n\n if (level >= options.collapseDepth) {\n obj.isCollapsed = true\n }\n\n array.push(obj)\n return array\n }\n\n /**\n * Select headings in content area, exclude any selector in options.ignoreSelector\n * @param {String} contentSelector\n * @param {Array} headingSelector\n * @return {Array}\n */\n function selectHeadings (contentSelector, headingSelector) {\n var selectors = headingSelector\n if (options.ignoreSelector) {\n selectors = headingSelector.split(',')\n .map(function mapSelectors (selector) {\n return selector.trim() + ':not(' + options.ignoreSelector + ')'\n })\n }\n try {\n return document.querySelector(contentSelector)\n .querySelectorAll(selectors)\n } catch (e) {\n console.warn('Element not found: ' + contentSelector); // eslint-disable-line\n return null\n }\n }\n\n /**\n * Nest headings array into nested arrays with 'children' property.\n * @param {Array} headingsArray\n * @return {Object}\n */\n function nestHeadingsArray (headingsArray) {\n return reduce.call(headingsArray, function reducer (prev, curr) {\n var currentHeading = getHeadingObject(curr)\n if (currentHeading) {\n addNode(currentHeading, prev.nest)\n }\n return prev\n }, {\n nest: []\n })\n }\n\n return {\n nestHeadingsArray: nestHeadingsArray,\n selectHeadings: selectHeadings\n }\n}\n","// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint semi: \"off\" */\n// -----------------------------------------------------------------------------\n\nmodule.exports = function updateTocScroll(options) {\n var toc = document.querySelector(options.tocSelector);\n if (toc && toc.scrollHeight > toc.clientHeight) {\n var activeItem = toc.querySelector('.' + options.activeListItemClass);\n if (activeItem) {\n toc.scrollTop = activeItem.offsetTop;\n }\n }\n}\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/tocbot/scroll-smooth/index.js\n # Scroll-Smooth (Tocbot v4.12.0) implementation for J1 template\n #\n # Product/Info:\n # https://jekyll.one\n # https://tscanlin.github.io/tocbot\n # https://github.com/tscanlin/tocbot\n #\n # Copyright (C) 2021 Juergen Adams\n # Copyright (C) 2016 Tim Scanlin\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # Tocbot is licensed under the MIT License.\n # For details, https://github.com/tscanlin/tocbot/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint no-redeclare: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint no-empty: \"off\" */\n/* eslint semi: \"off\" */\n// -----------------------------------------------------------------------------\n/* globals location, requestAnimationFrame */\n\nexports.initSmoothScrolling = initSmoothScrolling\n\nfunction initSmoothScrolling (options) {\n if (isCssSmoothSCrollSupported()) { }\n\n var duration = options.duration\n var offset = options.offset\n\n var pageUrl = location.hash\n ? stripHash(location.href)\n : location.href\n\n delegatedLinkHijacking()\n\n function delegatedLinkHijacking () {\n document.body.addEventListener('click', onClick, false)\n\n function onClick (e) {\n if (\n !isInPageLink(e.target) ||\n e.target.className.indexOf('no-smooth-scroll') > -1 ||\n (e.target.href.charAt(e.target.href.length - 2) === '#' &&\n e.target.href.charAt(e.target.href.length - 1) === '!') ||\n e.target.className.indexOf(options.linkClass) === -1) {\n return\n }\n\n // Don't prevent default or hash doesn't change.\n // e.preventDefault()\n\n jump(e.target.hash, {\n duration: duration,\n offset: offset,\n callback: function () {\n setFocus(e.target.hash)\n }\n })\n }\n }\n\n function isInPageLink (n) {\n return n.tagName.toLowerCase() === 'a' &&\n (n.hash.length > 0 || n.href.charAt(n.href.length - 1) === '#') &&\n (stripHash(n.href) === pageUrl || stripHash(n.href) + '#' === pageUrl)\n }\n\n function stripHash (url) {\n return url.slice(0, url.lastIndexOf('#'))\n }\n\n function isCssSmoothSCrollSupported () {\n return 'scrollBehavior' in document.documentElement.style\n }\n\n // Adapted from:\n // https://www.nczonline.net/blog/2013/01/15/fixing-skip-to-content-links/\n function setFocus (hash) {\n var element = document.getElementById(hash.substring(1))\n\n if (element) {\n if (!/^(?:a|select|input|button|textarea)$/i.test(element.tagName)) {\n element.tabIndex = -1\n }\n\n element.focus()\n }\n }\n}\n\nfunction jump (target, options) {\n var start = window.pageYOffset\n var opt = {\n duration: options.duration,\n offset: options.offset || 0,\n callback: options.callback,\n easing: options.easing || easeInOutQuad\n }\n // This makes ids that start with a number work: ('[id=\"' + decodeURI(target).split('#').join('') + '\"]')\n // DecodeURI for nonASCII hashes, they was encoded, but id was not encoded, it lead to not finding the tgt element by id.\n // And this is for IE: document.body.scrollTop\n var tgt = document.querySelector('[id=\"' + decodeURI(target).split('#').join('') + '\"]')\n var distance = typeof target === 'string'\n ? opt.offset + (\n target\n ? (tgt && tgt.getBoundingClientRect().top) || 0 // handle non-existent links better.\n : -(document.documentElement.scrollTop || document.body.scrollTop))\n : target\n var duration = typeof opt.duration === 'function'\n ? opt.duration(distance)\n : opt.duration\n var timeStart\n var timeElapsed\n\n requestAnimationFrame(function (time) { timeStart = time; loop(time) })\n function loop (time) {\n timeElapsed = time - timeStart\n\n window.scrollTo(0, opt.easing(timeElapsed, start, distance, duration))\n\n if (timeElapsed < duration) { requestAnimationFrame(loop) } else { end() }\n }\n\n function end () {\n window.scrollTo(0, start + distance)\n\n if (typeof opt.callback === 'function') { opt.callback() }\n }\n\n // Robert Penner's easeInOutQuad - http://robertpenner.com/easing/\n function easeInOutQuad (t, b, c, d) {\n t /= d / 2\n if (t < 1) return c / 2 * t * t + b\n t--\n return -c / 2 * (t * (t - 2) - 1) + b\n }\n}\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/adoc_result_viewer/view_results.js\n # Provides JavaScript functions displaying results for Asciidoctor\n # example block\n #\n # Product/Info:\n # https://jekyll.one\n #\n # Copyright (C) 2021 Juergen Adams\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n # TODO: Improve lanuage settings\n # TODO: Improve auto-hide functionality for the results block\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* global $ */\n// -----------------------------------------------------------------------------\n\nvar timeoutHandle;\n// var language = 'de';\nvar language = document.documentElement.lang;\n\nfunction toggle_result_block(result_block) {\n window.clearTimeout(timeoutHandle); // Clear the timeout object\n result_block.prev().toggleClass('stacked');\n result_block.toggle();\n\n // jadams: Improve auto-hide functionality for the results block\n //\n // timeoutHandle = window.setTimeout(function () {\n // result_block.hide();\n // }, 5000);\n}\n\nfunction insert_result_links() {\n $('.result').each(function(idx, node) {\n var view_result_link;\n var result_block = $(node);\n var title_div = result_block.prev().find('.title');\n\n if (language == 'en') {\n view_result_link = $('<div class=\"view-result j1-viewer\"><span class=\"btn-viewer j1-tooltip\" data-toggle=\"tooltip\" data-placement=\"left\" title=\"toggle results\" data-original-title=\"toggle results\">View</span></div>');\n } else if (language == 'de') {\n view_result_link = $('<div class=\"view-result j1-viewer\"><span class=\"btn-viewer j1-tooltip\" data-toggle=\"tooltip\" data-placement=\"left\" title=\"Anzeige umschalten\" data-original-title=\"toggle results\">Anzeige</span></div>');\n } else {\n view_result_link = $('<div class=\"view-result j1-viewer\"><span class=\"btn-viewer j1-tooltip\" data-toggle=\"tooltip\" data-placement=\"left\" title=\"toggle results\" data-original-title=\"toggle results\">View</span></div>');\n }\n\n title_div.append(view_result_link);\n view_result_link.on('click', function(event) {\n event.preventDefault();\n toggle_result_block(result_block);\n });\n });\n}\n\n$(insert_result_links);\n"],"sourceRoot":""}
@@ -28,7 +28,7 @@
28
28
  * J1 Core
29
29
  * Copyright (C) 2021 Juergen Adams
30
30
  * Licensed under MIT License.
31
- */e.exports=function(e){$.extend({foo:"foo_option",bar:"bar_option"},void 0);return{_init_:function(e){},getState:function(){return"loaded"},isMobile:function(e){var t,n=!1;return t=navigator.userAgent||navigator.vendor||window.opera,(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\/|capi|ccwa|cdm|cell|chtm|cldc|cmd|co(mp|nd)|craw|da(it|ll|ng)|dbte|dcs|devi|dica|dmob|do(c|p)o|ds(12|d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(|_)|g1 u|g560|gene|gf5|gmo|go(\.w|od)|gr(ad|un)|haie|hcit|hd(m|p|t)|hei|hi(pt|ta)|hp( i|ip)|hsc|ht(c(| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i(20|go|ma)|i230|iac( ||\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|[a-w])|libw|lynx|m1w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|mcr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|([1-8]|c))|phil|pire|pl(ay|uc)|pn2|po(ck|rt|se)|prox|psio|ptg|qaa|qc(07|12|21|32|60|[2-7]|i)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h|oo|p)|sdk\/|se(c(|0|1)|47|mc|nd|ri)|sgh|shar|sie(|m)|sk0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h|v|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl|tdg|tel(i|m)|tim|tmo|to(pl|sh)|ts(70|m|m3|m5)|tx9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas|your|zeto|zte/i.test(t.substr(0,4)))&&(n=!0),n},bsFormClearButton:function(){$(":input").on("keydown focus change mouseover",(function(){$(this).val().length>0&&$(this).nextAll(".form-clear").removeClass("d-none")})).on("keydown keyup blur",(function(){0===$(this).val().length&&$(this).nextAll(".form-clear").addClass("d-none")}))}}}()},function(e,t){e.exports=function(e){var t,n,r={};$.extend({foo:"bar",bar:"foo"},e);return{init:function(e,o){return t=log4javascript.getLogger("j1.core.navigator"),n="core is being initialized",t.info(n),this.manageDropdownMenu(e,o),this.navbarSticky(),this.eventHandler(),r.type="command",r.action="core_initialized",r.text="navigator core initialized",j1.sendMessage("j1.core.navigator","j1.adapter.navigator",r),!0},eventHandler:function(){var e=log4javascript.getLogger("j1.core.navigator.eventHandler"),t=$("nav.navbar.navigator");if($('a[href="#"]').click((function(t){t.preventDefault?t.preventDefault():t.returnValue=!1,e.info('bound click event to "#", suppress default action')})),t.hasClass("navbar-sticky")&&t.wrap("<div class='wrap-sticky'></div>"),t.hasClass("brand-center")){var n=new Array,r=$("nav.brand-center"),o=r.find("ul.navbar-nav");r.find("ul.navbar-nav > li").each((function(){n.push($(this).html())}));var a=n.splice(0,Math.round(n.length/2)),i=n,s="",l=function(e){s="";for(var t=0;t<e.length;t++)s+="<li>"+e[t]+"</li>"};l(a),o.html(s),r.find("ul.nav").first().addClass("navbar-left"),l(i),o.after('<ul class="nav navbar-nav"></ul>').next().html(s),r.find("ul.nav").last().addClass("navbar-right"),r.find("ul.nav.navbar-left").wrap("<div class='col_half left'></div>"),r.find("ul.nav.navbar-right").wrap("<div class='col_half right'></div>"),r.find("ul.navbar-nav > li").each((function(){var e=$("ul.dropdown-menu",this),t=$("ul.megamenu-content",this);e.closest("li").addClass("dropdown"),t.closest("li").addClass("megamenu-fw")}))}t.find("ul.nav").hasClass("navbar-center")&&t.addClass("menu-center"),t.hasClass("navbar-full")?($("nav.navbar.navigator").find("ul.nav").wrap("<div class='wrap-full-menu'></div>"),$(".wrap-full-menu").wrap("<div class='nav-full'></div>"),$("ul.nav.navbar-nav").prepend("<li class='close-full-menu'><a href='#'><i class='mdi mdi-close'></i></a></li>")):t.hasClass("navbar-mobile")?t.removeClass("no-full"):t.addClass("no-full"),t.hasClass("no-background")&&$(window).on("scroll",(function(){var e=$("nav.navbar").outerHeight();$(window).scrollTop()>e?$(".navbar-fixed").removeClass("no-background"):$(".navbar-fixed").addClass("no-background")})),t.hasClass("navbar-transparent")&&$(window).on("scroll",(function(){var e=$("nav.navbar").outerHeight();$(window).scrollTop()>e?($(".navbar-fixed").removeClass("navbar-transparent"),$(".navbar-fixed").addClass("navbar-scrolled")):($(".navbar-fixed").removeClass("navbar-scrolled"),$(".navbar-fixed").addClass("navbar-transparent"))})),$(".attr-nav").each((function(){e.debug("register OPEN event|s for QuickSearch"),$("li.search > a",this).on("click",(function(t){e.debug("manage search action OPEN"),$("html,body").animate({scrollTop:0},0),$(".top-search").slideToggle("slow","swing",(function(){$(".top-search").is(":visible")?($("body").addClass("stop-scrolling"),$("body").bind("touchmove",(function(e){e.preventDefault()}))):($("body").removeClass("stop-scrolling"),$("body").unbind("touchmove"))}))}))})),e.debug("register CLOSE event|s for QuickSearch"),$(".input-group-addon.close-search").on("click",(function(t){t.preventDefault(),e.debug("manage search action CLOSE"),$(".top-search").slideUp("slow","swing"),$("html,body").animate({scrollTop:0},0),$("body").removeClass("stop-scrolling"),$("body").unbind("touchmove"),t.stopPropagation()})),$("nav.navbar.navigator .attr-nav").each((function(){e.debug("register SHOW|HIDE event|s for J1 Translator"),$("li.translator > a",this).on("click",(function(t){e.debug("toggle translator icon SHOW|HIDE"),$("#google_translate_element").toggle(),"none"!==$("#google_translate_element").css("display")&&$("html,body").animate({scrollTop:0},"slow")}))})),$("body").wrapInner("<div class='wrapper'></div>")},manageDropdownMenu:function(e,t){var n,r,o,a,i=e,s=t,l=$("nav.navbar.navigator"),c=(window.matchMedia("(orientation: landscape)").matches,$(window).width()),u=($("nav").width(),l.find("ul.nav").data("in")),d=l.find("ul.nav").data("out"),p="#"+s.xhr_container_id+".collapse",h=s.delay_menu_open;if(c<=(r="lg"===i.nav_bar.media_breakpoint?992:"md"===i.nav_bar.media_breakpoint?768:"sm"===i.nav_bar.media_breakpoint?576:992)?($(p).addClass("navbar-collapse"),$(p).removeClass("show"),$("#navigator_nav_quicklinks").addClass("show"),$("nav.navbar.navigator .attr-nav").each((function(){$(".dropdown-menu",this).removeClass("animated"),$("li.dropdown",this).off("mouseenter"),$("li.dropdown",this).off("mouseleave"),$("a.dropdown-toggle",this).off("click"),$("a.dropdown-toggle",this).on("click",(function(e){$(this).closest("li.dropdown").find(".dropdown-menu").first().stop().fadeToggle(),$(".navbar-toggle").each((function(){$(".mdi",this).removeClass("mdi-close"),$(".mdi",this).addClass("mdi-menu"),$(".navbar-collapse").removeClass("in"),$(".navbar-collapse").removeClass("open")}))})),$(this).on("mouseleave",(function(){$(".dropdown-menu",this).stop().fadeOut(),$("li.dropdown",this).removeClass("open")}))})),$("#desktop_menu").hide()):c>r&&($("#navigator_nav_quicklinks").removeClass("show"),$("#desktop_menu").show(),$(".dropdown-menu > li").on("mouseenter",(function(){if($("body").hasClass("stop-scrolling"))return!1;$("body").addClass("stop-scrolling")})),$(".dropdown-menu > li").on("mouseleave",(function(){$("body").hasClass("stop-scrolling")&&$("body").removeClass("stop-scrolling")})),$(".dropdown-menu > li").hover((function(){var e=$(this).find("ul");1==e.length&&e.addClass("scrollable-menu")})),$(p).removeClass("navbar-collapse"),$(p).addClass("show"),$("nav.navbar.navigator ul.nav").each((function(){$("a.dropdown-toggle",this).off("click"),$("a.dropdown-toggle",this).on("click",(function(e){})),$(".megamenu-fw",this).each((function(){$(".title",this).off("click"),$("a.dropdown-toggle",this).off("click"),$(".content").removeClass("animated")})),$(".dropdown-menu",this).addClass("animated"),$("li.dropdown",this).on("mouseenter",(function(){n=$(".dropdown-menu",this).eq(0),o=$(this),n.removeClass(d),n.removeClass("open"),o.addClass("open"),a=window.setTimeout((function(){o.hasClass("open")&&(n.stop().fadeIn().addClass(u),n.addClass("open"),o.addClass("open"))}),h)})),$("li.dropdown",this).on("mouseleave",(function(){window.clearTimeout(a),$(this).removeClass("open").removeClass("open"),$(".dropdown-menu",this).removeClass("open"),$(".dropdown-menu",this).eq(0).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d)})),$(this).on("mouseleave",(function(){window.clearTimeout(a),$("li.dropdown",this).removeClass("open"),$(".dropdown-menu",this).removeClass("open"),$(".dropdown-menu",this).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d)}))}))),$("nav.navbar.navigator .attr-nav").each((function(){$("a.dropdown-toggle",this).off("click"),$("a.dropdown-toggle",this).on("click",(function(e){})),$(".dropdown-menu",this).addClass("animated"),$("li.dropdown",this).on("mouseenter",(function(){$(".dropdown-menu",this).eq(0).removeClass(d),$(".dropdown-menu",this).eq(0).stop().fadeIn().addClass(u),$(this).addClass("open")})),$("li.dropdown",this).on("mouseleave",(function(){$(".dropdown-menu",this).eq(0).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d),$(this).removeClass("open")})),$(this).on("mouseleave",(function(){$(".dropdown-menu",this).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d),$("li.dropdown",this).removeClass("open")}))})),l.hasClass("navbar-full")){var g=$(window).height(),m=$(window).width();$(".nav-full").css("height",g+"px"),$(".wrap-full-menu").css("height",g+"px"),$(".wrap-full-menu").css("width",m+"px"),$(".navbar-collapse").addClass("animated"),$(".navbar-toggle").each((function(){var e=$(this).data("target");$(this).off("click"),$(this).on("click",(function(t){t.preventDefault(),$(e).removeClass(d),$(e).addClass("in"),$(e).addClass(u)})),$("li.close-full-menu").on("click",(function(t){t.preventDefault(),$(e).addClass(d),setTimeout((function(){$(e).removeClass("in"),$(e).removeClass(u)}),500)}))}))}},navbarSticky:function(){var e=$("nav.navbar.navigator");if(e.hasClass("navbar-sticky")){var t=e.height();$(".wrap-sticky").height(t);var n=$(".wrap-sticky").offset().top;$(window).on("scroll",(function(){$(window).scrollTop()>n?e.addClass("sticked"):e.removeClass("sticked")}))}},updateSidebar:function(e){var t,r=log4javascript.getLogger("j1.core.navigator.updateSidebar");return t=JSON.stringify(e),n="user state data: "+t,r.debug(n),j1.resolveMacros(e),j1.updateMacros(e),!0}}}(jQuery)},function(e,t){
31
+ */e.exports=function(e){$.extend({foo:"foo_option",bar:"bar_option"},void 0);return{_init_:function(e){},getState:function(){return"loaded"},isMobile:function(e){var t,n=!1;return t=navigator.userAgent||navigator.vendor||window.opera,(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\/|capi|ccwa|cdm|cell|chtm|cldc|cmd|co(mp|nd)|craw|da(it|ll|ng)|dbte|dcs|devi|dica|dmob|do(c|p)o|ds(12|d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(|_)|g1 u|g560|gene|gf5|gmo|go(\.w|od)|gr(ad|un)|haie|hcit|hd(m|p|t)|hei|hi(pt|ta)|hp( i|ip)|hsc|ht(c(| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i(20|go|ma)|i230|iac( ||\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|[a-w])|libw|lynx|m1w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|mcr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|([1-8]|c))|phil|pire|pl(ay|uc)|pn2|po(ck|rt|se)|prox|psio|ptg|qaa|qc(07|12|21|32|60|[2-7]|i)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h|oo|p)|sdk\/|se(c(|0|1)|47|mc|nd|ri)|sgh|shar|sie(|m)|sk0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h|v|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl|tdg|tel(i|m)|tim|tmo|to(pl|sh)|ts(70|m|m3|m5)|tx9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas|your|zeto|zte/i.test(t.substr(0,4)))&&(n=!0),n},bsFormClearButton:function(){$(":input").on("keydown focus change mouseover",(function(){$(this).val().length>0&&$(this).nextAll(".form-clear").removeClass("d-none")})).on("keydown keyup blur",(function(){0===$(this).val().length&&$(this).nextAll(".form-clear").addClass("d-none")}))},createDropCap:function(){$(".paragraph.dropcap").children("p").addClass("dropcap"),$("p.dropcap").length&&$("p.dropcap").each((function(){var e=$(this),t=$.trim(e.text()),n=t[0],r='<span class="j1-dropcap">'+n+"</span>";e.html(t.replace(n,r))}))}}}()},function(e,t){e.exports=function(e){var t,n,r={};$.extend({foo:"bar",bar:"foo"},e);return{init:function(e,o){return t=log4javascript.getLogger("j1.core.navigator"),n="core is being initialized",t.info(n),this.manageDropdownMenu(e,o),this.navbarSticky(),this.eventHandler(),r.type="command",r.action="core_initialized",r.text="navigator core initialized",j1.sendMessage("j1.core.navigator","j1.adapter.navigator",r),!0},eventHandler:function(){var e=log4javascript.getLogger("j1.core.navigator.eventHandler"),t=$("nav.navbar.navigator");if($('a[href="#"]').click((function(t){t.preventDefault?t.preventDefault():t.returnValue=!1,e.info('bound click event to "#", suppress default action')})),t.hasClass("navbar-sticky")&&t.wrap("<div class='wrap-sticky'></div>"),t.hasClass("brand-center")){var n=new Array,r=$("nav.brand-center"),o=r.find("ul.navbar-nav");r.find("ul.navbar-nav > li").each((function(){n.push($(this).html())}));var a=n.splice(0,Math.round(n.length/2)),i=n,s="",l=function(e){s="";for(var t=0;t<e.length;t++)s+="<li>"+e[t]+"</li>"};l(a),o.html(s),r.find("ul.nav").first().addClass("navbar-left"),l(i),o.after('<ul class="nav navbar-nav"></ul>').next().html(s),r.find("ul.nav").last().addClass("navbar-right"),r.find("ul.nav.navbar-left").wrap("<div class='col_half left'></div>"),r.find("ul.nav.navbar-right").wrap("<div class='col_half right'></div>"),r.find("ul.navbar-nav > li").each((function(){var e=$("ul.dropdown-menu",this),t=$("ul.megamenu-content",this);e.closest("li").addClass("dropdown"),t.closest("li").addClass("megamenu-fw")}))}t.find("ul.nav").hasClass("navbar-center")&&t.addClass("menu-center"),t.hasClass("navbar-full")?($("nav.navbar.navigator").find("ul.nav").wrap("<div class='wrap-full-menu'></div>"),$(".wrap-full-menu").wrap("<div class='nav-full'></div>"),$("ul.nav.navbar-nav").prepend("<li class='close-full-menu'><a href='#'><i class='mdi mdi-close'></i></a></li>")):t.hasClass("navbar-mobile")?t.removeClass("no-full"):t.addClass("no-full"),t.hasClass("no-background")&&$(window).on("scroll",(function(){var e=$("nav.navbar").outerHeight();$(window).scrollTop()>e?$(".navbar-fixed").removeClass("no-background"):$(".navbar-fixed").addClass("no-background")})),t.hasClass("navbar-transparent")&&$(window).on("scroll",(function(){var e=$("nav.navbar").outerHeight();$(window).scrollTop()>e?($(".navbar-fixed").removeClass("navbar-transparent"),$(".navbar-fixed").addClass("navbar-scrolled")):($(".navbar-fixed").removeClass("navbar-scrolled"),$(".navbar-fixed").addClass("navbar-transparent"))})),$(".attr-nav").each((function(){e.debug("register OPEN event|s for QuickSearch"),$("li.search > a",this).on("click",(function(t){e.debug("manage search action OPEN"),$("html,body").animate({scrollTop:0},0),$(".top-search").slideToggle("slow","swing",(function(){$(".top-search").is(":visible")?($("body").addClass("stop-scrolling"),$("body").bind("touchmove",(function(e){e.preventDefault()}))):($("body").removeClass("stop-scrolling"),$("body").unbind("touchmove"))}))}))})),e.debug("register CLOSE event|s for QuickSearch"),$(".input-group-addon.close-search").on("click",(function(t){t.preventDefault(),e.debug("manage search action CLOSE"),$(".top-search").slideUp("slow","swing"),$("html,body").animate({scrollTop:0},0),$("body").removeClass("stop-scrolling"),$("body").unbind("touchmove"),t.stopPropagation()})),$("nav.navbar.navigator .attr-nav").each((function(){e.debug("register SHOW|HIDE event|s for J1 Translator"),$("li.translator > a",this).on("click",(function(t){e.debug("toggle translator icon SHOW|HIDE"),$("#google_translate_element").toggle(),"none"!==$("#google_translate_element").css("display")&&$("html,body").animate({scrollTop:0},"slow")}))})),$("body").wrapInner("<div class='wrapper'></div>")},manageDropdownMenu:function(e,t){var n,r,o,a,i=e,s=t,l=$("nav.navbar.navigator"),c=(window.matchMedia("(orientation: landscape)").matches,$(window).width()),u=($("nav").width(),l.find("ul.nav").data("in")),d=l.find("ul.nav").data("out"),p="#"+s.xhr_container_id+".collapse",h=s.delay_menu_open;if(c<=(r="lg"===i.nav_bar.media_breakpoint?992:"md"===i.nav_bar.media_breakpoint?768:"sm"===i.nav_bar.media_breakpoint?576:992)?($(p).addClass("navbar-collapse"),$(p).removeClass("show"),$("#navigator_nav_quicklinks").addClass("show"),$("nav.navbar.navigator .attr-nav").each((function(){$(".dropdown-menu",this).removeClass("animated"),$("li.dropdown",this).off("mouseenter"),$("li.dropdown",this).off("mouseleave"),$("a.dropdown-toggle",this).off("click"),$("a.dropdown-toggle",this).on("click",(function(e){$(this).closest("li.dropdown").find(".dropdown-menu").first().stop().fadeToggle(),$(".navbar-toggle").each((function(){$(".mdi",this).removeClass("mdi-close"),$(".mdi",this).addClass("mdi-menu"),$(".navbar-collapse").removeClass("in"),$(".navbar-collapse").removeClass("open")}))})),$(this).on("mouseleave",(function(){$(".dropdown-menu",this).stop().fadeOut(),$("li.dropdown",this).removeClass("open")}))})),$("#desktop_menu").hide()):c>r&&($("#navigator_nav_quicklinks").removeClass("show"),$("#desktop_menu").show(),$(".dropdown-menu > li").on("mouseenter",(function(){if($("body").hasClass("stop-scrolling"))return!1;$("body").addClass("stop-scrolling")})),$(".dropdown-menu > li").on("mouseleave",(function(){$("body").hasClass("stop-scrolling")&&$("body").removeClass("stop-scrolling")})),$(".dropdown-menu > li").hover((function(){var e=$(this).find("ul");1==e.length&&e.addClass("scrollable-menu")})),$(p).removeClass("navbar-collapse"),$(p).addClass("show"),$("nav.navbar.navigator ul.nav").each((function(){$("a.dropdown-toggle",this).off("click"),$("a.dropdown-toggle",this).on("click",(function(e){})),$(".megamenu-fw",this).each((function(){$(".title",this).off("click"),$("a.dropdown-toggle",this).off("click"),$(".content").removeClass("animated")})),$(".dropdown-menu",this).addClass("animated"),$("li.dropdown",this).on("mouseenter",(function(){n=$(".dropdown-menu",this).eq(0),o=$(this),n.removeClass(d),n.removeClass("open"),o.addClass("open"),a=window.setTimeout((function(){o.hasClass("open")&&(n.stop().fadeIn().addClass(u),n.addClass("open"),o.addClass("open"))}),h)})),$("li.dropdown",this).on("mouseleave",(function(){window.clearTimeout(a),$(this).removeClass("open").removeClass("open"),$(".dropdown-menu",this).removeClass("open"),$(".dropdown-menu",this).eq(0).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d)})),$(this).on("mouseleave",(function(){window.clearTimeout(a),$("li.dropdown",this).removeClass("open"),$(".dropdown-menu",this).removeClass("open"),$(".dropdown-menu",this).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d)}))}))),$("nav.navbar.navigator .attr-nav").each((function(){$("a.dropdown-toggle",this).off("click"),$("a.dropdown-toggle",this).on("click",(function(e){})),$(".dropdown-menu",this).addClass("animated"),$("li.dropdown",this).on("mouseenter",(function(){$(".dropdown-menu",this).eq(0).removeClass(d),$(".dropdown-menu",this).eq(0).stop().fadeIn().addClass(u),$(this).addClass("open")})),$("li.dropdown",this).on("mouseleave",(function(){$(".dropdown-menu",this).eq(0).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d),$(this).removeClass("open")})),$(this).on("mouseleave",(function(){$(".dropdown-menu",this).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d),$("li.dropdown",this).removeClass("open")}))})),l.hasClass("navbar-full")){var g=$(window).height(),m=$(window).width();$(".nav-full").css("height",g+"px"),$(".wrap-full-menu").css("height",g+"px"),$(".wrap-full-menu").css("width",m+"px"),$(".navbar-collapse").addClass("animated"),$(".navbar-toggle").each((function(){var e=$(this).data("target");$(this).off("click"),$(this).on("click",(function(t){t.preventDefault(),$(e).removeClass(d),$(e).addClass("in"),$(e).addClass(u)})),$("li.close-full-menu").on("click",(function(t){t.preventDefault(),$(e).addClass(d),setTimeout((function(){$(e).removeClass("in"),$(e).removeClass(u)}),500)}))}))}},navbarSticky:function(){var e=$("nav.navbar.navigator");if(e.hasClass("navbar-sticky")){var t=e.height();$(".wrap-sticky").height(t);var n=$(".wrap-sticky").offset().top;$(window).on("scroll",(function(){$(window).scrollTop()>n?e.addClass("sticked"):e.removeClass("sticked")}))}},updateSidebar:function(e){var t,r=log4javascript.getLogger("j1.core.navigator.updateSidebar");return t=JSON.stringify(e),n="user state data: "+t,r.debug(n),j1.resolveMacros(e),j1.updateMacros(e),!0}}}(jQuery)},function(e,t){
32
32
  /*!
33
33
  * J1 Asciidoctor
34
34
  * Copyright (C) 2021 Juergen Adams
@@ -1 +1 @@
1
- {"version":3,"sources":["dist/template.js"],"names":["e","t","n","r","exports","o","i","l","call","m","c","d","Object","defineProperty","enumerable","get","Symbol","toStringTag","value","__esModule","create","bind","default","prototype","hasOwnProperty","p","s","this","Function","window","Cookies","log4javascript","liteURL","platform","j1","adapter","core","navigator","asciidoctor","scrollSmooth","anime","a","noConflict","arguments","length","replace","decodeURIComponent","document","path","defaults","expires","Date","toUTCString","JSON","stringify","test","write","encodeURIComponent","String","escape","split","cookie","slice","join","charAt","read","parse","set","getJSON","remove","withConverter","module","__webpack_require__","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_RESULT__","factory","isUndefined","EventSupport","Array","push","shift","splice","concat","eventTypes","eventListeners","setEventTypes","handleError","addEventListener","array_contains","removeEventListener","array_remove","dispatchEvent","applicationStartDate","uniqueId","getTime","Math","floor","random","emptyFunction","newLine","pageLoaded","Log4JavaScript","toStr","toString","getExceptionMessage","message","description","getUrlFileName","max","lastIndexOf","substr","getExceptionStringRep","lineNumber","fileName","logLog","warn","showStackTraces","stack","bool","Boolean","trim","splitIntoLines","version","edition","urlEncode","extractBooleanFromParam","extractStringFromParam","extractIntFromParam","parseInt","isNaN","extractFunctionFromParam","isError","Error","apply","obj","args","methodName","argsStrings","len","script","returnValue","eval","quietMode","debugMessages","setQuietMode","numberOfErrors","alertAllErrors","setAlertAllErrors","debug","displayDebug","alert","error","exception","enabled","log4javascript_disabled","setEnabled","isEnabled","useTimeStampsInMilliseconds","setTimeStampsInMilliseconds","isTimeStampsInMilliseconds","evalInScope","expr","setShowStackTraces","Level","level","name","Timer","INFO","start","equals","isGreaterOrEqual","ALL","Number","MIN_VALUE","TRACE","DEBUG","WARN","ERROR","FATAL","OFF","MAX_VALUE","getElapsedTime","anonymousLoggerName","defaultLoggerName","nullLoggerName","rootLoggerName","Logger","parent","children","addChild","invalidateAppenderCache","getAdditivity","setAdditivity","addAppender","Appender","setAddedToLogger","removeAppender","setRemovedFromLogger","removeAllAppenders","getEffectiveAppenders","log","getEffectiveLevel","LoggingEvent","callAppenders","doAppend","setLevel","getLevel","group","groupEnd","time","timeEnd","assert","trace","info","fatal","isEnabledFor","isTraceEnabled","isDebugEnabled","isInfoEnabled","isWarnEnabled","isErrorEnabled","isFatalEnabled","isEntryPoint","loggers","loggerNames","ROOT_LOGGER_DEFAULT_LEVEL","rootLogger","getRootLogger","getLogger","substring","defaultLogger","getDefaultLogger","createDefaultLogger","nullLogger","getNullLogger","resetConfiguration","logger","timeStamp","timeStampInMilliseconds","timeStampInSeconds","milliseconds","getMilliseconds","messages","getThrowableStrRep","getCombinedMessages","Layout","loggerKey","timeStampKey","millisecondsKey","levelKey","messageKey","exceptionKey","urlKey","batchHeader","batchFooter","batchSeparator","returnsPostData","overrideTimeStampsSetting","format","ignoresThrowable","getContentType","allowBatching","getTimeStampValue","getDataValues","location","href","hasCustomFields","customFields","setKeys","setCustomField","formatWithException","SimpleDateFormat","SimpleLayout","NullLayout","XmlLayout","combineMessages","escapeNewLines","JsonLayout","readable","colon","tab","lineBreak","HttpPostDataLayout","formatObjectExpansion","u","PatternLayout","pattern","DEFAULT_CONVERSION_PATTERN","AlertAppender","BrowserConsoleAppender","layout","threshold","append","setLayout","getLayout","setThreshold","getThreshold","isCombinedMessages","escapeCdata","isReadable","G","y","M","w","W","D","F","E","H","k","K","h","S","Z","setMilliseconds","getDifference","isBefore","getUTCTime","UTC","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getTimeSince","getPreviousSunday","getDay","getWeekInYear","minimalDaysInFirstWeek","getWeekInMonth","getDayInYear","formatString","setMinimalDaysInFirstWeek","getMinimalDaysInFirstWeek","exec","g","f","v","getTimezoneOffset","b","abs","C","index","TTCC_CONVERSION_PATTERN","ISO8601_DATEFORMAT","DATETIME_DATEFORMAT","ABSOLUTETIME_DATEFORMAT","x","console","opera","postError","xhrFactory","XMLHttpRequest","xmlHttpFactories","ActiveXObject","withCredentialsSupported","getXmlHttp","ConsoleAppender","isHttpRequestSuccessful","status","AjaxAppender","timed","waitForResponse","batchSize","timerInterval","requestSuccessCallback","failCallback","postVarName","sendAllOnUnload","contentType","setTimeout","L","onreadystatechange","readyState","open","withCredentials","setRequestHeader","send","getSessionId","setSessionId","isTimed","setTimed","getTimerInterval","setTimerInterval","isWaitForResponse","setWaitForResponse","getBatchSize","setBatchSize","isSendAllOnUnload","setSendAllOnUnload","setRequestSuccessCallback","setFailCallback","getPostVarName","setPostVarName","getHeaders","addHeader","toLowerCase","sendAll","sendAllRemaining","onbeforeunload","setCookie","setTime","toGMTString","getCookie","indexOf","unescape","getBaseUrl","getElementsByTagName","src","isLoaded","loaded","padWithSpaces","PopUpAppender","focusPopUp","initiallyMinimized","lazyInit","useDocumentWrite","newestMessageAtTop","scrollToLatestMessage","width","height","maxMessages","T","showCommandLine","commandLineObjectExpansionDepth","A","showHideButton","I","showCloseButton","N","isNewestMessageAtTop","setNewestMessageAtTop","setNewestAtTop","isScrollToLatestMessage","setScrollToLatestMessage","setScrollToLatest","getWidth","setWidth","getHeight","setHeight","getMaxMessages","setMaxMessages","isShowCommandLine","setShowCommandLine","isShowHideButton","setShowHideButton","isShowCloseButton","setShowCloseButton","getCommandLineObjectExpansionDepth","setCommandLineObjectExpansionDepth","R","O","loggingEvent","levelName","formattedMessage","initiallyExpanded","P","isInitiallyMinimized","setInitiallyMinimized","isUseDocumentWrite","setUseDocumentWrite","$","ee","j","focus","clear","clearLog","focusCommandLine","focusSearch","B","getCommandWindow","setCommandWindow","executeLastCommand","evalLastCommand","_","getCommandLayout","setCommandLayout","evalCommandAndAppend","appendResult","execScript","appender","commandReturnValue","commandLineFunctionsHash","evalExpr","result","addCommandLineFunction","storeCommandHistory","writeln","close","U","setAppender","setMainWindow","commandHistory","currentCommandIndex","win","unload","caller","setInterval","clearInterval","q","domain","hostname","V","addCssProperty","z","X","J","hide","blur","style","display","show","isVisible","confirm","parentNode","removeChild","appendChild","createElement","border","innerHTML","getElementById","nodeType","position","left","right","bottom","body","frames","Y","Q","useOldPopUp","complainAboutPopUpBlocking","reopenWhenClosed","isUseOldPopUp","setUseOldPopUp","isComplainAboutPopUpBlocking","setComplainAboutPopUpBlocking","isFocusPopUp","setFocusPopUp","isReopenWhenClosed","setReopenWhenClosed","frameElement","tagName","id","host","closed","setCloseIfOpenerCloses","mainPageReloaded","getConsoleWindow","addGlobalCommandLineFunction","showLogEntryDeleteButtons","InPageAppender","InlineAppender","cssText","childNodes","prefix","outerHTML","RegExp","$1","attributes","specified","nodeValue","nodeName","hasChildNodes","setDocumentReady","attachEvent","oldOnload","onload","hash","origin","pathname","protocol","search","password","username","port","params","changeQueryParser","function","object","global","self","pow","toUpperCase","userAgent","likeChrome","java","environment","operamini","label","Apple","iPad","iPhone","iPod","Alcatel","Archos","Amazon","Kindle","Asus","Transformer","Nook","BlackBerry","PlayBook","Google","Nexus","HP","TouchPad","HTC","Huawei","Lenovo","LG","Microsoft","Xbox","Motorola","Xoom","Nintendo","Wii","Nokia","Lumia","Oppo","Samsung","Sony","PlayStation","Xiaomi","Mi","Redmi","manufacturer","product","unshift","parseFloat","runtime","flash","system","Capabilities","os","phantom","major","minor","patch","documentMode","toFixed","lang","System","getProperty","require","process","browser","versions","electron","node","nw","arch","appMinorVersion","external","architecture","family","cpuClass","prerelease","ua","webpackPolyfill","deprecate","paths","_init_","extend","foo","bar","getState","isMobile","vendor","bsFormClearButton","on","val","nextAll","removeClass","addClass","init","manageDropdownMenu","navbarSticky","eventHandler","type","action","text","sendMessage","click","preventDefault","hasClass","wrap","find","each","html","round","first","after","next","last","closest","prepend","outerHeight","scrollTop","animate","slideToggle","is","unbind","slideUp","stopPropagation","toggle","css","wrapInner","matchMedia","matches","data","xhr_container_id","delay_menu_open","nav_bar","media_breakpoint","off","stop","fadeToggle","fadeOut","hover","eq","fadeIn","clearTimeout","offset","top","updateSidebar","resolveMacros","updateMacros","jQuery","dummyOption","logText","callouts","conums","scroll","duration","scrollTo","callback","pageYOffset","easing","querySelector","decodeURI","getBoundingClientRect","documentElement","requestAnimationFrame","update","begin","loopBegin","changeBegin","change","changeComplete","loopComplete","complete","loop","direction","autoplay","timelineOffset","delay","endDelay","CSS","springs","min","arr","isArray","pth","svg","SVGElement","inp","HTMLInputElement","dom","str","fnc","und","hex","rgb","hsl","col","key","map","sqrt","exp","cos","sin","ceil","Float32Array","linear","Sine","PI","Circ","Back","Bounce","Elastic","asin","forEach","keys","querySelectorAll","reduce","NodeList","HTMLCollection","some","target","total","getAttribute","offsetWidth","getComputedStyle","getPropertyValue","transform","Map","transforms","list","points","numberOfItems","getItem","getTotalLength","el","viewBox","getPointAtLength","property","atan2","totalLength","original","numbers","match","strings","keyframes","tweens","to","from","end","isPath","isColor","attribute","setAttribute","animatable","te","ne","re","oe","paused","tick","cancelAnimationFrame","ae","Promise","finished","targets","animatables","animations","reversed","currentTime","speed","seek","currentValue","passThrough","progress","reversePlayback","began","loopBegan","changeBegan","changeCompleted","remaining","completed","reset","pause","play","reverse","restart","ie","hidden","running","convertPx","setDashoffset","stagger","grid","axis","timeline","add","penner","destroy","skipRendering","tocSelector","scrollContainer","_scrollListener","_clickListener","options","state","scrollSmoothDuration","scrollSmoothOffset","initSmoothScrolling","_buildHtml","_parseContent","selectHeadings","contentSelector","headingSelector","nestHeadingsArray","nest","render","updateToc","disableTocScrollSync","scrollingElement","eventPhase","currentTarget","scrollEndCallback","throttleTimeout","disableTocAnimation","enableTocAnimation","refresh","tocbot","ignoreSelector","hasInnerContainers","linkClass","extraLinkClasses","activeLinkClass","listClass","extraListClasses","isCollapsedClass","collapsibleClass","listItemClass","activeListItemClass","collapseDepth","headingsOffset","positionFixedSelector","positionFixedClass","fixedSidebarOffset","includeHtml","onClick","orderedList","headingLabelCallback","ignoreHiddenElements","headingObjectCallback","basePath","onclick","cloneNode","textContent","isCollapsed","srcElement","className","firstChild","offsetTop","offsetParent","nextSibling","HTMLElement","offsetHeight","headingLevel","scrollHeight","clientHeight","tabIndex","prev","toggleClass"],"mappings":"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"}
1
+ {"version":3,"sources":["dist/template.js"],"names":["e","t","n","r","exports","o","i","l","call","m","c","d","Object","defineProperty","enumerable","get","Symbol","toStringTag","value","__esModule","create","bind","default","prototype","hasOwnProperty","p","s","this","Function","window","Cookies","log4javascript","liteURL","platform","j1","adapter","core","navigator","asciidoctor","scrollSmooth","anime","a","noConflict","arguments","length","replace","decodeURIComponent","document","path","defaults","expires","Date","toUTCString","JSON","stringify","test","write","encodeURIComponent","String","escape","split","cookie","slice","join","charAt","read","parse","set","getJSON","remove","withConverter","module","__webpack_require__","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_RESULT__","factory","isUndefined","EventSupport","Array","push","shift","splice","concat","eventTypes","eventListeners","setEventTypes","handleError","addEventListener","array_contains","removeEventListener","array_remove","dispatchEvent","applicationStartDate","uniqueId","getTime","Math","floor","random","emptyFunction","newLine","pageLoaded","Log4JavaScript","toStr","toString","getExceptionMessage","message","description","getUrlFileName","max","lastIndexOf","substr","getExceptionStringRep","lineNumber","fileName","logLog","warn","showStackTraces","stack","bool","Boolean","trim","splitIntoLines","version","edition","urlEncode","extractBooleanFromParam","extractStringFromParam","extractIntFromParam","parseInt","isNaN","extractFunctionFromParam","isError","Error","apply","obj","args","methodName","argsStrings","len","script","returnValue","eval","quietMode","debugMessages","setQuietMode","numberOfErrors","alertAllErrors","setAlertAllErrors","debug","displayDebug","alert","error","exception","enabled","log4javascript_disabled","setEnabled","isEnabled","useTimeStampsInMilliseconds","setTimeStampsInMilliseconds","isTimeStampsInMilliseconds","evalInScope","expr","setShowStackTraces","Level","level","name","Timer","INFO","start","equals","isGreaterOrEqual","ALL","Number","MIN_VALUE","TRACE","DEBUG","WARN","ERROR","FATAL","OFF","MAX_VALUE","getElapsedTime","anonymousLoggerName","defaultLoggerName","nullLoggerName","rootLoggerName","Logger","parent","children","addChild","invalidateAppenderCache","getAdditivity","setAdditivity","addAppender","Appender","setAddedToLogger","removeAppender","setRemovedFromLogger","removeAllAppenders","getEffectiveAppenders","log","getEffectiveLevel","LoggingEvent","callAppenders","doAppend","setLevel","getLevel","group","groupEnd","time","timeEnd","assert","trace","info","fatal","isEnabledFor","isTraceEnabled","isDebugEnabled","isInfoEnabled","isWarnEnabled","isErrorEnabled","isFatalEnabled","isEntryPoint","loggers","loggerNames","ROOT_LOGGER_DEFAULT_LEVEL","rootLogger","getRootLogger","getLogger","substring","defaultLogger","getDefaultLogger","createDefaultLogger","nullLogger","getNullLogger","resetConfiguration","logger","timeStamp","timeStampInMilliseconds","timeStampInSeconds","milliseconds","getMilliseconds","messages","getThrowableStrRep","getCombinedMessages","Layout","loggerKey","timeStampKey","millisecondsKey","levelKey","messageKey","exceptionKey","urlKey","batchHeader","batchFooter","batchSeparator","returnsPostData","overrideTimeStampsSetting","format","ignoresThrowable","getContentType","allowBatching","getTimeStampValue","getDataValues","location","href","hasCustomFields","customFields","setKeys","setCustomField","formatWithException","SimpleDateFormat","SimpleLayout","NullLayout","XmlLayout","combineMessages","escapeNewLines","JsonLayout","readable","colon","tab","lineBreak","HttpPostDataLayout","formatObjectExpansion","u","PatternLayout","pattern","DEFAULT_CONVERSION_PATTERN","AlertAppender","BrowserConsoleAppender","layout","threshold","append","setLayout","getLayout","setThreshold","getThreshold","isCombinedMessages","escapeCdata","isReadable","G","y","M","w","W","D","F","E","H","k","K","h","S","Z","setMilliseconds","getDifference","isBefore","getUTCTime","UTC","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getTimeSince","getPreviousSunday","getDay","getWeekInYear","minimalDaysInFirstWeek","getWeekInMonth","getDayInYear","formatString","setMinimalDaysInFirstWeek","getMinimalDaysInFirstWeek","exec","g","f","v","getTimezoneOffset","b","abs","C","index","TTCC_CONVERSION_PATTERN","ISO8601_DATEFORMAT","DATETIME_DATEFORMAT","ABSOLUTETIME_DATEFORMAT","x","console","opera","postError","xhrFactory","XMLHttpRequest","xmlHttpFactories","ActiveXObject","withCredentialsSupported","getXmlHttp","ConsoleAppender","isHttpRequestSuccessful","status","AjaxAppender","timed","waitForResponse","batchSize","timerInterval","requestSuccessCallback","failCallback","postVarName","sendAllOnUnload","contentType","setTimeout","L","onreadystatechange","readyState","open","withCredentials","setRequestHeader","send","getSessionId","setSessionId","isTimed","setTimed","getTimerInterval","setTimerInterval","isWaitForResponse","setWaitForResponse","getBatchSize","setBatchSize","isSendAllOnUnload","setSendAllOnUnload","setRequestSuccessCallback","setFailCallback","getPostVarName","setPostVarName","getHeaders","addHeader","toLowerCase","sendAll","sendAllRemaining","onbeforeunload","setCookie","setTime","toGMTString","getCookie","indexOf","unescape","getBaseUrl","getElementsByTagName","src","isLoaded","loaded","padWithSpaces","PopUpAppender","focusPopUp","initiallyMinimized","lazyInit","useDocumentWrite","newestMessageAtTop","scrollToLatestMessage","width","height","maxMessages","T","showCommandLine","commandLineObjectExpansionDepth","A","showHideButton","I","showCloseButton","N","isNewestMessageAtTop","setNewestMessageAtTop","setNewestAtTop","isScrollToLatestMessage","setScrollToLatestMessage","setScrollToLatest","getWidth","setWidth","getHeight","setHeight","getMaxMessages","setMaxMessages","isShowCommandLine","setShowCommandLine","isShowHideButton","setShowHideButton","isShowCloseButton","setShowCloseButton","getCommandLineObjectExpansionDepth","setCommandLineObjectExpansionDepth","R","O","loggingEvent","levelName","formattedMessage","initiallyExpanded","P","isInitiallyMinimized","setInitiallyMinimized","isUseDocumentWrite","setUseDocumentWrite","$","ee","j","focus","clear","clearLog","focusCommandLine","focusSearch","B","getCommandWindow","setCommandWindow","executeLastCommand","evalLastCommand","_","getCommandLayout","setCommandLayout","evalCommandAndAppend","appendResult","execScript","appender","commandReturnValue","commandLineFunctionsHash","evalExpr","result","addCommandLineFunction","storeCommandHistory","writeln","close","U","setAppender","setMainWindow","commandHistory","currentCommandIndex","win","unload","caller","setInterval","clearInterval","q","domain","hostname","V","addCssProperty","z","X","J","hide","blur","style","display","show","isVisible","confirm","parentNode","removeChild","appendChild","createElement","border","innerHTML","getElementById","nodeType","position","left","right","bottom","body","frames","Y","Q","useOldPopUp","complainAboutPopUpBlocking","reopenWhenClosed","isUseOldPopUp","setUseOldPopUp","isComplainAboutPopUpBlocking","setComplainAboutPopUpBlocking","isFocusPopUp","setFocusPopUp","isReopenWhenClosed","setReopenWhenClosed","frameElement","tagName","id","host","closed","setCloseIfOpenerCloses","mainPageReloaded","getConsoleWindow","addGlobalCommandLineFunction","showLogEntryDeleteButtons","InPageAppender","InlineAppender","cssText","childNodes","prefix","outerHTML","RegExp","$1","attributes","specified","nodeValue","nodeName","hasChildNodes","setDocumentReady","attachEvent","oldOnload","onload","hash","origin","pathname","protocol","search","password","username","port","params","changeQueryParser","function","object","global","self","pow","toUpperCase","userAgent","likeChrome","java","environment","operamini","label","Apple","iPad","iPhone","iPod","Alcatel","Archos","Amazon","Kindle","Asus","Transformer","Nook","BlackBerry","PlayBook","Google","Nexus","HP","TouchPad","HTC","Huawei","Lenovo","LG","Microsoft","Xbox","Motorola","Xoom","Nintendo","Wii","Nokia","Lumia","Oppo","Samsung","Sony","PlayStation","Xiaomi","Mi","Redmi","manufacturer","product","unshift","parseFloat","runtime","flash","system","Capabilities","os","phantom","major","minor","patch","documentMode","toFixed","lang","System","getProperty","require","process","browser","versions","electron","node","nw","arch","appMinorVersion","external","architecture","family","cpuClass","prerelease","ua","webpackPolyfill","deprecate","paths","_init_","extend","foo","bar","getState","isMobile","vendor","bsFormClearButton","on","val","nextAll","removeClass","addClass","createDropCap","each","text","html","init","manageDropdownMenu","navbarSticky","eventHandler","type","action","sendMessage","click","preventDefault","hasClass","wrap","find","round","first","after","next","last","closest","prepend","outerHeight","scrollTop","animate","slideToggle","is","unbind","slideUp","stopPropagation","toggle","css","wrapInner","matchMedia","matches","data","xhr_container_id","delay_menu_open","nav_bar","media_breakpoint","off","stop","fadeToggle","fadeOut","hover","eq","fadeIn","clearTimeout","offset","top","updateSidebar","resolveMacros","updateMacros","jQuery","dummyOption","logText","callouts","conums","scroll","duration","scrollTo","callback","pageYOffset","easing","querySelector","decodeURI","getBoundingClientRect","documentElement","requestAnimationFrame","update","begin","loopBegin","changeBegin","change","changeComplete","loopComplete","complete","loop","direction","autoplay","timelineOffset","delay","endDelay","CSS","springs","min","arr","isArray","pth","svg","SVGElement","inp","HTMLInputElement","dom","str","fnc","und","hex","rgb","hsl","col","key","map","sqrt","exp","cos","sin","ceil","Float32Array","linear","Sine","PI","Circ","Back","Bounce","Elastic","asin","forEach","keys","querySelectorAll","reduce","NodeList","HTMLCollection","some","target","total","getAttribute","offsetWidth","getComputedStyle","getPropertyValue","transform","Map","transforms","list","points","numberOfItems","getItem","getTotalLength","el","viewBox","getPointAtLength","property","atan2","totalLength","original","numbers","match","strings","keyframes","tweens","to","from","end","isPath","isColor","attribute","setAttribute","animatable","te","ne","re","oe","paused","tick","cancelAnimationFrame","ae","Promise","finished","targets","animatables","animations","reversed","currentTime","speed","seek","currentValue","passThrough","progress","reversePlayback","began","loopBegan","changeBegan","changeCompleted","remaining","completed","reset","pause","play","reverse","restart","ie","hidden","running","convertPx","setDashoffset","stagger","grid","axis","timeline","add","penner","destroy","skipRendering","tocSelector","scrollContainer","_scrollListener","_clickListener","options","state","scrollSmoothDuration","scrollSmoothOffset","initSmoothScrolling","_buildHtml","_parseContent","selectHeadings","contentSelector","headingSelector","nestHeadingsArray","nest","render","updateToc","disableTocScrollSync","scrollingElement","eventPhase","currentTarget","scrollEndCallback","throttleTimeout","disableTocAnimation","enableTocAnimation","refresh","tocbot","ignoreSelector","hasInnerContainers","linkClass","extraLinkClasses","activeLinkClass","listClass","extraListClasses","isCollapsedClass","collapsibleClass","listItemClass","activeListItemClass","collapseDepth","headingsOffset","positionFixedSelector","positionFixedClass","fixedSidebarOffset","includeHtml","onClick","orderedList","headingLabelCallback","ignoreHiddenElements","headingObjectCallback","basePath","onclick","cloneNode","textContent","isCollapsed","srcElement","className","firstChild","offsetTop","offsetParent","nextSibling","HTMLElement","offsetHeight","headingLevel","scrollHeight","clientHeight","tabIndex","prev","toggleClass"],"mappings":"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"}
data/lib/j1/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module J1
2
- VERSION = '2021.1.21'
2
+ VERSION = '2021.1.22'
3
3
  end
@@ -53,7 +53,7 @@ gem 'jekyll', '~> 4.2'
53
53
 
54
54
  # Theme Rubies, default: J1 Template (NOT used for the development system)
55
55
  #
56
- gem 'j1-template', '~> 2021.1.21'
56
+ gem 'j1-template', '~> 2021.1.22'
57
57
 
58
58
  # ------------------------------------------------------------------------------
59
59
  # PRODUCTION: Gem needed for the Jekyll and J1 prod environment
@@ -53,13 +53,13 @@ environment: production
53
53
  # ------------------------------------------------------------------------------
54
54
  # Sets the build version of J1 Template Gem
55
55
  #
56
- version: 2021.1.21
56
+ version: 2021.1.22
57
57
 
58
58
  # version
59
59
  # ------------------------------------------------------------------------------
60
60
  # Sets the build version of J1 Template
61
61
  #
62
- copyright: J1 · Copyright © 2021
62
+ copyright: © 2021 J1 · All rights reserved
63
63
 
64
64
  # ==============================================================================
65
65
  # 2. THEME configuration
@@ -139,7 +139,7 @@ settings:
139
139
  tagline: <b>powerful modern static websites</b>
140
140
  description_properties: mr-3 mb-3
141
141
  description: >
142
- <p>
142
+ <p class="dropcap">
143
143
  Jekyll One Template is the first toolbox to create modern webs and a
144
144
  learning platform to experience what is behind current Internet
145
145
  Technologies for the World Wide Web. J1 provides creative people
@@ -74,10 +74,10 @@ settings:
74
74
  enabled: true
75
75
  type: copyright
76
76
  en:
77
- statement: J1 © 2021 · All rights reserved
77
+ statement: © 2021 J1 · All rights reserved
78
78
  href: /pages/public/legal/en/copyright/
79
79
  de:
80
- statement: J1 © 2021 · Alle Rechte vorbehalten
80
+ statement: © 2021 J1 · Alle Rechte vorbehalten
81
81
  href: /pages/public/legal/de/copyright/
82
82
 
83
83
  - name: Impress
@@ -38,14 +38,14 @@ settings:
38
38
  id: home_intro_panel
39
39
  comment: Home Intro Panel
40
40
  type: intro
41
- animate:
41
+ animate: fadeInUp
42
42
  properties: mt-3 mr-3 mb-5 ml-3
43
43
 
44
44
  title: All in One
45
45
  tagline: top features
46
46
  description_properties: mr-3 mb-3
47
47
  description: >
48
- <p>
48
+ <p class="dropcap">
49
49
  People quite often ask if static websites make sense
50
50
  for anything beyond a one-page website. Some others see in
51
51
  static websites the stone age of the World Wide Web. What's
@@ -74,8 +74,10 @@ settings:
74
74
  icon_size: 3x
75
75
  icon_color:
76
76
  text: >
77
- The Web is everywhere. J1 Template supports modern web browsers
78
- on all devices for best results on PCs, Tablets, and SmartPhones.
77
+ <p class="dropcap">
78
+ The Web is everywhere. J1 Template supports modern web browsers
79
+ on all devices for best results on PCs, Tablets, and SmartPhones.
80
+ </p>
79
81
 
80
82
  buttons:
81
83
 
@@ -100,8 +102,10 @@ settings:
100
102
  icon_size: 3x
101
103
  icon_color:
102
104
  text: >
103
- Current Technology and Design. Excellent performance in running
104
- a website. Use Jekyll One to present your content at its best.
105
+ <p class="dropcap">
106
+ Current Technology and Design. Excellent performance in running
107
+ a website. Use Jekyll One to present your content at its best.
108
+ </p>
105
109
 
106
110
  buttons:
107
111
  - name: Read More
@@ -126,9 +130,11 @@ settings:
126
130
  icon_size: 3x
127
131
  icon_color:
128
132
  text: >
129
- No programming is needed to start using J1. The Template
130
- provides a large number of building blocks to create
131
- modern web pages in minutes.
133
+ <p class="dropcap">
134
+ No programming is needed to start using J1. The Template
135
+ provides a large number of building blocks to create
136
+ modern web pages in minutes.
137
+ </p>
132
138
 
133
139
  buttons:
134
140
  - name: Read More
@@ -155,7 +161,7 @@ settings:
155
161
  id: home_service_panel
156
162
  comment: Home Service Panel
157
163
  type: service
158
- animate:
164
+ animate: fadeInUp
159
165
  icon_family: MDI
160
166
 
161
167
  style: flat
@@ -306,19 +312,21 @@ settings:
306
312
  id: home_news_panel
307
313
  comment: Home News Panel
308
314
  type: news
309
- animate:
315
+ animate: fadeInUp
310
316
  properties: mt-5 mr-3 mb-5 ml-3
311
317
 
312
318
  title: Creators Blog
313
319
  tagline: latest news
314
320
  description_properties: mr-3 mb-4
315
321
  description: >
316
- Explore the blog and find interesting articles around Jekyll and
317
- website creation processes in general. And this blog is an excellent
318
- example of how J1 and Jekyll can be used for blogging.
319
- <br/><br/>
320
- Have fun!
321
-
322
+ <p class="dropcap">
323
+ Explore the blog and find interesting articles around Jekyll and
324
+ website creation processes in general. And this blog is an excellent
325
+ example of how J1 and Jekyll can be used for blogging.
326
+ </p>
327
+ <p>
328
+ Have fun!
329
+ </p>
322
330
  cards:
323
331
 
324
332
  - name: Recent Posts
@@ -341,6 +341,15 @@ tag::urls[]
341
341
  end::urls[]
342
342
 
343
343
 
344
+ // FOOTNOTES, global asciidoc attributes (variables)
345
+ // -----------------------------------------------------------------------------
346
+ tag::footnotes[]
347
+
348
+ :fn-wikipedia--open_data: footnote:[link:https://de.wikipedia.org/wiki/Open_Data[Wikipedia · OpenOata, window="_blank"]]
349
+
350
+ end::footnotes[]
351
+
352
+
344
353
  // TAGS, global asciidoc attributes (variables)
345
354
  // -----------------------------------------------------------------------------
346
355
  tag::tags[]
@@ -414,7 +423,7 @@ end::tables[]
414
423
  // -----------------------------------------------------------------------------
415
424
  tag::products[]
416
425
  :j1--license: MIT License
417
- :j1--version: 2021.1.21
426
+ :j1--version: 2021.1.22
418
427
  :j1--site-name: Jekyll One
419
428
  end::products[]
420
429
 
@@ -364,6 +364,6 @@ end
364
364
 
365
365
  module Jekyll
366
366
  module J1LunrSearch
367
- VERSION = '2021.1.21'
367
+ VERSION = '2021.1.22'
368
368
  end
369
369
  end
@@ -34,6 +34,7 @@ resource_options:
34
34
 
35
35
  // Place an excerpt at the most top position
36
36
  // -----------------------------------------------------------------------------
37
+ [role="dropcap"]
37
38
  All you’re doing at the end of the day is writing your content, and the J1
38
39
  Template does all the tricky things: putting out HTML, Javascript, and CSS.
39
40
  As a result, the site creation process gets out of your way.
@@ -42,6 +42,7 @@ resource_options:
42
42
 
43
43
  // Place an excerpt at the most top position
44
44
  // -----------------------------------------------------------------------------
45
+ [role="dropcap"]
45
46
  Is it needed for visitors to know what cookies are about? No doubts, you're
46
47
  requested to inform - in Europe for legal reasons. All users visiting websites
47
48
  are bothered all the time to accept cookies. For good reasons?
@@ -38,6 +38,7 @@ resource_options:
38
38
 
39
39
  // Place an excerpt at the most top position
40
40
  // -----------------------------------------------------------------------------
41
+ [role="dropcap"]
41
42
  This article highlights top OpenSource projects providing static site
42
43
  generators in many different programming languages. And Jekyll is only
43
44
  one of them. Have a look if a full-blown CMS is (really) needed for your
@@ -39,6 +39,7 @@ resource_options:
39
39
 
40
40
  // Place an excerpt at the most top position
41
41
  // -----------------------------------------------------------------------------
42
+ [role="dropcap"]
42
43
  The template system was initially developed to create a simple but fully
43
44
  configurable website creation toolset for document servers. Document servers
44
45
  provide websites or other content formats like PDF, projects, software
@@ -2,13 +2,18 @@
2
2
  // Asciidoc attribute includes: attributes.asciidoc
3
3
  // -----------------------------------------------------------------------------
4
4
 
5
-
6
5
  // URLS, local references to internal|external web links (macro link:)
7
6
  // -----------------------------------------------------------------------------
8
7
  tag::urls[]
9
8
  end::urls[]
10
9
 
11
10
 
11
+ // FOOTNOTES, global asciidoc attributes (variables)
12
+ // -----------------------------------------------------------------------------
13
+ tag::footnotes[]
14
+ end::footnotes[]
15
+
16
+
12
17
  // TAGS, local asciidoc attributes (general variables)
13
18
  // -----------------------------------------------------------------------------
14
19
  tag::tags[]
@@ -24,6 +29,7 @@ tag::data[]
24
29
 
25
30
  end::data[]
26
31
 
32
+
27
33
  // DOCUMENTS, local document resources (macro include::)
28
34
  // -----------------------------------------------------------------------------
29
35
  tag::documents[]
@@ -33,7 +33,7 @@ resource_options:
33
33
 
34
34
  // Place an excerpt at the most top position
35
35
  // -----------------------------------------------------------------------------
36
-
36
+ [role="dropcap"]
37
37
  This post is a *test series element*. Post series can help to split larger
38
38
  posts into a group of smaller articles. This may helpful, if a large post
39
39
  should be split into several *main chapters* but grouped together.
@@ -33,7 +33,7 @@ resource_options:
33
33
 
34
34
  // Place an excerpt at the most top position
35
35
  // -----------------------------------------------------------------------------
36
-
36
+ [role="dropcap"]
37
37
  This post is a *test series element*. Post series can help to split larger
38
38
  posts into a group of smaller articles. This may helpful, if a large post
39
39
  should be split into several *main chapters* but grouped together.
@@ -33,7 +33,7 @@ resource_options:
33
33
 
34
34
  // Place an excerpt at the most top position
35
35
  // -----------------------------------------------------------------------------
36
-
36
+ [role="dropcap"]
37
37
  This post is a *test series element*. Post series can help to split larger
38
38
  posts into a group of smaller articles. This may helpful, if a large post
39
39
  should be split into several *main chapters* but grouped together.
@@ -33,7 +33,7 @@ resource_options:
33
33
 
34
34
  // Place an excerpt at the most top position
35
35
  // -----------------------------------------------------------------------------
36
-
36
+ [role="dropcap"]
37
37
  This post is a *test series element*. Post series can help to split larger
38
38
  posts into a group of smaller articles. This may helpful, if a large post
39
39
  should be split into several *main chapters* but grouped together.
@@ -33,6 +33,7 @@ resource_options:
33
33
 
34
34
  // Place an excerpt at the most top position
35
35
  // -----------------------------------------------------------------------------
36
+ [role="dropcap"]
36
37
  Minneapolis is the largest city in the state of Minnesota in the United States,
37
38
  and the county seat of Hennepin County. According to the United States Census
38
39
  Bureau, the city has a total area of 151.3 km² (58.4 mi²). 142.2 km² (54.9 mi²)
@@ -32,7 +32,8 @@ resource_options:
32
32
 
33
33
  // Place an excerpt at the most top position
34
34
  // -----------------------------------------------------------------------------
35
- The Narcisse Snake Pits are located in the Rural Municipality of Armstrong
35
+ [role="dropcap"]
36
+ Narcisse Snake Pits are located in the Rural Municipality of Armstrong
36
37
  about 6 kilometres (3.7 mi) north of Narcisse, Manitoba, Canada. The dens
37
38
  are the winter home of tens of thousands of red-sided garter snakes
38
39
  (Thamnophis sirtalis parietalis).
@@ -32,7 +32,8 @@ resource_options:
32
32
 
33
33
  // Place an excerpt at the most top position
34
34
  // -----------------------------------------------------------------------------
35
- The *Columbia River* is the largest river in the Pacific Northwest region of
35
+ [role="dropcap"]
36
+ *Columbia River* is the largest river in the Pacific Northwest region of
36
37
  North America. It flows northwest and then south into the US state of Washington,
37
38
  then turns west to form most of the border between Washington and the state of
38
39
  Oregon before emptying into the Pacific Ocean.
@@ -8,6 +8,12 @@ tag::urls[]
8
8
  end::urls[]
9
9
 
10
10
 
11
+ // FOOTNOTES, global asciidoc attributes (variables)
12
+ // -----------------------------------------------------------------------------
13
+ tag::footnotes[]
14
+ end::footnotes[]
15
+
16
+
11
17
  // TAGS, local asciidoc attributes (general variables)
12
18
  // -----------------------------------------------------------------------------
13
19
  tag::tags[]
@@ -19,6 +25,7 @@ end::tags[]
19
25
  tag::data[]
20
26
  end::data[]
21
27
 
28
+
22
29
  // DOCUMENTS, local document resources (macro include::)
23
30
  // -----------------------------------------------------------------------------
24
31
  tag::documents[]
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "private": true,
3
3
  "name": "j1_starter",
4
- "version": "2021.1.21",
4
+ "version": "2021.1.22",
5
5
  "description": "J1 Template Starter Web",
6
6
  "homepage": "https://your.site",
7
7
  "author": {
@@ -25,13 +25,19 @@ tag::urls[]
25
25
  :url-roundtrip--mdi-icons: /pages/public/learn/roundtrip/mdi_icon_font/#material-design-icons
26
26
  :url-roundtrip--fontawesome-icons: /pages/public/learn/roundtrip/mdi_icon_font/#fontawesome-icons
27
27
  :url-roundtrip--iconify-icons: /pages/public/learn/roundtrip/mdi_icon_font/#iconify-icons
28
- :url-roundtrip--asciidoc-extensions: /pages/public/learn/roundtrip/asciidoc_extensions/
28
+ :url-roundtrip--asciidoc-extensions: /pages/public/learn/roundtrip/asciidoc_extensions/
29
29
 
30
30
  :url-asciidoctor--asciidoc-writers-guide: https://asciidoctor.org/docs/asciidoc-writers-guide/
31
31
  :url-asciidoctor--asciidoc-manual: https://docs.asciidoctor.org/asciidoc/latest/
32
32
  end::urls[]
33
33
 
34
34
 
35
+ // FOOTNOTES, global asciidoc attributes (variables)
36
+ // -----------------------------------------------------------------------------
37
+ tag::footnotes[]
38
+ end::footnotes[]
39
+
40
+
35
41
  // Tags - Asciidoc attributes used internally
36
42
  // -----------------------------------------------------------------------------
37
43
  tag::tags[]
@@ -23,10 +23,16 @@ tag::urls[]
23
23
  :url-roundtrip--mdi-icons: /pages/public/learn/roundtrip/mdi_icon_font/#material-design-icons
24
24
  :url-roundtrip--fontawesome-icons: /pages/public/learn/roundtrip/mdi_icon_font/#fontawesome-icons
25
25
  :url-roundtrip--iconify-icons: /pages/public/learn/roundtrip/mdi_icon_font/#iconify-icons
26
- :url-roundtrip--asciidoc-extensions: /pages/public/learn/roundtrip/asciidoc_extensions/
26
+ :url-roundtrip--asciidoc-extensions: /pages/public/learn/roundtrip/asciidoc_extensions/
27
27
  end::urls[]
28
28
 
29
29
 
30
+ // FOOTNOTES, global asciidoc attributes (variables)
31
+ // -----------------------------------------------------------------------------
32
+ tag::footnotes[]
33
+ end::footnotes[]
34
+
35
+
30
36
  // Tags - Asciidoc attributes used internally
31
37
  // -----------------------------------------------------------------------------
32
38
  tag::tags[]
@@ -122,7 +122,6 @@ site_category_word_list: {{site_category_word_list | debug}}
122
122
  --------------------------------------------------------------------------------
123
123
  {% endcomment %}
124
124
 
125
-
126
125
  {% comment %} Main
127
126
  -------------------------------------------------------------------------------- {% endcomment %}
128
127
  <!-- [INFO ] [ {{page.url}} ] [Generate HTML}] -->
@@ -56,7 +56,7 @@ resource_options:
56
56
 
57
57
  // Include sub-documents
58
58
  // -----------------------------------------------------------------------------
59
-
59
+ [role="dropcap"]
60
60
  Welcome to the first preview page focussing on the image module. This page
61
61
  shows some valuable features of the J1 Template to manage your image-based
62
62
  content using lightboxes, carousels (slider), and galleries.