\define toc-caption()
<$set name="tv-wikilinks" value="no">
  <$transclude field="caption">
    <$view field="title"/>
  </$transclude>
</$set>
\end

\define toc-body(tag,sort:"",itemClassFilter,exclude,path)
<ol class="tc-toc">
  <$list filter="""[all[shadows+tiddlers]tag<__tag__>!has[draft.of]$sort$] -[<__tag__>] -[enlist<__exclude__>]""">
    <$vars item=<<currentTiddler>> path={{{ [<__path__>addsuffix[/]addsuffix<__tag__>] }}}>
      <$set name="excluded" filter="""[enlist<__exclude__>] [<__tag__>]""">
        <$set name="toc-item-class" filter=<<__itemClassFilter__>> emptyValue="toc-item-selected" value="toc-item">
          <li class=<<toc-item-class>>>
            <$list filter="[all[current]toc-link[no]]" emptyMessage="<$link><$view field='caption'><$view field='title'/></$view></$link>">
              <<toc-caption>>
            </$list>
            <$macrocall $name="toc-body" tag=<<item>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<excluded>> path=<<path>>/>
          </li>
        </$set>
      </$set>
    </$vars>
  </$list>
</ol>
\end

\define toc(tag,sort:"",itemClassFilter:"")
<$macrocall $name="toc-body"  tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> />
\end

\define toc-linked-selective-expandable-body(tag,sort:"",itemClassFilter,exclude,path)
<$qualify name="toc-state" title={{{ [[$:/state/toc]addsuffix<__path__>addsuffix[-]addsuffix<currentTiddler>] }}}>
  <$set name="toc-item-class" filter=<<__itemClassFilter__>> emptyValue="toc-item-selected" value="toc-item" >
    <li class=<<toc-item-class>>>
      <$link>
          <$list filter="[all[current]tagging[]limit[1]]" variable="ignore" emptyMessage="<$button class='tc-btn-invisible'>{{$:/core/images/blank}}</$button>">
          <$reveal type="nomatch" stateTitle=<<toc-state>> text="open">
            <$button setTitle=<<toc-state>> setTo="open" class="tc-btn-invisible tc-popup-keep">
              {{$:/core/images/right-arrow}}
            </$button>
          </$reveal>
          <$reveal type="match" stateTitle=<<toc-state>> text="open">
            <$button setTitle=<<toc-state>> setTo="close" class="tc-btn-invisible tc-popup-keep">
              {{$:/core/images/down-arrow}}
            </$button>
          </$reveal>
        </$list>
        <<toc-caption>>
      </$link>
      <$transclude tiddler='$:/config/index/newSubitem'/>
      <$reveal type="match" stateTitle=<<toc-state>> text="open">
        <$macrocall $name="toc-selective-expandable" tag=<<currentTiddler>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<__exclude__>> path=<<__path__>>/>
      </$reveal>
    </li>
  </$set>
</$qualify>
\end

\define toc-unlinked-selective-expandable-body(tag,sort:"",itemClassFilter,exclude,path)
<$qualify name="toc-state" title={{{ [[$:/state/toc]addsuffix<__path__>addsuffix[-]addsuffix<currentTiddler>] }}}>
  <$set name="toc-item-class" filter=<<__itemClassFilter__>> emptyValue="toc-item-selected" value="toc-item">
    <li class=<<toc-item-class>>>
      <$list filter="[all[current]tagging[]limit[1]]" variable="ignore" emptyMessage="<$button class='tc-btn-invisible'>{{$:/core/images/blank}}</$button> <$view field='caption'><$view field='title'/></$view>">
        <$reveal type="nomatch" stateTitle=<<toc-state>> text="open">
          <$button setTitle=<<toc-state>> setTo="open" class="tc-btn-invisible tc-popup-keep">
            {{$:/core/images/right-arrow}}
            <<toc-caption>>
          </$button>
        </$reveal>
        <$reveal type="match" stateTitle=<<toc-state>> text="open">
          <$button setTitle=<<toc-state>> setTo="close" class="tc-btn-invisible tc-popup-keep">
            {{$:/core/images/down-arrow}}
            <<toc-caption>>
          </$button>
        </$reveal>
      </$list>
      <$reveal type="match" stateTitle=<<toc-state>> text="open">
        <$macrocall $name="toc-selective-expandable" tag=<<currentTiddler>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<__exclude__>> path=<<__path__>>/>
      </$reveal>
    </li>
  </$set>
</$qualify>
\end

\define toc-selective-expandable-empty-message()
<$macrocall $name="toc-linked-selective-expandable-body" tag=<<tag>> sort=<<sort>> itemClassFilter=<<itemClassFilter>> exclude=<<excluded>> path=<<path>>/>
\end

\define toc-selective-expandable(tag,sort:"",itemClassFilter,exclude,path)
<$vars tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> path={{{ [<__path__>addsuffix[/]addsuffix<__tag__>] }}}>
  <$set name="excluded" filter="""[enlist<__exclude__>] [<__tag__>]""">
    <ol class="tc-toc toc-selective-expandable">
      <$list filter="""[all[shadows+tiddlers]tag<__tag__>!has[draft.of]$sort$] -[<__tag__>] -[enlist<__exclude__>]""">
        <$list filter="[all[current]toc-link[no]]" variable="ignore" emptyMessage=<<toc-selective-expandable-empty-message>> >
          <$macrocall $name="toc-unlinked-selective-expandable-body" tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<excluded>> path=<<path>>/>
        </$list>
      </$list>
    </ol>
  </$set>
</$vars>
\end
<$button message="tm-close-tiddler" tooltip={{$:/language/Buttons/Close/Hint}} aria-label={{$:/language/Buttons/Close/Caption}}>
<$action-setfield $tiddler="$:/temp/category" text="Vælg en opskrift"/>
{{$:/core/images/close-button}}
<span class="tc-btn-text"><$text text={{$:/language/Buttons/Close/Caption}}/></span>
</$button>
\define thisTempTiddler(stateNumber)
$:/temp/$(someName)$$stateNumber$
\end

<$reveal type="nomatch" state="$:/IngredientsRevealState" text="show">

<$button tooltip="Opret ny ingrediens" class="tc-btn-visible" set="$:/IngredientsRevealState" setTo="show">Ny ingrediens</$button>

</$reveal>
<$reveal type="match" state="$:/IngredientsRevealState" text="show">

<$button set="$:/IngredientsRevealState" setTo="hide">Skjul opret ingrediens</$button>

<$set name=someName value=<<qualify>>>
<$tiddler tiddler=<<thisTempTiddler>>>
Ingrediens navn:<br><$edit-text tiddler=<<thisTempTiddler>> field='name' class='tc-edit-texteditor' placeholder='Navnet på din ingrediens'/><br>
<$edit-text tiddler=<<thisTempTiddler>> field='text' class='tc-edit-texteditor' placeholder='ingrediens tekst'/><br>
<$button>Opret ingrediens
<$action-setfield $tiddler={{!!name}} $field='text' $value={{!!text}} tags='Ingredienser'/>
<$action-setfield $tiddler=<<thisTempTiddler>> $field='text' $value=''/>
<$action-setfield $tiddler=<<thisTempTiddler>> $field='name' $value=''/>
</$button>
<$button>Tøm
<$action-setfield $tiddler=<<thisTempTiddler>> $field='text' $value=''/>
<$action-setfield $tiddler=<<thisTempTiddler>> $field='name' $value=''/>
</$button>
</$tiddler>
</$set>
</$reveal>

''Vælg en ingrediens, du gerne vil læse mere om:''<br>
<$select tiddler='$:/temp/selected/ingredient'>
<option>Vælg en ingrediens</option>
<$list filter='[tag[Ingredienser]]'>
<option><$view field='title'/></option>
</$list>
</$select>
<$tiddler tiddler={{$:/temp/selected/ingredient}}>
<style>.fullWidth { width:100%; } </style>

<$reveal type="nomatch" state="!!ingredient-edit" text="show">
<small><$button set="!!ingredient-edit" setTo="show">{{$:/core/images/preview-open}} Se</$button>
<$button message="tm-save-wiki" param={{$:/config/SaveWikiButton/Template}} tooltip="Gem wiki" >
<span class="tc-dirty-indicator">
{{$:/core/images/save-button}} Gem wiki
</span>
</$button></small>

<$edit text $tiddler={{$:/temp/selected/ingredient}} tag="text area" class="fullWidth" placeholder=""/>

</$reveal>
<$reveal type="match" state="!!ingredient-edit" text="show">
<small><$button tooltip="Redigér" set="!!ingredient-edit" setTo="hide">{{$:/core/images/edit-button}} Redigér</$button>
<$button message="tm-close-tiddler" tooltip="Luk" >
<$action-setfield $tiddler="$:/temp/selected/ingredient" text="Vælg en ingrediens"/>
{{$:/core/images/close-button}} Luk
</$button></small>

<$transclude mode='block'/>
</$reveal>
</$tiddler>
\define thisTempTiddler(stateNumber)
$:/temp/$(someName)$$stateNumber$
\end

<$set name=someName value=<<qualify>>>
<$tiddler tiddler=<<thisTempTiddler>>>

<div class="cookcount"><$count filter="[tag[opskrift]!is[shadow]!is[system]]"/> opskrifter i <$count filter="[[kategori]tagging[]]"/> kategorier
</div>

|cooktable|k
|''Navn:'' |<$edit-text tiddler=<<thisTempTiddler>> field='name' class='tc-edit-texteditor' size="30" placeholder='Navnet på din opskrift'/> |<$button>Gem<$action-setfield $tiddler={{!!name}} $field='text' $value={{!!text}} icon="$:/_image/menu.svg" tags='opskrift'/><$action-sendmessage $message="tm-save tiddler" $tiddler={{!!name}}/><$action-setfield $tiddler="$:/temp/category" text={{!!name}}/><$action-setfield $tiddler=<<thisTempTiddler>> $field='name' $value=''/></$button> |

''Vælg opskrift efter kategori:''<br>
<$select tiddler="$:/temp/category" class="fitting">
<option>Vælg en opskrift</option>
   <$list filter="[tag[kategori]tags[]tagging[]]-[[opskrift]]" variable="mytag">
<optgroup label=<<mytag>>>
<$list filter="[tag<mytag>]">
      <option><$view field='title'/></option>
 </$list>  
</optgroup>
</$list>

</$select>
<$tiddler tiddler={{$:/temp/category}}>
<$set name="path" value={{$:/temp/category}}>
{{!!title||$:/_bc/viewtemplate/recipe}}
</$set>
</$tiddler>

Ser du ingredienser, du ikke har? Føj dem til din [[Opret indkøbs liste|IndkøbslisteOpretter]]

<style>
.fitting {
width:425px;
}
</style>
<$button message="tm-save-wiki" param={{$:/config/SaveWikiButton/Template}} tooltip={{$:/language/Buttons/SaveWiki/Hint}} aria-label={{$:/language/Buttons/SaveWiki/Caption}}>
<span class="tc-dirty-indicator">
{{$:/core/images/save-button}} {{$:/language/Buttons/SaveWiki/Caption}}
</span>
</$button>
/* STYLES FOR A TOP MENU */

/* TOP SIDEBAR */
/* VERTICAL OFFSET FOR TOP OF SIDEBAR */
html .tc-sidebar-scrollable {
    top: 0px;
}

/* TOP STORY-RIVER */
/* VERTICAL OFFSET FOR TOP OF TIDDLERS */
/* TO AVOID THE TOP MENU OBSCURES PART OF TIDDLERS */
html .story-river {
     padding-top: 0px;
     transform: translate(0px, 39px);  /* Firefox */
     -ms-transform: translate(0px, 39px);  /* IE 9 */
     -webkit-transform: translate(0px, 39px);  /* Safari and Chrome */
}

/* SIZE OF TOGGLE LEFT MENU BUTTON */
.tc-image-right-arrow-button,.tc-image-left-arrow-button {
     height: 1.5em;
}

/* TOP MENU ENTRIES */
html .tc-topmenu .tc-tag-label {
     border-radius: 3px;
     -moz-border-radius: 3px;
     -webkit-border-radius: 3px;
}

.tc-topmenu button {
     padding: 1px 5px 3px 5px;
}
.tyktitel {color: #ff2255;font-weight:bold;margin-left: 12px;
}

/* TO ALIGN/SPACE MENU 'BUTTONS' */
.tc-topbar button {
     margin-left: 10px;
}

.tabsstyle .tc-tab-buttons button.tc-tab-selected { 
      background-color: #CCE6FF; 
      color: #309; 
      font-weight: bold; 
      border-left: 1px solid #C6D7E8; 
      border-right: 1px solid #C6D7E8; 
      border-top: 1px solid #C6D7E8; 
      border-radius: 0.3em; 
}

.tabsstyle .tc-tab-buttons button:not(.tc-tab-selected) { 
      background-color: #F9FBFE; 
      color: #04B; 
      border-left: 1px solid #CCE6FF; 
      border-right: 1px solid #CCE6FF; 
      border-top: 1px solid #CCE6FF; 
      border-radius: 0.3em; 
}

.cooktable  th, .cooktable td {border: 1px solid {{!!tab-border-color}};}

.cooktable th {background-color:{{!!tabs-background-color}};color:Black;font-weight:bold;text-align:left;}

.cooktable td {background-color:{{!!tabs-background-color}};}

.cookcount {
     font-weight:bold;
     background:{{!!tabs-background-color}};
     color:white;
     width:425px;
}

/*KOLONNER*/
.twocolumns { 
    display:block; 
    -moz-column-count:2; 
    -moz-column-gap:1em; 
    -webkit-column-count: 2;
    -webkit-column-gap:1em; 
}

.threecolumns { 
   display:block; 
   -moz-column-count:3; 
   -moz-column-gap:1em; 
   -webkit-column-count: 3;
   -webkit-column-gap:1em; 
}

.fourcolumns { 
   display:block; 
   -moz-column-count:4; 
   -moz-column-gap:1em; 
   -webkit-column-count: 4;
   -webkit-column-gap:1em; 
}

.fivecolumns { 
   display:block; 
   -moz-column-count:5; 
   -moz-column-gap:1em; 
   -webkit-column-count: 5;
   -webkit-column-gap:1em; 
}

.tc-scrollable-mad { border: 1px solid #cfd6e6; background-color: #ecf2ff; padding: 1em; width: px; height: 605px; }
.cell{
/* compensating the cell padding */
margin:-1px -7px;
padding:1px 7px;
}

.late{
background-color:{{!!tabs-background-color}};
color:White;
font-weight:bold;
}

.new{
background-color:white;
color:Black;
}
<$list filter="[all[current]tag[kategori]]">

<$view field="title"/>
<$scrollable class='tc-scrollable-mad'>

Start dagen på den sunde måde, husk morgenmaden!

<$list filter="[tag<currentTab>]+[sort[title]]"><$link to={{!!title}}><$view field="title"/></$link><br>
</$list>
</$scrollable>
</$list>
<small>
<$list filter="[is[current]tag[opskrift]]">

<$view field="title"/>
@@float:right;margin-left:20px;<$transclude tiddler="$:/plugins/bc/like/buttons/ToggleLikes"/> &nbsp; <$transclude tiddler="$:/plugins/bc/like/buttons/ToggleDislikes"/>
&nbsp; {{$:/_bc/buttons/close-opskrift}}@@<br>
<$image width=280 source={{!!image}} tooltip=""/><br>
<$button popup="$:/TagPopupState">Vælg kategori</$button>
<$reveal type="popup" state="$:/TagPopupState">
<div class="fourcolumns block-dropdown tc-popup-keep">
<$list filter="[tag[kategori]]+[sort[created]]" variable="listItem"><dt>
<$checkbox tag=<<listItem>>> <$link to=<<listItem>>> <$view tiddler=<<listItem>> field="title"/></$link></$checkbox></dt>
</$list>
<$edit-text tiddler="$:/state/new-button-title" tag="input" default="" size="6" focus="true"/>
<$button class="tc-btn-mini">
<$action-createtiddler $basetitle={{$:/state/new-button-title}} text="" tags="kategori"/>
<$action-deletetiddler $tiddler="$:/state/new-button-title"/>
Save
</$button>1
<$button set="!!tags" setTo="opskrift">Tøm alle</$button>
</div>
</$reveal>

<style>
.block-dropdown-wrapper { position: relative; }

.block-dropdown { position: absolute; width: 525px; border: 1px solid #bbb; background-color: #ffffff; word-break: break;white-space:normal;padding: 7px 4px; margin: 4px 0 0 0;  z-index: 1000; }

.block-dropdown a { display: inline; padding: 4px 4px 4px 4px
</style>

<$image source={{!!billede}} tooltip={{!!title}}/>

|!Arbejdstid: |!Koge/bagetid: |!Portioner: |!Let/svær: |!Fryse-egnet: |
|<$edit-text field="tid" class="tc-edit-texteditor" size="12"/>|<$edit-text field="time" class="tc-edit-texteditor" size="12"/>|<$edit-text field="portioner" class="tc-edit-texteditor" size="22"/>|<$edit-text  field="vanskelighed" class="tc-edit-texteditor" size="12"/>|<$edit-text  field="fryse-egnet" class="tc-edit-texteditor" size="12"/>|

|!Billede: |<$edit-text field="billede" class="tc-edit-texteditor" size="70"/>|
|!Redskaber: |<$edit-text  field="redskaber" tag="textarea" class="tc-edit-texteditor" />|
|!Ingredienser: |<$edit-text  field="ingredienser" tag="textarea" class="tc-edit-texteditor" />|
|!Metode: |<$edit-text  field="metode" tag="textarea" class="tc-edit-texteditor" />|
|!Variation: |<$edit-text  field="variation" tag="textarea" class="tc-edit-texteditor" />|
|!Tips: |<$edit-text  field="tips" tag="textarea" class="tc-edit-texteditor" />|

@@float:right;margin-left:20px;<$transclude tiddler="$:/_bc/buttons/close-opskrift"/> {{$:/_bc/buttons/save-opskrift_wiki}}@@
</$list>
</small>
<svg class="tc-image-button" height="28px" width="28px" viewBox="0 0 512 512">
<path d="M175.206,484.601l293.993-293.985c1.792-1.799,3.337-3.742,4.672-5.786c3.72-4.785,6.058-10.729,6.073-17.27
	L479.91,63.493c0.019-15.609-12.607-28.233-28.216-28.224l-104.05-0.009c-6.568,0-12.503,2.317-17.295,6.057
	c-2.036,1.345-3.986,2.89-5.778,4.681L30.596,339.991c-14.047,14.048-14.063,36.802,0,50.848l93.763,93.762
	C138.385,498.63,161.156,498.648,175.206,484.601z M373.438,100.444c11.395-11.412,29.898-11.412,41.312,0
	c11.413,11.414,11.413,29.912,0,41.325c-11.413,11.403-29.917,11.403-41.312,0C362.026,130.355,362.026,111.857,373.438,100.444z"/>
</svg>
\define .fav(_) <div class="doc-icon-block"><div class="doc-block-fav">[img width=22 class="tc-image"[$:/favicon.ico]]</div> $_$</div>

''To use:'' `<<.fav "foo bar">>`

<<.fav "foo bar">>
\define save-as-bookmarklet-href()
(function() {
$tw.wiki.addTiddlers($(json-tiddlers)$);
})()
\end

\define save-as-bookmarklet(title,filter)
<$wikify name="json-tiddlers" output="text" text="""<$text text=<<jsontiddlers filter:"$filter$">>/>""">
<a href={{{ [<save-as-bookmarklet-href>encodeuricomponent[]addprefix[javascript:]] }}}><$text text=<<__title__>>/></a>
</$wikify>
\end
\define toc-caption()
<$list filter="[all[current]tag[Red]]" variable="dum">@@color:red;<$view field="caption"><$view field="title"/></$view>@@</$list>
<$list filter="[all[current]tag[Green]]" variable="dum">@@color:green;<$view field="caption"><$view field="title"/></$view>@@</$list>
<$list filter="[all[current]tag[Yellow]]" variable="dum">@@color:#f8b00d;<$view field="caption"><$view field="title"/></$view>@@</$list>
<$list filter="[all[current]!tag[Red]!tag[Yellow]!tag[Green]]" variable="dum"><$view field="caption"><$view field="title"/></$view></$list>
\end
\define exportlist(tag) 
<$button>Opret liste for ''$tag$''
<$action-listops $tiddler="exports" $filter="[[]]"/>
<<toc2 "$tag$">>
</$button>
\end
\define toc-body2(tag,sort:"",itemClassFilter,exclude,path)
  <$list filter="""[all[shadows+tiddlers]tag[$tag$]!has[draft.of]$sort$] -[[$tag$]] $exclude$""">
    <$vars item=<<currentTiddler>> path="""$path$/$tag$""" excluded="""$exclude$ -[[$tag$]]""">
      <$set name="toc-item-class" filter="""$itemClassFilter$""" emptyValue="toc-item" value="toc-item-selected">
          <$list filter="[all[current]toc-link[no]]" emptyMessage="<$action-listops $tiddler='exports'  $subfilter='[{!!title}]'/>">
             <$view field="title"/><br/>
          </$list>
          <$macrocall $name="toc-body2" tag=<<item>> sort="""$sort$""" itemClassFilter="""$itemClassFilter$""" exclude=<<excluded>> path=<<path>>/>
        
      </$set>
    </$vars>
  </$list>
\end

\define toc2(tag,sort:"",itemClassFilter:" ")
<<toc-body2 tag:"""$tag$""" sort:"""$sort$""" itemClassFilter:"""$itemClassFilter$""">>
\end
.doc-icon-block {
     border-left: 2px solid #e1e1e8;
     margin-left: 3em;
     padding-left: 0.6em;
     position: relative;
}

.doc-block-icon {
     position: absolute;
     left: -3em;
     top: -0.2em;
}

.doc-block-fav {
     position: absolute;
     left: -3em;
     top: 0.2em;   
}
/*IMGGAL*/

@media (min-width: 600px) {

    .imggal {
        -moz-column-count: 3;
        -moz-column-gap: 10px;
        -webkit-column-count: 3;
        -webkit-column-gap: 10px;
        column-count: 3;
        column-gap:10px;
    }

    .imggal-item {
        width: 95%;
}

}

.imggal-item {
    display: inline-block;
    border: 1px solid black;
    box-shadow: 5px 5px 5px grey, 0 0 5px black;
    border-radius: 5px;
    padding: 10px 10px;
    padding-bottom:10px;
    margin-bottom: 20px;
    background: lightgrey;
    font-size: 0em;
    line-height: 0;
}

.imggal-item h1 {
    font-weight: 500;
    font-size: 16px;    
}

.tc-scrollable-galleri {
	padding: 1em;
	height: 400px;
	position: relative;
}
\define tagging(tiddler,state,template:"$:/core/ui/ListItemTemplate")
<$reveal type="match" default="" text="$tiddler$">
<$list filter="[all[current]tagging[]sort[title]]" template="$template$"/>
</$reveal>
<$reveal type="nomatch" default="" text="$tiddler$">
<$reveal type="match" default="" text="$state$">
<$list filter="[[$tiddler$]tagging[]sort[title]]" template="$template$"/>
</$reveal>
<$reveal type="nomatch" default="" text="$state$">
<<list-search
"[[$tiddler$]tagging[]sort[title]]"
search
"$state$"
"$template$">>
</$reveal>
</$reveal>
\end
<div style="height:350px; overflow:auto;">
<$macrocall $name="timeline" format={{$:/language/RecentChanges/DateFormat}}/>

</div>
<span title="Skift/sæt tags i syns måde">
<$fieldmangler tiddler="$:/core/ui/EditTemplate/tags">
<$list filter="[[$:/core/ui/EditTemplate/tags]tag[$:/tags/ViewTemplate]]">
<$button message="tm-remove-tag" title="Ingen tagging i syns måde" param="$:/tags/ViewTemplate" class=<<tv-config-toolbar-class>>>
<$list filter="[<tv-config-toolbar-icons>prefix[yes]]">
<span class="tv-tags-dirty-indicator">
{{$:/_images/tagging-button}}
</span>
</$list>
<$list filter="[<tv-config-toolbar-text>prefix[yes]]">
<span class="tv-tags-dirty-indicator">
<$text text="tagging"/>
</span>
</$list>
</$button>
</$list>

<$list filter="[[$:/core/ui/EditTemplate/tags]!tag[$:/tags/ViewTemplate]]">
<$button message="tm-add-tag" title="Tagging i syns måde" param="$:/tags/ViewTemplate" class=<<tv-config-toolbar-class>>>
<$list filter="[<tv-config-toolbar-icons>prefix[yes]]">
{{$:/_images/tagging-button}}
</$list>
<$list filter="[<tv-config-toolbar-text>prefix[yes]]">
<$text text="tagging"/>
</$list>
</$button>
</$list>
</$fieldmangler>
</span>
\define linkify(title)
<$link to=$title$><$view tiddler=$title$ field="title" format="text">$title$</$view></$link> 
\end

\define linkifytitle(title)
<$link to=$title$><$view tiddler=$title$ field="title" format="text">$title$</$view></$link> 
\end
<$list filter="[is[current]tag[$:/tags/Macro]]">

* ''Formål:'' {{!!purpose}}
* ''Ophav:''  {{!!author}}
* ''Brug:''     {{!!usage}}
<hr>

<div style="background-color:#EEE; font-size:.9em;">&nbsp;''ViewTemplate:'' [[$:/_ViewTemplate/Site/macro-docs]]</div>
Built from branch 'tiddlywiki-com' at commit f49c55fe3c6c250fb46372b43d6b8f73fa532790 of https://github.com/Jermolene/TiddlyWiki5.git at 2019-08-09 14:49:54 UTC
no
hide
hide
hide
yes
{{$:/SiteTitle}}.html
hide
disable
{
    "tiddlers": {
        "$:/Acknowledgements": {
            "title": "$:/Acknowledgements",
            "text": "TiddlyWiki incorporates code from these fine OpenSource projects:\n\n* [[The Stanford Javascript Crypto Library|http://bitwiseshiftleft.github.io/sjcl/]]\n* [[The Jasmine JavaScript Test Framework|http://pivotal.github.io/jasmine/]]\n* [[Normalize.css by Nicolas Gallagher|http://necolas.github.io/normalize.css/]]\n\nAnd media from these projects:\n\n* World flag icons from [[Wikipedia|http://commons.wikimedia.org/wiki/Category:SVG_flags_by_country]]\n"
        },
        "$:/core/copyright.txt": {
            "title": "$:/core/copyright.txt",
            "type": "text/plain",
            "text": "TiddlyWiki created by Jeremy Ruston, (jeremy [at] jermolene [dot] com)\n\nCopyright (c) 2004-2007, Jeremy Ruston\nCopyright (c) 2007-2018, UnaMesa Association\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n  list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n  this list of conditions and the following disclaimer in the documentation\n  and/or other materials provided with the distribution.\n\n* Neither the name of the copyright holder nor the names of its\n  contributors may be used to endorse or promote products derived from\n  this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
        },
        "$:/core/icon": {
            "title": "$:/core/icon",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\"><path d=\"M64 0l54.56 32v64L64 128 9.44 96V32L64 0zm21.127 95.408c-3.578-.103-5.15-.094-6.974-3.152l-1.42.042c-1.653-.075-.964-.04-2.067-.097-1.844-.07-1.548-1.86-1.873-2.8-.52-3.202.687-6.43.65-9.632-.014-1.14-1.593-5.17-2.157-6.61-1.768.34-3.546.406-5.34.497-4.134-.01-8.24-.527-12.317-1.183-.8 3.35-3.16 8.036-1.21 11.44 2.37 3.52 4.03 4.495 6.61 4.707 2.572.212 3.16 3.18 2.53 4.242-.55.73-1.52.864-2.346 1.04l-1.65.08c-1.296-.046-2.455-.404-3.61-.955-1.93-1.097-3.925-3.383-5.406-5.024.345.658.55 1.938.24 2.53-.878 1.27-4.665 1.26-6.4.47-1.97-.89-6.73-7.162-7.468-11.86 1.96-3.78 4.812-7.07 6.255-11.186-3.146-2.05-4.83-5.384-4.61-9.16l.08-.44c-3.097.59-1.49.37-4.82.628-10.608-.032-19.935-7.37-14.68-18.774.34-.673.664-1.287 1.243-.994.466.237.4 1.18.166 2.227-3.005 13.627 11.67 13.732 20.69 11.21.89-.25 2.67-1.936 3.905-2.495 2.016-.91 4.205-1.282 6.376-1.55 5.4-.63 11.893 2.276 15.19 2.37 3.3.096 7.99-.805 10.87-.615 2.09.098 4.143.483 6.16 1.03 1.306-6.49 1.4-11.27 4.492-12.38 1.814.293 3.213 2.818 4.25 4.167 2.112-.086 4.12.46 6.115 1.066 3.61-.522 6.642-2.593 9.833-4.203-3.234 2.69-3.673 7.075-3.303 11.127.138 2.103-.444 4.386-1.164 6.54-1.348 3.507-3.95 7.204-6.97 7.014-1.14-.036-1.805-.695-2.653-1.4-.164 1.427-.81 2.7-1.434 3.96-1.44 2.797-5.203 4.03-8.687 7.016-3.484 2.985 1.114 13.65 2.23 15.594 1.114 1.94 4.226 2.652 3.02 4.406-.37.58-.936.785-1.54 1.01l-.82.11zm-40.097-8.85l.553.14c.694-.27 2.09.15 2.83.353-1.363-1.31-3.417-3.24-4.897-4.46-.485-1.47-.278-2.96-.174-4.46l.02-.123c-.582 1.205-1.322 2.376-1.72 3.645-.465 1.71 2.07 3.557 3.052 4.615l.336.3z\" fill-rule=\"evenodd\"/></svg>"
        },
        "$:/core/images/add-comment": {
            "title": "$:/core/images/add-comment",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-add-comment tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\"><path d=\"M56 56H36a8 8 0 1 0 0 16h20v20a8 8 0 1 0 16 0V72h20a8 8 0 1 0 0-16H72V36a8 8 0 1 0-16 0v20zm-12.595 58.362c-6.683 7.659-20.297 12.903-36.006 12.903-2.196 0-4.35-.102-6.451-.3 9.652-3.836 17.356-12.24 21.01-22.874C8.516 94.28 0 79.734 0 63.5 0 33.953 28.206 10 63 10s63 23.953 63 53.5S97.794 117 63 117c-6.841 0-13.428-.926-19.595-2.638z\" fill-rule=\"evenodd\"/></svg>"
        },
        "$:/core/images/advanced-search-button": {
            "title": "$:/core/images/advanced-search-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-advanced-search-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M74.5651535,87.9848361 C66.9581537,93.0488876 57.8237115,96 48,96 C21.490332,96 0,74.509668 0,48 C0,21.490332 21.490332,0 48,0 C74.509668,0 96,21.490332 96,48 C96,57.8541369 93.0305793,67.0147285 87.9377231,74.6357895 L122.284919,108.982985 C125.978897,112.676963 125.973757,118.65366 122.284271,122.343146 C118.593975,126.033442 112.613238,126.032921 108.92411,122.343793 L74.5651535,87.9848361 Z M48,80 C65.673112,80 80,65.673112 80,48 C80,30.326888 65.673112,16 48,16 C30.326888,16 16,30.326888 16,48 C16,65.673112 30.326888,80 48,80 Z\"></path>\n        <circle cx=\"48\" cy=\"48\" r=\"8\"></circle>\n        <circle cx=\"28\" cy=\"48\" r=\"8\"></circle>\n        <circle cx=\"68\" cy=\"48\" r=\"8\"></circle>\n    </g>\n</svg>"
        },
        "$:/core/images/auto-height": {
            "title": "$:/core/images/auto-height",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-auto-height tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <path d=\"M67.9867828,114.356363 L67.9579626,99.8785426 C67.9550688,98.4248183 67.1636987,97.087107 65.8909901,96.3845863 L49.9251455,87.5716209 L47.992126,95.0735397 L79.8995411,95.0735397 C84.1215894,95.0735397 85.4638131,89.3810359 81.686497,87.4948823 L49.7971476,71.5713518 L48.0101917,79.1500092 L79.992126,79.1500092 C84.2093753,79.1500092 85.5558421,73.4676733 81.7869993,71.5753162 L49.805065,55.517008 L48.0101916,63.0917009 L79.9921259,63.0917015 C84.2035118,63.0917016 85.5551434,57.4217887 81.7966702,55.5218807 L65.7625147,47.4166161 L67.9579705,50.9864368 L67.9579705,35.6148245 L77.1715737,44.8284272 C78.7336709,46.3905243 81.2663308,46.3905243 82.8284279,44.8284271 C84.390525,43.2663299 84.390525,40.7336699 82.8284278,39.1715728 L66.8284271,23.1715728 C65.2663299,21.6094757 62.73367,21.6094757 61.1715729,23.1715729 L45.1715729,39.1715729 C43.6094757,40.73367 43.6094757,43.26633 45.1715729,44.8284271 C46.73367,46.3905243 49.26633,46.3905243 50.8284271,44.8284271 L59.9579705,35.6988837 L59.9579705,50.9864368 C59.9579705,52.495201 60.806922,53.8755997 62.1534263,54.5562576 L78.1875818,62.6615223 L79.9921261,55.0917015 L48.0101917,55.0917009 C43.7929424,55.0917008 42.4464755,60.7740368 46.2153183,62.6663939 L78.1972526,78.7247021 L79.992126,71.1500092 L48.0101917,71.1500092 C43.7881433,71.1500092 42.4459197,76.842513 46.2232358,78.7286665 L78.1125852,94.6521971 L79.8995411,87.0735397 L47.992126,87.0735397 C43.8588276,87.0735397 42.4404876,92.5780219 46.0591064,94.5754586 L62.024951,103.388424 L59.9579785,99.8944677 L59.9867142,114.32986 L50.8284271,105.171573 C49.26633,103.609476 46.73367,103.609476 45.1715729,105.171573 C43.6094757,106.73367 43.6094757,109.26633 45.1715729,110.828427 L61.1715729,126.828427 C62.73367,128.390524 65.2663299,128.390524 66.8284271,126.828427 L82.8284278,110.828427 C84.390525,109.26633 84.390525,106.73367 82.8284279,105.171573 C81.2663308,103.609476 78.7336709,103.609476 77.1715737,105.171573 L67.9867828,114.356363 L67.9867828,114.356363 Z M16,20 L112,20 C114.209139,20 116,18.209139 116,16 C116,13.790861 114.209139,12 112,12 L16,12 C13.790861,12 12,13.790861 12,16 C12,18.209139 13.790861,20 16,20 L16,20 Z\"></path>\n</svg>"
        },
        "$:/core/images/blank": {
            "title": "$:/core/images/blank",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-blank tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\"></svg>"
        },
        "$:/core/images/bold": {
            "title": "$:/core/images/bold",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-bold tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M41.1456583,51.8095238 L41.1456583,21.8711485 L67.4985994,21.8711485 C70.0084159,21.8711485 72.4285598,22.0802967 74.7591036,22.4985994 C77.0896475,22.9169022 79.1512515,23.6638602 80.9439776,24.7394958 C82.7367036,25.8151314 84.170863,27.3090474 85.2464986,29.2212885 C86.3221342,31.1335296 86.859944,33.5835518 86.859944,36.5714286 C86.859944,41.9496067 85.2465147,45.8337882 82.0196078,48.2240896 C78.792701,50.614391 74.6694929,51.8095238 69.6498599,51.8095238 L41.1456583,51.8095238 Z M13,0 L13,128 L75.0280112,128 C80.7647346,128 86.3519803,127.28292 91.789916,125.848739 C97.2278517,124.414559 102.068139,122.203563 106.310924,119.215686 C110.553709,116.22781 113.929959,112.373506 116.439776,107.652661 C118.949592,102.931816 120.204482,97.3445701 120.204482,90.8907563 C120.204482,82.8832466 118.262391,76.0411115 114.378151,70.3641457 C110.493911,64.6871798 104.607883,60.7133634 96.719888,58.442577 C102.456611,55.6937304 106.788968,52.1680887 109.717087,47.8655462 C112.645206,43.5630037 114.109244,38.1849062 114.109244,31.7310924 C114.109244,25.7553389 113.123259,20.7357813 111.151261,16.6722689 C109.179262,12.6087565 106.400578,9.35201972 102.815126,6.90196078 C99.2296739,4.45190185 94.927196,2.68908101 89.907563,1.61344538 C84.8879301,0.537809748 79.3305627,0 73.2352941,0 L13,0 Z M41.1456583,106.128852 L41.1456583,70.9915966 L71.8011204,70.9915966 C77.896389,70.9915966 82.7964334,72.3958776 86.5014006,75.2044818 C90.2063677,78.0130859 92.0588235,82.7039821 92.0588235,89.2773109 C92.0588235,92.6237329 91.4911355,95.3725383 90.3557423,97.5238095 C89.2203491,99.6750808 87.6965548,101.378145 85.7843137,102.633053 C83.8720726,103.887961 81.661077,104.784311 79.1512605,105.322129 C76.641444,105.859947 74.0121519,106.128852 71.2633053,106.128852 L41.1456583,106.128852 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/cancel-button": {
            "title": "$:/core/images/cancel-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-cancel-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n\t<g fill-rule=\"evenodd\">\n\t    <path d=\"M64,76.3137085 L47.0294734,93.2842351 C43.9038742,96.4098343 38.8399231,96.4084656 35.7157288,93.2842712 C32.5978915,90.166434 32.5915506,85.0947409 35.7157649,81.9705266 L52.6862915,65 L35.7157649,48.0294734 C32.5901657,44.9038742 32.5915344,39.8399231 35.7157288,36.7157288 C38.833566,33.5978915 43.9052591,33.5915506 47.0294734,36.7157649 L64,53.6862915 L80.9705266,36.7157649 C84.0961258,33.5901657 89.1600769,33.5915344 92.2842712,36.7157288 C95.4021085,39.833566 95.4084494,44.9052591 92.2842351,48.0294734 L75.3137085,65 L92.2842351,81.9705266 C95.4098343,85.0961258 95.4084656,90.1600769 92.2842712,93.2842712 C89.166434,96.4021085 84.0947409,96.4084494 80.9705266,93.2842351 L64,76.3137085 Z M64,129 C99.346224,129 128,100.346224 128,65 C128,29.653776 99.346224,1 64,1 C28.653776,1 1.13686838e-13,29.653776 1.13686838e-13,65 C1.13686838e-13,100.346224 28.653776,129 64,129 Z M64,113 C90.509668,113 112,91.509668 112,65 C112,38.490332 90.509668,17 64,17 C37.490332,17 16,38.490332 16,65 C16,91.509668 37.490332,113 64,113 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/chevron-down": {
            "title": "$:/core/images/chevron-down",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-chevron-down tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n\t<g fill-rule=\"evenodd\" transform=\"translate(64.000000, 40.500000) rotate(-270.000000) translate(-64.000000, -40.500000) translate(-22.500000, -26.500000)\">\n        <path d=\"M112.743107,112.12741 C111.310627,113.561013 109.331747,114.449239 107.145951,114.449239 L27.9777917,114.449239 C23.6126002,114.449239 20.0618714,110.904826 20.0618714,106.532572 C20.0618714,102.169214 23.6059497,98.6159054 27.9777917,98.6159054 L99.2285381,98.6159054 L99.2285381,27.365159 C99.2285381,22.9999675 102.77295,19.4492387 107.145205,19.4492387 C111.508562,19.4492387 115.061871,22.993317 115.061871,27.365159 L115.061871,106.533318 C115.061871,108.71579 114.175869,110.694669 112.743378,112.127981 Z\" transform=\"translate(67.561871, 66.949239) rotate(-45.000000) translate(-67.561871, -66.949239) \"></path>\n        <path d=\"M151.35638,112.12741 C149.923899,113.561013 147.94502,114.449239 145.759224,114.449239 L66.5910645,114.449239 C62.225873,114.449239 58.6751442,110.904826 58.6751442,106.532572 C58.6751442,102.169214 62.2192225,98.6159054 66.5910645,98.6159054 L137.841811,98.6159054 L137.841811,27.365159 C137.841811,22.9999675 141.386223,19.4492387 145.758478,19.4492387 C150.121835,19.4492387 153.675144,22.993317 153.675144,27.365159 L153.675144,106.533318 C153.675144,108.71579 152.789142,110.694669 151.356651,112.127981 Z\" transform=\"translate(106.175144, 66.949239) rotate(-45.000000) translate(-106.175144, -66.949239) \"></path>\n\t</g>\n</svg>"
        },
        "$:/core/images/chevron-left": {
            "title": "$:/core/images/chevron-left",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-chevron-left tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\" version=\"1.1\">\n    <g fill-rule=\"evenodd\" transform=\"translate(92.500000, 64.000000) rotate(-180.000000) translate(-92.500000, -64.000000) translate(6.000000, -3.000000)\">\n        <path d=\"M112.743107,112.12741 C111.310627,113.561013 109.331747,114.449239 107.145951,114.449239 L27.9777917,114.449239 C23.6126002,114.449239 20.0618714,110.904826 20.0618714,106.532572 C20.0618714,102.169214 23.6059497,98.6159054 27.9777917,98.6159054 L99.2285381,98.6159054 L99.2285381,27.365159 C99.2285381,22.9999675 102.77295,19.4492387 107.145205,19.4492387 C111.508562,19.4492387 115.061871,22.993317 115.061871,27.365159 L115.061871,106.533318 C115.061871,108.71579 114.175869,110.694669 112.743378,112.127981 Z\" transform=\"translate(67.561871, 66.949239) rotate(-45.000000) translate(-67.561871, -66.949239) \"></path>\n        <path d=\"M151.35638,112.12741 C149.923899,113.561013 147.94502,114.449239 145.759224,114.449239 L66.5910645,114.449239 C62.225873,114.449239 58.6751442,110.904826 58.6751442,106.532572 C58.6751442,102.169214 62.2192225,98.6159054 66.5910645,98.6159054 L137.841811,98.6159054 L137.841811,27.365159 C137.841811,22.9999675 141.386223,19.4492387 145.758478,19.4492387 C150.121835,19.4492387 153.675144,22.993317 153.675144,27.365159 L153.675144,106.533318 C153.675144,108.71579 152.789142,110.694669 151.356651,112.127981 Z\" transform=\"translate(106.175144, 66.949239) rotate(-45.000000) translate(-106.175144, -66.949239) \"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/chevron-right": {
            "title": "$:/core/images/chevron-right",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-chevron-right tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\" transform=\"translate(-48.000000, -3.000000)\">\n        <path d=\"M112.743107,112.12741 C111.310627,113.561013 109.331747,114.449239 107.145951,114.449239 L27.9777917,114.449239 C23.6126002,114.449239 20.0618714,110.904826 20.0618714,106.532572 C20.0618714,102.169214 23.6059497,98.6159054 27.9777917,98.6159054 L99.2285381,98.6159054 L99.2285381,27.365159 C99.2285381,22.9999675 102.77295,19.4492387 107.145205,19.4492387 C111.508562,19.4492387 115.061871,22.993317 115.061871,27.365159 L115.061871,106.533318 C115.061871,108.71579 114.175869,110.694669 112.743378,112.127981 Z\" transform=\"translate(67.561871, 66.949239) rotate(-45.000000) translate(-67.561871, -66.949239) \"></path>\n        <path d=\"M151.35638,112.12741 C149.923899,113.561013 147.94502,114.449239 145.759224,114.449239 L66.5910645,114.449239 C62.225873,114.449239 58.6751442,110.904826 58.6751442,106.532572 C58.6751442,102.169214 62.2192225,98.6159054 66.5910645,98.6159054 L137.841811,98.6159054 L137.841811,27.365159 C137.841811,22.9999675 141.386223,19.4492387 145.758478,19.4492387 C150.121835,19.4492387 153.675144,22.993317 153.675144,27.365159 L153.675144,106.533318 C153.675144,108.71579 152.789142,110.694669 151.356651,112.127981 Z\" transform=\"translate(106.175144, 66.949239) rotate(-45.000000) translate(-106.175144, -66.949239) \"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/chevron-up": {
            "title": "$:/core/images/chevron-up",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-chevron-up tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n\t<g fill-rule=\"evenodd\" transform=\"translate(64.000000, 89.500000) rotate(-90.000000) translate(-64.000000, -89.500000) translate(-22.500000, 22.500000)\">\n        <path d=\"M112.743107,112.12741 C111.310627,113.561013 109.331747,114.449239 107.145951,114.449239 L27.9777917,114.449239 C23.6126002,114.449239 20.0618714,110.904826 20.0618714,106.532572 C20.0618714,102.169214 23.6059497,98.6159054 27.9777917,98.6159054 L99.2285381,98.6159054 L99.2285381,27.365159 C99.2285381,22.9999675 102.77295,19.4492387 107.145205,19.4492387 C111.508562,19.4492387 115.061871,22.993317 115.061871,27.365159 L115.061871,106.533318 C115.061871,108.71579 114.175869,110.694669 112.743378,112.127981 Z\" transform=\"translate(67.561871, 66.949239) rotate(-45.000000) translate(-67.561871, -66.949239) \"></path>\n        <path d=\"M151.35638,112.12741 C149.923899,113.561013 147.94502,114.449239 145.759224,114.449239 L66.5910645,114.449239 C62.225873,114.449239 58.6751442,110.904826 58.6751442,106.532572 C58.6751442,102.169214 62.2192225,98.6159054 66.5910645,98.6159054 L137.841811,98.6159054 L137.841811,27.365159 C137.841811,22.9999675 141.386223,19.4492387 145.758478,19.4492387 C150.121835,19.4492387 153.675144,22.993317 153.675144,27.365159 L153.675144,106.533318 C153.675144,108.71579 152.789142,110.694669 151.356651,112.127981 Z\" transform=\"translate(106.175144, 66.949239) rotate(-45.000000) translate(-106.175144, -66.949239) \"></path>\n\t</g>\n</svg>"
        },
        "$:/core/images/clone-button": {
            "title": "$:/core/images/clone-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-clone-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M32.2650915,96 L32.2650915,120.002359 C32.2650915,124.419334 35.8432884,128 40.2627323,128 L120.002359,128 C124.419334,128 128,124.421803 128,120.002359 L128,40.2627323 C128,35.8457573 124.421803,32.2650915 120.002359,32.2650915 L96,32.2650915 L96,48 L108.858899,48 C110.519357,48 111.853018,49.3405131 111.853018,50.9941198 L111.853018,108.858899 C111.853018,110.519357 110.512505,111.853018 108.858899,111.853018 L50.9941198,111.853018 C49.333661,111.853018 48,110.512505 48,108.858899 L48,96 L32.2650915,96 Z\"></path>\n        <path d=\"M40,56 L32.0070969,56 C27.5881712,56 24,52.418278 24,48 C24,43.5907123 27.5848994,40 32.0070969,40 L40,40 L40,32.0070969 C40,27.5881712 43.581722,24 48,24 C52.4092877,24 56,27.5848994 56,32.0070969 L56,40 L63.9929031,40 C68.4118288,40 72,43.581722 72,48 C72,52.4092877 68.4151006,56 63.9929031,56 L56,56 L56,63.9929031 C56,68.4118288 52.418278,72 48,72 C43.5907123,72 40,68.4151006 40,63.9929031 L40,56 Z M7.9992458,0 C3.58138434,0 0,3.5881049 0,7.9992458 L0,88.0007542 C0,92.4186157 3.5881049,96 7.9992458,96 L88.0007542,96 C92.4186157,96 96,92.4118951 96,88.0007542 L96,7.9992458 C96,3.58138434 92.4118951,0 88.0007542,0 L7.9992458,0 Z M19.0010118,16 C17.3435988,16 16,17.336731 16,19.0010118 L16,76.9989882 C16,78.6564012 17.336731,80 19.0010118,80 L76.9989882,80 C78.6564012,80 80,78.663269 80,76.9989882 L80,19.0010118 C80,17.3435988 78.663269,16 76.9989882,16 L19.0010118,16 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/close-all-button": {
            "title": "$:/core/images/close-all-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-close-all-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\" transform=\"translate(-23.000000, -23.000000)\">\n        <path d=\"M43,131 L22.9976794,131 C18.5827987,131 15,127.418278 15,123 C15,118.590712 18.5806831,115 22.9976794,115 L43,115 L43,94.9976794 C43,90.5827987 46.581722,87 51,87 C55.4092877,87 59,90.5806831 59,94.9976794 L59,115 L79.0023206,115 C83.4172013,115 87,118.581722 87,123 C87,127.409288 83.4193169,131 79.0023206,131 L59,131 L59,151.002321 C59,155.417201 55.418278,159 51,159 C46.5907123,159 43,155.419317 43,151.002321 L43,131 Z\" transform=\"translate(51.000000, 123.000000) rotate(-45.000000) translate(-51.000000, -123.000000) \"></path>\n        <path d=\"M43,59 L22.9976794,59 C18.5827987,59 15,55.418278 15,51 C15,46.5907123 18.5806831,43 22.9976794,43 L43,43 L43,22.9976794 C43,18.5827987 46.581722,15 51,15 C55.4092877,15 59,18.5806831 59,22.9976794 L59,43 L79.0023206,43 C83.4172013,43 87,46.581722 87,51 C87,55.4092877 83.4193169,59 79.0023206,59 L59,59 L59,79.0023206 C59,83.4172013 55.418278,87 51,87 C46.5907123,87 43,83.4193169 43,79.0023206 L43,59 Z\" transform=\"translate(51.000000, 51.000000) rotate(-45.000000) translate(-51.000000, -51.000000) \"></path>\n        <path d=\"M115,59 L94.9976794,59 C90.5827987,59 87,55.418278 87,51 C87,46.5907123 90.5806831,43 94.9976794,43 L115,43 L115,22.9976794 C115,18.5827987 118.581722,15 123,15 C127.409288,15 131,18.5806831 131,22.9976794 L131,43 L151.002321,43 C155.417201,43 159,46.581722 159,51 C159,55.4092877 155.419317,59 151.002321,59 L131,59 L131,79.0023206 C131,83.4172013 127.418278,87 123,87 C118.590712,87 115,83.4193169 115,79.0023206 L115,59 Z\" transform=\"translate(123.000000, 51.000000) rotate(-45.000000) translate(-123.000000, -51.000000) \"></path>\n        <path d=\"M115,131 L94.9976794,131 C90.5827987,131 87,127.418278 87,123 C87,118.590712 90.5806831,115 94.9976794,115 L115,115 L115,94.9976794 C115,90.5827987 118.581722,87 123,87 C127.409288,87 131,90.5806831 131,94.9976794 L131,115 L151.002321,115 C155.417201,115 159,118.581722 159,123 C159,127.409288 155.419317,131 151.002321,131 L131,131 L131,151.002321 C131,155.417201 127.418278,159 123,159 C118.590712,159 115,155.419317 115,151.002321 L115,131 Z\" transform=\"translate(123.000000, 123.000000) rotate(-45.000000) translate(-123.000000, -123.000000) \"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/close-button": {
            "title": "$:/core/images/close-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-close-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M65.0864256,75.4091629 L14.9727349,125.522854 C11.8515951,128.643993 6.78104858,128.64922 3.65685425,125.525026 C0.539017023,122.407189 0.5336324,117.334539 3.65902635,114.209145 L53.7727171,64.0954544 L3.65902635,13.9817637 C0.537886594,10.8606239 0.532659916,5.79007744 3.65685425,2.6658831 C6.77469148,-0.451954124 11.8473409,-0.457338747 14.9727349,2.66805521 L65.0864256,52.7817459 L115.200116,2.66805521 C118.321256,-0.453084553 123.391803,-0.458311231 126.515997,2.6658831 C129.633834,5.78372033 129.639219,10.8563698 126.513825,13.9817637 L76.4001341,64.0954544 L126.513825,114.209145 C129.634965,117.330285 129.640191,122.400831 126.515997,125.525026 C123.39816,128.642863 118.32551,128.648248 115.200116,125.522854 L65.0864256,75.4091629 L65.0864256,75.4091629 Z\"></path>\n    </g>\n</svg>\n"
        },
        "$:/core/images/close-others-button": {
            "title": "$:/core/images/close-others-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-close-others-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M64,128 C99.346224,128 128,99.346224 128,64 C128,28.653776 99.346224,0 64,0 C28.653776,0 0,28.653776 0,64 C0,99.346224 28.653776,128 64,128 Z M64,112 C90.509668,112 112,90.509668 112,64 C112,37.490332 90.509668,16 64,16 C37.490332,16 16,37.490332 16,64 C16,90.509668 37.490332,112 64,112 Z M64,96 C81.673112,96 96,81.673112 96,64 C96,46.326888 81.673112,32 64,32 C46.326888,32 32,46.326888 32,64 C32,81.673112 46.326888,96 64,96 Z M64,80 C72.836556,80 80,72.836556 80,64 C80,55.163444 72.836556,48 64,48 C55.163444,48 48,55.163444 48,64 C48,72.836556 55.163444,80 64,80 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/copy-clipboard": {
            "title": "$:/core/images/copy-clipboard",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-copy-clipboard tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n\t<g fill-rule=\"evenodd\">\n\t\t<rect x=\"40\" y=\"40\" width=\"33\" height=\"8\" rx=\"4\"></rect>\n\t\t<rect x=\"40\" y=\"82\" width=\"17\" height=\"8\" rx=\"4\"></rect>\n\t\t<rect x=\"40\" y=\"54\" width=\"17\" height=\"8\" rx=\"4\"></rect>\n\t\t<rect x=\"40\" y=\"96\" width=\"33\" height=\"8\" rx=\"4\"></rect>\n\t\t<rect x=\"40\" y=\"68\" width=\"12\" height=\"8\" rx=\"4\"></rect>\n\t\t<path d=\"M40,16 L23.9992458,16 C19.5813843,16 16,19.5907123 16,24 C16,24.0016363 16.0000005,24.0032725 16.0000015,24.0049086 C16.0000005,24.0065441 16,24.0081803 16,24.0098166 L16,119.990183 C16,119.99182 16.0000005,119.993456 16.0000015,119.995092 C16.0000005,119.996727 16,119.998364 16,120 C16,124.409288 19.5813843,128 23.9992458,128 L104.000754,128 C106.205061,128 108.203844,127.105595 109.652065,125.659342 C111.102424,124.21251 112,122.214511 112,120.007595 L112,103.992405 C112,99.5776607 108.418278,96 104,96 C99.5907123,96 96,99.5783218 96,103.992405 L96,112 L32,112 L32,32 L96,32 L96,40.0075946 C96,44.4223393 99.581722,48 104,48 C108.409288,48 112,44.4216782 112,40.0075946 L112,23.9924054 C112,21.7851587 111.104671,19.7871591 109.657101,18.3409203 C108.203844,16.8944047 106.205061,16 104.000754,16 L88,16 C88,11.5907123 84.4151006,8 79.9929031,8 L48.0070969,8 C43.5881712,8 40,11.581722 40,16 Z M44,14.9958262 C44,12.7889923 45.7964248,11 48.0000255,11 L79.9999745,11 C82.2091276,11 84,12.7965212 84,14.9958262 L84,19.0041738 C84,21.2110077 82.2035752,23 79.9999745,23 L48.0000255,23 C45.7908724,23 44,21.2034788 44,19.0041738 L44,14.9958262 Z\"></path>\n\t\t<rect x=\"62\" y=\"64\" width=\"66\" height=\"16\" rx=\"8\"></rect>\n\t\t<path d=\"M60.6568542,85.6568542 L76.6568542,69.6568543 L65.3431458,69.6568542 L81.3431458,85.6568542 C84.4673401,88.7810486 89.5326599,88.7810486 92.6568542,85.6568542 C95.7810486,82.5326599 95.7810486,77.4673401 92.6568542,74.3431458 L76.6568542,58.3431458 C73.5326599,55.2189514 68.4673401,55.2189514 65.3431458,58.3431457 L49.3431458,74.3431457 C46.2189514,77.4673401 46.2189514,82.5326599 49.3431457,85.6568542 C52.4673401,88.7810486 57.5326599,88.7810486 60.6568542,85.6568542 L60.6568542,85.6568542 Z\" transform=\"translate(71.000000, 72.000000) rotate(-90.000000) translate(-71.000000, -72.000000) \"></path>\n\t</g>\n</svg>"
        },
        "$:/core/images/delete-button": {
            "title": "$:/core/images/delete-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-delete-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n    <g fill-rule=\"evenodd\" transform=\"translate(12.000000, 0.000000)\">\n        <rect x=\"0\" y=\"11\" width=\"105\" height=\"16\" rx=\"8\"></rect>\n        <rect x=\"28\" y=\"0\" width=\"48\" height=\"16\" rx=\"8\"></rect>\n        <rect x=\"8\" y=\"16\" width=\"16\" height=\"112\" rx=\"8\"></rect>\n        <rect x=\"8\" y=\"112\" width=\"88\" height=\"16\" rx=\"8\"></rect>\n        <rect x=\"80\" y=\"16\" width=\"16\" height=\"112\" rx=\"8\"></rect>\n        <rect x=\"56\" y=\"16\" width=\"16\" height=\"112\" rx=\"8\"></rect>\n        <rect x=\"32\" y=\"16\" width=\"16\" height=\"112\" rx=\"8\"></rect>\n    </g>\n</svg>"
        },
        "$:/core/images/done-button": {
            "title": "$:/core/images/done-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-done-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M3.52445141,76.8322939 C2.07397484,75.3828178 1.17514421,73.3795385 1.17514421,71.1666288 L1.17514421,23.1836596 C1.17514421,18.7531992 4.75686621,15.1751442 9.17514421,15.1751442 C13.5844319,15.1751442 17.1751442,18.7606787 17.1751442,23.1836596 L17.1751442,63.1751442 L119.173716,63.1751442 C123.590457,63.1751442 127.175144,66.7568662 127.175144,71.1751442 C127.175144,75.5844319 123.592783,79.1751442 119.173716,79.1751442 L9.17657227,79.1751442 C6.96796403,79.1751442 4.9674142,78.279521 3.51911285,76.8315312 Z\" id=\"Rectangle-285\" transform=\"translate(64.175144, 47.175144) rotate(-45.000000) translate(-64.175144, -47.175144) \"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/down-arrow": {
            "title": "$:/core/images/down-arrow",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-down-arrow tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n    <path d=\"M109.35638,81.3533152 C107.923899,82.7869182 105.94502,83.6751442 103.759224,83.6751442 L24.5910645,83.6751442 C20.225873,83.6751442 16.6751442,80.1307318 16.6751442,75.7584775 C16.6751442,71.3951199 20.2192225,67.8418109 24.5910645,67.8418109 L95.8418109,67.8418109 L95.8418109,-3.40893546 C95.8418109,-7.77412698 99.3862233,-11.3248558 103.758478,-11.3248558 C108.121835,-11.3248558 111.675144,-7.78077754 111.675144,-3.40893546 L111.675144,75.7592239 C111.675144,77.9416955 110.789142,79.9205745 109.356651,81.3538862 Z\" transform=\"translate(64.175144, 36.175144) rotate(45.000000) translate(-64.175144, -36.175144) \"></path>\n</svg>"
        },
        "$:/core/images/download-button": {
            "title": "$:/core/images/download-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-download-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path class=\"tc-image-download-button-ring\" d=\"M64,128 C99.346224,128 128,99.346224 128,64 C128,28.653776 99.346224,0 64,0 C28.653776,0 0,28.653776 0,64 C0,99.346224 28.653776,128 64,128 Z M64,112 C90.509668,112 112,90.509668 112,64 C112,37.490332 90.509668,16 64,16 C37.490332,16 16,37.490332 16,64 C16,90.509668 37.490332,112 64,112 Z\"/><path d=\"M34.3496823,66.4308767 L61.2415823,93.634668 C63.0411536,95.4551107 65.9588502,95.4551107 67.7584215,93.634668 L94.6503215,66.4308767 C96.4498928,64.610434 96.4498928,61.6588981 94.6503215,59.8384554 C93.7861334,58.9642445 92.6140473,58.4731195 91.3919019,58.4731195 L82.9324098,58.4731195 C80.3874318,58.4731195 78.3243078,56.3860674 78.3243078,53.8115729 L78.3243078,38.6615466 C78.3243078,36.0870521 76.2611837,34 73.7162058,34 L55.283798,34 C52.7388201,34 50.675696,36.0870521 50.675696,38.6615466 L50.675696,38.6615466 L50.675696,53.8115729 C50.675696,56.3860674 48.612572,58.4731195 46.0675941,58.4731195 L37.608102,58.4731195 C35.063124,58.4731195 33,60.5601716 33,63.134666 C33,64.3709859 33.4854943,65.5566658 34.3496823,66.4308767 L34.3496823,66.4308767 Z\"/></g></svg>"
        },
        "$:/core/images/edit-button": {
            "title": "$:/core/images/edit-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-edit-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M116.870058,45.3431458 L108.870058,45.3431458 L108.870058,45.3431458 L108.870058,61.3431458 L116.870058,61.3431458 L116.870058,45.3431458 Z M124.870058,45.3431458 L127.649881,45.3431458 C132.066101,45.3431458 135.656854,48.9248678 135.656854,53.3431458 C135.656854,57.7524334 132.07201,61.3431458 127.649881,61.3431458 L124.870058,61.3431458 L124.870058,45.3431458 Z M100.870058,45.3431458 L15.6638275,45.3431458 C15.5064377,45.3431458 15.3501085,45.3476943 15.1949638,45.3566664 L15.1949638,45.3566664 C15.0628002,45.3477039 14.928279,45.3431458 14.7913977,45.3431458 C6.68160973,45.3431458 -8.34314575,53.3431458 -8.34314575,53.3431458 C-8.34314575,53.3431458 6.85614548,61.3431458 14.7913977,61.3431458 C14.9266533,61.3431458 15.0596543,61.3384973 15.190398,61.3293588 C15.3470529,61.3385075 15.5049057,61.3431458 15.6638275,61.3431458 L100.870058,61.3431458 L100.870058,45.3431458 L100.870058,45.3431458 Z\" transform=\"translate(63.656854, 53.343146) rotate(-45.000000) translate(-63.656854, -53.343146) \"></path>\n        <path d=\"M35.1714596,124.189544 C41.9594858,123.613403 49.068777,121.917633 58.85987,118.842282 C60.6854386,118.268877 62.4306907,117.705515 65.1957709,116.802278 C81.1962861,111.575575 87.0734839,109.994907 93.9414474,109.655721 C102.29855,109.242993 107.795169,111.785371 111.520478,118.355045 C112.610163,120.276732 115.051363,120.951203 116.97305,119.861518 C118.894737,118.771832 119.569207,116.330633 118.479522,114.408946 C113.146151,105.003414 104.734907,101.112919 93.5468356,101.66546 C85.6716631,102.054388 79.4899908,103.716944 62.7116783,109.197722 C59.9734132,110.092199 58.2519873,110.64787 56.4625698,111.20992 C37.002649,117.322218 25.6914684,118.282267 16.8654804,112.957098 C14.9739614,111.815848 12.5154166,112.424061 11.3741667,114.31558 C10.2329168,116.207099 10.84113,118.665644 12.7326489,119.806894 C19.0655164,123.627836 26.4866335,124.926678 35.1714596,124.189544 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/erase": {
            "title": "$:/core/images/erase",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-erase tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M60.0870401,127.996166 L123.102318,64.980888 C129.636723,58.4464827 129.629513,47.8655877 123.098967,41.3350425 L99.4657866,17.7018617 C92.927448,11.1635231 82.3486358,11.1698163 75.8199411,17.698511 L4.89768189,88.6207702 C-1.63672343,95.1551755 -1.6295126,105.736071 4.90103262,112.266616 L20.6305829,127.996166 L60.0870401,127.996166 Z M25.1375576,120.682546 L10.812569,106.357558 C7.5455063,103.090495 7.54523836,97.793808 10.8048093,94.5342371 L46.2691086,59.0699377 L81.7308914,94.5317205 L55.5800654,120.682546 L25.1375576,120.682546 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/excise": {
            "title": "$:/core/images/excise",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-excise tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M56,107.313709 L53.6568542,109.656854 C50.5326599,112.781049 45.4673401,112.781049 42.3431457,109.656854 C39.2189514,106.53266 39.2189514,101.46734 42.3431458,98.3431457 L58.3431458,82.3431457 C61.4673401,79.2189514 66.5326599,79.2189514 69.6568542,82.3431458 L85.6568542,98.3431458 C88.7810486,101.46734 88.7810486,106.53266 85.6568542,109.656854 C82.5326599,112.781049 77.4673401,112.781049 74.3431458,109.656854 L72,107.313708 L72,121.597798 C72,125.133636 68.418278,128 64,128 C59.581722,128 56,125.133636 56,121.597798 L56,107.313709 Z M0,40.0070969 C0,35.5848994 3.59071231,32 8,32 C12.418278,32 16,35.5881712 16,40.0070969 L16,71.9929031 C16,76.4151006 12.4092877,80 8,80 C3.581722,80 0,76.4118288 0,71.9929031 L0,40.0070969 Z M32,40.0070969 C32,35.5848994 35.5907123,32 40,32 C44.418278,32 48,35.5881712 48,40.0070969 L48,71.9929031 C48,76.4151006 44.4092877,80 40,80 C35.581722,80 32,76.4118288 32,71.9929031 L32,40.0070969 Z M80,40.0070969 C80,35.5848994 83.5907123,32 88,32 C92.418278,32 96,35.5881712 96,40.0070969 L96,71.9929031 C96,76.4151006 92.4092877,80 88,80 C83.581722,80 80,76.4118288 80,71.9929031 L80,40.0070969 Z M56,8.00709688 C56,3.58489938 59.5907123,0 64,0 C68.418278,0 72,3.58817117 72,8.00709688 L72,39.9929031 C72,44.4151006 68.4092877,48 64,48 C59.581722,48 56,44.4118288 56,39.9929031 L56,8.00709688 Z M112,40.0070969 C112,35.5848994 115.590712,32 120,32 C124.418278,32 128,35.5881712 128,40.0070969 L128,71.9929031 C128,76.4151006 124.409288,80 120,80 C115.581722,80 112,76.4118288 112,71.9929031 L112,40.0070969 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/export-button": {
            "title": "$:/core/images/export-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-export-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M8.00348646,127.999999 C8.00464867,128 8.00581094,128 8.00697327,128 L119.993027,128 C122.205254,128 124.207939,127.101378 125.657096,125.651198 L125.656838,125.65759 C127.104563,124.210109 128,122.21009 128,119.999949 L128,56.0000511 C128,51.5817449 124.409288,48 120,48 C115.581722,48 112,51.5797863 112,56.0000511 L112,112 L16,112 L16,56.0000511 C16,51.5817449 12.4092877,48 8,48 C3.581722,48 7.10542736e-15,51.5797863 7.10542736e-15,56.0000511 L7.10542736e-15,119.999949 C7.10542736e-15,124.418255 3.59071231,128 8,128 C8.00116233,128 8.0023246,128 8.00348681,127.999999 Z M56.6235633,27.3113724 L47.6580188,36.2769169 C44.5333664,39.4015692 39.4634864,39.4061295 36.339292,36.2819351 C33.2214548,33.1640979 33.2173444,28.0901742 36.3443103,24.9632084 L58.9616908,2.34582788 C60.5248533,0.782665335 62.5748436,0.000361191261 64.624516,2.38225238e-14 L64.6193616,0.00151809229 C66.6695374,0.000796251595 68.7211167,0.781508799 70.2854358,2.34582788 L92.9028163,24.9632084 C96.0274686,28.0878607 96.0320289,33.1577408 92.9078345,36.2819351 C89.7899973,39.3997724 84.7160736,39.4038827 81.5891078,36.2769169 L72.6235633,27.3113724 L72.6235633,88.5669606 C72.6235633,92.9781015 69.0418413,96.5662064 64.6235633,96.5662064 C60.2142756,96.5662064 56.6235633,92.984822 56.6235633,88.5669606 L56.6235633,27.3113724 L56.6235633,27.3113724 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/file": {
            "title": "$:/core/images/file",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-file tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"nonzero\">\n        <path d=\"M111.96811,30.5 L112,30.5 L112,119.999079 C112,124.417866 108.419113,128 104.000754,128 L23.9992458,128 C19.5813843,128 16,124.417687 16,119.999079 L16,8.00092105 C16,3.58213437 19.5808867,0 23.9992458,0 L81,0 L81,0.0201838424 C83.1589869,-0.071534047 85.3482153,0.707077645 86.9982489,2.35711116 L109.625176,24.9840387 C111.151676,26.510538 111.932942,28.4998414 111.96811,30.5 L111.96811,30.5 Z M81,8 L24,8 L24,120 L104,120 L104,30.5 L89.0003461,30.5 C84.5818769,30.5 81,26.9216269 81,22.4996539 L81,8 Z\"></path>\n        <rect x=\"32\" y=\"36\" width=\"64\" height=\"8\" rx=\"4\"></rect>\n        <rect x=\"32\" y=\"52\" width=\"64\" height=\"8\" rx=\"4\"></rect>\n        <rect x=\"32\" y=\"68\" width=\"64\" height=\"8\" rx=\"4\"></rect>\n        <rect x=\"32\" y=\"84\" width=\"64\" height=\"8\" rx=\"4\"></rect>\n        <rect x=\"32\" y=\"100\" width=\"64\" height=\"8\" rx=\"4\"></rect>\n        <rect x=\"32\" y=\"20\" width=\"40\" height=\"8\" rx=\"4\"></rect>\n    </g>\n</svg>"
        },
        "$:/core/images/fixed-height": {
            "title": "$:/core/images/fixed-height",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-fixed-height tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M60,35.6568542 L50.8284271,44.8284271 C49.26633,46.3905243 46.73367,46.3905243 45.1715729,44.8284271 C43.6094757,43.26633 43.6094757,40.73367 45.1715729,39.1715729 L61.1715729,23.1715729 C62.73367,21.6094757 65.2663299,21.6094757 66.8284271,23.1715728 L82.8284278,39.1715728 C84.390525,40.7336699 84.390525,43.2663299 82.8284279,44.8284271 C81.2663308,46.3905243 78.7336709,46.3905243 77.1715737,44.8284272 L68,35.6568539 L68,93.3431461 L77.1715737,84.1715728 C78.7336709,82.6094757 81.2663308,82.6094757 82.8284279,84.1715729 C84.390525,85.7336701 84.390525,88.2663301 82.8284278,89.8284272 L66.8284271,105.828427 C65.2663299,107.390524 62.73367,107.390524 61.1715729,105.828427 L45.1715729,89.8284271 C43.6094757,88.26633 43.6094757,85.73367 45.1715729,84.1715729 C46.73367,82.6094757 49.26633,82.6094757 50.8284271,84.1715729 L60,93.3431458 L60,35.6568542 L60,35.6568542 Z M16,116 L112,116 C114.209139,116 116,114.209139 116,112 C116,109.790861 114.209139,108 112,108 L16,108 C13.790861,108 12,109.790861 12,112 C12,114.209139 13.790861,116 16,116 L16,116 Z M16,20 L112,20 C114.209139,20 116,18.209139 116,16 C116,13.790861 114.209139,12 112,12 L16,12 C13.790861,12 12,13.790861 12,16 C12,18.209139 13.790861,20 16,20 L16,20 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/fold-all-button": {
            "title": "$:/core/images/fold-all-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-fold-all tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <rect x=\"0\" y=\"0\" width=\"128\" height=\"16\" rx=\"8\"></rect>\n        <rect x=\"0\" y=\"64\" width=\"128\" height=\"16\" rx=\"8\"></rect>\n        <path d=\"M64.0292774,58.6235628 C61.9791013,58.6242848 59.9275217,57.8435723 58.3632024,56.279253 L35.7458219,33.6618725 C32.6211696,30.5372202 32.6166093,25.4673401 35.7408036,22.3431458 C38.8586409,19.2253085 43.9325646,19.2211982 47.0595304,22.348164 L64.0250749,39.3137085 L80.9906194,22.348164 C84.1152717,19.2235117 89.1851518,19.2189514 92.3093461,22.3431458 C95.4271834,25.460983 95.4312937,30.5349067 92.3043279,33.6618725 L69.6869474,56.279253 C68.1237851,57.8424153 66.0737951,58.6247195 64.0241231,58.6250809 Z\" transform=\"translate(64.024316, 39.313708) scale(1, -1) translate(-64.024316, -39.313708) \"></path>\n        <path d=\"M64.0292774,123.621227 C61.9791013,123.621949 59.9275217,122.841236 58.3632024,121.276917 L35.7458219,98.6595365 C32.6211696,95.5348842 32.6166093,90.4650041 35.7408036,87.3408098 C38.8586409,84.2229725 43.9325646,84.2188622 47.0595304,87.345828 L64.0250749,104.311373 L80.9906194,87.345828 C84.1152717,84.2211757 89.1851518,84.2166154 92.3093461,87.3408098 C95.4271834,90.458647 95.4312937,95.5325707 92.3043279,98.6595365 L69.6869474,121.276917 C68.1237851,122.840079 66.0737951,123.622383 64.0241231,123.622745 Z\" transform=\"translate(64.024316, 104.311372) scale(1, -1) translate(-64.024316, -104.311372) \"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/fold-button": {
            "title": "$:/core/images/fold-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-fold tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <rect x=\"0\" y=\"0\" width=\"128\" height=\"16\" rx=\"8\"></rect>\n        <path d=\"M64.0292774,63.6235628 C61.9791013,63.6242848 59.9275217,62.8435723 58.3632024,61.279253 L35.7458219,38.6618725 C32.6211696,35.5372202 32.6166093,30.4673401 35.7408036,27.3431458 C38.8586409,24.2253085 43.9325646,24.2211982 47.0595304,27.348164 L64.0250749,44.3137085 L80.9906194,27.348164 C84.1152717,24.2235117 89.1851518,24.2189514 92.3093461,27.3431458 C95.4271834,30.460983 95.4312937,35.5349067 92.3043279,38.6618725 L69.6869474,61.279253 C68.1237851,62.8424153 66.0737951,63.6247195 64.0241231,63.6250809 Z\" transform=\"translate(64.024316, 44.313708) scale(1, -1) translate(-64.024316, -44.313708) \"></path>\n        <path d=\"M64.0049614,105.998482 C61.9547853,105.999204 59.9032057,105.218491 58.3388864,103.654172 L35.7215059,81.0367916 C32.5968535,77.9121393 32.5922933,72.8422592 35.7164876,69.7180649 C38.8343248,66.6002276 43.9082485,66.5961173 47.0352144,69.7230831 L64.0007589,86.6886276 L80.9663034,69.7230831 C84.0909557,66.5984308 89.1608358,66.5938705 92.2850301,69.7180649 C95.4028673,72.8359021 95.4069777,77.9098258 92.2800119,81.0367916 L69.6626314,103.654172 C68.099469,105.217334 66.0494791,105.999639 63.999807,106 Z\" transform=\"translate(64.000000, 86.688628) scale(1, -1) translate(-64.000000, -86.688628) \"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/fold-others-button": {
            "title": "$:/core/images/fold-others-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-fold-others tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <rect x=\"0\" y=\"56.0314331\" width=\"128\" height=\"16\" rx=\"8\"></rect>\n        <path d=\"M101.657101,104.948818 C100.207918,103.498614 98.2051847,102.599976 95.9929031,102.599976 L72,102.599976 L72,78.6070725 C72,76.3964271 71.1036108,74.3936927 69.6545293,72.9441002 L69.6571005,72.9488183 C68.2079177,71.4986143 66.2051847,70.5999756 63.9929031,70.5999756 L32.0070969,70.5999756 C27.5881712,70.5999756 24,74.1816976 24,78.5999756 C24,83.0092633 27.5848994,86.5999756 32.0070969,86.5999756 L56,86.5999756 L56,110.592879 C56,112.803524 56.8963895,114.806259 58.3454713,116.255852 L58.3429,116.251133 C59.7920828,117.701337 61.7948156,118.599976 64.0070969,118.599976 L88,118.599976 L88,142.592879 C88,147.011804 91.581722,150.599976 96,150.599976 C100.409288,150.599976 104,147.015076 104,142.592879 L104,110.607072 C104,108.396427 103.103611,106.393693 101.654529,104.9441 Z\" transform=\"translate(64.000000, 110.599976) rotate(-45.000000) translate(-64.000000, -110.599976) \"></path>\n        <path d=\"M101.725643,11.7488671 C100.27646,10.2986632 98.2737272,9.40002441 96.0614456,9.40002441 L72.0685425,9.40002441 L72.0685425,-14.5928787 C72.0685425,-16.8035241 71.1721533,-18.8062584 69.7230718,-20.255851 L69.725643,-20.2511329 C68.2764602,-21.7013368 66.2737272,-22.5999756 64.0614456,-22.5999756 L32.0756394,-22.5999756 C27.6567137,-22.5999756 24.0685425,-19.0182536 24.0685425,-14.5999756 C24.0685425,-10.1906879 27.6534419,-6.59997559 32.0756394,-6.59997559 L56.0685425,-6.59997559 L56.0685425,17.3929275 C56.0685425,19.6035732 56.964932,21.6063078 58.4140138,23.0559004 L58.4114425,23.0511823 C59.8606253,24.5013859 61.8633581,25.4000244 64.0756394,25.4000244 L88.0685425,25.4000244 L88.0685425,49.3929275 C88.0685425,53.8118532 91.6502645,57.4000244 96.0685425,57.4000244 C100.47783,57.4000244 104.068542,53.815125 104.068542,49.3929275 L104.068542,17.4071213 C104.068542,15.1964759 103.172153,13.1937416 101.723072,11.744149 Z\" transform=\"translate(64.068542, 17.400024) scale(1, -1) rotate(-45.000000) translate(-64.068542, -17.400024) \"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/folder": {
            "title": "$:/core/images/folder",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-folder tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M55.6943257,128.000004 L7.99859666,128.000004 C3.5810937,128.000004 0,124.413822 0,119.996384 L0,48.0036243 C0,43.5833471 3.58387508,40.0000044 7.99859666,40.0000044 L16,40.0000044 L16,31.9999914 C16,27.5817181 19.5783731,24 24.0003461,24 L55.9996539,24 C60.4181231,24 64,27.5800761 64,31.9999914 L64,40.0000044 L104.001403,40.0000044 C108.418906,40.0000044 112,43.5861868 112,48.0036243 L112,59.8298353 L104,59.7475921 L104,51.9994189 C104,49.7887607 102.207895,48.0000044 99.9972215,48.0000044 L56,48.0000044 L56,36.0000255 C56,33.7898932 54.2072328,32 51.9957423,32 L28.0042577,32 C25.7890275,32 24,33.7908724 24,36.0000255 L24,48.0000044 L12.0027785,48.0000044 C9.78987688,48.0000044 8,49.7906032 8,51.9994189 L8,116.00059 C8,118.211248 9.79210499,120.000004 12.0027785,120.000004 L58.7630167,120.000004 L55.6943257,128.000004 L55.6943257,128.000004 Z\"></path>\n        <path d=\"M23.8728955,55.5 L119.875702,55.5 C124.293205,55.5 126.87957,59.5532655 125.650111,64.5630007 L112.305967,118.936999 C111.077582,123.942356 106.497904,128 102.083183,128 L6.08037597,128 C1.66287302,128 -0.923492342,123.946735 0.305967145,118.936999 L13.650111,64.5630007 C14.878496,59.5576436 19.4581739,55.5 23.8728955,55.5 L23.8728955,55.5 L23.8728955,55.5 Z M25.6530124,64 L113.647455,64 C115.858129,64 117.151473,66.0930612 116.538306,68.6662267 L105.417772,115.333773 C104.803671,117.910859 102.515967,120 100.303066,120 L12.3086228,120 C10.0979492,120 8.8046054,117.906939 9.41777189,115.333773 L20.5383062,68.6662267 C21.1524069,66.0891409 23.4401107,64 25.6530124,64 L25.6530124,64 L25.6530124,64 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/full-screen-button": {
            "title": "$:/core/images/full-screen-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-full-screen-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g>\n        <g>\n            <path d=\"M5.29777586e-31,8 C1.59060409e-15,3.581722 3.581722,0 8,0 L40,0 C44.418278,0 48,3.581722 48,8 C48,12.418278 44.418278,16 40,16 L16,16 L16,40 C16,44.418278 12.418278,48 8,48 C3.581722,48 -3.55271368e-15,44.418278 0,40 L3.55271368e-15,8 Z\"></path>\n        </g>\n        <g transform=\"translate(104.000000, 104.000000) rotate(-180.000000) translate(-104.000000, -104.000000) translate(80.000000, 80.000000)\">\n            <path d=\"M5.29777586e-31,8 C1.59060409e-15,3.581722 3.581722,0 8,0 L40,0 C44.418278,0 48,3.581722 48,8 C48,12.418278 44.418278,16 40,16 L16,16 L16,40 C16,44.418278 12.418278,48 8,48 C3.581722,48 -3.55271368e-15,44.418278 0,40 L3.55271368e-15,8 Z\"></path>\n        </g>\n        <g transform=\"translate(24.000000, 104.000000) rotate(-90.000000) translate(-24.000000, -104.000000) translate(0.000000, 80.000000)\">\n            <path d=\"M5.29777586e-31,8 C1.59060409e-15,3.581722 3.581722,0 8,0 L40,0 C44.418278,0 48,3.581722 48,8 C48,12.418278 44.418278,16 40,16 L16,16 L16,40 C16,44.418278 12.418278,48 8,48 C3.581722,48 -3.55271368e-15,44.418278 0,40 L3.55271368e-15,8 Z\"></path>\n        </g>\n        <g transform=\"translate(104.000000, 24.000000) rotate(90.000000) translate(-104.000000, -24.000000) translate(80.000000, 0.000000)\">\n            <path d=\"M5.29777586e-31,8 C1.59060409e-15,3.581722 3.581722,0 8,0 L40,0 C44.418278,0 48,3.581722 48,8 C48,12.418278 44.418278,16 40,16 L16,16 L16,40 C16,44.418278 12.418278,48 8,48 C3.581722,48 -3.55271368e-15,44.418278 0,40 L3.55271368e-15,8 Z\"></path>\n        </g>\n    </g>\n</svg>"
        },
        "$:/core/images/github": {
            "title": "$:/core/images/github",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-github tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n        <g fill-rule=\"evenodd\">\n            <path d=\"M63.9383506,1.60695328 C28.6017227,1.60695328 -0.055756057,30.2970814 -0.055756057,65.6906208 C-0.055756057,94.003092 18.2804728,118.019715 43.7123154,126.493393 C46.9143781,127.083482 48.0812647,125.104717 48.0812647,123.405261 C48.0812647,121.886765 48.02626,117.85449 47.9948287,112.508284 C30.1929317,116.379268 26.4368926,103.916587 26.4368926,103.916587 C23.5255693,96.5129372 19.3294921,94.5420399 19.3294921,94.5420399 C13.5186324,90.5687739 19.7695302,90.6474524 19.7695302,90.6474524 C26.1933001,91.099854 29.5721638,97.2525155 29.5721638,97.2525155 C35.2808718,107.044059 44.5531024,104.215566 48.1991321,102.575118 C48.7806109,98.4366275 50.4346826,95.612068 52.2616263,94.0109598 C38.0507543,92.3941159 23.1091047,86.8944862 23.1091047,62.3389152 C23.1091047,55.3443933 25.6039634,49.6205298 29.6978889,45.1437211 C29.0378318,43.5229433 26.8415704,37.0044266 30.3265147,28.1845627 C30.3265147,28.1845627 35.6973364,26.4615028 47.9241083,34.7542205 C53.027764,33.330139 58.5046663,32.6220321 63.9462084,32.5944947 C69.3838216,32.6220321 74.856795,33.330139 79.9683085,34.7542205 C92.1872225,26.4615028 97.5501864,28.1845627 97.5501864,28.1845627 C101.042989,37.0044266 98.8467271,43.5229433 98.190599,45.1437211 C102.292382,49.6205298 104.767596,55.3443933 104.767596,62.3389152 C104.767596,86.9574291 89.8023734,92.3744463 75.5482834,93.9598188 C77.8427675,95.9385839 79.8897303,99.8489072 79.8897303,105.828476 C79.8897303,114.392635 79.8111521,121.304544 79.8111521,123.405261 C79.8111521,125.120453 80.966252,127.114954 84.2115327,126.489459 C109.623731,117.996111 127.944244,93.9952241 127.944244,65.6906208 C127.944244,30.2970814 99.2867652,1.60695328 63.9383506,1.60695328\"></path>\n        </g>\n    </svg>\n"
        },
        "$:/core/images/gitter": {
            "title": "$:/core/images/gitter",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-gitter tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 18 25\">\n  <rect x=\"15\" y=\"5\" width=\"2\" height=\"10\"></rect>\n  <rect x=\"10\" y=\"5\" width=\"2\" height=\"20\"></rect>\n  <rect x=\"5\" y=\"5\" width=\"2\" height=\"20\"></rect>\n  <rect width=\"2\" height=\"15\"></rect>\n</svg>\n"
        },
        "$:/core/images/globe": {
            "title": "$:/core/images/globe",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-globe tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M72.8111354,37.1275855 C72.8111354,37.9789875 72.8111354,38.8303894 72.8111354,39.6817913 C72.8111354,41.8784743 73.7885604,46.5631866 72.8111354,48.5143758 C71.3445471,51.4420595 68.1617327,52.0543531 66.4170946,54.3812641 C65.2352215,55.9575873 61.7987417,64.9821523 62.7262858,67.3005778 C66.6959269,77.2228204 74.26087,70.4881886 80.6887657,76.594328 C81.5527211,77.415037 83.5758191,78.8666631 83.985137,79.8899578 C87.2742852,88.1128283 76.4086873,94.8989524 87.7419325,106.189751 C88.9872885,107.430443 91.555495,102.372895 91.8205061,101.575869 C92.6726866,99.0129203 98.5458765,96.1267309 100.908882,94.5234439 C102.928056,93.1534443 105.782168,91.8557166 107.236936,89.7775886 C109.507391,86.5342557 108.717505,82.2640435 110.334606,79.0328716 C112.473794,74.7585014 114.163418,69.3979002 116.332726,65.0674086 C120.230862,57.2857361 121.054075,67.1596684 121.400359,67.5059523 C121.757734,67.8633269 122.411167,67.5059523 122.916571,67.5059523 C123.011132,67.5059523 124.364019,67.6048489 124.432783,67.5059523 C125.0832,66.5705216 123.390209,49.5852316 123.114531,48.2089091 C121.710578,41.1996597 116.17083,32.4278331 111.249523,27.7092761 C104.975994,21.6942076 104.160516,11.5121686 92.9912146,12.7547535 C92.7872931,12.7774397 87.906794,22.9027026 85.2136766,26.2672064 C81.486311,30.9237934 82.7434931,22.1144904 78.6876623,22.1144904 C78.6065806,22.1144904 77.5045497,22.0107615 77.4353971,22.1144904 C76.8488637,22.9942905 75.9952305,26.0101404 75.1288269,26.5311533 C74.8635477,26.6906793 73.4071369,26.2924966 73.2826811,26.5311533 C71.0401728,30.8313939 81.5394677,28.7427264 79.075427,34.482926 C76.7225098,39.9642538 72.747373,32.4860199 72.747373,43.0434079\"></path>\n        <path d=\"M44.4668556,7.01044608 C54.151517,13.1403033 45.1489715,19.2084878 47.1611905,23.2253896 C48.8157833,26.5283781 51.4021933,28.6198851 48.8753629,33.038878 C46.8123257,36.6467763 42.0052989,37.0050492 39.251679,39.7621111 C36.2115749,42.8060154 33.7884281,48.7028116 32.4624592,52.6732691 C30.8452419,57.5158356 47.0088721,59.5388126 44.5246867,63.6811917 C43.1386839,65.9923513 37.7785192,65.1466282 36.0880227,63.8791519 C34.9234453,63.0059918 32.4946425,63.3331166 31.6713597,62.0997342 C29.0575851,58.1839669 29.4107339,54.0758543 28.0457962,49.9707786 C27.1076833,47.1493864 21.732611,47.8501656 20.2022714,49.3776393 C19.6790362,49.8998948 19.8723378,51.1703278 19.8723378,51.8829111 C19.8723378,57.1682405 26.9914913,55.1986414 26.9914913,58.3421973 C26.9914913,72.9792302 30.9191897,64.8771867 38.1313873,69.6793121 C48.1678018,76.3618966 45.9763926,76.981595 53.0777543,84.0829567 C56.7511941,87.7563965 60.8192437,87.7689005 62.503478,93.3767069 C64.1046972,98.7081071 53.1759798,98.7157031 50.786754,100.825053 C49.663965,101.816317 47.9736094,104.970571 46.5680513,105.439676 C44.7757187,106.037867 43.334221,105.93607 41.6242359,107.219093 C39.1967302,109.040481 37.7241465,112.151588 37.6034934,112.030935 C35.4555278,109.88297 34.0848666,96.5511248 33.7147244,93.7726273 C33.1258872,89.3524817 28.1241923,88.2337027 26.7275443,84.7420826 C25.1572737,80.8164061 28.2518481,75.223612 25.599097,70.9819941 C19.0797019,60.557804 13.7775712,56.4811506 10.2493953,44.6896152 C9.3074899,41.5416683 13.5912267,38.1609942 15.1264825,35.8570308 C17.0029359,33.0410312 17.7876232,30.0028946 19.8723378,27.2224065 C22.146793,24.1888519 40.8551166,9.46076832 43.8574051,8.63490613 L44.4668556,7.01044608 Z\"></path>\n        <path d=\"M64,126 C98.2416545,126 126,98.2416545 126,64 C126,29.7583455 98.2416545,2 64,2 C29.7583455,2 2,29.7583455 2,64 C2,98.2416545 29.7583455,126 64,126 Z M64,120 C94.927946,120 120,94.927946 120,64 C120,33.072054 94.927946,8 64,8 C33.072054,8 8,33.072054 8,64 C8,94.927946 33.072054,120 64,120 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/heading-1": {
            "title": "$:/core/images/heading-1",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-heading-1 tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M14,30 L27.25,30 L27.25,60.104 L61.7,60.104 L61.7,30 L74.95,30 L74.95,105.684 L61.7,105.684 L61.7,71.552 L27.25,71.552 L27.25,105.684 L14,105.684 L14,30 Z M84.3350766,43.78 C86.8790893,43.78 89.3523979,43.5680021 91.7550766,43.144 C94.1577553,42.7199979 96.3307336,42.0133383 98.2740766,41.024 C100.21742,40.0346617 101.87807,38.7626744 103.256077,37.208 C104.634084,35.6533256 105.535075,33.7453446 105.959077,31.484 L115.817077,31.484 L115.817077,105.684 L102.567077,105.684 L102.567077,53.32 L84.3350766,53.32 L84.3350766,43.78 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/heading-2": {
            "title": "$:/core/images/heading-2",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-heading-2 tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M6,30 L19.25,30 L19.25,60.104 L53.7,60.104 L53.7,30 L66.95,30 L66.95,105.684 L53.7,105.684 L53.7,71.552 L19.25,71.552 L19.25,105.684 L6,105.684 L6,30 Z M125.519077,105.684 L74.8510766,105.684 C74.9217436,99.5359693 76.4057288,94.1653563 79.3030766,89.572 C82.2004244,84.9786437 86.1577182,80.986017 91.1750766,77.594 C93.5777553,75.8273245 96.0863969,74.113675 98.7010766,72.453 C101.315756,70.792325 103.718399,69.0080095 105.909077,67.1 C108.099754,65.1919905 109.901736,63.1250111 111.315077,60.899 C112.728417,58.6729889 113.47041,56.1113478 113.541077,53.214 C113.541077,51.8713266 113.382078,50.4403409 113.064077,48.921 C112.746075,47.4016591 112.127748,45.9883399 111.209077,44.681 C110.290405,43.3736601 109.018418,42.2783377 107.393077,41.395 C105.767735,40.5116622 103.647756,40.07 101.033077,40.07 C98.6303979,40.07 96.6340846,40.5469952 95.0440766,41.501 C93.4540687,42.4550048 92.1820814,43.762325 91.2280766,45.423 C90.2740719,47.083675 89.5674123,49.0446554 89.1080766,51.306 C88.648741,53.5673446 88.3837436,56.0053203 88.3130766,58.62 L76.2290766,58.62 C76.2290766,54.5213128 76.7767378,50.7230175 77.8720766,47.225 C78.9674154,43.7269825 80.610399,40.7060127 82.8010766,38.162 C84.9917542,35.6179873 87.6593942,33.6216739 90.8040766,32.173 C93.948759,30.7243261 97.6057224,30 101.775077,30 C106.297766,30 110.078395,30.7419926 113.117077,32.226 C116.155758,33.7100074 118.611401,35.5826554 120.484077,37.844 C122.356753,40.1053446 123.681739,42.5609868 124.459077,45.211 C125.236414,47.8610133 125.625077,50.3873213 125.625077,52.79 C125.625077,55.7580148 125.165748,58.4433213 124.247077,60.846 C123.328405,63.2486787 122.091751,65.4569899 120.537077,67.471 C118.982402,69.4850101 117.215753,71.3399915 115.237077,73.036 C113.2584,74.7320085 111.209087,76.3219926 109.089077,77.806 C106.969066,79.2900074 104.849087,80.7033266 102.729077,82.046 C100.609066,83.3886734 98.6480856,84.7313266 96.8460766,86.074 C95.0440676,87.4166734 93.47175,88.8123261 92.1290766,90.261 C90.7864032,91.7096739 89.8677458,93.2466585 89.3730766,94.872 L125.519077,94.872 L125.519077,105.684 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/heading-3": {
            "title": "$:/core/images/heading-3",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-heading-3 tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M6,30 L19.25,30 L19.25,60.104 L53.7,60.104 L53.7,30 L66.95,30 L66.95,105.684 L53.7,105.684 L53.7,71.552 L19.25,71.552 L19.25,105.684 L6,105.684 L6,30 Z M94.8850766,62.224 C96.8637532,62.294667 98.8424001,62.1533351 100.821077,61.8 C102.799753,61.4466649 104.566402,60.8283378 106.121077,59.945 C107.675751,59.0616623 108.930072,57.8426744 109.884077,56.288 C110.838081,54.7333256 111.315077,52.8253446 111.315077,50.564 C111.315077,47.3839841 110.237421,44.8400095 108.082077,42.932 C105.926733,41.0239905 103.153094,40.07 99.7610766,40.07 C97.641066,40.07 95.8037511,40.4939958 94.2490766,41.342 C92.6944022,42.1900042 91.4047484,43.3383261 90.3800766,44.787 C89.3554048,46.2356739 88.5957458,47.860991 88.1010766,49.663 C87.6064075,51.465009 87.3944096,53.3199905 87.4650766,55.228 L75.3810766,55.228 C75.5224107,51.623982 76.1937373,48.2850154 77.3950766,45.211 C78.596416,42.1369846 80.2393995,39.4693446 82.3240766,37.208 C84.4087537,34.9466554 86.9350618,33.1800064 89.9030766,31.908 C92.8710915,30.6359936 96.2277246,30 99.9730766,30 C102.870424,30 105.714729,30.4239958 108.506077,31.272 C111.297424,32.1200042 113.806065,33.3566585 116.032077,34.982 C118.258088,36.6073415 120.042403,38.6743208 121.385077,41.183 C122.72775,43.6916792 123.399077,46.5713171 123.399077,49.822 C123.399077,53.5673521 122.551085,56.8356527 120.855077,59.627 C119.159068,62.4183473 116.509095,64.4499936 112.905077,65.722 L112.905077,65.934 C117.145098,66.7820042 120.448731,68.8843166 122.816077,72.241 C125.183422,75.5976835 126.367077,79.6786426 126.367077,84.484 C126.367077,88.017351 125.660417,91.1796527 124.247077,93.971 C122.833736,96.7623473 120.925755,99.129657 118.523077,101.073 C116.120398,103.016343 113.329093,104.517995 110.149077,105.578 C106.969061,106.638005 103.612428,107.168 100.079077,107.168 C95.7683884,107.168 92.005426,106.549673 88.7900766,105.313 C85.5747272,104.076327 82.8894207,102.327345 80.7340766,100.066 C78.5787325,97.8046554 76.9357489,95.0840159 75.8050766,91.904 C74.6744043,88.7239841 74.0737436,85.1906861 74.0030766,81.304 L86.0870766,81.304 C85.9457426,85.8266893 87.0587315,89.5896517 89.4260766,92.593 C91.7934218,95.5963483 95.3443863,97.098 100.079077,97.098 C104.107097,97.098 107.481396,95.9496782 110.202077,93.653 C112.922757,91.3563219 114.283077,88.0880212 114.283077,83.848 C114.283077,80.9506522 113.717749,78.6540085 112.587077,76.958 C111.456404,75.2619915 109.972419,73.9723378 108.135077,73.089 C106.297734,72.2056623 104.230755,71.6580011 101.934077,71.446 C99.6373985,71.2339989 97.2877553,71.163333 94.8850766,71.234 L94.8850766,62.224 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/heading-4": {
            "title": "$:/core/images/heading-4",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-heading-4 tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M8,30 L21.25,30 L21.25,60.104 L55.7,60.104 L55.7,30 L68.95,30 L68.95,105.684 L55.7,105.684 L55.7,71.552 L21.25,71.552 L21.25,105.684 L8,105.684 L8,30 Z M84.5890766,78.548 L107.061077,78.548 L107.061077,45.9 L106.849077,45.9 L84.5890766,78.548 Z M128.049077,88.088 L118.509077,88.088 L118.509077,105.684 L107.061077,105.684 L107.061077,88.088 L75.2610766,88.088 L75.2610766,76.11 L107.061077,31.484 L118.509077,31.484 L118.509077,78.548 L128.049077,78.548 L128.049077,88.088 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/heading-5": {
            "title": "$:/core/images/heading-5",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-heading-5 tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M6,30 L19.25,30 L19.25,60.104 L53.7,60.104 L53.7,30 L66.95,30 L66.95,105.684 L53.7,105.684 L53.7,71.552 L19.25,71.552 L19.25,105.684 L6,105.684 L6,30 Z M83.7550766,31.484 L122.127077,31.484 L122.127077,42.296 L92.7650766,42.296 L88.9490766,61.164 L89.1610766,61.376 C90.7864181,59.5386575 92.8533974,58.1430048 95.3620766,57.189 C97.8707558,56.2349952 100.361731,55.758 102.835077,55.758 C106.509762,55.758 109.795729,56.3763272 112.693077,57.613 C115.590424,58.8496729 118.0284,60.5809889 120.007077,62.807 C121.985753,65.0330111 123.487405,67.6653181 124.512077,70.704 C125.536748,73.7426819 126.049077,77.028649 126.049077,80.562 C126.049077,83.5300148 125.572081,86.5863176 124.618077,89.731 C123.664072,92.8756824 122.144754,95.7376538 120.060077,98.317 C117.9754,100.896346 115.30776,103.016325 112.057077,104.677 C108.806394,106.337675 104.919766,107.168 100.397077,107.168 C96.7930586,107.168 93.454092,106.691005 90.3800766,105.737 C87.3060613,104.782995 84.6030883,103.35201 82.2710766,101.444 C79.939065,99.5359905 78.0840835,97.1863473 76.7060766,94.395 C75.3280697,91.6036527 74.5684107,88.3353521 74.4270766,84.59 L86.5110766,84.59 C86.8644117,88.6180201 88.2423979,91.7096559 90.6450766,93.865 C93.0477553,96.0203441 96.2277235,97.098 100.185077,97.098 C102.729089,97.098 104.884401,96.6740042 106.651077,95.826 C108.417752,94.9779958 109.848738,93.8120074 110.944077,92.328 C112.039415,90.8439926 112.816741,89.1126766 113.276077,87.134 C113.735412,85.1553234 113.965077,83.0353446 113.965077,80.774 C113.965077,78.7246564 113.682413,76.763676 113.117077,74.891 C112.55174,73.018324 111.703749,71.3753404 110.573077,69.962 C109.442404,68.5486596 107.976086,67.4180042 106.174077,66.57 C104.372068,65.7219958 102.269755,65.298 99.8670766,65.298 C97.3230639,65.298 94.9380878,65.7749952 92.7120766,66.729 C90.4860655,67.6830048 88.8784149,69.4673203 87.8890766,72.082 L75.8050766,72.082 L83.7550766,31.484 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/heading-6": {
            "title": "$:/core/images/heading-6",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-heading-6 tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M6,30 L19.25,30 L19.25,60.104 L53.7,60.104 L53.7,30 L66.95,30 L66.95,105.684 L53.7,105.684 L53.7,71.552 L19.25,71.552 L19.25,105.684 L6,105.684 L6,30 Z M112.587077,50.246 C112.304409,47.2073181 111.226753,44.751676 109.354077,42.879 C107.481401,41.006324 104.955093,40.07 101.775077,40.07 C99.584399,40.07 97.6940846,40.4763293 96.1040766,41.289 C94.5140687,42.1016707 93.1714154,43.1793266 92.0760766,44.522 C90.9807378,45.8646734 90.0974133,47.401658 89.4260766,49.133 C88.7547399,50.864342 88.2070787,52.6839905 87.7830766,54.592 C87.3590745,56.5000095 87.0587442,58.390324 86.8820766,60.263 C86.7054091,62.135676 86.5464107,63.8846585 86.4050766,65.51 L86.6170766,65.722 C88.2424181,62.7539852 90.4860623,60.5456739 93.3480766,59.097 C96.2100909,57.6483261 99.3017267,56.924 102.623077,56.924 C106.297762,56.924 109.583729,57.5599936 112.481077,58.832 C115.378424,60.1040064 117.834067,61.8529889 119.848077,64.079 C121.862087,66.3050111 123.399071,68.9373181 124.459077,71.976 C125.519082,75.0146819 126.049077,78.300649 126.049077,81.834 C126.049077,85.438018 125.466082,88.7769846 124.300077,91.851 C123.134071,94.9250154 121.455754,97.6103219 119.265077,99.907 C117.074399,102.203678 114.459758,103.987994 111.421077,105.26 C108.382395,106.532006 105.025762,107.168 101.351077,107.168 C95.9097161,107.168 91.4400941,106.16101 87.9420766,104.147 C84.4440591,102.13299 81.6880867,99.3770175 79.6740766,95.879 C77.6600666,92.3809825 76.2644138,88.2823568 75.4870766,83.583 C74.7097394,78.8836432 74.3210766,73.8133605 74.3210766,68.372 C74.3210766,63.9199777 74.7980719,59.4326893 75.7520766,54.91 C76.7060814,50.3873107 78.278399,46.2710186 80.4690766,42.561 C82.6597542,38.8509815 85.5393921,35.8300117 89.1080766,33.498 C92.6767611,31.1659883 97.0757171,30 102.305077,30 C105.273091,30 108.064397,30.4946617 110.679077,31.484 C113.293756,32.4733383 115.608067,33.8513245 117.622077,35.618 C119.636087,37.3846755 121.27907,39.5046543 122.551077,41.978 C123.823083,44.4513457 124.529743,47.2073181 124.671077,50.246 L112.587077,50.246 Z M100.927077,97.098 C103.117754,97.098 105.025735,96.6563378 106.651077,95.773 C108.276418,94.8896623 109.636738,93.7413404 110.732077,92.328 C111.827415,90.9146596 112.640074,89.271676 113.170077,87.399 C113.700079,85.526324 113.965077,83.6006766 113.965077,81.622 C113.965077,79.6433234 113.700079,77.7353425 113.170077,75.898 C112.640074,74.0606575 111.827415,72.4530069 110.732077,71.075 C109.636738,69.6969931 108.276418,68.5840042 106.651077,67.736 C105.025735,66.8879958 103.117754,66.464 100.927077,66.464 C98.736399,66.464 96.8107516,66.8703293 95.1500766,67.683 C93.4894017,68.4956707 92.0937489,69.5909931 90.9630766,70.969 C89.8324043,72.3470069 88.9844128,73.9546575 88.4190766,75.792 C87.8537405,77.6293425 87.5710766,79.5726564 87.5710766,81.622 C87.5710766,83.6713436 87.8537405,85.6146575 88.4190766,87.452 C88.9844128,89.2893425 89.8324043,90.9323261 90.9630766,92.381 C92.0937489,93.8296739 93.4894017,94.9779958 95.1500766,95.826 C96.8107516,96.6740042 98.736399,97.098 100.927077,97.098 L100.927077,97.098 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/help": {
            "title": "$:/core/images/help",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-help tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M36.0548906,111.44117 C30.8157418,115.837088 20.8865444,118.803477 9.5,118.803477 C7.86465619,118.803477 6.25937294,118.742289 4.69372699,118.624467 C12.612543,115.984876 18.7559465,110.02454 21.0611049,102.609942 C8.74739781,92.845129 1.04940554,78.9359851 1.04940554,63.5 C1.04940554,33.9527659 29.2554663,10 64.0494055,10 C98.8433448,10 127.049406,33.9527659 127.049406,63.5 C127.049406,93.0472341 98.8433448,117 64.0494055,117 C53.9936953,117 44.48824,114.999337 36.0548906,111.44117 L36.0548906,111.44117 Z M71.4042554,77.5980086 C71.406883,77.2865764 71.4095079,76.9382011 71.4119569,76.5610548 C71.4199751,75.3262169 71.4242825,74.0811293 71.422912,72.9158546 C71.4215244,71.736154 71.4143321,70.709635 71.4001396,69.8743525 C71.4078362,68.5173028 71.9951951,67.7870427 75.1273009,65.6385471 C75.2388969,65.5619968 76.2124091,64.8981068 76.5126553,64.6910879 C79.6062455,62.5580654 81.5345849,60.9050204 83.2750652,58.5038955 C85.6146327,55.2762841 86.8327108,51.426982 86.8327108,46.8554323 C86.8327108,33.5625756 76.972994,24.9029551 65.3778484,24.9029551 C54.2752771,24.9029551 42.8794554,34.5115163 41.3121702,47.1975534 C40.9043016,50.4989536 43.2499725,53.50591 46.5513726,53.9137786 C49.8527728,54.3216471 52.8597292,51.9759763 53.2675978,48.6745761 C54.0739246,42.1479456 60.2395837,36.9492759 65.3778484,36.9492759 C70.6427674,36.9492759 74.78639,40.5885487 74.78639,46.8554323 C74.78639,50.4892974 73.6853224,52.008304 69.6746221,54.7736715 C69.4052605,54.9593956 68.448509,55.6118556 68.3131127,55.7047319 C65.6309785,57.5445655 64.0858213,58.803255 62.6123358,60.6352315 C60.5044618,63.2559399 59.3714208,66.3518252 59.3547527,69.9487679 C59.3684999,70.8407274 59.3752803,71.8084521 59.3765995,72.9300232 C59.3779294,74.0607297 59.3737237,75.2764258 59.36589,76.482835 C59.3634936,76.8518793 59.3609272,77.1924914 59.3583633,77.4963784 C59.3568319,77.6778944 59.3556368,77.8074256 59.3549845,77.8730928 C59.3219814,81.1994287 61.9917551,83.9227111 65.318091,83.9557142 C68.644427,83.9887173 71.3677093,81.3189435 71.4007124,77.9926076 C71.4014444,77.9187458 71.402672,77.7856841 71.4042554,77.5980086 Z M65.3778489,102.097045 C69.5359735,102.097045 72.9067994,98.7262189 72.9067994,94.5680944 C72.9067994,90.4099698 69.5359735,87.0391439 65.3778489,87.0391439 C61.2197243,87.0391439 57.8488984,90.4099698 57.8488984,94.5680944 C57.8488984,98.7262189 61.2197243,102.097045 65.3778489,102.097045 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/home-button": {
            "title": "$:/core/images/home-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-home-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M112.9847,119.501583 C112.99485,119.336814 113,119.170705 113,119.003406 L113,67.56802 C116.137461,70.5156358 121.076014,70.4518569 124.133985,67.3938855 C127.25818,64.2696912 127.260618,59.2068102 124.131541,56.0777326 L70.3963143,2.34250601 C68.8331348,0.779326498 66.7828947,-0.000743167069 64.7337457,1.61675364e-05 C62.691312,-0.00409949529 60.6426632,0.777559815 59.077717,2.34250601 L33,28.420223 L33,28.420223 L33,8.00697327 C33,3.58484404 29.4092877,0 25,0 C20.581722,0 17,3.59075293 17,8.00697327 L17,44.420223 L5.3424904,56.0777326 C2.21694607,59.2032769 2.22220878,64.2760483 5.34004601,67.3938855 C8.46424034,70.5180798 13.5271213,70.5205187 16.6561989,67.3914411 L17,67.04764 L17,119.993027 C17,119.994189 17.0000002,119.995351 17.0000007,119.996514 C17.0000002,119.997675 17,119.998838 17,120 C17,124.418278 20.5881049,128 24.9992458,128 L105.000754,128 C109.418616,128 113,124.409288 113,120 C113,119.832611 112.99485,119.666422 112.9847,119.501583 Z M97,112 L97,51.5736087 L97,51.5736087 L64.7370156,19.3106244 L33,51.04764 L33,112 L97,112 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/import-button": {
            "title": "$:/core/images/import-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-import-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M105.449437,94.2138951 C105.449437,94.2138951 110.049457,94.1897106 110.049457,99.4026111 C110.049457,104.615512 105.163246,104.615511 105.163246,104.615511 L45.0075072,105.157833 C45.0075072,105.157833 0.367531803,106.289842 0.367532368,66.6449212 C0.367532934,27.0000003 45.0428249,27.0000003 45.0428249,27.0000003 L105.532495,27.0000003 C105.532495,27.0000003 138.996741,25.6734987 138.996741,55.1771866 C138.996741,84.6808745 105.727102,82.8457535 105.727102,82.8457535 L56.1735087,82.8457535 C56.1735087,82.8457535 22.6899229,85.1500223 22.6899229,66.0913753 C22.6899229,47.0327282 56.1735087,49.3383013 56.1735087,49.3383013 L105.727102,49.3383013 C105.727102,49.3383013 111.245209,49.3383024 111.245209,54.8231115 C111.245209,60.3079206 105.727102,60.5074524 105.727102,60.5074524 L56.1735087,60.5074524 C56.1735087,60.5074524 37.48913,60.5074528 37.48913,66.6449195 C37.48913,72.7823862 56.1735087,71.6766023 56.1735087,71.6766023 L105.727102,71.6766029 C105.727102,71.6766029 127.835546,73.1411469 127.835546,55.1771866 C127.835546,35.5304025 105.727102,38.3035317 105.727102,38.3035317 L45.0428249,38.3035317 C45.0428249,38.3035317 11.5287276,38.3035313 11.5287276,66.6449208 C11.5287276,94.9863103 45.0428244,93.9579678 45.0428244,93.9579678 L105.449437,94.2138951 Z\" transform=\"translate(69.367532, 66.000000) rotate(-45.000000) translate(-69.367532, -66.000000) \"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/info-button": {
            "title": "$:/core/images/info-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-info-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n    <g fill-rule=\"evenodd\">\n        <g transform=\"translate(0.049406, 0.000000)\">\n            <path d=\"M64,128 C99.346224,128 128,99.346224 128,64 C128,28.653776 99.346224,0 64,0 C28.653776,0 0,28.653776 0,64 C0,99.346224 28.653776,128 64,128 Z M64,112 C90.509668,112 112,90.509668 112,64 C112,37.490332 90.509668,16 64,16 C37.490332,16 16,37.490332 16,64 C16,90.509668 37.490332,112 64,112 Z\"></path>\n            <circle cx=\"64\" cy=\"32\" r=\"8\"></circle>\n            <rect x=\"56\" y=\"48\" width=\"16\" height=\"56\" rx=\"8\"></rect>\n        </g>\n    </g>\n</svg>"
        },
        "$:/core/images/italic": {
            "title": "$:/core/images/italic",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-italic tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n         <polygon points=\"66.7114846 0 89.1204482 0 62.4089636 128 40 128\"></polygon>\n    </g>\n</svg>"
        },
        "$:/core/images/left-arrow": {
            "title": "$:/core/images/left-arrow",
            "created": "20150315234410875",
            "modified": "20150315235324760",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-left-arrow tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <path transform=\"rotate(135, 63.8945, 64.1752)\" d=\"m109.07576,109.35336c-1.43248,1.43361 -3.41136,2.32182 -5.59717,2.32182l-79.16816,0c-4.36519,0 -7.91592,-3.5444 -7.91592,-7.91666c0,-4.36337 3.54408,-7.91667 7.91592,-7.91667l71.25075,0l0,-71.25075c0,-4.3652 3.54442,-7.91592 7.91667,-7.91592c4.36336,0 7.91667,3.54408 7.91667,7.91592l0,79.16815c0,2.1825 -0.88602,4.16136 -2.3185,5.59467l-0.00027,-0.00056z\"/>\n</svg>\n"
        },
        "$:/core/images/line-width": {
            "title": "$:/core/images/line-width",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-line-width tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M128,-97 L112.992786,-97 C112.452362,-97 112,-96.5522847 112,-96 C112,-95.4438648 112.444486,-95 112.992786,-95 L128,-95 L128,-97 Z M128,-78.6794919 L111.216185,-88.3696322 C110.748163,-88.6398444 110.132549,-88.4782926 109.856406,-88 C109.578339,-87.5183728 109.741342,-86.9117318 110.216185,-86.6375814 L128,-76.3700908 L128,-78.6794919 Z M78.6794919,-128 L88.3696322,-111.216185 C88.6437826,-110.741342 88.4816272,-110.134474 88,-109.856406 C87.5217074,-109.580264 86.9077936,-109.748163 86.6375814,-110.216185 L76.3700908,-128 L78.6794919,-128 Z M97,-128 L97,-112.992786 C97,-112.444486 96.5561352,-112 96,-112 C95.4477153,-112 95,-112.452362 95,-112.992786 L95,-128 L97,-128 Z M115.629909,-128 L105.362419,-110.216185 C105.088268,-109.741342 104.481627,-109.578339 104,-109.856406 C103.521707,-110.132549 103.360156,-110.748163 103.630368,-111.216185 L113.320508,-128 L115.629909,-128 Z M128,-113.320508 L111.216185,-103.630368 C110.741342,-103.356217 110.134474,-103.518373 109.856406,-104 C109.580264,-104.478293 109.748163,-105.092206 110.216185,-105.362419 L128,-115.629909 L128,-113.320508 Z M48,-96 C48,-96.5522847 48.4523621,-97 48.9927864,-97 L79.0072136,-97 C79.5555144,-97 80,-96.5561352 80,-96 C80,-95.4477153 79.5476379,-95 79.0072136,-95 L48.9927864,-95 C48.4444856,-95 48,-95.4438648 48,-96 Z M54.4307806,-120 C54.706923,-120.478293 55.3225377,-120.639844 55.7905589,-120.369632 L81.7838153,-105.362419 C82.2586577,-105.088268 82.4216611,-104.481627 82.1435935,-104 C81.8674512,-103.521707 81.2518365,-103.360156 80.7838153,-103.630368 L54.7905589,-118.637581 C54.3157165,-118.911732 54.152713,-119.518373 54.4307806,-120 Z M104,-82.1435935 C104.478293,-82.4197359 105.092206,-82.2518365 105.362419,-81.7838153 L120.369632,-55.7905589 C120.643783,-55.3157165 120.481627,-54.7088482 120,-54.4307806 C119.521707,-54.1546382 118.907794,-54.3225377 118.637581,-54.7905589 L103.630368,-80.7838153 C103.356217,-81.2586577 103.518373,-81.865526 104,-82.1435935 Z M96,-80 C96.5522847,-80 97,-79.5476379 97,-79.0072136 L97,-48.9927864 C97,-48.4444856 96.5561352,-48 96,-48 C95.4477153,-48 95,-48.4523621 95,-48.9927864 L95,-79.0072136 C95,-79.5555144 95.4438648,-80 96,-80 Z M88,-82.1435935 C88.4782926,-81.8674512 88.6398444,-81.2518365 88.3696322,-80.7838153 L73.3624186,-54.7905589 C73.0882682,-54.3157165 72.4816272,-54.152713 72,-54.4307806 C71.5217074,-54.706923 71.3601556,-55.3225377 71.6303678,-55.7905589 L86.6375814,-81.7838153 C86.9117318,-82.2586577 87.5183728,-82.4216611 88,-82.1435935 Z M82.1435935,-88 C82.4197359,-87.5217074 82.2518365,-86.9077936 81.7838153,-86.6375814 L55.7905589,-71.6303678 C55.3157165,-71.3562174 54.7088482,-71.5183728 54.4307806,-72 C54.1546382,-72.4782926 54.3225377,-73.0922064 54.7905589,-73.3624186 L80.7838153,-88.3696322 C81.2586577,-88.6437826 81.865526,-88.4816272 82.1435935,-88 Z M1.30626177e-08,-41.9868843 L15.0170091,-57.9923909 L20.7983821,-52.9749272 L44.7207091,-81.2095939 L73.4260467,-42.1002685 L85.984793,-56.6159488 L104.48741,-34.0310661 L127.969109,-47.4978019 L127.969109,7.99473128e-07 L1.30626177e-08,7.99473128e-07 L1.30626177e-08,-41.9868843 Z M96,-84 C102.627417,-84 108,-89.372583 108,-96 C108,-102.627417 102.627417,-108 96,-108 C89.372583,-108 84,-102.627417 84,-96 C84,-89.372583 89.372583,-84 96,-84 Z\"></path>\n        <path d=\"M16,18 L112,18 C113.104569,18 114,17.1045695 114,16 C114,14.8954305 113.104569,14 112,14 L16,14 C14.8954305,14 14,14.8954305 14,16 C14,17.1045695 14.8954305,18 16,18 L16,18 Z M16,35 L112,35 C114.209139,35 116,33.209139 116,31 C116,28.790861 114.209139,27 112,27 L16,27 C13.790861,27 12,28.790861 12,31 C12,33.209139 13.790861,35 16,35 L16,35 Z M16,56 L112,56 C115.313708,56 118,53.3137085 118,50 C118,46.6862915 115.313708,44 112,44 L16,44 C12.6862915,44 10,46.6862915 10,50 C10,53.3137085 12.6862915,56 16,56 L16,56 Z M16,85 L112,85 C117.522847,85 122,80.5228475 122,75 C122,69.4771525 117.522847,65 112,65 L16,65 C10.4771525,65 6,69.4771525 6,75 C6,80.5228475 10.4771525,85 16,85 L16,85 Z M16,128 L112,128 C120.836556,128 128,120.836556 128,112 C128,103.163444 120.836556,96 112,96 L16,96 C7.163444,96 0,103.163444 0,112 C0,120.836556 7.163444,128 16,128 L16,128 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/link": {
            "title": "$:/core/images/link",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-link tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M128.719999,57.568543 C130.219553,53.8628171 131.045202,49.8121445 131.045202,45.5685425 C131.045202,27.8915447 116.718329,13.5685425 99.0452364,13.5685425 L67.0451674,13.5685425 C49.3655063,13.5685425 35.0452019,27.8954305 35.0452019,45.5685425 C35.0452019,63.2455403 49.3720745,77.5685425 67.0451674,77.5685425 L99.0452364,77.5685425 C100.406772,77.5685425 101.748384,77.4835732 103.065066,77.3186499 C96.4792444,73.7895096 91.1190212,68.272192 87.7873041,61.5685425 L67.0506214,61.5685425 C58.2110723,61.5685425 51.0452019,54.4070414 51.0452019,45.5685425 C51.0452019,36.7319865 58.2005234,29.5685425 67.0506214,29.5685425 L99.0397824,29.5685425 C107.879331,29.5685425 115.045202,36.7300436 115.045202,45.5685425 C115.045202,48.9465282 113.99957,52.0800164 112.21335,54.6623005 C114.314383,56.4735917 117.050039,57.5685425 120.041423,57.5685425 L128.720003,57.5685425 Z\" transform=\"translate(83.045202, 45.568542) rotate(-225.000000) translate(-83.045202, -45.568542)\"></path>\n        <path d=\"M-0.106255113,71.0452019 C-1.60580855,74.7509276 -2.43145751,78.8016001 -2.43145751,83.0452019 C-2.43145751,100.7222 11.8954151,115.045202 29.568508,115.045202 L61.568577,115.045202 C79.2482381,115.045202 93.5685425,100.718314 93.5685425,83.0452019 C93.5685425,65.3682041 79.2416699,51.0452019 61.568577,51.0452019 L29.568508,51.0452019 C28.206973,51.0452019 26.8653616,51.1301711 25.5486799,51.2950943 C32.1345,54.8242347 37.4947231,60.3415524 40.8264403,67.0452019 L61.563123,67.0452019 C70.4026721,67.0452019 77.5685425,74.206703 77.5685425,83.0452019 C77.5685425,91.8817579 70.413221,99.0452019 61.563123,99.0452019 L29.573962,99.0452019 C20.7344129,99.0452019 13.5685425,91.8837008 13.5685425,83.0452019 C13.5685425,79.6672162 14.6141741,76.533728 16.4003949,73.9514439 C14.2993609,72.1401527 11.5637054,71.0452019 8.5723215,71.0452019 L-0.106255113,71.0452019 Z\" transform=\"translate(45.568542, 83.045202) rotate(-225.000000) translate(-45.568542, -83.045202)\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/linkify": {
            "title": "$:/core/images/linkify",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-linkify-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\"><path d=\"M17.031 31.919H9.048V96.85h7.983v6.92H0V25h17.031v6.919zm24.66 0h-7.983V96.85h7.983v6.92H24.66V25h17.03v6.919zM67.77 56.422l11.975-3.903 2.306 7.096-12.063 3.903 7.628 10.379-6.12 4.435-7.63-10.467-7.45 10.2-5.943-4.523L58.1 63.518 45.95 59.35l2.306-7.096 12.064 4.17V43.825h7.45v12.596zM86.31 96.85h7.982V31.92H86.31V25h17.031v78.77H86.31v-6.92zm24.659 0h7.983V31.92h-7.983V25H128v78.77h-17.031v-6.92z\" fill-rule=\"evenodd\"/></svg>"
        },
        "$:/core/images/list-bullet": {
            "title": "$:/core/images/list-bullet",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-list-bullet tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M11.6363636,40.2727273 C18.0629498,40.2727273 23.2727273,35.0629498 23.2727273,28.6363636 C23.2727273,22.2097775 18.0629498,17 11.6363636,17 C5.20977746,17 0,22.2097775 0,28.6363636 C0,35.0629498 5.20977746,40.2727273 11.6363636,40.2727273 Z M11.6363636,75.1818182 C18.0629498,75.1818182 23.2727273,69.9720407 23.2727273,63.5454545 C23.2727273,57.1188684 18.0629498,51.9090909 11.6363636,51.9090909 C5.20977746,51.9090909 0,57.1188684 0,63.5454545 C0,69.9720407 5.20977746,75.1818182 11.6363636,75.1818182 Z M11.6363636,110.090909 C18.0629498,110.090909 23.2727273,104.881132 23.2727273,98.4545455 C23.2727273,92.0279593 18.0629498,86.8181818 11.6363636,86.8181818 C5.20977746,86.8181818 0,92.0279593 0,98.4545455 C0,104.881132 5.20977746,110.090909 11.6363636,110.090909 Z M34.9090909,22.8181818 L128,22.8181818 L128,34.4545455 L34.9090909,34.4545455 L34.9090909,22.8181818 Z M34.9090909,57.7272727 L128,57.7272727 L128,69.3636364 L34.9090909,69.3636364 L34.9090909,57.7272727 Z M34.9090909,92.6363636 L128,92.6363636 L128,104.272727 L34.9090909,104.272727 L34.9090909,92.6363636 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/list-number": {
            "title": "$:/core/images/list-number",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-list-number tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M33.8390805,22.3563218 L128,22.3563218 L128,34.1264368 L33.8390805,34.1264368 L33.8390805,22.3563218 Z M33.8390805,57.6666667 L128,57.6666667 L128,69.4367816 L33.8390805,69.4367816 L33.8390805,57.6666667 Z M33.8390805,92.9770115 L128,92.9770115 L128,104.747126 L33.8390805,104.747126 L33.8390805,92.9770115 Z M0.379509711,42.6307008 L0.379509711,40.4082314 L1.37821948,40.4082314 C2.20382368,40.4082314 2.82301754,40.268077 3.23581964,39.9877642 C3.64862174,39.7074513 3.85501969,39.0400498 3.85501969,37.9855395 L3.85501969,22.7686318 C3.85501969,21.3270228 3.66193774,20.4327047 3.27576803,20.0856507 C2.88959832,19.7385967 1.79768657,19.5650723 0,19.5650723 L0,17.4226919 C3.50215975,17.2758613 6.25191314,16.4683055 8.24934266,15 L10.3666074,15 L10.3666074,37.865406 C10.3666074,38.786434 10.5164123,39.4404875 10.8160268,39.8275862 C11.1156412,40.2146849 11.764796,40.4082314 12.7635108,40.4082314 L13.7622206,40.4082314 L13.7622206,42.6307008 L0.379509711,42.6307008 Z M0.0798967812,77.9873934 L0.0798967812,76.0852799 C7.27064304,69.5312983 10.8659622,63.5046623 10.8659622,58.005191 C10.8659622,56.4434479 10.5397203,55.195407 9.88722667,54.2610308 C9.23473303,53.3266546 8.36253522,52.8594735 7.27060709,52.8594735 C6.3784219,52.8594735 5.61608107,53.1764892 4.98356173,53.8105302 C4.35104238,54.4445712 4.03478745,55.1753759 4.03478745,56.0029663 C4.03478745,56.9773871 4.28113339,57.8316611 4.77383268,58.5658139 C4.88036225,58.7259926 4.93362624,58.8461249 4.93362624,58.9262143 C4.93362624,59.0730449 4.77383427,59.2065252 4.45424555,59.3266593 C4.2411864,59.4067486 3.70188852,59.6336652 2.83633573,60.0074156 C1.99741533,60.3811661 1.47809145,60.5680386 1.2783485,60.5680386 C1.03865696,60.5680386 0.765679018,60.1976307 0.459406492,59.4568039 C0.153133966,58.715977 0,57.9184322 0,57.0641453 C0,55.1153036 0.848894811,53.5202138 2.5467099,52.2788283 C4.24452499,51.0374428 6.34512352,50.4167594 8.84856852,50.4167594 C11.3120649,50.4167594 13.3793735,51.0874979 15.0505562,52.4289952 C16.7217389,53.7704924 17.5573177,55.5224215 17.5573177,57.684835 C17.5573177,58.9662652 17.2743527,60.2076321 16.7084144,61.4089729 C16.142476,62.6103138 14.7875733,64.4623531 12.6436656,66.9651465 C10.4997579,69.4679398 8.40914641,71.7804862 6.3717683,73.902855 L17.8169822,73.902855 L16.7982982,79.6292176 L14.6810335,79.6292176 C14.7609307,79.3489048 14.8008787,79.0952922 14.8008787,78.8683723 C14.8008787,78.4812736 14.7010087,78.237672 14.5012658,78.1375603 C14.3015228,78.0374485 13.9020429,77.9873934 13.3028141,77.9873934 L0.0798967812,77.9873934 Z M12.2042333,97.1935484 C13.9486551,97.2335931 15.4400468,97.8309175 16.6784531,98.9855395 C17.9168594,100.140162 18.5360532,101.75861 18.5360532,103.840934 C18.5360532,106.830938 17.4041935,109.233584 15.14044,111.048943 C12.8766866,112.864303 10.1402492,113.771969 6.93104577,113.771969 C4.92030005,113.771969 3.26245842,113.388213 1.95747114,112.62069 C0.652483855,111.853166 0,110.848727 0,109.607341 C0,108.833144 0.26964894,108.209124 0.808954909,107.735261 C1.34826088,107.261399 1.93749375,107.024472 2.57667119,107.024472 C3.21584864,107.024472 3.73850152,107.224692 4.14464552,107.625139 C4.55078953,108.025586 4.92696644,108.67964 5.27318756,109.587319 C5.73925445,110.855401 6.51158227,111.489433 7.59019421,111.489433 C8.85523291,111.489433 9.87723568,111.012241 10.6562332,110.057842 C11.4352307,109.103444 11.8247236,107.371536 11.8247236,104.862069 C11.8247236,103.153495 11.7048796,101.838714 11.4651881,100.917686 C11.2254966,99.9966584 10.6728827,99.5361513 9.80732989,99.5361513 C9.22141723,99.5361513 8.62219737,99.843156 8.00965231,100.457175 C7.51695303,100.951059 7.07752513,101.197998 6.69135542,101.197998 C6.3584505,101.197998 6.08880156,101.051169 5.88240051,100.757508 C5.67599946,100.463847 5.57280049,100.183539 5.57280049,99.916574 C5.57280049,99.5962164 5.67599946,99.3225818 5.88240051,99.0956618 C6.08880156,98.8687419 6.57150646,98.5016711 7.33052967,97.9944383 C10.2068282,96.0722929 11.6449559,93.9766521 11.6449559,91.7074527 C11.6449559,90.5194601 11.3386879,89.615131 10.7261429,88.9944383 C10.1135978,88.3737455 9.37455999,88.0634038 8.5090072,88.0634038 C7.71003539,88.0634038 6.98431355,88.3270274 6.33181991,88.8542825 C5.67932627,89.3815377 5.35308434,90.0122321 5.35308434,90.7463849 C5.35308434,91.3871 5.60608828,91.9810874 6.11210376,92.5283648 C6.28521432,92.7285883 6.3717683,92.8954387 6.3717683,93.028921 C6.3717683,93.1490551 5.80250943,93.4560598 4.6639746,93.9499444 C3.52543978,94.4438289 2.80970494,94.6907675 2.51674861,94.6907675 C2.10394651,94.6907675 1.76771758,94.3570667 1.50805174,93.6896552 C1.24838591,93.0222436 1.11855494,92.4082342 1.11855494,91.8476085 C1.11855494,90.0989901 2.04734573,88.6240327 3.90495518,87.4226919 C5.76256463,86.2213511 7.86982116,85.6206897 10.226788,85.6206897 C12.2907985,85.6206897 14.0784711,86.0678487 15.5898594,86.9621802 C17.1012478,87.8565117 17.8569306,89.0778566 17.8569306,90.6262514 C17.8569306,91.987771 17.2876717,93.2491599 16.1491369,94.4104561 C15.0106021,95.5717522 13.6956474,96.4994404 12.2042333,97.1935484 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/list": {
            "title": "$:/core/images/list",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-list tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M0.719999312,185.568543 C2.21955287,181.862817 3.0452019,177.812144 3.0452019,173.568542 C3.0452019,155.891545 -11.2816707,141.568542 -28.9547636,141.568542 L-60.9548326,141.568542 C-78.6344937,141.568542 -92.9547981,155.895431 -92.9547981,173.568542 C-92.9547981,191.24554 -78.6279255,205.568542 -60.9548326,205.568542 L-28.9547636,205.568542 C-27.593228,205.568542 -26.2516158,205.483573 -24.9349335,205.31865 C-31.5207556,201.78951 -36.8809788,196.272192 -40.2126959,189.568542 L-60.9493786,189.568542 C-69.7889277,189.568542 -76.9547981,182.407041 -76.9547981,173.568542 C-76.9547981,164.731986 -69.7994766,157.568542 -60.9493786,157.568542 L-28.9602176,157.568542 C-20.1206685,157.568542 -12.9547981,164.730044 -12.9547981,173.568542 C-12.9547981,176.946528 -14.0004297,180.080016 -15.7866505,182.6623 C-13.6856165,184.473592 -10.949961,185.568542 -7.9585771,185.568542 L0.720002586,185.568542 Z\" transform=\"translate(-44.954798, 173.568542) rotate(-225.000000) translate(44.954798, -173.568542) \"></path>\n        <path d=\"M87.7480315,128 L23.9992458,128 C19.5813843,128 16,124.409247 16,119.993027 L16,8.00697327 C16,3.58484404 19.5881049,0 23.9992458,0 L104.000754,0 C108.418616,0 112,3.59075293 112,8.00697327 L112,104 L91.2492027,104 C90.2848199,104 89.410573,104.391703 88.7768998,105.025201 C88.1373658,105.661376 87.7480315,106.53563 87.7480315,107.501171 L87.7480315,128 Z M95.7480315,127.879386 L111.627417,112 L95.7480315,112 L95.7480315,127.879386 Z M40,15.5089165 C40,13.5709954 41.5636015,12 43.4998101,12 L98.5001899,12 C100.433082,12 102,13.5614718 102,15.5089165 L102,16.4910835 C102,18.4290046 100.436399,20 98.5001899,20 L43.4998101,20 C41.5669183,20 40,18.4385282 40,16.4910835 L40,15.5089165 Z M32,22 C35.3137085,22 38,19.3137085 38,16 C38,12.6862915 35.3137085,10 32,10 C28.6862915,10 26,12.6862915 26,16 C26,19.3137085 28.6862915,22 32,22 Z M40,31.5089165 C40,29.5709954 41.5636015,28 43.4998101,28 L98.5001899,28 C100.433082,28 102,29.5614718 102,31.5089165 L102,32.4910835 C102,34.4290046 100.436399,36 98.5001899,36 L43.4998101,36 C41.5669183,36 40,34.4385282 40,32.4910835 L40,31.5089165 Z M40,47.5089165 C40,45.5709954 41.5636015,44 43.4998101,44 L98.5001899,44 C100.433082,44 102,45.5614718 102,47.5089165 L102,48.4910835 C102,50.4290046 100.436399,52 98.5001899,52 L43.4998101,52 C41.5669183,52 40,50.4385282 40,48.4910835 L40,47.5089165 Z M40,63.5089165 C40,61.5709954 41.5636015,60 43.4998101,60 L98.5001899,60 C100.433082,60 102,61.5614718 102,63.5089165 L102,64.4910835 C102,66.4290046 100.436399,68 98.5001899,68 L43.4998101,68 C41.5669183,68 40,66.4385282 40,64.4910835 L40,63.5089165 Z M40,79.5089165 C40,77.5709954 41.5636015,76 43.4998101,76 L98.5001899,76 C100.433082,76 102,77.5614718 102,79.5089165 L102,80.4910835 C102,82.4290046 100.436399,84 98.5001899,84 L43.4998101,84 C41.5669183,84 40,82.4385282 40,80.4910835 L40,79.5089165 Z M40,95.5089165 C40,93.5709954 41.5636015,92 43.4998101,92 L98.5001899,92 C100.433082,92 102,93.5614718 102,95.5089165 L102,96.4910835 C102,98.4290046 100.436399,100 98.5001899,100 L43.4998101,100 C41.5669183,100 40,98.4385282 40,96.4910835 L40,95.5089165 Z M40,111.508916 C40,109.570995 41.5680474,108 43.4972017,108 L76.5027983,108 C78.4342495,108 80,109.561472 80,111.508916 L80,112.491084 C80,114.429005 78.4319526,116 76.5027983,116 L43.4972017,116 C41.5657505,116 40,114.438528 40,112.491084 L40,111.508916 Z M32,38 C35.3137085,38 38,35.3137085 38,32 C38,28.6862915 35.3137085,26 32,26 C28.6862915,26 26,28.6862915 26,32 C26,35.3137085 28.6862915,38 32,38 Z M32,54 C35.3137085,54 38,51.3137085 38,48 C38,44.6862915 35.3137085,42 32,42 C28.6862915,42 26,44.6862915 26,48 C26,51.3137085 28.6862915,54 32,54 Z M32,70 C35.3137085,70 38,67.3137085 38,64 C38,60.6862915 35.3137085,58 32,58 C28.6862915,58 26,60.6862915 26,64 C26,67.3137085 28.6862915,70 32,70 Z M32,86 C35.3137085,86 38,83.3137085 38,80 C38,76.6862915 35.3137085,74 32,74 C28.6862915,74 26,76.6862915 26,80 C26,83.3137085 28.6862915,86 32,86 Z M32,102 C35.3137085,102 38,99.3137085 38,96 C38,92.6862915 35.3137085,90 32,90 C28.6862915,90 26,92.6862915 26,96 C26,99.3137085 28.6862915,102 32,102 Z M32,118 C35.3137085,118 38,115.313708 38,112 C38,108.686292 35.3137085,106 32,106 C28.6862915,106 26,108.686292 26,112 C26,115.313708 28.6862915,118 32,118 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/locked-padlock": {
            "title": "$:/core/images/locked-padlock",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-locked-padlock tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M96.4723753,64 L105,64 L105,96.0097716 C105,113.673909 90.6736461,128 73.001193,128 L55.998807,128 C38.3179793,128 24,113.677487 24,96.0097716 L24,64 L32.0000269,64 C32.0028554,48.2766389 32.3030338,16.2688026 64.1594984,16.2688041 C95.9543927,16.2688056 96.4648869,48.325931 96.4723753,64 Z M80.5749059,64 L48.4413579,64 C48.4426205,47.71306 48.5829272,31.9999996 64.1595001,31.9999996 C79.8437473,31.9999996 81.1369461,48.1359182 80.5749059,64 Z M67.7315279,92.3641717 C70.8232551,91.0923621 73,88.0503841 73,84.5 C73,79.8055796 69.1944204,76 64.5,76 C59.8055796,76 56,79.8055796 56,84.5 C56,87.947435 58.0523387,90.9155206 61.0018621,92.2491029 L55.9067479,115.020857 L72.8008958,115.020857 L67.7315279,92.3641717 L67.7315279,92.3641717 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/mail": {
            "title": "$:/core/images/mail",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-mail tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M122.826782,104.894066 C121.945525,105.22777 120.990324,105.41043 119.993027,105.41043 L8.00697327,105.41043 C7.19458381,105.41043 6.41045219,105.289614 5.67161357,105.064967 L5.67161357,105.064967 L39.8346483,70.9019325 L60.6765759,91.7438601 C61.6118278,92.679112 62.8865166,93.0560851 64.0946097,92.8783815 C65.2975108,93.0473238 66.5641085,92.6696979 67.4899463,91.7438601 L88.5941459,70.6396605 C88.6693095,70.7292352 88.7490098,70.8162939 88.8332479,70.9005321 L122.826782,104.894066 Z M127.903244,98.6568194 C127.966933,98.2506602 128,97.8343714 128,97.4103789 L128,33.410481 C128,32.7414504 127.917877,32.0916738 127.763157,31.4706493 L94.2292399,65.0045665 C94.3188145,65.0797417 94.4058701,65.1594458 94.4901021,65.2436778 L127.903244,98.6568194 Z M0.205060636,99.2178117 C0.0709009529,98.6370366 0,98.0320192 0,97.4103789 L0,33.410481 C0,32.694007 0.0944223363,31.9995312 0.27147538,31.3387595 L0.27147538,31.3387595 L34.1777941,65.2450783 L0.205060636,99.2178117 L0.205060636,99.2178117 Z M5.92934613,25.6829218 C6.59211333,25.5051988 7.28862283,25.4104299 8.00697327,25.4104299 L119.993027,25.4104299 C120.759109,25.4104299 121.500064,25.5178649 122.201605,25.7184927 L122.201605,25.7184927 L64.0832611,83.8368368 L5.92934613,25.6829218 L5.92934613,25.6829218 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/menu-button": {
            "title": "$:/core/images/menu-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-menu-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n    <rect x=\"0\" y=\"16\" width=\"128\" height=\"16\" rx=\"8\"></rect>\n    <rect x=\"0\" y=\"56\" width=\"128\" height=\"16\" rx=\"8\"></rect>\n    <rect x=\"0\" y=\"96\" width=\"128\" height=\"16\" rx=\"8\"></rect>\n</svg>"
        },
        "$:/core/images/mono-block": {
            "title": "$:/core/images/mono-block",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-mono-block tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M23.9653488,32.9670593 L24.3217888,32.9670593 C25.0766067,32.9670593 25.6497006,33.1592554 26.0410876,33.5436534 C26.4324747,33.9280514 26.6281653,34.4906619 26.6281653,35.2315017 C26.6281653,36.0562101 26.4219913,36.6502709 26.009637,37.0137017 C25.5972828,37.3771326 24.9158602,37.5588453 23.9653488,37.5588453 L17.6542639,37.5588453 C16.6897744,37.5588453 16.0048573,37.380627 15.5994921,37.0241852 C15.1941269,36.6677435 14.9914474,36.0701882 14.9914474,35.2315017 C14.9914474,34.4207713 15.1941269,33.8406885 15.5994921,33.4912358 C16.0048573,33.141783 16.6897744,32.9670593 17.6542639,32.9670593 L18.388111,32.9670593 L17.5284616,30.5139133 L8.47069195,30.5139133 L7.5691084,32.9670593 L8.30295547,32.9670593 C9.25346691,32.9670593 9.93488953,33.1452775 10.3472438,33.5017193 C10.759598,33.8581611 10.965772,34.4347494 10.965772,35.2315017 C10.965772,36.0562101 10.759598,36.6502709 10.3472438,37.0137017 C9.93488953,37.3771326 9.25346691,37.5588453 8.30295547,37.5588453 L2.89345418,37.5588453 C1.92896463,37.5588453 1.24404754,37.3771326 0.838682371,37.0137017 C0.433317198,36.6502709 0.230637652,36.0562101 0.230637652,35.2315017 C0.230637652,34.4906619 0.426328248,33.9280514 0.817715312,33.5436534 C1.20910238,33.1592554 1.78219626,32.9670593 2.53701417,32.9670593 L2.89345418,32.9670593 L8.51262607,17.3256331 L6.83526132,17.3256331 C5.88474988,17.3256331 5.20332727,17.1439204 4.79097304,16.7804895 C4.37861882,16.4170587 4.1724448,15.8299869 4.1724448,15.0192565 C4.1724448,14.1945481 4.37861882,13.6004873 4.79097304,13.2370565 C5.20332727,12.8736257 5.88474988,12.691913 6.83526132,12.691913 L14.6979086,12.691913 C15.9419603,12.691913 16.815579,13.3628521 17.318791,14.7047506 L17.318791,14.7676518 L23.9653488,32.9670593 Z M12.9786097,17.3256331 L9.9383861,26.1737321 L16.0188333,26.1737321 L12.9786097,17.3256331 Z M35.3809383,26.6979086 L35.3809383,33.0928616 L38.5259972,33.0928616 C40.7485166,33.0928616 42.3140414,32.8482484 43.2226185,32.3590146 C44.1311956,31.8697807 44.5854773,31.0520736 44.5854773,29.9058686 C44.5854773,28.7456855 44.1521624,27.9209895 43.2855197,27.4317556 C42.4188769,26.9425218 40.9022748,26.6979086 38.7356678,26.6979086 L35.3809383,26.6979086 Z M46.0741385,24.370565 C47.5977525,24.9296893 48.7159844,25.6949794 49.428868,26.666458 C50.1417516,27.6379366 50.498188,28.8784752 50.498188,30.388111 C50.498188,31.6601189 50.1906743,32.8202846 49.5756374,33.8686428 C48.9606006,34.917001 48.0799929,35.7766419 46.933788,36.4475911 C46.2628387,36.8389782 45.5115266,37.1220307 44.6798291,37.296757 C43.8481316,37.4714834 42.6704935,37.5588453 41.1468796,37.5588453 L39.3856466,37.5588453 L30.2020747,37.5588453 C29.2795194,37.5588453 28.6190637,37.3771326 28.2206876,37.0137017 C27.8223114,36.6502709 27.6231264,36.0562101 27.6231264,35.2315017 C27.6231264,34.4906619 27.811828,33.9280514 28.189237,33.5436534 C28.5666459,33.1592554 29.118773,32.9670593 29.8456347,32.9670593 L30.2020747,32.9670593 L30.2020747,17.3256331 L29.8456347,17.3256331 C29.118773,17.3256331 28.5666459,17.1299425 28.189237,16.7385554 C27.811828,16.3471683 27.6231264,15.7740744 27.6231264,15.0192565 C27.6231264,14.2085262 27.8258059,13.6179599 28.2311711,13.24754 C28.6365363,12.8771201 29.2934976,12.691913 30.2020747,12.691913 L39.8469219,12.691913 C42.796303,12.691913 45.0362615,13.2650068 46.5668644,14.4112118 C48.0974674,15.5574168 48.8627574,17.2347648 48.8627574,19.443306 C48.8627574,20.5335986 48.6286276,21.4945792 48.1603609,22.3262767 C47.6920943,23.1579742 46.9966938,23.8393968 46.0741385,24.370565 L46.0741385,24.370565 Z M35.3809383,17.1998307 L35.3809383,22.4835296 L38.2114913,22.4835296 C39.9307988,22.4835296 41.1433816,22.2808501 41.8492761,21.8754849 C42.5551706,21.4701197 42.9081126,20.7852027 42.9081126,19.8207131 C42.9081126,18.912136 42.5901154,18.2481858 41.9541114,17.8288425 C41.3181074,17.4094992 40.2872373,17.1998307 38.8614701,17.1998307 L35.3809383,17.1998307 Z M71.244119,13.3838259 C71.5236812,12.880614 71.8102281,12.5241775 72.1037684,12.3145059 C72.3973087,12.1048342 72.7677231,12 73.2150226,12 C73.8999499,12 74.3856819,12.1817127 74.6722332,12.5451435 C74.9587844,12.9085744 75.1020579,13.5305909 75.1020579,14.4112118 L75.143992,19.8626472 C75.143992,20.8271368 74.9867406,21.4771091 74.6722332,21.8125837 C74.3577257,22.1480584 73.7881263,22.3157932 72.9634178,22.3157932 C72.3763372,22.3157932 71.92555,22.1760142 71.6110425,21.896452 C71.2965351,21.6168898 71.0274605,21.0997075 70.8038107,20.3448896 C70.4403799,19.0169692 69.8602971,18.0629775 69.0635448,17.482886 C68.2667926,16.9027945 67.1625385,16.612753 65.7507494,16.612753 C63.5981206,16.612753 61.9487284,17.3396038 60.8025235,18.7933272 C59.6563185,20.2470506 59.0832246,22.3507245 59.0832246,25.104412 C59.0832246,27.8441215 59.6633074,29.9477954 60.8234905,31.4154969 C61.9836736,32.8831984 63.6400547,33.6170381 65.7926836,33.6170381 C67.2603851,33.6170381 68.878327,33.1278116 70.6465578,32.149344 C72.4147886,31.1708763 73.5295261,30.6816498 73.9908037,30.6816498 C74.53595,30.6816498 74.9937262,30.9122852 75.3641461,31.3735628 C75.734566,31.8348404 75.9197732,32.4079343 75.9197732,33.0928616 C75.9197732,34.3229353 74.836486,35.4831009 72.669879,36.5733935 C70.5032721,37.663686 68.0641285,38.2088241 65.3523753,38.2088241 C61.6901107,38.2088241 58.7267959,36.9997358 56.4623422,34.5815228 C54.1978885,32.1633099 53.0656786,29.0043046 53.0656786,25.104412 C53.0656786,21.3443006 54.2118664,18.22024 56.5042763,15.7321366 C58.7966863,13.2440331 61.7040894,12 65.226573,12 C66.2190187,12 67.1974717,12.1118232 68.1619613,12.3354729 C69.1264508,12.5591227 70.1538264,12.9085702 71.244119,13.3838259 L71.244119,13.3838259 Z M81.4645862,32.9670593 L81.4645862,17.3256331 L81.1081461,17.3256331 C80.3533282,17.3256331 79.7802344,17.1299425 79.3888473,16.7385554 C78.9974602,16.3471683 78.8017696,15.7740744 78.8017696,15.0192565 C78.8017696,14.2085262 79.0114381,13.6179599 79.4307814,13.24754 C79.8501247,12.8771201 80.5280528,12.691913 81.4645862,12.691913 L85.4063933,12.691913 L86.6434498,12.691913 C89.5648747,12.691913 91.7034933,12.8177141 93.0593699,13.06932 C94.4152465,13.320926 95.5684233,13.740263 96.5189347,14.3273436 C98.210286,15.3337675 99.5067362,16.7699967 100.408324,18.6360743 C101.309912,20.5021519 101.7607,22.6582429 101.7607,25.104412 C101.7607,27.6903623 101.247012,29.9512876 100.219621,31.8872557 C99.1922296,33.8232239 97.7350336,35.2874089 95.8479888,36.2798546 C94.9953241,36.7271541 93.9959043,37.0521403 92.8496993,37.2548229 C91.7034944,37.4575055 89.9981906,37.5588453 87.7337369,37.5588453 L85.4063933,37.5588453 L81.4645862,37.5588453 C80.5000966,37.5588453 79.8151795,37.380627 79.4098143,37.0241852 C79.0044492,36.6677435 78.8017696,36.0701882 78.8017696,35.2315017 C78.8017696,34.4906619 78.9974602,33.9280514 79.3888473,33.5436534 C79.7802344,33.1592554 80.3533282,32.9670593 81.1081461,32.9670593 L81.4645862,32.9670593 Z M86.8740874,17.2417648 L86.8740874,32.9670593 L88.0692098,32.9670593 C90.7110725,32.9670593 92.6609895,32.3205814 93.9190194,31.0276063 C95.1770492,29.7346312 95.8060547,27.7462749 95.8060547,25.0624779 C95.8060547,22.4206153 95.1665658,20.4497314 93.8875688,19.1497672 C92.6085718,17.849803 90.6831161,17.1998307 88.1111439,17.1998307 C87.7756693,17.1998307 87.5205727,17.2033252 87.3458463,17.2103142 C87.1711199,17.2173033 87.0138685,17.2277867 86.8740874,17.2417648 L86.8740874,17.2417648 Z M121.94052,17.1159625 L112.190837,17.1159625 L112.190837,22.4835296 L115.88104,22.4835296 L115.88104,22.2319249 C115.88104,21.4351727 116.055763,20.841112 116.405216,20.4497249 C116.754669,20.0583378 117.285829,19.8626472 117.998713,19.8626472 C118.627728,19.8626472 119.141415,20.0408655 119.539792,20.3973072 C119.938168,20.753749 120.137353,21.2045363 120.137353,21.7496826 C120.137353,21.7776388 120.144342,21.8684951 120.15832,22.0222543 C120.172298,22.1760135 120.179287,22.3297704 120.179287,22.4835296 L120.179287,26.8237109 C120.179287,27.7602442 120.011552,28.4311834 119.676077,28.8365486 C119.340603,29.2419138 118.795465,29.4445933 118.040647,29.4445933 C117.327763,29.4445933 116.789614,29.2558917 116.426183,28.8784827 C116.062752,28.5010738 115.88104,27.9419578 115.88104,27.201118 L115.88104,26.8237109 L112.190837,26.8237109 L112.190837,33.0928616 L121.94052,33.0928616 L121.94052,30.5977816 C121.94052,29.6612482 122.118738,28.9903091 122.47518,28.5849439 C122.831622,28.1795787 123.415199,27.9768992 124.225929,27.9768992 C125.022682,27.9768992 125.592281,28.1760842 125.934745,28.5744604 C126.277208,28.9728365 126.448438,29.6472701 126.448438,30.5977816 L126.448438,35.6718099 C126.448438,36.4266278 126.30167,36.9298322 126.008129,37.1814382 C125.714589,37.4330442 125.134506,37.5588453 124.267863,37.5588453 L107.095842,37.5588453 C106.173287,37.5588453 105.512831,37.3771326 105.114455,37.0137017 C104.716079,36.6502709 104.516894,36.0562101 104.516894,35.2315017 C104.516894,34.4906619 104.705595,33.9280514 105.083004,33.5436534 C105.460413,33.1592554 106.01254,32.9670593 106.739402,32.9670593 L107.095842,32.9670593 L107.095842,17.3256331 L106.739402,17.3256331 C106.026518,17.3256331 105.477886,17.126448 105.093488,16.7280719 C104.70909,16.3296957 104.516894,15.7600963 104.516894,15.0192565 C104.516894,14.2085262 104.719573,13.6179599 105.124938,13.24754 C105.530304,12.8771201 106.187265,12.691913 107.095842,12.691913 L124.267863,12.691913 C125.120528,12.691913 125.697116,12.8212085 125.997646,13.0798036 C126.298175,13.3383986 126.448438,13.8520864 126.448438,14.6208824 L126.448438,19.3175037 C126.448438,20.2680151 126.273714,20.9494377 125.924261,21.361792 C125.574808,21.7741462 125.008703,21.9803202 124.225929,21.9803202 C123.415199,21.9803202 122.831622,21.7706517 122.47518,21.3513084 C122.118738,20.9319652 121.94052,20.254037 121.94052,19.3175037 L121.94052,17.1159625 Z M19.7719369,47.6405477 C20.037521,47.1373358 20.3205734,46.7808993 20.6211028,46.5712277 C20.9216322,46.361556 21.295541,46.2567218 21.7428405,46.2567218 C22.4277678,46.2567218 22.9134998,46.4384345 23.2000511,46.8018653 C23.4866023,47.1652962 23.6298758,47.7873127 23.6298758,48.6679336 L23.6718099,54.119369 C23.6718099,55.0838586 23.5145586,55.7338309 23.2000511,56.0693055 C22.8855436,56.4047802 22.3089553,56.572515 21.4702687,56.572515 C20.8831881,56.572515 20.4254119,56.4292415 20.0969263,56.1426902 C19.7684407,55.856139 19.4993662,55.3424512 19.2896945,54.6016114 C18.9122856,53.2597129 18.3322027,52.3022267 17.5494286,51.7291243 C16.7666545,51.1560218 15.6693894,50.8694748 14.2576003,50.8694748 C12.1049715,50.8694748 10.4590738,51.5963256 9.31985785,53.050049 C8.18064193,54.5037724 7.61104252,56.6074463 7.61104252,59.3611338 C7.61104252,62.1148214 8.20859773,64.2429566 9.40372609,65.7456034 C10.5988544,67.2482501 12.2936748,67.9995623 14.488238,67.9995623 C14.9914499,67.9995623 15.5645438,67.9401562 16.2075368,67.8213423 C16.8505299,67.7025283 17.6053364,67.5173212 18.4719792,67.2657152 L18.4719792,63.9529198 L16.1027015,63.9529198 C15.1521901,63.9529198 14.4777564,63.7781961 14.0793803,63.4287433 C13.6810042,63.0792906 13.4818191,62.4992078 13.4818191,61.6884774 C13.4818191,60.8497908 13.6810042,60.2522356 14.0793803,59.8957938 C14.4777564,59.5393521 15.1521901,59.3611338 16.1027015,59.3611338 L23.6718099,59.3611338 C24.6502776,59.3611338 25.3386891,59.5358576 25.7370653,59.8853103 C26.1354414,60.2347631 26.3346265,60.8218348 26.3346265,61.6465433 C26.3346265,62.3873831 26.1354414,62.9569825 25.7370653,63.3553586 C25.3386891,63.7537347 24.7621008,63.9529198 24.0072829,63.9529198 L23.6718099,63.9529198 L23.6718099,68.9430799 L23.6718099,69.1946846 C23.6718099,69.6419841 23.6228873,69.9529924 23.5250405,70.1277188 C23.4271937,70.3024451 23.2315031,70.4806634 22.9379628,70.6623788 C22.1412106,71.1376345 20.8762107,71.5569715 19.1429251,71.9204023 C17.4096396,72.2838332 15.6554131,72.4655459 13.8801932,72.4655459 C10.2179286,72.4655459 7.25461383,71.2564576 4.99016011,68.8382446 C2.72570638,66.4200317 1.59349651,63.2610264 1.59349651,59.3611338 C1.59349651,55.6010224 2.73968428,52.4769618 5.03209423,49.9888583 C7.32450417,47.5007549 10.2319073,46.2567218 13.7543909,46.2567218 C14.7328585,46.2567218 15.7078171,46.368545 16.6792957,46.5921947 C17.6507743,46.8158445 18.6816444,47.165292 19.7719369,47.6405477 L19.7719369,47.6405477 Z M35.611576,51.5823548 L35.611576,56.4047785 L42.4678043,56.4047785 L42.4678043,51.5823548 L42.1323314,51.5823548 C41.3775135,51.5823548 40.8009251,51.3866642 40.402549,50.9952772 C40.0041729,50.6038901 39.8049878,50.0307962 39.8049878,49.2759783 C39.8049878,48.4512699 40.0111618,47.8572091 40.4235161,47.4937783 C40.8358703,47.1303474 41.5172929,46.9486347 42.4678043,46.9486347 L47.8773056,46.9486347 C48.8278171,46.9486347 49.5022507,47.1303474 49.9006269,47.4937783 C50.299003,47.8572091 50.498188,48.4512699 50.498188,49.2759783 C50.498188,50.0307962 50.3059919,50.6038901 49.9215939,50.9952772 C49.5371959,51.3866642 48.9745854,51.5823548 48.2337456,51.5823548 L47.8773056,51.5823548 L47.8773056,67.2237811 L48.2337456,67.2237811 C48.9885636,67.2237811 49.5616574,67.4159772 49.9530445,67.8003752 C50.3444316,68.1847732 50.5401222,68.7473837 50.5401222,69.4882235 C50.5401222,70.3129319 50.3374426,70.9069927 49.9320774,71.2704235 C49.5267123,71.6338543 48.8417952,71.815567 47.8773056,71.815567 L42.4678043,71.815567 C41.5033148,71.815567 40.8183977,71.6373488 40.4130325,71.280907 C40.0076674,70.9244652 39.8049878,70.32691 39.8049878,69.4882235 C39.8049878,68.7473837 40.0041729,68.1847732 40.402549,67.8003752 C40.8009251,67.4159772 41.3775135,67.2237811 42.1323314,67.2237811 L42.4678043,67.2237811 L42.4678043,61.0384986 L35.611576,61.0384986 L35.611576,67.2237811 L35.9470489,67.2237811 C36.7018668,67.2237811 37.2784552,67.4159772 37.6768313,67.8003752 C38.0752074,68.1847732 38.2743925,68.7473837 38.2743925,69.4882235 C38.2743925,70.3129319 38.0682185,70.9069927 37.6558642,71.2704235 C37.24351,71.6338543 36.5620874,71.815567 35.611576,71.815567 L30.2020747,71.815567 C29.2375851,71.815567 28.552668,71.6373488 28.1473029,71.280907 C27.7419377,70.9244652 27.5392581,70.32691 27.5392581,69.4882235 C27.5392581,68.7473837 27.7349487,68.1847732 28.1263358,67.8003752 C28.5177229,67.4159772 29.0908168,67.2237811 29.8456347,67.2237811 L30.2020747,67.2237811 L30.2020747,51.5823548 L29.8456347,51.5823548 C29.1047949,51.5823548 28.5421844,51.3866642 28.1577864,50.9952772 C27.7733884,50.6038901 27.5811923,50.0307962 27.5811923,49.2759783 C27.5811923,48.4512699 27.7803773,47.8572091 28.1787534,47.4937783 C28.5771296,47.1303474 29.2515632,46.9486347 30.2020747,46.9486347 L35.611576,46.9486347 C36.5481093,46.9486347 37.2260374,47.1303474 37.6453807,47.4937783 C38.064724,47.8572091 38.2743925,48.4512699 38.2743925,49.2759783 C38.2743925,50.0307962 38.0752074,50.6038901 37.6768313,50.9952772 C37.2784552,51.3866642 36.7018668,51.5823548 35.9470489,51.5823548 L35.611576,51.5823548 Z M67.365213,51.5823548 L67.365213,67.2237811 L70.887679,67.2237811 C71.8381904,67.2237811 72.519613,67.4019993 72.9319673,67.7584411 C73.3443215,68.1148829 73.5504955,68.6914712 73.5504955,69.4882235 C73.5504955,70.2989538 73.340827,70.8895201 72.9214837,71.25994 C72.5021404,71.6303599 71.8242123,71.815567 70.887679,71.815567 L58.4332458,71.815567 C57.4827343,71.815567 56.8013117,71.6338543 56.3889575,71.2704235 C55.9766033,70.9069927 55.7704292,70.3129319 55.7704292,69.4882235 C55.7704292,68.6774931 55.9731088,68.0974103 56.378474,67.7479575 C56.7838391,67.3985048 57.4687562,67.2237811 58.4332458,67.2237811 L61.9557117,67.2237811 L61.9557117,51.5823548 L58.4332458,51.5823548 C57.4827343,51.5823548 56.8013117,51.4006421 56.3889575,51.0372113 C55.9766033,50.6737805 55.7704292,50.0867087 55.7704292,49.2759783 C55.7704292,48.4512699 55.9731088,47.8641981 56.378474,47.5147453 C56.7838391,47.1652926 57.4687562,46.9905689 58.4332458,46.9905689 L70.887679,46.9905689 C71.8801247,46.9905689 72.5720308,47.1652926 72.9634178,47.5147453 C73.3548049,47.8641981 73.5504955,48.4512699 73.5504955,49.2759783 C73.5504955,50.0867087 73.347816,50.6737805 72.9424508,51.0372113 C72.5370856,51.4006421 71.8521685,51.5823548 70.887679,51.5823548 L67.365213,51.5823548 Z M97.8608265,51.5823548 L97.8608265,63.1771386 L97.8608265,63.5755127 C97.8608265,65.4485794 97.7385199,66.8044357 97.493903,67.6431222 C97.2492861,68.4818088 96.8404325,69.2296264 96.26733,69.8865976 C95.5264902,70.7392623 94.4991146,71.3822457 93.1851723,71.815567 C91.87123,72.2488884 90.2917273,72.4655459 88.4466169,72.4655459 C87.1466527,72.4655459 85.8921362,72.3397448 84.6830298,72.0881388 C83.4739233,71.8365328 82.3102631,71.4591296 81.1920144,70.9559176 C80.5769776,70.6763554 80.175113,70.31293 79.9864085,69.8656305 C79.797704,69.418331 79.7033532,68.6914802 79.7033532,67.6850564 L79.7033532,63.3658422 C79.7033532,62.1637247 79.8780769,61.3250508 80.2275297,60.849795 C80.5769824,60.3745393 81.185021,60.136915 82.0516638,60.136915 C83.2957156,60.136915 83.9806326,61.0524675 84.1064356,62.8835998 C84.1204137,63.2050963 84.1413806,63.4497096 84.1693368,63.6174469 C84.3370741,65.2389076 84.7144774,66.3466561 85.301558,66.9407258 C85.8886386,67.5347954 86.8251579,67.8318258 88.1111439,67.8318258 C89.7046484,67.8318258 90.8263749,67.4089943 91.476357,66.5633187 C92.126339,65.7176431 92.4513252,64.1765796 92.4513252,61.9400821 L92.4513252,51.5823548 L88.9288593,51.5823548 C87.9783478,51.5823548 87.2969252,51.4006421 86.884571,51.0372113 C86.4722168,50.6737805 86.2660427,50.0867087 86.2660427,49.2759783 C86.2660427,48.4512699 86.4652278,47.8641981 86.8636039,47.5147453 C87.26198,47.1652926 87.9503916,46.9905689 88.9288593,46.9905689 L99.6220595,46.9905689 C100.600527,46.9905689 101.288939,47.1652926 101.687315,47.5147453 C102.085691,47.8641981 102.284876,48.4512699 102.284876,49.2759783 C102.284876,50.0867087 102.078702,50.6737805 101.666348,51.0372113 C101.253994,51.4006421 100.572571,51.5823548 99.6220595,51.5823548 L97.8608265,51.5823548 Z M112.505343,51.5823548 L112.505343,57.9353738 L118.984165,51.4565525 C118.257303,51.3726838 117.747109,51.1665098 117.453569,50.8380242 C117.160029,50.5095387 117.013261,49.9888619 117.013261,49.2759783 C117.013261,48.4512699 117.212446,47.8572091 117.610822,47.4937783 C118.009198,47.1303474 118.683632,46.9486347 119.634143,46.9486347 L124.771073,46.9486347 C125.721584,46.9486347 126.396018,47.1303474 126.794394,47.4937783 C127.19277,47.8572091 127.391955,48.4512699 127.391955,49.2759783 C127.391955,50.0447743 127.19277,50.6213627 126.794394,51.0057607 C126.396018,51.3901587 125.812441,51.5823548 125.043645,51.5823548 L124.561402,51.5823548 L118.459988,57.641835 C119.592215,58.4805215 120.626579,59.5812811 121.563113,60.9441468 C122.499646,62.3070125 123.596911,64.400203 124.854941,67.2237811 L125.127513,67.2237811 L125.546854,67.2237811 C126.371563,67.2237811 126.98659,67.4124827 127.391955,67.7898917 C127.79732,68.1673006 128,68.7334056 128,69.4882235 C128,70.3129319 127.793826,70.9069927 127.381472,71.2704235 C126.969118,71.6338543 126.287695,71.815567 125.337183,71.815567 L122.758235,71.815567 C121.626008,71.815567 120.710456,71.0537715 120.01155,69.5301576 C119.885747,69.2505954 119.787902,69.026949 119.718012,68.8592117 C118.795456,66.9022764 117.949793,65.3926632 117.180997,64.3303269 C116.412201,63.2679906 115.510627,62.2965265 114.476247,61.4159056 L112.505343,63.302941 L112.505343,67.2237811 L112.840816,67.2237811 C113.595634,67.2237811 114.172222,67.4159772 114.570599,67.8003752 C114.968975,68.1847732 115.16816,68.7473837 115.16816,69.4882235 C115.16816,70.3129319 114.961986,70.9069927 114.549631,71.2704235 C114.137277,71.6338543 113.455855,71.815567 112.505343,71.815567 L107.095842,71.815567 C106.131352,71.815567 105.446435,71.6373488 105.04107,71.280907 C104.635705,70.9244652 104.433025,70.32691 104.433025,69.4882235 C104.433025,68.7473837 104.628716,68.1847732 105.020103,67.8003752 C105.41149,67.4159772 105.984584,67.2237811 106.739402,67.2237811 L107.095842,67.2237811 L107.095842,51.5823548 L106.739402,51.5823548 C105.998562,51.5823548 105.435952,51.3866642 105.051554,50.9952772 C104.667156,50.6038901 104.474959,50.0307962 104.474959,49.2759783 C104.474959,48.4512699 104.674145,47.8572091 105.072521,47.4937783 C105.470897,47.1303474 106.14533,46.9486347 107.095842,46.9486347 L112.505343,46.9486347 C113.441877,46.9486347 114.119805,47.1303474 114.539148,47.4937783 C114.958491,47.8572091 115.16816,48.4512699 115.16816,49.2759783 C115.16816,50.0307962 114.968975,50.6038901 114.570599,50.9952772 C114.172222,51.3866642 113.595634,51.5823548 112.840816,51.5823548 L112.505343,51.5823548 Z M13.439885,96.325622 L17.4445933,84.4372993 C17.6961993,83.6545252 18.0456468,83.0849258 18.4929463,82.728484 C18.9402458,82.3720422 19.5343065,82.193824 20.2751463,82.193824 L23.5460076,82.193824 C24.496519,82.193824 25.1779416,82.3755367 25.5902958,82.7389675 C26.0026501,83.1023984 26.2088241,83.6964591 26.2088241,84.5211676 C26.2088241,85.2759855 26.009639,85.8490794 25.6112629,86.2404664 C25.2128868,86.6318535 24.6362984,86.8275441 23.8814805,86.8275441 L23.5460076,86.8275441 L24.1330852,102.46897 L24.4895252,102.46897 C25.2443431,102.46897 25.8104481,102.661166 26.187857,103.045564 C26.565266,103.429962 26.7539676,103.992573 26.7539676,104.733413 C26.7539676,105.558121 26.5547826,106.152182 26.1564064,106.515613 C25.7580303,106.879044 25.0835967,107.060756 24.1330852,107.060756 L19.4154969,107.060756 C18.4649855,107.060756 17.7905518,106.882538 17.3921757,106.526096 C16.9937996,106.169654 16.7946145,105.572099 16.7946145,104.733413 C16.7946145,103.992573 16.9868106,103.429962 17.3712086,103.045564 C17.7556066,102.661166 18.325206,102.46897 19.0800239,102.46897 L19.4154969,102.46897 L19.1219581,89.6790642 L16.0607674,99.1981091 C15.8371177,99.9109927 15.5191204,100.42468 15.1067662,100.739188 C14.694412,101.053695 14.1248126,101.210947 13.3979509,101.210947 C12.6710892,101.210947 12.0945008,101.053695 11.6681685,100.739188 C11.2418362,100.42468 10.91685,99.9109927 10.6932002,99.1981091 L7.65297664,89.6790642 L7.35943781,102.46897 L7.69491075,102.46897 C8.44972866,102.46897 9.01932808,102.661166 9.40372609,103.045564 C9.78812409,103.429962 9.98032022,103.992573 9.98032022,104.733413 C9.98032022,105.558121 9.77764067,106.152182 9.3722755,106.515613 C8.96691032,106.879044 8.29597114,107.060756 7.35943781,107.060756 L2.62088241,107.060756 C1.68434908,107.060756 1.01340989,106.879044 0.608044719,106.515613 C0.202679546,106.152182 0,105.558121 0,104.733413 C0,103.992573 0.192196121,103.429962 0.57659413,103.045564 C0.960992139,102.661166 1.53059155,102.46897 2.28540946,102.46897 L2.62088241,102.46897 L3.22892713,86.8275441 L2.89345418,86.8275441 C2.13863627,86.8275441 1.56204791,86.6318535 1.16367179,86.2404664 C0.765295672,85.8490794 0.5661106,85.2759855 0.5661106,84.5211676 C0.5661106,83.6964591 0.772284622,83.1023984 1.18463885,82.7389675 C1.59699308,82.3755367 2.27841569,82.193824 3.22892713,82.193824 L6.49978838,82.193824 C7.22665007,82.193824 7.81022738,82.3685477 8.25053783,82.7180005 C8.69084827,83.0674532 9.05077919,83.6405471 9.33034138,84.4372993 L13.439885,96.325622 Z M43.8935644,98.3803938 L43.8935644,86.8275441 L42.7403761,86.8275441 C41.8178209,86.8275441 41.1573651,86.6458314 40.758989,86.2824006 C40.3606129,85.9189697 40.1614278,85.3318979 40.1614278,84.5211676 C40.1614278,83.7104372 40.3606129,83.119871 40.758989,82.7494511 C41.1573651,82.3790312 41.8178209,82.193824 42.7403761,82.193824 L48.6950209,82.193824 C49.6035981,82.193824 50.2605593,82.3790312 50.6659245,82.7494511 C51.0712897,83.119871 51.2739692,83.7104372 51.2739692,84.5211676 C51.2739692,85.2620074 51.0817731,85.8316068 50.6973751,86.2299829 C50.3129771,86.628359 49.7643445,86.8275441 49.051461,86.8275441 L48.6950209,86.8275441 L48.6950209,105.865634 C48.6950209,106.522605 48.6251315,106.934953 48.4853504,107.10269 C48.3455693,107.270428 48.0310665,107.354295 47.5418327,107.354295 L45.4451268,107.354295 C44.7741775,107.354295 44.3024234,107.284406 44.0298503,107.144625 C43.7572771,107.004843 43.5231473,106.76023 43.3274538,106.410777 L34.6051571,91.0838571 L34.6051571,102.46897 L35.8212466,102.46897 C36.7298237,102.46897 37.379796,102.643694 37.7711831,102.993147 C38.1625701,103.3426 38.3582607,103.922682 38.3582607,104.733413 C38.3582607,105.558121 38.1590757,106.152182 37.7606995,106.515613 C37.3623234,106.879044 36.7158456,107.060756 35.8212466,107.060756 L29.8037005,107.060756 C28.8951234,107.060756 28.2381621,106.879044 27.832797,106.515613 C27.4274318,106.152182 27.2247522,105.558121 27.2247522,104.733413 C27.2247522,103.992573 27.4134539,103.429962 27.7908629,103.045564 C28.1682718,102.661166 28.7273878,102.46897 29.4682276,102.46897 L29.8037005,102.46897 L29.8037005,86.8275441 L29.4682276,86.8275441 C28.755344,86.8275441 28.203217,86.628359 27.8118299,86.2299829 C27.4204428,85.8316068 27.2247522,85.2620074 27.2247522,84.5211676 C27.2247522,83.7104372 27.4309263,83.119871 27.8432805,82.7494511 C28.2556347,82.3790312 28.9091015,82.193824 29.8037005,82.193824 L33.2422983,82.193824 C34.0670067,82.193824 34.6261227,82.3021527 34.919663,82.5188134 C35.2132033,82.7354741 35.5416839,83.1722835 35.9051148,83.8292546 L43.8935644,98.3803938 Z M64.6604624,86.3662688 C62.8572863,86.3662688 61.4420239,87.0931196 60.4146329,88.546843 C59.3872418,90.0005663 58.873554,92.0203728 58.873554,94.6063231 C58.873554,97.1922733 59.3907363,99.2190688 60.4251164,100.68677 C61.4594965,102.154472 62.8712644,102.888312 64.6604624,102.888312 C66.4636385,102.888312 67.8823953,102.157966 68.9167754,100.697254 C69.9511555,99.2365414 70.4683378,97.2062514 70.4683378,94.6063231 C70.4683378,92.0203728 69.95465,90.0005663 68.9272589,88.546843 C67.8998679,87.0931196 66.4776166,86.3662688 64.6604624,86.3662688 L64.6604624,86.3662688 Z M64.6604624,81.501911 C68.0990773,81.501911 70.929602,82.7319662 73.1521214,85.1921135 C75.3746408,87.6522607 76.4858838,90.7902992 76.4858838,94.6063231 C76.4858838,98.4503032 75.3816297,101.595331 73.1730884,104.0415 C70.9645471,106.487669 68.1270335,107.710735 64.6604624,107.710735 C61.2358256,107.710735 58.4053009,106.477185 56.1688034,104.010049 C53.9323059,101.542913 52.8140739,98.4083688 52.8140739,94.6063231 C52.8140739,90.7763211 53.9218224,87.6347881 56.1373528,85.1816299 C58.3528831,82.7284717 61.1938912,81.501911 64.6604624,81.501911 L64.6604624,81.501911 Z M87.4611651,98.1707232 L87.4611651,102.46897 L89.6207722,102.46897 C90.5293493,102.46897 91.1758272,102.643694 91.5602252,102.993147 C91.9446232,103.3426 92.1368193,103.922682 92.1368193,104.733413 C92.1368193,105.558121 91.9411287,106.152182 91.5497417,106.515613 C91.1583546,106.879044 90.5153712,107.060756 89.6207722,107.060756 L82.3661697,107.060756 C81.4436145,107.060756 80.7831587,106.879044 80.3847826,106.515613 C79.9864065,106.152182 79.7872214,105.558121 79.7872214,104.733413 C79.7872214,103.992573 79.9759231,103.429962 80.353332,103.045564 C80.730741,102.661166 81.282868,102.46897 82.0097297,102.46897 L82.3661697,102.46897 L82.3661697,86.8275441 L82.0097297,86.8275441 C81.2968461,86.8275441 80.7482136,86.628359 80.3638155,86.2299829 C79.9794175,85.8316068 79.7872214,85.2620074 79.7872214,84.5211676 C79.7872214,83.7104372 79.989901,83.119871 80.3952661,82.7494511 C80.8006313,82.3790312 81.4575926,82.193824 82.3661697,82.193824 L91.0255652,82.193824 C94.450202,82.193824 97.0396079,82.8507853 98.7938606,84.1647276 C100.548113,85.4786699 101.425227,87.414609 101.425227,89.972603 C101.425227,92.6703781 100.551608,94.7111515 98.8043442,96.0949843 C97.0570805,97.4788171 94.4641801,98.1707232 91.0255652,98.1707232 L87.4611651,98.1707232 Z M87.4611651,86.8275441 L87.4611651,93.4531348 L90.4384875,93.4531348 C92.0879044,93.4531348 93.328443,93.1735768 94.1601405,92.6144525 C94.9918381,92.0553281 95.4076806,91.2166541 95.4076806,90.0984053 C95.4076806,89.0500471 94.9778602,88.2428234 94.1182064,87.67671 C93.2585527,87.1105966 92.031992,86.8275441 90.4384875,86.8275441 L87.4611651,86.8275441 Z M114.727851,107.396229 L113.092421,109.03166 C113.69348,108.835966 114.284046,108.689198 114.864137,108.591352 C115.444229,108.493505 116.013828,108.444582 116.572953,108.444582 C117.677223,108.444582 118.840883,108.608823 120.063968,108.937308 C121.287053,109.265794 122.031376,109.430034 122.29696,109.430034 C122.744259,109.430034 123.327837,109.279772 124.047709,108.979242 C124.767582,108.678713 125.253314,108.52845 125.50492,108.52845 C126.02211,108.52845 126.45193,108.727636 126.794394,109.126012 C127.136858,109.524388 127.308087,110.024098 127.308087,110.625156 C127.308087,111.421909 126.836333,112.099837 125.892811,112.658961 C124.949288,113.218086 123.792617,113.497643 122.422762,113.497643 C121.486229,113.497643 120.28413,113.277492 118.816428,112.837181 C117.348727,112.396871 116.286406,112.176719 115.629435,112.176719 C114.636989,112.176719 113.518757,112.449288 112.274706,112.994434 C111.030654,113.53958 110.261869,113.812149 109.968329,113.812149 C109.36727,113.812149 108.857077,113.612964 108.437734,113.214588 C108.01839,112.816212 107.808722,112.337469 107.808722,111.778345 C107.808722,111.386958 107.941512,110.971115 108.207096,110.530805 C108.47268,110.090494 108.94094,109.520895 109.611889,108.821989 L111.729562,106.683349 C109.395218,105.830685 107.536157,104.29661 106.152324,102.08108 C104.768491,99.8655494 104.076585,97.3180772 104.076585,94.4385866 C104.076585,90.6365409 105.180839,87.5299526 107.389381,85.1187288 C109.597922,82.7075049 112.442425,81.501911 115.922974,81.501911 C119.389545,81.501911 122.227059,82.7109994 124.4356,85.1292123 C126.644141,87.5474252 127.748395,90.650519 127.748395,94.4385866 C127.748395,98.2126762 126.65113,101.322759 124.456567,103.768928 C122.262004,106.215097 119.480402,107.438163 116.111677,107.438163 C115.888028,107.438163 115.660887,107.434669 115.430248,107.42768 C115.199609,107.420691 114.965479,107.410207 114.727851,107.396229 L114.727851,107.396229 Z M115.922974,86.3662688 C114.119798,86.3662688 112.704535,87.0931196 111.677144,88.546843 C110.649753,90.0005663 110.136065,92.0203728 110.136065,94.6063231 C110.136065,97.1922733 110.653248,99.2190688 111.687628,100.68677 C112.722008,102.154472 114.133776,102.888312 115.922974,102.888312 C117.72615,102.888312 119.144907,102.157966 120.179287,100.697254 C121.213667,99.2365414 121.730849,97.2062514 121.730849,94.6063231 C121.730849,92.0203728 121.217161,90.0005663 120.18977,88.546843 C119.162379,87.0931196 117.740128,86.3662688 115.922974,86.3662688 L115.922974,86.3662688 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/mono-line": {
            "title": "$:/core/images/mono-line",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-mono-line tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M60.4374591,84.522627 L61.3450888,84.522627 C63.2671377,84.522627 64.7264493,85.0120303 65.7230673,85.9908515 C66.7196852,86.9696727 67.2179868,88.4022896 67.2179868,90.288745 C67.2179868,92.3887615 66.6929905,93.9014625 65.6429823,94.8268935 C64.5929741,95.7523244 62.857817,96.215033 60.4374591,96.215033 L44.3670747,96.215033 C41.9111232,96.215033 40.1670679,95.7612227 39.1348565,94.8535884 C38.102645,93.9459542 37.586547,92.424355 37.586547,90.288745 C37.586547,88.2243221 38.102645,86.747214 39.1348565,85.8573766 C40.1670679,84.9675391 41.9111232,84.522627 44.3670747,84.522627 L46.235724,84.522627 L44.0467348,78.2759992 L20.9822627,78.2759992 L18.6864935,84.522627 L20.5551429,84.522627 C22.9755008,84.522627 24.7106579,84.9764373 25.7606661,85.8840716 C26.8106743,86.7917058 27.3356705,88.2599156 27.3356705,90.288745 C27.3356705,92.3887615 26.8106743,93.9014625 25.7606661,94.8268935 C24.7106579,95.7523244 22.9755008,96.215033 20.5551429,96.215033 L6.78052766,96.215033 C4.32457622,96.215033 2.58052094,95.7523244 1.54830946,94.8268935 C0.516097994,93.9014625 0,92.3887615 0,90.288745 C0,88.4022896 0.498301511,86.9696727 1.49491948,85.9908515 C2.49153745,85.0120303 3.95084902,84.522627 5.87289797,84.522627 L6.78052766,84.522627 L21.0890427,44.6937008 L16.8178442,44.6937008 C14.3974863,44.6937008 12.6623292,44.2309922 11.612321,43.3055613 C10.5623128,42.3801303 10.0373165,40.8852258 10.0373165,38.8208028 C10.0373165,36.7207864 10.5623128,35.2080854 11.612321,34.2826544 C12.6623292,33.3572234 14.3974863,32.8945149 16.8178442,32.8945149 L36.8390873,32.8945149 C40.0069087,32.8945149 42.231469,34.6029772 43.512835,38.0199531 L43.512835,38.180123 L60.4374591,84.522627 Z M32.4611088,44.6937008 L24.7195615,67.224273 L40.2026561,67.224273 L32.4611088,44.6937008 Z M89.5058233,68.5590225 L89.5058233,84.8429669 L97.5143205,84.8429669 C103.173687,84.8429669 107.160099,84.22009 109.473676,82.9743176 C111.787254,81.7285451 112.944025,79.6463566 112.944025,76.7276897 C112.944025,73.7734293 111.840643,71.6734444 109.633846,70.4276719 C107.427049,69.1818994 103.565213,68.5590225 98.0482204,68.5590225 L89.5058233,68.5590225 Z M116.734714,62.6327346 C120.614405,64.0564746 123.461842,66.0051894 125.277111,68.4789376 C127.092379,70.9526857 128,74.1115614 128,77.9556593 C128,81.1946677 127.216955,84.1488838 125.650841,86.8183962 C124.084727,89.4879087 121.84237,91.676876 118.923703,93.385364 C117.215215,94.3819819 115.302093,95.1027395 113.18428,95.5476582 C111.066467,95.9925769 108.06776,96.215033 104.188068,96.215033 L99.7033098,96.215033 L76.3184979,96.215033 C73.9693269,96.215033 72.2875593,95.7523244 71.2731446,94.8268935 C70.2587299,93.9014625 69.7515301,92.3887615 69.7515301,90.288745 C69.7515301,88.4022896 70.2320352,86.9696727 71.1930596,85.9908515 C72.1540841,85.0120303 73.5600062,84.522627 75.4108682,84.522627 L76.3184979,84.522627 L76.3184979,44.6937008 L75.4108682,44.6937008 C73.5600062,44.6937008 72.1540841,44.1953993 71.1930596,43.1987813 C70.2320352,42.2021633 69.7515301,40.7428518 69.7515301,38.8208028 C69.7515301,36.7563799 70.2676281,35.2525771 71.2998396,34.3093494 C72.3320511,33.3661217 74.0049204,32.8945149 76.3184979,32.8945149 L100.877889,32.8945149 C108.388118,32.8945149 114.09189,34.3538264 117.989378,37.2724934 C121.886867,40.1911603 123.835581,44.4623161 123.835581,50.0860889 C123.835581,52.8623819 123.239399,55.3093982 122.047017,57.4272114 C120.854635,59.5450246 119.083885,61.2801816 116.734714,62.6327346 L116.734714,62.6327346 Z M89.5058233,44.3733609 L89.5058233,57.8276363 L96.7134708,57.8276363 C101.091471,57.8276363 104.179161,57.3115383 105.976633,56.2793268 C107.774104,55.2471153 108.672827,53.50306 108.672827,51.0471086 C108.672827,48.7335312 107.863087,47.0428653 106.243583,45.9750604 C104.624078,44.9072554 101.999097,44.3733609 98.3685602,44.3733609 L89.5058233,44.3733609 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/new-button": {
            "title": "$:/core/images/new-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-new-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M56,72 L8.00697327,72 C3.59075293,72 0,68.418278 0,64 C0,59.5907123 3.58484404,56 8.00697327,56 L56,56 L56,8.00697327 C56,3.59075293 59.581722,0 64,0 C68.4092877,0 72,3.58484404 72,8.00697327 L72,56 L119.993027,56 C124.409247,56 128,59.581722 128,64 C128,68.4092877 124.415156,72 119.993027,72 L72,72 L72,119.993027 C72,124.409247 68.418278,128 64,128 C59.5907123,128 56,124.415156 56,119.993027 L56,72 L56,72 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/new-here-button": {
            "title": "$:/core/images/new-here-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-new-here-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n    \t<g transform=\"translate(52.233611, 64.389922) rotate(75.000000) translate(-52.233611, -64.389922) translate(-7.734417, 3.702450)\">\n\t        <path d=\"M18.9270186,45.959338 L18.9080585,49.6521741 C18.8884833,53.4648378 21.0574548,58.7482162 23.7526408,61.4434022 L78.5671839,116.257945 C81.2617332,118.952495 85.6348701,118.950391 88.3334363,116.251825 L115.863237,88.7220241 C118.555265,86.0299959 118.564544,81.6509578 115.869358,78.9557717 L61.0548144,24.1412286 C58.3602652,21.4466794 53.0787224,19.2788426 49.2595808,19.3006519 L25.9781737,19.4336012 C22.1633003,19.4553862 19.0471195,22.5673232 19.0275223,26.3842526 L18.9871663,34.2443819 C19.0818862,34.255617 19.1779758,34.2665345 19.2754441,34.2771502 C22.6891275,34.6489512 27.0485594,34.2348566 31.513244,33.2285542 C31.7789418,32.8671684 32.075337,32.5211298 32.4024112,32.1940556 C34.8567584,29.7397084 38.3789778,29.0128681 41.4406288,30.0213822 C41.5958829,29.9543375 41.7503946,29.8866669 41.9041198,29.8183808 L42.1110981,30.2733467 C43.1114373,30.6972371 44.0473796,31.3160521 44.8614145,32.1300869 C48.2842088,35.5528813 48.2555691,41.130967 44.7974459,44.5890903 C41.4339531,47.952583 36.0649346,48.0717177 32.6241879,44.9262969 C27.8170558,45.8919233 23.0726921,46.2881596 18.9270186,45.959338 Z\"></path>\n\t        <path d=\"M45.4903462,38.8768094 C36.7300141,42.6833154 26.099618,44.7997354 18.1909048,43.9383587 C7.2512621,42.7468685 1.50150083,35.8404432 4.66865776,24.7010202 C7.51507386,14.6896965 15.4908218,6.92103848 24.3842626,4.38423012 C34.1310219,1.60401701 42.4070208,6.15882777 42.4070209,16.3101169 L34.5379395,16.310117 C34.5379394,11.9285862 31.728784,10.3825286 26.5666962,11.8549876 C20.2597508,13.6540114 14.3453742,19.4148216 12.2444303,26.8041943 C10.4963869,32.9523565 12.6250796,35.5092726 19.0530263,36.2093718 C25.5557042,36.9176104 35.0513021,34.9907189 42.7038419,31.5913902 L42.7421786,31.6756595 C44.3874154,31.5384763 47.8846101,37.3706354 45.9274416,38.6772897 L45.9302799,38.6835285 C45.9166992,38.6895612 45.9031139,38.6955897 45.8895238,38.7016142 C45.8389288,38.7327898 45.7849056,38.7611034 45.7273406,38.7863919 C45.6506459,38.8200841 45.571574,38.8501593 45.4903462,38.8768094 Z\"></path>\n        </g>\n        <rect x=\"96\" y=\"80\" width=\"16\" height=\"48\" rx=\"8\"></rect>\n        <rect x=\"80\" y=\"96\" width=\"48\" height=\"16\" rx=\"8\"></rect>\n    </g>\n    </g>\n</svg>"
        },
        "$:/core/images/new-image-button": {
            "title": "$:/core/images/new-image-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-new-image-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M81.3619177,73.6270062 L97.1875317,46.2162388 C97.91364,44.9585822 97.4824378,43.3533085 96.2260476,42.6279312 L46.2162388,13.7547547 C44.9585822,13.0286463 43.3533085,13.4598485 42.6279312,14.7162388 L30.0575956,36.4886988 L40.0978909,31.2276186 C43.1404959,29.6333041 46.8692155,31.3421319 47.6479264,34.6877101 L51.2545483,52.3903732 L61.1353556,53.2399953 C63.2899974,53.4346096 65.1046382,54.9309951 65.706105,57.0091178 C65.7395572,57.1246982 65.8069154,57.3539875 65.9047035,57.6813669 C66.0696435,58.2335608 66.2581528,58.852952 66.4667073,59.5238092 C67.0618822,61.4383079 67.6960725,63.3742727 68.3393254,65.2021174 C68.5462918,65.7902259 68.7511789,66.3583016 68.953259,66.9034738 C69.5777086,68.5881157 70.1617856,70.0172008 70.6783305,71.110045 C70.9334784,71.6498566 71.1627732,72.0871602 71.4035746,72.5373068 C71.6178999,72.7492946 71.9508843,72.9623307 72.4151452,73.1586945 C73.5561502,73.6412938 75.1990755,73.899146 77.0720271,73.9171651 C77.9355886,73.9254732 78.7819239,73.8832103 79.5638842,73.8072782 C80.0123946,73.7637257 80.3172916,73.7224469 80.4352582,73.7027375 C80.7503629,73.6500912 81.0598053,73.6256267 81.3619177,73.6270062 L81.3619177,73.6270062 L81.3619177,73.6270062 L81.3619177,73.6270062 Z M37.4707881,2.64867269 C38.9217993,0.135447653 42.1388058,-0.723707984 44.6486727,0.725364314 L108.293614,37.4707881 C110.806839,38.9217993 111.665994,42.1388058 110.216922,44.6486727 L73.4714982,108.293614 C72.0204871,110.806839 68.8034805,111.665994 66.2936136,110.216922 L2.64867269,73.4714982 C0.135447653,72.0204871 -0.723707984,68.8034805 0.725364314,66.2936136 L37.4707881,2.64867269 L37.4707881,2.64867269 L37.4707881,2.64867269 L37.4707881,2.64867269 Z M80.3080975,53.1397764 C82.8191338,54.5895239 86.0299834,53.7291793 87.4797308,51.218143 C88.9294783,48.7071068 88.0691338,45.4962571 85.5580975,44.0465097 C83.0470612,42.5967622 79.8362116,43.4571068 78.3864641,45.968143 C76.9367166,48.4791793 77.7970612,51.6900289 80.3080975,53.1397764 L80.3080975,53.1397764 L80.3080975,53.1397764 L80.3080975,53.1397764 Z M96,112 L88.0070969,112 C83.5881712,112 80,108.418278 80,104 C80,99.5907123 83.5848994,96 88.0070969,96 L96,96 L96,88.0070969 C96,83.5881712 99.581722,80 104,80 C108.409288,80 112,83.5848994 112,88.0070969 L112,96 L119.992903,96 C124.411829,96 128,99.581722 128,104 C128,108.409288 124.415101,112 119.992903,112 L112,112 L112,119.992903 C112,124.411829 108.418278,128 104,128 C99.5907123,128 96,124.415101 96,119.992903 L96,112 L96,112 Z M33.3471097,51.7910932 C40.7754579,59.7394511 42.3564368,62.4818351 40.7958321,65.1848818 C39.2352273,67.8879286 26.9581062,62.8571718 24.7019652,66.7649227 C22.4458242,70.6726735 23.7947046,70.0228006 22.2648667,72.6725575 L41.9944593,84.0634431 C41.9944593,84.0634431 36.3904568,75.8079231 37.7602356,73.4353966 C40.2754811,69.0788636 46.5298923,72.1787882 48.1248275,69.4162793 C50.538989,65.234829 43.0222016,59.7770885 33.3471097,51.7910932 L33.3471097,51.7910932 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/new-journal-button": {
            "title": "$:/core/images/new-journal-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-new-journal-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M102.545455,112.818182 L102.545455,124.636364 L102.545455,124.636364 L102.545455,124.636364 C102.545455,125.941761 103.630828,127 104.969697,127 L111.030303,127 C112.369172,127 113.454545,125.941761 113.454545,124.636364 L113.454545,112.818182 L125.575758,112.818182 C126.914626,112.818182 128,111.759982 128,110.454545 L128,104.545455 C128,103.240018 126.914626,102.181818 125.575758,102.181818 L113.454545,102.181818 L113.454545,90.3636364 C113.454545,89.0582 112.369172,88 111.030303,88 L104.969697,88 L104.969697,88 C103.630828,88 102.545455,89.0582 102.545455,90.3636364 L102.545455,102.181818 L90.4242424,102.181818 L90.4242424,102.181818 C89.0853705,102.181818 88,103.240018 88,104.545455 L88,110.454545 L88,110.454545 L88,110.454545 C88,111.759982 89.0853705,112.818182 90.4242424,112.818182 L102.545455,112.818182 Z\"></path>\n        <g transform=\"translate(59.816987, 64.316987) rotate(30.000000) translate(-59.816987, -64.316987) translate(20.316987, 12.816987)\">\n            <g transform=\"translate(0.000000, 0.000000)\">\n                <path d=\"M9.99631148,0 C4.4755011,0 -2.27373675e-13,4.48070044 -2.27373675e-13,9.99759461 L-2.27373675e-13,91.6128884 C-2.27373675e-13,97.1344074 4.46966773,101.610483 9.99631148,101.610483 L68.9318917,101.610483 C74.4527021,101.610483 78.9282032,97.1297826 78.9282032,91.6128884 L78.9282032,9.99759461 C78.9282032,4.47607557 74.4585355,0 68.9318917,0 L9.99631148,0 Z M20.8885263,26 C24.2022348,26 26.8885263,23.3137085 26.8885263,20 C26.8885263,16.6862915 24.2022348,14 20.8885263,14 C17.5748178,14 14.8885263,16.6862915 14.8885263,20 C14.8885263,23.3137085 17.5748178,26 20.8885263,26 Z M57.3033321,25.6783342 C60.6170406,25.6783342 63.3033321,22.9920427 63.3033321,19.6783342 C63.3033321,16.3646258 60.6170406,13.6783342 57.3033321,13.6783342 C53.9896236,13.6783342 51.3033321,16.3646258 51.3033321,19.6783342 C51.3033321,22.9920427 53.9896236,25.6783342 57.3033321,25.6783342 Z\"></path>\n                <text font-family=\"Helvetica\" font-size=\"47.1724138\" font-weight=\"bold\" fill=\"#FFFFFF\">\n                    <tspan x=\"42\" y=\"77.4847912\" text-anchor=\"middle\"><<now \"DD\">></tspan>\n                </text>\n            </g>\n        </g>\n    </g>\n</svg>"
        },
        "$:/core/images/opacity": {
            "title": "$:/core/images/opacity",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-opacity tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M102.361773,65 C101.833691,67.051742 101.183534,69.0544767 100.419508,71 L82.5835324,71 C83.7602504,69.1098924 84.7666304,67.1027366 85.581205,65 L102.361773,65 Z M102.834311,63 C103.256674,61.0388326 103.568427,59.0365486 103.762717,57 L87.6555706,57 C87.3692052,59.0609452 86.9083652,61.0660782 86.2884493,63 L102.834311,63 Z M99.5852583,73 C98.6682925,75.0747721 97.6196148,77.0783056 96.4498253,79 L75.8124196,79 C77.8387053,77.2115633 79.6621163,75.1985844 81.2437158,73 L99.5852583,73 Z M95.1689122,81 C93.7449202,83.1155572 92.1695234,85.1207336 90.458251,87 L60.4614747,87 C65.1836162,85.86248 69.5430327,83.794147 73.3347255,81 L95.1689122,81 Z M87.6555706,47 L103.762717,47 C101.246684,20.6269305 79.0321807,0 52,0 C23.281193,0 0,23.281193 0,52 C0,77.2277755 17.9651296,98.2595701 41.8000051,103 L62.1999949,103 C67.8794003,101.870444 73.2255333,99.8158975 78.074754,97 L39,97 L39,95 L81.2493857,95 C83.8589242,93.2215015 86.2981855,91.2116653 88.5376609,89 L39,89 L39,87 L43.5385253,87 C27.7389671,83.1940333 16,68.967908 16,52 C16,32.117749 32.117749,16 52,16 C70.1856127,16 85.2217929,29.4843233 87.6555706,47 Z M87.8767787,49 L103.914907,49 C103.971379,49.9928025 104,50.9930589 104,52 C104,53.0069411 103.971379,54.0071975 103.914907,55 L87.8767787,55 C87.958386,54.0107999 88,53.0102597 88,52 C88,50.9897403 87.958386,49.9892001 87.8767787,49 Z\"></path>\n        <path d=\"M76,128 C104.718807,128 128,104.718807 128,76 C128,47.281193 104.718807,24 76,24 C47.281193,24 24,47.281193 24,76 C24,104.718807 47.281193,128 76,128 L76,128 Z M76,112 C95.882251,112 112,95.882251 112,76 C112,56.117749 95.882251,40 76,40 C56.117749,40 40,56.117749 40,76 C40,95.882251 56.117749,112 76,112 L76,112 Z\"></path>\n        <path d=\"M37,58 L90,58 L90,62 L37,62 L37,58 L37,58 Z M40,50 L93,50 L93,54 L40,54 L40,50 L40,50 Z M40,42 L93,42 L93,46 L40,46 L40,42 L40,42 Z M32,66 L85,66 L85,70 L32,70 L32,66 L32,66 Z M30,74 L83,74 L83,78 L30,78 L30,74 L30,74 Z M27,82 L80,82 L80,86 L27,86 L27,82 L27,82 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/open-window": {
            "title": "$:/core/images/open-window",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-open-window tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M16,112 L104.993898,112 C108.863261,112 112,115.590712 112,120 C112,124.418278 108.858091,128 104.993898,128 L7.00610161,128 C3.13673853,128 0,124.409288 0,120 C0,119.998364 4.30952878e-07,119.996727 1.29273572e-06,119.995091 C4.89579306e-07,119.993456 0,119.99182 0,119.990183 L0,24.0098166 C0,19.586117 3.59071231,16 8,16 C12.418278,16 16,19.5838751 16,24.0098166 L16,112 Z\"></path>\n        <path d=\"M96,43.1959595 L96,56 C96,60.418278 99.581722,64 104,64 C108.418278,64 112,60.418278 112,56 L112,24 C112,19.5907123 108.415101,16 103.992903,16 L72.0070969,16 C67.5881712,16 64,19.581722 64,24 C64,28.4092877 67.5848994,32 72.0070969,32 L84.5685425,32 L48.2698369,68.2987056 C45.1421332,71.4264093 45.1434327,76.4904296 48.267627,79.614624 C51.3854642,82.7324612 56.4581306,82.7378289 59.5835454,79.6124141 L96,43.1959595 Z M32,7.9992458 C32,3.58138434 35.5881049,0 39.9992458,0 L120.000754,0 C124.418616,0 128,3.5881049 128,7.9992458 L128,88.0007542 C128,92.4186157 124.411895,96 120.000754,96 L39.9992458,96 C35.5813843,96 32,92.4118951 32,88.0007542 L32,7.9992458 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/options-button": {
            "title": "$:/core/images/options-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-options-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M110.48779,76.0002544 C109.354214,80.4045063 107.611262,84.5641217 105.354171,88.3838625 L105.354171,88.3838625 L112.07833,95.1080219 C115.20107,98.2307613 115.210098,103.299824 112.089164,106.420759 L106.420504,112.089418 C103.301049,115.208874 98.2346851,115.205502 95.1077675,112.078585 L88.3836082,105.354425 C84.5638673,107.611516 80.4042519,109.354468 76,110.488045 L76,110.488045 L76,119.993281 C76,124.409501 72.4220153,128.000254 68.0083475,128.000254 L59.9916525,128.000254 C55.5800761,128.000254 52,124.41541 52,119.993281 L52,110.488045 C47.5957481,109.354468 43.4361327,107.611516 39.6163918,105.354425 L32.8922325,112.078585 C29.7694931,115.201324 24.7004301,115.210353 21.5794957,112.089418 L15.9108363,106.420759 C12.7913807,103.301303 12.7947522,98.2349395 15.9216697,95.1080219 L22.6458291,88.3838625 C20.3887383,84.5641217 18.6457859,80.4045063 17.5122098,76.0002544 L8.00697327,76.0002544 C3.59075293,76.0002544 2.19088375e-16,72.4222697 4.89347582e-16,68.0086019 L9.80228577e-16,59.9919069 C1.25035972e-15,55.5803305 3.58484404,52.0002544 8.00697327,52.0002544 L17.5122098,52.0002544 C18.6457859,47.5960025 20.3887383,43.4363871 22.6458291,39.6166462 L15.9216697,32.8924868 C12.7989304,29.7697475 12.7899019,24.7006845 15.9108363,21.5797501 L21.5794957,15.9110907 C24.6989513,12.7916351 29.7653149,12.7950065 32.8922325,15.9219241 L39.6163918,22.6460835 C43.4361327,20.3889927 47.5957481,18.6460403 52,17.5124642 L52,8.00722764 C52,3.5910073 55.5779847,0.000254375069 59.9916525,0.000254375069 L68.0083475,0.000254375069 C72.4199239,0.000254375069 76,3.58509841 76,8.00722764 L76,17.5124642 C80.4042519,18.6460403 84.5638673,20.3889927 88.3836082,22.6460835 L95.1077675,15.9219241 C98.2305069,12.7991848 103.29957,12.7901562 106.420504,15.9110907 L112.089164,21.5797501 C115.208619,24.6992057 115.205248,29.7655693 112.07833,32.8924868 L105.354171,39.6166462 L105.354171,39.6166462 C107.611262,43.4363871 109.354214,47.5960025 110.48779,52.0002544 L119.993027,52.0002544 C124.409247,52.0002544 128,55.5782391 128,59.9919069 L128,68.0086019 C128,72.4201783 124.415156,76.0002544 119.993027,76.0002544 L110.48779,76.0002544 L110.48779,76.0002544 Z M64,96.0002544 C81.673112,96.0002544 96,81.6733664 96,64.0002544 C96,46.3271424 81.673112,32.0002544 64,32.0002544 C46.326888,32.0002544 32,46.3271424 32,64.0002544 C32,81.6733664 46.326888,96.0002544 64,96.0002544 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/paint": {
            "title": "$:/core/images/paint",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-paint tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M83.5265806,76.1907935 C90.430962,69.2864121 91.8921169,59.0000433 87.9100453,50.6642209 L125.812763,12.7615036 C128.732035,9.84223095 128.72611,5.10322984 125.812796,2.18991592 C122.893542,-0.729338085 118.161775,-0.730617045 115.241209,2.18994966 L77.3384914,40.092667 C69.002669,36.1105954 58.7163002,37.5717503 51.8119188,44.4761317 L83.5265806,76.1907935 L83.5265806,76.1907935 L83.5265806,76.1907935 L83.5265806,76.1907935 Z M80.8836921,78.8336819 L49.1690303,47.1190201 C49.1690303,47.1190201 8.50573364,81.242543 0,80.2820711 C0,80.2820711 3.78222974,85.8744423 6.82737483,88.320684 C20.8514801,82.630792 44.1526049,63.720771 44.1526049,63.720771 L44.8144806,64.3803375 C44.8144806,64.3803375 19.450356,90.2231043 9.18040433,92.0477601 C10.4017154,93.4877138 13.5343883,96.1014812 15.4269991,97.8235871 C20.8439164,96.3356979 50.1595367,69.253789 50.1595367,69.253789 L50.8214124,69.9133555 L18.4136144,100.936036 L23.6993903,106.221812 L56.1060358,75.2002881 L56.7679115,75.8598546 C56.7679115,75.8598546 28.9040131,106.396168 28.0841366,108.291555 C28.0841366,108.291555 34.1159238,115.144621 35.6529617,116.115796 C36.3545333,113.280171 63.5365402,82.6307925 63.5365402,82.6307925 L64.1984159,83.290359 C64.1984159,83.290359 43.6013016,107.04575 39.2343772,120.022559 C42.443736,123.571575 46.7339155,125.159692 50.1595362,126.321151 C47.9699978,114.504469 80.8836921,78.8336819 80.8836921,78.8336819 L80.8836921,78.8336819 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/palette": {
            "title": "$:/core/images/palette",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-palette tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M80.2470434,39.1821571 C75.0645698,38.2680897 69.6261555,37.7814854 64.0193999,37.7814854 C28.6624616,37.7814854 0,57.1324214 0,81.0030106 C0,90.644534 4.67604329,99.5487133 12.5805659,106.738252 C23.5031767,91.1899067 26.3405471,72.3946229 36.8885698,63.5622337 C52.0716764,50.8486559 63.4268694,55.7343343 63.4268694,55.7343343 L80.2470434,39.1821571 Z M106.781666,48.8370714 C119.830962,56.749628 128.0388,68.229191 128.0388,81.0030106 C128.0388,90.3534932 128.557501,98.4142085 116.165191,106.082518 C105.367708,112.763955 112.341384,99.546808 104.321443,95.1851533 C96.3015017,90.8234987 84.3749007,96.492742 86.1084305,103.091059 C89.3087234,115.272303 105.529892,114.54645 92.4224435,119.748569 C79.3149955,124.950687 74.2201582,124.224536 64.0193999,124.224536 C56.1979176,124.224536 48.7040365,123.277578 41.7755684,121.544216 C51.620343,117.347916 69.6563669,109.006202 75.129737,102.088562 C82.7876655,92.4099199 87.3713218,80.0000002 83.3235694,72.4837191 C83.1303943,72.1250117 94.5392656,60.81569 106.781666,48.8370714 Z M1.13430476,123.866563 C0.914084026,123.867944 0.693884185,123.868637 0.473712455,123.868637 C33.9526848,108.928928 22.6351223,59.642592 59.2924543,59.6425917 C59.6085574,61.0606542 59.9358353,62.5865065 60.3541977,64.1372318 C34.4465025,59.9707319 36.7873124,112.168427 1.13429588,123.866563 L1.13430476,123.866563 Z M1.84669213,123.859694 C40.7185279,123.354338 79.9985412,101.513051 79.9985401,79.0466836 C70.7284906,79.0466835 65.9257264,75.5670082 63.1833375,71.1051511 C46.585768,64.1019718 32.81846,116.819636 1.84665952,123.859695 L1.84669213,123.859694 Z M67.1980193,59.8524981 C62.748213,63.9666823 72.0838429,76.2846822 78.5155805,71.1700593 C89.8331416,59.8524993 112.468264,37.2173758 123.785825,25.8998146 C135.103386,14.5822535 123.785825,3.26469247 112.468264,14.5822535 C101.150703,25.8998144 78.9500931,48.9868127 67.1980193,59.8524981 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/permalink-button": {
            "title": "$:/core/images/permalink-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-permalink-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M80.4834582,48 L73.0956761,80 L73.0956761,80 L47.5165418,80 L54.9043239,48 L80.4834582,48 Z M84.1773493,32 L89.8007299,7.64246248 C90.7941633,3.33942958 95.0918297,0.64641956 99.3968675,1.64031585 C103.693145,2.63218977 106.385414,6.93288901 105.390651,11.2416793 L100.598215,32 L104.000754,32 C108.411895,32 112,35.581722 112,40 C112,44.4092877 108.418616,48 104.000754,48 L96.9043239,48 L89.5165418,80 L104.000754,80 C108.411895,80 112,83.581722 112,88 C112,92.4092877 108.418616,96 104.000754,96 L85.8226507,96 L80.1992701,120.357538 C79.2058367,124.66057 74.9081703,127.35358 70.6031325,126.359684 C66.3068546,125.36781 63.6145865,121.067111 64.6093491,116.758321 L69.401785,96 L43.8226507,96 L38.1992701,120.357538 C37.2058367,124.66057 32.9081703,127.35358 28.6031325,126.359684 C24.3068546,125.36781 21.6145865,121.067111 22.6093491,116.758321 L27.401785,96 L23.9992458,96 C19.5881049,96 16,92.418278 16,88 C16,83.5907123 19.5813843,80 23.9992458,80 L31.0956761,80 L38.4834582,48 L23.9992458,48 C19.5881049,48 16,44.418278 16,40 C16,35.5907123 19.5813843,32 23.9992458,32 L42.1773493,32 L47.8007299,7.64246248 C48.7941633,3.33942958 53.0918297,0.64641956 57.3968675,1.64031585 C61.6931454,2.63218977 64.3854135,6.93288901 63.3906509,11.2416793 L58.598215,32 L84.1773493,32 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/permaview-button": {
            "title": "$:/core/images/permaview-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-permaview-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M81.4834582,48 L79.6365127,56 L79.6365127,56 L74.0573784,56 L75.9043239,48 L81.4834582,48 Z M85.1773493,32 L90.8007299,7.64246248 C91.7941633,3.33942958 96.0918297,0.64641956 100.396867,1.64031585 C104.693145,2.63218977 107.385414,6.93288901 106.390651,11.2416793 L101.598215,32 L104.000754,32 C108.411895,32 112,35.581722 112,40 C112,44.4092877 108.418616,48 104.000754,48 L97.9043239,48 L96.0573784,56 L104.000754,56 C108.411895,56 112,59.581722 112,64 C112,68.4092877 108.418616,72 104.000754,72 L92.3634873,72 L90.5165418,80 L104.000754,80 C108.411895,80 112,83.581722 112,88 C112,92.4092877 108.418616,96 104.000754,96 L86.8226507,96 L81.1992701,120.357538 C80.2058367,124.66057 75.9081703,127.35358 71.6031325,126.359684 C67.3068546,125.36781 64.6145865,121.067111 65.6093491,116.758321 L70.401785,96 L64.8226507,96 L59.1992701,120.357538 C58.2058367,124.66057 53.9081703,127.35358 49.6031325,126.359684 C45.3068546,125.36781 42.6145865,121.067111 43.6093491,116.758321 L48.401785,96 L42.8226507,96 L37.1992701,120.357538 C36.2058367,124.66057 31.9081703,127.35358 27.6031325,126.359684 C23.3068546,125.36781 20.6145865,121.067111 21.6093491,116.758321 L26.401785,96 L23.9992458,96 C19.5881049,96 16,92.418278 16,88 C16,83.5907123 19.5813843,80 23.9992458,80 L30.0956761,80 L31.9426216,72 L23.9992458,72 C19.5881049,72 16,68.418278 16,64 C16,59.5907123 19.5813843,56 23.9992458,56 L35.6365127,56 L37.4834582,48 L23.9992458,48 C19.5881049,48 16,44.418278 16,40 C16,35.5907123 19.5813843,32 23.9992458,32 L41.1773493,32 L46.8007299,7.64246248 C47.7941633,3.33942958 52.0918297,0.64641956 56.3968675,1.64031585 C60.6931454,2.63218977 63.3854135,6.93288901 62.3906509,11.2416793 L57.598215,32 L63.1773493,32 L68.8007299,7.64246248 C69.7941633,3.33942958 74.0918297,0.64641956 78.3968675,1.64031585 C82.6931454,2.63218977 85.3854135,6.93288901 84.3906509,11.2416793 L79.598215,32 L85.1773493,32 Z M53.9043239,48 L52.0573784,56 L57.6365127,56 L59.4834582,48 L53.9043239,48 Z M75.9426216,72 L74.0956761,80 L74.0956761,80 L68.5165418,80 L70.3634873,72 L75.9426216,72 L75.9426216,72 Z M48.3634873,72 L46.5165418,80 L52.0956761,80 L53.9426216,72 L48.3634873,72 L48.3634873,72 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/picture": {
            "title": "$:/core/images/picture",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-picture tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M112,68.2332211 L112,20.0027785 C112,17.7898769 110.207895,16 107.997221,16 L20.0027785,16 C17.7898769,16 16,17.792105 16,20.0027785 L16,58.312373 L25.2413115,43.7197989 C28.041793,39.297674 34.2643908,38.7118128 37.8410347,42.5335275 L56.0882845,63.1470817 L69.7748997,56.7400579 C72.766567,55.3552503 76.3013751,55.9473836 78.678437,58.2315339 C78.8106437,58.3585731 79.0742301,58.609836 79.4527088,58.9673596 C80.0910923,59.570398 80.8117772,60.2441563 81.598127,60.9705595 C83.8422198,63.043576 86.1541548,65.1151944 88.3956721,67.0372264 C89.1168795,67.6556396 89.8200801,68.2492007 90.5021258,68.8146755 C92.6097224,70.5620551 94.4693308,72.0029474 95.9836366,73.0515697 C96.7316295,73.5695379 97.3674038,73.9719282 98.0281481,74.3824999 C98.4724987,74.4989557 99.0742374,74.5263881 99.8365134,74.4317984 C101.709944,74.1993272 104.074502,73.2878514 106.559886,71.8846196 C107.705822,71.2376318 108.790494,70.5370325 109.764561,69.8410487 C110.323259,69.4418522 110.694168,69.1550757 110.834827,69.0391868 C111.210545,68.7296319 111.600264,68.4615815 112,68.2332211 L112,68.2332211 Z M0,8.00697327 C0,3.58484404 3.59075293,0 8.00697327,0 L119.993027,0 C124.415156,0 128,3.59075293 128,8.00697327 L128,119.993027 C128,124.415156 124.409247,128 119.993027,128 L8.00697327,128 C3.58484404,128 0,124.409247 0,119.993027 L0,8.00697327 L0,8.00697327 Z M95,42 C99.418278,42 103,38.418278 103,34 C103,29.581722 99.418278,26 95,26 C90.581722,26 87,29.581722 87,34 C87,38.418278 90.581722,42 95,42 L95,42 Z M32,76 C47.8587691,80.8294182 52.0345556,83.2438712 52.0345556,88 C52.0345556,92.7561288 32,95.4712486 32,102.347107 C32,109.222965 33.2849191,107.337637 33.2849191,112 L67.999999,112 C67.999999,112 54.3147136,105.375255 54.3147136,101.200691 C54.3147136,93.535181 64.9302432,92.860755 64.9302432,88 C64.9302432,80.6425555 50.8523779,79.167282 32,76 L32,76 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/plugin-generic-language": {
            "title": "$:/core/images/plugin-generic-language",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M61.2072232,68.1369825 C56.8829239,70.9319564 54.2082892,74.793177 54.2082892,79.0581634 C54.2082892,86.9638335 63.3980995,93.4821994 75.2498076,94.3940006 C77.412197,98.2964184 83.8475284,101.178858 91.5684735,101.403106 C86.4420125,100.27851 82.4506393,97.6624107 80.9477167,94.3948272 C92.8046245,93.4861461 102,86.9662269 102,79.0581634 C102,70.5281905 91.3014611,63.6132813 78.1041446,63.6132813 C71.5054863,63.6132813 65.5315225,65.3420086 61.2072232,68.1369825 Z M74.001066,53.9793443 C69.6767667,56.7743182 63.7028029,58.5030456 57.1041446,58.5030456 C54.4851745,58.5030456 51.9646095,58.2307276 49.6065315,57.7275105 C46.2945155,59.9778212 41.2235699,61.4171743 35.5395922,61.4171743 C35.4545771,61.4171743 35.3696991,61.4168523 35.2849622,61.4162104 C39.404008,60.5235193 42.7961717,58.6691298 44.7630507,56.286533 C37.8379411,53.5817651 33.2082892,48.669413 33.2082892,43.0581634 C33.2082892,34.5281905 43.9068281,27.6132812 57.1041446,27.6132812 C70.3014611,27.6132812 81,34.5281905 81,43.0581634 C81,47.3231498 78.3253653,51.1843704 74.001066,53.9793443 Z M64,0 L118.5596,32 L118.5596,96 L64,128 L9.44039956,96 L9.44039956,32 L64,0 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/plugin-generic-plugin": {
            "title": "$:/core/images/plugin-generic-plugin",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M40.3972881,76.4456988 L40.3972881,95.3404069 L54.5170166,95.3404069 L54.5170166,95.3404069 C54.5165526,95.3385183 54.516089,95.3366295 54.515626,95.3347404 C54.6093153,95.3385061 54.7034848,95.3404069 54.7980982,95.3404069 C58.6157051,95.3404069 61.710487,92.245625 61.710487,88.4280181 C61.710487,86.6197822 61.01617,84.9737128 59.8795929,83.7418666 L59.8795929,83.7418666 C59.8949905,83.7341665 59.9104102,83.7265043 59.925852,83.7188798 C58.8840576,82.5086663 58.2542926,80.9336277 58.2542926,79.2114996 C58.2542926,75.3938927 61.3490745,72.2991108 65.1666814,72.2991108 C68.9842884,72.2991108 72.0790703,75.3938927 72.0790703,79.2114996 C72.0790703,81.1954221 71.2432806,82.9841354 69.9045961,84.2447446 L69.9045961,84.2447446 C69.9333407,84.2629251 69.9619885,84.281245 69.9905383,84.2997032 L69.9905383,84.2997032 C69.1314315,85.4516923 68.6228758,86.8804654 68.6228758,88.4280181 C68.6228758,91.8584969 71.1218232,94.7053153 74.3986526,95.2474079 C74.3913315,95.2784624 74.3838688,95.3094624 74.3762652,95.3404069 L95.6963988,95.3404069 L95.6963988,75.5678578 L95.6963988,75.5678578 C95.6466539,75.5808558 95.5967614,75.5934886 95.5467242,75.6057531 C95.5504899,75.5120637 95.5523907,75.4178943 95.5523907,75.3232809 C95.5523907,71.505674 92.4576088,68.4108921 88.6400019,68.4108921 C86.831766,68.4108921 85.1856966,69.105209 83.9538504,70.2417862 L83.9538504,70.2417862 C83.9461503,70.2263886 83.938488,70.2109688 83.9308636,70.1955271 C82.7206501,71.2373215 81.1456115,71.8670865 79.4234834,71.8670865 C75.6058765,71.8670865 72.5110946,68.7723046 72.5110946,64.9546976 C72.5110946,61.1370907 75.6058765,58.0423088 79.4234834,58.0423088 C81.4074059,58.0423088 83.1961192,58.8780985 84.4567284,60.2167829 L84.4567284,60.2167829 C84.4749089,60.1880383 84.4932288,60.1593906 84.511687,60.1308407 L84.511687,60.1308407 C85.6636761,60.9899475 87.0924492,61.4985032 88.6400019,61.4985032 C92.0704807,61.4985032 94.9172991,58.9995558 95.4593917,55.7227265 C95.538755,55.7414363 95.6177614,55.761071 95.6963988,55.7816184 L95.6963988,40.0412962 L74.3762652,40.0412962 L74.3762652,40.0412962 C74.3838688,40.0103516 74.3913315,39.9793517 74.3986526,39.9482971 L74.3986526,39.9482971 C71.1218232,39.4062046 68.6228758,36.5593862 68.6228758,33.1289073 C68.6228758,31.5813547 69.1314315,30.1525815 69.9905383,29.0005925 C69.9619885,28.9821342 69.9333407,28.9638143 69.9045961,28.9456339 C71.2432806,27.6850247 72.0790703,25.8963113 72.0790703,23.9123888 C72.0790703,20.0947819 68.9842884,17 65.1666814,17 C61.3490745,17 58.2542926,20.0947819 58.2542926,23.9123888 C58.2542926,25.6345169 58.8840576,27.2095556 59.925852,28.419769 L59.925852,28.419769 C59.9104102,28.4273935 59.8949905,28.4350558 59.8795929,28.4427558 C61.01617,29.674602 61.710487,31.3206715 61.710487,33.1289073 C61.710487,36.9465143 58.6157051,40.0412962 54.7980982,40.0412962 C54.7034848,40.0412962 54.6093153,40.0393953 54.515626,40.0356296 L54.515626,40.0356296 C54.516089,40.0375187 54.5165526,40.0394075 54.5170166,40.0412962 L40.3972881,40.0412962 L40.3972881,52.887664 L40.3972881,52.887664 C40.4916889,53.3430132 40.5412962,53.8147625 40.5412962,54.2980982 C40.5412962,58.1157051 37.4465143,61.210487 33.6289073,61.210487 C32.0813547,61.210487 30.6525815,60.7019313 29.5005925,59.8428245 C29.4821342,59.8713744 29.4638143,59.9000221 29.4456339,59.9287667 C28.1850247,58.5900823 26.3963113,57.7542926 24.4123888,57.7542926 C20.5947819,57.7542926 17.5,60.8490745 17.5,64.6666814 C17.5,68.4842884 20.5947819,71.5790703 24.4123888,71.5790703 C26.134517,71.5790703 27.7095556,70.9493053 28.919769,69.9075109 L28.919769,69.9075109 C28.9273935,69.9229526 28.9350558,69.9383724 28.9427558,69.95377 C30.174602,68.8171928 31.8206715,68.1228758 33.6289073,68.1228758 C37.4465143,68.1228758 40.5412962,71.2176578 40.5412962,75.0352647 C40.5412962,75.5186004 40.4916889,75.9903496 40.3972881,76.4456988 Z M64,0 L118.5596,32 L118.5596,96 L64,128 L9.44039956,96 L9.44039956,32 L64,0 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/plugin-generic-theme": {
            "title": "$:/core/images/plugin-generic-theme",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M29.4078519,91.4716406 L51.4693474,69.4101451 L51.4646675,69.4054652 C50.5969502,68.5377479 50.5929779,67.1348725 51.4693474,66.2585029 C52.3396494,65.3882009 53.7499654,65.3874786 54.6163097,66.2538229 L64.0805963,75.7181095 C64.9483136,76.5858268 64.9522859,77.9887022 64.0759163,78.8650718 C63.2056143,79.7353737 61.7952984,79.736096 60.9289541,78.8697517 L60.9242741,78.8650718 L60.9242741,78.8650718 L38.8627786,100.926567 C36.2518727,103.537473 32.0187578,103.537473 29.4078519,100.926567 C26.796946,98.3156614 26.796946,94.0825465 29.4078519,91.4716406 Z M60.8017407,66.3810363 C58.3659178,63.6765806 56.3370667,61.2899536 54.9851735,59.5123615 C48.1295381,50.4979488 44.671561,55.2444054 40.7586738,59.5123614 C36.8457866,63.7803174 41.789473,67.2384487 38.0759896,70.2532832 C34.3625062,73.2681177 34.5917646,74.3131575 28.3243876,68.7977024 C22.0570105,63.2822473 21.6235306,61.7636888 24.5005999,58.6166112 C27.3776691,55.4695337 29.7823103,60.4247912 35.6595047,54.8320442 C41.5366991,49.2392972 36.5996215,44.2825646 36.5996215,44.2825646 C36.5996215,44.2825646 48.8365511,19.267683 65.1880231,21.1152173 C81.5394952,22.9627517 59.0022276,18.7228947 53.3962199,38.3410355 C50.9960082,46.7405407 53.8429162,44.7613399 58.3941742,48.3090467 C59.7875202,49.3951602 64.4244828,52.7100463 70.1884353,56.9943417 L90.8648751,36.3179019 L92.4795866,31.5515482 L100.319802,26.8629752 L103.471444,30.0146174 L98.782871,37.8548326 L94.0165173,39.4695441 L73.7934912,59.6925702 C86.4558549,69.2403631 102.104532,81.8392557 102.104532,86.4016913 C102.104533,93.6189834 99.0337832,97.9277545 92.5695848,95.5655717 C87.8765989,93.8506351 73.8015497,80.3744087 63.8173444,69.668717 L60.9242741,72.5617873 L57.7726319,69.4101451 L60.8017407,66.3810363 L60.8017407,66.3810363 Z M63.9533761,1.42108547e-13 L118.512977,32 L118.512977,96 L63.9533761,128 L9.39377563,96 L9.39377563,32 L63.9533761,1.42108547e-13 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/preview-closed": {
            "title": "$:/core/images/preview-closed",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-preview-closed tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M0.0881363238,64 C-0.210292223,65.8846266 0.249135869,67.8634737 1.4664206,69.4579969 C16.2465319,88.8184886 39.1692554,100.414336 64,100.414336 C88.8307446,100.414336 111.753468,88.8184886 126.533579,69.4579969 C127.750864,67.8634737 128.210292,65.8846266 127.911864,64 C110.582357,78.4158332 88.3036732,87.0858436 64,87.0858436 C39.6963268,87.0858436 17.4176431,78.4158332 0.0881363238,64 Z\"></path>\n        <rect x=\"62\" y=\"96\" width=\"4\" height=\"16\" rx=\"4\"></rect>\n        <rect transform=\"translate(80.000000, 101.000000) rotate(-5.000000) translate(-80.000000, -101.000000) \" x=\"78\" y=\"93\" width=\"4\" height=\"16\" rx=\"4\"></rect>\n        <rect transform=\"translate(48.000000, 101.000000) rotate(-355.000000) translate(-48.000000, -101.000000) \" x=\"46\" y=\"93\" width=\"4\" height=\"16\" rx=\"4\"></rect>\n        <rect transform=\"translate(32.000000, 96.000000) rotate(-350.000000) translate(-32.000000, -96.000000) \" x=\"30\" y=\"88\" width=\"4\" height=\"16\" rx=\"4\"></rect>\n        <rect transform=\"translate(96.000000, 96.000000) rotate(-10.000000) translate(-96.000000, -96.000000) \" x=\"94\" y=\"88\" width=\"4\" height=\"16\" rx=\"4\"></rect>\n        <rect transform=\"translate(112.000000, 88.000000) rotate(-20.000000) translate(-112.000000, -88.000000) \" x=\"110\" y=\"80\" width=\"4\" height=\"16\" rx=\"4\"></rect>\n        <rect transform=\"translate(16.000000, 88.000000) rotate(-340.000000) translate(-16.000000, -88.000000) \" x=\"14\" y=\"80\" width=\"4\" height=\"16\" rx=\"4\"></rect>\n    </g>\n</svg>"
        },
        "$:/core/images/preview-open": {
            "title": "$:/core/images/preview-open",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-preview-open tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M64.1099282,99.5876785 C39.2791836,99.5876785 16.3564602,87.9918313 1.57634884,68.6313396 C-0.378878622,66.070184 -0.378878622,62.5174945 1.57634884,59.9563389 C16.3564602,40.5958472 39.2791836,29 64.1099282,29 C88.9406729,29 111.863396,40.5958472 126.643508,59.9563389 C128.598735,62.5174945 128.598735,66.070184 126.643508,68.6313396 C111.863396,87.9918313 88.9406729,99.5876785 64.1099282,99.5876785 Z M110.213805,67.5808331 C111.654168,66.0569335 111.654168,63.9430665 110.213805,62.4191669 C99.3257042,50.8995835 82.4391647,44 64.1470385,44 C45.8549124,44 28.9683729,50.8995835 18.0802717,62.4191669 C16.6399094,63.9430665 16.6399094,66.0569335 18.0802717,67.5808331 C28.9683729,79.1004165 45.8549124,86 64.1470385,86 C82.4391647,86 99.3257042,79.1004165 110.213805,67.5808331 Z\"></path>\n        <path d=\"M63.5,88 C76.4786916,88 87,77.4786916 87,64.5 C87,51.5213084 76.4786916,41 63.5,41 C50.5213084,41 40,51.5213084 40,64.5 C40,77.4786916 50.5213084,88 63.5,88 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/print-button": {
            "title": "$:/core/images/print-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-print-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M112,71 L112,30.5 L111.96811,30.5 L111.96811,30.5 C111.932942,28.4998414 111.151676,26.510538 109.625176,24.9840387 L86.9982489,2.35711116 C85.3482153,0.707077645 83.1589869,-0.071534047 81,0.0201838424 L81,0 L23.9992458,0 C19.5808867,0 16,3.58213437 16,8.00092105 L16,71 L24,71 L24,8 L81,8 L81,22.4996539 C81,26.9216269 84.5818769,30.5 89.0003461,30.5 L104,30.5 L104,71 L112,71 Z\"></path>\n        <rect x=\"32\" y=\"36\" width=\"64\" height=\"8\" rx=\"4\"></rect>\n        <rect x=\"32\" y=\"52\" width=\"64\" height=\"8\" rx=\"4\"></rect>\n        <rect x=\"32\" y=\"20\" width=\"40\" height=\"8\" rx=\"4\"></rect>\n        <path d=\"M0,80.0054195 C0,71.1658704 7.15611005,64 16.0008841,64 L111.999116,64 C120.83616,64 128,71.1553215 128,80.0054195 L128,111.99458 C128,120.83413 120.84389,128 111.999116,128 L16.0008841,128 C7.16383982,128 0,120.844679 0,111.99458 L0,80.0054195 Z M104,96 C108.418278,96 112,92.418278 112,88 C112,83.581722 108.418278,80 104,80 C99.581722,80 96,83.581722 96,88 C96,92.418278 99.581722,96 104,96 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/quote": {
            "title": "$:/core/images/quote",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-quote tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M51.2188077,117.712501 L51.2188077,62.1993386 L27.4274524,62.1993386 C27.4274524,53.3075754 29.1096526,45.797753 32.4741035,39.669646 C35.8385544,33.541539 42.0867267,28.9154883 51.2188077,25.7913554 L51.2188077,2 C43.7689521,2.96127169 36.8599155,5.18417913 30.4914905,8.668789 C24.1230656,12.1533989 18.6559149,16.5391352 14.0898743,21.8261295 C9.52383382,27.1131238 5.97919764,33.2411389 3.45585945,40.2103586 C0.932521268,47.1795784 -0.208971741,54.6293222 0.0313461819,62.5598136 L0.0313461819,117.712501 L51.2188077,117.712501 Z M128,117.712501 L128,62.1993386 L104.208645,62.1993386 C104.208645,53.3075754 105.890845,45.797753 109.255296,39.669646 C112.619747,33.541539 118.867919,28.9154883 128,25.7913554 L128,2 C120.550144,2.96127169 113.641108,5.18417913 107.272683,8.668789 C100.904258,12.1533989 95.4371072,16.5391352 90.8710666,21.8261295 C86.3050261,27.1131238 82.7603899,33.2411389 80.2370517,40.2103586 C77.7137136,47.1795784 76.5722206,54.6293222 76.8125385,62.5598136 L76.8125385,117.712501 L128,117.712501 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/refresh-button": {
            "title": "$:/core/images/refresh-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-refresh-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M106.369002,39.4325143 C116.529932,60.3119371 112.939592,86.1974934 95.5979797,103.539105 C73.7286194,125.408466 38.2713806,125.408466 16.4020203,103.539105 C-5.46734008,81.6697449 -5.46734008,46.2125061 16.4020203,24.3431458 C19.5262146,21.2189514 24.5915344,21.2189514 27.7157288,24.3431458 C30.8399231,27.4673401 30.8399231,32.5326599 27.7157288,35.6568542 C12.0947571,51.2778259 12.0947571,76.6044251 27.7157288,92.2253967 C43.3367004,107.846368 68.6632996,107.846368 84.2842712,92.2253967 C97.71993,78.7897379 99.5995262,58.1740623 89.9230597,42.729491 L83.4844861,54.9932839 C81.4307001,58.9052072 76.5945372,60.4115251 72.682614,58.3577391 C68.7706907,56.3039532 67.2643728,51.4677903 69.3181587,47.555867 L84.4354914,18.7613158 C86.4966389,14.8353707 91.3577499,13.3347805 95.273202,15.415792 L124.145886,30.7612457 C128.047354,32.8348248 129.52915,37.6785572 127.455571,41.5800249 C125.381992,45.4814927 120.53826,46.9632892 116.636792,44.8897102 L106.369002,39.4325143 Z M98.1470904,27.0648707 C97.9798954,26.8741582 97.811187,26.6843098 97.6409651,26.4953413 L98.6018187,26.1987327 L98.1470904,27.0648707 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/right-arrow": {
            "title": "$:/core/images/right-arrow",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-right-arrow tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <path d=\"M80.3563798,109.353315 C78.9238993,110.786918 76.9450203,111.675144 74.7592239,111.675144 L-4.40893546,111.675144 C-8.77412698,111.675144 -12.3248558,108.130732 -12.3248558,103.758478 C-12.3248558,99.3951199 -8.78077754,95.8418109 -4.40893546,95.8418109 L66.8418109,95.8418109 L66.8418109,24.5910645 C66.8418109,20.225873 70.3862233,16.6751442 74.7584775,16.6751442 C79.1218352,16.6751442 82.6751442,20.2192225 82.6751442,24.5910645 L82.6751442,103.759224 C82.6751442,105.941695 81.7891419,107.920575 80.3566508,109.353886 Z\" transform=\"translate(35.175144, 64.175144) rotate(-45.000000) translate(-35.175144, -64.175144) \"></path>\n</svg>"
        },
        "$:/core/images/rotate-left": {
            "title": "$:/core/images/rotate-left",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-rotate-left tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><rect width=\"32\" height=\"80\" rx=\"8\"/><rect x=\"48\" y=\"96\" width=\"80\" height=\"32\" rx=\"8\"/><path d=\"M61.32 36.65c19.743 2.45 35.023 19.287 35.023 39.693a4 4 0 0 1-8 0c0-15.663-11.254-28.698-26.117-31.46l3.916 3.916a4 4 0 1 1-5.657 5.657L49.172 43.142a4 4 0 0 1 0-5.657l11.313-11.313a4 4 0 1 1 5.657 5.656l-4.821 4.822z\"/></g></svg>"
        },
        "$:/core/images/save-button": {
            "title": "$:/core/images/save-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-save-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M120.78304,34.329058 C125.424287,43.1924006 128.049406,53.2778608 128.049406,63.9764502 C128.049406,99.3226742 99.3956295,127.97645 64.0494055,127.97645 C28.7031816,127.97645 0.0494055385,99.3226742 0.0494055385,63.9764502 C0.0494055385,28.6302262 28.7031816,-0.0235498012 64.0494055,-0.0235498012 C82.8568763,-0.0235498012 99.769563,8.08898558 111.479045,21.0056358 L114.159581,18.3250998 C117.289194,15.1954866 122.356036,15.1939641 125.480231,18.3181584 C128.598068,21.4359957 128.601317,26.5107804 125.473289,29.6388083 L120.78304,34.329058 Z M108.72451,46.3875877 C110.870571,51.8341374 112.049406,57.767628 112.049406,63.9764502 C112.049406,90.4861182 90.5590735,111.97645 64.0494055,111.97645 C37.5397375,111.97645 16.0494055,90.4861182 16.0494055,63.9764502 C16.0494055,37.4667822 37.5397375,15.9764502 64.0494055,15.9764502 C78.438886,15.9764502 91.3495036,22.308215 100.147097,32.3375836 L58.9411255,73.5435552 L41.975581,56.5780107 C38.8486152,53.4510448 33.7746915,53.4551552 30.6568542,56.5729924 C27.5326599,59.6971868 27.5372202,64.7670668 30.6618725,67.8917192 L53.279253,90.5090997 C54.8435723,92.073419 56.8951519,92.8541315 58.9380216,92.8558261 C60.987971,92.8559239 63.0389578,92.0731398 64.6049211,90.5071765 L108.72451,46.3875877 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/size": {
            "title": "$:/core/images/size",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-size tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <path d=\"M92.3431458,26 L83.1715729,35.1715729 C81.6094757,36.73367 81.6094757,39.26633 83.1715729,40.8284271 C84.73367,42.3905243 87.26633,42.3905243 88.8284271,40.8284271 L104.828427,24.8284271 C106.390524,23.26633 106.390524,20.73367 104.828427,19.1715729 L88.8284271,3.17157288 C87.26633,1.60947571 84.73367,1.60947571 83.1715729,3.17157288 C81.6094757,4.73367004 81.6094757,7.26632996 83.1715729,8.82842712 L92.3431457,18 L22,18 C19.790861,18 18,19.790861 18,22 L18,92.3431458 L8.82842712,83.1715729 C7.26632996,81.6094757 4.73367004,81.6094757 3.17157288,83.1715729 C1.60947571,84.73367 1.60947571,87.26633 3.17157288,88.8284271 L19.1715729,104.828427 C20.73367,106.390524 23.26633,106.390524 24.8284271,104.828427 L40.8284271,88.8284271 C42.3905243,87.26633 42.3905243,84.73367 40.8284271,83.1715729 C39.26633,81.6094757 36.73367,81.6094757 35.1715729,83.1715729 L26,92.3431458 L26,22 L22,26 L92.3431458,26 L92.3431458,26 Z M112,52 L112,116 L116,112 L52,112 C49.790861,112 48,113.790861 48,116 C48,118.209139 49.790861,120 52,120 L116,120 C118.209139,120 120,118.209139 120,116 L120,52 C120,49.790861 118.209139,48 116,48 C113.790861,48 112,49.790861 112,52 L112,52 Z\"></path>\n</svg>"
        },
        "$:/core/images/spiral": {
            "title": "$:/core/images/spiral",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-spiral tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"nonzero\">\n        <path d=\"M64.534 68.348c3.39 0 6.097-2.62 6.476-5.968l-4.755-.538 4.75.583c.377-3.07-1.194-6.054-3.89-7.78-2.757-1.773-6.34-2.01-9.566-.7-3.46 1.403-6.14 4.392-7.35 8.148l-.01.026c-1.3 4.08-.72 8.64 1.58 12.52 2.5 4.2 6.77 7.2 11.76 8.27 5.37 1.15 11.11-.05 15.83-3.31 5.04-3.51 8.46-9.02 9.45-15.3 1.05-6.7-.72-13.63-4.92-19.19l.02.02c-4.42-5.93-11.2-9.82-18.78-10.78-7.96-1.01-16.13 1.31-22.59 6.43-6.81 5.39-11.18 13.41-12.11 22.26-.98 9.27 1.87 18.65 7.93 26.02 6.32 7.69 15.6 12.56 25.74 13.48 10.54.96 21.15-2.42 29.45-9.4l.01-.01c8.58-7.25 13.94-17.78 14.86-29.21.94-11.84-2.96-23.69-10.86-32.9-8.19-9.5-19.95-15.36-32.69-16.27-13.16-.94-26.24 3.49-36.34 12.34l.01-.01c-10.41 9.08-16.78 22.1-17.68 36.15-.93 14.44 4.03 28.77 13.79 39.78 10.03 11.32 24.28 18.2 39.6 19.09 15.73.92 31.31-4.56 43.24-15.234 12.23-10.954 19.61-26.44 20.5-43.074.14-2.64-1.89-4.89-4.52-5.03-2.64-.14-4.89 1.88-5.03 4.52-.75 14.1-7 27.2-17.33 36.45-10.03 8.98-23.11 13.58-36.3 12.81-12.79-.75-24.67-6.48-33-15.89-8.07-9.11-12.17-20.94-11.41-32.827.74-11.52 5.942-22.15 14.43-29.54l.01-.01c8.18-7.17 18.74-10.75 29.35-9.998 10.21.726 19.6 5.41 26.11 12.96 6.24 7.273 9.32 16.61 8.573 25.894-.718 8.9-4.88 17.064-11.504 22.66l.01-.007c-6.36 5.342-14.44 7.92-22.425 7.19-7.604-.68-14.52-4.314-19.21-10.027-4.44-5.4-6.517-12.23-5.806-18.94.67-6.3 3.76-11.977 8.54-15.766 4.46-3.54 10.05-5.128 15.44-4.44 5.03.63 9.46 3.18 12.32 7.01l.02.024c2.65 3.5 3.75 7.814 3.1 11.92-.59 3.71-2.58 6.925-5.45 8.924-2.56 1.767-5.61 2.403-8.38 1.81-2.42-.516-4.42-1.92-5.53-3.79-.93-1.56-1.15-3.3-.69-4.75l-4.56-1.446L59.325 65c.36-1.12 1.068-1.905 1.84-2.22.25-.103.48-.14.668-.13.06.006.11.015.14.025.01 0 .01 0-.01-.01-.02-.015-.054-.045-.094-.088-.06-.064-.12-.145-.17-.244-.15-.29-.23-.678-.18-1.11l-.005.04c.15-1.332 1.38-2.523 3.035-2.523-2.65 0-4.79 2.144-4.79 4.787s2.14 4.785 4.78 4.785z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/stamp": {
            "title": "$:/core/images/stamp",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-stamp tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M49.7334301,64 L16.0098166,64 C11.5838751,64 8,67.5829053 8,72.002643 L8,74.4986785 L8,97 L120,97 L120,74.4986785 L120,72.002643 C120,67.5737547 116.413883,64 111.990183,64 L78.2665699,64 C76.502049,60.7519149 75.5,57.0311962 75.5,53.0769231 C75.5,46.6017951 78.1869052,40.7529228 82.5087769,36.5800577 C85.3313113,32.7688808 87,28.0549983 87,22.952183 C87,10.2760423 76.7025492,0 64,0 C51.2974508,0 41,10.2760423 41,22.952183 C41,28.0549983 42.6686887,32.7688808 45.4912231,36.5800577 C49.8130948,40.7529228 52.5,46.6017951 52.5,53.0769231 C52.5,57.0311962 51.497951,60.7519149 49.7334301,64 Z M8,104 L120,104 L120,112 L8,112 L8,104 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/star-filled": {
            "title": "$:/core/images/star-filled",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-star-filled tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"nonzero\">\n        <path d=\"M61.8361286,96.8228569 L99.1627704,124.110219 C101.883827,126.099427 105.541968,123.420868 104.505636,120.198072 L90.2895569,75.9887263 L89.0292911,79.8977279 L126.314504,52.5528988 C129.032541,50.5595011 127.635256,46.2255025 124.273711,46.2229134 L78.1610486,46.1873965 L81.4604673,48.6032923 L67.1773543,4.41589688 C66.1361365,1.19470104 61.6144265,1.19470104 60.5732087,4.41589688 L46.2900957,48.6032923 L49.5895144,46.1873965 L3.47685231,46.2229134 C0.115307373,46.2255025 -1.28197785,50.5595011 1.43605908,52.5528988 L38.7212719,79.8977279 L37.4610061,75.9887263 L23.2449266,120.198072 C22.2085954,123.420868 25.8667356,126.099427 28.5877926,124.110219 L65.9144344,96.8228569 L61.8361286,96.8228569 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/storyview-classic": {
            "title": "$:/core/images/storyview-classic",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-storyview-classic tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M8.00697327,0 C3.58484404,0 0,3.59075293 0,8.00697327 L0,119.993027 C0,124.415156 3.59075293,128 8.00697327,128 L119.993027,128 C124.415156,128 128,124.409247 128,119.993027 L128,8.00697327 C128,3.58484404 124.409247,0 119.993027,0 L8.00697327,0 L8.00697327,0 Z M23.9992458,16 C19.5813843,16 16,19.5776607 16,23.9924054 L16,40.0075946 C16,44.4216782 19.5881049,48 23.9992458,48 L104.000754,48 C108.418616,48 112,44.4223393 112,40.0075946 L112,23.9924054 C112,19.5783218 108.411895,16 104.000754,16 L23.9992458,16 L23.9992458,16 Z M23.9992458,64 C19.5813843,64 16,67.5907123 16,72 C16,76.418278 19.5881049,80 23.9992458,80 L104.000754,80 C108.418616,80 112,76.4092877 112,72 C112,67.581722 108.411895,64 104.000754,64 L23.9992458,64 L23.9992458,64 Z M23.9992458,96 C19.5813843,96 16,99.5907123 16,104 C16,108.418278 19.5881049,112 23.9992458,112 L104.000754,112 C108.418616,112 112,108.409288 112,104 C112,99.581722 108.411895,96 104.000754,96 L23.9992458,96 L23.9992458,96 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/storyview-pop": {
            "title": "$:/core/images/storyview-pop",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-storyview-pop tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M8.00697327,0 C3.58484404,0 0,3.59075293 0,8.00697327 L0,119.993027 C0,124.415156 3.59075293,128 8.00697327,128 L119.993027,128 C124.415156,128 128,124.409247 128,119.993027 L128,8.00697327 C128,3.58484404 124.409247,0 119.993027,0 L8.00697327,0 L8.00697327,0 Z M23.9992458,16 C19.5813843,16 16,19.5776607 16,23.9924054 L16,40.0075946 C16,44.4216782 19.5881049,48 23.9992458,48 L104.000754,48 C108.418616,48 112,44.4223393 112,40.0075946 L112,23.9924054 C112,19.5783218 108.411895,16 104.000754,16 L23.9992458,16 L23.9992458,16 Z M16.0098166,56 C11.586117,56 8,59.5776607 8,63.9924054 L8,80.0075946 C8,84.4216782 11.5838751,88 16.0098166,88 L111.990183,88 C116.413883,88 120,84.4223393 120,80.0075946 L120,63.9924054 C120,59.5783218 116.416125,56 111.990183,56 L16.0098166,56 L16.0098166,56 Z M23.9992458,96 C19.5813843,96 16,99.5907123 16,104 C16,108.418278 19.5881049,112 23.9992458,112 L104.000754,112 C108.418616,112 112,108.409288 112,104 C112,99.581722 108.411895,96 104.000754,96 L23.9992458,96 L23.9992458,96 Z M23.9992458,64 C19.5813843,64 16,67.5907123 16,72 C16,76.418278 19.5881049,80 23.9992458,80 L104.000754,80 C108.418616,80 112,76.4092877 112,72 C112,67.581722 108.411895,64 104.000754,64 L23.9992458,64 L23.9992458,64 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/storyview-zoomin": {
            "title": "$:/core/images/storyview-zoomin",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-storyview-zoomin tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M8.00697327,0 C3.58484404,0 0,3.59075293 0,8.00697327 L0,119.993027 C0,124.415156 3.59075293,128 8.00697327,128 L119.993027,128 C124.415156,128 128,124.409247 128,119.993027 L128,8.00697327 C128,3.58484404 124.409247,0 119.993027,0 L8.00697327,0 L8.00697327,0 Z M23.9992458,16 C19.5813843,16 16,19.578055 16,24.0085154 L16,71.9914846 C16,76.4144655 19.5881049,80 23.9992458,80 L104.000754,80 C108.418616,80 112,76.421945 112,71.9914846 L112,24.0085154 C112,19.5855345 108.411895,16 104.000754,16 L23.9992458,16 L23.9992458,16 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/strikethrough": {
            "title": "$:/core/images/strikethrough",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-strikethrough tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M92.793842,38.7255689 L108.215529,38.7255689 C107.987058,31.985687 106.70193,26.1883331 104.360107,21.3333333 C102.018284,16.4783336 98.8197436,12.4516001 94.7643909,9.25301205 C90.7090382,6.05442399 85.9969032,3.71263572 80.6278447,2.22757697 C75.2587862,0.742518233 69.4328739,0 63.1499331,0 C57.552404,0 52.0977508,0.713959839 46.7858099,2.14190094 C41.473869,3.56984203 36.7331757,5.74027995 32.5635877,8.65327979 C28.3939997,11.5662796 25.0526676,15.2788708 22.5394913,19.7911647 C20.026315,24.3034585 18.7697456,29.6438781 18.7697456,35.8125837 C18.7697456,41.4101128 19.883523,46.0651309 22.1111111,49.7777778 C24.3386992,53.4904246 27.3087722,56.5176144 31.021419,58.8594378 C34.7340659,61.2012612 38.9321497,63.0861151 43.6157965,64.5140562 C48.2994433,65.9419973 53.068695,67.1985666 57.9236948,68.2838019 C62.7786945,69.3690371 67.5479462,70.4256977 72.231593,71.4538153 C76.9152398,72.4819329 81.1133237,73.8241773 84.8259705,75.480589 C88.5386174,77.1370007 91.5086903,79.2788802 93.7362784,81.9062918 C95.9638666,84.5337035 97.0776439,87.9607107 97.0776439,92.1874163 C97.0776439,96.6425926 96.1637753,100.298067 94.3360107,103.153949 C92.5082461,106.009831 90.109341,108.265944 87.1392236,109.922356 C84.1691061,111.578768 80.827774,112.749662 77.1151272,113.435074 C73.4024803,114.120485 69.7184476,114.463186 66.0629183,114.463186 C61.4935068,114.463186 57.0383974,113.892018 52.6974565,112.749665 C48.3565156,111.607312 44.5582492,109.836692 41.3025435,107.437751 C38.0468378,105.03881 35.4194656,101.983062 33.4203481,98.270415 C31.4212305,94.5577681 30.4216867,90.1312171 30.4216867,84.9906292 L15,84.9906292 C15,92.4159229 16.3422445,98.8415614 19.0267738,104.267738 C21.711303,109.693914 25.3667774,114.149023 29.9933066,117.633199 C34.6198357,121.117376 39.9888137,123.71619 46.1004016,125.429719 C52.2119895,127.143248 58.6947448,128 65.5488621,128 C71.1463912,128 76.7723948,127.343157 82.4270415,126.029451 C88.0816882,124.715745 93.1936407,122.602424 97.7630522,119.689424 C102.332464,116.776425 106.073613,113.006717 108.986613,108.380187 C111.899613,103.753658 113.356091,98.1847715 113.356091,91.6733601 C113.356091,85.6188899 112.242314,80.5926126 110.014726,76.5943775 C107.787137,72.5961424 104.817065,69.2833688 101.104418,66.6559572 C97.3917708,64.0285455 93.193687,61.9437828 88.5100402,60.4016064 C83.8263934,58.85943 79.0571416,57.5171855 74.2021419,56.3748327 C69.3471422,55.2324798 64.5778904,54.1758192 59.8942436,53.2048193 C55.2105968,52.2338193 51.012513,51.0058084 47.2998661,49.5207497 C43.5872193,48.0356909 40.6171463,46.1222786 38.3895582,43.7804552 C36.1619701,41.4386318 35.0481928,38.3828836 35.0481928,34.6131191 C35.0481928,30.6148841 35.8192694,27.273552 37.3614458,24.5890228 C38.9036222,21.9044935 40.9598265,19.762614 43.5301205,18.1633199 C46.1004145,16.5640259 49.041929,15.4216902 52.3547523,14.7362784 C55.6675757,14.0508667 59.0374661,13.708166 62.4645248,13.708166 C70.9179361,13.708166 77.8576257,15.6786952 83.2838019,19.6198126 C88.709978,23.56093 91.8799597,29.9294518 92.793842,38.7255689 L92.793842,38.7255689 Z\"></path>\n        <rect x=\"5\" y=\"54\" width=\"118\" height=\"16\"></rect>\n    </g>\n</svg>"
        },
        "$:/core/images/subscript": {
            "title": "$:/core/images/subscript",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-subscript tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M2.27170276,16 L22.1825093,16 L43.8305003,49.6746527 L66.4138983,16 L85.1220387,16 L53.5854592,61.9685735 L87.3937414,111.411516 L67.0820462,111.411516 L43.295982,74.9306422 L19.1090291,111.411516 L0,111.411516 L33.8082822,61.9685735 L2.27170276,16 Z M127.910914,128.411516 L85.3276227,128.411516 C85.3870139,123.24448 86.6342108,118.730815 89.0692508,114.870386 C91.5042907,111.009956 94.8301491,107.654403 99.0469256,104.803624 C101.066227,103.318844 103.174584,101.878629 105.372059,100.482935 C107.569534,99.0872413 109.588805,97.5876355 111.429933,95.9840726 C113.271061,94.3805097 114.785514,92.6433426 115.973338,90.7725192 C117.161163,88.9016958 117.784761,86.7487964 117.844152,84.3137564 C117.844152,83.1853233 117.710524,81.9826691 117.443264,80.7057579 C117.176003,79.4288467 116.656338,78.2410402 115.884252,77.1423026 C115.112166,76.0435651 114.04314,75.123015 112.677142,74.3806248 C111.311144,73.6382345 109.529434,73.267045 107.331959,73.267045 C105.312658,73.267045 103.634881,73.6679297 102.298579,74.4697112 C100.962276,75.2714926 99.8932503,76.3702137 99.0914688,77.7659073 C98.2896874,79.161601 97.6957841,80.8096826 97.3097412,82.7102016 C96.9236982,84.6107206 96.7009845,86.6596869 96.6415933,88.857162 L86.4857457,88.857162 C86.4857457,85.4124713 86.9460207,82.2202411 87.8665846,79.2803758 C88.7871485,76.3405105 90.1679736,73.801574 92.0091014,71.6634901 C93.8502292,69.5254062 96.092214,67.8476295 98.7351233,66.6301095 C101.378033,65.4125895 104.451482,64.8038386 107.955564,64.8038386 C111.756602,64.8038386 114.933984,65.4274371 117.487807,66.6746527 C120.041629,67.9218683 122.105443,69.4957119 123.67931,71.3962309 C125.253178,73.2967499 126.366746,75.3605638 127.02005,77.5877345 C127.673353,79.8149053 128,81.9381095 128,83.9574109 C128,86.4518421 127.613963,88.7086746 126.841877,90.727976 C126.069791,92.7472774 125.03046,94.6032252 123.723854,96.2958749 C122.417247,97.9885247 120.932489,99.5475208 119.269534,100.97291 C117.60658,102.398299 115.884261,103.734582 114.102524,104.981797 C112.320788,106.229013 110.539078,107.416819 108.757341,108.545253 C106.975605,109.673686 105.327523,110.802102 103.813047,111.930535 C102.298571,113.058968 100.977136,114.231927 99.8487031,115.449447 C98.7202699,116.666967 97.9481956,117.958707 97.5324571,119.324705 L127.910914,119.324705 L127.910914,128.411516 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/superscript": {
            "title": "$:/core/images/superscript",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-superscript tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M2.27170276,16 L22.1825093,16 L43.8305003,49.6746527 L66.4138983,16 L85.1220387,16 L53.5854592,61.9685735 L87.3937414,111.411516 L67.0820462,111.411516 L43.295982,74.9306422 L19.1090291,111.411516 L0,111.411516 L33.8082822,61.9685735 L2.27170276,16 Z M127.910914,63.4115159 L85.3276227,63.4115159 C85.3870139,58.2444799 86.6342108,53.7308149 89.0692508,49.8703857 C91.5042907,46.0099565 94.8301491,42.654403 99.0469256,39.8036245 C101.066227,38.318844 103.174584,36.8786285 105.372059,35.4829349 C107.569534,34.0872413 109.588805,32.5876355 111.429933,30.9840726 C113.271061,29.3805097 114.785514,27.6433426 115.973338,25.7725192 C117.161163,23.9016958 117.784761,21.7487964 117.844152,19.3137564 C117.844152,18.1853233 117.710524,16.9826691 117.443264,15.7057579 C117.176003,14.4288467 116.656338,13.2410402 115.884252,12.1423026 C115.112166,11.0435651 114.04314,10.123015 112.677142,9.38062477 C111.311144,8.63823453 109.529434,8.26704499 107.331959,8.26704499 C105.312658,8.26704499 103.634881,8.6679297 102.298579,9.46971115 C100.962276,10.2714926 99.8932503,11.3702137 99.0914688,12.7659073 C98.2896874,14.161601 97.6957841,15.8096826 97.3097412,17.7102016 C96.9236982,19.6107206 96.7009845,21.6596869 96.6415933,23.857162 L86.4857457,23.857162 C86.4857457,20.4124713 86.9460207,17.2202411 87.8665846,14.2803758 C88.7871485,11.3405105 90.1679736,8.80157397 92.0091014,6.6634901 C93.8502292,4.52540622 96.092214,2.84762946 98.7351233,1.63010947 C101.378033,0.412589489 104.451482,-0.196161372 107.955564,-0.196161372 C111.756602,-0.196161372 114.933984,0.427437071 117.487807,1.67465266 C120.041629,2.92186826 122.105443,4.49571195 123.67931,6.39623095 C125.253178,8.29674995 126.366746,10.3605638 127.02005,12.5877345 C127.673353,14.8149053 128,16.9381095 128,18.9574109 C128,21.4518421 127.613963,23.7086746 126.841877,25.727976 C126.069791,27.7472774 125.03046,29.6032252 123.723854,31.2958749 C122.417247,32.9885247 120.932489,34.5475208 119.269534,35.97291 C117.60658,37.3982993 115.884261,38.7345816 114.102524,39.9817972 C112.320788,41.2290128 110.539078,42.4168194 108.757341,43.5452525 C106.975605,44.6736857 105.327523,45.8021019 103.813047,46.9305351 C102.298571,48.0589682 100.977136,49.2319272 99.8487031,50.4494472 C98.7202699,51.6669672 97.9481956,52.9587068 97.5324571,54.3247048 L127.910914,54.3247048 L127.910914,63.4115159 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/tag-button": {
            "title": "$:/core/images/tag-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-tag-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M18.1643182,47.6600756 L18.1677196,51.7651887 C18.1708869,55.5878829 20.3581578,60.8623899 23.0531352,63.5573673 L84.9021823,125.406414 C87.5996731,128.103905 91.971139,128.096834 94.6717387,125.396234 L125.766905,94.3010679 C128.473612,91.5943612 128.472063,87.2264889 125.777085,84.5315115 L63.9280381,22.6824644 C61.2305472,19.9849735 55.9517395,17.801995 52.1318769,17.8010313 L25.0560441,17.7942007 C21.2311475,17.7932358 18.1421354,20.8872832 18.1452985,24.7049463 L18.1535504,34.6641936 C18.2481119,34.6754562 18.3439134,34.6864294 18.4409623,34.6971263 C22.1702157,35.1081705 26.9295004,34.6530132 31.806204,33.5444844 C32.1342781,33.0700515 32.5094815,32.6184036 32.9318197,32.1960654 C35.6385117,29.4893734 39.5490441,28.718649 42.94592,29.8824694 C43.0432142,29.8394357 43.1402334,29.7961748 43.2369683,29.7526887 L43.3646982,30.0368244 C44.566601,30.5115916 45.6933052,31.2351533 46.6655958,32.2074439 C50.4612154,36.0030635 50.4663097,42.1518845 46.6769742,45.94122 C43.0594074,49.5587868 37.2914155,49.7181264 33.4734256,46.422636 C28.1082519,47.5454734 22.7987486,48.0186448 18.1643182,47.6600756 Z\"></path>\n        <path d=\"M47.6333528,39.5324628 L47.6562932,39.5834939 C37.9670934,43.9391617 26.0718874,46.3819521 17.260095,45.4107025 C5.27267473,44.0894301 -1.02778744,36.4307276 2.44271359,24.0779512 C5.56175386,12.9761516 14.3014034,4.36129832 24.0466405,1.54817001 C34.7269254,-1.53487574 43.7955833,3.51606438 43.7955834,14.7730751 L35.1728168,14.7730752 C35.1728167,9.91428944 32.0946059,8.19982862 26.4381034,9.83267419 C19.5270911,11.8276553 13.046247,18.2159574 10.7440788,26.4102121 C8.82861123,33.2280582 11.161186,36.0634845 18.2047888,36.8398415 C25.3302805,37.6252244 35.7353482,35.4884477 44.1208333,31.7188498 L44.1475077,31.7781871 C44.159701,31.7725635 44.1718402,31.7671479 44.1839238,31.7619434 C45.9448098,31.0035157 50.4503245,38.3109156 47.7081571,39.5012767 C47.6834429,39.512005 47.6585061,39.5223987 47.6333528,39.5324628 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/theme-button": {
            "title": "$:/core/images/theme-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-theme-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M55.854113,66.9453198 C54.3299482,65.1432292 53.0133883,63.518995 51.9542746,62.1263761 C40.8899947,47.578055 35.3091807,55.2383404 28.9941893,62.1263758 C22.6791979,69.0144112 30.6577916,74.5954741 24.6646171,79.4611023 C18.6714426,84.3267304 19.0414417,86.0133155 8.92654943,77.1119468 C-1.18834284,68.2105781 -1.88793412,65.7597832 2.7553553,60.6807286 C7.39864472,55.601674 11.2794845,63.5989423 20.7646627,54.5728325 C30.2498409,45.5467226 22.2819131,37.5470737 22.2819131,37.5470737 C22.2819131,37.5470737 42.0310399,-2.82433362 68.4206088,0.157393922 C94.8101776,3.13912147 58.4373806,-3.70356506 49.3898693,27.958066 C45.5161782,41.5139906 50.1107906,38.3197672 57.4560458,44.0453955 C59.1625767,45.3756367 63.8839488,48.777453 70.127165,53.3625321 C63.9980513,59.2416709 58.9704753,64.0315459 55.854113,66.9453198 Z M67.4952439,79.8919946 C83.5082212,96.9282402 105.237121,117.617674 112.611591,120.312493 C123.044132,124.12481 128.000001,117.170903 128,105.522947 C127.999999,98.3705516 104.170675,78.980486 84.0760493,63.7529565 C76.6683337,70.9090328 70.7000957,76.7055226 67.4952439,79.8919946 Z\"></path>\n        <path d=\"M58.2852966,138.232794 L58.2852966,88.3943645 C56.318874,88.3923153 54.7254089,86.7952906 54.7254089,84.8344788 C54.7254089,82.8684071 56.3175932,81.2745911 58.2890859,81.2745911 L79.6408336,81.2745911 C81.608998,81.2745911 83.2045105,82.8724076 83.2045105,84.8344788 C83.2045105,86.7992907 81.614366,88.3923238 79.6446228,88.3943645 L79.6446228,88.3943646 L79.6446228,138.232794 C79.6446228,144.131009 74.8631748,148.912457 68.9649597,148.912457 C63.0667446,148.912457 58.2852966,144.131009 58.2852966,138.232794 Z M65.405072,-14.8423767 L72.5248474,-14.8423767 L76.0847351,-0.690681892 L72.5248474,6.51694947 L72.5248474,81.2745911 L65.405072,81.2745911 L65.405072,6.51694947 L61.8451843,-0.690681892 L65.405072,-14.8423767 Z\" transform=\"translate(68.964960, 67.035040) rotate(45.000000) translate(-68.964960, -67.035040) \"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/timestamp-off": {
            "title": "$:/core/images/timestamp-off",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-timestamp-off tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M58.25 11C26.08 11 0 37.082 0 69.25s26.08 58.25 58.25 58.25c32.175 0 58.25-26.082 58.25-58.25S90.425 11 58.25 11zm0 100.5C34.914 111.5 16 92.586 16 69.25 16 45.92 34.914 27 58.25 27s42.25 18.92 42.25 42.25c0 23.336-18.914 42.25-42.25 42.25zM49.704 10c-2.762 0-5-2.24-5-5-.004-2.756 2.238-5 5-5H66.69c2.762 0 5.002 2.24 5 5 .006 2.757-2.238 5-5 5H49.705z\"/><path d=\"M58.25 35.88c-18.777 0-33.998 15.224-33.998 33.998 0 18.773 15.22 34.002 33.998 34.002 18.784 0 34.002-15.23 34.002-34.002 0-18.774-15.218-33.998-34.002-33.998zm-3.03 50.123H44.196v-34H55.22v34zm16.976 0H61.17v-34h11.025v34z\"/>\n    </g>\n</svg>\n"
        },
        "$:/core/images/timestamp-on": {
            "title": "$:/core/images/timestamp-on",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-timestamp-on tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M58.25 11C26.08 11 0 37.082 0 69.25s26.08 58.25 58.25 58.25c32.175 0 58.25-26.082 58.25-58.25S90.425 11 58.25 11zm0 100.5C34.914 111.5 16 92.586 16 69.25 16 45.92 34.914 27 58.25 27s42.25 18.92 42.25 42.25c0 23.336-18.914 42.25-42.25 42.25zM49.704 10c-2.762 0-5-2.24-5-5-.004-2.756 2.238-5 5-5H66.69c2.762 0 5.002 2.24 5 5 .006 2.757-2.238 5-5 5H49.705z\"/><path d=\"M13.41 27.178c-2.116 1.775-5.27 1.498-7.045-.613-1.772-2.11-1.498-5.27.616-7.047l9.95-8.348c2.115-1.774 5.27-1.5 7.045.618 1.775 2.108 1.498 5.27-.616 7.043l-9.95 8.348zM102.983 27.178c2.116 1.775 5.27 1.498 7.045-.613 1.772-2.11 1.498-5.27-.616-7.047l-9.95-8.348c-2.114-1.774-5.27-1.5-7.044.618-1.775 2.108-1.498 5.27.616 7.043l9.95 8.348zM65.097 71.072c0 3.826-3.09 6.928-6.897 6.928-3.804.006-6.9-3.102-6.903-6.928 0 0 4.76-39.072 6.903-39.072s6.897 39.072 6.897 39.072z\"/>\n    </g>\n</svg>\n"
        },
        "$:/core/images/tip": {
            "title": "$:/core/images/tip",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-tip tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M64,128.241818 C99.346224,128.241818 128,99.5880417 128,64.2418177 C128,28.8955937 99.346224,0.241817675 64,0.241817675 C28.653776,0.241817675 0,28.8955937 0,64.2418177 C0,99.5880417 28.653776,128.241818 64,128.241818 Z M75.9358659,91.4531941 C75.3115438,95.581915 70.2059206,98.8016748 64,98.8016748 C57.7940794,98.8016748 52.6884562,95.581915 52.0641341,91.4531941 C54.3299053,94.0502127 58.8248941,95.8192805 64,95.8192805 C69.1751059,95.8192805 73.6700947,94.0502127 75.9358659,91.4531941 L75.9358659,91.4531941 Z M75.9358659,95.9453413 C75.3115438,100.074062 70.2059206,103.293822 64,103.293822 C57.7940794,103.293822 52.6884562,100.074062 52.0641341,95.9453413 C54.3299053,98.5423599 58.8248941,100.311428 64,100.311428 C69.1751059,100.311428 73.6700947,98.5423599 75.9358659,95.9453413 L75.9358659,95.9453413 Z M75.9358659,100.40119 C75.3115438,104.529911 70.2059206,107.74967 64,107.74967 C57.7940794,107.74967 52.6884562,104.529911 52.0641341,100.40119 C54.3299053,102.998208 58.8248941,104.767276 64,104.767276 C69.1751059,104.767276 73.6700947,102.998208 75.9358659,100.40119 L75.9358659,100.40119 Z M75.9358659,104.893337 C75.3115438,109.022058 70.2059206,112.241818 64,112.241818 C57.7940794,112.241818 52.6884562,109.022058 52.0641341,104.893337 C54.3299053,107.490356 58.8248941,109.259423 64,109.259423 C69.1751059,109.259423 73.6700947,107.490356 75.9358659,104.893337 L75.9358659,104.893337 Z M64.3010456,24.2418177 C75.9193117,24.2418188 88.0000013,32.0619847 88,48.4419659 C87.9999987,64.8219472 75.9193018,71.7540963 75.9193021,83.5755932 C75.9193022,89.4486648 70.0521957,92.8368862 63.9999994,92.8368862 C57.947803,92.8368862 51.9731007,89.8295115 51.9731007,83.5755932 C51.9731007,71.1469799 39.9999998,65.4700602 40,48.4419647 C40.0000002,31.4138691 52.6827796,24.2418166 64.3010456,24.2418177 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/transcludify": {
            "title": "$:/core/images/transcludify",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-transcludify-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\"><path d=\"M0 59.482c.591 0 1.36-.089 2.306-.266a10.417 10.417 0 0 0 2.75-.932 6.762 6.762 0 0 0 2.306-1.907c.651-.828.976-1.863.976-3.104V35.709c0-2.01.414-3.74 1.242-5.19.828-1.448 1.833-2.66 3.016-3.636s2.425-1.7 3.726-2.173c1.3-.473 2.424-.71 3.37-.71h8.073v7.451h-4.88c-1.241 0-2.232.207-2.97.621-.74.414-1.302.932-1.686 1.552a4.909 4.909 0 0 0-.71 1.996c-.089.71-.133 1.39-.133 2.04v16.677c0 1.715-.325 3.134-.976 4.258-.65 1.123-1.434 2.025-2.35 2.705-.917.68-1.863 1.168-2.839 1.464-.976.296-1.818.473-2.528.532v.178c.71.059 1.552.207 2.528.443.976.237 1.922.68 2.839 1.33.916.651 1.7 1.583 2.35 2.795.65 1.212.976 2.853.976 4.923v16.144c0 .65.044 1.33.133 2.04.089.71.325 1.375.71 1.996.384.621.946 1.139 1.685 1.553.74.414 1.73.62 2.972.62h4.879v7.452h-8.073c-.946 0-2.07-.237-3.37-.71-1.301-.473-2.543-1.197-3.726-2.173-1.183-.976-2.188-2.188-3.016-3.637-.828-1.449-1.242-3.179-1.242-5.19V74.119c0-1.42-.325-2.572-.976-3.46-.65-.886-1.419-1.581-2.306-2.084a8.868 8.868 0 0 0-2.75-1.02C1.36 67.377.591 67.288 0 67.288v-7.806zm24.66 0c.591 0 1.36-.089 2.306-.266a10.417 10.417 0 0 0 2.75-.932 6.762 6.762 0 0 0 2.306-1.907c.65-.828.976-1.863.976-3.104V35.709c0-2.01.414-3.74 1.242-5.19.828-1.448 1.833-2.66 3.016-3.636s2.425-1.7 3.726-2.173c1.3-.473 2.424-.71 3.37-.71h8.073v7.451h-4.88c-1.241 0-2.232.207-2.97.621-.74.414-1.302.932-1.686 1.552a4.909 4.909 0 0 0-.71 1.996c-.089.71-.133 1.39-.133 2.04v16.677c0 1.715-.325 3.134-.976 4.258-.65 1.123-1.434 2.025-2.35 2.705-.917.68-1.863 1.168-2.839 1.464-.976.296-1.818.473-2.528.532v.178c.71.059 1.552.207 2.528.443.976.237 1.922.68 2.839 1.33.916.651 1.7 1.583 2.35 2.795.65 1.212.976 2.853.976 4.923v16.144c0 .65.044 1.33.133 2.04.089.71.325 1.375.71 1.996.384.621.946 1.139 1.685 1.553.74.414 1.73.62 2.972.62h4.879v7.452h-8.073c-.946 0-2.07-.237-3.37-.71-1.301-.473-2.543-1.197-3.726-2.173-1.183-.976-2.188-2.188-3.016-3.637-.828-1.449-1.242-3.179-1.242-5.19V74.119c0-1.42-.325-2.572-.976-3.46-.65-.886-1.419-1.581-2.306-2.084a8.868 8.868 0 0 0-2.75-1.02c-.946-.177-1.715-.266-2.306-.266v-7.806zm43.965-3.538L80.6 52.041l2.306 7.097-12.063 3.903 7.628 10.378-6.12 4.435-7.63-10.467-7.45 10.201-5.943-4.524 7.628-10.023-12.152-4.17 2.306-7.096 12.064 4.17V43.347h7.451v12.596zm34.425 11.344c-.65 0-1.449.089-2.395.266-.946.177-1.863.488-2.75.931a6.356 6.356 0 0 0-2.262 1.908c-.62.828-.931 1.862-.931 3.104v17.564c0 2.01-.414 3.74-1.242 5.189-.828 1.449-1.833 2.661-3.016 3.637s-2.425 1.7-3.726 2.173c-1.3.473-2.424.71-3.37.71h-8.073v-7.451h4.88c1.241 0 2.232-.207 2.97-.621.74-.414 1.302-.932 1.686-1.553a4.9 4.9 0 0 0 .71-1.995c.089-.71.133-1.39.133-2.04V72.432c0-1.715.325-3.134.976-4.258.65-1.124 1.434-2.01 2.35-2.661.917-.65 1.863-1.124 2.839-1.42.976-.295 1.818-.502 2.528-.62v-.178c-.71-.059-1.552-.207-2.528-.443-.976-.237-1.922-.68-2.839-1.33-.916-.651-1.7-1.583-2.35-2.795-.65-1.212-.976-2.853-.976-4.923V37.66c0-.651-.044-1.331-.133-2.04a4.909 4.909 0 0 0-.71-1.997c-.384-.62-.946-1.138-1.685-1.552-.74-.414-1.73-.62-2.972-.62h-4.879V24h8.073c.946 0 2.07.237 3.37.71 1.301.473 2.543 1.197 3.726 2.173 1.183.976 2.188 2.188 3.016 3.637.828 1.449 1.242 3.178 1.242 5.189v16.943c0 1.419.31 2.572.931 3.46a6.897 6.897 0 0 0 2.262 2.084 8.868 8.868 0 0 0 2.75 1.02c.946.177 1.745.266 2.395.266v7.806zm24.66 0c-.65 0-1.449.089-2.395.266-.946.177-1.863.488-2.75.931a6.356 6.356 0 0 0-2.262 1.908c-.62.828-.931 1.862-.931 3.104v17.564c0 2.01-.414 3.74-1.242 5.189-.828 1.449-1.833 2.661-3.016 3.637s-2.425 1.7-3.726 2.173c-1.3.473-2.424.71-3.37.71h-8.073v-7.451h4.88c1.241 0 2.232-.207 2.97-.621.74-.414 1.302-.932 1.686-1.553a4.9 4.9 0 0 0 .71-1.995c.089-.71.133-1.39.133-2.04V72.432c0-1.715.325-3.134.976-4.258.65-1.124 1.434-2.01 2.35-2.661.917-.65 1.863-1.124 2.839-1.42.976-.295 1.818-.502 2.528-.62v-.178c-.71-.059-1.552-.207-2.528-.443-.976-.237-1.922-.68-2.839-1.33-.916-.651-1.7-1.583-2.35-2.795-.65-1.212-.976-2.853-.976-4.923V37.66c0-.651-.044-1.331-.133-2.04a4.909 4.909 0 0 0-.71-1.997c-.384-.62-.946-1.138-1.685-1.552-.74-.414-1.73-.62-2.972-.62h-4.879V24h8.073c.946 0 2.07.237 3.37.71 1.301.473 2.543 1.197 3.726 2.173 1.183.976 2.188 2.188 3.016 3.637.828 1.449 1.242 3.178 1.242 5.189v16.943c0 1.419.31 2.572.931 3.46a6.897 6.897 0 0 0 2.262 2.084 8.868 8.868 0 0 0 2.75 1.02c.946.177 1.745.266 2.395.266v7.806z\" fill-rule=\"evenodd\"/></svg>\n"
        },
        "$:/core/images/twitter": {
            "title": "$:/core/images/twitter",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-twitter tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M41.6263422,115.803477 C27.0279663,115.803477 13.4398394,111.540813 1.99987456,104.234833 C4.02221627,104.472643 6.08004574,104.594302 8.16644978,104.594302 C20.277456,104.594302 31.4238403,100.47763 40.270894,93.5715185 C28.9590538,93.3635501 19.4123842,85.9189246 16.1230832,75.6885328 C17.7011365,75.9892376 19.320669,76.1503787 20.9862896,76.1503787 C23.344152,76.1503787 25.6278127,75.8359011 27.7971751,75.247346 C15.9709927,72.8821073 7.06079851,62.4745062 7.06079851,49.9982394 C7.06079851,49.8898938 7.06079851,49.7820074 7.06264203,49.67458 C10.5482779,51.6032228 14.5339687,52.7615103 18.7717609,52.8951059 C11.8355159,48.277565 7.2714207,40.3958845 7.2714207,31.4624258 C7.2714207,26.7434257 8.54621495,22.3200804 10.7713439,18.5169676 C23.5211299,34.0957738 42.568842,44.3472839 64.0532269,45.4210985 C63.6126256,43.5365285 63.3835682,41.5711584 63.3835682,39.5529928 C63.3835682,25.3326379 74.95811,13.8034766 89.2347917,13.8034766 C96.6697089,13.8034766 103.387958,16.930807 108.103682,21.9353619 C113.991886,20.780288 119.52429,18.6372496 124.518847,15.6866694 C122.588682,21.6993889 118.490075,26.7457211 113.152623,29.9327334 C118.381769,29.3102055 123.363882,27.926045 127.999875,25.8780385 C124.534056,31.0418981 120.151087,35.5772616 115.100763,39.2077561 C115.150538,40.3118708 115.175426,41.4224128 115.175426,42.538923 C115.175426,76.5663154 89.1744164,115.803477 41.6263422,115.803477\"></path>\n    </g>\n</svg>\n"
        },
        "$:/core/images/underline": {
            "title": "$:/core/images/underline",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-underline tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M7,117.421488 L121.247934,117.421488 L121.247934,128 L7,128 L7,117.421488 Z M104.871212,98.8958333 L104.871212,0 L88.6117424,0 L88.6117424,55.8560606 C88.6117424,60.3194668 88.0060035,64.432115 86.7945076,68.1941288 C85.5830116,71.9561425 83.7657949,75.239885 81.342803,78.0454545 C78.9198111,80.8510241 75.8911167,83.0189317 72.2566288,84.5492424 C68.6221409,86.0795531 64.3182067,86.844697 59.344697,86.844697 C53.0959284,86.844697 48.1862552,85.0593613 44.6155303,81.4886364 C41.0448054,77.9179114 39.2594697,73.0720003 39.2594697,66.9507576 L39.2594697,0 L23,0 L23,65.0378788 C23,70.3939662 23.5419769,75.2717583 24.625947,79.6714015 C25.709917,84.0710447 27.5908957,87.864883 30.2689394,91.0530303 C32.9469831,94.2411776 36.4538925,96.6960141 40.7897727,98.4176136 C45.125653,100.139213 50.545422,101 57.0492424,101 C64.3182182,101 70.630655,99.5653553 75.9867424,96.6960227 C81.3428298,93.8266902 85.742407,89.33147 89.1856061,83.2102273 L89.5681818,83.2102273 L89.5681818,98.8958333 L104.871212,98.8958333 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/unfold-all-button": {
            "title": "$:/core/images/unfold-all-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-unfold-all tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <rect x=\"0\" y=\"0\" width=\"128\" height=\"16\" rx=\"8\"></rect>\n        <rect x=\"0\" y=\"64\" width=\"128\" height=\"16\" rx=\"8\"></rect>\n        <path d=\"M85.598226,8.34884273 C84.1490432,6.89863875 82.1463102,6 79.9340286,6 L47.9482224,6 C43.5292967,6 39.9411255,9.581722 39.9411255,14 C39.9411255,18.4092877 43.5260249,22 47.9482224,22 L71.9411255,22 L71.9411255,45.9929031 C71.9411255,50.4118288 75.5228475,54 79.9411255,54 C84.3504132,54 87.9411255,50.4151006 87.9411255,45.9929031 L87.9411255,14.0070969 C87.9411255,11.7964515 87.0447363,9.79371715 85.5956548,8.34412458 Z\" transform=\"translate(63.941125, 30.000000) scale(1, -1) rotate(-45.000000) translate(-63.941125, -30.000000) \"></path>\n        <path d=\"M85.6571005,72.2899682 C84.2079177,70.8397642 82.2051847,69.9411255 79.9929031,69.9411255 L48.0070969,69.9411255 C43.5881712,69.9411255 40,73.5228475 40,77.9411255 C40,82.3504132 43.5848994,85.9411255 48.0070969,85.9411255 L72,85.9411255 L72,109.934029 C72,114.352954 75.581722,117.941125 80,117.941125 C84.4092877,117.941125 88,114.356226 88,109.934029 L88,77.9482224 C88,75.737577 87.1036108,73.7348426 85.6545293,72.2852501 Z\" transform=\"translate(64.000000, 93.941125) scale(1, -1) rotate(-45.000000) translate(-64.000000, -93.941125) \"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/unfold-button": {
            "title": "$:/core/images/unfold-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-unfold tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <rect x=\"0\" y=\"0\" width=\"128\" height=\"16\" rx=\"8\"></rect>\n        <path d=\"M85.598226,11.3488427 C84.1490432,9.89863875 82.1463102,9 79.9340286,9 L47.9482224,9 C43.5292967,9 39.9411255,12.581722 39.9411255,17 C39.9411255,21.4092877 43.5260249,25 47.9482224,25 L71.9411255,25 L71.9411255,48.9929031 C71.9411255,53.4118288 75.5228475,57 79.9411255,57 C84.3504132,57 87.9411255,53.4151006 87.9411255,48.9929031 L87.9411255,17.0070969 C87.9411255,14.7964515 87.0447363,12.7937171 85.5956548,11.3441246 Z\" transform=\"translate(63.941125, 33.000000) scale(1, -1) rotate(-45.000000) translate(-63.941125, -33.000000) \"></path>\n        <path d=\"M85.6571005,53.4077172 C84.2079177,51.9575133 82.2051847,51.0588745 79.9929031,51.0588745 L48.0070969,51.0588745 C43.5881712,51.0588745 40,54.6405965 40,59.0588745 C40,63.4681622 43.5848994,67.0588745 48.0070969,67.0588745 L72,67.0588745 L72,91.0517776 C72,95.4707033 75.581722,99.0588745 80,99.0588745 C84.4092877,99.0588745 88,95.4739751 88,91.0517776 L88,59.0659714 C88,56.855326 87.1036108,54.8525917 85.6545293,53.4029991 Z\" transform=\"translate(64.000000, 75.058875) scale(1, -1) rotate(-45.000000) translate(-64.000000, -75.058875) \"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/unlocked-padlock": {
            "title": "$:/core/images/unlocked-padlock",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-unlocked-padlock tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M48.6266053,64 L105,64 L105,96.0097716 C105,113.673909 90.6736461,128 73.001193,128 L55.998807,128 C38.3179793,128 24,113.677487 24,96.0097716 L24,64 L30.136303,64 C19.6806213,51.3490406 2.77158986,28.2115132 25.8366966,8.85759246 C50.4723026,-11.8141335 71.6711028,13.2108337 81.613302,25.0594855 C91.5555012,36.9081373 78.9368488,47.4964439 69.1559674,34.9513593 C59.375086,22.4062748 47.9893192,10.8049522 35.9485154,20.9083862 C23.9077117,31.0118202 34.192312,43.2685325 44.7624679,55.8655518 C47.229397,58.805523 48.403443,61.5979188 48.6266053,64 Z M67.7315279,92.3641717 C70.8232551,91.0923621 73,88.0503841 73,84.5 C73,79.8055796 69.1944204,76 64.5,76 C59.8055796,76 56,79.8055796 56,84.5 C56,87.947435 58.0523387,90.9155206 61.0018621,92.2491029 L55.9067479,115.020857 L72.8008958,115.020857 L67.7315279,92.3641717 L67.7315279,92.3641717 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/up-arrow": {
            "title": "$:/core/images/up-arrow",
            "created": "20150316000544368",
            "modified": "20150316000831867",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-up-arrow tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n<path transform=\"rotate(-135, 63.8945, 64.1752)\" d=\"m109.07576,109.35336c-1.43248,1.43361 -3.41136,2.32182 -5.59717,2.32182l-79.16816,0c-4.36519,0 -7.91592,-3.5444 -7.91592,-7.91666c0,-4.36337 3.54408,-7.91667 7.91592,-7.91667l71.25075,0l0,-71.25074c0,-4.3652 3.54442,-7.91592 7.91667,-7.91592c4.36336,0 7.91667,3.54408 7.91667,7.91592l0,79.16815c0,2.1825 -0.88602,4.16136 -2.3185,5.59467l-0.00027,-0.00056l0.00001,-0.00001z\" />\n</svg>\n \n"
        },
        "$:/core/images/video": {
            "title": "$:/core/images/video",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-video tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M64,12 C29.0909091,12 8.72727273,14.9166667 5.81818182,17.8333333 C2.90909091,20.75 1.93784382e-15,41.1666667 0,64.5 C1.93784382e-15,87.8333333 2.90909091,108.25 5.81818182,111.166667 C8.72727273,114.083333 29.0909091,117 64,117 C98.9090909,117 119.272727,114.083333 122.181818,111.166667 C125.090909,108.25 128,87.8333333 128,64.5 C128,41.1666667 125.090909,20.75 122.181818,17.8333333 C119.272727,14.9166667 98.9090909,12 64,12 Z M54.9161194,44.6182253 C51.102648,42.0759111 48.0112186,43.7391738 48.0112186,48.3159447 L48.0112186,79.6840553 C48.0112186,84.2685636 51.109784,85.9193316 54.9161194,83.3817747 L77.0838806,68.6032672 C80.897352,66.0609529 80.890216,61.9342897 77.0838806,59.3967328 L54.9161194,44.6182253 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/warning": {
            "title": "$:/core/images/warning",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-warning tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M57.0717968,11 C60.1509982,5.66666667 67.8490018,5.66666667 70.9282032,11 L126.353829,107 C129.433031,112.333333 125.584029,119 119.425626,119 L8.57437416,119 C2.41597129,119 -1.43303051,112.333333 1.64617093,107 L57.0717968,11 Z M64,37 C59.581722,37 56,40.5820489 56,44.9935776 L56,73.0064224 C56,77.4211534 59.5907123,81 64,81 C68.418278,81 72,77.4179511 72,73.0064224 L72,44.9935776 C72,40.5788466 68.4092877,37 64,37 Z M64,104 C68.418278,104 72,100.418278 72,96 C72,91.581722 68.418278,88 64,88 C59.581722,88 56,91.581722 56,96 C56,100.418278 59.581722,104 64,104 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/language/Buttons/AdvancedSearch/Caption": {
            "title": "$:/language/Buttons/AdvancedSearch/Caption",
            "text": "advanced search"
        },
        "$:/language/Buttons/AdvancedSearch/Hint": {
            "title": "$:/language/Buttons/AdvancedSearch/Hint",
            "text": "Advanced search"
        },
        "$:/language/Buttons/Cancel/Caption": {
            "title": "$:/language/Buttons/Cancel/Caption",
            "text": "cancel"
        },
        "$:/language/Buttons/Cancel/Hint": {
            "title": "$:/language/Buttons/Cancel/Hint",
            "text": "Discard changes to this tiddler"
        },
        "$:/language/Buttons/Clone/Caption": {
            "title": "$:/language/Buttons/Clone/Caption",
            "text": "clone"
        },
        "$:/language/Buttons/Clone/Hint": {
            "title": "$:/language/Buttons/Clone/Hint",
            "text": "Clone this tiddler"
        },
        "$:/language/Buttons/Close/Caption": {
            "title": "$:/language/Buttons/Close/Caption",
            "text": "close"
        },
        "$:/language/Buttons/Close/Hint": {
            "title": "$:/language/Buttons/Close/Hint",
            "text": "Close this tiddler"
        },
        "$:/language/Buttons/CloseAll/Caption": {
            "title": "$:/language/Buttons/CloseAll/Caption",
            "text": "close all"
        },
        "$:/language/Buttons/CloseAll/Hint": {
            "title": "$:/language/Buttons/CloseAll/Hint",
            "text": "Close all tiddlers"
        },
        "$:/language/Buttons/CloseOthers/Caption": {
            "title": "$:/language/Buttons/CloseOthers/Caption",
            "text": "close others"
        },
        "$:/language/Buttons/CloseOthers/Hint": {
            "title": "$:/language/Buttons/CloseOthers/Hint",
            "text": "Close other tiddlers"
        },
        "$:/language/Buttons/ControlPanel/Caption": {
            "title": "$:/language/Buttons/ControlPanel/Caption",
            "text": "control panel"
        },
        "$:/language/Buttons/ControlPanel/Hint": {
            "title": "$:/language/Buttons/ControlPanel/Hint",
            "text": "Open control panel"
        },
        "$:/language/Buttons/CopyToClipboard/Caption": {
            "title": "$:/language/Buttons/CopyToClipboard/Caption",
            "text": "copy to clipboard"
        },
        "$:/language/Buttons/CopyToClipboard/Hint": {
            "title": "$:/language/Buttons/CopyToClipboard/Hint",
            "text": "Copy this text to the clipboard"
        },
        "$:/language/Buttons/Delete/Caption": {
            "title": "$:/language/Buttons/Delete/Caption",
            "text": "delete"
        },
        "$:/language/Buttons/Delete/Hint": {
            "title": "$:/language/Buttons/Delete/Hint",
            "text": "Delete this tiddler"
        },
        "$:/language/Buttons/Edit/Caption": {
            "title": "$:/language/Buttons/Edit/Caption",
            "text": "edit"
        },
        "$:/language/Buttons/Edit/Hint": {
            "title": "$:/language/Buttons/Edit/Hint",
            "text": "Edit this tiddler"
        },
        "$:/language/Buttons/Encryption/Caption": {
            "title": "$:/language/Buttons/Encryption/Caption",
            "text": "encryption"
        },
        "$:/language/Buttons/Encryption/Hint": {
            "title": "$:/language/Buttons/Encryption/Hint",
            "text": "Set or clear a password for saving this wiki"
        },
        "$:/language/Buttons/Encryption/ClearPassword/Caption": {
            "title": "$:/language/Buttons/Encryption/ClearPassword/Caption",
            "text": "clear password"
        },
        "$:/language/Buttons/Encryption/ClearPassword/Hint": {
            "title": "$:/language/Buttons/Encryption/ClearPassword/Hint",
            "text": "Clear the password and save this wiki without encryption"
        },
        "$:/language/Buttons/Encryption/SetPassword/Caption": {
            "title": "$:/language/Buttons/Encryption/SetPassword/Caption",
            "text": "set password"
        },
        "$:/language/Buttons/Encryption/SetPassword/Hint": {
            "title": "$:/language/Buttons/Encryption/SetPassword/Hint",
            "text": "Set a password for saving this wiki with encryption"
        },
        "$:/language/Buttons/ExportPage/Caption": {
            "title": "$:/language/Buttons/ExportPage/Caption",
            "text": "export all"
        },
        "$:/language/Buttons/ExportPage/Hint": {
            "title": "$:/language/Buttons/ExportPage/Hint",
            "text": "Export all tiddlers"
        },
        "$:/language/Buttons/ExportTiddler/Caption": {
            "title": "$:/language/Buttons/ExportTiddler/Caption",
            "text": "export tiddler"
        },
        "$:/language/Buttons/ExportTiddler/Hint": {
            "title": "$:/language/Buttons/ExportTiddler/Hint",
            "text": "Export tiddler"
        },
        "$:/language/Buttons/ExportTiddlers/Caption": {
            "title": "$:/language/Buttons/ExportTiddlers/Caption",
            "text": "export tiddlers"
        },
        "$:/language/Buttons/ExportTiddlers/Hint": {
            "title": "$:/language/Buttons/ExportTiddlers/Hint",
            "text": "Export tiddlers"
        },
        "$:/language/Buttons/SidebarSearch/Hint": {
            "title": "$:/language/Buttons/SidebarSearch/Hint",
            "text": "Select the sidebar search field"
        },
        "$:/language/Buttons/Fold/Caption": {
            "title": "$:/language/Buttons/Fold/Caption",
            "text": "fold tiddler"
        },
        "$:/language/Buttons/Fold/Hint": {
            "title": "$:/language/Buttons/Fold/Hint",
            "text": "Fold the body of this tiddler"
        },
        "$:/language/Buttons/Fold/FoldBar/Caption": {
            "title": "$:/language/Buttons/Fold/FoldBar/Caption",
            "text": "fold-bar"
        },
        "$:/language/Buttons/Fold/FoldBar/Hint": {
            "title": "$:/language/Buttons/Fold/FoldBar/Hint",
            "text": "Optional bars to fold and unfold tiddlers"
        },
        "$:/language/Buttons/Unfold/Caption": {
            "title": "$:/language/Buttons/Unfold/Caption",
            "text": "unfold tiddler"
        },
        "$:/language/Buttons/Unfold/Hint": {
            "title": "$:/language/Buttons/Unfold/Hint",
            "text": "Unfold the body of this tiddler"
        },
        "$:/language/Buttons/FoldOthers/Caption": {
            "title": "$:/language/Buttons/FoldOthers/Caption",
            "text": "fold other tiddlers"
        },
        "$:/language/Buttons/FoldOthers/Hint": {
            "title": "$:/language/Buttons/FoldOthers/Hint",
            "text": "Fold the bodies of other opened tiddlers"
        },
        "$:/language/Buttons/FoldAll/Caption": {
            "title": "$:/language/Buttons/FoldAll/Caption",
            "text": "fold all tiddlers"
        },
        "$:/language/Buttons/FoldAll/Hint": {
            "title": "$:/language/Buttons/FoldAll/Hint",
            "text": "Fold the bodies of all opened tiddlers"
        },
        "$:/language/Buttons/UnfoldAll/Caption": {
            "title": "$:/language/Buttons/UnfoldAll/Caption",
            "text": "unfold all tiddlers"
        },
        "$:/language/Buttons/UnfoldAll/Hint": {
            "title": "$:/language/Buttons/UnfoldAll/Hint",
            "text": "Unfold the bodies of all opened tiddlers"
        },
        "$:/language/Buttons/FullScreen/Caption": {
            "title": "$:/language/Buttons/FullScreen/Caption",
            "text": "full-screen"
        },
        "$:/language/Buttons/FullScreen/Hint": {
            "title": "$:/language/Buttons/FullScreen/Hint",
            "text": "Enter or leave full-screen mode"
        },
        "$:/language/Buttons/Help/Caption": {
            "title": "$:/language/Buttons/Help/Caption",
            "text": "help"
        },
        "$:/language/Buttons/Help/Hint": {
            "title": "$:/language/Buttons/Help/Hint",
            "text": "Show help panel"
        },
        "$:/language/Buttons/Import/Caption": {
            "title": "$:/language/Buttons/Import/Caption",
            "text": "import"
        },
        "$:/language/Buttons/Import/Hint": {
            "title": "$:/language/Buttons/Import/Hint",
            "text": "Import many types of file including text, image, TiddlyWiki or JSON"
        },
        "$:/language/Buttons/Info/Caption": {
            "title": "$:/language/Buttons/Info/Caption",
            "text": "info"
        },
        "$:/language/Buttons/Info/Hint": {
            "title": "$:/language/Buttons/Info/Hint",
            "text": "Show information for this tiddler"
        },
        "$:/language/Buttons/Home/Caption": {
            "title": "$:/language/Buttons/Home/Caption",
            "text": "home"
        },
        "$:/language/Buttons/Home/Hint": {
            "title": "$:/language/Buttons/Home/Hint",
            "text": "Open the default tiddlers"
        },
        "$:/language/Buttons/Language/Caption": {
            "title": "$:/language/Buttons/Language/Caption",
            "text": "language"
        },
        "$:/language/Buttons/Language/Hint": {
            "title": "$:/language/Buttons/Language/Hint",
            "text": "Choose the user interface language"
        },
        "$:/language/Buttons/Manager/Caption": {
            "title": "$:/language/Buttons/Manager/Caption",
            "text": "tiddler manager"
        },
        "$:/language/Buttons/Manager/Hint": {
            "title": "$:/language/Buttons/Manager/Hint",
            "text": "Open tiddler manager"
        },
        "$:/language/Buttons/More/Caption": {
            "title": "$:/language/Buttons/More/Caption",
            "text": "more"
        },
        "$:/language/Buttons/More/Hint": {
            "title": "$:/language/Buttons/More/Hint",
            "text": "More actions"
        },
        "$:/language/Buttons/NewHere/Caption": {
            "title": "$:/language/Buttons/NewHere/Caption",
            "text": "new here"
        },
        "$:/language/Buttons/NewHere/Hint": {
            "title": "$:/language/Buttons/NewHere/Hint",
            "text": "Create a new tiddler tagged with this one"
        },
        "$:/language/Buttons/NewJournal/Caption": {
            "title": "$:/language/Buttons/NewJournal/Caption",
            "text": "new journal"
        },
        "$:/language/Buttons/NewJournal/Hint": {
            "title": "$:/language/Buttons/NewJournal/Hint",
            "text": "Create a new journal tiddler"
        },
        "$:/language/Buttons/NewJournalHere/Caption": {
            "title": "$:/language/Buttons/NewJournalHere/Caption",
            "text": "new journal here"
        },
        "$:/language/Buttons/NewJournalHere/Hint": {
            "title": "$:/language/Buttons/NewJournalHere/Hint",
            "text": "Create a new journal tiddler tagged with this one"
        },
        "$:/language/Buttons/NewImage/Caption": {
            "title": "$:/language/Buttons/NewImage/Caption",
            "text": "new image"
        },
        "$:/language/Buttons/NewImage/Hint": {
            "title": "$:/language/Buttons/NewImage/Hint",
            "text": "Create a new image tiddler"
        },
        "$:/language/Buttons/NewMarkdown/Caption": {
            "title": "$:/language/Buttons/NewMarkdown/Caption",
            "text": "new Markdown tiddler"
        },
        "$:/language/Buttons/NewMarkdown/Hint": {
            "title": "$:/language/Buttons/NewMarkdown/Hint",
            "text": "Create a new Markdown tiddler"
        },
        "$:/language/Buttons/NewTiddler/Caption": {
            "title": "$:/language/Buttons/NewTiddler/Caption",
            "text": "new tiddler"
        },
        "$:/language/Buttons/NewTiddler/Hint": {
            "title": "$:/language/Buttons/NewTiddler/Hint",
            "text": "Create a new tiddler"
        },
        "$:/language/Buttons/OpenWindow/Caption": {
            "title": "$:/language/Buttons/OpenWindow/Caption",
            "text": "open in new window"
        },
        "$:/language/Buttons/OpenWindow/Hint": {
            "title": "$:/language/Buttons/OpenWindow/Hint",
            "text": "Open tiddler in new window"
        },
        "$:/language/Buttons/Palette/Caption": {
            "title": "$:/language/Buttons/Palette/Caption",
            "text": "palette"
        },
        "$:/language/Buttons/Palette/Hint": {
            "title": "$:/language/Buttons/Palette/Hint",
            "text": "Choose the colour palette"
        },
        "$:/language/Buttons/Permalink/Caption": {
            "title": "$:/language/Buttons/Permalink/Caption",
            "text": "permalink"
        },
        "$:/language/Buttons/Permalink/Hint": {
            "title": "$:/language/Buttons/Permalink/Hint",
            "text": "Set browser address bar to a direct link to this tiddler"
        },
        "$:/language/Buttons/Permaview/Caption": {
            "title": "$:/language/Buttons/Permaview/Caption",
            "text": "permaview"
        },
        "$:/language/Buttons/Permaview/Hint": {
            "title": "$:/language/Buttons/Permaview/Hint",
            "text": "Set browser address bar to a direct link to all the tiddlers in this story"
        },
        "$:/language/Buttons/Print/Caption": {
            "title": "$:/language/Buttons/Print/Caption",
            "text": "print page"
        },
        "$:/language/Buttons/Print/Hint": {
            "title": "$:/language/Buttons/Print/Hint",
            "text": "Print the current page"
        },
        "$:/language/Buttons/Refresh/Caption": {
            "title": "$:/language/Buttons/Refresh/Caption",
            "text": "refresh"
        },
        "$:/language/Buttons/Refresh/Hint": {
            "title": "$:/language/Buttons/Refresh/Hint",
            "text": "Perform a full refresh of the wiki"
        },
        "$:/language/Buttons/Save/Caption": {
            "title": "$:/language/Buttons/Save/Caption",
            "text": "ok"
        },
        "$:/language/Buttons/Save/Hint": {
            "title": "$:/language/Buttons/Save/Hint",
            "text": "Confirm changes to this tiddler"
        },
        "$:/language/Buttons/SaveWiki/Caption": {
            "title": "$:/language/Buttons/SaveWiki/Caption",
            "text": "save changes"
        },
        "$:/language/Buttons/SaveWiki/Hint": {
            "title": "$:/language/Buttons/SaveWiki/Hint",
            "text": "Save changes"
        },
        "$:/language/Buttons/StoryView/Caption": {
            "title": "$:/language/Buttons/StoryView/Caption",
            "text": "storyview"
        },
        "$:/language/Buttons/StoryView/Hint": {
            "title": "$:/language/Buttons/StoryView/Hint",
            "text": "Choose the story visualisation"
        },
        "$:/language/Buttons/HideSideBar/Caption": {
            "title": "$:/language/Buttons/HideSideBar/Caption",
            "text": "hide sidebar"
        },
        "$:/language/Buttons/HideSideBar/Hint": {
            "title": "$:/language/Buttons/HideSideBar/Hint",
            "text": "Hide sidebar"
        },
        "$:/language/Buttons/ShowSideBar/Caption": {
            "title": "$:/language/Buttons/ShowSideBar/Caption",
            "text": "show sidebar"
        },
        "$:/language/Buttons/ShowSideBar/Hint": {
            "title": "$:/language/Buttons/ShowSideBar/Hint",
            "text": "Show sidebar"
        },
        "$:/language/Buttons/TagManager/Caption": {
            "title": "$:/language/Buttons/TagManager/Caption",
            "text": "tag manager"
        },
        "$:/language/Buttons/TagManager/Hint": {
            "title": "$:/language/Buttons/TagManager/Hint",
            "text": "Open tag manager"
        },
        "$:/language/Buttons/Timestamp/Caption": {
            "title": "$:/language/Buttons/Timestamp/Caption",
            "text": "timestamps"
        },
        "$:/language/Buttons/Timestamp/Hint": {
            "title": "$:/language/Buttons/Timestamp/Hint",
            "text": "Choose whether modifications update timestamps"
        },
        "$:/language/Buttons/Timestamp/On/Caption": {
            "title": "$:/language/Buttons/Timestamp/On/Caption",
            "text": "timestamps are on"
        },
        "$:/language/Buttons/Timestamp/On/Hint": {
            "title": "$:/language/Buttons/Timestamp/On/Hint",
            "text": "Update timestamps when tiddlers are modified"
        },
        "$:/language/Buttons/Timestamp/Off/Caption": {
            "title": "$:/language/Buttons/Timestamp/Off/Caption",
            "text": "timestamps are off"
        },
        "$:/language/Buttons/Timestamp/Off/Hint": {
            "title": "$:/language/Buttons/Timestamp/Off/Hint",
            "text": "Don't update timestamps when tiddlers are modified"
        },
        "$:/language/Buttons/Theme/Caption": {
            "title": "$:/language/Buttons/Theme/Caption",
            "text": "theme"
        },
        "$:/language/Buttons/Theme/Hint": {
            "title": "$:/language/Buttons/Theme/Hint",
            "text": "Choose the display theme"
        },
        "$:/language/Buttons/Bold/Caption": {
            "title": "$:/language/Buttons/Bold/Caption",
            "text": "bold"
        },
        "$:/language/Buttons/Bold/Hint": {
            "title": "$:/language/Buttons/Bold/Hint",
            "text": "Apply bold formatting to selection"
        },
        "$:/language/Buttons/Clear/Caption": {
            "title": "$:/language/Buttons/Clear/Caption",
            "text": "clear"
        },
        "$:/language/Buttons/Clear/Hint": {
            "title": "$:/language/Buttons/Clear/Hint",
            "text": "Clear image to solid colour"
        },
        "$:/language/Buttons/EditorHeight/Caption": {
            "title": "$:/language/Buttons/EditorHeight/Caption",
            "text": "editor height"
        },
        "$:/language/Buttons/EditorHeight/Caption/Auto": {
            "title": "$:/language/Buttons/EditorHeight/Caption/Auto",
            "text": "Automatically adjust height to fit content"
        },
        "$:/language/Buttons/EditorHeight/Caption/Fixed": {
            "title": "$:/language/Buttons/EditorHeight/Caption/Fixed",
            "text": "Fixed height:"
        },
        "$:/language/Buttons/EditorHeight/Hint": {
            "title": "$:/language/Buttons/EditorHeight/Hint",
            "text": "Choose the height of the text editor"
        },
        "$:/language/Buttons/Excise/Caption": {
            "title": "$:/language/Buttons/Excise/Caption",
            "text": "excise"
        },
        "$:/language/Buttons/Excise/Caption/Excise": {
            "title": "$:/language/Buttons/Excise/Caption/Excise",
            "text": "Perform excision"
        },
        "$:/language/Buttons/Excise/Caption/MacroName": {
            "title": "$:/language/Buttons/Excise/Caption/MacroName",
            "text": "Macro name:"
        },
        "$:/language/Buttons/Excise/Caption/NewTitle": {
            "title": "$:/language/Buttons/Excise/Caption/NewTitle",
            "text": "Title of new tiddler:"
        },
        "$:/language/Buttons/Excise/Caption/Replace": {
            "title": "$:/language/Buttons/Excise/Caption/Replace",
            "text": "Replace excised text with:"
        },
        "$:/language/Buttons/Excise/Caption/Replace/Macro": {
            "title": "$:/language/Buttons/Excise/Caption/Replace/Macro",
            "text": "macro"
        },
        "$:/language/Buttons/Excise/Caption/Replace/Link": {
            "title": "$:/language/Buttons/Excise/Caption/Replace/Link",
            "text": "link"
        },
        "$:/language/Buttons/Excise/Caption/Replace/Transclusion": {
            "title": "$:/language/Buttons/Excise/Caption/Replace/Transclusion",
            "text": "transclusion"
        },
        "$:/language/Buttons/Excise/Caption/Tag": {
            "title": "$:/language/Buttons/Excise/Caption/Tag",
            "text": "Tag new tiddler with the title of this tiddler"
        },
        "$:/language/Buttons/Excise/Caption/TiddlerExists": {
            "title": "$:/language/Buttons/Excise/Caption/TiddlerExists",
            "text": "Warning: tiddler already exists"
        },
        "$:/language/Buttons/Excise/Hint": {
            "title": "$:/language/Buttons/Excise/Hint",
            "text": "Excise the selected text into a new tiddler"
        },
        "$:/language/Buttons/Heading1/Caption": {
            "title": "$:/language/Buttons/Heading1/Caption",
            "text": "heading 1"
        },
        "$:/language/Buttons/Heading1/Hint": {
            "title": "$:/language/Buttons/Heading1/Hint",
            "text": "Apply heading level 1 formatting to lines containing selection"
        },
        "$:/language/Buttons/Heading2/Caption": {
            "title": "$:/language/Buttons/Heading2/Caption",
            "text": "heading 2"
        },
        "$:/language/Buttons/Heading2/Hint": {
            "title": "$:/language/Buttons/Heading2/Hint",
            "text": "Apply heading level 2 formatting to lines containing selection"
        },
        "$:/language/Buttons/Heading3/Caption": {
            "title": "$:/language/Buttons/Heading3/Caption",
            "text": "heading 3"
        },
        "$:/language/Buttons/Heading3/Hint": {
            "title": "$:/language/Buttons/Heading3/Hint",
            "text": "Apply heading level 3 formatting to lines containing selection"
        },
        "$:/language/Buttons/Heading4/Caption": {
            "title": "$:/language/Buttons/Heading4/Caption",
            "text": "heading 4"
        },
        "$:/language/Buttons/Heading4/Hint": {
            "title": "$:/language/Buttons/Heading4/Hint",
            "text": "Apply heading level 4 formatting to lines containing selection"
        },
        "$:/language/Buttons/Heading5/Caption": {
            "title": "$:/language/Buttons/Heading5/Caption",
            "text": "heading 5"
        },
        "$:/language/Buttons/Heading5/Hint": {
            "title": "$:/language/Buttons/Heading5/Hint",
            "text": "Apply heading level 5 formatting to lines containing selection"
        },
        "$:/language/Buttons/Heading6/Caption": {
            "title": "$:/language/Buttons/Heading6/Caption",
            "text": "heading 6"
        },
        "$:/language/Buttons/Heading6/Hint": {
            "title": "$:/language/Buttons/Heading6/Hint",
            "text": "Apply heading level 6 formatting to lines containing selection"
        },
        "$:/language/Buttons/Italic/Caption": {
            "title": "$:/language/Buttons/Italic/Caption",
            "text": "italic"
        },
        "$:/language/Buttons/Italic/Hint": {
            "title": "$:/language/Buttons/Italic/Hint",
            "text": "Apply italic formatting to selection"
        },
        "$:/language/Buttons/LineWidth/Caption": {
            "title": "$:/language/Buttons/LineWidth/Caption",
            "text": "line width"
        },
        "$:/language/Buttons/LineWidth/Hint": {
            "title": "$:/language/Buttons/LineWidth/Hint",
            "text": "Set line width for painting"
        },
        "$:/language/Buttons/Link/Caption": {
            "title": "$:/language/Buttons/Link/Caption",
            "text": "link"
        },
        "$:/language/Buttons/Link/Hint": {
            "title": "$:/language/Buttons/Link/Hint",
            "text": "Create wikitext link"
        },
        "$:/language/Buttons/Linkify/Caption": {
            "title": "$:/language/Buttons/Linkify/Caption",
            "text": "wikilink"
        },
        "$:/language/Buttons/Linkify/Hint": {
            "title": "$:/language/Buttons/Linkify/Hint",
            "text": "Wrap selection in square brackets"
        },
        "$:/language/Buttons/ListBullet/Caption": {
            "title": "$:/language/Buttons/ListBullet/Caption",
            "text": "bulleted list"
        },
        "$:/language/Buttons/ListBullet/Hint": {
            "title": "$:/language/Buttons/ListBullet/Hint",
            "text": "Apply bulleted list formatting to lines containing selection"
        },
        "$:/language/Buttons/ListNumber/Caption": {
            "title": "$:/language/Buttons/ListNumber/Caption",
            "text": "numbered list"
        },
        "$:/language/Buttons/ListNumber/Hint": {
            "title": "$:/language/Buttons/ListNumber/Hint",
            "text": "Apply numbered list formatting to lines containing selection"
        },
        "$:/language/Buttons/MonoBlock/Caption": {
            "title": "$:/language/Buttons/MonoBlock/Caption",
            "text": "monospaced block"
        },
        "$:/language/Buttons/MonoBlock/Hint": {
            "title": "$:/language/Buttons/MonoBlock/Hint",
            "text": "Apply monospaced block formatting to lines containing selection"
        },
        "$:/language/Buttons/MonoLine/Caption": {
            "title": "$:/language/Buttons/MonoLine/Caption",
            "text": "monospaced"
        },
        "$:/language/Buttons/MonoLine/Hint": {
            "title": "$:/language/Buttons/MonoLine/Hint",
            "text": "Apply monospaced character formatting to selection"
        },
        "$:/language/Buttons/Opacity/Caption": {
            "title": "$:/language/Buttons/Opacity/Caption",
            "text": "opacity"
        },
        "$:/language/Buttons/Opacity/Hint": {
            "title": "$:/language/Buttons/Opacity/Hint",
            "text": "Set painting opacity"
        },
        "$:/language/Buttons/Paint/Caption": {
            "title": "$:/language/Buttons/Paint/Caption",
            "text": "paint colour"
        },
        "$:/language/Buttons/Paint/Hint": {
            "title": "$:/language/Buttons/Paint/Hint",
            "text": "Set painting colour"
        },
        "$:/language/Buttons/Picture/Caption": {
            "title": "$:/language/Buttons/Picture/Caption",
            "text": "picture"
        },
        "$:/language/Buttons/Picture/Hint": {
            "title": "$:/language/Buttons/Picture/Hint",
            "text": "Insert picture"
        },
        "$:/language/Buttons/Preview/Caption": {
            "title": "$:/language/Buttons/Preview/Caption",
            "text": "preview"
        },
        "$:/language/Buttons/Preview/Hint": {
            "title": "$:/language/Buttons/Preview/Hint",
            "text": "Show preview pane"
        },
        "$:/language/Buttons/PreviewType/Caption": {
            "title": "$:/language/Buttons/PreviewType/Caption",
            "text": "preview type"
        },
        "$:/language/Buttons/PreviewType/Hint": {
            "title": "$:/language/Buttons/PreviewType/Hint",
            "text": "Choose preview type"
        },
        "$:/language/Buttons/Quote/Caption": {
            "title": "$:/language/Buttons/Quote/Caption",
            "text": "quote"
        },
        "$:/language/Buttons/Quote/Hint": {
            "title": "$:/language/Buttons/Quote/Hint",
            "text": "Apply quoted text formatting to lines containing selection"
        },
        "$:/language/Buttons/RotateLeft/Caption": {
            "title": "$:/language/Buttons/RotateLeft/Caption",
            "text": "rotate left"
        },
        "$:/language/Buttons/RotateLeft/Hint": {
            "title": "$:/language/Buttons/RotateLeft/Hint",
            "text": "Rotate image left by 90 degrees"
        },
        "$:/language/Buttons/Size/Caption": {
            "title": "$:/language/Buttons/Size/Caption",
            "text": "image size"
        },
        "$:/language/Buttons/Size/Caption/Height": {
            "title": "$:/language/Buttons/Size/Caption/Height",
            "text": "Height:"
        },
        "$:/language/Buttons/Size/Caption/Resize": {
            "title": "$:/language/Buttons/Size/Caption/Resize",
            "text": "Resize image"
        },
        "$:/language/Buttons/Size/Caption/Width": {
            "title": "$:/language/Buttons/Size/Caption/Width",
            "text": "Width:"
        },
        "$:/language/Buttons/Size/Hint": {
            "title": "$:/language/Buttons/Size/Hint",
            "text": "Set image size"
        },
        "$:/language/Buttons/Stamp/Caption": {
            "title": "$:/language/Buttons/Stamp/Caption",
            "text": "stamp"
        },
        "$:/language/Buttons/Stamp/Caption/New": {
            "title": "$:/language/Buttons/Stamp/Caption/New",
            "text": "Add your own"
        },
        "$:/language/Buttons/Stamp/Hint": {
            "title": "$:/language/Buttons/Stamp/Hint",
            "text": "Insert a preconfigured snippet of text"
        },
        "$:/language/Buttons/Stamp/New/Title": {
            "title": "$:/language/Buttons/Stamp/New/Title",
            "text": "Name as shown in menu"
        },
        "$:/language/Buttons/Stamp/New/Text": {
            "title": "$:/language/Buttons/Stamp/New/Text",
            "text": "Text of snippet. (Remember to add a descriptive title in the caption field)."
        },
        "$:/language/Buttons/Strikethrough/Caption": {
            "title": "$:/language/Buttons/Strikethrough/Caption",
            "text": "strikethrough"
        },
        "$:/language/Buttons/Strikethrough/Hint": {
            "title": "$:/language/Buttons/Strikethrough/Hint",
            "text": "Apply strikethrough formatting to selection"
        },
        "$:/language/Buttons/Subscript/Caption": {
            "title": "$:/language/Buttons/Subscript/Caption",
            "text": "subscript"
        },
        "$:/language/Buttons/Subscript/Hint": {
            "title": "$:/language/Buttons/Subscript/Hint",
            "text": "Apply subscript formatting to selection"
        },
        "$:/language/Buttons/Superscript/Caption": {
            "title": "$:/language/Buttons/Superscript/Caption",
            "text": "superscript"
        },
        "$:/language/Buttons/Superscript/Hint": {
            "title": "$:/language/Buttons/Superscript/Hint",
            "text": "Apply superscript formatting to selection"
        },
        "$:/language/Buttons/ToggleSidebar/Hint": {
            "title": "$:/language/Buttons/ToggleSidebar/Hint",
            "text": "Toggle the sidebar visibility"
        },
        "$:/language/Buttons/Transcludify/Caption": {
            "title": "$:/language/Buttons/Transcludify/Caption",
            "text": "transclusion"
        },
        "$:/language/Buttons/Transcludify/Hint": {
            "title": "$:/language/Buttons/Transcludify/Hint",
            "text": "Wrap selection in curly brackets"
        },
        "$:/language/Buttons/Underline/Caption": {
            "title": "$:/language/Buttons/Underline/Caption",
            "text": "underline"
        },
        "$:/language/Buttons/Underline/Hint": {
            "title": "$:/language/Buttons/Underline/Hint",
            "text": "Apply underline formatting to selection"
        },
        "$:/language/ControlPanel/Advanced/Caption": {
            "title": "$:/language/ControlPanel/Advanced/Caption",
            "text": "Advanced"
        },
        "$:/language/ControlPanel/Advanced/Hint": {
            "title": "$:/language/ControlPanel/Advanced/Hint",
            "text": "Internal information about this TiddlyWiki"
        },
        "$:/language/ControlPanel/Appearance/Caption": {
            "title": "$:/language/ControlPanel/Appearance/Caption",
            "text": "Appearance"
        },
        "$:/language/ControlPanel/Appearance/Hint": {
            "title": "$:/language/ControlPanel/Appearance/Hint",
            "text": "Ways to customise the appearance of your TiddlyWiki."
        },
        "$:/language/ControlPanel/Basics/AnimDuration/Prompt": {
            "title": "$:/language/ControlPanel/Basics/AnimDuration/Prompt",
            "text": "Animation duration:"
        },
        "$:/language/ControlPanel/Basics/Caption": {
            "title": "$:/language/ControlPanel/Basics/Caption",
            "text": "Basics"
        },
        "$:/language/ControlPanel/Basics/DefaultTiddlers/BottomHint": {
            "title": "$:/language/ControlPanel/Basics/DefaultTiddlers/BottomHint",
            "text": "Use &#91;&#91;double square brackets&#93;&#93; for titles with spaces. Or you can choose to <$button set=\"$:/DefaultTiddlers\" setTo=\"[list[$:/StoryList]]\">retain story ordering</$button>"
        },
        "$:/language/ControlPanel/Basics/DefaultTiddlers/Prompt": {
            "title": "$:/language/ControlPanel/Basics/DefaultTiddlers/Prompt",
            "text": "Default tiddlers:"
        },
        "$:/language/ControlPanel/Basics/DefaultTiddlers/TopHint": {
            "title": "$:/language/ControlPanel/Basics/DefaultTiddlers/TopHint",
            "text": "Choose which tiddlers are displayed at startup:"
        },
        "$:/language/ControlPanel/Basics/Language/Prompt": {
            "title": "$:/language/ControlPanel/Basics/Language/Prompt",
            "text": "Hello! Current language:"
        },
        "$:/language/ControlPanel/Basics/NewJournal/Title/Prompt": {
            "title": "$:/language/ControlPanel/Basics/NewJournal/Title/Prompt",
            "text": "Title of new journal tiddlers"
        },
        "$:/language/ControlPanel/Basics/NewJournal/Text/Prompt": {
            "title": "$:/language/ControlPanel/Basics/NewJournal/Text/Prompt",
            "text": "Text for new journal tiddlers"
        },
        "$:/language/ControlPanel/Basics/NewJournal/Tags/Prompt": {
            "title": "$:/language/ControlPanel/Basics/NewJournal/Tags/Prompt",
            "text": "Tags for new journal tiddlers"
        },
        "$:/language/ControlPanel/Basics/NewTiddler/Title/Prompt": {
            "title": "$:/language/ControlPanel/Basics/NewTiddler/Title/Prompt",
            "text": "Title of new tiddlers"
        },
        "$:/language/ControlPanel/Basics/OverriddenShadowTiddlers/Prompt": {
            "title": "$:/language/ControlPanel/Basics/OverriddenShadowTiddlers/Prompt",
            "text": "Number of overridden shadow tiddlers:"
        },
        "$:/language/ControlPanel/Basics/ShadowTiddlers/Prompt": {
            "title": "$:/language/ControlPanel/Basics/ShadowTiddlers/Prompt",
            "text": "Number of shadow tiddlers:"
        },
        "$:/language/ControlPanel/Basics/Subtitle/Prompt": {
            "title": "$:/language/ControlPanel/Basics/Subtitle/Prompt",
            "text": "Subtitle:"
        },
        "$:/language/ControlPanel/Basics/SystemTiddlers/Prompt": {
            "title": "$:/language/ControlPanel/Basics/SystemTiddlers/Prompt",
            "text": "Number of system tiddlers:"
        },
        "$:/language/ControlPanel/Basics/Tags/Prompt": {
            "title": "$:/language/ControlPanel/Basics/Tags/Prompt",
            "text": "Number of tags:"
        },
        "$:/language/ControlPanel/Basics/Tiddlers/Prompt": {
            "title": "$:/language/ControlPanel/Basics/Tiddlers/Prompt",
            "text": "Number of tiddlers:"
        },
        "$:/language/ControlPanel/Basics/Title/Prompt": {
            "title": "$:/language/ControlPanel/Basics/Title/Prompt",
            "text": "Title of this ~TiddlyWiki:"
        },
        "$:/language/ControlPanel/Basics/Username/Prompt": {
            "title": "$:/language/ControlPanel/Basics/Username/Prompt",
            "text": "Username for signing edits:"
        },
        "$:/language/ControlPanel/Basics/Version/Prompt": {
            "title": "$:/language/ControlPanel/Basics/Version/Prompt",
            "text": "~TiddlyWiki version:"
        },
        "$:/language/ControlPanel/EditorTypes/Caption": {
            "title": "$:/language/ControlPanel/EditorTypes/Caption",
            "text": "Editor Types"
        },
        "$:/language/ControlPanel/EditorTypes/Editor/Caption": {
            "title": "$:/language/ControlPanel/EditorTypes/Editor/Caption",
            "text": "Editor"
        },
        "$:/language/ControlPanel/EditorTypes/Hint": {
            "title": "$:/language/ControlPanel/EditorTypes/Hint",
            "text": "These tiddlers determine which editor is used to edit specific tiddler types."
        },
        "$:/language/ControlPanel/EditorTypes/Type/Caption": {
            "title": "$:/language/ControlPanel/EditorTypes/Type/Caption",
            "text": "Type"
        },
        "$:/language/ControlPanel/Info/Caption": {
            "title": "$:/language/ControlPanel/Info/Caption",
            "text": "Info"
        },
        "$:/language/ControlPanel/Info/Hint": {
            "title": "$:/language/ControlPanel/Info/Hint",
            "text": "Information about this TiddlyWiki"
        },
        "$:/language/ControlPanel/KeyboardShortcuts/Add/Prompt": {
            "title": "$:/language/ControlPanel/KeyboardShortcuts/Add/Prompt",
            "text": "Type shortcut here"
        },
        "$:/language/ControlPanel/KeyboardShortcuts/Add/Caption": {
            "title": "$:/language/ControlPanel/KeyboardShortcuts/Add/Caption",
            "text": "add shortcut"
        },
        "$:/language/ControlPanel/KeyboardShortcuts/Caption": {
            "title": "$:/language/ControlPanel/KeyboardShortcuts/Caption",
            "text": "Keyboard Shortcuts"
        },
        "$:/language/ControlPanel/KeyboardShortcuts/Hint": {
            "title": "$:/language/ControlPanel/KeyboardShortcuts/Hint",
            "text": "Manage keyboard shortcut assignments"
        },
        "$:/language/ControlPanel/KeyboardShortcuts/NoShortcuts/Caption": {
            "title": "$:/language/ControlPanel/KeyboardShortcuts/NoShortcuts/Caption",
            "text": "No keyboard shortcuts assigned"
        },
        "$:/language/ControlPanel/KeyboardShortcuts/Remove/Hint": {
            "title": "$:/language/ControlPanel/KeyboardShortcuts/Remove/Hint",
            "text": "remove keyboard shortcut"
        },
        "$:/language/ControlPanel/KeyboardShortcuts/Platform/All": {
            "title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/All",
            "text": "All platforms"
        },
        "$:/language/ControlPanel/KeyboardShortcuts/Platform/Mac": {
            "title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/Mac",
            "text": "Macintosh platform only"
        },
        "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonMac": {
            "title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonMac",
            "text": "Non-Macintosh platforms only"
        },
        "$:/language/ControlPanel/KeyboardShortcuts/Platform/Linux": {
            "title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/Linux",
            "text": "Linux platform only"
        },
        "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonLinux": {
            "title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonLinux",
            "text": "Non-Linux platforms only"
        },
        "$:/language/ControlPanel/KeyboardShortcuts/Platform/Windows": {
            "title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/Windows",
            "text": "Windows platform only"
        },
        "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonWindows": {
            "title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonWindows",
            "text": "Non-Windows platforms only"
        },
        "$:/language/ControlPanel/LoadedModules/Caption": {
            "title": "$:/language/ControlPanel/LoadedModules/Caption",
            "text": "Loaded Modules"
        },
        "$:/language/ControlPanel/LoadedModules/Hint": {
            "title": "$:/language/ControlPanel/LoadedModules/Hint",
            "text": "These are the currently loaded tiddler modules linked to their source tiddlers. Any italicised modules lack a source tiddler, typically because they were setup during the boot process."
        },
        "$:/language/ControlPanel/Palette/Caption": {
            "title": "$:/language/ControlPanel/Palette/Caption",
            "text": "Palette"
        },
        "$:/language/ControlPanel/Palette/Editor/Clone/Caption": {
            "title": "$:/language/ControlPanel/Palette/Editor/Clone/Caption",
            "text": "clone"
        },
        "$:/language/ControlPanel/Palette/Editor/Clone/Prompt": {
            "title": "$:/language/ControlPanel/Palette/Editor/Clone/Prompt",
            "text": "It is recommended that you clone this shadow palette before editing it"
        },
        "$:/language/ControlPanel/Palette/Editor/Delete/Hint": {
            "title": "$:/language/ControlPanel/Palette/Editor/Delete/Hint",
            "text": "delete this entry from the current palette"
        },
        "$:/language/ControlPanel/Palette/Editor/Names/External/Show": {
            "title": "$:/language/ControlPanel/Palette/Editor/Names/External/Show",
            "text": "Show color names that are not part of the current palette"
        },
        "$:/language/ControlPanel/Palette/Editor/Prompt/Modified": {
            "title": "$:/language/ControlPanel/Palette/Editor/Prompt/Modified",
            "text": "This shadow palette has been modified"
        },
        "$:/language/ControlPanel/Palette/Editor/Prompt": {
            "title": "$:/language/ControlPanel/Palette/Editor/Prompt",
            "text": "Editing"
        },
        "$:/language/ControlPanel/Palette/Editor/Reset/Caption": {
            "title": "$:/language/ControlPanel/Palette/Editor/Reset/Caption",
            "text": "reset"
        },
        "$:/language/ControlPanel/Palette/HideEditor/Caption": {
            "title": "$:/language/ControlPanel/Palette/HideEditor/Caption",
            "text": "hide editor"
        },
        "$:/language/ControlPanel/Palette/Prompt": {
            "title": "$:/language/ControlPanel/Palette/Prompt",
            "text": "Current palette:"
        },
        "$:/language/ControlPanel/Palette/ShowEditor/Caption": {
            "title": "$:/language/ControlPanel/Palette/ShowEditor/Caption",
            "text": "show editor"
        },
        "$:/language/ControlPanel/Parsing/Caption": {
            "title": "$:/language/ControlPanel/Parsing/Caption",
            "text": "Parsing"
        },
        "$:/language/ControlPanel/Parsing/Hint": {
            "title": "$:/language/ControlPanel/Parsing/Hint",
            "text": "Here you can globally disable/enable wiki parser rules. For changes to take effect, save and reload your wiki. Disabling certain parser rules can prevent <$text text=\"TiddlyWiki\"/> from functioning correctly. Use [[safe mode|https://tiddlywiki.com/#SafeMode]] to restore normal operation."
        },
        "$:/language/ControlPanel/Parsing/Block/Caption": {
            "title": "$:/language/ControlPanel/Parsing/Block/Caption",
            "text": "Block Parse Rules"
        },
        "$:/language/ControlPanel/Parsing/Inline/Caption": {
            "title": "$:/language/ControlPanel/Parsing/Inline/Caption",
            "text": "Inline Parse Rules"
        },
        "$:/language/ControlPanel/Parsing/Pragma/Caption": {
            "title": "$:/language/ControlPanel/Parsing/Pragma/Caption",
            "text": "Pragma Parse Rules"
        },
        "$:/language/ControlPanel/Plugins/Add/Caption": {
            "title": "$:/language/ControlPanel/Plugins/Add/Caption",
            "text": "Get more plugins"
        },
        "$:/language/ControlPanel/Plugins/Add/Hint": {
            "title": "$:/language/ControlPanel/Plugins/Add/Hint",
            "text": "Install plugins from the official library"
        },
        "$:/language/ControlPanel/Plugins/AlreadyInstalled/Hint": {
            "title": "$:/language/ControlPanel/Plugins/AlreadyInstalled/Hint",
            "text": "This plugin is already installed at version <$text text=<<installedVersion>>/>"
        },
        "$:/language/ControlPanel/Plugins/Caption": {
            "title": "$:/language/ControlPanel/Plugins/Caption",
            "text": "Plugins"
        },
        "$:/language/ControlPanel/Plugins/Disable/Caption": {
            "title": "$:/language/ControlPanel/Plugins/Disable/Caption",
            "text": "disable"
        },
        "$:/language/ControlPanel/Plugins/Disable/Hint": {
            "title": "$:/language/ControlPanel/Plugins/Disable/Hint",
            "text": "Disable this plugin when reloading page"
        },
        "$:/language/ControlPanel/Plugins/Disabled/Status": {
            "title": "$:/language/ControlPanel/Plugins/Disabled/Status",
            "text": "(disabled)"
        },
        "$:/language/ControlPanel/Plugins/Empty/Hint": {
            "title": "$:/language/ControlPanel/Plugins/Empty/Hint",
            "text": "None"
        },
        "$:/language/ControlPanel/Plugins/Enable/Caption": {
            "title": "$:/language/ControlPanel/Plugins/Enable/Caption",
            "text": "enable"
        },
        "$:/language/ControlPanel/Plugins/Enable/Hint": {
            "title": "$:/language/ControlPanel/Plugins/Enable/Hint",
            "text": "Enable this plugin when reloading page"
        },
        "$:/language/ControlPanel/Plugins/Install/Caption": {
            "title": "$:/language/ControlPanel/Plugins/Install/Caption",
            "text": "install"
        },
        "$:/language/ControlPanel/Plugins/Installed/Hint": {
            "title": "$:/language/ControlPanel/Plugins/Installed/Hint",
            "text": "Currently installed plugins:"
        },
        "$:/language/ControlPanel/Plugins/Languages/Caption": {
            "title": "$:/language/ControlPanel/Plugins/Languages/Caption",
            "text": "Languages"
        },
        "$:/language/ControlPanel/Plugins/Languages/Hint": {
            "title": "$:/language/ControlPanel/Plugins/Languages/Hint",
            "text": "Language pack plugins"
        },
        "$:/language/ControlPanel/Plugins/NoInfoFound/Hint": {
            "title": "$:/language/ControlPanel/Plugins/NoInfoFound/Hint",
            "text": "No ''\"<$text text=<<currentTab>>/>\"'' found"
        },
        "$:/language/ControlPanel/Plugins/NotInstalled/Hint": {
            "title": "$:/language/ControlPanel/Plugins/NotInstalled/Hint",
            "text": "This plugin is not currently installed"
        },
        "$:/language/ControlPanel/Plugins/OpenPluginLibrary": {
            "title": "$:/language/ControlPanel/Plugins/OpenPluginLibrary",
            "text": "open plugin library"
        },
        "$:/language/ControlPanel/Plugins/ClosePluginLibrary": {
            "title": "$:/language/ControlPanel/Plugins/ClosePluginLibrary",
            "text": "close plugin library"
        },
        "$:/language/ControlPanel/Plugins/Plugins/Caption": {
            "title": "$:/language/ControlPanel/Plugins/Plugins/Caption",
            "text": "Plugins"
        },
        "$:/language/ControlPanel/Plugins/Plugins/Hint": {
            "title": "$:/language/ControlPanel/Plugins/Plugins/Hint",
            "text": "Plugins"
        },
        "$:/language/ControlPanel/Plugins/Reinstall/Caption": {
            "title": "$:/language/ControlPanel/Plugins/Reinstall/Caption",
            "text": "reinstall"
        },
        "$:/language/ControlPanel/Plugins/Themes/Caption": {
            "title": "$:/language/ControlPanel/Plugins/Themes/Caption",
            "text": "Themes"
        },
        "$:/language/ControlPanel/Plugins/Themes/Hint": {
            "title": "$:/language/ControlPanel/Plugins/Themes/Hint",
            "text": "Theme plugins"
        },
        "$:/language/ControlPanel/Saving/Caption": {
            "title": "$:/language/ControlPanel/Saving/Caption",
            "text": "Saving"
        },
        "$:/language/ControlPanel/Saving/DownloadSaver/AutoSave/Description": {
            "title": "$:/language/ControlPanel/Saving/DownloadSaver/AutoSave/Description",
            "text": "Permit automatic saving for the download saver"
        },
        "$:/language/ControlPanel/Saving/DownloadSaver/AutoSave/Hint": {
            "title": "$:/language/ControlPanel/Saving/DownloadSaver/AutoSave/Hint",
            "text": "Enable Autosave for Download Saver"
        },
        "$:/language/ControlPanel/Saving/DownloadSaver/Caption": {
            "title": "$:/language/ControlPanel/Saving/DownloadSaver/Caption",
            "text": "Download Saver"
        },
        "$:/language/ControlPanel/Saving/DownloadSaver/Hint": {
            "title": "$:/language/ControlPanel/Saving/DownloadSaver/Hint",
            "text": "These settings apply to the HTML5-compatible download saver"
        },
        "$:/language/ControlPanel/Saving/General/Caption": {
            "title": "$:/language/ControlPanel/Saving/General/Caption",
            "text": "General"
        },
        "$:/language/ControlPanel/Saving/General/Hint": {
            "title": "$:/language/ControlPanel/Saving/General/Hint",
            "text": "These settings apply to all the loaded savers"
        },
        "$:/language/ControlPanel/Saving/Hint": {
            "title": "$:/language/ControlPanel/Saving/Hint",
            "text": "Settings used for saving the entire TiddlyWiki as a single file via a saver module"
        },
        "$:/language/ControlPanel/Saving/GitService/Branch": {
            "title": "$:/language/ControlPanel/Saving/GitService/Branch",
            "text": "Target branch for saving"
        },
        "$:/language/ControlPanel/Saving/GitService/CommitMessage": {
            "title": "$:/language/ControlPanel/Saving/GitService/CommitMessage",
            "text": "Saved by TiddlyWiki"
        },
        "$:/language/ControlPanel/Saving/GitService/Description": {
            "title": "$:/language/ControlPanel/Saving/GitService/Description",
            "text": "These settings are only used when saving to <<service-name>>"
        },
        "$:/language/ControlPanel/Saving/GitService/Filename": {
            "title": "$:/language/ControlPanel/Saving/GitService/Filename",
            "text": "Filename of target file (e.g. `index.html`)"
        },
        "$:/language/ControlPanel/Saving/GitService/Path": {
            "title": "$:/language/ControlPanel/Saving/GitService/Path",
            "text": "Path to target file (e.g. `/wiki/`)"
        },
        "$:/language/ControlPanel/Saving/GitService/Repo": {
            "title": "$:/language/ControlPanel/Saving/GitService/Repo",
            "text": "Target repository (e.g. `Jermolene/TiddlyWiki5`)"
        },
        "$:/language/ControlPanel/Saving/GitService/ServerURL": {
            "title": "$:/language/ControlPanel/Saving/GitService/ServerURL",
            "text": "Server API URL"
        },
        "$:/language/ControlPanel/Saving/GitService/UserName": {
            "title": "$:/language/ControlPanel/Saving/GitService/UserName",
            "text": "Username"
        },
        "$:/language/ControlPanel/Saving/GitService/GitHub/Caption": {
            "title": "$:/language/ControlPanel/Saving/GitService/GitHub/Caption",
            "text": "~GitHub Saver"
        },
        "$:/language/ControlPanel/Saving/GitService/GitHub/Password": {
            "title": "$:/language/ControlPanel/Saving/GitService/GitHub/Password",
            "text": "Password, OAUTH token, or personal access token (see [[GitHub help page|https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line]] for details)"
        },
        "$:/language/ControlPanel/Saving/GitService/GitLab/Caption": {
            "title": "$:/language/ControlPanel/Saving/GitService/GitLab/Caption",
            "text": "~GitLab Saver"
        },
        "$:/language/ControlPanel/Saving/GitService/GitLab/Password": {
            "title": "$:/language/ControlPanel/Saving/GitService/GitLab/Password",
            "text": "Personal access token for API (see [[GitLab help page|https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html]] for details)"
        },
        "$:/language/ControlPanel/Saving/TiddlySpot/Advanced/Heading": {
            "title": "$:/language/ControlPanel/Saving/TiddlySpot/Advanced/Heading",
            "text": "Advanced Settings"
        },
        "$:/language/ControlPanel/Saving/TiddlySpot/BackupDir": {
            "title": "$:/language/ControlPanel/Saving/TiddlySpot/BackupDir",
            "text": "Backup Directory"
        },
        "$:/language/ControlPanel/Saving/TiddlySpot/Backups": {
            "title": "$:/language/ControlPanel/Saving/TiddlySpot/Backups",
            "text": "Backups"
        },
        "$:/language/ControlPanel/Saving/TiddlySpot/Caption": {
            "title": "$:/language/ControlPanel/Saving/TiddlySpot/Caption",
            "text": "~TiddlySpot Saver"
        },
        "$:/language/ControlPanel/Saving/TiddlySpot/Description": {
            "title": "$:/language/ControlPanel/Saving/TiddlySpot/Description",
            "text": "These settings are only used when saving to http://tiddlyspot.com or a compatible remote server"
        },
        "$:/language/ControlPanel/Saving/TiddlySpot/Filename": {
            "title": "$:/language/ControlPanel/Saving/TiddlySpot/Filename",
            "text": "Upload Filename"
        },
        "$:/language/ControlPanel/Saving/TiddlySpot/Heading": {
            "title": "$:/language/ControlPanel/Saving/TiddlySpot/Heading",
            "text": "~TiddlySpot"
        },
        "$:/language/ControlPanel/Saving/TiddlySpot/Hint": {
            "title": "$:/language/ControlPanel/Saving/TiddlySpot/Hint",
            "text": "//The server URL defaults to `http://<wikiname>.tiddlyspot.com/store.cgi` and can be changed to use a custom server address, e.g. `http://example.com/store.php`.//"
        },
        "$:/language/ControlPanel/Saving/TiddlySpot/Password": {
            "title": "$:/language/ControlPanel/Saving/TiddlySpot/Password",
            "text": "Password"
        },
        "$:/language/ControlPanel/Saving/TiddlySpot/ServerURL": {
            "title": "$:/language/ControlPanel/Saving/TiddlySpot/ServerURL",
            "text": "Server URL"
        },
        "$:/language/ControlPanel/Saving/TiddlySpot/UploadDir": {
            "title": "$:/language/ControlPanel/Saving/TiddlySpot/UploadDir",
            "text": "Upload Directory"
        },
        "$:/language/ControlPanel/Saving/TiddlySpot/UserName": {
            "title": "$:/language/ControlPanel/Saving/TiddlySpot/UserName",
            "text": "Wiki Name"
        },
        "$:/language/ControlPanel/Settings/AutoSave/Caption": {
            "title": "$:/language/ControlPanel/Settings/AutoSave/Caption",
            "text": "Autosave"
        },
        "$:/language/ControlPanel/Settings/AutoSave/Disabled/Description": {
            "title": "$:/language/ControlPanel/Settings/AutoSave/Disabled/Description",
            "text": "Do not save changes automatically"
        },
        "$:/language/ControlPanel/Settings/AutoSave/Enabled/Description": {
            "title": "$:/language/ControlPanel/Settings/AutoSave/Enabled/Description",
            "text": "Save changes automatically"
        },
        "$:/language/ControlPanel/Settings/AutoSave/Hint": {
            "title": "$:/language/ControlPanel/Settings/AutoSave/Hint",
            "text": "Attempt to automatically save changes during editing when using a supporting saver"
        },
        "$:/language/ControlPanel/Settings/CamelCase/Caption": {
            "title": "$:/language/ControlPanel/Settings/CamelCase/Caption",
            "text": "Camel Case Wiki Links"
        },
        "$:/language/ControlPanel/Settings/CamelCase/Hint": {
            "title": "$:/language/ControlPanel/Settings/CamelCase/Hint",
            "text": "You can globally disable automatic linking of ~CamelCase phrases. Requires reload to take effect"
        },
        "$:/language/ControlPanel/Settings/CamelCase/Description": {
            "title": "$:/language/ControlPanel/Settings/CamelCase/Description",
            "text": "Enable automatic ~CamelCase linking"
        },
        "$:/language/ControlPanel/Settings/Caption": {
            "title": "$:/language/ControlPanel/Settings/Caption",
            "text": "Settings"
        },
        "$:/language/ControlPanel/Settings/EditorToolbar/Caption": {
            "title": "$:/language/ControlPanel/Settings/EditorToolbar/Caption",
            "text": "Editor Toolbar"
        },
        "$:/language/ControlPanel/Settings/EditorToolbar/Hint": {
            "title": "$:/language/ControlPanel/Settings/EditorToolbar/Hint",
            "text": "Enable or disable the editor toolbar:"
        },
        "$:/language/ControlPanel/Settings/EditorToolbar/Description": {
            "title": "$:/language/ControlPanel/Settings/EditorToolbar/Description",
            "text": "Show editor toolbar"
        },
        "$:/language/ControlPanel/Settings/InfoPanelMode/Caption": {
            "title": "$:/language/ControlPanel/Settings/InfoPanelMode/Caption",
            "text": "Tiddler Info Panel Mode"
        },
        "$:/language/ControlPanel/Settings/InfoPanelMode/Hint": {
            "title": "$:/language/ControlPanel/Settings/InfoPanelMode/Hint",
            "text": "Control when the tiddler info panel closes:"
        },
        "$:/language/ControlPanel/Settings/InfoPanelMode/Popup/Description": {
            "title": "$:/language/ControlPanel/Settings/InfoPanelMode/Popup/Description",
            "text": "Tiddler info panel closes automatically"
        },
        "$:/language/ControlPanel/Settings/InfoPanelMode/Sticky/Description": {
            "title": "$:/language/ControlPanel/Settings/InfoPanelMode/Sticky/Description",
            "text": "Tiddler info panel stays open until explicitly closed"
        },
        "$:/language/ControlPanel/Settings/Hint": {
            "title": "$:/language/ControlPanel/Settings/Hint",
            "text": "These settings let you customise the behaviour of TiddlyWiki."
        },
        "$:/language/ControlPanel/Settings/NavigationAddressBar/Caption": {
            "title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Caption",
            "text": "Navigation Address Bar"
        },
        "$:/language/ControlPanel/Settings/NavigationAddressBar/Hint": {
            "title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Hint",
            "text": "Behaviour of the browser address bar when navigating to a tiddler:"
        },
        "$:/language/ControlPanel/Settings/NavigationAddressBar/No/Description": {
            "title": "$:/language/ControlPanel/Settings/NavigationAddressBar/No/Description",
            "text": "Do not update the address bar"
        },
        "$:/language/ControlPanel/Settings/NavigationAddressBar/Permalink/Description": {
            "title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Permalink/Description",
            "text": "Include the target tiddler"
        },
        "$:/language/ControlPanel/Settings/NavigationAddressBar/Permaview/Description": {
            "title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Permaview/Description",
            "text": "Include the target tiddler and the current story sequence"
        },
        "$:/language/ControlPanel/Settings/NavigationHistory/Caption": {
            "title": "$:/language/ControlPanel/Settings/NavigationHistory/Caption",
            "text": "Navigation History"
        },
        "$:/language/ControlPanel/Settings/NavigationHistory/Hint": {
            "title": "$:/language/ControlPanel/Settings/NavigationHistory/Hint",
            "text": "Update browser history when navigating to a tiddler:"
        },
        "$:/language/ControlPanel/Settings/NavigationHistory/No/Description": {
            "title": "$:/language/ControlPanel/Settings/NavigationHistory/No/Description",
            "text": "Do not update history"
        },
        "$:/language/ControlPanel/Settings/NavigationHistory/Yes/Description": {
            "title": "$:/language/ControlPanel/Settings/NavigationHistory/Yes/Description",
            "text": "Update history"
        },
        "$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/Caption": {
            "title": "$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/Caption",
            "text": "Permalink/permaview Mode"
        },
        "$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/Hint": {
            "title": "$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/Hint",
            "text": "Choose how permalink/permaview is handled:"
        },
        "$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/CopyToClipboard/Description": {
            "title": "$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/CopyToClipboard/Description",
            "text": "Copy permalink/permaview URL to clipboard"
        },
        "$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/UpdateAddressBar/Description": {
            "title": "$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/UpdateAddressBar/Description",
            "text": "Update address bar with permalink/permaview URL"
        },
        "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Caption": {
            "title": "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Caption",
            "text": "Performance Instrumentation"
        },
        "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Hint": {
            "title": "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Hint",
            "text": "Displays performance statistics in the browser developer console. Requires reload to take effect"
        },
        "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Description": {
            "title": "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Description",
            "text": "Enable performance instrumentation"
        },
        "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Caption": {
            "title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Caption",
            "text": "Toolbar Button Style"
        },
        "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Hint": {
            "title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Hint",
            "text": "Choose the style for toolbar buttons:"
        },
        "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Borderless": {
            "title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Borderless",
            "text": "Borderless"
        },
        "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Boxed": {
            "title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Boxed",
            "text": "Boxed"
        },
        "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Rounded": {
            "title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Rounded",
            "text": "Rounded"
        },
        "$:/language/ControlPanel/Settings/ToolbarButtons/Caption": {
            "title": "$:/language/ControlPanel/Settings/ToolbarButtons/Caption",
            "text": "Toolbar Buttons"
        },
        "$:/language/ControlPanel/Settings/ToolbarButtons/Hint": {
            "title": "$:/language/ControlPanel/Settings/ToolbarButtons/Hint",
            "text": "Default toolbar button appearance:"
        },
        "$:/language/ControlPanel/Settings/ToolbarButtons/Icons/Description": {
            "title": "$:/language/ControlPanel/Settings/ToolbarButtons/Icons/Description",
            "text": "Include icon"
        },
        "$:/language/ControlPanel/Settings/ToolbarButtons/Text/Description": {
            "title": "$:/language/ControlPanel/Settings/ToolbarButtons/Text/Description",
            "text": "Include text"
        },
        "$:/language/ControlPanel/Settings/DefaultSidebarTab/Caption": {
            "title": "$:/language/ControlPanel/Settings/DefaultSidebarTab/Caption",
            "text": "Default Sidebar Tab"
        },
        "$:/language/ControlPanel/Settings/DefaultSidebarTab/Hint": {
            "title": "$:/language/ControlPanel/Settings/DefaultSidebarTab/Hint",
            "text": "Specify which sidebar tab is displayed by default"
        },
        "$:/language/ControlPanel/Settings/DefaultMoreSidebarTab/Caption": {
            "title": "$:/language/ControlPanel/Settings/DefaultMoreSidebarTab/Caption",
            "text": "Default More Sidebar Tab"
        },
        "$:/language/ControlPanel/Settings/DefaultMoreSidebarTab/Hint": {
            "title": "$:/language/ControlPanel/Settings/DefaultMoreSidebarTab/Hint",
            "text": "Specify which More sidebar tab is displayed by default"
        },
        "$:/language/ControlPanel/Settings/LinkToBehaviour/Caption": {
            "title": "$:/language/ControlPanel/Settings/LinkToBehaviour/Caption",
            "text": "Tiddler Opening Behaviour"
        },
        "$:/language/ControlPanel/Settings/LinkToBehaviour/InsideRiver/Hint": {
            "title": "$:/language/ControlPanel/Settings/LinkToBehaviour/InsideRiver/Hint",
            "text": "Navigation from //within// the story river"
        },
        "$:/language/ControlPanel/Settings/LinkToBehaviour/OutsideRiver/Hint": {
            "title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OutsideRiver/Hint",
            "text": "Navigation from //outside// the story river"
        },
        "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAbove": {
            "title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAbove",
            "text": "Open above the current tiddler"
        },
        "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenBelow": {
            "title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenBelow",
            "text": "Open below the current tiddler"
        },
        "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtTop": {
            "title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtTop",
            "text": "Open at the top of the story river"
        },
        "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtBottom": {
            "title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtBottom",
            "text": "Open at the bottom of the story river"
        },
        "$:/language/ControlPanel/Settings/TitleLinks/Caption": {
            "title": "$:/language/ControlPanel/Settings/TitleLinks/Caption",
            "text": "Tiddler Titles"
        },
        "$:/language/ControlPanel/Settings/TitleLinks/Hint": {
            "title": "$:/language/ControlPanel/Settings/TitleLinks/Hint",
            "text": "Optionally display tiddler titles as links"
        },
        "$:/language/ControlPanel/Settings/TitleLinks/No/Description": {
            "title": "$:/language/ControlPanel/Settings/TitleLinks/No/Description",
            "text": "Do not display tiddler titles as links"
        },
        "$:/language/ControlPanel/Settings/TitleLinks/Yes/Description": {
            "title": "$:/language/ControlPanel/Settings/TitleLinks/Yes/Description",
            "text": "Display tiddler titles as links"
        },
        "$:/language/ControlPanel/Settings/MissingLinks/Caption": {
            "title": "$:/language/ControlPanel/Settings/MissingLinks/Caption",
            "text": "Wiki Links"
        },
        "$:/language/ControlPanel/Settings/MissingLinks/Hint": {
            "title": "$:/language/ControlPanel/Settings/MissingLinks/Hint",
            "text": "Choose whether to link to tiddlers that do not exist yet"
        },
        "$:/language/ControlPanel/Settings/MissingLinks/Description": {
            "title": "$:/language/ControlPanel/Settings/MissingLinks/Description",
            "text": "Enable links to missing tiddlers"
        },
        "$:/language/ControlPanel/StoryView/Caption": {
            "title": "$:/language/ControlPanel/StoryView/Caption",
            "text": "Story View"
        },
        "$:/language/ControlPanel/StoryView/Prompt": {
            "title": "$:/language/ControlPanel/StoryView/Prompt",
            "text": "Current view:"
        },
        "$:/language/ControlPanel/Stylesheets/Caption": {
            "title": "$:/language/ControlPanel/Stylesheets/Caption",
            "text": "Stylesheets"
        },
        "$:/language/ControlPanel/Stylesheets/Expand/Caption": {
            "title": "$:/language/ControlPanel/Stylesheets/Expand/Caption",
            "text": "Expand All"
        },
        "$:/language/ControlPanel/Stylesheets/Hint": {
            "title": "$:/language/ControlPanel/Stylesheets/Hint",
            "text": "This is the rendered CSS of the current stylesheet tiddlers tagged with <<tag \"$:/tags/Stylesheet\">>"
        },
        "$:/language/ControlPanel/Stylesheets/Restore/Caption": {
            "title": "$:/language/ControlPanel/Stylesheets/Restore/Caption",
            "text": "Restore"
        },
        "$:/language/ControlPanel/Theme/Caption": {
            "title": "$:/language/ControlPanel/Theme/Caption",
            "text": "Theme"
        },
        "$:/language/ControlPanel/Theme/Prompt": {
            "title": "$:/language/ControlPanel/Theme/Prompt",
            "text": "Current theme:"
        },
        "$:/language/ControlPanel/TiddlerFields/Caption": {
            "title": "$:/language/ControlPanel/TiddlerFields/Caption",
            "text": "Tiddler Fields"
        },
        "$:/language/ControlPanel/TiddlerFields/Hint": {
            "title": "$:/language/ControlPanel/TiddlerFields/Hint",
            "text": "This is the full set of TiddlerFields in use in this wiki (including system tiddlers but excluding shadow tiddlers)."
        },
        "$:/language/ControlPanel/Toolbars/Caption": {
            "title": "$:/language/ControlPanel/Toolbars/Caption",
            "text": "Toolbars"
        },
        "$:/language/ControlPanel/Toolbars/EditToolbar/Caption": {
            "title": "$:/language/ControlPanel/Toolbars/EditToolbar/Caption",
            "text": "Edit Toolbar"
        },
        "$:/language/ControlPanel/Toolbars/EditToolbar/Hint": {
            "title": "$:/language/ControlPanel/Toolbars/EditToolbar/Hint",
            "text": "Choose which buttons are displayed for tiddlers in edit mode. Drag and drop to change the ordering"
        },
        "$:/language/ControlPanel/Toolbars/Hint": {
            "title": "$:/language/ControlPanel/Toolbars/Hint",
            "text": "Select which toolbar buttons are displayed"
        },
        "$:/language/ControlPanel/Toolbars/PageControls/Caption": {
            "title": "$:/language/ControlPanel/Toolbars/PageControls/Caption",
            "text": "Page Toolbar"
        },
        "$:/language/ControlPanel/Toolbars/PageControls/Hint": {
            "title": "$:/language/ControlPanel/Toolbars/PageControls/Hint",
            "text": "Choose which buttons are displayed on the main page toolbar. Drag and drop to change the ordering"
        },
        "$:/language/ControlPanel/Toolbars/EditorToolbar/Caption": {
            "title": "$:/language/ControlPanel/Toolbars/EditorToolbar/Caption",
            "text": "Editor Toolbar"
        },
        "$:/language/ControlPanel/Toolbars/EditorToolbar/Hint": {
            "title": "$:/language/ControlPanel/Toolbars/EditorToolbar/Hint",
            "text": "Choose which buttons are displayed in the editor toolbar. Note that some buttons will only appear when editing tiddlers of a certain type. Drag and drop to change the ordering"
        },
        "$:/language/ControlPanel/Toolbars/ViewToolbar/Caption": {
            "title": "$:/language/ControlPanel/Toolbars/ViewToolbar/Caption",
            "text": "View Toolbar"
        },
        "$:/language/ControlPanel/Toolbars/ViewToolbar/Hint": {
            "title": "$:/language/ControlPanel/Toolbars/ViewToolbar/Hint",
            "text": "Choose which buttons are displayed for tiddlers in view mode. Drag and drop to change the ordering"
        },
        "$:/language/ControlPanel/Tools/Download/Full/Caption": {
            "title": "$:/language/ControlPanel/Tools/Download/Full/Caption",
            "text": "Download full wiki"
        },
        "$:/language/Date/DaySuffix/1": {
            "title": "$:/language/Date/DaySuffix/1",
            "text": "st"
        },
        "$:/language/Date/DaySuffix/2": {
            "title": "$:/language/Date/DaySuffix/2",
            "text": "nd"
        },
        "$:/language/Date/DaySuffix/3": {
            "title": "$:/language/Date/DaySuffix/3",
            "text": "rd"
        },
        "$:/language/Date/DaySuffix/4": {
            "title": "$:/language/Date/DaySuffix/4",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/5": {
            "title": "$:/language/Date/DaySuffix/5",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/6": {
            "title": "$:/language/Date/DaySuffix/6",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/7": {
            "title": "$:/language/Date/DaySuffix/7",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/8": {
            "title": "$:/language/Date/DaySuffix/8",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/9": {
            "title": "$:/language/Date/DaySuffix/9",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/10": {
            "title": "$:/language/Date/DaySuffix/10",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/11": {
            "title": "$:/language/Date/DaySuffix/11",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/12": {
            "title": "$:/language/Date/DaySuffix/12",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/13": {
            "title": "$:/language/Date/DaySuffix/13",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/14": {
            "title": "$:/language/Date/DaySuffix/14",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/15": {
            "title": "$:/language/Date/DaySuffix/15",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/16": {
            "title": "$:/language/Date/DaySuffix/16",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/17": {
            "title": "$:/language/Date/DaySuffix/17",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/18": {
            "title": "$:/language/Date/DaySuffix/18",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/19": {
            "title": "$:/language/Date/DaySuffix/19",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/20": {
            "title": "$:/language/Date/DaySuffix/20",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/21": {
            "title": "$:/language/Date/DaySuffix/21",
            "text": "st"
        },
        "$:/language/Date/DaySuffix/22": {
            "title": "$:/language/Date/DaySuffix/22",
            "text": "nd"
        },
        "$:/language/Date/DaySuffix/23": {
            "title": "$:/language/Date/DaySuffix/23",
            "text": "rd"
        },
        "$:/language/Date/DaySuffix/24": {
            "title": "$:/language/Date/DaySuffix/24",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/25": {
            "title": "$:/language/Date/DaySuffix/25",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/26": {
            "title": "$:/language/Date/DaySuffix/26",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/27": {
            "title": "$:/language/Date/DaySuffix/27",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/28": {
            "title": "$:/language/Date/DaySuffix/28",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/29": {
            "title": "$:/language/Date/DaySuffix/29",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/30": {
            "title": "$:/language/Date/DaySuffix/30",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/31": {
            "title": "$:/language/Date/DaySuffix/31",
            "text": "st"
        },
        "$:/language/Date/Long/Day/0": {
            "title": "$:/language/Date/Long/Day/0",
            "text": "Sunday"
        },
        "$:/language/Date/Long/Day/1": {
            "title": "$:/language/Date/Long/Day/1",
            "text": "Monday"
        },
        "$:/language/Date/Long/Day/2": {
            "title": "$:/language/Date/Long/Day/2",
            "text": "Tuesday"
        },
        "$:/language/Date/Long/Day/3": {
            "title": "$:/language/Date/Long/Day/3",
            "text": "Wednesday"
        },
        "$:/language/Date/Long/Day/4": {
            "title": "$:/language/Date/Long/Day/4",
            "text": "Thursday"
        },
        "$:/language/Date/Long/Day/5": {
            "title": "$:/language/Date/Long/Day/5",
            "text": "Friday"
        },
        "$:/language/Date/Long/Day/6": {
            "title": "$:/language/Date/Long/Day/6",
            "text": "Saturday"
        },
        "$:/language/Date/Long/Month/1": {
            "title": "$:/language/Date/Long/Month/1",
            "text": "January"
        },
        "$:/language/Date/Long/Month/2": {
            "title": "$:/language/Date/Long/Month/2",
            "text": "February"
        },
        "$:/language/Date/Long/Month/3": {
            "title": "$:/language/Date/Long/Month/3",
            "text": "March"
        },
        "$:/language/Date/Long/Month/4": {
            "title": "$:/language/Date/Long/Month/4",
            "text": "April"
        },
        "$:/language/Date/Long/Month/5": {
            "title": "$:/language/Date/Long/Month/5",
            "text": "May"
        },
        "$:/language/Date/Long/Month/6": {
            "title": "$:/language/Date/Long/Month/6",
            "text": "June"
        },
        "$:/language/Date/Long/Month/7": {
            "title": "$:/language/Date/Long/Month/7",
            "text": "July"
        },
        "$:/language/Date/Long/Month/8": {
            "title": "$:/language/Date/Long/Month/8",
            "text": "August"
        },
        "$:/language/Date/Long/Month/9": {
            "title": "$:/language/Date/Long/Month/9",
            "text": "September"
        },
        "$:/language/Date/Long/Month/10": {
            "title": "$:/language/Date/Long/Month/10",
            "text": "October"
        },
        "$:/language/Date/Long/Month/11": {
            "title": "$:/language/Date/Long/Month/11",
            "text": "November"
        },
        "$:/language/Date/Long/Month/12": {
            "title": "$:/language/Date/Long/Month/12",
            "text": "December"
        },
        "$:/language/Date/Period/am": {
            "title": "$:/language/Date/Period/am",
            "text": "am"
        },
        "$:/language/Date/Period/pm": {
            "title": "$:/language/Date/Period/pm",
            "text": "pm"
        },
        "$:/language/Date/Short/Day/0": {
            "title": "$:/language/Date/Short/Day/0",
            "text": "Sun"
        },
        "$:/language/Date/Short/Day/1": {
            "title": "$:/language/Date/Short/Day/1",
            "text": "Mon"
        },
        "$:/language/Date/Short/Day/2": {
            "title": "$:/language/Date/Short/Day/2",
            "text": "Tue"
        },
        "$:/language/Date/Short/Day/3": {
            "title": "$:/language/Date/Short/Day/3",
            "text": "Wed"
        },
        "$:/language/Date/Short/Day/4": {
            "title": "$:/language/Date/Short/Day/4",
            "text": "Thu"
        },
        "$:/language/Date/Short/Day/5": {
            "title": "$:/language/Date/Short/Day/5",
            "text": "Fri"
        },
        "$:/language/Date/Short/Day/6": {
            "title": "$:/language/Date/Short/Day/6",
            "text": "Sat"
        },
        "$:/language/Date/Short/Month/1": {
            "title": "$:/language/Date/Short/Month/1",
            "text": "Jan"
        },
        "$:/language/Date/Short/Month/2": {
            "title": "$:/language/Date/Short/Month/2",
            "text": "Feb"
        },
        "$:/language/Date/Short/Month/3": {
            "title": "$:/language/Date/Short/Month/3",
            "text": "Mar"
        },
        "$:/language/Date/Short/Month/4": {
            "title": "$:/language/Date/Short/Month/4",
            "text": "Apr"
        },
        "$:/language/Date/Short/Month/5": {
            "title": "$:/language/Date/Short/Month/5",
            "text": "May"
        },
        "$:/language/Date/Short/Month/6": {
            "title": "$:/language/Date/Short/Month/6",
            "text": "Jun"
        },
        "$:/language/Date/Short/Month/7": {
            "title": "$:/language/Date/Short/Month/7",
            "text": "Jul"
        },
        "$:/language/Date/Short/Month/8": {
            "title": "$:/language/Date/Short/Month/8",
            "text": "Aug"
        },
        "$:/language/Date/Short/Month/9": {
            "title": "$:/language/Date/Short/Month/9",
            "text": "Sep"
        },
        "$:/language/Date/Short/Month/10": {
            "title": "$:/language/Date/Short/Month/10",
            "text": "Oct"
        },
        "$:/language/Date/Short/Month/11": {
            "title": "$:/language/Date/Short/Month/11",
            "text": "Nov"
        },
        "$:/language/Date/Short/Month/12": {
            "title": "$:/language/Date/Short/Month/12",
            "text": "Dec"
        },
        "$:/language/RelativeDate/Future/Days": {
            "title": "$:/language/RelativeDate/Future/Days",
            "text": "<<period>> days from now"
        },
        "$:/language/RelativeDate/Future/Hours": {
            "title": "$:/language/RelativeDate/Future/Hours",
            "text": "<<period>> hours from now"
        },
        "$:/language/RelativeDate/Future/Minutes": {
            "title": "$:/language/RelativeDate/Future/Minutes",
            "text": "<<period>> minutes from now"
        },
        "$:/language/RelativeDate/Future/Months": {
            "title": "$:/language/RelativeDate/Future/Months",
            "text": "<<period>> months from now"
        },
        "$:/language/RelativeDate/Future/Second": {
            "title": "$:/language/RelativeDate/Future/Second",
            "text": "1 second from now"
        },
        "$:/language/RelativeDate/Future/Seconds": {
            "title": "$:/language/RelativeDate/Future/Seconds",
            "text": "<<period>> seconds from now"
        },
        "$:/language/RelativeDate/Future/Years": {
            "title": "$:/language/RelativeDate/Future/Years",
            "text": "<<period>> years from now"
        },
        "$:/language/RelativeDate/Past/Days": {
            "title": "$:/language/RelativeDate/Past/Days",
            "text": "<<period>> days ago"
        },
        "$:/language/RelativeDate/Past/Hours": {
            "title": "$:/language/RelativeDate/Past/Hours",
            "text": "<<period>> hours ago"
        },
        "$:/language/RelativeDate/Past/Minutes": {
            "title": "$:/language/RelativeDate/Past/Minutes",
            "text": "<<period>> minutes ago"
        },
        "$:/language/RelativeDate/Past/Months": {
            "title": "$:/language/RelativeDate/Past/Months",
            "text": "<<period>> months ago"
        },
        "$:/language/RelativeDate/Past/Second": {
            "title": "$:/language/RelativeDate/Past/Second",
            "text": "1 second ago"
        },
        "$:/language/RelativeDate/Past/Seconds": {
            "title": "$:/language/RelativeDate/Past/Seconds",
            "text": "<<period>> seconds ago"
        },
        "$:/language/RelativeDate/Past/Years": {
            "title": "$:/language/RelativeDate/Past/Years",
            "text": "<<period>> years ago"
        },
        "$:/language/Docs/ModuleTypes/allfilteroperator": {
            "title": "$:/language/Docs/ModuleTypes/allfilteroperator",
            "text": "A sub-operator for the ''all'' filter operator."
        },
        "$:/language/Docs/ModuleTypes/animation": {
            "title": "$:/language/Docs/ModuleTypes/animation",
            "text": "Animations that may be used with the RevealWidget."
        },
        "$:/language/Docs/ModuleTypes/authenticator": {
            "title": "$:/language/Docs/ModuleTypes/authenticator",
            "text": "Defines how requests are authenticated by the built-in HTTP server."
        },
        "$:/language/Docs/ModuleTypes/bitmapeditoroperation": {
            "title": "$:/language/Docs/ModuleTypes/bitmapeditoroperation",
            "text": "A bitmap editor toolbar operation."
        },
        "$:/language/Docs/ModuleTypes/command": {
            "title": "$:/language/Docs/ModuleTypes/command",
            "text": "Commands that can be executed under Node.js."
        },
        "$:/language/Docs/ModuleTypes/config": {
            "title": "$:/language/Docs/ModuleTypes/config",
            "text": "Data to be inserted into `$tw.config`."
        },
        "$:/language/Docs/ModuleTypes/filteroperator": {
            "title": "$:/language/Docs/ModuleTypes/filteroperator",
            "text": "Individual filter operator methods."
        },
        "$:/language/Docs/ModuleTypes/global": {
            "title": "$:/language/Docs/ModuleTypes/global",
            "text": "Global data to be inserted into `$tw`."
        },
        "$:/language/Docs/ModuleTypes/info": {
            "title": "$:/language/Docs/ModuleTypes/info",
            "text": "Publishes system information via the [[$:/temp/info-plugin]] pseudo-plugin."
        },
        "$:/language/Docs/ModuleTypes/isfilteroperator": {
            "title": "$:/language/Docs/ModuleTypes/isfilteroperator",
            "text": "Operands for the ''is'' filter operator."
        },
        "$:/language/Docs/ModuleTypes/library": {
            "title": "$:/language/Docs/ModuleTypes/library",
            "text": "Generic module type for general purpose JavaScript modules."
        },
        "$:/language/Docs/ModuleTypes/macro": {
            "title": "$:/language/Docs/ModuleTypes/macro",
            "text": "JavaScript macro definitions."
        },
        "$:/language/Docs/ModuleTypes/parser": {
            "title": "$:/language/Docs/ModuleTypes/parser",
            "text": "Parsers for different content types."
        },
        "$:/language/Docs/ModuleTypes/route": {
            "title": "$:/language/Docs/ModuleTypes/route",
            "text": "Defines how individual URL patterns are handled by the built-in HTTP server."
        },
        "$:/language/Docs/ModuleTypes/saver": {
            "title": "$:/language/Docs/ModuleTypes/saver",
            "text": "Savers handle different methods for saving files from the browser."
        },
        "$:/language/Docs/ModuleTypes/startup": {
            "title": "$:/language/Docs/ModuleTypes/startup",
            "text": "Startup functions."
        },
        "$:/language/Docs/ModuleTypes/storyview": {
            "title": "$:/language/Docs/ModuleTypes/storyview",
            "text": "Story views customise the animation and behaviour of list widgets."
        },
        "$:/language/Docs/ModuleTypes/texteditoroperation": {
            "title": "$:/language/Docs/ModuleTypes/texteditoroperation",
            "text": "A text editor toolbar operation."
        },
        "$:/language/Docs/ModuleTypes/tiddlerdeserializer": {
            "title": "$:/language/Docs/ModuleTypes/tiddlerdeserializer",
            "text": "Converts different content types into tiddlers."
        },
        "$:/language/Docs/ModuleTypes/tiddlerfield": {
            "title": "$:/language/Docs/ModuleTypes/tiddlerfield",
            "text": "Defines the behaviour of an individual tiddler field."
        },
        "$:/language/Docs/ModuleTypes/tiddlermethod": {
            "title": "$:/language/Docs/ModuleTypes/tiddlermethod",
            "text": "Adds methods to the `$tw.Tiddler` prototype."
        },
        "$:/language/Docs/ModuleTypes/upgrader": {
            "title": "$:/language/Docs/ModuleTypes/upgrader",
            "text": "Applies upgrade processing to tiddlers during an upgrade/import."
        },
        "$:/language/Docs/ModuleTypes/utils": {
            "title": "$:/language/Docs/ModuleTypes/utils",
            "text": "Adds methods to `$tw.utils`."
        },
        "$:/language/Docs/ModuleTypes/utils-node": {
            "title": "$:/language/Docs/ModuleTypes/utils-node",
            "text": "Adds Node.js-specific methods to `$tw.utils`."
        },
        "$:/language/Docs/ModuleTypes/widget": {
            "title": "$:/language/Docs/ModuleTypes/widget",
            "text": "Widgets encapsulate DOM rendering and refreshing."
        },
        "$:/language/Docs/ModuleTypes/wikimethod": {
            "title": "$:/language/Docs/ModuleTypes/wikimethod",
            "text": "Adds methods to `$tw.Wiki`."
        },
        "$:/language/Docs/ModuleTypes/wikirule": {
            "title": "$:/language/Docs/ModuleTypes/wikirule",
            "text": "Individual parser rules for the main WikiText parser."
        },
        "$:/language/Docs/PaletteColours/alert-background": {
            "title": "$:/language/Docs/PaletteColours/alert-background",
            "text": "Alert background"
        },
        "$:/language/Docs/PaletteColours/alert-border": {
            "title": "$:/language/Docs/PaletteColours/alert-border",
            "text": "Alert border"
        },
        "$:/language/Docs/PaletteColours/alert-highlight": {
            "title": "$:/language/Docs/PaletteColours/alert-highlight",
            "text": "Alert highlight"
        },
        "$:/language/Docs/PaletteColours/alert-muted-foreground": {
            "title": "$:/language/Docs/PaletteColours/alert-muted-foreground",
            "text": "Alert muted foreground"
        },
        "$:/language/Docs/PaletteColours/background": {
            "title": "$:/language/Docs/PaletteColours/background",
            "text": "General background"
        },
        "$:/language/Docs/PaletteColours/blockquote-bar": {
            "title": "$:/language/Docs/PaletteColours/blockquote-bar",
            "text": "Blockquote bar"
        },
        "$:/language/Docs/PaletteColours/button-background": {
            "title": "$:/language/Docs/PaletteColours/button-background",
            "text": "Default button background"
        },
        "$:/language/Docs/PaletteColours/button-border": {
            "title": "$:/language/Docs/PaletteColours/button-border",
            "text": "Default button border"
        },
        "$:/language/Docs/PaletteColours/button-foreground": {
            "title": "$:/language/Docs/PaletteColours/button-foreground",
            "text": "Default button foreground"
        },
        "$:/language/Docs/PaletteColours/dirty-indicator": {
            "title": "$:/language/Docs/PaletteColours/dirty-indicator",
            "text": "Unsaved changes indicator"
        },
        "$:/language/Docs/PaletteColours/code-background": {
            "title": "$:/language/Docs/PaletteColours/code-background",
            "text": "Code background"
        },
        "$:/language/Docs/PaletteColours/code-border": {
            "title": "$:/language/Docs/PaletteColours/code-border",
            "text": "Code border"
        },
        "$:/language/Docs/PaletteColours/code-foreground": {
            "title": "$:/language/Docs/PaletteColours/code-foreground",
            "text": "Code foreground"
        },
        "$:/language/Docs/PaletteColours/download-background": {
            "title": "$:/language/Docs/PaletteColours/download-background",
            "text": "Download button background"
        },
        "$:/language/Docs/PaletteColours/download-foreground": {
            "title": "$:/language/Docs/PaletteColours/download-foreground",
            "text": "Download button foreground"
        },
        "$:/language/Docs/PaletteColours/dragger-background": {
            "title": "$:/language/Docs/PaletteColours/dragger-background",
            "text": "Dragger background"
        },
        "$:/language/Docs/PaletteColours/dragger-foreground": {
            "title": "$:/language/Docs/PaletteColours/dragger-foreground",
            "text": "Dragger foreground"
        },
        "$:/language/Docs/PaletteColours/dropdown-background": {
            "title": "$:/language/Docs/PaletteColours/dropdown-background",
            "text": "Dropdown background"
        },
        "$:/language/Docs/PaletteColours/dropdown-border": {
            "title": "$:/language/Docs/PaletteColours/dropdown-border",
            "text": "Dropdown border"
        },
        "$:/language/Docs/PaletteColours/dropdown-tab-background-selected": {
            "title": "$:/language/Docs/PaletteColours/dropdown-tab-background-selected",
            "text": "Dropdown tab background for selected tabs"
        },
        "$:/language/Docs/PaletteColours/dropdown-tab-background": {
            "title": "$:/language/Docs/PaletteColours/dropdown-tab-background",
            "text": "Dropdown tab background"
        },
        "$:/language/Docs/PaletteColours/dropzone-background": {
            "title": "$:/language/Docs/PaletteColours/dropzone-background",
            "text": "Dropzone background"
        },
        "$:/language/Docs/PaletteColours/external-link-background-hover": {
            "title": "$:/language/Docs/PaletteColours/external-link-background-hover",
            "text": "External link background hover"
        },
        "$:/language/Docs/PaletteColours/external-link-background-visited": {
            "title": "$:/language/Docs/PaletteColours/external-link-background-visited",
            "text": "External link background visited"
        },
        "$:/language/Docs/PaletteColours/external-link-background": {
            "title": "$:/language/Docs/PaletteColours/external-link-background",
            "text": "External link background"
        },
        "$:/language/Docs/PaletteColours/external-link-foreground-hover": {
            "title": "$:/language/Docs/PaletteColours/external-link-foreground-hover",
            "text": "External link foreground hover"
        },
        "$:/language/Docs/PaletteColours/external-link-foreground-visited": {
            "title": "$:/language/Docs/PaletteColours/external-link-foreground-visited",
            "text": "External link foreground visited"
        },
        "$:/language/Docs/PaletteColours/external-link-foreground": {
            "title": "$:/language/Docs/PaletteColours/external-link-foreground",
            "text": "External link foreground"
        },
        "$:/language/Docs/PaletteColours/foreground": {
            "title": "$:/language/Docs/PaletteColours/foreground",
            "text": "General foreground"
        },
        "$:/language/Docs/PaletteColours/message-background": {
            "title": "$:/language/Docs/PaletteColours/message-background",
            "text": "Message box background"
        },
        "$:/language/Docs/PaletteColours/message-border": {
            "title": "$:/language/Docs/PaletteColours/message-border",
            "text": "Message box border"
        },
        "$:/language/Docs/PaletteColours/message-foreground": {
            "title": "$:/language/Docs/PaletteColours/message-foreground",
            "text": "Message box foreground"
        },
        "$:/language/Docs/PaletteColours/modal-backdrop": {
            "title": "$:/language/Docs/PaletteColours/modal-backdrop",
            "text": "Modal backdrop"
        },
        "$:/language/Docs/PaletteColours/modal-background": {
            "title": "$:/language/Docs/PaletteColours/modal-background",
            "text": "Modal background"
        },
        "$:/language/Docs/PaletteColours/modal-border": {
            "title": "$:/language/Docs/PaletteColours/modal-border",
            "text": "Modal border"
        },
        "$:/language/Docs/PaletteColours/modal-footer-background": {
            "title": "$:/language/Docs/PaletteColours/modal-footer-background",
            "text": "Modal footer background"
        },
        "$:/language/Docs/PaletteColours/modal-footer-border": {
            "title": "$:/language/Docs/PaletteColours/modal-footer-border",
            "text": "Modal footer border"
        },
        "$:/language/Docs/PaletteColours/modal-header-border": {
            "title": "$:/language/Docs/PaletteColours/modal-header-border",
            "text": "Modal header border"
        },
        "$:/language/Docs/PaletteColours/muted-foreground": {
            "title": "$:/language/Docs/PaletteColours/muted-foreground",
            "text": "General muted foreground"
        },
        "$:/language/Docs/PaletteColours/notification-background": {
            "title": "$:/language/Docs/PaletteColours/notification-background",
            "text": "Notification background"
        },
        "$:/language/Docs/PaletteColours/notification-border": {
            "title": "$:/language/Docs/PaletteColours/notification-border",
            "text": "Notification border"
        },
        "$:/language/Docs/PaletteColours/page-background": {
            "title": "$:/language/Docs/PaletteColours/page-background",
            "text": "Page background"
        },
        "$:/language/Docs/PaletteColours/pre-background": {
            "title": "$:/language/Docs/PaletteColours/pre-background",
            "text": "Preformatted code background"
        },
        "$:/language/Docs/PaletteColours/pre-border": {
            "title": "$:/language/Docs/PaletteColours/pre-border",
            "text": "Preformatted code border"
        },
        "$:/language/Docs/PaletteColours/primary": {
            "title": "$:/language/Docs/PaletteColours/primary",
            "text": "General primary"
        },
        "$:/language/Docs/PaletteColours/select-tag-background": {
            "title": "$:/language/Docs/PaletteColours/select-tag-background",
            "text": "`<select>` element background"
        },
        "$:/language/Docs/PaletteColours/select-tag-foreground": {
            "title": "$:/language/Docs/PaletteColours/select-tag-foreground",
            "text": "`<select>` element text"
        },
        "$:/language/Docs/PaletteColours/sidebar-button-foreground": {
            "title": "$:/language/Docs/PaletteColours/sidebar-button-foreground",
            "text": "Sidebar button foreground"
        },
        "$:/language/Docs/PaletteColours/sidebar-controls-foreground-hover": {
            "title": "$:/language/Docs/PaletteColours/sidebar-controls-foreground-hover",
            "text": "Sidebar controls foreground hover"
        },
        "$:/language/Docs/PaletteColours/sidebar-controls-foreground": {
            "title": "$:/language/Docs/PaletteColours/sidebar-controls-foreground",
            "text": "Sidebar controls foreground"
        },
        "$:/language/Docs/PaletteColours/sidebar-foreground-shadow": {
            "title": "$:/language/Docs/PaletteColours/sidebar-foreground-shadow",
            "text": "Sidebar foreground shadow"
        },
        "$:/language/Docs/PaletteColours/sidebar-foreground": {
            "title": "$:/language/Docs/PaletteColours/sidebar-foreground",
            "text": "Sidebar foreground"
        },
        "$:/language/Docs/PaletteColours/sidebar-muted-foreground-hover": {
            "title": "$:/language/Docs/PaletteColours/sidebar-muted-foreground-hover",
            "text": "Sidebar muted foreground hover"
        },
        "$:/language/Docs/PaletteColours/sidebar-muted-foreground": {
            "title": "$:/language/Docs/PaletteColours/sidebar-muted-foreground",
            "text": "Sidebar muted foreground"
        },
        "$:/language/Docs/PaletteColours/sidebar-tab-background-selected": {
            "title": "$:/language/Docs/PaletteColours/sidebar-tab-background-selected",
            "text": "Sidebar tab background for selected tabs"
        },
        "$:/language/Docs/PaletteColours/sidebar-tab-background": {
            "title": "$:/language/Docs/PaletteColours/sidebar-tab-background",
            "text": "Sidebar tab background"
        },
        "$:/language/Docs/PaletteColours/sidebar-tab-border-selected": {
            "title": "$:/language/Docs/PaletteColours/sidebar-tab-border-selected",
            "text": "Sidebar tab border for selected tabs"
        },
        "$:/language/Docs/PaletteColours/sidebar-tab-border": {
            "title": "$:/language/Docs/PaletteColours/sidebar-tab-border",
            "text": "Sidebar tab border"
        },
        "$:/language/Docs/PaletteColours/sidebar-tab-divider": {
            "title": "$:/language/Docs/PaletteColours/sidebar-tab-divider",
            "text": "Sidebar tab divider"
        },
        "$:/language/Docs/PaletteColours/sidebar-tab-foreground-selected": {
            "title": "$:/language/Docs/PaletteColours/sidebar-tab-foreground-selected",
            "text": "Sidebar tab foreground for selected tabs"
        },
        "$:/language/Docs/PaletteColours/sidebar-tab-foreground": {
            "title": "$:/language/Docs/PaletteColours/sidebar-tab-foreground",
            "text": "Sidebar tab foreground"
        },
        "$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground-hover": {
            "title": "$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground-hover",
            "text": "Sidebar tiddler link foreground hover"
        },
        "$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground": {
            "title": "$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground",
            "text": "Sidebar tiddler link foreground"
        },
        "$:/language/Docs/PaletteColours/site-title-foreground": {
            "title": "$:/language/Docs/PaletteColours/site-title-foreground",
            "text": "Site title foreground"
        },
        "$:/language/Docs/PaletteColours/static-alert-foreground": {
            "title": "$:/language/Docs/PaletteColours/static-alert-foreground",
            "text": "Static alert foreground"
        },
        "$:/language/Docs/PaletteColours/tab-background-selected": {
            "title": "$:/language/Docs/PaletteColours/tab-background-selected",
            "text": "Tab background for selected tabs"
        },
        "$:/language/Docs/PaletteColours/tab-background": {
            "title": "$:/language/Docs/PaletteColours/tab-background",
            "text": "Tab background"
        },
        "$:/language/Docs/PaletteColours/tab-border-selected": {
            "title": "$:/language/Docs/PaletteColours/tab-border-selected",
            "text": "Tab border for selected tabs"
        },
        "$:/language/Docs/PaletteColours/tab-border": {
            "title": "$:/language/Docs/PaletteColours/tab-border",
            "text": "Tab border"
        },
        "$:/language/Docs/PaletteColours/tab-divider": {
            "title": "$:/language/Docs/PaletteColours/tab-divider",
            "text": "Tab divider"
        },
        "$:/language/Docs/PaletteColours/tab-foreground-selected": {
            "title": "$:/language/Docs/PaletteColours/tab-foreground-selected",
            "text": "Tab foreground for selected tabs"
        },
        "$:/language/Docs/PaletteColours/tab-foreground": {
            "title": "$:/language/Docs/PaletteColours/tab-foreground",
            "text": "Tab foreground"
        },
        "$:/language/Docs/PaletteColours/table-border": {
            "title": "$:/language/Docs/PaletteColours/table-border",
            "text": "Table border"
        },
        "$:/language/Docs/PaletteColours/table-footer-background": {
            "title": "$:/language/Docs/PaletteColours/table-footer-background",
            "text": "Table footer background"
        },
        "$:/language/Docs/PaletteColours/table-header-background": {
            "title": "$:/language/Docs/PaletteColours/table-header-background",
            "text": "Table header background"
        },
        "$:/language/Docs/PaletteColours/tag-background": {
            "title": "$:/language/Docs/PaletteColours/tag-background",
            "text": "Tag background"
        },
        "$:/language/Docs/PaletteColours/tag-foreground": {
            "title": "$:/language/Docs/PaletteColours/tag-foreground",
            "text": "Tag foreground"
        },
        "$:/language/Docs/PaletteColours/tiddler-background": {
            "title": "$:/language/Docs/PaletteColours/tiddler-background",
            "text": "Tiddler background"
        },
        "$:/language/Docs/PaletteColours/tiddler-border": {
            "title": "$:/language/Docs/PaletteColours/tiddler-border",
            "text": "Tiddler border"
        },
        "$:/language/Docs/PaletteColours/tiddler-controls-foreground-hover": {
            "title": "$:/language/Docs/PaletteColours/tiddler-controls-foreground-hover",
            "text": "Tiddler controls foreground hover"
        },
        "$:/language/Docs/PaletteColours/tiddler-controls-foreground-selected": {
            "title": "$:/language/Docs/PaletteColours/tiddler-controls-foreground-selected",
            "text": "Tiddler controls foreground for selected controls"
        },
        "$:/language/Docs/PaletteColours/tiddler-controls-foreground": {
            "title": "$:/language/Docs/PaletteColours/tiddler-controls-foreground",
            "text": "Tiddler controls foreground"
        },
        "$:/language/Docs/PaletteColours/tiddler-editor-background": {
            "title": "$:/language/Docs/PaletteColours/tiddler-editor-background",
            "text": "Tiddler editor background"
        },
        "$:/language/Docs/PaletteColours/tiddler-editor-border-image": {
            "title": "$:/language/Docs/PaletteColours/tiddler-editor-border-image",
            "text": "Tiddler editor border image"
        },
        "$:/language/Docs/PaletteColours/tiddler-editor-border": {
            "title": "$:/language/Docs/PaletteColours/tiddler-editor-border",
            "text": "Tiddler editor border"
        },
        "$:/language/Docs/PaletteColours/tiddler-editor-fields-even": {
            "title": "$:/language/Docs/PaletteColours/tiddler-editor-fields-even",
            "text": "Tiddler editor background for even fields"
        },
        "$:/language/Docs/PaletteColours/tiddler-editor-fields-odd": {
            "title": "$:/language/Docs/PaletteColours/tiddler-editor-fields-odd",
            "text": "Tiddler editor background for odd fields"
        },
        "$:/language/Docs/PaletteColours/tiddler-info-background": {
            "title": "$:/language/Docs/PaletteColours/tiddler-info-background",
            "text": "Tiddler info panel background"
        },
        "$:/language/Docs/PaletteColours/tiddler-info-border": {
            "title": "$:/language/Docs/PaletteColours/tiddler-info-border",
            "text": "Tiddler info panel border"
        },
        "$:/language/Docs/PaletteColours/tiddler-info-tab-background": {
            "title": "$:/language/Docs/PaletteColours/tiddler-info-tab-background",
            "text": "Tiddler info panel tab background"
        },
        "$:/language/Docs/PaletteColours/tiddler-link-background": {
            "title": "$:/language/Docs/PaletteColours/tiddler-link-background",
            "text": "Tiddler link background"
        },
        "$:/language/Docs/PaletteColours/tiddler-link-foreground": {
            "title": "$:/language/Docs/PaletteColours/tiddler-link-foreground",
            "text": "Tiddler link foreground"
        },
        "$:/language/Docs/PaletteColours/tiddler-subtitle-foreground": {
            "title": "$:/language/Docs/PaletteColours/tiddler-subtitle-foreground",
            "text": "Tiddler subtitle foreground"
        },
        "$:/language/Docs/PaletteColours/tiddler-title-foreground": {
            "title": "$:/language/Docs/PaletteColours/tiddler-title-foreground",
            "text": "Tiddler title foreground"
        },
        "$:/language/Docs/PaletteColours/toolbar-new-button": {
            "title": "$:/language/Docs/PaletteColours/toolbar-new-button",
            "text": "Toolbar 'new tiddler' button foreground"
        },
        "$:/language/Docs/PaletteColours/toolbar-options-button": {
            "title": "$:/language/Docs/PaletteColours/toolbar-options-button",
            "text": "Toolbar 'options' button foreground"
        },
        "$:/language/Docs/PaletteColours/toolbar-save-button": {
            "title": "$:/language/Docs/PaletteColours/toolbar-save-button",
            "text": "Toolbar 'save' button foreground"
        },
        "$:/language/Docs/PaletteColours/toolbar-info-button": {
            "title": "$:/language/Docs/PaletteColours/toolbar-info-button",
            "text": "Toolbar 'info' button foreground"
        },
        "$:/language/Docs/PaletteColours/toolbar-edit-button": {
            "title": "$:/language/Docs/PaletteColours/toolbar-edit-button",
            "text": "Toolbar 'edit' button foreground"
        },
        "$:/language/Docs/PaletteColours/toolbar-close-button": {
            "title": "$:/language/Docs/PaletteColours/toolbar-close-button",
            "text": "Toolbar 'close' button foreground"
        },
        "$:/language/Docs/PaletteColours/toolbar-delete-button": {
            "title": "$:/language/Docs/PaletteColours/toolbar-delete-button",
            "text": "Toolbar 'delete' button foreground"
        },
        "$:/language/Docs/PaletteColours/toolbar-cancel-button": {
            "title": "$:/language/Docs/PaletteColours/toolbar-cancel-button",
            "text": "Toolbar 'cancel' button foreground"
        },
        "$:/language/Docs/PaletteColours/toolbar-done-button": {
            "title": "$:/language/Docs/PaletteColours/toolbar-done-button",
            "text": "Toolbar 'done' button foreground"
        },
        "$:/language/Docs/PaletteColours/untagged-background": {
            "title": "$:/language/Docs/PaletteColours/untagged-background",
            "text": "Untagged pill background"
        },
        "$:/language/Docs/PaletteColours/very-muted-foreground": {
            "title": "$:/language/Docs/PaletteColours/very-muted-foreground",
            "text": "Very muted foreground"
        },
        "$:/language/EditTemplate/Body/External/Hint": {
            "title": "$:/language/EditTemplate/Body/External/Hint",
            "text": "This tiddler shows content stored outside of the main TiddlyWiki file. You can edit the tags and fields but cannot directly edit the content itself"
        },
        "$:/language/EditTemplate/Body/Placeholder": {
            "title": "$:/language/EditTemplate/Body/Placeholder",
            "text": "Type the text for this tiddler"
        },
        "$:/language/EditTemplate/Body/Preview/Type/Output": {
            "title": "$:/language/EditTemplate/Body/Preview/Type/Output",
            "text": "output"
        },
        "$:/language/EditTemplate/Field/Remove/Caption": {
            "title": "$:/language/EditTemplate/Field/Remove/Caption",
            "text": "remove field"
        },
        "$:/language/EditTemplate/Field/Remove/Hint": {
            "title": "$:/language/EditTemplate/Field/Remove/Hint",
            "text": "Remove field"
        },
        "$:/language/EditTemplate/Field/Dropdown/Caption": {
            "title": "$:/language/EditTemplate/Field/Dropdown/Caption",
            "text": "field list"
        },
        "$:/language/EditTemplate/Field/Dropdown/Hint": {
            "title": "$:/language/EditTemplate/Field/Dropdown/Hint",
            "text": "Show field list"
        },
        "$:/language/EditTemplate/Fields/Add/Button": {
            "title": "$:/language/EditTemplate/Fields/Add/Button",
            "text": "add"
        },
        "$:/language/EditTemplate/Fields/Add/Name/Placeholder": {
            "title": "$:/language/EditTemplate/Fields/Add/Name/Placeholder",
            "text": "field name"
        },
        "$:/language/EditTemplate/Fields/Add/Prompt": {
            "title": "$:/language/EditTemplate/Fields/Add/Prompt",
            "text": "Add a new field:"
        },
        "$:/language/EditTemplate/Fields/Add/Value/Placeholder": {
            "title": "$:/language/EditTemplate/Fields/Add/Value/Placeholder",
            "text": "field value"
        },
        "$:/language/EditTemplate/Fields/Add/Dropdown/System": {
            "title": "$:/language/EditTemplate/Fields/Add/Dropdown/System",
            "text": "System fields"
        },
        "$:/language/EditTemplate/Fields/Add/Dropdown/User": {
            "title": "$:/language/EditTemplate/Fields/Add/Dropdown/User",
            "text": "User fields"
        },
        "$:/language/EditTemplate/Shadow/Warning": {
            "title": "$:/language/EditTemplate/Shadow/Warning",
            "text": "This is a shadow tiddler. Any changes you make will override the default version from the plugin <<pluginLink>>"
        },
        "$:/language/EditTemplate/Shadow/OverriddenWarning": {
            "title": "$:/language/EditTemplate/Shadow/OverriddenWarning",
            "text": "This is a modified shadow tiddler. You can revert to the default version in the plugin <<pluginLink>> by deleting this tiddler"
        },
        "$:/language/EditTemplate/Tags/Add/Button": {
            "title": "$:/language/EditTemplate/Tags/Add/Button",
            "text": "add"
        },
        "$:/language/EditTemplate/Tags/Add/Placeholder": {
            "title": "$:/language/EditTemplate/Tags/Add/Placeholder",
            "text": "tag name"
        },
        "$:/language/EditTemplate/Tags/Dropdown/Caption": {
            "title": "$:/language/EditTemplate/Tags/Dropdown/Caption",
            "text": "tag list"
        },
        "$:/language/EditTemplate/Tags/Dropdown/Hint": {
            "title": "$:/language/EditTemplate/Tags/Dropdown/Hint",
            "text": "Show tag list"
        },
        "$:/language/EditTemplate/Title/BadCharacterWarning": {
            "title": "$:/language/EditTemplate/Title/BadCharacterWarning",
            "text": "Warning: avoid using any of the characters <<bad-chars>> in tiddler titles"
        },
        "$:/language/EditTemplate/Title/Exists/Prompt": {
            "title": "$:/language/EditTemplate/Title/Exists/Prompt",
            "text": "Target tiddler already exists"
        },
        "$:/language/EditTemplate/Title/Relink/Prompt": {
            "title": "$:/language/EditTemplate/Title/Relink/Prompt",
            "text": "Update ''<$text text=<<fromTitle>>/>'' to ''<$text text=<<toTitle>>/>'' in the //tags// and //list// fields of other tiddlers"
        },
        "$:/language/EditTemplate/Title/References/Prompt": {
            "title": "$:/language/EditTemplate/Title/References/Prompt",
            "text": "The following references to this tiddler will not be automatically updated:"
        },
        "$:/language/EditTemplate/Type/Dropdown/Caption": {
            "title": "$:/language/EditTemplate/Type/Dropdown/Caption",
            "text": "content type list"
        },
        "$:/language/EditTemplate/Type/Dropdown/Hint": {
            "title": "$:/language/EditTemplate/Type/Dropdown/Hint",
            "text": "Show content type list"
        },
        "$:/language/EditTemplate/Type/Delete/Caption": {
            "title": "$:/language/EditTemplate/Type/Delete/Caption",
            "text": "delete content type"
        },
        "$:/language/EditTemplate/Type/Delete/Hint": {
            "title": "$:/language/EditTemplate/Type/Delete/Hint",
            "text": "Delete content type"
        },
        "$:/language/EditTemplate/Type/Placeholder": {
            "title": "$:/language/EditTemplate/Type/Placeholder",
            "text": "content type"
        },
        "$:/language/EditTemplate/Type/Prompt": {
            "title": "$:/language/EditTemplate/Type/Prompt",
            "text": "Type:"
        },
        "$:/language/Exporters/StaticRiver": {
            "title": "$:/language/Exporters/StaticRiver",
            "text": "Static HTML"
        },
        "$:/language/Exporters/JsonFile": {
            "title": "$:/language/Exporters/JsonFile",
            "text": "JSON file"
        },
        "$:/language/Exporters/CsvFile": {
            "title": "$:/language/Exporters/CsvFile",
            "text": "CSV file"
        },
        "$:/language/Exporters/TidFile": {
            "title": "$:/language/Exporters/TidFile",
            "text": "\".tid\" file"
        },
        "$:/language/Docs/Fields/_canonical_uri": {
            "title": "$:/language/Docs/Fields/_canonical_uri",
            "text": "The full URI of an external image tiddler"
        },
        "$:/language/Docs/Fields/bag": {
            "title": "$:/language/Docs/Fields/bag",
            "text": "The name of the bag from which a tiddler came"
        },
        "$:/language/Docs/Fields/caption": {
            "title": "$:/language/Docs/Fields/caption",
            "text": "The text to be displayed on a tab or button"
        },
        "$:/language/Docs/Fields/color": {
            "title": "$:/language/Docs/Fields/color",
            "text": "The CSS color value associated with a tiddler"
        },
        "$:/language/Docs/Fields/component": {
            "title": "$:/language/Docs/Fields/component",
            "text": "The name of the component responsible for an [[alert tiddler|AlertMechanism]]"
        },
        "$:/language/Docs/Fields/current-tiddler": {
            "title": "$:/language/Docs/Fields/current-tiddler",
            "text": "Used to cache the top tiddler in a [[history list|HistoryMechanism]]"
        },
        "$:/language/Docs/Fields/created": {
            "title": "$:/language/Docs/Fields/created",
            "text": "The date a tiddler was created"
        },
        "$:/language/Docs/Fields/creator": {
            "title": "$:/language/Docs/Fields/creator",
            "text": "The name of the person who created a tiddler"
        },
        "$:/language/Docs/Fields/dependents": {
            "title": "$:/language/Docs/Fields/dependents",
            "text": "For a plugin, lists the dependent plugin titles"
        },
        "$:/language/Docs/Fields/description": {
            "title": "$:/language/Docs/Fields/description",
            "text": "The descriptive text for a plugin, or a modal dialogue"
        },
        "$:/language/Docs/Fields/draft.of": {
            "title": "$:/language/Docs/Fields/draft.of",
            "text": "For draft tiddlers, contains the title of the tiddler of which this is a draft"
        },
        "$:/language/Docs/Fields/draft.title": {
            "title": "$:/language/Docs/Fields/draft.title",
            "text": "For draft tiddlers, contains the proposed new title of the tiddler"
        },
        "$:/language/Docs/Fields/footer": {
            "title": "$:/language/Docs/Fields/footer",
            "text": "The footer text for a wizard"
        },
        "$:/language/Docs/Fields/hack-to-give-us-something-to-compare-against": {
            "title": "$:/language/Docs/Fields/hack-to-give-us-something-to-compare-against",
            "text": "A temporary storage field used in [[$:/core/templates/static.content]]"
        },
        "$:/language/Docs/Fields/hide-body": {
            "title": "$:/language/Docs/Fields/hide-body",
            "text": "The view template will hide bodies of tiddlers if set to: ''yes''"
        },
        "$:/language/Docs/Fields/icon": {
            "title": "$:/language/Docs/Fields/icon",
            "text": "The title of the tiddler containing the icon associated with a tiddler"
        },
        "$:/language/Docs/Fields/library": {
            "title": "$:/language/Docs/Fields/library",
            "text": "Indicates that a tiddler should be saved as a JavaScript library if set to: ''yes''"
        },
        "$:/language/Docs/Fields/list": {
            "title": "$:/language/Docs/Fields/list",
            "text": "An ordered list of tiddler titles associated with a tiddler"
        },
        "$:/language/Docs/Fields/list-before": {
            "title": "$:/language/Docs/Fields/list-before",
            "text": "If set, the title of a tiddler before which this tiddler should be added to the ordered list of tiddler titles, or at the start of the list if this field is present but empty"
        },
        "$:/language/Docs/Fields/list-after": {
            "title": "$:/language/Docs/Fields/list-after",
            "text": "If set, the title of the tiddler after which this tiddler should be added to the ordered list of tiddler titles, or at the end of the list if this field is present but empty"
        },
        "$:/language/Docs/Fields/modified": {
            "title": "$:/language/Docs/Fields/modified",
            "text": "The date and time at which a tiddler was last modified"
        },
        "$:/language/Docs/Fields/modifier": {
            "title": "$:/language/Docs/Fields/modifier",
            "text": "The tiddler title associated with the person who last modified a tiddler"
        },
        "$:/language/Docs/Fields/name": {
            "title": "$:/language/Docs/Fields/name",
            "text": "The human readable name associated with a plugin tiddler"
        },
        "$:/language/Docs/Fields/plugin-priority": {
            "title": "$:/language/Docs/Fields/plugin-priority",
            "text": "A numerical value indicating the priority of a plugin tiddler"
        },
        "$:/language/Docs/Fields/plugin-type": {
            "title": "$:/language/Docs/Fields/plugin-type",
            "text": "The type of plugin in a plugin tiddler"
        },
        "$:/language/Docs/Fields/revision": {
            "title": "$:/language/Docs/Fields/revision",
            "text": "The revision of the tiddler held at the server"
        },
        "$:/language/Docs/Fields/released": {
            "title": "$:/language/Docs/Fields/released",
            "text": "Date of a TiddlyWiki release"
        },
        "$:/language/Docs/Fields/source": {
            "title": "$:/language/Docs/Fields/source",
            "text": "The source URL associated with a tiddler"
        },
        "$:/language/Docs/Fields/subtitle": {
            "title": "$:/language/Docs/Fields/subtitle",
            "text": "The subtitle text for a wizard"
        },
        "$:/language/Docs/Fields/tags": {
            "title": "$:/language/Docs/Fields/tags",
            "text": "A list of tags associated with a tiddler"
        },
        "$:/language/Docs/Fields/text": {
            "title": "$:/language/Docs/Fields/text",
            "text": "The body text of a tiddler"
        },
        "$:/language/Docs/Fields/title": {
            "title": "$:/language/Docs/Fields/title",
            "text": "The unique name of a tiddler"
        },
        "$:/language/Docs/Fields/toc-link": {
            "title": "$:/language/Docs/Fields/toc-link",
            "text": "Suppresses the tiddler's link in a Table of Contents tree if set to: ''no''"
        },
        "$:/language/Docs/Fields/type": {
            "title": "$:/language/Docs/Fields/type",
            "text": "The content type of a tiddler"
        },
        "$:/language/Docs/Fields/version": {
            "title": "$:/language/Docs/Fields/version",
            "text": "Version information for a plugin"
        },
        "$:/language/Filters/AllTiddlers": {
            "title": "$:/language/Filters/AllTiddlers",
            "text": "All tiddlers except system tiddlers"
        },
        "$:/language/Filters/RecentSystemTiddlers": {
            "title": "$:/language/Filters/RecentSystemTiddlers",
            "text": "Recently modified tiddlers, including system tiddlers"
        },
        "$:/language/Filters/RecentTiddlers": {
            "title": "$:/language/Filters/RecentTiddlers",
            "text": "Recently modified tiddlers"
        },
        "$:/language/Filters/AllTags": {
            "title": "$:/language/Filters/AllTags",
            "text": "All tags except system tags"
        },
        "$:/language/Filters/Missing": {
            "title": "$:/language/Filters/Missing",
            "text": "Missing tiddlers"
        },
        "$:/language/Filters/Drafts": {
            "title": "$:/language/Filters/Drafts",
            "text": "Draft tiddlers"
        },
        "$:/language/Filters/Orphans": {
            "title": "$:/language/Filters/Orphans",
            "text": "Orphan tiddlers"
        },
        "$:/language/Filters/SystemTiddlers": {
            "title": "$:/language/Filters/SystemTiddlers",
            "text": "System tiddlers"
        },
        "$:/language/Filters/ShadowTiddlers": {
            "title": "$:/language/Filters/ShadowTiddlers",
            "text": "Shadow tiddlers"
        },
        "$:/language/Filters/OverriddenShadowTiddlers": {
            "title": "$:/language/Filters/OverriddenShadowTiddlers",
            "text": "Overridden shadow tiddlers"
        },
        "$:/language/Filters/SessionTiddlers": {
            "title": "$:/language/Filters/SessionTiddlers",
            "text": "Tiddlers modified since the wiki was loaded"
        },
        "$:/language/Filters/SystemTags": {
            "title": "$:/language/Filters/SystemTags",
            "text": "System tags"
        },
        "$:/language/Filters/StoryList": {
            "title": "$:/language/Filters/StoryList",
            "text": "Tiddlers in the story river, excluding <$text text=\"$:/AdvancedSearch\"/>"
        },
        "$:/language/Filters/TypedTiddlers": {
            "title": "$:/language/Filters/TypedTiddlers",
            "text": "Non wiki-text tiddlers"
        },
        "GettingStarted": {
            "title": "GettingStarted",
            "text": "\\define lingo-base() $:/language/ControlPanel/Basics/\nWelcome to ~TiddlyWiki and the ~TiddlyWiki community\n\nBefore you start storing important information in ~TiddlyWiki it is vital to make sure that you can reliably save changes. See https://tiddlywiki.com/#GettingStarted for details\n\n!! Set up this ~TiddlyWiki\n\n<div class=\"tc-control-panel\">\n\n|<$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link> |<<lingo DefaultTiddlers/TopHint>><br> <$edit tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n</div>\n\nSee the [[control panel|$:/ControlPanel]] for more options.\n"
        },
        "$:/language/Help/build": {
            "title": "$:/language/Help/build",
            "description": "Automatically run configured commands",
            "text": "Build the specified build targets for the current wiki. If no build targets are specified then all available targets will be built.\n\n```\n--build <target> [<target> ...]\n```\n\nBuild targets are defined in the `tiddlywiki.info` file of a wiki folder.\n\n"
        },
        "$:/language/Help/clearpassword": {
            "title": "$:/language/Help/clearpassword",
            "description": "Clear a password for subsequent crypto operations",
            "text": "Clear the password for subsequent crypto operations\n\n```\n--clearpassword\n```\n"
        },
        "$:/language/Help/default": {
            "title": "$:/language/Help/default",
            "text": "\\define commandTitle()\n$:/language/Help/$(command)$\n\\end\n```\nusage: tiddlywiki [<wikifolder>] [--<command> [<args>...]...]\n```\n\nAvailable commands:\n\n<ul>\n<$list filter=\"[commands[]sort[title]]\" variable=\"command\">\n<li><$link to=<<commandTitle>>><$macrocall $name=\"command\" $type=\"text/plain\" $output=\"text/plain\"/></$link>: <$transclude tiddler=<<commandTitle>> field=\"description\"/></li>\n</$list>\n</ul>\n\nTo get detailed help on a command:\n\n```\ntiddlywiki --help <command>\n```\n"
        },
        "$:/language/Help/deletetiddlers": {
            "title": "$:/language/Help/deletetiddlers",
            "description": "Deletes a group of tiddlers",
            "text": "<<.from-version \"5.1.20\">> Deletes a group of tiddlers identified by a filter.\n\n```\n--deletetiddlers <filter>\n```\n"
        },
        "$:/language/Help/editions": {
            "title": "$:/language/Help/editions",
            "description": "Lists the available editions of TiddlyWiki",
            "text": "Lists the names and descriptions of the available editions. You can create a new wiki of a specified edition with the `--init` command.\n\n```\n--editions\n```\n"
        },
        "$:/language/Help/fetch": {
            "title": "$:/language/Help/fetch",
            "description": "Fetch tiddlers from wiki by URL",
            "text": "Fetch one or more files over HTTP/HTTPS, and import the tiddlers matching a filter, optionally transforming the incoming titles.\n\n```\n--fetch file <url> <import-filter> <transform-filter>\n--fetch files <url-filter> <import-filter> <transform-filter>\n--fetch raw-file <url> <transform-filter>\n--fetch raw-files <url-filter> <transform-filter>\n```\n\nThe \"file\" and \"files\" variants fetch the specified files and attempt to import the tiddlers within them (the same processing as if the files were dragged into the browser window). The \"raw-file\" and \"raw-files\" variants fetch the specified files and then store the raw file data in tiddlers, without applying the import logic.\n\nWith the \"file\" and \"raw-file\" variants only a single file is fetched and the first parameter is the URL of the file to read.\n\nWith the \"files\" and \"raw-files\" variants, multiple files are fetched and the first parameter is a filter yielding a list of URLs of the files to read. For example, given a set of tiddlers tagged \"remote-server\" that have a field \"url\" the filter `[tag[remote-server]get[url]]` will retrieve all the available URLs.\n\nFor the \"file\" and \"files\" variants, the `<import-filter>` parameter specifies a filter determining which tiddlers are imported. It defaults to `[all[tiddlers]]` if not provided.\n\nFor all variants, the `<transform-filter>` parameter specifies an optional filter that transforms the titles of the imported tiddlers. For example, `[addprefix[$:/myimports/]]` would add the prefix `$:/myimports/` to each title.\n\nPreceding the `--fetch` command with `--verbose` will output progress information during the import.\n\nNote that TiddlyWiki will not fetch an older version of an already loaded plugin.\n\nThe following example retrieves all the non-system tiddlers from https://tiddlywiki.com and saves them to a JSON file:\n\n```\ntiddlywiki --verbose --fetch file \"https://tiddlywiki.com/\" \"[!is[system]]\" \"\" --rendertiddler \"$:/core/templates/exporters/JsonFile\" output.json text/plain \"\" exportFilter \"[!is[system]]\"\n```\n\nThe following example retrieves the \"favicon\" file from tiddlywiki.com and saves it in a file called \"output.ico\". Note that the intermediate tiddler \"Icon Tiddler\" is quoted in the \"--fetch\" command because it is being used as a transformation filter to replace the default title, while there are no quotes for the \"--savetiddler\" command because it is being used directly as a title.\n\n```\ntiddlywiki --verbose --fetch raw-file \"https://tiddlywiki.com/favicon.ico\" \"[[Icon Tiddler]]\" --savetiddler \"Icon Tiddler\" output.ico\n```\n\n"
        },
        "$:/language/Help/help": {
            "title": "$:/language/Help/help",
            "description": "Display help for TiddlyWiki commands",
            "text": "Displays help text for a command:\n\n```\n--help [<command>]\n```\n\nIf the command name is omitted then a list of available commands is displayed.\n"
        },
        "$:/language/Help/import": {
            "title": "$:/language/Help/import",
            "description": "Import tiddlers from a file",
            "text": "Import tiddlers from TiddlyWiki (`.html`), `.tiddler`, `.tid`, `.json` or other local files. The deserializer must be explicitly specified, unlike the `load` command which infers the deserializer from the file extension.\n\n```\n--import <filepath> <deserializer> [<title>] [<encoding>]\n```\n\nThe deserializers in the core include:\n\n* application/javascript\n* application/json\n* application/x-tiddler\n* application/x-tiddler-html-div\n* application/x-tiddlers\n* text/html\n* text/plain\n\nThe title of the imported tiddler defaults to the filename.\n\nThe encoding defaults to \"utf8\", but can be \"base64\" for importing binary files.\n\nNote that TiddlyWiki will not import an older version of an already loaded plugin.\n"
        },
        "$:/language/Help/init": {
            "title": "$:/language/Help/init",
            "description": "Initialise a new wiki folder",
            "text": "Initialise an empty [[WikiFolder|WikiFolders]] with a copy of the specified edition.\n\n```\n--init <edition> [<edition> ...]\n```\n\nFor example:\n\n```\ntiddlywiki ./MyWikiFolder --init empty\n```\n\nNote:\n\n* The wiki folder directory will be created if necessary\n* The \"edition\" defaults to ''empty''\n* The init command will fail if the wiki folder is not empty\n* The init command removes any `includeWikis` definitions in the edition's `tiddlywiki.info` file\n* When multiple editions are specified, editions initialised later will overwrite any files shared with earlier editions (so, the final `tiddlywiki.info` file will be copied from the last edition)\n* `--editions` returns a list of available editions\n"
        },
        "$:/language/Help/listen": {
            "title": "$:/language/Help/listen",
            "description": "Provides an HTTP server interface to TiddlyWiki",
            "text": "Serves a wiki over HTTP.\n\nThe listen command uses NamedCommandParameters:\n\n```\n--listen [<name>=<value>]...\n```\n\nAll parameters are optional with safe defaults, and can be specified in any order. The recognised parameters are:\n\n* ''host'' - optional hostname to serve from (defaults to \"127.0.0.1\" aka \"localhost\")\n* ''path-prefix'' - optional prefix for paths\n* ''port'' - port number on which to listen; non-numeric values are interpreted as a system environment variable from which the port number is extracted (defaults to \"8080\")\n* ''credentials'' - pathname of credentials CSV file (relative to wiki folder)\n* ''anon-username'' - the username for signing edits for anonymous users\n* ''username'' - optional username for basic authentication\n* ''password'' - optional password for basic authentication\n* ''authenticated-user-header'' - optional name of header to be used for trusted authentication\n* ''readers'' - comma separated list of principals allowed to read from this wiki\n* ''writers'' - comma separated list of principals allowed to write to this wiki\n* ''csrf-disable'' - set to \"yes\" to disable CSRF checks (defaults to \"no\")\n* ''root-tiddler'' - the tiddler to serve at the root (defaults to \"$:/core/save/all\")\n* ''root-render-type'' - the content type to which the root tiddler should be rendered (defaults to \"text/plain\")\n* ''root-serve-type'' - the content type with which the root tiddler should be served (defaults to \"text/html\")\n* ''tls-cert'' - pathname of TLS certificate file (relative to wiki folder)\n* ''tls-key'' - pathname of TLS key file (relative to wiki folder)\n* ''debug-level'' - optional debug level; set to \"debug\" to view request details (defaults to \"none\")\n* ''gzip'' - set to \"yes\" to enable gzip compression for some http endpoints (defaults to \"no\")\n\nFor information on opening up your instance to the entire local network, and possible security concerns, see the WebServer tiddler at TiddlyWiki.com.\n\n"
        },
        "$:/language/Help/load": {
            "title": "$:/language/Help/load",
            "description": "Load tiddlers from a file",
            "text": "Load tiddlers from TiddlyWiki (`.html`), `.tiddler`, `.tid`, `.json` or other local files. The processing applied to incoming files is determined by the file extension. Use the alternative `import` command if you need to specify the deserializer and encoding explicitly.\n\n```\n--load <filepath> [noerror]\n--load <dirpath> [noerror]\n```\n\nBy default, the load command raises an error if no tiddlers are found. The error can be suppressed by providing the optional \"noerror\" parameter.\n\nTo load tiddlers from an encrypted TiddlyWiki file you should first specify the password with the PasswordCommand. For example:\n\n```\ntiddlywiki ./MyWiki --password pa55w0rd --load my_encrypted_wiki.html\n```\n\nNote that TiddlyWiki will not load an older version of an already loaded plugin.\n"
        },
        "$:/language/Help/makelibrary": {
            "title": "$:/language/Help/makelibrary",
            "description": "Construct library plugin required by upgrade process",
            "text": "Constructs the `$:/UpgradeLibrary` tiddler for the upgrade process.\n\nThe upgrade library is formatted as an ordinary plugin tiddler with the plugin type `library`. It contains a copy of each of the plugins, themes and language packs available within the TiddlyWiki5 repository.\n\nThis command is intended for internal use; it is only relevant to users constructing a custom upgrade procedure.\n\n```\n--makelibrary <title>\n```\n\nThe title argument defaults to `$:/UpgradeLibrary`.\n"
        },
        "$:/language/Help/notfound": {
            "title": "$:/language/Help/notfound",
            "text": "No such help item"
        },
        "$:/language/Help/output": {
            "title": "$:/language/Help/output",
            "description": "Set the base output directory for subsequent commands",
            "text": "Sets the base output directory for subsequent commands. The default output directory is the `output` subdirectory of the edition directory.\n\n```\n--output <pathname>\n```\n\nIf the specified pathname is relative then it is resolved relative to the current working directory. For example `--output .` sets the output directory to the current working directory.\n\n"
        },
        "$:/language/Help/password": {
            "title": "$:/language/Help/password",
            "description": "Set a password for subsequent crypto operations",
            "text": "Set a password for subsequent crypto operations\n\n```\n--password <password>\n```\n\n''Note'': This should not be used for serving TiddlyWiki with password protection. Instead, see the password option under the [[ServerCommand]].\n"
        },
        "$:/language/Help/render": {
            "title": "$:/language/Help/render",
            "description": "Renders individual tiddlers to files",
            "text": "Render individual tiddlers identified by a filter and save the results to the specified files.\n\nOptionally, the title of a template tiddler can be specified. In this case, instead of directly rendering each tiddler, the template tiddler is rendered with the \"currentTiddler\" variable set to the title of the tiddler that is being rendered.\n\nA name and value for an additional variable may optionally also be specified.\n\n```\n--render <tiddler-filter> [<filename-filter>] [<render-type>] [<template>] [<name>] [<value>]\n```\n\n* ''tiddler-filter'': A filter identifying the tiddler(s) to be rendered\n* ''filename-filter'': Optional filter transforming tiddler titles into pathnames. If omitted, defaults to `[is[tiddler]addsuffix[.html]]`, which uses the unchanged tiddler title as the filename\n* ''render-type'': Optional render type: `text/html` (the default) returns the full HTML text and `text/plain` just returns the text content (ie it ignores HTML tags and other unprintable material)\n* ''template'': Optional template through which each tiddler is rendered\n* ''name'': Name of optional variable\n* ''value'': Value of optional variable\n\nBy default, the filename is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nNotes:\n\n* The output directory is not cleared of any existing files\n* Any missing directories in the path to the filename are automatically created.\n* When referring to a tiddler with spaces in its title, take care to use both the quotes required by your shell and also TiddlyWiki's double square brackets : `--render \"[[Motovun Jack.jpg]]\"`\n* The filename filter is evaluated with the selected items being set to the title of the tiddler currently being rendered, allowing the title to be used as the basis for computing the filename. For example `[encodeuricomponent[]addprefix[static/]]` applies URI encoding to each title, and then adds the prefix `static/`\n* The `--render` command is a more flexible replacement for both the `--rendertiddler` and `--rendertiddlers` commands, which are deprecated\n\nExamples:\n\n* `--render \"[!is[system]]\" \"[encodeuricomponent[]addprefix[tiddlers/]addsuffix[.html]]\"` -- renders all non-system tiddlers as files in the subdirectory \"tiddlers\" with URL-encoded titles and the extension HTML\n\n"
        },
        "$:/language/Help/rendertiddler": {
            "title": "$:/language/Help/rendertiddler",
            "description": "Render an individual tiddler as a specified ContentType",
            "text": "(Note: The `--rendertiddler` command is deprecated in favour of the new, more flexible `--render` command)\n\nRender an individual tiddler as a specified ContentType, defaulting to `text/html` and save it to the specified filename.\n\nOptionally the title of a template tiddler can be specified, in which case the template tiddler is rendered with the \"currentTiddler\" variable set to the tiddler that is being rendered (the first parameter value).\n\nA name and value for an additional variable may optionally also be specified.\n\n```\n--rendertiddler <title> <filename> [<type>] [<template>] [<name>] [<value>]\n```\n\nBy default, the filename is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nAny missing directories in the path to the filename are automatically created.\n\nFor example, the following command saves all tiddlers matching the filter `[tag[done]]` to a JSON file titled `output.json` by employing the core template `$:/core/templates/exporters/JsonFile`.\n\n```\n--rendertiddler \"$:/core/templates/exporters/JsonFile\" output.json text/plain \"\" exportFilter \"[tag[done]]\"\n```\n"
        },
        "$:/language/Help/rendertiddlers": {
            "title": "$:/language/Help/rendertiddlers",
            "description": "Render tiddlers matching a filter to a specified ContentType",
            "text": "(Note: The `--rendertiddlers` command is deprecated in favour of the new, more flexible `--render` command)\n\nRender a set of tiddlers matching a filter to separate files of a specified ContentType (defaults to `text/html`) and extension (defaults to `.html`).\n\n```\n--rendertiddlers <filter> <template> <pathname> [<type>] [<extension>] [\"noclean\"]\n```\n\nFor example:\n\n```\n--rendertiddlers [!is[system]] $:/core/templates/static.tiddler.html ./static text/plain\n```\n\nBy default, the pathname is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nAny files in the target directory are deleted unless the ''noclean'' flag is specified. The target directory is recursively created if it is missing.\n"
        },
        "$:/language/Help/save": {
            "title": "$:/language/Help/save",
            "description": "Saves individual raw tiddlers to files",
            "text": "Saves individual tiddlers identified by a filter in their raw text or binary format to the specified files.\n\n```\n--save <tiddler-filter> <filename-filter>\n```\n\n* ''tiddler-filter'': A filter identifying the tiddler(s) to be saved\n* ''filename-filter'': Optional filter transforming tiddler titles into pathnames. If omitted, defaults to `[is[tiddler]]`, which uses the unchanged tiddler title as the filename\n\nBy default, the filename is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nNotes:\n\n* The output directory is not cleared of any existing files\n* Any missing directories in the path to the filename are automatically created.\n* When saving a tiddler with spaces in its title, take care to use both the quotes required by your shell and also TiddlyWiki's double square brackets : `--save \"[[Motovun Jack.jpg]]\"`\n* The filename filter is evaluated with the selected items being set to the title of the tiddler currently being saved, allowing the title to be used as the basis for computing the filename. For example `[encodeuricomponent[]addprefix[static/]]` applies URI encoding to each title, and then adds the prefix `static/`\n* The `--save` command is a more flexible replacement for both the `--savetiddler` and `--savetiddlers` commands, which are deprecated\n\nExamples:\n\n* `--save \"[!is[system]is[image]]\" \"[encodeuricomponent[]addprefix[tiddlers/]]\"` -- saves all non-system image tiddlers as files in the subdirectory \"tiddlers\" with URL-encoded titles\n"
        },
        "$:/language/Help/savetiddler": {
            "title": "$:/language/Help/savetiddler",
            "description": "Saves a raw tiddler to a file",
            "text": "(Note: The `--savetiddler` command is deprecated in favour of the new, more flexible `--save` command)\n\nSaves an individual tiddler in its raw text or binary format to the specified filename.\n\n```\n--savetiddler <title> <filename>\n```\n\nBy default, the filename is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nAny missing directories in the path to the filename are automatically created.\n"
        },
        "$:/language/Help/savetiddlers": {
            "title": "$:/language/Help/savetiddlers",
            "description": "Saves a group of raw tiddlers to a directory",
            "text": "(Note: The `--savetiddlers` command is deprecated in favour of the new, more flexible `--save` command)\n\nSaves a group of tiddlers in their raw text or binary format to the specified directory.\n\n```\n--savetiddlers <filter> <pathname> [\"noclean\"]\n```\n\nBy default, the pathname is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nThe output directory is cleared of existing files before saving the specified files. The deletion can be disabled by specifying the ''noclean'' flag.\n\nAny missing directories in the pathname are automatically created.\n"
        },
        "$:/language/Help/savewikifolder": {
            "title": "$:/language/Help/savewikifolder",
            "description": "Saves a wiki to a new wiki folder",
            "text": "<<.from-version \"5.1.20\">> Saves the current wiki as a wiki folder, including tiddlers, plugins and configuration:\n\n```\n--savewikifolder <wikifolderpath> [<filter>]\n```\n\n* The target wiki folder must be empty or non-existent\n* The filter specifies which tiddlers should be included. It is optional, defaulting to `[all[tiddlers]]`\n* Plugins from the official plugin library are replaced with references to those plugins in the `tiddlywiki.info` file\n* Custom plugins are unpacked into their own folder\n\nA common usage is to convert a TiddlyWiki HTML file into a wiki folder:\n\n```\ntiddlywiki --load ./mywiki.html --savewikifolder ./mywikifolder\n```\n"
        },
        "$:/language/Help/server": {
            "title": "$:/language/Help/server",
            "description": "Provides an HTTP server interface to TiddlyWiki (deprecated in favour of the new listen command)",
            "text": "Legacy command to serve a wiki over HTTP.\n\n```\n--server <port> <root-tiddler> <root-render-type> <root-serve-type> <username> <password> <host> <path-prefix> <debug-level>\n```\n\nThe parameters are:\n\n* ''port'' - port number on which to listen; non-numeric values are interpreted as a system environment variable from which the port number is extracted (defaults to \"8080\")\n* ''root-tiddler'' - the tiddler to serve at the root (defaults to \"$:/core/save/all\")\n* ''root-render-type'' - the content type to which the root tiddler should be rendered (defaults to \"text/plain\")\n* ''root-serve-type'' - the content type with which the root tiddler should be served (defaults to \"text/html\")\n* ''username'' - the default username for signing edits\n* ''password'' - optional password for basic authentication\n* ''host'' - optional hostname to serve from (defaults to \"127.0.0.1\" aka \"localhost\")\n* ''path-prefix'' - optional prefix for paths\n* ''debug-level'' - optional debug level; set to \"debug\" to view request details (defaults to \"none\")\n\nIf the password parameter is specified then the browser will prompt the user for the username and password. Note that the password is transmitted in plain text so this implementation should only be used on a trusted network or over HTTPS.\n\nFor example:\n\n```\n--server 8080 $:/core/save/all text/plain text/html MyUserName passw0rd\n```\n\nThe username and password can be specified as empty strings if you need to set the hostname or pathprefix and don't want to require a password.\n\n\n```\n--server 8080 $:/core/save/all text/plain text/html \"\" \"\" 192.168.0.245\n```\n\nUsing an address like this exposes your system to the local network. For information on opening up your instance to the entire local network, and possible security concerns, see the WebServer tiddler at TiddlyWiki.com.\n\nTo run multiple TiddlyWiki servers at the same time you'll need to put each one on a different port. It can be useful to use an environment variable to pass the port number to the Node.js process. This example references an environment variable called \"MY_PORT_NUMBER\":\n\n```\n--server MY_PORT_NUMBER $:/core/save/all text/plain text/html MyUserName passw0rd\n```\n"
        },
        "$:/language/Help/setfield": {
            "title": "$:/language/Help/setfield",
            "description": "Prepares external tiddlers for use",
            "text": "//Note that this command is experimental and may change or be replaced before being finalised//\n\nSets the specified field of a group of tiddlers to the result of wikifying a template tiddler with the `currentTiddler` variable set to the tiddler.\n\n```\n--setfield <filter> <fieldname> <templatetitle> <rendertype>\n```\n\nThe parameters are:\n\n* ''filter'' - filter identifying the tiddlers to be affected\n* ''fieldname'' - the field to modify (defaults to \"text\")\n* ''templatetitle'' - the tiddler to wikify into the specified field. If blank or missing then the specified field is deleted\n* ''rendertype'' - the text type to render (defaults to \"text/plain\"; \"text/html\" can be used to include HTML tags)\n"
        },
        "$:/language/Help/unpackplugin": {
            "title": "$:/language/Help/unpackplugin",
            "description": "Unpack the payload tiddlers from a plugin",
            "text": "Extract the payload tiddlers from a plugin, creating them as ordinary tiddlers:\n\n```\n--unpackplugin <title>\n```\n"
        },
        "$:/language/Help/verbose": {
            "title": "$:/language/Help/verbose",
            "description": "Triggers verbose output mode",
            "text": "Triggers verbose output, useful for debugging\n\n```\n--verbose\n```\n"
        },
        "$:/language/Help/version": {
            "title": "$:/language/Help/version",
            "description": "Displays the version number of TiddlyWiki",
            "text": "Displays the version number of TiddlyWiki.\n\n```\n--version\n```\n"
        },
        "$:/language/Import/Imported/Hint": {
            "title": "$:/language/Import/Imported/Hint",
            "text": "The following tiddlers were imported:"
        },
        "$:/language/Import/Listing/Cancel/Caption": {
            "title": "$:/language/Import/Listing/Cancel/Caption",
            "text": "Cancel"
        },
        "$:/language/Import/Listing/Hint": {
            "title": "$:/language/Import/Listing/Hint",
            "text": "These tiddlers are ready to import:"
        },
        "$:/language/Import/Listing/Import/Caption": {
            "title": "$:/language/Import/Listing/Import/Caption",
            "text": "Import"
        },
        "$:/language/Import/Listing/Select/Caption": {
            "title": "$:/language/Import/Listing/Select/Caption",
            "text": "Select"
        },
        "$:/language/Import/Listing/Status/Caption": {
            "title": "$:/language/Import/Listing/Status/Caption",
            "text": "Status"
        },
        "$:/language/Import/Listing/Title/Caption": {
            "title": "$:/language/Import/Listing/Title/Caption",
            "text": "Title"
        },
        "$:/language/Import/Listing/Preview": {
            "title": "$:/language/Import/Listing/Preview",
            "text": "Preview:"
        },
        "$:/language/Import/Listing/Preview/Text": {
            "title": "$:/language/Import/Listing/Preview/Text",
            "text": "Text"
        },
        "$:/language/Import/Listing/Preview/TextRaw": {
            "title": "$:/language/Import/Listing/Preview/TextRaw",
            "text": "Text (Raw)"
        },
        "$:/language/Import/Listing/Preview/Fields": {
            "title": "$:/language/Import/Listing/Preview/Fields",
            "text": "Fields"
        },
        "$:/language/Import/Listing/Preview/Diff": {
            "title": "$:/language/Import/Listing/Preview/Diff",
            "text": "Diff"
        },
        "$:/language/Import/Listing/Preview/DiffFields": {
            "title": "$:/language/Import/Listing/Preview/DiffFields",
            "text": "Diff (Fields)"
        },
        "$:/language/Import/Upgrader/Plugins/Suppressed/Incompatible": {
            "title": "$:/language/Import/Upgrader/Plugins/Suppressed/Incompatible",
            "text": "Blocked incompatible or obsolete plugin"
        },
        "$:/language/Import/Upgrader/Plugins/Suppressed/Version": {
            "title": "$:/language/Import/Upgrader/Plugins/Suppressed/Version",
            "text": "Blocked plugin (due to incoming <<incoming>> being older than existing <<existing>>)"
        },
        "$:/language/Import/Upgrader/Plugins/Upgraded": {
            "title": "$:/language/Import/Upgrader/Plugins/Upgraded",
            "text": "Upgraded plugin from <<incoming>> to <<upgraded>>"
        },
        "$:/language/Import/Upgrader/State/Suppressed": {
            "title": "$:/language/Import/Upgrader/State/Suppressed",
            "text": "Blocked temporary state tiddler"
        },
        "$:/language/Import/Upgrader/System/Suppressed": {
            "title": "$:/language/Import/Upgrader/System/Suppressed",
            "text": "Blocked system tiddler"
        },
        "$:/language/Import/Upgrader/System/Warning": {
            "title": "$:/language/Import/Upgrader/System/Warning",
            "text": "Core module tiddler"
        },
        "$:/language/Import/Upgrader/System/Alert": {
            "title": "$:/language/Import/Upgrader/System/Alert",
            "text": "You are about to import a tiddler that will overwrite a core module tiddler. This is not recommended as it may make the system unstable"
        },
        "$:/language/Import/Upgrader/ThemeTweaks/Created": {
            "title": "$:/language/Import/Upgrader/ThemeTweaks/Created",
            "text": "Migrated theme tweak from <$text text=<<from>>/>"
        },
        "$:/language/AboveStory/ClassicPlugin/Warning": {
            "title": "$:/language/AboveStory/ClassicPlugin/Warning",
            "text": "It looks like you are trying to load a plugin designed for ~TiddlyWiki Classic. Please note that [[these plugins do not work with TiddlyWiki version 5.x.x|https://tiddlywiki.com/#TiddlyWikiClassic]]. ~TiddlyWiki Classic plugins detected:"
        },
        "$:/language/BinaryWarning/Prompt": {
            "title": "$:/language/BinaryWarning/Prompt",
            "text": "This tiddler contains binary data"
        },
        "$:/language/ClassicWarning/Hint": {
            "title": "$:/language/ClassicWarning/Hint",
            "text": "This tiddler is written in TiddlyWiki Classic wiki text format, which is not fully compatible with TiddlyWiki version 5. See https://tiddlywiki.com/static/Upgrading.html for more details."
        },
        "$:/language/ClassicWarning/Upgrade/Caption": {
            "title": "$:/language/ClassicWarning/Upgrade/Caption",
            "text": "upgrade"
        },
        "$:/language/CloseAll/Button": {
            "title": "$:/language/CloseAll/Button",
            "text": "close all"
        },
        "$:/language/ColourPicker/Recent": {
            "title": "$:/language/ColourPicker/Recent",
            "text": "Recent:"
        },
        "$:/language/ConfirmCancelTiddler": {
            "title": "$:/language/ConfirmCancelTiddler",
            "text": "Do you wish to discard changes to the tiddler \"<$text text=<<title>>/>\"?"
        },
        "$:/language/ConfirmDeleteTiddler": {
            "title": "$:/language/ConfirmDeleteTiddler",
            "text": "Do you wish to delete the tiddler \"<$text text=<<title>>/>\"?"
        },
        "$:/language/ConfirmOverwriteTiddler": {
            "title": "$:/language/ConfirmOverwriteTiddler",
            "text": "Do you wish to overwrite the tiddler \"<$text text=<<title>>/>\"?"
        },
        "$:/language/ConfirmEditShadowTiddler": {
            "title": "$:/language/ConfirmEditShadowTiddler",
            "text": "You are about to edit a ShadowTiddler. Any changes will override the default system making future upgrades non-trivial. Are you sure you want to edit \"<$text text=<<title>>/>\"?"
        },
        "$:/language/Count": {
            "title": "$:/language/Count",
            "text": "count"
        },
        "$:/language/DefaultNewTiddlerTitle": {
            "title": "$:/language/DefaultNewTiddlerTitle",
            "text": "New Tiddler"
        },
        "$:/language/Diffs/CountMessage": {
            "title": "$:/language/Diffs/CountMessage",
            "text": "<<diff-count>> differences"
        },
        "$:/language/DropMessage": {
            "title": "$:/language/DropMessage",
            "text": "Drop here (or use the 'Escape' key to cancel)"
        },
        "$:/language/Encryption/Cancel": {
            "title": "$:/language/Encryption/Cancel",
            "text": "Cancel"
        },
        "$:/language/Encryption/ConfirmClearPassword": {
            "title": "$:/language/Encryption/ConfirmClearPassword",
            "text": "Do you wish to clear the password? This will remove the encryption applied when saving this wiki"
        },
        "$:/language/Encryption/PromptSetPassword": {
            "title": "$:/language/Encryption/PromptSetPassword",
            "text": "Set a new password for this TiddlyWiki"
        },
        "$:/language/Encryption/Username": {
            "title": "$:/language/Encryption/Username",
            "text": "Username"
        },
        "$:/language/Encryption/Password": {
            "title": "$:/language/Encryption/Password",
            "text": "Password"
        },
        "$:/language/Encryption/RepeatPassword": {
            "title": "$:/language/Encryption/RepeatPassword",
            "text": "Repeat password"
        },
        "$:/language/Encryption/PasswordNoMatch": {
            "title": "$:/language/Encryption/PasswordNoMatch",
            "text": "Passwords do not match"
        },
        "$:/language/Encryption/SetPassword": {
            "title": "$:/language/Encryption/SetPassword",
            "text": "Set password"
        },
        "$:/language/Error/Caption": {
            "title": "$:/language/Error/Caption",
            "text": "Error"
        },
        "$:/language/Error/EditConflict": {
            "title": "$:/language/Error/EditConflict",
            "text": "File changed on server"
        },
        "$:/language/Error/Filter": {
            "title": "$:/language/Error/Filter",
            "text": "Filter error"
        },
        "$:/language/Error/FilterSyntax": {
            "title": "$:/language/Error/FilterSyntax",
            "text": "Syntax error in filter expression"
        },
        "$:/language/Error/IsFilterOperator": {
            "title": "$:/language/Error/IsFilterOperator",
            "text": "Filter Error: Unknown operand for the 'is' filter operator"
        },
        "$:/language/Error/LoadingPluginLibrary": {
            "title": "$:/language/Error/LoadingPluginLibrary",
            "text": "Error loading plugin library"
        },
        "$:/language/Error/RecursiveTransclusion": {
            "title": "$:/language/Error/RecursiveTransclusion",
            "text": "Recursive transclusion error in transclude widget"
        },
        "$:/language/Error/RetrievingSkinny": {
            "title": "$:/language/Error/RetrievingSkinny",
            "text": "Error retrieving skinny tiddler list"
        },
        "$:/language/Error/SavingToTWEdit": {
            "title": "$:/language/Error/SavingToTWEdit",
            "text": "Error saving to TWEdit"
        },
        "$:/language/Error/WhileSaving": {
            "title": "$:/language/Error/WhileSaving",
            "text": "Error while saving"
        },
        "$:/language/Error/XMLHttpRequest": {
            "title": "$:/language/Error/XMLHttpRequest",
            "text": "XMLHttpRequest error code"
        },
        "$:/language/InternalJavaScriptError/Title": {
            "title": "$:/language/InternalJavaScriptError/Title",
            "text": "Internal JavaScript Error"
        },
        "$:/language/InternalJavaScriptError/Hint": {
            "title": "$:/language/InternalJavaScriptError/Hint",
            "text": "Well, this is embarrassing. It is recommended that you restart TiddlyWiki by refreshing your browser"
        },
        "$:/language/InvalidFieldName": {
            "title": "$:/language/InvalidFieldName",
            "text": "Illegal characters in field name \"<$text text=<<fieldName>>/>\". Fields can only contain lowercase letters, digits and the characters underscore (`_`), hyphen (`-`) and period (`.`)"
        },
        "$:/language/LazyLoadingWarning": {
            "title": "$:/language/LazyLoadingWarning",
            "text": "<p>Trying to load external content from ''<$text text={{!!_canonical_uri}}/>''</p><p>If this message doesn't disappear, either the tiddler content type doesn't match the type of the external content, or you may be using a browser that doesn't support external content for wikis loaded as standalone files. See https://tiddlywiki.com/#ExternalText</p>"
        },
        "$:/language/LoginToTiddlySpace": {
            "title": "$:/language/LoginToTiddlySpace",
            "text": "Login to TiddlySpace"
        },
        "$:/language/Manager/Controls/FilterByTag/None": {
            "title": "$:/language/Manager/Controls/FilterByTag/None",
            "text": "(none)"
        },
        "$:/language/Manager/Controls/FilterByTag/Prompt": {
            "title": "$:/language/Manager/Controls/FilterByTag/Prompt",
            "text": "Filter by tag:"
        },
        "$:/language/Manager/Controls/Order/Prompt": {
            "title": "$:/language/Manager/Controls/Order/Prompt",
            "text": "Reverse order"
        },
        "$:/language/Manager/Controls/Search/Placeholder": {
            "title": "$:/language/Manager/Controls/Search/Placeholder",
            "text": "Search"
        },
        "$:/language/Manager/Controls/Search/Prompt": {
            "title": "$:/language/Manager/Controls/Search/Prompt",
            "text": "Search:"
        },
        "$:/language/Manager/Controls/Show/Option/Tags": {
            "title": "$:/language/Manager/Controls/Show/Option/Tags",
            "text": "tags"
        },
        "$:/language/Manager/Controls/Show/Option/Tiddlers": {
            "title": "$:/language/Manager/Controls/Show/Option/Tiddlers",
            "text": "tiddlers"
        },
        "$:/language/Manager/Controls/Show/Prompt": {
            "title": "$:/language/Manager/Controls/Show/Prompt",
            "text": "Show:"
        },
        "$:/language/Manager/Controls/Sort/Prompt": {
            "title": "$:/language/Manager/Controls/Sort/Prompt",
            "text": "Sort by:"
        },
        "$:/language/Manager/Item/Colour": {
            "title": "$:/language/Manager/Item/Colour",
            "text": "Colour"
        },
        "$:/language/Manager/Item/Fields": {
            "title": "$:/language/Manager/Item/Fields",
            "text": "Fields"
        },
        "$:/language/Manager/Item/Icon/None": {
            "title": "$:/language/Manager/Item/Icon/None",
            "text": "(none)"
        },
        "$:/language/Manager/Item/Icon": {
            "title": "$:/language/Manager/Item/Icon",
            "text": "Icon"
        },
        "$:/language/Manager/Item/RawText": {
            "title": "$:/language/Manager/Item/RawText",
            "text": "Raw text"
        },
        "$:/language/Manager/Item/Tags": {
            "title": "$:/language/Manager/Item/Tags",
            "text": "Tags"
        },
        "$:/language/Manager/Item/Tools": {
            "title": "$:/language/Manager/Item/Tools",
            "text": "Tools"
        },
        "$:/language/Manager/Item/WikifiedText": {
            "title": "$:/language/Manager/Item/WikifiedText",
            "text": "Wikified text"
        },
        "$:/language/MissingTiddler/Hint": {
            "title": "$:/language/MissingTiddler/Hint",
            "text": "Missing tiddler \"<$text text=<<currentTiddler>>/>\" -- click {{||$:/core/ui/Buttons/edit}} to create"
        },
        "$:/language/No": {
            "title": "$:/language/No",
            "text": "No"
        },
        "$:/language/OfficialPluginLibrary": {
            "title": "$:/language/OfficialPluginLibrary",
            "text": "Official ~TiddlyWiki Plugin Library"
        },
        "$:/language/OfficialPluginLibrary/Hint": {
            "title": "$:/language/OfficialPluginLibrary/Hint",
            "text": "The official ~TiddlyWiki plugin library at tiddlywiki.com. Plugins, themes and language packs are maintained by the core team."
        },
        "$:/language/PluginReloadWarning": {
            "title": "$:/language/PluginReloadWarning",
            "text": "Please save {{$:/core/ui/Buttons/save-wiki}} and reload {{$:/core/ui/Buttons/refresh}} to allow changes to plugins to take effect"
        },
        "$:/language/RecentChanges/DateFormat": {
            "title": "$:/language/RecentChanges/DateFormat",
            "text": "DDth MMM YYYY"
        },
        "$:/language/SystemTiddler/Tooltip": {
            "title": "$:/language/SystemTiddler/Tooltip",
            "text": "This is a system tiddler"
        },
        "$:/language/SystemTiddlers/Include/Prompt": {
            "title": "$:/language/SystemTiddlers/Include/Prompt",
            "text": "Include system tiddlers"
        },
        "$:/language/TagManager/Colour/Heading": {
            "title": "$:/language/TagManager/Colour/Heading",
            "text": "Colour"
        },
        "$:/language/TagManager/Count/Heading": {
            "title": "$:/language/TagManager/Count/Heading",
            "text": "Count"
        },
        "$:/language/TagManager/Icon/Heading": {
            "title": "$:/language/TagManager/Icon/Heading",
            "text": "Icon"
        },
        "$:/language/TagManager/Info/Heading": {
            "title": "$:/language/TagManager/Info/Heading",
            "text": "Info"
        },
        "$:/language/TagManager/Tag/Heading": {
            "title": "$:/language/TagManager/Tag/Heading",
            "text": "Tag"
        },
        "$:/language/Tiddler/DateFormat": {
            "title": "$:/language/Tiddler/DateFormat",
            "text": "DDth MMM YYYY at hh12:0mmam"
        },
        "$:/language/UnsavedChangesWarning": {
            "title": "$:/language/UnsavedChangesWarning",
            "text": "You have unsaved changes in TiddlyWiki"
        },
        "$:/language/Yes": {
            "title": "$:/language/Yes",
            "text": "Yes"
        },
        "$:/language/Modals/Download": {
            "title": "$:/language/Modals/Download",
            "subtitle": "Download changes",
            "footer": "<$button message=\"tm-close-tiddler\">Close</$button>",
            "help": "https://tiddlywiki.com/static/DownloadingChanges.html",
            "text": "Your browser only supports manual saving.\n\nTo save your modified wiki, right click on the download link below and select \"Download file\" or \"Save file\", and then choose the folder and filename.\n\n//You can marginally speed things up by clicking the link with the control key (Windows) or the options/alt key (Mac OS X). You will not be prompted for the folder or filename, but your browser is likely to give it an unrecognisable name -- you may need to rename the file to include an `.html` extension before you can do anything useful with it.//\n\nOn smartphones that do not allow files to be downloaded you can instead bookmark the link, and then sync your bookmarks to a desktop computer from where the wiki can be saved normally.\n"
        },
        "$:/language/Modals/SaveInstructions": {
            "title": "$:/language/Modals/SaveInstructions",
            "subtitle": "Save your work",
            "footer": "<$button message=\"tm-close-tiddler\">Close</$button>",
            "help": "https://tiddlywiki.com/static/SavingChanges.html",
            "text": "Your changes to this wiki need to be saved as a ~TiddlyWiki HTML file.\n\n!!! Desktop browsers\n\n# Select ''Save As'' from the ''File'' menu\n# Choose a filename and location\n#* Some browsers also require you to explicitly specify the file saving format as ''Webpage, HTML only'' or similar\n# Close this tab\n\n!!! Smartphone browsers\n\n# Create a bookmark to this page\n#* If you've got iCloud or Google Sync set up then the bookmark will automatically sync to your desktop where you can open it and save it as above\n# Close this tab\n\n//If you open the bookmark again in Mobile Safari you will see this message again. If you want to go ahead and use the file, just click the ''close'' button below//\n"
        },
        "$:/config/NewJournal/Title": {
            "title": "$:/config/NewJournal/Title",
            "text": "DDth MMM YYYY"
        },
        "$:/config/NewJournal/Text": {
            "title": "$:/config/NewJournal/Text",
            "text": ""
        },
        "$:/config/NewJournal/Tags": {
            "title": "$:/config/NewJournal/Tags",
            "text": "Journal"
        },
        "$:/language/Notifications/Save/Done": {
            "title": "$:/language/Notifications/Save/Done",
            "text": "Saved wiki"
        },
        "$:/language/Notifications/Save/Starting": {
            "title": "$:/language/Notifications/Save/Starting",
            "text": "Starting to save wiki"
        },
        "$:/language/Notifications/CopiedToClipboard/Succeeded": {
            "title": "$:/language/Notifications/CopiedToClipboard/Succeeded",
            "text": "Copied to clipboard!"
        },
        "$:/language/Notifications/CopiedToClipboard/Failed": {
            "title": "$:/language/Notifications/CopiedToClipboard/Failed",
            "text": "Failed to copy to clipboard!"
        },
        "$:/language/Search/DefaultResults/Caption": {
            "title": "$:/language/Search/DefaultResults/Caption",
            "text": "List"
        },
        "$:/language/Search/Filter/Caption": {
            "title": "$:/language/Search/Filter/Caption",
            "text": "Filter"
        },
        "$:/language/Search/Filter/Hint": {
            "title": "$:/language/Search/Filter/Hint",
            "text": "Search via a [[filter expression|https://tiddlywiki.com/static/Filters.html]]"
        },
        "$:/language/Search/Filter/Matches": {
            "title": "$:/language/Search/Filter/Matches",
            "text": "//<small><<resultCount>> matches</small>//"
        },
        "$:/language/Search/Matches": {
            "title": "$:/language/Search/Matches",
            "text": "//<small><<resultCount>> matches</small>//"
        },
        "$:/language/Search/Matches/All": {
            "title": "$:/language/Search/Matches/All",
            "text": "All matches:"
        },
        "$:/language/Search/Matches/Title": {
            "title": "$:/language/Search/Matches/Title",
            "text": "Title matches:"
        },
        "$:/language/Search/Search": {
            "title": "$:/language/Search/Search",
            "text": "Search"
        },
        "$:/language/Search/Search/TooShort": {
            "title": "$:/language/Search/Search/TooShort",
            "text": "Search text too short"
        },
        "$:/language/Search/Shadows/Caption": {
            "title": "$:/language/Search/Shadows/Caption",
            "text": "Shadows"
        },
        "$:/language/Search/Shadows/Hint": {
            "title": "$:/language/Search/Shadows/Hint",
            "text": "Search for shadow tiddlers"
        },
        "$:/language/Search/Shadows/Matches": {
            "title": "$:/language/Search/Shadows/Matches",
            "text": "//<small><<resultCount>> matches</small>//"
        },
        "$:/language/Search/Standard/Caption": {
            "title": "$:/language/Search/Standard/Caption",
            "text": "Standard"
        },
        "$:/language/Search/Standard/Hint": {
            "title": "$:/language/Search/Standard/Hint",
            "text": "Search for standard tiddlers"
        },
        "$:/language/Search/Standard/Matches": {
            "title": "$:/language/Search/Standard/Matches",
            "text": "//<small><<resultCount>> matches</small>//"
        },
        "$:/language/Search/System/Caption": {
            "title": "$:/language/Search/System/Caption",
            "text": "System"
        },
        "$:/language/Search/System/Hint": {
            "title": "$:/language/Search/System/Hint",
            "text": "Search for system tiddlers"
        },
        "$:/language/Search/System/Matches": {
            "title": "$:/language/Search/System/Matches",
            "text": "//<small><<resultCount>> matches</small>//"
        },
        "$:/language/SideBar/All/Caption": {
            "title": "$:/language/SideBar/All/Caption",
            "text": "All"
        },
        "$:/language/SideBar/Contents/Caption": {
            "title": "$:/language/SideBar/Contents/Caption",
            "text": "Contents"
        },
        "$:/language/SideBar/Drafts/Caption": {
            "title": "$:/language/SideBar/Drafts/Caption",
            "text": "Drafts"
        },
        "$:/language/SideBar/Explorer/Caption": {
            "title": "$:/language/SideBar/Explorer/Caption",
            "text": "Explorer"
        },
        "$:/language/SideBar/Missing/Caption": {
            "title": "$:/language/SideBar/Missing/Caption",
            "text": "Missing"
        },
        "$:/language/SideBar/More/Caption": {
            "title": "$:/language/SideBar/More/Caption",
            "text": "More"
        },
        "$:/language/SideBar/Open/Caption": {
            "title": "$:/language/SideBar/Open/Caption",
            "text": "Open"
        },
        "$:/language/SideBar/Orphans/Caption": {
            "title": "$:/language/SideBar/Orphans/Caption",
            "text": "Orphans"
        },
        "$:/language/SideBar/Recent/Caption": {
            "title": "$:/language/SideBar/Recent/Caption",
            "text": "Recent"
        },
        "$:/language/SideBar/Shadows/Caption": {
            "title": "$:/language/SideBar/Shadows/Caption",
            "text": "Shadows"
        },
        "$:/language/SideBar/System/Caption": {
            "title": "$:/language/SideBar/System/Caption",
            "text": "System"
        },
        "$:/language/SideBar/Tags/Caption": {
            "title": "$:/language/SideBar/Tags/Caption",
            "text": "Tags"
        },
        "$:/language/SideBar/Tags/Untagged/Caption": {
            "title": "$:/language/SideBar/Tags/Untagged/Caption",
            "text": "untagged"
        },
        "$:/language/SideBar/Tools/Caption": {
            "title": "$:/language/SideBar/Tools/Caption",
            "text": "Tools"
        },
        "$:/language/SideBar/Types/Caption": {
            "title": "$:/language/SideBar/Types/Caption",
            "text": "Types"
        },
        "$:/SiteSubtitle": {
            "title": "$:/SiteSubtitle",
            "text": "a non-linear personal web notebook"
        },
        "$:/SiteTitle": {
            "title": "$:/SiteTitle",
            "text": "My ~TiddlyWiki"
        },
        "$:/language/Snippets/ListByTag": {
            "title": "$:/language/Snippets/ListByTag",
            "tags": "$:/tags/TextEditor/Snippet",
            "caption": "List of tiddlers by tag",
            "text": "<<list-links \"[tag[task]sort[title]]\">>\n"
        },
        "$:/language/Snippets/MacroDefinition": {
            "title": "$:/language/Snippets/MacroDefinition",
            "tags": "$:/tags/TextEditor/Snippet",
            "caption": "Macro definition",
            "text": "\\define macroName(param1:\"default value\",param2)\nText of the macro\n\\end\n"
        },
        "$:/language/Snippets/Table4x3": {
            "title": "$:/language/Snippets/Table4x3",
            "tags": "$:/tags/TextEditor/Snippet",
            "caption": "Table with 4 columns by 3 rows",
            "text": "|! |!Alpha |!Beta |!Gamma |!Delta |\n|!One | | | | |\n|!Two | | | | |\n|!Three | | | | |\n"
        },
        "$:/language/Snippets/TableOfContents": {
            "title": "$:/language/Snippets/TableOfContents",
            "tags": "$:/tags/TextEditor/Snippet",
            "caption": "Table of Contents",
            "text": "<div class=\"tc-table-of-contents\">\n\n<<toc-selective-expandable 'TableOfContents'>>\n\n</div>"
        },
        "$:/language/ThemeTweaks/ThemeTweaks": {
            "title": "$:/language/ThemeTweaks/ThemeTweaks",
            "text": "Theme Tweaks"
        },
        "$:/language/ThemeTweaks/ThemeTweaks/Hint": {
            "title": "$:/language/ThemeTweaks/ThemeTweaks/Hint",
            "text": "You can tweak certain aspects of the ''Vanilla'' theme."
        },
        "$:/language/ThemeTweaks/Options": {
            "title": "$:/language/ThemeTweaks/Options",
            "text": "Options"
        },
        "$:/language/ThemeTweaks/Options/SidebarLayout": {
            "title": "$:/language/ThemeTweaks/Options/SidebarLayout",
            "text": "Sidebar layout"
        },
        "$:/language/ThemeTweaks/Options/SidebarLayout/Fixed-Fluid": {
            "title": "$:/language/ThemeTweaks/Options/SidebarLayout/Fixed-Fluid",
            "text": "Fixed story, fluid sidebar"
        },
        "$:/language/ThemeTweaks/Options/SidebarLayout/Fluid-Fixed": {
            "title": "$:/language/ThemeTweaks/Options/SidebarLayout/Fluid-Fixed",
            "text": "Fluid story, fixed sidebar"
        },
        "$:/language/ThemeTweaks/Options/StickyTitles": {
            "title": "$:/language/ThemeTweaks/Options/StickyTitles",
            "text": "Sticky titles"
        },
        "$:/language/ThemeTweaks/Options/StickyTitles/Hint": {
            "title": "$:/language/ThemeTweaks/Options/StickyTitles/Hint",
            "text": "Causes tiddler titles to \"stick\" to the top of the browser window"
        },
        "$:/language/ThemeTweaks/Options/CodeWrapping": {
            "title": "$:/language/ThemeTweaks/Options/CodeWrapping",
            "text": "Wrap long lines in code blocks"
        },
        "$:/language/ThemeTweaks/Settings": {
            "title": "$:/language/ThemeTweaks/Settings",
            "text": "Settings"
        },
        "$:/language/ThemeTweaks/Settings/FontFamily": {
            "title": "$:/language/ThemeTweaks/Settings/FontFamily",
            "text": "Font family"
        },
        "$:/language/ThemeTweaks/Settings/CodeFontFamily": {
            "title": "$:/language/ThemeTweaks/Settings/CodeFontFamily",
            "text": "Code font family"
        },
        "$:/language/ThemeTweaks/Settings/EditorFontFamily": {
            "title": "$:/language/ThemeTweaks/Settings/EditorFontFamily",
            "text": "Editor font family"
        },
        "$:/language/ThemeTweaks/Settings/BackgroundImage": {
            "title": "$:/language/ThemeTweaks/Settings/BackgroundImage",
            "text": "Page background image"
        },
        "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment": {
            "title": "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment",
            "text": "Page background image attachment"
        },
        "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Scroll": {
            "title": "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Scroll",
            "text": "Scroll with tiddlers"
        },
        "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Fixed": {
            "title": "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Fixed",
            "text": "Fixed to window"
        },
        "$:/language/ThemeTweaks/Settings/BackgroundImageSize": {
            "title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize",
            "text": "Page background image size"
        },
        "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Auto": {
            "title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Auto",
            "text": "Auto"
        },
        "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Cover": {
            "title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Cover",
            "text": "Cover"
        },
        "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Contain": {
            "title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Contain",
            "text": "Contain"
        },
        "$:/language/ThemeTweaks/Metrics": {
            "title": "$:/language/ThemeTweaks/Metrics",
            "text": "Sizes"
        },
        "$:/language/ThemeTweaks/Metrics/FontSize": {
            "title": "$:/language/ThemeTweaks/Metrics/FontSize",
            "text": "Font size"
        },
        "$:/language/ThemeTweaks/Metrics/LineHeight": {
            "title": "$:/language/ThemeTweaks/Metrics/LineHeight",
            "text": "Line height"
        },
        "$:/language/ThemeTweaks/Metrics/BodyFontSize": {
            "title": "$:/language/ThemeTweaks/Metrics/BodyFontSize",
            "text": "Font size for tiddler body"
        },
        "$:/language/ThemeTweaks/Metrics/BodyLineHeight": {
            "title": "$:/language/ThemeTweaks/Metrics/BodyLineHeight",
            "text": "Line height for tiddler body"
        },
        "$:/language/ThemeTweaks/Metrics/StoryLeft": {
            "title": "$:/language/ThemeTweaks/Metrics/StoryLeft",
            "text": "Story left position"
        },
        "$:/language/ThemeTweaks/Metrics/StoryLeft/Hint": {
            "title": "$:/language/ThemeTweaks/Metrics/StoryLeft/Hint",
            "text": "how far the left margin of the story river<br>(tiddler area) is from the left of the page"
        },
        "$:/language/ThemeTweaks/Metrics/StoryTop": {
            "title": "$:/language/ThemeTweaks/Metrics/StoryTop",
            "text": "Story top position"
        },
        "$:/language/ThemeTweaks/Metrics/StoryTop/Hint": {
            "title": "$:/language/ThemeTweaks/Metrics/StoryTop/Hint",
            "text": "how far the top margin of the story river<br>is from the top of the page"
        },
        "$:/language/ThemeTweaks/Metrics/StoryRight": {
            "title": "$:/language/ThemeTweaks/Metrics/StoryRight",
            "text": "Story right"
        },
        "$:/language/ThemeTweaks/Metrics/StoryRight/Hint": {
            "title": "$:/language/ThemeTweaks/Metrics/StoryRight/Hint",
            "text": "how far the left margin of the sidebar <br>is from the left of the page"
        },
        "$:/language/ThemeTweaks/Metrics/StoryWidth": {
            "title": "$:/language/ThemeTweaks/Metrics/StoryWidth",
            "text": "Story width"
        },
        "$:/language/ThemeTweaks/Metrics/StoryWidth/Hint": {
            "title": "$:/language/ThemeTweaks/Metrics/StoryWidth/Hint",
            "text": "the overall width of the story river"
        },
        "$:/language/ThemeTweaks/Metrics/TiddlerWidth": {
            "title": "$:/language/ThemeTweaks/Metrics/TiddlerWidth",
            "text": "Tiddler width"
        },
        "$:/language/ThemeTweaks/Metrics/TiddlerWidth/Hint": {
            "title": "$:/language/ThemeTweaks/Metrics/TiddlerWidth/Hint",
            "text": "within the story river"
        },
        "$:/language/ThemeTweaks/Metrics/SidebarBreakpoint": {
            "title": "$:/language/ThemeTweaks/Metrics/SidebarBreakpoint",
            "text": "Sidebar breakpoint"
        },
        "$:/language/ThemeTweaks/Metrics/SidebarBreakpoint/Hint": {
            "title": "$:/language/ThemeTweaks/Metrics/SidebarBreakpoint/Hint",
            "text": "the minimum page width at which the story<br>river and sidebar will appear side by side"
        },
        "$:/language/ThemeTweaks/Metrics/SidebarWidth": {
            "title": "$:/language/ThemeTweaks/Metrics/SidebarWidth",
            "text": "Sidebar width"
        },
        "$:/language/ThemeTweaks/Metrics/SidebarWidth/Hint": {
            "title": "$:/language/ThemeTweaks/Metrics/SidebarWidth/Hint",
            "text": "the width of the sidebar in fluid-fixed layout"
        },
        "$:/language/TiddlerInfo/Advanced/Caption": {
            "title": "$:/language/TiddlerInfo/Advanced/Caption",
            "text": "Advanced"
        },
        "$:/language/TiddlerInfo/Advanced/PluginInfo/Empty/Hint": {
            "title": "$:/language/TiddlerInfo/Advanced/PluginInfo/Empty/Hint",
            "text": "none"
        },
        "$:/language/TiddlerInfo/Advanced/PluginInfo/Heading": {
            "title": "$:/language/TiddlerInfo/Advanced/PluginInfo/Heading",
            "text": "Plugin Details"
        },
        "$:/language/TiddlerInfo/Advanced/PluginInfo/Hint": {
            "title": "$:/language/TiddlerInfo/Advanced/PluginInfo/Hint",
            "text": "This plugin contains the following shadow tiddlers:"
        },
        "$:/language/TiddlerInfo/Advanced/ShadowInfo/Heading": {
            "title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/Heading",
            "text": "Shadow Status"
        },
        "$:/language/TiddlerInfo/Advanced/ShadowInfo/NotShadow/Hint": {
            "title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/NotShadow/Hint",
            "text": "The tiddler <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> is not a shadow tiddler"
        },
        "$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Hint": {
            "title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Hint",
            "text": "The tiddler <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> is a shadow tiddler"
        },
        "$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Source": {
            "title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Source",
            "text": "It is defined in the plugin <$link to=<<pluginTiddler>>><$text text=<<pluginTiddler>>/></$link>"
        },
        "$:/language/TiddlerInfo/Advanced/ShadowInfo/OverriddenShadow/Hint": {
            "title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/OverriddenShadow/Hint",
            "text": "It is overridden by an ordinary tiddler"
        },
        "$:/language/TiddlerInfo/Fields/Caption": {
            "title": "$:/language/TiddlerInfo/Fields/Caption",
            "text": "Fields"
        },
        "$:/language/TiddlerInfo/List/Caption": {
            "title": "$:/language/TiddlerInfo/List/Caption",
            "text": "List"
        },
        "$:/language/TiddlerInfo/List/Empty": {
            "title": "$:/language/TiddlerInfo/List/Empty",
            "text": "This tiddler does not have a list"
        },
        "$:/language/TiddlerInfo/Listed/Caption": {
            "title": "$:/language/TiddlerInfo/Listed/Caption",
            "text": "Listed"
        },
        "$:/language/TiddlerInfo/Listed/Empty": {
            "title": "$:/language/TiddlerInfo/Listed/Empty",
            "text": "This tiddler is not listed by any others"
        },
        "$:/language/TiddlerInfo/References/Caption": {
            "title": "$:/language/TiddlerInfo/References/Caption",
            "text": "References"
        },
        "$:/language/TiddlerInfo/References/Empty": {
            "title": "$:/language/TiddlerInfo/References/Empty",
            "text": "No tiddlers link to this one"
        },
        "$:/language/TiddlerInfo/Tagging/Caption": {
            "title": "$:/language/TiddlerInfo/Tagging/Caption",
            "text": "Tagging"
        },
        "$:/language/TiddlerInfo/Tagging/Empty": {
            "title": "$:/language/TiddlerInfo/Tagging/Empty",
            "text": "No tiddlers are tagged with this one"
        },
        "$:/language/TiddlerInfo/Tools/Caption": {
            "title": "$:/language/TiddlerInfo/Tools/Caption",
            "text": "Tools"
        },
        "$:/language/Docs/Types/application/javascript": {
            "title": "$:/language/Docs/Types/application/javascript",
            "description": "JavaScript code",
            "name": "application/javascript",
            "group": "Developer",
            "group-sort": "2"
        },
        "$:/language/Docs/Types/application/json": {
            "title": "$:/language/Docs/Types/application/json",
            "description": "JSON data",
            "name": "application/json",
            "group": "Developer",
            "group-sort": "2"
        },
        "$:/language/Docs/Types/application/x-tiddler-dictionary": {
            "title": "$:/language/Docs/Types/application/x-tiddler-dictionary",
            "description": "Data dictionary",
            "name": "application/x-tiddler-dictionary",
            "group": "Developer",
            "group-sort": "2"
        },
        "$:/language/Docs/Types/image/gif": {
            "title": "$:/language/Docs/Types/image/gif",
            "description": "GIF image",
            "name": "image/gif",
            "group": "Image",
            "group-sort": "1"
        },
        "$:/language/Docs/Types/image/jpeg": {
            "title": "$:/language/Docs/Types/image/jpeg",
            "description": "JPEG image",
            "name": "image/jpeg",
            "group": "Image",
            "group-sort": "1"
        },
        "$:/language/Docs/Types/image/png": {
            "title": "$:/language/Docs/Types/image/png",
            "description": "PNG image",
            "name": "image/png",
            "group": "Image",
            "group-sort": "1"
        },
        "$:/language/Docs/Types/image/svg+xml": {
            "title": "$:/language/Docs/Types/image/svg+xml",
            "description": "Structured Vector Graphics image",
            "name": "image/svg+xml",
            "group": "Image",
            "group-sort": "1"
        },
        "$:/language/Docs/Types/image/x-icon": {
            "title": "$:/language/Docs/Types/image/x-icon",
            "description": "ICO format icon file",
            "name": "image/x-icon",
            "group": "Image",
            "group-sort": "1"
        },
        "$:/language/Docs/Types/text/css": {
            "title": "$:/language/Docs/Types/text/css",
            "description": "Static stylesheet",
            "name": "text/css",
            "group": "Developer",
            "group-sort": "2"
        },
        "$:/language/Docs/Types/text/html": {
            "title": "$:/language/Docs/Types/text/html",
            "description": "HTML markup",
            "name": "text/html",
            "group": "Text",
            "group-sort": "0"
        },
        "$:/language/Docs/Types/text/plain": {
            "title": "$:/language/Docs/Types/text/plain",
            "description": "Plain text",
            "name": "text/plain",
            "group": "Text",
            "group-sort": "0"
        },
        "$:/language/Docs/Types/text/vnd.tiddlywiki": {
            "title": "$:/language/Docs/Types/text/vnd.tiddlywiki",
            "description": "TiddlyWiki 5",
            "name": "text/vnd.tiddlywiki",
            "group": "Text",
            "group-sort": "0"
        },
        "$:/language/Docs/Types/text/x-tiddlywiki": {
            "title": "$:/language/Docs/Types/text/x-tiddlywiki",
            "description": "TiddlyWiki Classic",
            "name": "text/x-tiddlywiki",
            "group": "Text",
            "group-sort": "0"
        },
        "$:/languages/en-GB/icon": {
            "title": "$:/languages/en-GB/icon",
            "type": "image/svg+xml",
            "text": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 60 30\" width=\"1200\" height=\"600\">\n<clipPath id=\"t\">\n\t<path d=\"M30,15 h30 v15 z v15 h-30 z h-30 v-15 z v-15 h30 z\"/>\n</clipPath>\n<path d=\"M0,0 v30 h60 v-30 z\" fill=\"#00247d\"/>\n<path d=\"M0,0 L60,30 M60,0 L0,30\" stroke=\"#fff\" stroke-width=\"6\"/>\n<path d=\"M0,0 L60,30 M60,0 L0,30\" clip-path=\"url(#t)\" stroke=\"#cf142b\" stroke-width=\"4\"/>\n<path d=\"M30,0 v30 M0,15 h60\" stroke=\"#fff\" stroke-width=\"10\"/>\n<path d=\"M30,0 v30 M0,15 h60\" stroke=\"#cf142b\" stroke-width=\"6\"/>\n</svg>\n"
        },
        "$:/languages/en-GB": {
            "title": "$:/languages/en-GB",
            "name": "en-GB",
            "description": "English (British)",
            "author": "JeremyRuston",
            "core-version": ">=5.0.0\"",
            "text": "Stub pseudo-plugin for the default language"
        },
        "$:/core/modules/commander.js": {
            "title": "$:/core/modules/commander.js",
            "text": "/*\\\ntitle: $:/core/modules/commander.js\ntype: application/javascript\nmodule-type: global\n\nThe $tw.Commander class is a command interpreter\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nParse a sequence of commands\n\tcommandTokens: an array of command string tokens\n\twiki: reference to the wiki store object\n\tstreams: {output:, error:}, each of which has a write(string) method\n\tcallback: a callback invoked as callback(err) where err is null if there was no error\n*/\nvar Commander = function(commandTokens,callback,wiki,streams) {\n\tvar path = require(\"path\");\n\tthis.commandTokens = commandTokens;\n\tthis.nextToken = 0;\n\tthis.callback = callback;\n\tthis.wiki = wiki;\n\tthis.streams = streams;\n\tthis.outputPath = path.resolve($tw.boot.wikiPath,$tw.config.wikiOutputSubDir);\n};\n\n/*\nLog a string if verbose flag is set\n*/\nCommander.prototype.log = function(str) {\n\tif(this.verbose) {\n\t\tthis.streams.output.write(str + \"\\n\");\n\t}\n};\n\n/*\nWrite a string if verbose flag is set\n*/\nCommander.prototype.write = function(str) {\n\tif(this.verbose) {\n\t\tthis.streams.output.write(str);\n\t}\n};\n\n/*\nAdd a string of tokens to the command queue\n*/\nCommander.prototype.addCommandTokens = function(commandTokens) {\n\tvar params = commandTokens.slice(0);\n\tparams.unshift(0);\n\tparams.unshift(this.nextToken);\n\tArray.prototype.splice.apply(this.commandTokens,params);\n};\n\n/*\nExecute the sequence of commands and invoke a callback on completion\n*/\nCommander.prototype.execute = function() {\n\tthis.executeNextCommand();\n};\n\n/*\nExecute the next command in the sequence\n*/\nCommander.prototype.executeNextCommand = function() {\n\tvar self = this;\n\t// Invoke the callback if there are no more commands\n\tif(this.nextToken >= this.commandTokens.length) {\n\t\tthis.callback(null);\n\t} else {\n\t\t// Get and check the command token\n\t\tvar commandName = this.commandTokens[this.nextToken++];\n\t\tif(commandName.substr(0,2) !== \"--\") {\n\t\t\tthis.callback(\"Missing command: \" + commandName);\n\t\t} else {\n\t\t\tcommandName = commandName.substr(2); // Trim off the --\n\t\t\t// Accumulate the parameters to the command\n\t\t\tvar params = [];\n\t\t\twhile(this.nextToken < this.commandTokens.length && \n\t\t\t\tthis.commandTokens[this.nextToken].substr(0,2) !== \"--\") {\n\t\t\t\tparams.push(this.commandTokens[this.nextToken++]);\n\t\t\t}\n\t\t\t// Get the command info\n\t\t\tvar command = $tw.commands[commandName],\n\t\t\t\tc,err;\n\t\t\tif(!command) {\n\t\t\t\tthis.callback(\"Unknown command: \" + commandName);\n\t\t\t} else {\n\t\t\t\tif(this.verbose) {\n\t\t\t\t\tthis.streams.output.write(\"Executing command: \" + commandName + \" \" + params.join(\" \") + \"\\n\");\n\t\t\t\t}\n\t\t\t\t// Parse named parameters if required\n\t\t\t\tif(command.info.namedParameterMode) {\n\t\t\t\t\tparams = this.extractNamedParameters(params,command.info.mandatoryParameters);\n\t\t\t\t\tif(typeof params === \"string\") {\n\t\t\t\t\t\treturn this.callback(params);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(command.info.synchronous) {\n\t\t\t\t\t// Synchronous command\n\t\t\t\t\tc = new command.Command(params,this);\n\t\t\t\t\terr = c.execute();\n\t\t\t\t\tif(err) {\n\t\t\t\t\t\tthis.callback(err);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.executeNextCommand();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// Asynchronous command\n\t\t\t\t\tc = new command.Command(params,this,function(err) {\n\t\t\t\t\t\tif(err) {\n\t\t\t\t\t\t\tself.callback(err);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tself.executeNextCommand();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\terr = c.execute();\n\t\t\t\t\tif(err) {\n\t\t\t\t\t\tthis.callback(err);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\n/*\nGiven an array of parameter strings `params` in name:value format, and an array of mandatory parameter names in `mandatoryParameters`, returns a hashmap of values or a string if error\n*/\nCommander.prototype.extractNamedParameters = function(params,mandatoryParameters) {\n\tmandatoryParameters = mandatoryParameters || [];\n\tvar errors = [],\n\t\tparamsByName = Object.create(null);\n\t// Extract the parameters\n\t$tw.utils.each(params,function(param) {\n\t\tvar index = param.indexOf(\"=\");\n\t\tif(index < 1) {\n\t\t\terrors.push(\"malformed named parameter: '\" + param + \"'\");\n\t\t}\n\t\tparamsByName[param.slice(0,index)] = $tw.utils.trim(param.slice(index+1));\n\t});\n\t// Check the mandatory parameters are present\n\t$tw.utils.each(mandatoryParameters,function(mandatoryParameter) {\n\t\tif(!$tw.utils.hop(paramsByName,mandatoryParameter)) {\n\t\t\terrors.push(\"missing mandatory parameter: '\" + mandatoryParameter + \"'\");\n\t\t}\n\t});\n\t// Return any errors\n\tif(errors.length > 0) {\n\t\treturn errors.join(\" and\\n\");\n\t} else {\n\t\treturn paramsByName;\t\t\n\t}\n};\n\nCommander.initCommands = function(moduleType) {\n\tmoduleType = moduleType || \"command\";\n\t$tw.commands = {};\n\t$tw.modules.forEachModuleOfType(moduleType,function(title,module) {\n\t\tvar c = $tw.commands[module.info.name] = {};\n\t\t// Add the methods defined by the module\n\t\tfor(var f in module) {\n\t\t\tif($tw.utils.hop(module,f)) {\n\t\t\t\tc[f] = module[f];\n\t\t\t}\n\t\t}\n\t});\n};\n\nexports.Commander = Commander;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "global"
        },
        "$:/core/modules/commands/build.js": {
            "title": "$:/core/modules/commands/build.js",
            "text": "/*\\\ntitle: $:/core/modules/commands/build.js\ntype: application/javascript\nmodule-type: command\n\nCommand to build a build target\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"build\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\t// Get the build targets defined in the wiki\n\tvar buildTargets = $tw.boot.wikiInfo.build;\n\tif(!buildTargets) {\n\t\treturn \"No build targets defined\";\n\t}\n\t// Loop through each of the specified targets\n\tvar targets;\n\tif(this.params.length > 0) {\n\t\ttargets = this.params;\n\t} else {\n\t\ttargets = Object.keys(buildTargets);\n\t}\n\tfor(var targetIndex=0; targetIndex<targets.length; targetIndex++) {\n\t\tvar target = targets[targetIndex],\n\t\t\tcommands = buildTargets[target];\n\t\tif(!commands) {\n\t\t\treturn \"Build target '\" + target + \"' not found\";\n\t\t}\n\t\t// Add the commands to the queue\n\t\tthis.commander.addCommandTokens(commands);\n\t}\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/clearpassword.js": {
            "title": "$:/core/modules/commands/clearpassword.js",
            "text": "/*\\\ntitle: $:/core/modules/commands/clearpassword.js\ntype: application/javascript\nmodule-type: command\n\nClear password for crypto operations\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"clearpassword\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\t$tw.crypto.setPassword(null);\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/deletetiddlers.js": {
            "title": "$:/core/modules/commands/deletetiddlers.js",
            "text": "/*\\\ntitle: $:/core/modules/commands/deletetiddlers.js\ntype: application/javascript\nmodule-type: command\n\nCommand to delete tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"deletetiddlers\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing filter\";\n\t}\n\tvar self = this,\n\t\twiki = this.commander.wiki,\n\t\tfilter = this.params[0],\n\t\ttiddlers = wiki.filterTiddlers(filter);\n\t$tw.utils.each(tiddlers,function(title) {\n\t\twiki.deleteTiddler(title);\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/editions.js": {
            "title": "$:/core/modules/commands/editions.js",
            "text": "/*\\\ntitle: $:/core/modules/commands/editions.js\ntype: application/javascript\nmodule-type: command\n\nCommand to list the available editions\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"editions\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tvar self = this;\n\t// Output the list\n\tthis.commander.streams.output.write(\"Available editions:\\n\\n\");\n\tvar editionInfo = $tw.utils.getEditionInfo();\n\t$tw.utils.each(editionInfo,function(info,name) {\n\t\tself.commander.streams.output.write(\"    \" + name + \": \" + info.description + \"\\n\");\n\t});\n\tthis.commander.streams.output.write(\"\\n\");\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/fetch.js": {
            "title": "$:/core/modules/commands/fetch.js",
            "text": "/*\\\ntitle: $:/core/modules/commands/fetch.js\ntype: application/javascript\nmodule-type: command\n\nCommands to fetch external tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"fetch\",\n\tsynchronous: false\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing subcommand and url\";\n\t}\n\tswitch(this.params[0]) {\n\t\tcase \"raw-file\":\n\t\t\treturn this.fetchFiles({\n\t\t\t\traw: true,\n\t\t\t\turl: this.params[1],\n\t\t\t\ttransformFilter: this.params[2] || \"\",\n\t\t\t\tcallback: this.callback\n\t\t\t});\n\t\t\tbreak;\n\t\tcase \"file\":\n\t\t\treturn this.fetchFiles({\n\t\t\t\turl: this.params[1],\n\t\t\t\timportFilter: this.params[2],\n\t\t\t\ttransformFilter: this.params[3] || \"\",\n\t\t\t\tcallback: this.callback\n\t\t\t});\n\t\t\tbreak;\n\t\tcase \"raw-files\":\n\t\t\treturn this.fetchFiles({\n\t\t\t\traw: true,\n\t\t\t\turlFilter: this.params[1],\n\t\t\t\ttransformFilter: this.params[2] || \"\",\n\t\t\t\tcallback: this.callback\n\t\t\t});\n\t\t\tbreak;\n\t\tcase \"files\":\n\t\t\treturn this.fetchFiles({\n\t\t\t\turlFilter: this.params[1],\n\t\t\t\timportFilter: this.params[2],\n\t\t\t\ttransformFilter: this.params[3] || \"\",\n\t\t\t\tcallback: this.callback\n\t\t\t});\n\t\t\tbreak;\n\t}\n\treturn null;\n};\n\nCommand.prototype.fetchFiles = function(options) {\n\tvar self = this;\n\t// Get the list of URLs\n\tvar urls;\n\tif(options.url) {\n\t\turls = [options.url]\n\t} else if(options.urlFilter) {\n\t\turls = $tw.wiki.filterTiddlers(options.urlFilter);\n\t} else {\n\t\treturn \"Missing URL\";\n\t}\n\t// Process each URL in turn\n\tvar next = 0;\n\tvar getNextFile = function(err) {\n\t\tif(err) {\n\t\t\treturn options.callback(err);\n\t\t}\n\t\tif(next < urls.length) {\n\t\t\tself.fetchFile(urls[next++],options,getNextFile);\n\t\t} else {\n\t\t\toptions.callback(null);\n\t\t}\n\t};\n\tgetNextFile(null);\n\t// Success\n\treturn null;\n};\n\nCommand.prototype.fetchFile = function(url,options,callback,redirectCount) {\n\tif(redirectCount > 10) {\n\t\treturn callback(\"Error too many redirects retrieving \" + url);\n\t}\n\tvar self = this,\n\t\tlib = url.substr(0,8) === \"https://\" ? require(\"https\") : require(\"http\");\n\tlib.get(url).on(\"response\",function(response) {\n\t    var type = (response.headers[\"content-type\"] || \"\").split(\";\")[0],\n\t    \tdata = [];\n\t    self.commander.write(\"Reading \" + url + \": \");\n\t    response.on(\"data\",function(chunk) {\n\t        data.push(chunk);\n\t        self.commander.write(\".\");\n\t    });\n\t    response.on(\"end\",function() {\n\t        self.commander.write(\"\\n\");\n\t        if(response.statusCode === 200) {\n\t\t        self.processBody(Buffer.concat(data),type,options,url);\n\t\t        callback(null);\n\t        } else {\n\t        \tif(response.statusCode === 302 || response.statusCode === 303 || response.statusCode === 307) {\n\t        \t\treturn self.fetchFile(response.headers.location,options,callback,redirectCount + 1);\n\t        \t} else {\n\t\t        \treturn callback(\"Error \" + response.statusCode + \" retrieving \" + url)\t        \t\t\n\t        \t}\n\t        }\n\t   \t});\n\t   \tresponse.on(\"error\",function(e) {\n\t\t\tconsole.log(\"Error on GET request: \" + e);\n\t\t\tcallback(e);\n\t   \t});\n\t});\n\treturn null;\n};\n\nCommand.prototype.processBody = function(body,type,options,url) {\n\tvar self = this;\n\t// Collect the tiddlers in a wiki\n\tvar incomingWiki = new $tw.Wiki();\n\tif(options.raw) {\n\t\tvar typeInfo = type ? $tw.config.contentTypeInfo[type] : null,\n\t\t\tencoding = typeInfo ? typeInfo.encoding : \"utf8\";\n\t\tincomingWiki.addTiddler(new $tw.Tiddler({\n\t\t\ttitle: url,\n\t\t\ttype: type,\n\t\t\ttext: body.toString(encoding)\n\t\t}));\n\t} else {\n\t\t// Deserialise the file to extract the tiddlers\n\t\tvar tiddlers = this.commander.wiki.deserializeTiddlers(type || \"text/html\",body.toString(\"utf8\"),{});\n\t\t$tw.utils.each(tiddlers,function(tiddler) {\n\t\t\tincomingWiki.addTiddler(new $tw.Tiddler(tiddler));\n\t\t});\n\t}\n\t// Filter the tiddlers to select the ones we want\n\tvar filteredTitles = incomingWiki.filterTiddlers(options.importFilter || \"[all[tiddlers]]\");\n\t// Import the selected tiddlers\n\tvar count = 0;\n\tincomingWiki.each(function(tiddler,title) {\n\t\tif(filteredTitles.indexOf(title) !== -1) {\n\t\t\tvar newTiddler;\n\t\t\tif(options.transformFilter) {\n\t\t\t\tvar transformedTitle = (incomingWiki.filterTiddlers(options.transformFilter,null,self.commander.wiki.makeTiddlerIterator([title])) || [\"\"])[0];\n\t\t\t\tif(transformedTitle) {\n\t\t\t\t\tself.commander.log(\"Importing \" + title + \" as \" + transformedTitle)\n\t\t\t\t\tnewTiddler = new $tw.Tiddler(tiddler,{title: transformedTitle});\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tself.commander.log(\"Importing \" + title)\n\t\t\t\tnewTiddler = tiddler;\n\t\t\t}\n\t\t\tself.commander.wiki.importTiddler(newTiddler);\n\t\t\tcount++;\n\t\t}\n\t});\n\tself.commander.log(\"Imported \" + count + \" tiddlers\")\n};\n\nexports.Command = Command;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/help.js": {
            "title": "$:/core/modules/commands/help.js",
            "text": "/*\\\ntitle: $:/core/modules/commands/help.js\ntype: application/javascript\nmodule-type: command\n\nHelp command\n\n\\*/\n(function(){\n\n/*jshint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"help\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tvar subhelp = this.params[0] || \"default\",\n\t\thelpBase = \"$:/language/Help/\",\n\t\ttext;\n\tif(!this.commander.wiki.getTiddler(helpBase + subhelp)) {\n\t\tsubhelp = \"notfound\";\n\t}\n\t// Wikify the help as formatted text (ie block elements generate newlines)\n\ttext = this.commander.wiki.renderTiddler(\"text/plain-formatted\",helpBase + subhelp);\n\t// Remove any leading linebreaks\n\ttext = text.replace(/^(\\r?\\n)*/g,\"\");\n\tthis.commander.streams.output.write(text);\n};\n\nexports.Command = Command;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/import.js": {
            "title": "$:/core/modules/commands/import.js",
            "text": "/*\\\ntitle: $:/core/modules/commands/import.js\ntype: application/javascript\nmodule-type: command\n\nCommand to import tiddlers from a file\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"import\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\");\n\tif(this.params.length < 2) {\n\t\treturn \"Missing parameters\";\n\t}\n\tvar filename = self.params[0],\n\t\tdeserializer = self.params[1],\n\t\ttitle = self.params[2] || filename,\n\t\tencoding = self.params[3] || \"utf8\",\n\t\ttext = fs.readFileSync(filename,encoding),\n\t\ttiddlers = this.commander.wiki.deserializeTiddlers(null,text,{title: title},{deserializer: deserializer});\n\t$tw.utils.each(tiddlers,function(tiddler) {\n\t\tself.commander.wiki.importTiddler(new $tw.Tiddler(tiddler));\n\t});\n\tthis.commander.log(tiddlers.length + \" tiddler(s) imported\");\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/init.js": {
            "title": "$:/core/modules/commands/init.js",
            "text": "/*\\\ntitle: $:/core/modules/commands/init.js\ntype: application/javascript\nmodule-type: command\n\nCommand to initialise an empty wiki folder\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"init\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tvar fs = require(\"fs\"),\n\t\tpath = require(\"path\");\n\t// Check that we don't already have a valid wiki folder\n\tif($tw.boot.wikiTiddlersPath || ($tw.utils.isDirectory($tw.boot.wikiPath) && !$tw.utils.isDirectoryEmpty($tw.boot.wikiPath))) {\n\t\treturn \"Wiki folder is not empty\";\n\t}\n\t// Loop through each of the specified editions\n\tvar editions = this.params.length > 0 ? this.params : [\"empty\"];\n\tfor(var editionIndex=0; editionIndex<editions.length; editionIndex++) {\n\t\tvar editionName = editions[editionIndex];\n\t\t// Check the edition exists\n\t\tvar editionPath = $tw.findLibraryItem(editionName,$tw.getLibraryItemSearchPaths($tw.config.editionsPath,$tw.config.editionsEnvVar));\n\t\tif(!$tw.utils.isDirectory(editionPath)) {\n\t\t\treturn \"Edition '\" + editionName + \"' not found\";\n\t\t}\n\t\t// Copy the edition content\n\t\tvar err = $tw.utils.copyDirectory(editionPath,$tw.boot.wikiPath);\n\t\tif(!err) {\n\t\t\tthis.commander.streams.output.write(\"Copied edition '\" + editionName + \"' to \" + $tw.boot.wikiPath + \"\\n\");\n\t\t} else {\n\t\t\treturn err;\n\t\t}\n\t}\n\t// Tweak the tiddlywiki.info to remove any included wikis\n\tvar packagePath = $tw.boot.wikiPath + \"/tiddlywiki.info\",\n\t\tpackageJson = JSON.parse(fs.readFileSync(packagePath));\n\tdelete packageJson.includeWikis;\n\tfs.writeFileSync(packagePath,JSON.stringify(packageJson,null,$tw.config.preferences.jsonSpaces));\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/listen.js": {
            "title": "$:/core/modules/commands/listen.js",
            "text": "/*\\\ntitle: $:/core/modules/commands/listen.js\ntype: application/javascript\nmodule-type: command\n\nListen for HTTP requests and serve tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Server = require(\"$:/core/modules/server/server.js\").Server;\n\nexports.info = {\n\tname: \"listen\",\n\tsynchronous: true,\n\tnamedParameterMode: true,\n\tmandatoryParameters: [],\n};\n\nvar Command = function(params,commander,callback) {\n\tvar self = this;\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar self = this;\n\tif(!$tw.boot.wikiTiddlersPath) {\n\t\t$tw.utils.warning(\"Warning: Wiki folder '\" + $tw.boot.wikiPath + \"' does not exist or is missing a tiddlywiki.info file\");\n\t}\n\t// Set up server\n\tthis.server = new Server({\n\t\twiki: this.commander.wiki,\n\t\tvariables: self.params\n\t});\n\tvar nodeServer = this.server.listen();\n\t$tw.hooks.invokeHook(\"th-server-command-post-start\",this.server,nodeServer,\"tiddlywiki\");\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/load.js": {
            "title": "$:/core/modules/commands/load.js",
            "text": "/*\\\ntitle: $:/core/modules/commands/load.js\ntype: application/javascript\nmodule-type: command\n\nCommand to load tiddlers from a file or directory\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"load\",\n\tsynchronous: false\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\");\n\tif(this.params.length < 1) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar tiddlers = $tw.loadTiddlersFromPath(self.params[0]),\n\t\tcount = 0;\n\t$tw.utils.each(tiddlers,function(tiddlerInfo) {\n\t\t$tw.utils.each(tiddlerInfo.tiddlers,function(tiddler) {\n\t\t\tself.commander.wiki.importTiddler(new $tw.Tiddler(tiddler));\n\t\t\tcount++;\n\t\t});\n\t});\n\tif(!count && self.params[1] !== \"noerror\") {\n\t\tself.callback(\"No tiddlers found in file \\\"\" + self.params[0] + \"\\\"\");\n\t} else {\n\t\tself.callback(null);\n\t}\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/makelibrary.js": {
            "title": "$:/core/modules/commands/makelibrary.js",
            "text": "/*\\\ntitle: $:/core/modules/commands/makelibrary.js\ntype: application/javascript\nmodule-type: command\n\nCommand to pack all of the plugins in the library into a plugin tiddler of type \"library\"\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"makelibrary\",\n\tsynchronous: true\n};\n\nvar UPGRADE_LIBRARY_TITLE = \"$:/UpgradeLibrary\";\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar wiki = this.commander.wiki,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\tupgradeLibraryTitle = this.params[0] || UPGRADE_LIBRARY_TITLE,\n\t\ttiddlers = {};\n\t// Collect up the library plugins\n\tvar collectPlugins = function(folder) {\n\t\t\tvar pluginFolders = fs.readdirSync(folder);\n\t\t\tfor(var p=0; p<pluginFolders.length; p++) {\n\t\t\t\tif(!$tw.boot.excludeRegExp.test(pluginFolders[p])) {\n\t\t\t\t\tpluginFields = $tw.loadPluginFolder(path.resolve(folder,\"./\" + pluginFolders[p]));\n\t\t\t\t\tif(pluginFields && pluginFields.title) {\n\t\t\t\t\t\ttiddlers[pluginFields.title] = pluginFields;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tcollectPublisherPlugins = function(folder) {\n\t\t\tvar publisherFolders = fs.readdirSync(folder);\n\t\t\tfor(var t=0; t<publisherFolders.length; t++) {\n\t\t\t\tif(!$tw.boot.excludeRegExp.test(publisherFolders[t])) {\n\t\t\t\t\tcollectPlugins(path.resolve(folder,\"./\" + publisherFolders[t]));\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\tcollectPublisherPlugins(path.resolve($tw.boot.corePath,$tw.config.pluginsPath));\n\tcollectPublisherPlugins(path.resolve($tw.boot.corePath,$tw.config.themesPath));\n\tcollectPlugins(path.resolve($tw.boot.corePath,$tw.config.languagesPath));\n\t// Save the upgrade library tiddler\n\tvar pluginFields = {\n\t\ttitle: upgradeLibraryTitle,\n\t\ttype: \"application/json\",\n\t\t\"plugin-type\": \"library\",\n\t\t\"text\": JSON.stringify({tiddlers: tiddlers},null,$tw.config.preferences.jsonSpaces)\n\t};\n\twiki.addTiddler(new $tw.Tiddler(pluginFields));\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/output.js": {
            "title": "$:/core/modules/commands/output.js",
            "text": "/*\\\ntitle: $:/core/modules/commands/output.js\ntype: application/javascript\nmodule-type: command\n\nCommand to set the default output location (defaults to current working directory)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"output\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar fs = require(\"fs\"),\n\t\tpath = require(\"path\");\n\tif(this.params.length < 1) {\n\t\treturn \"Missing output path\";\n\t}\n\tthis.commander.outputPath = path.resolve(process.cwd(),this.params[0]);\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/password.js": {
            "title": "$:/core/modules/commands/password.js",
            "text": "/*\\\ntitle: $:/core/modules/commands/password.js\ntype: application/javascript\nmodule-type: command\n\nSave password for crypto operations\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"password\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing password\";\n\t}\n\t$tw.crypto.setPassword(this.params[0]);\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/render.js": {
            "title": "$:/core/modules/commands/render.js",
            "text": "/*\\\ntitle: $:/core/modules/commands/render.js\ntype: application/javascript\nmodule-type: command\n\nRender individual tiddlers and save the results to the specified files\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.info = {\n\tname: \"render\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing tiddler filter\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\twiki = this.commander.wiki,\n\t\ttiddlerFilter = this.params[0],\n\t\tfilenameFilter = this.params[1] || \"[is[tiddler]addsuffix[.html]]\",\n\t\ttype = this.params[2] || \"text/html\",\n\t\ttemplate = this.params[3],\n\t\tvarName = this.params[4],\n\t\tvarValue = this.params[5],\n\t\ttiddlers = wiki.filterTiddlers(tiddlerFilter);\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar parser = wiki.parseTiddler(template || title),\n\t\t\tvariables = {currentTiddler: title};\n\t\tif(varName) {\n\t\t\tvariables[varName] = varValue || \"\";\n\t\t}\n\t\tvar widgetNode = wiki.makeWidget(parser,{variables: variables}),\n\t\t\tcontainer = $tw.fakeDocument.createElement(\"div\");\n\t\twidgetNode.render(container,null);\n\t\tvar text = type === \"text/html\" ? container.innerHTML : container.textContent,\n\t\t\tfilepath = path.resolve(self.commander.outputPath,wiki.filterTiddlers(filenameFilter,$tw.rootWidget,wiki.makeTiddlerIterator([title]))[0]);\n\t\tif(self.commander.verbose) {\n\t\t\tconsole.log(\"Rendering \\\"\" + title + \"\\\" to \\\"\" + filepath + \"\\\"\");\n\t\t}\n\t\t$tw.utils.createFileDirectories(filepath);\n\t\tfs.writeFileSync(filepath,text,\"utf8\");\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/rendertiddler.js": {
            "title": "$:/core/modules/commands/rendertiddler.js",
            "text": "/*\\\ntitle: $:/core/modules/commands/rendertiddler.js\ntype: application/javascript\nmodule-type: command\n\nCommand to render a tiddler and save it to a file\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"rendertiddler\",\n\tsynchronous: false\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\ttitle = this.params[0],\n\t\tfilename = path.resolve(this.commander.outputPath,this.params[1]),\n\t\ttype = this.params[2] || \"text/html\",\n\t\ttemplate = this.params[3],\n\t\tname = this.params[4],\n\t\tvalue = this.params[5],\n\t\tvariables = {};\n\t$tw.utils.createFileDirectories(filename);\n\tif(template) {\n\t\tvariables.currentTiddler = title;\n\t\ttitle = template;\n\t}\n\tif(name && value) {\n\t\tvariables[name] = value;\n\t}\n\tfs.writeFile(filename,this.commander.wiki.renderTiddler(type,title,{variables: variables}),\"utf8\",function(err) {\n\t\tself.callback(err);\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/rendertiddlers.js": {
            "title": "$:/core/modules/commands/rendertiddlers.js",
            "text": "/*\\\ntitle: $:/core/modules/commands/rendertiddlers.js\ntype: application/javascript\nmodule-type: command\n\nCommand to render several tiddlers to a folder of files\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.info = {\n\tname: \"rendertiddlers\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\twiki = this.commander.wiki,\n\t\tfilter = this.params[0],\n\t\ttemplate = this.params[1],\n\t\toutputPath = this.commander.outputPath,\n\t\tpathname = path.resolve(outputPath,this.params[2]),\t\t\n\t\ttype = this.params[3] || \"text/html\",\n\t\textension = this.params[4] || \".html\",\n\t\tdeleteDirectory = (this.params[5] || \"\").toLowerCase() !== \"noclean\",\n\t\ttiddlers = wiki.filterTiddlers(filter);\n\tif(deleteDirectory) {\n\t\t$tw.utils.deleteDirectory(pathname);\n\t}\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar parser = wiki.parseTiddler(template),\n\t\t\twidgetNode = wiki.makeWidget(parser,{variables: {currentTiddler: title}}),\n\t\t\tcontainer = $tw.fakeDocument.createElement(\"div\");\n\t\twidgetNode.render(container,null);\n\t\tvar text = type === \"text/html\" ? container.innerHTML : container.textContent,\n\t\t\texportPath = null;\n\t\tif($tw.utils.hop($tw.macros,\"tv-get-export-path\")) {\n\t\t\tvar macroPath = $tw.macros[\"tv-get-export-path\"].run.apply(self,[title]);\n\t\t\tif(macroPath) {\n\t\t\t\texportPath = path.resolve(outputPath,macroPath + extension);\n\t\t\t}\n\t\t}\n\t\tvar finalPath = exportPath || path.resolve(pathname,encodeURIComponent(title) + extension);\n\t\t$tw.utils.createFileDirectories(finalPath);\n\t\tfs.writeFileSync(finalPath,text,\"utf8\");\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/save.js": {
            "title": "$:/core/modules/commands/save.js",
            "text": "/*\\\ntitle: $:/core/modules/commands/save.js\ntype: application/javascript\nmodule-type: command\n\nSaves individual tiddlers in their raw text or binary format to the specified files\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"save\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing filename filter\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\twiki = this.commander.wiki,\n\t\ttiddlerFilter = this.params[0],\n\t\tfilenameFilter = this.params[1] || \"[is[tiddler]]\",\n\t\ttiddlers = wiki.filterTiddlers(tiddlerFilter);\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar tiddler = self.commander.wiki.getTiddler(title),\n\t\t\ttype = tiddler.fields.type || \"text/vnd.tiddlywiki\",\n\t\t\tcontentTypeInfo = $tw.config.contentTypeInfo[type] || {encoding: \"utf8\"},\n\t\t\tfilepath = path.resolve(self.commander.outputPath,wiki.filterTiddlers(filenameFilter,$tw.rootWidget,wiki.makeTiddlerIterator([title]))[0]);\n\t\tif(self.commander.verbose) {\n\t\t\tconsole.log(\"Saving \\\"\" + title + \"\\\" to \\\"\" + filepath + \"\\\"\");\n\t\t}\n\t\t$tw.utils.createFileDirectories(filepath);\n\t\tfs.writeFileSync(filepath,tiddler.fields.text,contentTypeInfo.encoding);\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/savelibrarytiddlers.js": {
            "title": "$:/core/modules/commands/savelibrarytiddlers.js",
            "text": "/*\\\ntitle: $:/core/modules/commands/savelibrarytiddlers.js\ntype: application/javascript\nmodule-type: command\n\nCommand to save the subtiddlers of a bundle tiddler as a series of JSON files\n\n--savelibrarytiddlers <tiddler> <pathname> <skinnylisting>\n\nThe tiddler identifies the bundle tiddler that contains the subtiddlers.\n\nThe pathname specifies the pathname to the folder in which the JSON files should be saved. The filename is the URL encoded title of the subtiddler.\n\nThe skinnylisting specifies the title of the tiddler to which a JSON catalogue of the subtiddlers will be saved. The JSON file contains the same data as the bundle tiddler but with the `text` field removed.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"savelibrarytiddlers\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\tcontainerTitle = this.params[0],\n\t\tfilter = this.params[1],\n\t\tbasepath = this.params[2],\n\t\tskinnyListTitle = this.params[3];\n\t// Get the container tiddler as data\n\tvar containerData = self.commander.wiki.getTiddlerDataCached(containerTitle,undefined);\n\tif(!containerData) {\n\t\treturn \"'\" + containerTitle + \"' is not a tiddler bundle\";\n\t}\n\t// Filter the list of plugins\n\tvar pluginList = [];\n\t$tw.utils.each(containerData.tiddlers,function(tiddler,title) {\n\t\tpluginList.push(title);\n\t});\n\tvar filteredPluginList;\n\tif(filter) {\n\t\tfilteredPluginList = self.commander.wiki.filterTiddlers(filter,null,self.commander.wiki.makeTiddlerIterator(pluginList));\n\t} else {\n\t\tfilteredPluginList = pluginList;\n\t}\n\t// Iterate through the plugins\n\tvar skinnyList = [];\n\t$tw.utils.each(filteredPluginList,function(title) {\n\t\tvar tiddler = containerData.tiddlers[title];\n\t\t// Save each JSON file and collect the skinny data\n\t\tvar pathname = path.resolve(self.commander.outputPath,basepath + encodeURIComponent(title) + \".json\");\n\t\t$tw.utils.createFileDirectories(pathname);\n\t\tfs.writeFileSync(pathname,JSON.stringify(tiddler,null,$tw.config.preferences.jsonSpaces),\"utf8\");\n\t\t// Collect the skinny list data\n\t\tvar pluginTiddlers = JSON.parse(tiddler.text),\n\t\t\treadmeContent = (pluginTiddlers.tiddlers[title + \"/readme\"] || {}).text,\n\t\t\ticonTiddler = pluginTiddlers.tiddlers[title + \"/icon\"] || {},\n\t\t\ticonType = iconTiddler.type,\n\t\t\ticonText = iconTiddler.text,\n\t\t\ticonContent;\n\t\tif(iconType && iconText) {\n\t\t\ticonContent = $tw.utils.makeDataUri(iconText,iconType);\n\t\t}\n\t\tskinnyList.push($tw.utils.extend({},tiddler,{text: undefined, readme: readmeContent, icon: iconContent}));\n\t});\n\t// Save the catalogue tiddler\n\tif(skinnyListTitle) {\n\t\tself.commander.wiki.setTiddlerData(skinnyListTitle,skinnyList);\n\t}\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/savetiddler.js": {
            "title": "$:/core/modules/commands/savetiddler.js",
            "text": "/*\\\ntitle: $:/core/modules/commands/savetiddler.js\ntype: application/javascript\nmodule-type: command\n\nCommand to save the content of a tiddler to a file\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"savetiddler\",\n\tsynchronous: false\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\ttitle = this.params[0],\n\t\tfilename = path.resolve(this.commander.outputPath,this.params[1]),\n\t\ttiddler = this.commander.wiki.getTiddler(title);\n\tif(tiddler) {\n\t\tvar type = tiddler.fields.type || \"text/vnd.tiddlywiki\",\n\t\t\tcontentTypeInfo = $tw.config.contentTypeInfo[type] || {encoding: \"utf8\"};\n\t\t$tw.utils.createFileDirectories(filename);\n\t\tfs.writeFile(filename,tiddler.fields.text,contentTypeInfo.encoding,function(err) {\n\t\t\tself.callback(err);\n\t\t});\n\t} else {\n\t\treturn \"Missing tiddler: \" + title;\n\t}\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/savetiddlers.js": {
            "title": "$:/core/modules/commands/savetiddlers.js",
            "text": "/*\\\ntitle: $:/core/modules/commands/savetiddlers.js\ntype: application/javascript\nmodule-type: command\n\nCommand to save several tiddlers to a folder of files\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.info = {\n\tname: \"savetiddlers\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\twiki = this.commander.wiki,\n\t\tfilter = this.params[0],\n\t\tpathname = path.resolve(this.commander.outputPath,this.params[1]),\n\t\tdeleteDirectory = (this.params[2] || \"\").toLowerCase() !== \"noclean\",\n\t\ttiddlers = wiki.filterTiddlers(filter);\n\tif(deleteDirectory) {\n\t\t$tw.utils.deleteDirectory(pathname);\n\t}\n\t$tw.utils.createDirectory(pathname);\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar tiddler = self.commander.wiki.getTiddler(title),\n\t\t\ttype = tiddler.fields.type || \"text/vnd.tiddlywiki\",\n\t\t\tcontentTypeInfo = $tw.config.contentTypeInfo[type] || {encoding: \"utf8\"},\n\t\t\tfilename = path.resolve(pathname,encodeURIComponent(title));\n\t\tfs.writeFileSync(filename,tiddler.fields.text,contentTypeInfo.encoding);\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/savewikifolder.js": {
            "title": "$:/core/modules/commands/savewikifolder.js",
            "text": "/*\\\ntitle: $:/core/modules/commands/savewikifolder.js\ntype: application/javascript\nmodule-type: command\n\nCommand to save the current wiki as a wiki folder\n\n--savewikifolder <wikifolderpath> [<filter>]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"savewikifolder\",\n\tsynchronous: true\n};\n\nvar fs,path;\nif($tw.node) {\n\tfs = require(\"fs\");\n\tpath = require(\"path\");\n}\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing wiki folder path\";\n\t}\n\tvar wikifoldermaker = new WikiFolderMaker(this.params[0],this.params[1],this.commander);\n\treturn wikifoldermaker.save();\n};\n\nfunction WikiFolderMaker(wikiFolderPath,wikiFilter,commander) {\n\tthis.wikiFolderPath = wikiFolderPath;\n\tthis.wikiFilter = wikiFilter || \"[all[tiddlers]]\";\n\tthis.commander = commander;\n\tthis.wiki = commander.wiki;\n\tthis.savedPaths = []; // So that we can detect filename clashes\n}\n\nWikiFolderMaker.prototype.log = function(str) {\n\tif(this.commander.verbose) {\n\t\tconsole.log(str);\n\t}\n};\n\nWikiFolderMaker.prototype.tiddlersToIgnore = [\n\t\"$:/boot/boot.css\",\n\t\"$:/boot/boot.js\",\n\t\"$:/boot/bootprefix.js\",\n\t\"$:/core\",\n\t\"$:/library/sjcl.js\",\n\t\"$:/temp/info-plugin\"\n];\n\n/*\nReturns null if successful, or an error string if there was an error\n*/\nWikiFolderMaker.prototype.save = function() {\n\tvar self = this;\n\t// Check that the output directory doesn't exist\n\tif(fs.existsSync(this.wikiFolderPath) && !$tw.utils.isDirectoryEmpty(this.wikiFolderPath)) {\n\t\treturn \"The unpackwiki command requires that the output wiki folder be empty\";\n\t}\n\t// Get the tiddlers from the source wiki\n\tvar tiddlerTitles = this.wiki.filterTiddlers(this.wikiFilter);\n\t// Initialise a new tiddlwiki.info file\n\tvar newWikiInfo = {};\n\t// Process each incoming tiddler in turn\n\t$tw.utils.each(tiddlerTitles,function(title) {\n\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\tif(tiddler) {\n\t\t\tif(self.tiddlersToIgnore.indexOf(title) !== -1) {\n\t\t\t\t// Ignore the core plugin and the ephemeral info plugin\n\t\t\t\tself.log(\"Ignoring tiddler: \" + title);\n\t\t\t} else {\n\t\t\t\tvar type = tiddler.fields.type,\n\t\t\t\t\tpluginType = tiddler.fields[\"plugin-type\"];\n\t\t\t\tif(type === \"application/json\" && pluginType) {\n\t\t\t\t\t// Plugin tiddler\n\t\t\t\t\tvar libraryDetails = self.findPluginInLibrary(title);\n\t\t\t\t\tif(libraryDetails) {\n\t\t\t\t\t\t// A plugin from the core library\n\t\t\t\t\t\tself.log(\"Adding built-in plugin: \" + libraryDetails.name);\n\t\t\t\t\t\tnewWikiInfo[libraryDetails.type] = newWikiInfo[libraryDetails.type]  || [];\n\t\t\t\t\t\t$tw.utils.pushTop(newWikiInfo[libraryDetails.type],libraryDetails.name);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// A custom plugin\n\t\t\t\t\t\tself.log(\"Processing custom plugin: \" + title);\n\t\t\t\t\t\tself.saveCustomPlugin(tiddler);\n\t\t\t\t\t}\t\t\t\t\n\t\t\t\t} else {\n\t\t\t\t\t// Ordinary tiddler\n\t\t\t\t\tself.saveTiddler(\"tiddlers\",tiddler);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\t// Save the tiddlywiki.info file\n\tthis.saveJSONFile(\"tiddlywiki.info\",newWikiInfo);\n\tself.log(\"Writing tiddlywiki.info: \" + JSON.stringify(newWikiInfo,null,$tw.config.preferences.jsonSpaces));\n\treturn null;\n};\n\n/*\nTest whether the specified tiddler is a plugin in the plugin library\n*/\nWikiFolderMaker.prototype.findPluginInLibrary = function(title) {\n\tvar parts = title.split(\"/\"),\n\t\tpluginPath, type, name;\n\tif(parts[0] === \"$:\") {\n\t\tif(parts[1] === \"languages\" && parts.length === 3) {\n\t\t\tpluginPath = \"languages\" + path.sep + parts[2];\n\t\t\ttype = parts[1];\n\t\t\tname = parts[2];\n\t\t} else if(parts[1] === \"plugins\" || parts[1] === \"themes\" && parts.length === 4) {\n\t\t\tpluginPath = parts[1] + path.sep + parts[2] + path.sep + parts[3];\n\t\t\ttype = parts[1];\n\t\t\tname = parts[2] + \"/\" + parts[3];\n\t\t}\n\t}\n\tif(pluginPath && type && name) {\n\t\tpluginPath = path.resolve($tw.boot.bootPath,\"..\",pluginPath);\n\t\tif(fs.existsSync(pluginPath)) {\n\t\t\treturn {\n\t\t\t\tpluginPath: pluginPath,\n\t\t\t\ttype: type,\n\t\t\t\tname: name\n\t\t\t};\n\t\t}\n\t}\n\treturn false;\n};\n\nWikiFolderMaker.prototype.saveCustomPlugin = function(pluginTiddler) {\n\tvar self = this,\n\t\tpluginTitle = pluginTiddler.fields.title,\n\t\ttitleParts = pluginTitle.split(\"/\"),\n\t\tdirectory = $tw.utils.generateTiddlerFilepath(titleParts[titleParts.length - 1],{\n\t\t\tdirectory: path.resolve(this.wikiFolderPath,pluginTiddler.fields[\"plugin-type\"] + \"s\")\n\t\t}),\n\t\tpluginInfo = pluginTiddler.getFieldStrings({exclude: [\"text\",\"type\"]});\n\tthis.saveJSONFile(directory + path.sep + \"plugin.info\",pluginInfo);\n\tself.log(\"Writing \" + directory + path.sep + \"plugin.info: \" + JSON.stringify(pluginInfo,null,$tw.config.preferences.jsonSpaces));\n\tvar pluginTiddlers = JSON.parse(pluginTiddler.fields.text).tiddlers; // A hashmap of tiddlers in the plugin\n\t$tw.utils.each(pluginTiddlers,function(tiddler) {\n\t\tself.saveTiddler(directory,new $tw.Tiddler(tiddler));\n\t});\n};\n\nWikiFolderMaker.prototype.saveTiddler = function(directory,tiddler) {\n\tvar fileInfo = $tw.utils.generateTiddlerFileInfo(tiddler,{\n\t\tdirectory: path.resolve(this.wikiFolderPath,directory),\n\t\twiki: this.wiki\n\t});\n\t$tw.utils.saveTiddlerToFileSync(tiddler,fileInfo);\n};\n\nWikiFolderMaker.prototype.saveJSONFile = function(filename,json) {\n\tthis.saveTextFile(filename,JSON.stringify(json,null,$tw.config.preferences.jsonSpaces));\n};\n\nWikiFolderMaker.prototype.saveTextFile = function(filename,data) {\n\tthis.saveFile(filename,\"utf8\",data);\n};\n\nWikiFolderMaker.prototype.saveFile = function(filename,encoding,data) {\n\tvar filepath = path.resolve(this.wikiFolderPath,filename);\n\t$tw.utils.createFileDirectories(filepath);\n\tfs.writeFileSync(filepath,data,encoding);\n};\n\nexports.Command = Command;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/server.js": {
            "title": "$:/core/modules/commands/server.js",
            "text": "/*\\\ntitle: $:/core/modules/commands/server.js\ntype: application/javascript\nmodule-type: command\n\nDeprecated legacy command for serving tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Server = require(\"$:/core/modules/server/server.js\").Server;\n\nexports.info = {\n\tname: \"server\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tvar self = this;\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(!$tw.boot.wikiTiddlersPath) {\n\t\t$tw.utils.warning(\"Warning: Wiki folder '\" + $tw.boot.wikiPath + \"' does not exist or is missing a tiddlywiki.info file\");\n\t}\n\t// Set up server\n\tthis.server = new Server({\n\t\twiki: this.commander.wiki,\n\t\tvariables: {\n\t\t\tport: this.params[0],\n\t\t\thost: this.params[6],\n\t\t\t\"root-tiddler\": this.params[1],\n\t\t\t\"root-render-type\": this.params[2],\n\t\t\t\"root-serve-type\": this.params[3],\n\t\t\tusername: this.params[4],\n\t\t\tpassword: this.params[5],\n\t\t\t\"path-prefix\": this.params[7],\n\t\t\t\"debug-level\": this.params[8]\n\t\t}\n\t});\n\tvar nodeServer = this.server.listen();\n\t$tw.hooks.invokeHook(\"th-server-command-post-start\",this.server,nodeServer,\"tiddlywiki\");\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/setfield.js": {
            "title": "$:/core/modules/commands/setfield.js",
            "text": "/*\\\ntitle: $:/core/modules/commands/setfield.js\ntype: application/javascript\nmodule-type: command\n\nCommand to modify selected tiddlers to set a field to the text of a template tiddler that has been wikified with the selected tiddler as the current tiddler.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.info = {\n\tname: \"setfield\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 4) {\n\t\treturn \"Missing parameters\";\n\t}\n\tvar self = this,\n\t\twiki = this.commander.wiki,\n\t\tfilter = this.params[0],\n\t\tfieldname = this.params[1] || \"text\",\n\t\ttemplatetitle = this.params[2],\n\t\trendertype = this.params[3] || \"text/plain\",\n\t\ttiddlers = wiki.filterTiddlers(filter);\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar parser = wiki.parseTiddler(templatetitle),\n\t\t\tnewFields = {},\n\t\t\ttiddler = wiki.getTiddler(title);\n\t\tif(parser) {\n\t\t\tvar widgetNode = wiki.makeWidget(parser,{variables: {currentTiddler: title}});\n\t\t\tvar container = $tw.fakeDocument.createElement(\"div\");\n\t\t\twidgetNode.render(container,null);\n\t\t\tnewFields[fieldname] = rendertype === \"text/html\" ? container.innerHTML : container.textContent;\n\t\t} else {\n\t\t\tnewFields[fieldname] = undefined;\n\t\t}\n\t\twiki.addTiddler(new $tw.Tiddler(tiddler,newFields));\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/unpackplugin.js": {
            "title": "$:/core/modules/commands/unpackplugin.js",
            "text": "/*\\\ntitle: $:/core/modules/commands/unpackplugin.js\ntype: application/javascript\nmodule-type: command\n\nCommand to extract the shadow tiddlers from within a plugin\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"unpackplugin\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing plugin name\";\n\t}\n\tvar self = this,\n\t\ttitle = this.params[0],\n\t\tpluginData = this.commander.wiki.getTiddlerDataCached(title);\n\tif(!pluginData) {\n\t\treturn \"Plugin '\" + title + \"' not found\";\n\t}\n\t$tw.utils.each(pluginData.tiddlers,function(tiddler) {\n\t\tself.commander.wiki.addTiddler(new $tw.Tiddler(tiddler));\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/verbose.js": {
            "title": "$:/core/modules/commands/verbose.js",
            "text": "/*\\\ntitle: $:/core/modules/commands/verbose.js\ntype: application/javascript\nmodule-type: command\n\nVerbose command\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"verbose\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tthis.commander.verbose = true;\n\t// Output the boot message log\n\tthis.commander.streams.output.write(\"Boot log:\\n  \" + $tw.boot.logMessages.join(\"\\n  \") + \"\\n\");\n\treturn null; // No error\n};\n\nexports.Command = Command;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/version.js": {
            "title": "$:/core/modules/commands/version.js",
            "text": "/*\\\ntitle: $:/core/modules/commands/version.js\ntype: application/javascript\nmodule-type: command\n\nVersion command\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"version\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tthis.commander.streams.output.write($tw.version + \"\\n\");\n\treturn null; // No error\n};\n\nexports.Command = Command;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/config.js": {
            "title": "$:/core/modules/config.js",
            "text": "/*\\\ntitle: $:/core/modules/config.js\ntype: application/javascript\nmodule-type: config\n\nCore configuration constants\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.preferences = {};\n\nexports.preferences.notificationDuration = 3 * 1000;\nexports.preferences.jsonSpaces = 4;\n\nexports.textPrimitives = {\n\tupperLetter: \"[A-Z\\u00c0-\\u00d6\\u00d8-\\u00de\\u0150\\u0170]\",\n\tlowerLetter: \"[a-z\\u00df-\\u00f6\\u00f8-\\u00ff\\u0151\\u0171]\",\n\tanyLetter:   \"[A-Za-z0-9\\u00c0-\\u00d6\\u00d8-\\u00de\\u00df-\\u00f6\\u00f8-\\u00ff\\u0150\\u0170\\u0151\\u0171]\",\n\tblockPrefixLetters:\t\"[A-Za-z0-9-_\\u00c0-\\u00d6\\u00d8-\\u00de\\u00df-\\u00f6\\u00f8-\\u00ff\\u0150\\u0170\\u0151\\u0171]\"\n};\n\nexports.textPrimitives.unWikiLink = \"~\";\nexports.textPrimitives.wikiLink = exports.textPrimitives.upperLetter + \"+\" +\n\texports.textPrimitives.lowerLetter + \"+\" +\n\texports.textPrimitives.upperLetter +\n\texports.textPrimitives.anyLetter + \"*\";\n\nexports.htmlEntities = {quot:34, amp:38, apos:39, lt:60, gt:62, nbsp:160, iexcl:161, cent:162, pound:163, curren:164, yen:165, brvbar:166, sect:167, uml:168, copy:169, ordf:170, laquo:171, not:172, shy:173, reg:174, macr:175, deg:176, plusmn:177, sup2:178, sup3:179, acute:180, micro:181, para:182, middot:183, cedil:184, sup1:185, ordm:186, raquo:187, frac14:188, frac12:189, frac34:190, iquest:191, Agrave:192, Aacute:193, Acirc:194, Atilde:195, Auml:196, Aring:197, AElig:198, Ccedil:199, Egrave:200, Eacute:201, Ecirc:202, Euml:203, Igrave:204, Iacute:205, Icirc:206, Iuml:207, ETH:208, Ntilde:209, Ograve:210, Oacute:211, Ocirc:212, Otilde:213, Ouml:214, times:215, Oslash:216, Ugrave:217, Uacute:218, Ucirc:219, Uuml:220, Yacute:221, THORN:222, szlig:223, agrave:224, aacute:225, acirc:226, atilde:227, auml:228, aring:229, aelig:230, ccedil:231, egrave:232, eacute:233, ecirc:234, euml:235, igrave:236, iacute:237, icirc:238, iuml:239, eth:240, ntilde:241, ograve:242, oacute:243, ocirc:244, otilde:245, ouml:246, divide:247, oslash:248, ugrave:249, uacute:250, ucirc:251, uuml:252, yacute:253, thorn:254, yuml:255, OElig:338, oelig:339, Scaron:352, scaron:353, Yuml:376, fnof:402, circ:710, tilde:732, Alpha:913, Beta:914, Gamma:915, Delta:916, Epsilon:917, Zeta:918, Eta:919, Theta:920, Iota:921, Kappa:922, Lambda:923, Mu:924, Nu:925, Xi:926, Omicron:927, Pi:928, Rho:929, Sigma:931, Tau:932, Upsilon:933, Phi:934, Chi:935, Psi:936, Omega:937, alpha:945, beta:946, gamma:947, delta:948, epsilon:949, zeta:950, eta:951, theta:952, iota:953, kappa:954, lambda:955, mu:956, nu:957, xi:958, omicron:959, pi:960, rho:961, sigmaf:962, sigma:963, tau:964, upsilon:965, phi:966, chi:967, psi:968, omega:969, thetasym:977, upsih:978, piv:982, ensp:8194, emsp:8195, thinsp:8201, zwnj:8204, zwj:8205, lrm:8206, rlm:8207, ndash:8211, mdash:8212, lsquo:8216, rsquo:8217, sbquo:8218, ldquo:8220, rdquo:8221, bdquo:8222, dagger:8224, Dagger:8225, bull:8226, hellip:8230, permil:8240, prime:8242, Prime:8243, lsaquo:8249, rsaquo:8250, oline:8254, frasl:8260, euro:8364, image:8465, weierp:8472, real:8476, trade:8482, alefsym:8501, larr:8592, uarr:8593, rarr:8594, darr:8595, harr:8596, crarr:8629, lArr:8656, uArr:8657, rArr:8658, dArr:8659, hArr:8660, forall:8704, part:8706, exist:8707, empty:8709, nabla:8711, isin:8712, notin:8713, ni:8715, prod:8719, sum:8721, minus:8722, lowast:8727, radic:8730, prop:8733, infin:8734, ang:8736, and:8743, or:8744, cap:8745, cup:8746, int:8747, there4:8756, sim:8764, cong:8773, asymp:8776, ne:8800, equiv:8801, le:8804, ge:8805, sub:8834, sup:8835, nsub:8836, sube:8838, supe:8839, oplus:8853, otimes:8855, perp:8869, sdot:8901, lceil:8968, rceil:8969, lfloor:8970, rfloor:8971, lang:9001, rang:9002, loz:9674, spades:9824, clubs:9827, hearts:9829, diams:9830 };\n\nexports.htmlVoidElements = \"area,base,br,col,command,embed,hr,img,input,keygen,link,meta,param,source,track,wbr\".split(\",\");\n\nexports.htmlBlockElements = \"address,article,aside,audio,blockquote,canvas,dd,div,dl,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,hr,li,noscript,ol,output,p,pre,section,table,tfoot,ul,video\".split(\",\");\n\nexports.htmlUnsafeElements = \"script\".split(\",\");\n\n})();\n",
            "type": "application/javascript",
            "module-type": "config"
        },
        "$:/core/modules/deserializers.js": {
            "title": "$:/core/modules/deserializers.js",
            "text": "/*\\\ntitle: $:/core/modules/deserializers.js\ntype: application/javascript\nmodule-type: tiddlerdeserializer\n\nFunctions to deserialise tiddlers from a block of text\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nUtility function to parse an old-style tiddler DIV in a *.tid file. It looks like this:\n\n<div title=\"Title\" creator=\"JoeBloggs\" modifier=\"JoeBloggs\" created=\"201102111106\" modified=\"201102111310\" tags=\"myTag [[my long tag]]\">\n<pre>The text of the tiddler (without the expected HTML encoding).\n</pre>\n</div>\n\nNote that the field attributes are HTML encoded, but that the body of the <PRE> tag is not encoded.\n\nWhen these tiddler DIVs are encountered within a TiddlyWiki HTML file then the body is encoded in the usual way.\n*/\nvar parseTiddlerDiv = function(text /* [,fields] */) {\n\t// Slot together the default results\n\tvar result = {};\n\tif(arguments.length > 1) {\n\t\tfor(var f=1; f<arguments.length; f++) {\n\t\t\tvar fields = arguments[f];\n\t\t\tfor(var t in fields) {\n\t\t\t\tresult[t] = fields[t];\t\t\n\t\t\t}\n\t\t}\n\t}\n\t// Parse the DIV body\n\tvar startRegExp = /^\\s*<div\\s+([^>]*)>(\\s*<pre>)?/gi,\n\t\tendRegExp,\n\t\tmatch = startRegExp.exec(text);\n\tif(match) {\n\t\t// Old-style DIVs don't have the <pre> tag\n\t\tif(match[2]) {\n\t\t\tendRegExp = /<\\/pre>\\s*<\\/div>\\s*$/gi;\n\t\t} else {\n\t\t\tendRegExp = /<\\/div>\\s*$/gi;\n\t\t}\n\t\tvar endMatch = endRegExp.exec(text);\n\t\tif(endMatch) {\n\t\t\t// Extract the text\n\t\t\tresult.text = text.substring(match.index + match[0].length,endMatch.index);\n\t\t\t// Process the attributes\n\t\t\tvar attrRegExp = /\\s*([^=\\s]+)\\s*=\\s*(?:\"([^\"]*)\"|'([^']*)')/gi,\n\t\t\t\tattrMatch;\n\t\t\tdo {\n\t\t\t\tattrMatch = attrRegExp.exec(match[1]);\n\t\t\t\tif(attrMatch) {\n\t\t\t\t\tvar name = attrMatch[1];\n\t\t\t\t\tvar value = attrMatch[2] !== undefined ? attrMatch[2] : attrMatch[3];\n\t\t\t\t\tresult[name] = value;\n\t\t\t\t}\n\t\t\t} while(attrMatch);\n\t\t\treturn result;\n\t\t}\n\t}\n\treturn undefined;\n};\n\nexports[\"application/x-tiddler-html-div\"] = function(text,fields) {\n\treturn [parseTiddlerDiv(text,fields)];\n};\n\nexports[\"application/json\"] = function(text,fields) {\n\tvar incoming,\n\t\tresults = [];\n\ttry {\n\t\tincoming = JSON.parse(text);\n\t} catch(e) {\n\t\tincoming = [{\n\t\t\ttitle: \"JSON error: \" + e,\n\t\t\ttext: \"\"\n\t\t}]\n\t}\n\tif(!$tw.utils.isArray(incoming)) {\n\t\tincoming = [incoming];\n\t}\n\tfor(var t=0; t<incoming.length; t++) {\n\t\tvar incomingFields = incoming[t],\n\t\t\tfields = {};\n\t\tfor(var f in incomingFields) {\n\t\t\tif(typeof incomingFields[f] === \"string\") {\n\t\t\t\tfields[f] = incomingFields[f];\n\t\t\t}\n\t\t}\n\t\tresults.push(fields);\n\t}\n\treturn results;\n};\n\n/*\nParse an HTML file into tiddlers. There are three possibilities:\n# A TiddlyWiki classic HTML file containing `text/x-tiddlywiki` tiddlers\n# A TiddlyWiki5 HTML file containing `text/vnd.tiddlywiki` tiddlers\n# An ordinary HTML file\n*/\nexports[\"text/html\"] = function(text,fields) {\n\t// Check if we've got a store area\n\tvar storeAreaMarkerRegExp = /<div id=[\"']?storeArea['\"]?( style=[\"']?display:none;[\"']?)?>/gi,\n\t\tmatch = storeAreaMarkerRegExp.exec(text);\n\tif(match) {\n\t\t// If so, it's either a classic TiddlyWiki file or an unencrypted TW5 file\n\t\t// First read the normal tiddlers\n\t\tvar results = deserializeTiddlyWikiFile(text,storeAreaMarkerRegExp.lastIndex,!!match[1],fields);\n\t\t// Then any system tiddlers\n\t\tvar systemAreaMarkerRegExp = /<div id=[\"']?systemArea['\"]?( style=[\"']?display:none;[\"']?)?>/gi,\n\t\t\tsysMatch = systemAreaMarkerRegExp.exec(text);\n\t\tif(sysMatch) {\n\t\t\tresults.push.apply(results,deserializeTiddlyWikiFile(text,systemAreaMarkerRegExp.lastIndex,!!sysMatch[1],fields));\n\t\t}\n\t\treturn results;\n\t} else {\n\t\t// Check whether we've got an encrypted file\n\t\tvar encryptedStoreArea = $tw.utils.extractEncryptedStoreArea(text);\n\t\tif(encryptedStoreArea) {\n\t\t\t// If so, attempt to decrypt it using the current password\n\t\t\treturn $tw.utils.decryptStoreArea(encryptedStoreArea);\n\t\t} else {\n\t\t\t// It's not a TiddlyWiki so we'll return the entire HTML file as a tiddler\n\t\t\treturn deserializeHtmlFile(text,fields);\n\t\t}\n\t}\n};\n\nfunction deserializeHtmlFile(text,fields) {\n\tvar result = {};\n\t$tw.utils.each(fields,function(value,name) {\n\t\tresult[name] = value;\n\t});\n\tresult.text = text;\n\tresult.type = \"text/html\";\n\treturn [result];\n}\n\nfunction deserializeTiddlyWikiFile(text,storeAreaEnd,isTiddlyWiki5,fields) {\n\tvar results = [],\n\t\tendOfDivRegExp = /(<\\/div>\\s*)/gi,\n\t\tstartPos = storeAreaEnd,\n\t\tdefaultType = isTiddlyWiki5 ? undefined : \"text/x-tiddlywiki\";\n\tendOfDivRegExp.lastIndex = startPos;\n\tvar match = endOfDivRegExp.exec(text);\n\twhile(match) {\n\t\tvar endPos = endOfDivRegExp.lastIndex,\n\t\t\ttiddlerFields = parseTiddlerDiv(text.substring(startPos,endPos),fields,{type: defaultType});\n\t\tif(!tiddlerFields) {\n\t\t\tbreak;\n\t\t}\n\t\t$tw.utils.each(tiddlerFields,function(value,name) {\n\t\t\tif(typeof value === \"string\") {\n\t\t\t\ttiddlerFields[name] = $tw.utils.htmlDecode(value);\n\t\t\t}\n\t\t});\n\t\tif(tiddlerFields.text !== null) {\n\t\t\tresults.push(tiddlerFields);\n\t\t}\n\t\tstartPos = endPos;\n\t\tmatch = endOfDivRegExp.exec(text);\n\t}\n\treturn results;\n}\n\n})();\n",
            "type": "application/javascript",
            "module-type": "tiddlerdeserializer"
        },
        "$:/core/modules/editor/engines/framed.js": {
            "title": "$:/core/modules/editor/engines/framed.js",
            "text": "/*\\\ntitle: $:/core/modules/editor/engines/framed.js\ntype: application/javascript\nmodule-type: library\n\nText editor engine based on a simple input or textarea within an iframe. This is done so that the selection is preserved even when clicking away from the textarea\n\n\\*/\n(function(){\n\n/*jslint node: true,browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar HEIGHT_VALUE_TITLE = \"$:/config/TextEditor/EditorHeight/Height\";\n\nfunction FramedEngine(options) {\n\t// Save our options\n\toptions = options || {};\n\tthis.widget = options.widget;\n\tthis.value = options.value;\n\tthis.parentNode = options.parentNode;\n\tthis.nextSibling = options.nextSibling;\n\t// Create our hidden dummy text area for reading styles\n\tthis.dummyTextArea = this.widget.document.createElement(\"textarea\");\n\tif(this.widget.editClass) {\n\t\tthis.dummyTextArea.className = this.widget.editClass;\n\t}\n\tthis.dummyTextArea.setAttribute(\"hidden\",\"true\");\n\tthis.parentNode.insertBefore(this.dummyTextArea,this.nextSibling);\n\tthis.widget.domNodes.push(this.dummyTextArea);\n\t// Create the iframe\n\tthis.iframeNode = this.widget.document.createElement(\"iframe\");\n\tthis.parentNode.insertBefore(this.iframeNode,this.nextSibling);\n\tthis.iframeDoc = this.iframeNode.contentWindow.document;\n\t// (Firefox requires us to put some empty content in the iframe)\n\tthis.iframeDoc.open();\n\tthis.iframeDoc.write(\"\");\n\tthis.iframeDoc.close();\n\t// Style the iframe\n\tthis.iframeNode.className = this.dummyTextArea.className;\n\tthis.iframeNode.style.border = \"none\";\n\tthis.iframeNode.style.padding = \"0\";\n\tthis.iframeNode.style.resize = \"none\";\n\tthis.iframeNode.style[\"background-color\"] = this.widget.wiki.extractTiddlerDataItem(this.widget.wiki.getTiddlerText(\"$:/palette\"),\"tiddler-editor-background\");\n\tthis.iframeDoc.body.style.margin = \"0\";\n\tthis.iframeDoc.body.style.padding = \"0\";\n\tthis.widget.domNodes.push(this.iframeNode);\n\t// Construct the textarea or input node\n\tvar tag = this.widget.editTag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"input\";\n\t}\n\tthis.domNode = this.iframeDoc.createElement(tag);\n\t// Set the text\n\tif(this.widget.editTag === \"textarea\") {\n\t\tthis.domNode.appendChild(this.iframeDoc.createTextNode(this.value));\n\t} else {\n\t\tthis.domNode.value = this.value;\n\t}\n\t// Set the attributes\n\tif(this.widget.editType) {\n\t\tthis.domNode.setAttribute(\"type\",this.widget.editType);\n\t}\n\tif(this.widget.editPlaceholder) {\n\t\tthis.domNode.setAttribute(\"placeholder\",this.widget.editPlaceholder);\n\t}\n\tif(this.widget.editSize) {\n\t\tthis.domNode.setAttribute(\"size\",this.widget.editSize);\n\t}\n\tif(this.widget.editRows) {\n\t\tthis.domNode.setAttribute(\"rows\",this.widget.editRows);\n\t}\n\tif(this.widget.editTabIndex) {\n\t\tthis.iframeNode.setAttribute(\"tabindex\",this.widget.editTabIndex);\n\t}\n\t// Copy the styles from the dummy textarea\n\tthis.copyStyles();\n\t// Add event listeners\n\t$tw.utils.addEventListeners(this.domNode,[\n\t\t{name: \"click\",handlerObject: this,handlerMethod: \"handleClickEvent\"},\n\t\t{name: \"focus\",handlerObject: this,handlerMethod: \"handleFocusEvent\"},\n\t\t{name: \"input\",handlerObject: this,handlerMethod: \"handleInputEvent\"},\n\t\t{name: \"keydown\",handlerObject: this.widget,handlerMethod: \"handleKeydownEvent\"}\n\t]);\n\t// Insert the element into the DOM\n\tthis.iframeDoc.body.appendChild(this.domNode);\n}\n\n/*\nCopy styles from the dummy text area to the textarea in the iframe\n*/\nFramedEngine.prototype.copyStyles = function() {\n\t// Copy all styles\n\t$tw.utils.copyStyles(this.dummyTextArea,this.domNode);\n\t// Override the ones that should not be set the same as the dummy textarea\n\tthis.domNode.style.display = \"block\";\n\tthis.domNode.style.width = \"100%\";\n\tthis.domNode.style.margin = \"0\";\n\tthis.domNode.style[\"background-color\"] = this.widget.wiki.extractTiddlerDataItem(this.widget.wiki.getTiddlerText(\"$:/palette\"),\"tiddler-editor-background\");\n\t// In Chrome setting -webkit-text-fill-color overrides the placeholder text colour\n\tthis.domNode.style[\"-webkit-text-fill-color\"] = \"currentcolor\";\n};\n\n/*\nSet the text of the engine if it doesn't currently have focus\n*/\nFramedEngine.prototype.setText = function(text,type) {\n\tif(!this.domNode.isTiddlyWikiFakeDom) {\n\t\tif(this.domNode.ownerDocument.activeElement !== this.domNode) {\n\t\t\tthis.domNode.value = text;\n\t\t}\n\t\t// Fix the height if needed\n\t\tthis.fixHeight();\n\t}\n};\n\n/*\nGet the text of the engine\n*/\nFramedEngine.prototype.getText = function() {\n\treturn this.domNode.value;\n};\n\n/*\nFix the height of textarea to fit content\n*/\nFramedEngine.prototype.fixHeight = function() {\n\t// Make sure styles are updated\n\tthis.copyStyles();\n\t// Adjust height\n\tif(this.widget.editTag === \"textarea\") {\n\t\tif(this.widget.editAutoHeight) {\n\t\t\tif(this.domNode && !this.domNode.isTiddlyWikiFakeDom) {\n\t\t\t\tvar newHeight = $tw.utils.resizeTextAreaToFit(this.domNode,this.widget.editMinHeight);\n\t\t\t\tthis.iframeNode.style.height = (newHeight + 14) + \"px\"; // +14 for the border on the textarea\n\t\t\t}\n\t\t} else {\n\t\t\tvar fixedHeight = parseInt(this.widget.wiki.getTiddlerText(HEIGHT_VALUE_TITLE,\"400px\"),10);\n\t\t\tfixedHeight = Math.max(fixedHeight,20);\n\t\t\tthis.domNode.style.height = fixedHeight + \"px\";\n\t\t\tthis.iframeNode.style.height = (fixedHeight + 14) + \"px\";\n\t\t}\n\t}\n};\n\n/*\nFocus the engine node\n*/\nFramedEngine.prototype.focus  = function() {\n\tif(this.domNode.focus && this.domNode.select) {\n\t\tthis.domNode.focus();\n\t\tthis.domNode.select();\n\t}\n};\n\t\n/*\nHandle the focus event\n*/\nFramedEngine.prototype.handleFocusEvent = function(event) {\n\tthis.widget.cancelPopups();\n\treturn true;\n};\n\n/*\nHandle a click\n*/\nFramedEngine.prototype.handleClickEvent = function(event) {\n\tthis.fixHeight();\n\treturn true;\n};\n\n/*\nHandle a dom \"input\" event which occurs when the text has changed\n*/\nFramedEngine.prototype.handleInputEvent = function(event) {\n\tthis.widget.saveChanges(this.getText());\n\tthis.fixHeight();\n\treturn true;\n};\n\n/*\nCreate a blank structure representing a text operation\n*/\nFramedEngine.prototype.createTextOperation = function() {\n\tvar operation = {\n\t\ttext: this.domNode.value,\n\t\tselStart: this.domNode.selectionStart,\n\t\tselEnd: this.domNode.selectionEnd,\n\t\tcutStart: null,\n\t\tcutEnd: null,\n\t\treplacement: null,\n\t\tnewSelStart: null,\n\t\tnewSelEnd: null\n\t};\n\toperation.selection = operation.text.substring(operation.selStart,operation.selEnd);\n\treturn operation;\n};\n\n/*\nExecute a text operation\n*/\nFramedEngine.prototype.executeTextOperation = function(operation) {\n\t// Perform the required changes to the text area and the underlying tiddler\n\tvar newText = operation.text;\n\tif(operation.replacement !== null) {\n\t\tnewText = operation.text.substring(0,operation.cutStart) + operation.replacement + operation.text.substring(operation.cutEnd);\n\t\t// Attempt to use a execCommand to modify the value of the control\n\t\tif(this.iframeDoc.queryCommandSupported(\"insertText\") && this.iframeDoc.queryCommandSupported(\"delete\") && !$tw.browser.isFirefox) {\n\t\t\tthis.domNode.focus();\n\t\t\tthis.domNode.setSelectionRange(operation.cutStart,operation.cutEnd);\n\t\t\tif(operation.replacement === \"\") {\n\t\t\t\tthis.iframeDoc.execCommand(\"delete\",false,\"\");\n\t\t\t} else {\n\t\t\t\tthis.iframeDoc.execCommand(\"insertText\",false,operation.replacement);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.domNode.value = newText;\n\t\t}\n\t\tthis.domNode.focus();\n\t\tthis.domNode.setSelectionRange(operation.newSelStart,operation.newSelEnd);\n\t}\n\tthis.domNode.focus();\n\treturn newText;\n};\n\nexports.FramedEngine = FramedEngine;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "library"
        },
        "$:/core/modules/editor/engines/simple.js": {
            "title": "$:/core/modules/editor/engines/simple.js",
            "text": "/*\\\ntitle: $:/core/modules/editor/engines/simple.js\ntype: application/javascript\nmodule-type: library\n\nText editor engine based on a simple input or textarea tag\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar HEIGHT_VALUE_TITLE = \"$:/config/TextEditor/EditorHeight/Height\";\n\nfunction SimpleEngine(options) {\n\t// Save our options\n\toptions = options || {};\n\tthis.widget = options.widget;\n\tthis.value = options.value;\n\tthis.parentNode = options.parentNode;\n\tthis.nextSibling = options.nextSibling;\n\t// Construct the textarea or input node\n\tvar tag = this.widget.editTag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"input\";\n\t}\n\tthis.domNode = this.widget.document.createElement(tag);\n\t// Set the text\n\tif(this.widget.editTag === \"textarea\") {\n\t\tthis.domNode.appendChild(this.widget.document.createTextNode(this.value));\n\t} else {\n\t\tthis.domNode.value = this.value;\n\t}\n\t// Set the attributes\n\tif(this.widget.editType) {\n\t\tthis.domNode.setAttribute(\"type\",this.widget.editType);\n\t}\n\tif(this.widget.editPlaceholder) {\n\t\tthis.domNode.setAttribute(\"placeholder\",this.widget.editPlaceholder);\n\t}\n\tif(this.widget.editSize) {\n\t\tthis.domNode.setAttribute(\"size\",this.widget.editSize);\n\t}\n\tif(this.widget.editRows) {\n\t\tthis.domNode.setAttribute(\"rows\",this.widget.editRows);\n\t}\n\tif(this.widget.editClass) {\n\t\tthis.domNode.className = this.widget.editClass;\n\t}\n\tif(this.widget.editTabIndex) {\n\t\tthis.domNode.setAttribute(\"tabindex\",this.widget.editTabIndex);\n\t}\n\t// Add an input event handler\n\t$tw.utils.addEventListeners(this.domNode,[\n\t\t{name: \"focus\", handlerObject: this, handlerMethod: \"handleFocusEvent\"},\n\t\t{name: \"input\", handlerObject: this, handlerMethod: \"handleInputEvent\"}\n\t]);\n\t// Insert the element into the DOM\n\tthis.parentNode.insertBefore(this.domNode,this.nextSibling);\n\tthis.widget.domNodes.push(this.domNode);\n}\n\n/*\nSet the text of the engine if it doesn't currently have focus\n*/\nSimpleEngine.prototype.setText = function(text,type) {\n\tif(!this.domNode.isTiddlyWikiFakeDom) {\n\t\tif(this.domNode.ownerDocument.activeElement !== this.domNode || text === \"\") {\n\t\t\tthis.domNode.value = text;\n\t\t}\n\t\t// Fix the height if needed\n\t\tthis.fixHeight();\n\t}\n};\n\n/*\nGet the text of the engine\n*/\nSimpleEngine.prototype.getText = function() {\n\treturn this.domNode.value;\n};\n\n/*\nFix the height of textarea to fit content\n*/\nSimpleEngine.prototype.fixHeight = function() {\n\tif(this.widget.editTag === \"textarea\") {\n\t\tif(this.widget.editAutoHeight) {\n\t\t\tif(this.domNode && !this.domNode.isTiddlyWikiFakeDom) {\n\t\t\t\t$tw.utils.resizeTextAreaToFit(this.domNode,this.widget.editMinHeight);\n\t\t\t}\n\t\t} else {\n\t\t\tvar fixedHeight = parseInt(this.widget.wiki.getTiddlerText(HEIGHT_VALUE_TITLE,\"400px\"),10);\n\t\t\tfixedHeight = Math.max(fixedHeight,20);\n\t\t\tthis.domNode.style.height = fixedHeight + \"px\";\n\t\t}\n\t}\n};\n\n/*\nFocus the engine node\n*/\nSimpleEngine.prototype.focus  = function() {\n\tif(this.domNode.focus && this.domNode.select) {\n\t\tthis.domNode.focus();\n\t\tthis.domNode.select();\n\t}\n};\n\n/*\nHandle a dom \"input\" event which occurs when the text has changed\n*/\nSimpleEngine.prototype.handleInputEvent = function(event) {\n\tthis.widget.saveChanges(this.getText());\n\tthis.fixHeight();\n\treturn true;\n};\n\n/*\nHandle a dom \"focus\" event\n*/\nSimpleEngine.prototype.handleFocusEvent = function(event) {\n\tthis.widget.cancelPopups();\n\tif(this.widget.editFocusPopup) {\n\t\t$tw.popup.triggerPopup({\n\t\t\tdomNode: this.domNode,\n\t\t\ttitle: this.widget.editFocusPopup,\n\t\t\twiki: this.widget.wiki,\n\t\t\tforce: true\n\t\t});\n\t}\n\treturn true;\n};\n\n/*\nCreate a blank structure representing a text operation\n*/\nSimpleEngine.prototype.createTextOperation = function() {\n\treturn null;\n};\n\n/*\nExecute a text operation\n*/\nSimpleEngine.prototype.executeTextOperation = function(operation) {\n};\n\nexports.SimpleEngine = SimpleEngine;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "library"
        },
        "$:/core/modules/editor/factory.js": {
            "title": "$:/core/modules/editor/factory.js",
            "text": "/*\\\ntitle: $:/core/modules/editor/factory.js\ntype: application/javascript\nmodule-type: library\n\nFactory for constructing text editor widgets with specified engines for the toolbar and non-toolbar cases\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar DEFAULT_MIN_TEXT_AREA_HEIGHT = \"100px\"; // Minimum height of textareas in pixels\n\n// Configuration tiddlers\nvar HEIGHT_MODE_TITLE = \"$:/config/TextEditor/EditorHeight/Mode\";\nvar ENABLE_TOOLBAR_TITLE = \"$:/config/TextEditor/EnableToolbar\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nfunction editTextWidgetFactory(toolbarEngine,nonToolbarEngine) {\n\n\tvar EditTextWidget = function(parseTreeNode,options) {\n\t\t// Initialise the editor operations if they've not been done already\n\t\tif(!this.editorOperations) {\n\t\t\tEditTextWidget.prototype.editorOperations = {};\n\t\t\t$tw.modules.applyMethods(\"texteditoroperation\",this.editorOperations);\n\t\t}\n\t\tthis.initialise(parseTreeNode,options);\n\t};\n\n\t/*\n\tInherit from the base widget class\n\t*/\n\tEditTextWidget.prototype = new Widget();\n\n\t/*\n\tRender this widget into the DOM\n\t*/\n\tEditTextWidget.prototype.render = function(parent,nextSibling) {\n\t\t// Save the parent dom node\n\t\tthis.parentDomNode = parent;\n\t\t// Compute our attributes\n\t\tthis.computeAttributes();\n\t\t// Execute our logic\n\t\tthis.execute();\n\t\t// Create the wrapper for the toolbar and render its content\n\t\tif(this.editShowToolbar) {\n\t\t\tthis.toolbarNode = this.document.createElement(\"div\");\n\t\t\tthis.toolbarNode.className = \"tc-editor-toolbar\";\n\t\t\tparent.insertBefore(this.toolbarNode,nextSibling);\n\t\t\tthis.renderChildren(this.toolbarNode,null);\n\t\t\tthis.domNodes.push(this.toolbarNode);\n\t\t}\n\t\t// Create our element\n\t\tvar editInfo = this.getEditInfo(),\n\t\t\tEngine = this.editShowToolbar ? toolbarEngine : nonToolbarEngine;\n\t\tthis.engine = new Engine({\n\t\t\t\twidget: this,\n\t\t\t\tvalue: editInfo.value,\n\t\t\t\ttype: editInfo.type,\n\t\t\t\tparentNode: parent,\n\t\t\t\tnextSibling: nextSibling\n\t\t\t});\n\t\t// Call the postRender hook\n\t\tif(this.postRender) {\n\t\t\tthis.postRender();\n\t\t}\n\t\t// Fix height\n\t\tthis.engine.fixHeight();\n\t\t// Focus if required\n\t\tif(this.editFocus === \"true\" || this.editFocus === \"yes\") {\n\t\t\tthis.engine.focus();\n\t\t}\n\t\t// Add widget message listeners\n\t\tthis.addEventListeners([\n\t\t\t{type: \"tm-edit-text-operation\", handler: \"handleEditTextOperationMessage\"}\n\t\t]);\n\t};\n\n\t/*\n\tGet the tiddler being edited and current value\n\t*/\n\tEditTextWidget.prototype.getEditInfo = function() {\n\t\t// Get the edit value\n\t\tvar self = this,\n\t\t\tvalue,\n\t\t\ttype = \"text/plain\",\n\t\t\tupdate;\n\t\tif(this.editIndex) {\n\t\t\tvalue = this.wiki.extractTiddlerDataItem(this.editTitle,this.editIndex,this.editDefault);\n\t\t\tupdate = function(value) {\n\t\t\t\tvar data = self.wiki.getTiddlerData(self.editTitle,{});\n\t\t\t\tif(data[self.editIndex] !== value) {\n\t\t\t\t\tdata[self.editIndex] = value;\n\t\t\t\t\tself.wiki.setTiddlerData(self.editTitle,data);\n\t\t\t\t}\n\t\t\t};\n\t\t} else {\n\t\t\t// Get the current tiddler and the field name\n\t\t\tvar tiddler = this.wiki.getTiddler(this.editTitle);\n\t\t\tif(tiddler) {\n\t\t\t\t// If we've got a tiddler, the value to display is the field string value\n\t\t\t\tvalue = tiddler.getFieldString(this.editField);\n\t\t\t\tif(this.editField === \"text\") {\n\t\t\t\t\ttype = tiddler.fields.type || \"text/vnd.tiddlywiki\";\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Otherwise, we need to construct a default value for the editor\n\t\t\t\tswitch(this.editField) {\n\t\t\t\t\tcase \"text\":\n\t\t\t\t\t\tvalue = \"Type the text for the tiddler '\" + this.editTitle + \"'\";\n\t\t\t\t\t\ttype = \"text/vnd.tiddlywiki\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"title\":\n\t\t\t\t\t\tvalue = this.editTitle;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tvalue = \"\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif(this.editDefault !== undefined) {\n\t\t\t\t\tvalue = this.editDefault;\n\t\t\t\t}\n\t\t\t}\n\t\t\tupdate = function(value) {\n\t\t\t\tvar tiddler = self.wiki.getTiddler(self.editTitle),\n\t\t\t\t\tupdateFields = {\n\t\t\t\t\t\ttitle: self.editTitle\n\t\t\t\t\t};\n\t\t\t\tupdateFields[self.editField] = value;\n\t\t\t\tself.wiki.addTiddler(new $tw.Tiddler(self.wiki.getCreationFields(),tiddler,updateFields,self.wiki.getModificationFields()));\n\t\t\t};\n\t\t}\n\t\tif(this.editType) {\n\t\t\ttype = this.editType;\n\t\t}\n\t\treturn {value: value || \"\", type: type, update: update};\n\t};\n\n\t/*\n\tHandle an edit text operation message from the toolbar\n\t*/\n\tEditTextWidget.prototype.handleEditTextOperationMessage = function(event) {\n\t\t// Prepare information about the operation\n\t\tvar operation = this.engine.createTextOperation();\n\t\t// Invoke the handler for the selected operation\n\t\tvar handler = this.editorOperations[event.param];\n\t\tif(handler) {\n\t\t\thandler.call(this,event,operation);\n\t\t}\n\t\t// Execute the operation via the engine\n\t\tvar newText = this.engine.executeTextOperation(operation);\n\t\t// Fix the tiddler height and save changes\n\t\tthis.engine.fixHeight();\n\t\tthis.saveChanges(newText);\n\t};\n\n\t/*\n\tCompute the internal state of the widget\n\t*/\n\tEditTextWidget.prototype.execute = function() {\n\t\t// Get our parameters\n\t\tthis.editTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\t\tthis.editField = this.getAttribute(\"field\",\"text\");\n\t\tthis.editIndex = this.getAttribute(\"index\");\n\t\tthis.editDefault = this.getAttribute(\"default\");\n\t\tthis.editClass = this.getAttribute(\"class\");\n\t\tthis.editPlaceholder = this.getAttribute(\"placeholder\");\n\t\tthis.editSize = this.getAttribute(\"size\");\n\t\tthis.editRows = this.getAttribute(\"rows\");\n\t\tthis.editAutoHeight = this.wiki.getTiddlerText(HEIGHT_MODE_TITLE,\"auto\");\n\t\tthis.editAutoHeight = this.getAttribute(\"autoHeight\",this.editAutoHeight === \"auto\" ? \"yes\" : \"no\") === \"yes\";\n\t\tthis.editMinHeight = this.getAttribute(\"minHeight\",DEFAULT_MIN_TEXT_AREA_HEIGHT);\n\t\tthis.editFocusPopup = this.getAttribute(\"focusPopup\");\n\t\tthis.editFocus = this.getAttribute(\"focus\");\n\t\tthis.editTabIndex = this.getAttribute(\"tabindex\");\n\t\t// Get the default editor element tag and type\n\t\tvar tag,type;\n\t\tif(this.editField === \"text\") {\n\t\t\ttag = \"textarea\";\n\t\t} else {\n\t\t\ttag = \"input\";\n\t\t\tvar fieldModule = $tw.Tiddler.fieldModules[this.editField];\n\t\t\tif(fieldModule && fieldModule.editTag) {\n\t\t\t\ttag = fieldModule.editTag;\n\t\t\t}\n\t\t\tif(fieldModule && fieldModule.editType) {\n\t\t\t\ttype = fieldModule.editType;\n\t\t\t}\n\t\t\ttype = type || \"text\";\n\t\t}\n\t\t// Get the rest of our parameters\n\t\tthis.editTag = this.getAttribute(\"tag\",tag) || \"input\";\n\t\tthis.editType = this.getAttribute(\"type\",type);\n\t\t// Make the child widgets\n\t\tthis.makeChildWidgets();\n\t\t// Determine whether to show the toolbar\n\t\tthis.editShowToolbar = this.wiki.getTiddlerText(ENABLE_TOOLBAR_TITLE,\"yes\");\n\t\tthis.editShowToolbar = (this.editShowToolbar === \"yes\") && !!(this.children && this.children.length > 0) && (!this.document.isTiddlyWikiFakeDom);\n\t};\n\n\t/*\n\tSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n\t*/\n\tEditTextWidget.prototype.refresh = function(changedTiddlers) {\n\t\tvar changedAttributes = this.computeAttributes();\n\t\t// Completely rerender if any of our attributes have changed\n\t\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes[\"default\"] || changedAttributes[\"class\"] || changedAttributes.placeholder || changedAttributes.size || changedAttributes.autoHeight || changedAttributes.minHeight || changedAttributes.focusPopup ||  changedAttributes.rows || changedAttributes.tabindex || changedTiddlers[HEIGHT_MODE_TITLE] || changedTiddlers[ENABLE_TOOLBAR_TITLE]) {\n\t\t\tthis.refreshSelf();\n\t\t\treturn true;\n\t\t} else if(changedTiddlers[this.editTitle]) {\n\t\t\tvar editInfo = this.getEditInfo();\n\t\t\tthis.updateEditor(editInfo.value,editInfo.type);\n\t\t}\n\t\tthis.engine.fixHeight();\n\t\tif(this.editShowToolbar) {\n\t\t\treturn this.refreshChildren(changedTiddlers);\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t};\n\n\t/*\n\tUpdate the editor with new text. This method is separate from updateEditorDomNode()\n\tso that subclasses can override updateEditor() and still use updateEditorDomNode()\n\t*/\n\tEditTextWidget.prototype.updateEditor = function(text,type) {\n\t\tthis.updateEditorDomNode(text,type);\n\t};\n\n\t/*\n\tUpdate the editor dom node with new text\n\t*/\n\tEditTextWidget.prototype.updateEditorDomNode = function(text,type) {\n\t\tthis.engine.setText(text,type);\n\t};\n\n\t/*\n\tSave changes back to the tiddler store\n\t*/\n\tEditTextWidget.prototype.saveChanges = function(text) {\n\t\tvar editInfo = this.getEditInfo();\n\t\tif(text !== editInfo.value) {\n\t\t\teditInfo.update(text);\n\t\t}\n\t};\n\n\t/*\n\tCancel Popups\n\t*/\n\tEditTextWidget.prototype.cancelPopups = function() {\n\t\t$tw.popup.cancel(0,this.engine.domNode);\n\t};\n\n\t/*\n\tHandle a dom \"keydown\" event, which we'll bubble up to our container for the keyboard widgets benefit\n\t*/\n\tEditTextWidget.prototype.handleKeydownEvent = function(event) {\n\t\t// Check for a keyboard shortcut\n\t\tif(this.toolbarNode) {\n\t\t\tvar shortcutElements = this.toolbarNode.querySelectorAll(\"[data-tw-keyboard-shortcut]\");\n\t\t\tfor(var index=0; index<shortcutElements.length; index++) {\n\t\t\t\tvar el = shortcutElements[index],\n\t\t\t\t\tshortcutData = el.getAttribute(\"data-tw-keyboard-shortcut\"),\n\t\t\t\t\tkeyInfoArray = $tw.keyboardManager.parseKeyDescriptors(shortcutData,{\n\t\t\t\t\t\twiki: this.wiki\n\t\t\t\t\t});\n\t\t\t\tif($tw.keyboardManager.checkKeyDescriptors(event,keyInfoArray)) {\n\t\t\t\t\tvar clickEvent = this.document.createEvent(\"Events\");\n\t\t\t\t    clickEvent.initEvent(\"click\",true,false);\n\t\t\t\t    el.dispatchEvent(clickEvent);\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t// Propogate the event to the container\n\t\tif(this.propogateKeydownEvent(event)) {\n\t\t\t// Ignore the keydown if it was already handled\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\treturn true;\n\t\t}\n\t\t// Otherwise, process the keydown normally\n\t\treturn false;\n\t};\n\n\t/*\n\tPropogate keydown events to our container for the keyboard widgets benefit\n\t*/\n\tEditTextWidget.prototype.propogateKeydownEvent = function(event) {\n\t\tvar newEvent = this.document.createEventObject ? this.document.createEventObject() : this.document.createEvent(\"Events\");\n\t\tif(newEvent.initEvent) {\n\t\t\tnewEvent.initEvent(\"keydown\", true, true);\n\t\t}\n\t\tnewEvent.keyCode = event.keyCode;\n\t\tnewEvent.which = event.which;\n\t\tnewEvent.metaKey = event.metaKey;\n\t\tnewEvent.ctrlKey = event.ctrlKey;\n\t\tnewEvent.altKey = event.altKey;\n\t\tnewEvent.shiftKey = event.shiftKey;\n\t\treturn !this.parentDomNode.dispatchEvent(newEvent);\n\t};\n\n\treturn EditTextWidget;\n\n}\n\nexports.editTextWidgetFactory = editTextWidgetFactory;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "library"
        },
        "$:/core/modules/editor/operations/bitmap/clear.js": {
            "title": "$:/core/modules/editor/operations/bitmap/clear.js",
            "text": "/*\\\ntitle: $:/core/modules/editor/operations/bitmap/clear.js\ntype: application/javascript\nmodule-type: bitmapeditoroperation\n\nBitmap editor operation to clear the image\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"clear\"] = function(event) {\n\tvar ctx = this.canvasDomNode.getContext(\"2d\");\n\tctx.globalAlpha = 1;\n\tctx.fillStyle = event.paramObject.colour || \"white\";\n\tctx.fillRect(0,0,this.canvasDomNode.width,this.canvasDomNode.height);\n\t// Save changes\n\tthis.strokeEnd();\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "bitmapeditoroperation"
        },
        "$:/core/modules/editor/operations/bitmap/resize.js": {
            "title": "$:/core/modules/editor/operations/bitmap/resize.js",
            "text": "/*\\\ntitle: $:/core/modules/editor/operations/bitmap/resize.js\ntype: application/javascript\nmodule-type: bitmapeditoroperation\n\nBitmap editor operation to resize the image\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"resize\"] = function(event) {\n\t// Get the new width\n\tvar newWidth = parseInt(event.paramObject.width || this.canvasDomNode.width,10),\n\t\tnewHeight = parseInt(event.paramObject.height || this.canvasDomNode.height,10);\n\t// Update if necessary\n\tif(newWidth > 0 && newHeight > 0 && !(newWidth === this.currCanvas.width && newHeight === this.currCanvas.height)) {\n\t\tthis.changeCanvasSize(newWidth,newHeight);\n\t}\n\t// Update the input controls\n\tthis.refreshToolbar();\n\t// Save the image into the tiddler\n\tthis.saveChanges();\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "bitmapeditoroperation"
        },
        "$:/core/modules/editor/operations/bitmap/rotate-left.js": {
            "title": "$:/core/modules/editor/operations/bitmap/rotate-left.js",
            "text": "/*\\\ntitle: $:/core/modules/editor/operations/bitmap/rotate-left.js\ntype: application/javascript\nmodule-type: bitmapeditoroperation\n\nBitmap editor operation to rotate the image left by 90 degrees\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"rotate-left\"] = function(event) {\n\t// Rotate the canvas left by 90 degrees\n\tthis.rotateCanvasLeft();\n\t// Update the input controls\n\tthis.refreshToolbar();\n\t// Save the image into the tiddler\n\tthis.saveChanges();\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "bitmapeditoroperation"
        },
        "$:/core/modules/editor/operations/text/excise.js": {
            "title": "$:/core/modules/editor/operations/text/excise.js",
            "text": "/*\\\ntitle: $:/core/modules/editor/operations/text/excise.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to excise the selection to a new tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"excise\"] = function(event,operation) {\n\tvar editTiddler = this.wiki.getTiddler(this.editTitle),\n\t\teditTiddlerTitle = this.editTitle;\n\tif(editTiddler && editTiddler.fields[\"draft.of\"]) {\n\t\teditTiddlerTitle = editTiddler.fields[\"draft.of\"];\n\t}\n\tvar excisionTitle = event.paramObject.title || this.wiki.generateNewTitle(\"New Excision\");\n\tthis.wiki.addTiddler(new $tw.Tiddler(\n\t\tthis.wiki.getCreationFields(),\n\t\tthis.wiki.getModificationFields(),\n\t\t{\n\t\t\ttitle: excisionTitle,\n\t\t\ttext: operation.selection,\n\t\t\ttags: event.paramObject.tagnew === \"yes\" ?  [editTiddlerTitle] : []\n\t\t}\n\t));\n\toperation.replacement = excisionTitle;\n\tswitch(event.paramObject.type || \"transclude\") {\n\t\tcase \"transclude\":\n\t\t\toperation.replacement = \"{{\" + operation.replacement+ \"}}\";\n\t\t\tbreak;\n\t\tcase \"link\":\n\t\t\toperation.replacement = \"[[\" + operation.replacement+ \"]]\";\n\t\t\tbreak;\n\t\tcase \"macro\":\n\t\t\toperation.replacement = \"<<\" + (event.paramObject.macro || \"translink\") + \" \\\"\\\"\\\"\" + operation.replacement + \"\\\"\\\"\\\">>\";\n\t\t\tbreak;\n\t}\n\toperation.cutStart = operation.selStart;\n\toperation.cutEnd = operation.selEnd;\n\toperation.newSelStart = operation.selStart;\n\toperation.newSelEnd = operation.selStart + operation.replacement.length;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "texteditoroperation"
        },
        "$:/core/modules/editor/operations/text/make-link.js": {
            "title": "$:/core/modules/editor/operations/text/make-link.js",
            "text": "/*\\\ntitle: $:/core/modules/editor/operations/text/make-link.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to make a link\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"make-link\"] = function(event,operation) {\n\tif(operation.selection) {\n\t\toperation.replacement = \"[[\" + operation.selection + \"|\" + event.paramObject.text + \"]]\";\n\t\toperation.cutStart = operation.selStart;\n\t\toperation.cutEnd = operation.selEnd;\n\t} else {\n\t\toperation.replacement = \"[[\" + event.paramObject.text + \"]]\";\n\t\toperation.cutStart = operation.selStart;\n\t\toperation.cutEnd = operation.selEnd;\n\t}\n\toperation.newSelStart = operation.selStart + operation.replacement.length;\n\toperation.newSelEnd = operation.newSelStart;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "texteditoroperation"
        },
        "$:/core/modules/editor/operations/text/prefix-lines.js": {
            "title": "$:/core/modules/editor/operations/text/prefix-lines.js",
            "text": "/*\\\ntitle: $:/core/modules/editor/operations/text/prefix-lines.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to add a prefix to the selected lines\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"prefix-lines\"] = function(event,operation) {\n\t// Cut just past the preceding line break, or the start of the text\n\toperation.cutStart = $tw.utils.findPrecedingLineBreak(operation.text,operation.selStart);\n\t// Cut to just past the following line break, or to the end of the text\n\toperation.cutEnd = $tw.utils.findFollowingLineBreak(operation.text,operation.selEnd);\n\t// Compose the required prefix\n\tvar prefix = $tw.utils.repeat(event.paramObject.character,event.paramObject.count);\n\t// Process each line\n\tvar lines = operation.text.substring(operation.cutStart,operation.cutEnd).split(/\\r?\\n/mg);\n\t$tw.utils.each(lines,function(line,index) {\n\t\t// Remove and count any existing prefix characters\n\t\tvar count = 0;\n\t\twhile(line.charAt(0) === event.paramObject.character) {\n\t\t\tline = line.substring(1);\n\t\t\tcount++;\n\t\t}\n\t\t// Remove any whitespace\n\t\twhile(line.charAt(0) === \" \") {\n\t\t\tline = line.substring(1);\n\t\t}\n\t\t// We're done if we removed the exact required prefix, otherwise add it\n\t\tif(count !== event.paramObject.count) {\n\t\t\t// Apply the prefix\n\t\t\tline =  prefix + \" \" + line;\n\t\t}\n\t\t// Save the modified line\n\t\tlines[index] = line;\n\t});\n\t// Stitch the replacement text together and set the selection\n\toperation.replacement = lines.join(\"\\n\");\n\tif(lines.length === 1) {\n\t\toperation.newSelStart = operation.cutStart + operation.replacement.length;\n\t\toperation.newSelEnd = operation.newSelStart;\n\t} else {\n\t\toperation.newSelStart = operation.cutStart;\n\t\toperation.newSelEnd = operation.newSelStart + operation.replacement.length;\n\t}\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "texteditoroperation"
        },
        "$:/core/modules/editor/operations/text/replace-all.js": {
            "title": "$:/core/modules/editor/operations/text/replace-all.js",
            "text": "/*\\\ntitle: $:/core/modules/editor/operations/text/replace-all.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to replace the entire text\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"replace-all\"] = function(event,operation) {\n\toperation.cutStart = 0;\n\toperation.cutEnd = operation.text.length;\n\toperation.replacement = event.paramObject.text;\n\toperation.newSelStart = 0;\n\toperation.newSelEnd = operation.replacement.length;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "texteditoroperation"
        },
        "$:/core/modules/editor/operations/text/replace-selection.js": {
            "title": "$:/core/modules/editor/operations/text/replace-selection.js",
            "text": "/*\\\ntitle: $:/core/modules/editor/operations/text/replace-selection.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to replace the selection\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"replace-selection\"] = function(event,operation) {\n\toperation.replacement = event.paramObject.text;\n\toperation.cutStart = operation.selStart;\n\toperation.cutEnd = operation.selEnd;\n\toperation.newSelStart = operation.selStart;\n\toperation.newSelEnd = operation.selStart + operation.replacement.length;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "texteditoroperation"
        },
        "$:/core/modules/editor/operations/text/save-selection.js": {
            "title": "$:/core/modules/editor/operations/text/save-selection.js",
            "text": "/*\\\ntitle: $:/core/modules/editor/operations/text/save-selection.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to save the current selection in a specified tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"save-selection\"] = function(event,operation) {\n\tvar tiddler = event.paramObject.tiddler,\n\t\tfield = event.paramObject.field || \"text\";\n\tif(tiddler && field) {\n\t\tthis.wiki.setText(tiddler,field,null,operation.text.substring(operation.selStart,operation.selEnd));\n\t}\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "texteditoroperation"
        },
        "$:/core/modules/editor/operations/text/wrap-lines.js": {
            "title": "$:/core/modules/editor/operations/text/wrap-lines.js",
            "text": "/*\\\ntitle: $:/core/modules/editor/operations/text/wrap-lines.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to wrap the selected lines with a prefix and suffix\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"wrap-lines\"] = function(event,operation) {\n\t// Cut just past the preceding line break, or the start of the text\n\toperation.cutStart = $tw.utils.findPrecedingLineBreak(operation.text,operation.selStart);\n\t// Cut to just past the following line break, or to the end of the text\n\toperation.cutEnd = $tw.utils.findFollowingLineBreak(operation.text,operation.selEnd);\n\t// Add the prefix and suffix\n\toperation.replacement = event.paramObject.prefix + \"\\n\" +\n\t\t\t\toperation.text.substring(operation.cutStart,operation.cutEnd) + \"\\n\" +\n\t\t\t\tevent.paramObject.suffix + \"\\n\";\n\toperation.newSelStart = operation.cutStart + event.paramObject.prefix.length + 1;\n\toperation.newSelEnd = operation.newSelStart + (operation.cutEnd - operation.cutStart);\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "texteditoroperation"
        },
        "$:/core/modules/editor/operations/text/wrap-selection.js": {
            "title": "$:/core/modules/editor/operations/text/wrap-selection.js",
            "text": "/*\\\ntitle: $:/core/modules/editor/operations/text/wrap-selection.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to wrap the selection with the specified prefix and suffix\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"wrap-selection\"] = function(event,operation) {\n\tif(operation.selStart === operation.selEnd) {\n\t\t// No selection; check if we're within the prefix/suffix\n\t\tif(operation.text.substring(operation.selStart - event.paramObject.prefix.length,operation.selStart + event.paramObject.suffix.length) === event.paramObject.prefix + event.paramObject.suffix) {\n\t\t\t// Remove the prefix and suffix\n\t\t\toperation.cutStart = operation.selStart - event.paramObject.prefix.length;\n\t\t\toperation.cutEnd = operation.selEnd + event.paramObject.suffix.length;\n\t\t\toperation.replacement = \"\";\n\t\t\toperation.newSelStart = operation.cutStart;\n\t\t\toperation.newSelEnd = operation.newSelStart;\n\t\t} else {\n\t\t\t// Wrap the cursor instead\n\t\t\toperation.cutStart = operation.selStart;\n\t\t\toperation.cutEnd = operation.selEnd;\n\t\t\toperation.replacement = event.paramObject.prefix + event.paramObject.suffix;\n\t\t\toperation.newSelStart = operation.selStart + event.paramObject.prefix.length;\n\t\t\toperation.newSelEnd = operation.newSelStart;\n\t\t}\n\t} else if(operation.text.substring(operation.selStart,operation.selStart + event.paramObject.prefix.length) === event.paramObject.prefix && operation.text.substring(operation.selEnd - event.paramObject.suffix.length,operation.selEnd) === event.paramObject.suffix) {\n\t\t// Prefix and suffix are already present, so remove them\n\t\toperation.cutStart = operation.selStart;\n\t\toperation.cutEnd = operation.selEnd;\n\t\toperation.replacement = operation.selection.substring(event.paramObject.prefix.length,operation.selection.length - event.paramObject.suffix.length);\n\t\toperation.newSelStart = operation.selStart;\n\t\toperation.newSelEnd = operation.selStart + operation.replacement.length;\n\t} else {\n\t\t// Add the prefix and suffix\n\t\toperation.cutStart = operation.selStart;\n\t\toperation.cutEnd = operation.selEnd;\n\t\toperation.replacement = event.paramObject.prefix + operation.selection + event.paramObject.suffix;\n\t\toperation.newSelStart = operation.selStart;\n\t\toperation.newSelEnd = operation.selStart + operation.replacement.length;\n\t}\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "texteditoroperation"
        },
        "$:/core/modules/filters/addprefix.js": {
            "title": "$:/core/modules/filters/addprefix.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/addprefix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for adding a prefix to each title in the list. This is\nespecially useful in contexts where only a filter expression is allowed\nand macro substitution isn't available.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.addprefix = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(operator.operand + title);\n\t});\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/addsuffix.js": {
            "title": "$:/core/modules/filters/addsuffix.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/addsuffix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for adding a suffix to each title in the list. This is\nespecially useful in contexts where only a filter expression is allowed\nand macro substitution isn't available.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.addsuffix = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title + operator.operand);\n\t});\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/after.js": {
            "title": "$:/core/modules/filters/after.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/after.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddler from the current list that is after the tiddler named in the operand.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.after = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\tvar index = results.indexOf(operator.operand);\n\tif(index === -1 || index > (results.length - 2)) {\n\t\treturn [];\n\t} else {\n\t\treturn [results[index + 1]];\n\t}\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/all/current.js": {
            "title": "$:/core/modules/filters/all/current.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/all/current.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[current]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.current = function(source,prefix,options) {\n\tvar currTiddlerTitle = options.widget && options.widget.getVariable(\"currentTiddler\");\n\tif(currTiddlerTitle) {\n\t\treturn [currTiddlerTitle];\n\t} else {\n\t\treturn [];\n\t}\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "allfilteroperator"
        },
        "$:/core/modules/filters/all/missing.js": {
            "title": "$:/core/modules/filters/all/missing.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/all/missing.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[missing]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.missing = function(source,prefix,options) {\n\treturn options.wiki.getMissingTitles();\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "allfilteroperator"
        },
        "$:/core/modules/filters/all/orphans.js": {
            "title": "$:/core/modules/filters/all/orphans.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/all/orphans.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[orphans]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.orphans = function(source,prefix,options) {\n\treturn options.wiki.getOrphanTitles();\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "allfilteroperator"
        },
        "$:/core/modules/filters/all/shadows.js": {
            "title": "$:/core/modules/filters/all/shadows.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/all/shadows.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[shadows]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.shadows = function(source,prefix,options) {\n\treturn options.wiki.allShadowTitles();\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "allfilteroperator"
        },
        "$:/core/modules/filters/all/tags.js": {
            "title": "$:/core/modules/filters/all/tags.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/all/tags.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[tags]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tags = function(source,prefix,options) {\n\treturn Object.keys(options.wiki.getTagMap());\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "allfilteroperator"
        },
        "$:/core/modules/filters/all/tiddlers.js": {
            "title": "$:/core/modules/filters/all/tiddlers.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/all/tiddlers.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[tiddlers]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tiddlers = function(source,prefix,options) {\n\treturn options.wiki.allTitles();\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "allfilteroperator"
        },
        "$:/core/modules/filters/all.js": {
            "title": "$:/core/modules/filters/all.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/all.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for selecting tiddlers\n\n[all[shadows+tiddlers]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar allFilterOperators;\n\nfunction getAllFilterOperators() {\n\tif(!allFilterOperators) {\n\t\tallFilterOperators = {};\n\t\t$tw.modules.applyMethods(\"allfilteroperator\",allFilterOperators);\n\t}\n\treturn allFilterOperators;\n}\n\n/*\nExport our filter function\n*/\nexports.all = function(source,operator,options) {\n\t// Get our suboperators\n\tvar allFilterOperators = getAllFilterOperators();\n\t// Cycle through the suboperators accumulating their results\n\tvar results = [],\n\t\tsubops = operator.operand.split(\"+\");\n\t// Check for common optimisations\n\tif(subops.length === 1 && subops[0] === \"\") {\n\t\treturn source;\n\t} else if(subops.length === 1 && subops[0] === \"tiddlers\") {\n\t\treturn options.wiki.each;\n\t} else if(subops.length === 1 && subops[0] === \"shadows\") {\n\t\treturn options.wiki.eachShadow;\n\t} else if(subops.length === 2 && subops[0] === \"tiddlers\" && subops[1] === \"shadows\") {\n\t\treturn options.wiki.eachTiddlerPlusShadows;\n\t} else if(subops.length === 2 && subops[0] === \"shadows\" && subops[1] === \"tiddlers\") {\n\t\treturn options.wiki.eachShadowPlusTiddlers;\n\t}\n\t// Do it the hard way\n\tfor(var t=0; t<subops.length; t++) {\n\t\tvar subop = allFilterOperators[subops[t]];\n\t\tif(subop) {\n\t\t\t$tw.utils.pushTop(results,subop(source,operator.prefix,options));\n\t\t}\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/backlinks.js": {
            "title": "$:/core/modules/filters/backlinks.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/backlinks.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning all the backlinks from a tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.backlinks = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.pushTop(results,options.wiki.getTiddlerBacklinks(title));\n\t});\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/before.js": {
            "title": "$:/core/modules/filters/before.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/before.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddler from the current list that is before the tiddler named in the operand.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.before = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\tvar index = results.indexOf(operator.operand);\n\tif(index <= 0) {\n\t\treturn [];\n\t} else {\n\t\treturn [results[index - 1]];\n\t}\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/commands.js": {
            "title": "$:/core/modules/filters/commands.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/commands.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the commands available in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.commands = function(source,operator,options) {\n\tvar results = [];\n\t$tw.utils.each($tw.commands,function(commandInfo,name) {\n\t\tresults.push(name);\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/contains.js": {
            "title": "$:/core/modules/filters/contains.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/contains.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for finding values in array fields\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.contains = function(source,operator,options) {\n\tvar results = [],\n\t\tfieldname = (operator.suffix || \"list\").toLowerCase();\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler) {\n\t\t\t\tvar list = tiddler.getFieldList(fieldname);\n\t\t\t\tif(list.indexOf(operator.operand) === -1) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler) {\n\t\t\t\tvar list = tiddler.getFieldList(fieldname);\n\t\t\t\tif(list.indexOf(operator.operand) !== -1) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/count.js": {
            "title": "$:/core/modules/filters/count.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/count.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the number of entries in the current list.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.count = function(source,operator,options) {\n\tvar count = 0;\n\tsource(function(tiddler,title) {\n\t\tcount++;\n\t});\n\treturn [count + \"\"];\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/days.js": {
            "title": "$:/core/modules/filters/days.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/days.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that selects tiddlers with a specified date field within a specified date interval.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.days = function(source,operator,options) {\n\tvar results = [],\n\t\tfieldName = operator.suffix || \"modified\",\n\t\tdayInterval = (parseInt(operator.operand,10)||0),\n\t\tdayIntervalSign = $tw.utils.sign(dayInterval),\n\t\ttargetTimeStamp = (new Date()).setHours(0,0,0,0) + 1000*60*60*24*dayInterval,\n\t\tisWithinDays = function(dateField) {\n\t\t\tvar sign = $tw.utils.sign(targetTimeStamp - (new Date(dateField)).setHours(0,0,0,0));\n\t\t\treturn sign === 0 || sign === dayIntervalSign;\n\t\t};\n\n\tif(operator.prefix === \"!\") {\n\t\ttargetTimeStamp = targetTimeStamp - 1000*60*60*24*dayIntervalSign;\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && tiddler.fields[fieldName]) {\n\t\t\t\tif(!isWithinDays($tw.utils.parseDate(tiddler.fields[fieldName]))) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && tiddler.fields[fieldName]) {\n\t\t\t\tif(isWithinDays($tw.utils.parseDate(tiddler.fields[fieldName]))) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/each.js": {
            "title": "$:/core/modules/filters/each.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/each.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that selects one tiddler for each unique value of the specified field.\nWith suffix \"list\", selects all tiddlers that are values in a specified list field.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.each = function(source,operator,options) {\n\tvar results =[] ,\n\tvalue,values = {},\n\tfield = operator.operand || \"title\";\n\tif(operator.suffix === \"value\" && field === \"title\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!$tw.utils.hop(values,title)) {\n\t\t\t\tvalues[title] = true;\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else if(operator.suffix !== \"list-item\") {\n\t\tif(field === \"title\") {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler && !$tw.utils.hop(values,title)) {\n\t\t\t\t\tvalues[title] = true;\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvalue = tiddler.getFieldString(field);\n\t\t\t\t\tif(!$tw.utils.hop(values,value)) {\n\t\t\t\t\t\tvalues[value] = true;\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler) {\n\t\t\t\t$tw.utils.each(\n\t\t\t\t\toptions.wiki.getTiddlerList(title,field),\n\t\t\t\t\tfunction(value) {\n\t\t\t\t\t\tif(!$tw.utils.hop(values,value)) {\n\t\t\t\t\t\t\tvalues[value] = true;\n\t\t\t\t\t\t\tresults.push(value);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/eachday.js": {
            "title": "$:/core/modules/filters/eachday.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/eachday.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that selects one tiddler for each unique day covered by the specified date field\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.eachday = function(source,operator,options) {\n\tvar results = [],\n\t\tvalues = [],\n\t\tfieldName = operator.operand || \"modified\";\n\t// Function to convert a date/time to a date integer\n\tvar toDate = function(value) {\n\t\tvalue = (new Date(value)).setHours(0,0,0,0);\n\t\treturn value+0;\n\t};\n\tsource(function(tiddler,title) {\n\t\tif(tiddler && tiddler.fields[fieldName]) {\n\t\t\tvar value = toDate($tw.utils.parseDate(tiddler.fields[fieldName]));\n\t\t\tif(values.indexOf(value) === -1) {\n\t\t\t\tvalues.push(value);\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/editiondescription.js": {
            "title": "$:/core/modules/filters/editiondescription.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/editiondescription.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the descriptions of the specified edition names\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.editiondescription = function(source,operator,options) {\n\tvar results = [],\n\t\teditionInfo = $tw.utils.getEditionInfo();\n\tif(editionInfo) {\n\t\tsource(function(tiddler,title) {\n\t\t\tif($tw.utils.hop(editionInfo,title)) {\n\t\t\t\tresults.push(editionInfo[title].description || \"\");\t\t\t\t\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/editions.js": {
            "title": "$:/core/modules/filters/editions.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/editions.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the available editions in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.editions = function(source,operator,options) {\n\tvar results = [],\n\t\teditionInfo = $tw.utils.getEditionInfo();\n\tif(editionInfo) {\n\t\t$tw.utils.each(editionInfo,function(info,name) {\n\t\t\tresults.push(name);\n\t\t});\n\t}\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/else.js": {
            "title": "$:/core/modules/filters/else.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/else.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for replacing an empty input list with a constant, passing a non-empty input list straight through\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.else = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\tif(results.length === 0) {\n\t\treturn [operator.operand];\n\t} else {\n\t\treturn results;\n\t}\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/decodeuricomponent.js": {
            "title": "$:/core/modules/filters/decodeuricomponent.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/decodeuricomponent.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for applying decodeURIComponent() to each item.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter functions\n*/\n\nexports.decodeuricomponent = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar value = title;\n\t\ttry {\n\t\t\tvalue = decodeURIComponent(title);\n\t\t} catch(e) {\n\t\t}\n\t\tresults.push(value);\n\t});\n\treturn results;\n};\n\nexports.encodeuricomponent = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(encodeURIComponent(title));\n\t});\n\treturn results;\n};\n\nexports.decodeuri = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar value = title;\n\t\ttry {\n\t\t\tvalue = decodeURI(title);\n\t\t} catch(e) {\n\t\t}\n\t\tresults.push(value);\n\t});\n\treturn results;\n};\n\nexports.encodeuri = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(encodeURI(title));\n\t});\n\treturn results;\n};\n\nexports.decodehtml = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.htmlDecode(title));\n\t});\n\treturn results;\n};\n\nexports.encodehtml = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.htmlEncode(title));\n\t});\n\treturn results;\n};\n\nexports.stringify = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.stringify(title));\n\t});\n\treturn results;\n};\n\nexports.jsonstringify = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.jsonStringify(title));\n\t});\n\treturn results;\n};\n\nexports.escaperegexp = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.escapeRegExp(title));\n\t});\n\treturn results;\n};\n\nexports.escapecss = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\t// escape any character with a special meaning in CSS using CSS.escape()\n\t\tresults.push(CSS.escape(title));\n\t});\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/enlist.js": {
            "title": "$:/core/modules/filters/enlist.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/enlist.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning its operand parsed as a list\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.enlist = function(source,operator,options) {\n\tvar allowDuplicates = false;\n\tswitch(operator.suffix) {\n\t\tcase \"raw\":\n\t\t\tallowDuplicates = true;\n\t\t\tbreak;\n\t\tcase \"dedupe\":\n\t\t\tallowDuplicates = false;\n\t\t\tbreak;\n\t}\n\tvar list = $tw.utils.parseStringArray(operator.operand,allowDuplicates);\n\tif(operator.prefix === \"!\") {\n\t\tvar results = [];\n\t\tsource(function(tiddler,title) {\n\t\t\tif(list.indexOf(title) === -1) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t\treturn results;\n\t} else {\n\t\treturn list;\n\t}\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/field.js": {
            "title": "$:/core/modules/filters/field.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/field.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for comparing fields for equality\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.field = function(source,operator,options) {\n\tvar results = [],indexedResults,\n\t\tfieldname = (operator.suffix || operator.operator || \"title\").toLowerCase();\n\tif(operator.prefix === \"!\") {\n\t\tif(operator.regexp) {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvar text = tiddler.getFieldString(fieldname);\n\t\t\t\t\tif(text !== null && !operator.regexp.exec(text)) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvar text = tiddler.getFieldString(fieldname);\n\t\t\t\t\tif(text !== null && text !== operator.operand) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t} else {\n\t\tif(operator.regexp) {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvar text = tiddler.getFieldString(fieldname);\n\t\t\t\t\tif(text !== null && !!operator.regexp.exec(text)) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tif(source.byField && operator.operand) {\n\t\t\t\tindexedResults = source.byField(fieldname,operator.operand);\n\t\t\t\tif(indexedResults) {\n\t\t\t\t\treturn indexedResults\n\t\t\t\t}\n\t\t\t}\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvar text = tiddler.getFieldString(fieldname);\n\t\t\t\t\tif(text !== null && text === operator.operand) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/fields.js": {
            "title": "$:/core/modules/filters/fields.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/fields.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the fields on the selected tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.fields = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tif(tiddler) {\n\t\t\tfor(var fieldName in tiddler.fields) {\n\t\t\t\t$tw.utils.pushTop(results,fieldName);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/get.js": {
            "title": "$:/core/modules/filters/get.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/get.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for replacing tiddler titles by the value of the field specified in the operand.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.get = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tif(tiddler) {\n\t\t\tvar value = tiddler.getFieldString(operator.operand);\n\t\t\tif(value) {\n\t\t\t\tresults.push(value);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/getindex.js": {
            "title": "$:/core/modules/filters/getindex.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/getindex.js\ntype: application/javascript\nmodule-type: filteroperator\n\nreturns the value at a given index of datatiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.getindex = function(source,operator,options) {\n\tvar data,title,results = [];\n\tif(operator.operand){\n\t\tsource(function(tiddler,title) {\n\t\t\ttitle = tiddler ? tiddler.fields.title : title;\n\t\t\tdata = options.wiki.extractTiddlerDataItem(tiddler,operator.operand);\n\t\t\tif(data) {\n\t\t\t\tresults.push(data);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/getvariable.js": {
            "title": "$:/core/modules/filters/getvariable.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/getvariable.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for replacing input values by the value of the variable with the same name, or blank if the variable is missing\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.getvariable = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(options.widget.getVariable(title) || \"\");\n\t});\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/has.js": {
            "title": "$:/core/modules/filters/has.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/has.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking if a tiddler has the specified field\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.has = function(source,operator,options) {\n\tvar results = [],\n\t\tinvert = operator.prefix === \"!\";\n\n\tif(operator.suffix === \"field\") {\n\t\tif(invert) {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(!tiddler || (tiddler && (!$tw.utils.hop(tiddler.fields,operator.operand)))) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler && $tw.utils.hop(tiddler.fields,operator.operand)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t} else {\n\t\tif(invert) {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(!tiddler || !$tw.utils.hop(tiddler.fields,operator.operand) || (tiddler.fields[operator.operand] === \"\")) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler && $tw.utils.hop(tiddler.fields,operator.operand) && !(tiddler.fields[operator.operand] === \"\" || tiddler.fields[operator.operand].length === 0)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\t\t\t\t\n\t\t}\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/haschanged.js": {
            "title": "$:/core/modules/filters/haschanged.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/haschanged.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returns tiddlers from the list that have a non-zero changecount.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.haschanged = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.getChangeCount(title) === 0) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.getChangeCount(title) > 0) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/indexes.js": {
            "title": "$:/core/modules/filters/indexes.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/indexes.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the indexes of a data tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.indexes = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar data = options.wiki.getTiddlerDataCached(title);\n\t\tif(data) {\n\t\t\t$tw.utils.pushTop(results,Object.keys(data));\n\t\t}\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/insertbefore.js": {
            "title": "$:/core/modules/filters/insertbefore.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/insertbefore.js\ntype: application/javascript\nmodule-type: filteroperator\n\nInsert an item before another item in a list\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nOrder a list\n*/\nexports.insertbefore = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\tvar target = options.widget && options.widget.getVariable(operator.suffix || \"currentTiddler\");\n\tif(target !== operator.operand) {\n\t\t// Remove the entry from the list if it is present\n\t\tvar pos = results.indexOf(operator.operand);\n\t\tif(pos !== -1) {\n\t\t\tresults.splice(pos,1);\n\t\t}\n\t\t// Insert the entry before the target marker\n\t\tpos = results.indexOf(target);\n\t\tif(pos !== -1) {\n\t\t\tresults.splice(pos,0,operator.operand);\n\t\t} else {\n\t\t\tresults.push(operator.operand);\n\t\t}\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/is/blank.js": {
            "title": "$:/core/modules/filters/is/blank.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/is/blank.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[blank]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.blank = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!title) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "isfilteroperator"
        },
        "$:/core/modules/filters/is/current.js": {
            "title": "$:/core/modules/filters/is/current.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/is/current.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[current]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.current = function(source,prefix,options) {\n\tvar results = [],\n\t\tcurrTiddlerTitle = options.widget && options.widget.getVariable(\"currentTiddler\");\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title !== currTiddlerTitle) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title === currTiddlerTitle) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "isfilteroperator"
        },
        "$:/core/modules/filters/is/image.js": {
            "title": "$:/core/modules/filters/is/image.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/is/image.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[image]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.image = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.isImageTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.isImageTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "isfilteroperator"
        },
        "$:/core/modules/filters/is/missing.js": {
            "title": "$:/core/modules/filters/is/missing.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/is/missing.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[missing]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.missing = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.tiddlerExists(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.tiddlerExists(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "isfilteroperator"
        },
        "$:/core/modules/filters/is/orphan.js": {
            "title": "$:/core/modules/filters/is/orphan.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/is/orphan.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[orphan]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.orphan = function(source,prefix,options) {\n\tvar results = [],\n\t\torphanTitles = options.wiki.getOrphanTitles();\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(orphanTitles.indexOf(title) === -1) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(orphanTitles.indexOf(title) !== -1) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "isfilteroperator"
        },
        "$:/core/modules/filters/is/shadow.js": {
            "title": "$:/core/modules/filters/is/shadow.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/is/shadow.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[shadow]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.shadow = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.isShadowTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.isShadowTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "isfilteroperator"
        },
        "$:/core/modules/filters/is/system.js": {
            "title": "$:/core/modules/filters/is/system.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/is/system.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[system]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.system = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.isSystemTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.isSystemTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "isfilteroperator"
        },
        "$:/core/modules/filters/is/tag.js": {
            "title": "$:/core/modules/filters/is/tag.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/is/tag.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[tag]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tag = function(source,prefix,options) {\n\tvar results = [],\n\t\ttagMap = options.wiki.getTagMap();\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!$tw.utils.hop(tagMap,title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif($tw.utils.hop(tagMap,title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "isfilteroperator"
        },
        "$:/core/modules/filters/is/tiddler.js": {
            "title": "$:/core/modules/filters/is/tiddler.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/is/tiddler.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[tiddler]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tiddler = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.tiddlerExists(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.tiddlerExists(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "isfilteroperator"
        },
        "$:/core/modules/filters/is/variable.js": {
            "title": "$:/core/modules/filters/is/variable.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/is/variable.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[variable]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.variable = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!(title in options.widget.variables)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title in options.widget.variables) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "isfilteroperator"
        },
        "$:/core/modules/filters/is.js": {
            "title": "$:/core/modules/filters/is.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/is.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking tiddler properties\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar isFilterOperators;\n\nfunction getIsFilterOperators() {\n\tif(!isFilterOperators) {\n\t\tisFilterOperators = {};\n\t\t$tw.modules.applyMethods(\"isfilteroperator\",isFilterOperators);\n\t}\n\treturn isFilterOperators;\n}\n\n/*\nExport our filter function\n*/\nexports.is = function(source,operator,options) {\n\t// Dispatch to the correct isfilteroperator\n\tvar isFilterOperators = getIsFilterOperators();\n\tif(operator.operand) {\n\t\tvar isFilterOperator = isFilterOperators[operator.operand];\n\t\tif(isFilterOperator) {\n\t\t\treturn isFilterOperator(source,operator.prefix,options);\n\t\t} else {\n\t\t\treturn [$tw.language.getString(\"Error/IsFilterOperator\")];\n\t\t}\n\t} else {\n\t\t// Return all tiddlers if the operand is missing\n\t\tvar results = [];\n\t\tsource(function(tiddler,title) {\n\t\t\tresults.push(title);\n\t\t});\n\t\treturn results;\n\t}\n};\n\n})();",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/limit.js": {
            "title": "$:/core/modules/filters/limit.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/limit.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for chopping the results to a specified maximum number of entries\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.limit = function(source,operator,options) {\n\tvar results = [];\n\t// Convert to an array\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\t// Slice the array if necessary\n\tvar limit = Math.min(results.length,parseInt(operator.operand,10));\n\tif(operator.prefix === \"!\") {\n\t\tresults = results.slice(-limit);\n\t} else {\n\t\tresults = results.slice(0,limit);\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/links.js": {
            "title": "$:/core/modules/filters/links.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/links.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning all the links from a tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.links = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.pushTop(results,options.wiki.getTiddlerLinks(title));\n\t});\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/list.js": {
            "title": "$:/core/modules/filters/list.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/list.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddlers whose title is listed in the operand tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.list = function(source,operator,options) {\n\tvar results = [],\n\t\ttr = $tw.utils.parseTextReference(operator.operand),\n\t\tcurrTiddlerTitle = options.widget && options.widget.getVariable(\"currentTiddler\"),\n\t\tlist = options.wiki.getTiddlerList(tr.title || currTiddlerTitle,tr.field,tr.index);\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(list.indexOf(title) === -1) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tresults = list;\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/listed.js": {
            "title": "$:/core/modules/filters/listed.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/listed.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning all tiddlers that have the selected tiddlers in a list\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.listed = function(source,operator,options) {\n\tvar field = operator.operand || \"list\",\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.pushTop(results,options.wiki.findListingsOfTiddler(title,field));\n\t});\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/listops.js": {
            "title": "$:/core/modules/filters/listops.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/listops.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operators for manipulating the current selection list\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nOrder a list\n*/\nexports.order = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.operand.toLowerCase() === \"reverse\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tresults.unshift(title);\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tresults.push(title);\n\t\t});\n\t}\n\treturn results;\n};\n\n/*\nReverse list\n*/\nexports.reverse = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.unshift(title);\n\t});\n\treturn results;\n};\n\n/*\nFirst entry/entries in list\n*/\nexports.first = function(source,operator,options) {\n\tvar count = $tw.utils.getInt(operator.operand,1),\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(0,count);\n};\n\n/*\nLast entry/entries in list\n*/\nexports.last = function(source,operator,options) {\n\tvar count = $tw.utils.getInt(operator.operand,1),\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(-count);\n};\n\n/*\nAll but the first entry/entries of the list\n*/\nexports.rest = function(source,operator,options) {\n\tvar count = $tw.utils.getInt(operator.operand,1),\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(count);\n};\nexports.butfirst = exports.rest;\nexports.bf = exports.rest;\n\n/*\nAll but the last entry/entries of the list\n*/\nexports.butlast = function(source,operator,options) {\n\tvar count = $tw.utils.getInt(operator.operand,1),\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(0,-count);\n};\nexports.bl = exports.butlast;\n\n/*\nThe nth member of the list\n*/\nexports.nth = function(source,operator,options) {\n\tvar count = $tw.utils.getInt(operator.operand,1),\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(count - 1,count);\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/lookup.js": {
            "title": "$:/core/modules/filters/lookup.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/lookup.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that looks up values via a title prefix\n\n[lookup:<field>[<prefix>]]\n\nPrepends the prefix to the selected items and returns the specified field value\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.lookup = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(options.wiki.getTiddlerText(operator.operand + title) || options.wiki.getTiddlerText(operator.operand + operator.suffix));\n\t});\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/match.js": {
            "title": "$:/core/modules/filters/match.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/match.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking if a title matches a string\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.match = function(source,operator,options) {\n\tvar results = [],\n\t\tsuffixes = (operator.suffixes || [])[0] || [];\n\tif(suffixes.indexOf(\"caseinsensitive\") !== -1) {\n\t\tif(operator.prefix === \"!\") {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(title.toLowerCase() !== (operator.operand || \"\").toLowerCase()) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(title.toLowerCase() === (operator.operand || \"\").toLowerCase()) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t} else {\n\t\tif(operator.prefix === \"!\") {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(title !== operator.operand) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(title === operator.operand) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/math.js": {
            "title": "$:/core/modules/filters/math.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/math.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operators for math. Unary/binary operators work on each item in turn, and return a new item list.\n\nSum/product/maxall/minall operate on the entire list, returning a single item.\n\nNote that strings are converted to numbers automatically. Trailing non-digits are ignored.\n\n* \"\" converts to 0\n* \"12kk\" converts to 12\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.negate = makeNumericBinaryOperator(\n\tfunction(a) {return -a}\n);\n\nexports.abs = makeNumericBinaryOperator(\n\tfunction(a) {return Math.abs(a)}\n);\n\nexports.ceil = makeNumericBinaryOperator(\n\tfunction(a) {return Math.ceil(a)}\n);\n\nexports.floor = makeNumericBinaryOperator(\n\tfunction(a) {return Math.floor(a)}\n);\n\nexports.round = makeNumericBinaryOperator(\n\tfunction(a) {return Math.round(a)}\n);\n\nexports.trunc = makeNumericBinaryOperator(\n\tfunction(a) {return Math.trunc(a)}\n);\n\nexports.untrunc = makeNumericBinaryOperator(\n\tfunction(a) {return Math.ceil(Math.abs(a)) * Math.sign(a)}\n);\n\nexports.sign = makeNumericBinaryOperator(\n\tfunction(a) {return Math.sign(a)}\n);\n\nexports.add = makeNumericBinaryOperator(\n\tfunction(a,b) {return a + b;}\n);\n\nexports.subtract = makeNumericBinaryOperator(\n\tfunction(a,b) {return a - b;}\n);\n\nexports.multiply = makeNumericBinaryOperator(\n\tfunction(a,b) {return a * b;}\n);\n\nexports.divide = makeNumericBinaryOperator(\n\tfunction(a,b) {return a / b;}\n);\n\nexports.remainder = makeNumericBinaryOperator(\n\tfunction(a,b) {return a % b;}\n);\n\nexports.max = makeNumericBinaryOperator(\n\tfunction(a,b) {return Math.max(a,b);}\n);\n\nexports.min = makeNumericBinaryOperator(\n\tfunction(a,b) {return Math.min(a,b);}\n);\n\nexports.fixed = makeNumericBinaryOperator(\n\tfunction(a,b) {return Number.prototype.toFixed.call(a,Math.min(Math.max(b,0),100));}\n);\n\nexports.precision = makeNumericBinaryOperator(\n\tfunction(a,b) {return Number.prototype.toPrecision.call(a,Math.min(Math.max(b,1),100));}\n);\n\nexports.exponential = makeNumericBinaryOperator(\n\tfunction(a,b) {return Number.prototype.toExponential.call(a,Math.min(Math.max(b,0),100));}\n);\n\nexports.sum = makeNumericReducingOperator(\n\tfunction(accumulator,value) {return accumulator + value},\n\t0 // Initial value\n);\n\nexports.product = makeNumericReducingOperator(\n\tfunction(accumulator,value) {return accumulator * value},\n\t1 // Initial value\n);\n\nexports.maxall = makeNumericReducingOperator(\n\tfunction(accumulator,value) {return Math.max(accumulator,value)},\n\t-Infinity // Initial value\n);\n\nexports.minall = makeNumericReducingOperator(\n\tfunction(accumulator,value) {return Math.min(accumulator,value)},\n\tInfinity // Initial value\n);\n\nfunction makeNumericBinaryOperator(fnCalc) {\n\treturn function(source,operator,options) {\n\t\tvar result = [],\n\t\t\tnumOperand = parseNumber(operator.operand);\n\t\tsource(function(tiddler,title) {\n\t\t\tresult.push(stringifyNumber(fnCalc(parseNumber(title),numOperand)));\n\t\t});\n\t\treturn result;\n\t};\n}\n\nfunction makeNumericReducingOperator(fnCalc,initialValue) {\n\tinitialValue = initialValue || 0;\n\treturn function(source,operator,options) {\n\t\tvar result = [];\n\t\tsource(function(tiddler,title) {\n\t\t\tresult.push(title);\n\t\t});\n\t\treturn [stringifyNumber(result.reduce(function(accumulator,currentValue) {\n\t\t\treturn fnCalc(accumulator,parseNumber(currentValue));\n\t\t},initialValue))];\n\t};\n}\n\nfunction parseNumber(str) {\n\treturn parseFloat(str) || 0;\n}\n\nfunction stringifyNumber(num) {\n\treturn num + \"\";\n}\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/minlength.js": {
            "title": "$:/core/modules/filters/minlength.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/minlength.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for filtering out titles that don't meet the minimum length in the operand\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.minlength = function(source,operator,options) {\n\tvar results = [],\n\t\tminLength = parseInt(operator.operand || \"\",10) || 0;\n\tsource(function(tiddler,title) {\n\t\tif(title.length >= minLength) {\n\t\t\tresults.push(title);\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/modules.js": {
            "title": "$:/core/modules/filters/modules.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/modules.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the titles of the modules of a given type in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.modules = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.each($tw.modules.types[title],function(moduleInfo,moduleName) {\n\t\t\tresults.push(moduleName);\n\t\t});\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/moduletypes.js": {
            "title": "$:/core/modules/filters/moduletypes.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/moduletypes.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the module types in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.moduletypes = function(source,operator,options) {\n\tvar results = [];\n\t$tw.utils.each($tw.modules.types,function(moduleInfo,type) {\n\t\tresults.push(type);\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/next.js": {
            "title": "$:/core/modules/filters/next.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/next.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddler whose title occurs next in the list supplied in the operand tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.next = function(source,operator,options) {\n\tvar results = [],\n\t\tlist = options.wiki.getTiddlerList(operator.operand);\n\tsource(function(tiddler,title) {\n\t\tvar match = list.indexOf(title);\n\t\t// increment match and then test if result is in range\n\t\tmatch++;\n\t\tif(match > 0 && match < list.length) {\n\t\t\tresults.push(list[match]);\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/plugintiddlers.js": {
            "title": "$:/core/modules/filters/plugintiddlers.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/plugintiddlers.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the titles of the shadow tiddlers within a plugin\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.plugintiddlers = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar pluginInfo = options.wiki.getPluginInfo(title) || options.wiki.getTiddlerDataCached(title,{tiddlers:[]});\n\t\tif(pluginInfo && pluginInfo.tiddlers) {\n\t\t\t$tw.utils.each(pluginInfo.tiddlers,function(fields,title) {\n\t\t\t\tresults.push(title);\n\t\t\t});\n\t\t}\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/prefix.js": {
            "title": "$:/core/modules/filters/prefix.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/prefix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking if a title starts with a prefix\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.prefix = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title.substr(0,operator.operand.length) !== operator.operand) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title.substr(0,operator.operand.length) === operator.operand) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/previous.js": {
            "title": "$:/core/modules/filters/previous.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/previous.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddler whose title occurs immediately prior in the list supplied in the operand tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.previous = function(source,operator,options) {\n\tvar results = [],\n\t\tlist = options.wiki.getTiddlerList(operator.operand);\n\tsource(function(tiddler,title) {\n\t\tvar match = list.indexOf(title);\n\t\t// increment match and then test if result is in range\n\t\tmatch--;\n\t\tif(match >= 0) {\n\t\t\tresults.push(list[match]);\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/range.js": {
            "title": "$:/core/modules/filters/range.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/range.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for generating a numeric range.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.range = function(source,operator,options) {\n\tvar results = [];\n\t// Split the operand into numbers delimited by these symbols\n\tvar parts = operator.operand.split(/[,:;]/g),\n\t\tbeg, end, inc, i, fixed = 0;\n\tfor (i=0; i<parts.length; i++) {\n\t\t// Validate real number\n\t\tif(!/^\\s*[+-]?((\\d+(\\.\\d*)?)|(\\.\\d+))\\s*$/.test(parts[i])) {\n\t\t\treturn [\"range: bad number \\\"\" + parts[i] + \"\\\"\"];\n\t\t}\n\t\t// Count digits; the most precise number determines decimal places in output.\n\t\tvar frac = /\\.\\d+/.exec(parts[i]);\n\t\tif(frac) {\n\t\t\tfixed = Math.max(fixed,frac[0].length-1);\n\t\t}\n\t\tparts[i] = parseFloat(parts[i]);\n\t}\n\tswitch(parts.length) {\n\t\tcase 1:\n\t\t\tend = parts[0];\n\t\t\tif (end >= 1) {\n\t\t\t\tbeg = 1;\n\t\t\t}\n\t\t\telse if (end <= -1) {\n\t\t\t\tbeg = -1;\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn [];\n\t\t\t}\n\t\t\tinc = 1;\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\tbeg = parts[0];\n\t\t\tend = parts[1];\n\t\t\tinc = 1;\n\t\t\tbreak;\n\t\tcase 3:\n\t\t\tbeg = parts[0];\n\t\t\tend = parts[1];\n\t\t\tinc = Math.abs(parts[2]);\n\t\t\tbreak;\n\t}\n\tif(inc === 0) {\n\t\treturn [\"range: increment 0 causes infinite loop\"];\n\t}\n\t// May need to count backwards\n\tvar direction = ((end < beg) ? -1 : 1);\n\tinc *= direction;\n\t// Estimate number of resulting elements\n\tif((end - beg) / inc > 10000) {\n\t\treturn [\"range: too many steps (over 10K)\"];\n\t}\n\t// Avoid rounding error on last step\n\tend += direction * 0.5 * Math.pow(0.1,fixed);\n\tvar safety = 10010;\n\t// Enumerate the range\n\tif (end<beg) {\n\t\tfor(i=beg; i>end; i+=inc) {\n\t\t\tresults.push(i.toFixed(fixed));\n\t\t\tif(--safety<0) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t} else {\n\t\tfor(i=beg; i<end; i+=inc) {\n\t\t\tresults.push(i.toFixed(fixed));\n\t\t\tif(--safety<0) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\tif(safety<0) {\n\t\treturn [\"range: unexpectedly large output\"];\n\t}\n\t// Reverse?\n\tif(operator.prefix === \"!\") {\n\t\tresults.reverse();\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/regexp.js": {
            "title": "$:/core/modules/filters/regexp.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/regexp.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for regexp matching\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.regexp = function(source,operator,options) {\n\tvar results = [],\n\t\tfieldname = (operator.suffix || \"title\").toLowerCase(),\n\t\tregexpString, regexp, flags = \"\", match,\n\t\tgetFieldString = function(tiddler,title) {\n\t\t\tif(tiddler) {\n\t\t\t\treturn tiddler.getFieldString(fieldname);\n\t\t\t} else if(fieldname === \"title\") {\n\t\t\t\treturn title;\n\t\t\t} else {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t};\n\t// Process flags and construct regexp\n\tregexpString = operator.operand;\n\tmatch = /^\\(\\?([gim]+)\\)/.exec(regexpString);\n\tif(match) {\n\t\tflags = match[1];\n\t\tregexpString = regexpString.substr(match[0].length);\n\t} else {\n\t\tmatch = /\\(\\?([gim]+)\\)$/.exec(regexpString);\n\t\tif(match) {\n\t\t\tflags = match[1];\n\t\t\tregexpString = regexpString.substr(0,regexpString.length - match[0].length);\n\t\t}\n\t}\n\ttry {\n\t\tregexp = new RegExp(regexpString,flags);\n\t} catch(e) {\n\t\treturn [\"\" + e];\n\t}\n\t// Process the incoming tiddlers\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tvar text = getFieldString(tiddler,title);\n\t\t\tif(text !== null) {\n\t\t\t\tif(!regexp.exec(text)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tvar text = getFieldString(tiddler,title);\n\t\t\tif(text !== null) {\n\t\t\t\tif(!!regexp.exec(text)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/removeprefix.js": {
            "title": "$:/core/modules/filters/removeprefix.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/removeprefix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for removing a prefix from each title in the list. Titles that do not start with the prefix are removed.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.removeprefix = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tif(title.substr(0,operator.operand.length) === operator.operand) {\n\t\t\tresults.push(title.substr(operator.operand.length));\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/removesuffix.js": {
            "title": "$:/core/modules/filters/removesuffix.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/removesuffix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for removing a suffix from each title in the list. Titles that do not end with the suffix are removed.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.removesuffix = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tif(title && title.substr(-operator.operand.length) === operator.operand) {\n\t\t\tresults.push(title.substr(0,title.length - operator.operand.length));\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/sameday.js": {
            "title": "$:/core/modules/filters/sameday.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/sameday.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that selects tiddlers with a modified date field on the same day as the provided value.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.sameday = function(source,operator,options) {\n\tvar results = [],\n\t\tfieldName = operator.suffix || \"modified\",\n\t\ttargetDate = (new Date($tw.utils.parseDate(operator.operand))).setHours(0,0,0,0);\n\t// Function to convert a date/time to a date integer\n\tsource(function(tiddler,title) {\n\t\tif(tiddler) {\n\t\t\tif(tiddler.getFieldDay(fieldName) === targetDate) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/search.js": {
            "title": "$:/core/modules/filters/search.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/search.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for searching for the text in the operand tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.search = function(source,operator,options) {\n\tvar invert = operator.prefix === \"!\";\n\tif(operator.suffixes) {\n\t\tvar hasFlag = function(flag) {\n\t\t\t\treturn (operator.suffixes[1] || []).indexOf(flag) !== -1;\n\t\t\t},\n\t\t\texcludeFields = false,\n\t\t\tfieldList = operator.suffixes[0] || [],\n\t\t\tfirstField = fieldList[0] || \"\", \n\t\t\tfirstChar = firstField.charAt(0),\n\t\t\tfields;\n\t\tif(firstChar === \"-\") {\n\t\t\tfields = [firstField.slice(1)].concat(fieldList.slice(1));\n\t\t\texcludeFields = true;\n\t\t} else if(fieldList[0] === \"*\"){\n\t\t\tfields = [];\n\t\t\texcludeFields = true;\n\t\t} else {\n\t\t\tfields = fieldList.slice(0);\n\t\t}\n\t\treturn options.wiki.search(operator.operand,{\n\t\t\tsource: source,\n\t\t\tinvert: invert,\n\t\t\tfield: fields,\n\t\t\texcludeField: excludeFields,\n\t\t\tcaseSensitive: hasFlag(\"casesensitive\"),\n\t\t\tliteral: hasFlag(\"literal\"),\n\t\t\twhitespace: hasFlag(\"whitespace\"),\n\t\t\tanchored: hasFlag(\"anchored\"),\n\t\t\tregexp: hasFlag(\"regexp\"),\n\t\t\twords: hasFlag(\"words\")\n\t\t});\n\t} else {\n\t\treturn options.wiki.search(operator.operand,{\n\t\t\tsource: source,\n\t\t\tinvert: invert\n\t\t});\n\t}\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/shadowsource.js": {
            "title": "$:/core/modules/filters/shadowsource.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/shadowsource.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the source plugins for shadow tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.shadowsource = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar source = options.wiki.getShadowSource(title);\n\t\tif(source) {\n\t\t\t$tw.utils.pushTop(results,source);\n\t\t}\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/sort.js": {
            "title": "$:/core/modules/filters/sort.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/sort.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for sorting\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.sort = function(source,operator,options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results,operator.operand || \"title\",operator.prefix === \"!\",false,false);\n\treturn results;\n};\n\nexports.nsort = function(source,operator,options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results,operator.operand || \"title\",operator.prefix === \"!\",false,true);\n\treturn results;\n};\n\nexports.sortan = function(source, operator, options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results, operator.operand || \"title\", operator.prefix === \"!\",false,false,true);\n\treturn results;\n};\n\nexports.sortcs = function(source,operator,options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results,operator.operand || \"title\",operator.prefix === \"!\",true,false);\n\treturn results;\n};\n\nexports.nsortcs = function(source,operator,options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results,operator.operand || \"title\",operator.prefix === \"!\",true,true);\n\treturn results;\n};\n\nvar prepare_results = function (source) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/splitbefore.js": {
            "title": "$:/core/modules/filters/splitbefore.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/splitbefore.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that splits each result on the first occurance of the specified separator and returns the unique values.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.splitbefore = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar parts = title.split(operator.operand);\n\t\tif(parts.length === 1) {\n\t\t\t$tw.utils.pushTop(results,parts[0]);\n\t\t} else {\n\t\t\t$tw.utils.pushTop(results,parts[0] + operator.operand);\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/storyviews.js": {
            "title": "$:/core/modules/filters/storyviews.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/storyviews.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the story views in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.storyviews = function(source,operator,options) {\n\tvar results = [],\n\t\tstoryviews = {};\n\t$tw.modules.applyMethods(\"storyview\",storyviews);\n\t$tw.utils.each(storyviews,function(info,name) {\n\t\tresults.push(name);\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/strings.js": {
            "title": "$:/core/modules/filters/strings.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/strings.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operators for strings. Unary/binary operators work on each item in turn, and return a new item list.\n\nSum/product/maxall/minall operate on the entire list, returning a single item.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.length = makeStringBinaryOperator(\n\tfunction(a) {return [\"\" + (\"\" + a).length];}\n);\n\nexports.uppercase = makeStringBinaryOperator(\n\tfunction(a) {return [(\"\" + a).toUpperCase()];}\n);\n\nexports.lowercase = makeStringBinaryOperator(\n\tfunction(a) {return [(\"\" + a).toLowerCase()];}\n);\n\nexports.sentencecase = makeStringBinaryOperator(\n\tfunction(a) {return [$tw.utils.toSentenceCase(a)];}\n);\n\nexports.titlecase = makeStringBinaryOperator(\n\tfunction(a) {return [$tw.utils.toTitleCase(a)];}\n);\n\nexports.trim = makeStringBinaryOperator(\n\tfunction(a) {return [$tw.utils.trim(a)];}\n);\n\nexports.split = makeStringBinaryOperator(\n\tfunction(a,b) {return (\"\" + a).split(b);}\n);\n\nexports.join = makeStringReducingOperator(\n\tfunction(accumulator,value,operand) {\n\t\tif(accumulator === null) {\n\t\t\treturn value;\n\t\t} else {\n\t\t\treturn accumulator + operand + value;\n\t\t}\n\t},null\n);\n\nfunction makeStringBinaryOperator(fnCalc) {\n\treturn function(source,operator,options) {\n\t\tvar result = [];\n\t\tsource(function(tiddler,title) {\n\t\t\tArray.prototype.push.apply(result,fnCalc(title,operator.operand || \"\"));\n\t\t});\n\t\treturn result;\n\t};\n}\n\nfunction makeStringReducingOperator(fnCalc,initialValue) {\n\treturn function(source,operator,options) {\n\t\tvar result = [];\n\t\tsource(function(tiddler,title) {\n\t\t\tresult.push(title);\n\t\t});\n\t\treturn [result.reduce(function(accumulator,currentValue) {\n\t\t\treturn fnCalc(accumulator,currentValue,operator.operand || \"\");\n\t\t},initialValue)];\n\t};\n}\n\nexports.splitregexp = function(source,operator,options) {\n\tvar result = [],\n\t\tsuffix = operator.suffix || \"\",\n\t\tflags = (suffix.indexOf(\"m\") !== -1 ? \"m\" : \"\") + (suffix.indexOf(\"i\") !== -1 ? \"i\" : \"\"),\n\t\tregExp;\n\ttry {\n\t\tregExp = new RegExp(operator.operand || \"\",flags);\t\t\n\t} catch(ex) {\n\t\treturn [\"RegExp error: \" + ex];\n\t}\n\tsource(function(tiddler,title) {\n\t\tArray.prototype.push.apply(result,title.split(regExp));\n\t});\t\t\n\treturn result;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/subfilter.js": {
            "title": "$:/core/modules/filters/subfilter.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/subfilter.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning its operand evaluated as a filter\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.subfilter = function(source,operator,options) {\n\tvar list = options.wiki.filterTiddlers(operator.operand,options.widget,source);\n\tif(operator.prefix === \"!\") {\n\t\tvar results = [];\n\t\tsource(function(tiddler,title) {\n\t\t\tif(list.indexOf(title) === -1) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t\treturn results;\n\t} else {\n\t\treturn list;\n\t}\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/subtiddlerfields.js": {
            "title": "$:/core/modules/filters/subtiddlerfields.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/subtiddlerfields.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the fields on the selected subtiddlers of the plugin named in the operand\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.subtiddlerfields = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar subtiddler = options.wiki.getSubTiddler(operator.operand,title);\n\t\tif(subtiddler) {\n\t\t\tfor(var fieldName in subtiddler.fields) {\n\t\t\t\t$tw.utils.pushTop(results,fieldName);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/suffix.js": {
            "title": "$:/core/modules/filters/suffix.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/suffix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking if a title ends with a suffix\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.suffix = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title.substr(-operator.operand.length) !== operator.operand) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title.substr(-operator.operand.length) === operator.operand) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/tag.js": {
            "title": "$:/core/modules/filters/tag.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/tag.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking for the presence of a tag\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tag = function(source,operator,options) {\n\tvar results = [],indexedResults;\n\tif((operator.suffix || \"\").toLowerCase() === \"strict\" && !operator.operand) {\n\t\t// New semantics:\n\t\t// Always return copy of input if operator.operand is missing\n\t\tsource(function(tiddler,title) {\n\t\t\tresults.push(title);\n\t\t});\n\t} else {\n\t\t// Old semantics:\n\t\tvar tiddlers;\n\t\tif(operator.prefix === \"!\") {\n\t\t\t// Returns a copy of the input if operator.operand is missing\n\t\t\ttiddlers = options.wiki.getTiddlersWithTag(operator.operand);\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddlers.indexOf(title) === -1) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\t// Returns empty results if operator.operand is missing\n\t\t\tif(source.byTag) {\n\t\t\t\tindexedResults = source.byTag(operator.operand);\n\t\t\t\tif(indexedResults) {\n\t\t\t\t\treturn indexedResults;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttiddlers = options.wiki.getTiddlersWithTag(operator.operand);\n\t\t\t\tsource(function(tiddler,title) {\n\t\t\t\t\tif(tiddlers.indexOf(title) !== -1) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tresults = options.wiki.sortByList(results,operator.operand);\n\t\t\t}\n\t\t}\t\t\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/tagging.js": {
            "title": "$:/core/modules/filters/tagging.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/tagging.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning all tiddlers that are tagged with the selected tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tagging = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.pushTop(results,options.wiki.getTiddlersWithTag(title));\n\t});\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/tags.js": {
            "title": "$:/core/modules/filters/tags.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/tags.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning all the tags of the selected tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tags = function(source,operator,options) {\n\tvar tags = {};\n\tsource(function(tiddler,title) {\n\t\tvar t, length;\n\t\tif(tiddler && tiddler.fields.tags) {\n\t\t\tfor(t=0, length=tiddler.fields.tags.length; t<length; t++) {\n\t\t\t\ttags[tiddler.fields.tags[t]] = true;\n\t\t\t}\n\t\t}\n\t});\n\treturn Object.keys(tags);\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/then.js": {
            "title": "$:/core/modules/filters/then.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/then.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for replacing any titles with a constant\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.then = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(operator.operand);\n\t});\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/title.js": {
            "title": "$:/core/modules/filters/title.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/title.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for comparing title fields for equality\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.title = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && tiddler.fields.title !== operator.operand) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tresults.push(operator.operand);\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/untagged.js": {
            "title": "$:/core/modules/filters/untagged.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/untagged.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning all the selected tiddlers that are untagged\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.untagged = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && $tw.utils.isArray(tiddler.fields.tags) && tiddler.fields.tags.length > 0) {\n\t\t\t\t$tw.utils.pushTop(results,title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!tiddler || !tiddler.hasField(\"tags\") || ($tw.utils.isArray(tiddler.fields.tags) && tiddler.fields.tags.length === 0)) {\n\t\t\t\t$tw.utils.pushTop(results,title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/variables.js": {
            "title": "$:/core/modules/filters/variables.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/variables.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the active variables\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.variables = function(source,operator,options) {\n\tvar names = [];\n\tfor(var variable in options.widget.variables) {\n\t\tnames.push(variable);\n\t}\n\treturn names.sort();\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/wikiparserrules.js": {
            "title": "$:/core/modules/filters/wikiparserrules.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/wikiparserrules.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the wiki parser rules in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.wikiparserrules = function(source,operator,options) {\n\tvar results = [],\n\t\toperand = operator.operand;\n\t$tw.utils.each($tw.modules.types.wikirule,function(mod) {\n\t\tvar exp = mod.exports;\n\t\tif(!operand || exp.types[operand]) {\n\t\t\tresults.push(exp.name);\n\t\t}\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/x-listops.js": {
            "title": "$:/core/modules/filters/x-listops.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/x-listops.js\ntype: application/javascript\nmodule-type: filteroperator\n\nExtended filter operators to manipulate the current list.\n\n\\*/\n(function () {\n\n    /*jslint node: true, browser: true */\n    /*global $tw: false */\n    \"use strict\";\n\n    /*\n    Fetch titles from the current list\n    */\n    var prepare_results = function (source) {\n    var results = [];\n        source(function (tiddler, title) {\n            results.push(title);\n        });\n        return results;\n    };\n\n    /*\n    Moves a number of items from the tail of the current list before the item named in the operand\n    */\n    exports.putbefore = function (source, operator) {\n        var results = prepare_results(source),\n            index = results.indexOf(operator.operand),\n            count = $tw.utils.getInt(operator.suffix,1);\n        return (index === -1) ?\n            results.slice(0, -1) :\n            results.slice(0, index).concat(results.slice(-count)).concat(results.slice(index, -count));\n    };\n\n    /*\n    Moves a number of items from the tail of the current list after the item named in the operand\n    */\n    exports.putafter = function (source, operator) {\n        var results = prepare_results(source),\n            index = results.indexOf(operator.operand),\n            count = $tw.utils.getInt(operator.suffix,1);\n        return (index === -1) ?\n            results.slice(0, -1) :\n            results.slice(0, index + 1).concat(results.slice(-count)).concat(results.slice(index + 1, -count));\n    };\n\n    /*\n    Replaces the item named in the operand with a number of items from the tail of the current list\n    */\n    exports.replace = function (source, operator) {\n        var results = prepare_results(source),\n            index = results.indexOf(operator.operand),\n            count = $tw.utils.getInt(operator.suffix,1);\n        return (index === -1) ?\n            results.slice(0, -count) :\n            results.slice(0, index).concat(results.slice(-count)).concat(results.slice(index + 1, -count));\n    };\n\n    /*\n    Moves a number of items from the tail of the current list to the head of the list\n    */\n    exports.putfirst = function (source, operator) {\n        var results = prepare_results(source),\n            count = $tw.utils.getInt(operator.suffix,1);\n        return results.slice(-count).concat(results.slice(0, -count));\n    };\n\n    /*\n    Moves a number of items from the head of the current list to the tail of the list\n    */\n    exports.putlast = function (source, operator) {\n        var results = prepare_results(source),\n            count = $tw.utils.getInt(operator.suffix,1);\n        return results.slice(count).concat(results.slice(0, count));\n    };\n\n    /*\n    Moves the item named in the operand a number of places forward or backward in the list\n    */\n    exports.move = function (source, operator) {\n        var results = prepare_results(source),\n            index = results.indexOf(operator.operand),\n            count = $tw.utils.getInt(operator.suffix,1),\n            marker = results.splice(index, 1),\n            offset =  (index + count) > 0 ? index + count : 0;\n        return results.slice(0, offset).concat(marker).concat(results.slice(offset));\n    };\n\n    /*\n    Returns the items from the current list that are after the item named in the operand\n    */\n    exports.allafter = function (source, operator) {\n        var results = prepare_results(source),\n            index = results.indexOf(operator.operand);\n        return (index === -1) ? [] :\n            (operator.suffix) ? results.slice(index) :\n            results.slice(index + 1);\n    };\n\n    /*\n    Returns the items from the current list that are before the item named in the operand\n    */\n    exports.allbefore = function (source, operator) {\n        var results = prepare_results(source),\n            index = results.indexOf(operator.operand);\n        return (index === -1) ? [] :\n            (operator.suffix) ? results.slice(0, index + 1) :\n            results.slice(0, index);\n    };\n\n    /*\n    Appends the items listed in the operand array to the tail of the current list\n    */\n    exports.append = function (source, operator) {\n        var append = $tw.utils.parseStringArray(operator.operand, \"true\"),\n            results = prepare_results(source),\n            count = parseInt(operator.suffix) || append.length;\n        return (append.length === 0) ? results :\n            (operator.prefix) ? results.concat(append.slice(-count)) :\n            results.concat(append.slice(0, count));\n    };\n\n    /*\n    Prepends the items listed in the operand array to the head of the current list\n    */\n    exports.prepend = function (source, operator) {\n        var prepend = $tw.utils.parseStringArray(operator.operand, \"true\"),\n            results = prepare_results(source),\n            count = $tw.utils.getInt(operator.suffix,prepend.length);\n        return (prepend.length === 0) ? results :\n            (operator.prefix) ? prepend.slice(-count).concat(results) :\n            prepend.slice(0, count).concat(results);\n    };\n\n    /*\n    Returns all items from the current list except the items listed in the operand array\n    */\n    exports.remove = function (source, operator) {\n        var array = $tw.utils.parseStringArray(operator.operand, \"true\"),\n            results = prepare_results(source),\n            count = parseInt(operator.suffix) || array.length,\n            p,\n            len,\n            index;\n        len = array.length - 1;\n        for (p = 0; p < count; ++p) {\n            if (operator.prefix) {\n                index = results.indexOf(array[len - p]);\n            } else {\n                index = results.indexOf(array[p]);\n            }\n            if (index !== -1) {\n                results.splice(index, 1);\n            }\n        }\n        return results;\n    };\n\n    /*\n    Returns all items from the current list sorted in the order of the items in the operand array\n    */\n    exports.sortby = function (source, operator) {\n        var results = prepare_results(source);\n        if (!results || results.length < 2) {\n            return results;\n        }\n        var lookup = $tw.utils.parseStringArray(operator.operand, \"true\");\n        results.sort(function (a, b) {\n            return lookup.indexOf(a) - lookup.indexOf(b);\n        });\n        return results;\n    };\n\n    /*\n    Removes all duplicate items from the current list\n    */\n    exports.unique = function (source, operator) {\n        var results = prepare_results(source);\n        var set = results.reduce(function (a, b) {\n            if (a.indexOf(b) < 0) {\n                a.push(b);\n            }\n            return a;\n        }, []);\n        return set;\n    };\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters.js": {
            "title": "$:/core/modules/filters.js",
            "text": "/*\\\ntitle: $:/core/modules/filters.js\ntype: application/javascript\nmodule-type: wikimethod\n\nAdds tiddler filtering methods to the $tw.Wiki object.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nParses an operation (i.e. a run) within a filter string\n\toperators: Array of array of operator nodes into which results should be inserted\n\tfilterString: filter string\n\tp: start position within the string\nReturns the new start position, after the parsed operation\n*/\nfunction parseFilterOperation(operators,filterString,p) {\n\tvar nextBracketPos, operator;\n\t// Skip the starting square bracket\n\tif(filterString.charAt(p++) !== \"[\") {\n\t\tthrow \"Missing [ in filter expression\";\n\t}\n\t// Process each operator in turn\n\tdo {\n\t\toperator = {};\n\t\t// Check for an operator prefix\n\t\tif(filterString.charAt(p) === \"!\") {\n\t\t\toperator.prefix = filterString.charAt(p++);\n\t\t}\n\t\t// Get the operator name\n\t\tnextBracketPos = filterString.substring(p).search(/[\\[\\{<\\/]/);\n\t\tif(nextBracketPos === -1) {\n\t\t\tthrow \"Missing [ in filter expression\";\n\t\t}\n\t\tnextBracketPos += p;\n\t\tvar bracket = filterString.charAt(nextBracketPos);\n\t\toperator.operator = filterString.substring(p,nextBracketPos);\n\t\t// Any suffix?\n\t\tvar colon = operator.operator.indexOf(':');\n\t\tif(colon > -1) {\n\t\t\t// The raw suffix for older filters\n\t\t\toperator.suffix = operator.operator.substring(colon + 1);\n\t\t\toperator.operator = operator.operator.substring(0,colon) || \"field\";\n\t\t\t// The processed suffix for newer filters\n\t\t\toperator.suffixes = [];\n\t\t\t$tw.utils.each(operator.suffix.split(\":\"),function(subsuffix) {\n\t\t\t\toperator.suffixes.push([]);\n\t\t\t\t$tw.utils.each(subsuffix.split(\",\"),function(entry) {\n\t\t\t\t\tentry = $tw.utils.trim(entry);\n\t\t\t\t\tif(entry) {\n\t\t\t\t\t\toperator.suffixes[operator.suffixes.length - 1].push(entry); \n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t\t// Empty operator means: title\n\t\telse if(operator.operator === \"\") {\n\t\t\toperator.operator = \"title\";\n\t\t}\n\n\t\tp = nextBracketPos + 1;\n\t\tswitch (bracket) {\n\t\t\tcase \"{\": // Curly brackets\n\t\t\t\toperator.indirect = true;\n\t\t\t\tnextBracketPos = filterString.indexOf(\"}\",p);\n\t\t\t\tbreak;\n\t\t\tcase \"[\": // Square brackets\n\t\t\t\tnextBracketPos = filterString.indexOf(\"]\",p);\n\t\t\t\tbreak;\n\t\t\tcase \"<\": // Angle brackets\n\t\t\t\toperator.variable = true;\n\t\t\t\tnextBracketPos = filterString.indexOf(\">\",p);\n\t\t\t\tbreak;\n\t\t\tcase \"/\": // regexp brackets\n\t\t\t\tvar rex = /^((?:[^\\\\\\/]*|\\\\.)*)\\/(?:\\(([mygi]+)\\))?/g,\n\t\t\t\t\trexMatch = rex.exec(filterString.substring(p));\n\t\t\t\tif(rexMatch) {\n\t\t\t\t\toperator.regexp = new RegExp(rexMatch[1], rexMatch[2]);\n// DEPRECATION WARNING\nconsole.log(\"WARNING: Filter\",operator.operator,\"has a deprecated regexp operand\",operator.regexp);\n\t\t\t\t\tnextBracketPos = p + rex.lastIndex - 1;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthrow \"Unterminated regular expression in filter expression\";\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif(nextBracketPos === -1) {\n\t\t\tthrow \"Missing closing bracket in filter expression\";\n\t\t}\n\t\tif(!operator.regexp) {\n\t\t\toperator.operand = filterString.substring(p,nextBracketPos);\n\t\t}\n\t\tp = nextBracketPos + 1;\n\n\t\t// Push this operator\n\t\toperators.push(operator);\n\t} while(filterString.charAt(p) !== \"]\");\n\t// Skip the ending square bracket\n\tif(filterString.charAt(p++) !== \"]\") {\n\t\tthrow \"Missing ] in filter expression\";\n\t}\n\t// Return the parsing position\n\treturn p;\n}\n\n/*\nParse a filter string\n*/\nexports.parseFilter = function(filterString) {\n\tfilterString = filterString || \"\";\n\tvar results = [], // Array of arrays of operator nodes {operator:,operand:}\n\t\tp = 0, // Current position in the filter string\n\t\tmatch;\n\tvar whitespaceRegExp = /(\\s+)/mg,\n\t\toperandRegExp = /((?:\\+|\\-|~|=)?)(?:(\\[)|(?:\"([^\"]*)\")|(?:'([^']*)')|([^\\s\\[\\]]+))/mg;\n\twhile(p < filterString.length) {\n\t\t// Skip any whitespace\n\t\twhitespaceRegExp.lastIndex = p;\n\t\tmatch = whitespaceRegExp.exec(filterString);\n\t\tif(match && match.index === p) {\n\t\t\tp = p + match[0].length;\n\t\t}\n\t\t// Match the start of the operation\n\t\tif(p < filterString.length) {\n\t\t\toperandRegExp.lastIndex = p;\n\t\t\tmatch = operandRegExp.exec(filterString);\n\t\t\tif(!match || match.index !== p) {\n\t\t\t\tthrow $tw.language.getString(\"Error/FilterSyntax\");\n\t\t\t}\n\t\t\tvar operation = {\n\t\t\t\tprefix: \"\",\n\t\t\t\toperators: []\n\t\t\t};\n\t\t\tif(match[1]) {\n\t\t\t\toperation.prefix = match[1];\n\t\t\t\tp++;\n\t\t\t}\n\t\t\tif(match[2]) { // Opening square bracket\n\t\t\t\tp = parseFilterOperation(operation.operators,filterString,p);\n\t\t\t} else {\n\t\t\t\tp = match.index + match[0].length;\n\t\t\t}\n\t\t\tif(match[3] || match[4] || match[5]) { // Double quoted string, single quoted string or unquoted title\n\t\t\t\toperation.operators.push(\n\t\t\t\t\t{operator: \"title\", operand: match[3] || match[4] || match[5]}\n\t\t\t\t);\n\t\t\t}\n\t\t\tresults.push(operation);\n\t\t}\n\t}\n\treturn results;\n};\n\nexports.getFilterOperators = function() {\n\tif(!this.filterOperators) {\n\t\t$tw.Wiki.prototype.filterOperators = {};\n\t\t$tw.modules.applyMethods(\"filteroperator\",this.filterOperators);\n\t}\n\treturn this.filterOperators;\n};\n\nexports.filterTiddlers = function(filterString,widget,source) {\n\tvar fn = this.compileFilter(filterString);\n\treturn fn.call(this,source,widget);\n};\n\n/*\nCompile a filter into a function with the signature fn(source,widget) where:\nsource: an iterator function for the source tiddlers, called source(iterator), where iterator is called as iterator(tiddler,title)\nwidget: an optional widget node for retrieving the current tiddler etc.\n*/\nexports.compileFilter = function(filterString) {\n\tvar filterParseTree;\n\ttry {\n\t\tfilterParseTree = this.parseFilter(filterString);\n\t} catch(e) {\n\t\treturn function(source,widget) {\n\t\t\treturn [$tw.language.getString(\"Error/Filter\") + \": \" + e];\n\t\t};\n\t}\n\t// Get the hashmap of filter operator functions\n\tvar filterOperators = this.getFilterOperators();\n\t// Assemble array of functions, one for each operation\n\tvar operationFunctions = [];\n\t// Step through the operations\n\tvar self = this;\n\t$tw.utils.each(filterParseTree,function(operation) {\n\t\t// Create a function for the chain of operators in the operation\n\t\tvar operationSubFunction = function(source,widget) {\n\t\t\tvar accumulator = source,\n\t\t\t\tresults = [],\n\t\t\t\tcurrTiddlerTitle = widget && widget.getVariable(\"currentTiddler\");\n\t\t\t$tw.utils.each(operation.operators,function(operator) {\n\t\t\t\tvar operand = operator.operand,\n\t\t\t\t\toperatorFunction;\n\t\t\t\tif(!operator.operator) {\n\t\t\t\t\toperatorFunction = filterOperators.title;\n\t\t\t\t} else if(!filterOperators[operator.operator]) {\n\t\t\t\t\toperatorFunction = filterOperators.field;\n\t\t\t\t} else {\n\t\t\t\t\toperatorFunction = filterOperators[operator.operator];\n\t\t\t\t}\n\t\t\t\tif(operator.indirect) {\n\t\t\t\t\toperand = self.getTextReference(operator.operand,\"\",currTiddlerTitle);\n\t\t\t\t}\n\t\t\t\tif(operator.variable) {\n\t\t\t\t\toperand = widget.getVariable(operator.operand,{defaultValue: \"\"});\n\t\t\t\t}\n\t\t\t\t// Invoke the appropriate filteroperator module\n\t\t\t\tresults = operatorFunction(accumulator,{\n\t\t\t\t\t\t\toperator: operator.operator,\n\t\t\t\t\t\t\toperand: operand,\n\t\t\t\t\t\t\tprefix: operator.prefix,\n\t\t\t\t\t\t\tsuffix: operator.suffix,\n\t\t\t\t\t\t\tsuffixes: operator.suffixes,\n\t\t\t\t\t\t\tregexp: operator.regexp\n\t\t\t\t\t\t},{\n\t\t\t\t\t\t\twiki: self,\n\t\t\t\t\t\t\twidget: widget\n\t\t\t\t\t\t});\n\t\t\t\tif($tw.utils.isArray(results)) {\n\t\t\t\t\taccumulator = self.makeTiddlerIterator(results);\n\t\t\t\t} else {\n\t\t\t\t\taccumulator = results;\n\t\t\t\t}\n\t\t\t});\n\t\t\tif($tw.utils.isArray(results)) {\n\t\t\t\treturn results;\n\t\t\t} else {\n\t\t\t\tvar resultArray = [];\n\t\t\t\tresults(function(tiddler,title) {\n\t\t\t\t\tresultArray.push(title);\n\t\t\t\t});\n\t\t\t\treturn resultArray;\n\t\t\t}\n\t\t};\n\t\t// Wrap the operator functions in a wrapper function that depends on the prefix\n\t\toperationFunctions.push((function() {\n\t\t\tswitch(operation.prefix || \"\") {\n\t\t\t\tcase \"\": // No prefix means that the operation is unioned into the result\n\t\t\t\t\treturn function(results,source,widget) {\n\t\t\t\t\t\t$tw.utils.pushTop(results,operationSubFunction(source,widget));\n\t\t\t\t\t};\n\t\t\t\tcase \"=\": // The results of the operation are pushed into the result without deduplication\n\t\t\t\t\treturn function(results,source,widget) {\n\t\t\t\t\t\tArray.prototype.push.apply(results,operationSubFunction(source,widget));\n\t\t\t\t\t};\n\t\t\t\tcase \"-\": // The results of this operation are removed from the main result\n\t\t\t\t\treturn function(results,source,widget) {\n\t\t\t\t\t\t$tw.utils.removeArrayEntries(results,operationSubFunction(source,widget));\n\t\t\t\t\t};\n\t\t\t\tcase \"+\": // This operation is applied to the main results so far\n\t\t\t\t\treturn function(results,source,widget) {\n\t\t\t\t\t\t// This replaces all the elements of the array, but keeps the actual array so that references to it are preserved\n\t\t\t\t\t\tsource = self.makeTiddlerIterator(results);\n\t\t\t\t\t\tresults.splice(0,results.length);\n\t\t\t\t\t\t$tw.utils.pushTop(results,operationSubFunction(source,widget));\n\t\t\t\t\t};\n\t\t\t\tcase \"~\": // This operation is unioned into the result only if the main result so far is empty\n\t\t\t\t\treturn function(results,source,widget) {\n\t\t\t\t\t\tif(results.length === 0) {\n\t\t\t\t\t\t\t// Main result so far is empty\n\t\t\t\t\t\t\t$tw.utils.pushTop(results,operationSubFunction(source,widget));\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t}\n\t\t})());\n\t});\n\t// Return a function that applies the operations to a source iterator of tiddler titles\n\treturn $tw.perf.measure(\"filter: \" + filterString,function filterFunction(source,widget) {\n\t\tif(!source) {\n\t\t\tsource = self.each;\n\t\t} else if(typeof source === \"object\") { // Array or hashmap\n\t\t\tsource = self.makeTiddlerIterator(source);\n\t\t}\n\t\tvar results = [];\n\t\t$tw.utils.each(operationFunctions,function(operationFunction) {\n\t\t\toperationFunction(results,source,widget);\n\t\t});\n\t\treturn results;\n\t});\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikimethod"
        },
        "$:/core/modules/indexers/field-indexer.js": {
            "title": "$:/core/modules/indexers/field-indexer.js",
            "text": "/*\\\ntitle: $:/core/modules/indexers/field-indexer.js\ntype: application/javascript\nmodule-type: indexer\n\nIndexes the tiddlers with each field value\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global modules: false */\n\"use strict\";\n\nvar DEFAULT_MAXIMUM_INDEXED_VALUE_LENGTH = 128;\n\nfunction FieldIndexer(wiki) {\n\tthis.wiki = wiki;\n}\n\nFieldIndexer.prototype.init = function() {\n\tthis.index = null;\n\tthis.maxIndexedValueLength = DEFAULT_MAXIMUM_INDEXED_VALUE_LENGTH;\n\tthis.addIndexMethods();\n}\n\n// Provided for testing\nFieldIndexer.prototype.setMaxIndexedValueLength = function(length) {\n\tthis.index = null;\n\tthis.maxIndexedValueLength = length;\n};\n\nFieldIndexer.prototype.addIndexMethods = function() {\n\tvar self = this;\n\tthis.wiki.each.byField = function(name,value) {\n\t\tvar titles = self.wiki.allTitles(),\n\t\t\tlookup = self.lookup(name,value);\n\t\treturn lookup && lookup.filter(function(title) {\n\t\t\treturn titles.indexOf(title) !== -1;\n\t\t});\n\t};\n\tthis.wiki.eachShadow.byField = function(name,value) {\n\t\tvar titles = self.wiki.allShadowTitles(),\n\t\t\tlookup = self.lookup(name,value);\n\t\treturn lookup && lookup.filter(function(title) {\n\t\t\treturn titles.indexOf(title) !== -1;\n\t\t});\n\t};\n\tthis.wiki.eachTiddlerPlusShadows.byField = function(name,value) {\n\t\tvar lookup = self.lookup(name,value);\n\t\treturn lookup ? lookup.slice(0) : null;\n\t};\n\tthis.wiki.eachShadowPlusTiddlers.byField = function(name,value) {\n\t\tvar lookup = self.lookup(name,value);\n\t\treturn lookup ? lookup.slice(0) : null;\n\t};\n};\n\n/*\nTear down and then rebuild the index as if all tiddlers have changed\n*/\nFieldIndexer.prototype.rebuild = function() {\n\t// Invalidate the index so that it will be rebuilt when it is next used\n\tthis.index = null;\n};\n\n/*\nBuild the index for a particular field\n*/\nFieldIndexer.prototype.buildIndexForField = function(name) {\n\tvar self = this;\n\t// Hashmap by field name of hashmap by field value of array of tiddler titles\n\tthis.index = this.index || Object.create(null);\n\tthis.index[name] = Object.create(null);\n\tvar baseIndex = this.index[name];\n\t// Update the index for each tiddler\n\tthis.wiki.eachTiddlerPlusShadows(function(tiddler,title) {\n\t\tif(name in tiddler.fields) {\n\t\t\tvar value = tiddler.getFieldString(name);\n\t\t\t// Skip any values above the maximum length\n\t\t\tif(value.length < self.maxIndexedValueLength) {\n\t\t\t\tbaseIndex[value] = baseIndex[value] || [];\n\t\t\t\tbaseIndex[value].push(title);\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\nUpdate the index in the light of a tiddler value changing; note that the title must be identical. (Renames are handled as a separate delete and create)\nupdateDescriptor: {old: {tiddler: <tiddler>, shadow: <boolean>, exists: <boolean>},new: {tiddler: <tiddler>, shadow: <boolean>, exists: <boolean>}}\n*/\nFieldIndexer.prototype.update = function(updateDescriptor) {\n\tvar self = this;\n\t// Don't do anything if the index hasn't been built yet\n\tif(this.index === null) {\n\t\treturn;\n\t}\n\t// Remove the old tiddler from the index\n\tif(updateDescriptor.old.tiddler) {\n\t\t$tw.utils.each(this.index,function(indexEntry,name) {\n\t\t\tif(name in updateDescriptor.old.tiddler.fields) {\n\t\t\t\tvar value = updateDescriptor.old.tiddler.getFieldString(name),\n\t\t\t\t\ttiddlerList = indexEntry[value];\n\t\t\t\tif(tiddlerList) {\n\t\t\t\t\tvar index = tiddlerList.indexOf(updateDescriptor.old.tiddler.fields.title);\n\t\t\t\t\tif(index !== -1) {\n\t\t\t\t\t\ttiddlerList.splice(index,1);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\t// Add the new tiddler to the index\n\tif(updateDescriptor[\"new\"].tiddler) {\n\t\t$tw.utils.each(this.index,function(indexEntry,name) {\n\t\t\tif(name in updateDescriptor[\"new\"].tiddler.fields) {\n\t\t\t\tvar value = updateDescriptor[\"new\"].tiddler.getFieldString(name);\n\t\t\t\tif(value.length < self.maxIndexedValueLength) {\n\t\t\t\t\tindexEntry[value] = indexEntry[value] || [];\n\t\t\t\t\tindexEntry[value].push(updateDescriptor[\"new\"].tiddler.fields.title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\t\t\n\t}\n};\n\n// Lookup the given field returning a list of tiddler titles\nFieldIndexer.prototype.lookup = function(name,value) {\n\t// Fail the lookup if the value is too long\n\tif(value.length >= this.maxIndexedValueLength) {\n\t\treturn null;\n\t}\n\t// Update the index if it has yet to be built\n\tif(this.index === null || !this.index[name]) {\n\t\tthis.buildIndexForField(name);\n\t}\n\treturn this.index[name][value] || [];\n};\n\nexports.FieldIndexer = FieldIndexer;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "indexer"
        },
        "$:/core/modules/indexers/tag-indexer.js": {
            "title": "$:/core/modules/indexers/tag-indexer.js",
            "text": "/*\\\ntitle: $:/core/modules/indexers/tag-indexer.js\ntype: application/javascript\nmodule-type: indexer\n\nIndexes the tiddlers with each tag\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global modules: false */\n\"use strict\";\n\nfunction TagIndexer(wiki) {\n\tthis.wiki = wiki;\n}\n\nTagIndexer.prototype.init = function() {\n\tthis.subIndexers = [\n\t\tnew TagSubIndexer(this,\"each\"),\n\t\tnew TagSubIndexer(this,\"eachShadow\"),\n\t\tnew TagSubIndexer(this,\"eachTiddlerPlusShadows\"),\n\t\tnew TagSubIndexer(this,\"eachShadowPlusTiddlers\")\n\t];\n\t$tw.utils.each(this.subIndexers,function(subIndexer) {\n\t\tsubIndexer.addIndexMethod();\n\t});\n};\n\nTagIndexer.prototype.rebuild = function() {\n\t$tw.utils.each(this.subIndexers,function(subIndexer) {\n\t\tsubIndexer.rebuild();\n\t});\n};\n\nTagIndexer.prototype.update = function(updateDescriptor) {\n\t$tw.utils.each(this.subIndexers,function(subIndexer) {\n\t\tsubIndexer.update(updateDescriptor);\n\t});\n};\n\nfunction TagSubIndexer(indexer,iteratorMethod) {\n\tthis.indexer = indexer;\n\tthis.iteratorMethod = iteratorMethod;\n\tthis.index = null; // Hashmap of tag title to {isSorted: bool, titles: [array]} or null if not yet initialised\n}\n\nTagSubIndexer.prototype.addIndexMethod = function() {\n\tvar self = this;\n\tthis.indexer.wiki[this.iteratorMethod].byTag = function(tag) {\n\t\treturn self.lookup(tag).slice(0);\n\t};\n};\n\nTagSubIndexer.prototype.rebuild = function() {\n\tvar self = this;\n\t// Hashmap by tag of array of {isSorted:, titles:[]}\n\tthis.index = Object.create(null);\n\t// Add all the tags\n\tthis.indexer.wiki[this.iteratorMethod](function(tiddler,title) {\n\t\t$tw.utils.each(tiddler.fields.tags,function(tag) {\n\t\t\tif(!self.index[tag]) {\n\t\t\t\tself.index[tag] = {isSorted: false, titles: [title]};\n\t\t\t} else {\n\t\t\t\tself.index[tag].titles.push(title);\n\t\t\t}\n\t\t});\t\t\n\t});\n};\n\nTagSubIndexer.prototype.update = function(updateDescriptor) {\n\tthis.index = null;\n};\n\nTagSubIndexer.prototype.lookup = function(tag) {\n\t// Update the index if it has yet to be built\n\tif(this.index === null) {\n\t\tthis.rebuild();\n\t}\n\tvar indexRecord = this.index[tag];\n\tif(indexRecord) {\n\t\tif(!indexRecord.isSorted) {\n\t\t\tif(this.indexer.wiki.sortByList) {\n\t\t\t\tindexRecord.titles = this.indexer.wiki.sortByList(indexRecord.titles,tag);\n\t\t\t}\t\t\t\n\t\t\tindexRecord.isSorted = true;\n\t\t}\n\t\treturn indexRecord.titles;\n\t} else {\n\t\treturn [];\n\t}\n};\n\n\nexports.TagIndexer = TagIndexer;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "indexer"
        },
        "$:/core/modules/info/platform.js": {
            "title": "$:/core/modules/info/platform.js",
            "text": "/*\\\ntitle: $:/core/modules/info/platform.js\ntype: application/javascript\nmodule-type: info\n\nInitialise basic platform $:/info/ tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.getInfoTiddlerFields = function() {\n\tvar mapBoolean = function(value) {return value ? \"yes\" : \"no\";},\n\t\tinfoTiddlerFields = [];\n\t// Basics\n\tinfoTiddlerFields.push({title: \"$:/info/browser\", text: mapBoolean(!!$tw.browser)});\n\tinfoTiddlerFields.push({title: \"$:/info/node\", text: mapBoolean(!!$tw.node)});\n\tif($tw.browser) {\n\t\t// Document location\n\t\tvar setLocationProperty = function(name,value) {\n\t\t\t\tinfoTiddlerFields.push({title: \"$:/info/url/\" + name, text: value});\t\t\t\n\t\t\t},\n\t\t\tlocation = document.location;\n\t\tsetLocationProperty(\"full\", (location.toString()).split(\"#\")[0]);\n\t\tsetLocationProperty(\"host\", location.host);\n\t\tsetLocationProperty(\"hostname\", location.hostname);\n\t\tsetLocationProperty(\"protocol\", location.protocol);\n\t\tsetLocationProperty(\"port\", location.port);\n\t\tsetLocationProperty(\"pathname\", location.pathname);\n\t\tsetLocationProperty(\"search\", location.search);\n\t\tsetLocationProperty(\"origin\", location.origin);\n\t\t// Screen size\n\t\tinfoTiddlerFields.push({title: \"$:/info/browser/screen/width\", text: window.screen.width.toString()});\n\t\tinfoTiddlerFields.push({title: \"$:/info/browser/screen/height\", text: window.screen.height.toString()});\n\t\t// Language\n\t\tinfoTiddlerFields.push({title: \"$:/info/browser/language\", text: navigator.language || \"\"});\n\t}\n\treturn infoTiddlerFields;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "info"
        },
        "$:/core/modules/keyboard.js": {
            "title": "$:/core/modules/keyboard.js",
            "text": "/*\\\ntitle: $:/core/modules/keyboard.js\ntype: application/javascript\nmodule-type: global\n\nKeyboard handling utilities\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar namedKeys = {\n\t\"cancel\": 3,\n\t\"help\": 6,\n\t\"backspace\": 8,\n\t\"tab\": 9,\n\t\"clear\": 12,\n\t\"return\": 13,\n\t\"enter\": 13,\n\t\"pause\": 19,\n\t\"escape\": 27,\n\t\"space\": 32,\n\t\"page_up\": 33,\n\t\"page_down\": 34,\n\t\"end\": 35,\n\t\"home\": 36,\n\t\"left\": 37,\n\t\"up\": 38,\n\t\"right\": 39,\n\t\"down\": 40,\n\t\"printscreen\": 44,\n\t\"insert\": 45,\n\t\"delete\": 46,\n\t\"0\": 48,\n\t\"1\": 49,\n\t\"2\": 50,\n\t\"3\": 51,\n\t\"4\": 52,\n\t\"5\": 53,\n\t\"6\": 54,\n\t\"7\": 55,\n\t\"8\": 56,\n\t\"9\": 57,\n\t\"firefoxsemicolon\": 59,\n\t\"firefoxequals\": 61,\n\t\"a\": 65,\n\t\"b\": 66,\n\t\"c\": 67,\n\t\"d\": 68,\n\t\"e\": 69,\n\t\"f\": 70,\n\t\"g\": 71,\n\t\"h\": 72,\n\t\"i\": 73,\n\t\"j\": 74,\n\t\"k\": 75,\n\t\"l\": 76,\n\t\"m\": 77,\n\t\"n\": 78,\n\t\"o\": 79,\n\t\"p\": 80,\n\t\"q\": 81,\n\t\"r\": 82,\n\t\"s\": 83,\n\t\"t\": 84,\n\t\"u\": 85,\n\t\"v\": 86,\n\t\"w\": 87,\n\t\"x\": 88,\n\t\"y\": 89,\n\t\"z\": 90,\n\t\"numpad0\": 96,\n\t\"numpad1\": 97,\n\t\"numpad2\": 98,\n\t\"numpad3\": 99,\n\t\"numpad4\": 100,\n\t\"numpad5\": 101,\n\t\"numpad6\": 102,\n\t\"numpad7\": 103,\n\t\"numpad8\": 104,\n\t\"numpad9\": 105,\n\t\"multiply\": 106,\n\t\"add\": 107,\n\t\"separator\": 108,\n\t\"subtract\": 109,\n\t\"decimal\": 110,\n\t\"divide\": 111,\n\t\"f1\": 112,\n\t\"f2\": 113,\n\t\"f3\": 114,\n\t\"f4\": 115,\n\t\"f5\": 116,\n\t\"f6\": 117,\n\t\"f7\": 118,\n\t\"f8\": 119,\n\t\"f9\": 120,\n\t\"f10\": 121,\n\t\"f11\": 122,\n\t\"f12\": 123,\n\t\"f13\": 124,\n\t\"f14\": 125,\n\t\"f15\": 126,\n\t\"f16\": 127,\n\t\"f17\": 128,\n\t\"f18\": 129,\n\t\"f19\": 130,\n\t\"f20\": 131,\n\t\"f21\": 132,\n\t\"f22\": 133,\n\t\"f23\": 134,\n\t\"f24\": 135,\n\t\"firefoxminus\": 173,\n\t\"semicolon\": 186,\n\t\"equals\": 187,\n\t\"comma\": 188,\n\t\"dash\": 189,\n\t\"period\": 190,\n\t\"slash\": 191,\n\t\"backquote\": 192,\n\t\"openbracket\": 219,\n\t\"backslash\": 220,\n\t\"closebracket\": 221,\n\t\"quote\": 222\n};\n\nfunction KeyboardManager(options) {\n\tvar self = this;\n\toptions = options || \"\";\n\t// Save the named key hashmap\n\tthis.namedKeys = namedKeys;\n\t// Create a reverse mapping of code to keyname\n\tthis.keyNames = [];\n\t$tw.utils.each(namedKeys,function(keyCode,name) {\n\t\tself.keyNames[keyCode] = name.substr(0,1).toUpperCase() + name.substr(1);\n\t});\n\t// Save the platform-specific name of the \"meta\" key\n\tthis.metaKeyName = $tw.platform.isMac ? \"cmd-\" : \"win-\";\n\tthis.shortcutKeysList = [], // Stores the shortcut-key descriptors\n\tthis.shortcutActionList = [], // Stores the corresponding action strings\n\tthis.shortcutParsedList = []; // Stores the parsed key descriptors\n\tthis.lookupNames = [\"shortcuts\"];\n\tthis.lookupNames.push($tw.platform.isMac ? \"shortcuts-mac\" : \"shortcuts-not-mac\")\n\tthis.lookupNames.push($tw.platform.isWindows ? \"shortcuts-windows\" : \"shortcuts-not-windows\");\n\tthis.lookupNames.push($tw.platform.isLinux ? \"shortcuts-linux\" : \"shortcuts-not-linux\");\n\tthis.updateShortcutLists(this.getShortcutTiddlerList());\n\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\tself.handleShortcutChanges(changes);\n\t});\n}\n\n/*\nReturn an array of keycodes for the modifier keys ctrl, shift, alt, meta\n*/\nKeyboardManager.prototype.getModifierKeys = function() {\n\treturn [\n\t\t16, // Shift\n\t\t17, // Ctrl\n\t\t18, // Alt\n\t\t20, // CAPS LOCK\n\t\t91, // Meta (left)\n\t\t93, // Meta (right)\n\t\t224 // Meta (Firefox)\n\t]\n};\n\n/*\nParses a key descriptor into the structure:\n{\n\tkeyCode: numeric keycode\n\tshiftKey: boolean\n\taltKey: boolean\n\tctrlKey: boolean\n\tmetaKey: boolean\n}\nKey descriptors have the following format:\n\tctrl+enter\n\tctrl+shift+alt+A\n*/\nKeyboardManager.prototype.parseKeyDescriptor = function(keyDescriptor) {\n\tvar components = keyDescriptor.split(/\\+|\\-/),\n\t\tinfo = {\n\t\t\tkeyCode: 0,\n\t\t\tshiftKey: false,\n\t\t\taltKey: false,\n\t\t\tctrlKey: false,\n\t\t\tmetaKey: false\n\t\t};\n\tfor(var t=0; t<components.length; t++) {\n\t\tvar s = components[t].toLowerCase(),\n\t\t\tc = s.charCodeAt(0);\n\t\t// Look for modifier keys\n\t\tif(s === \"ctrl\") {\n\t\t\tinfo.ctrlKey = true;\n\t\t} else if(s === \"shift\") {\n\t\t\tinfo.shiftKey = true;\n\t\t} else if(s === \"alt\") {\n\t\t\tinfo.altKey = true;\n\t\t} else if(s === \"meta\" || s === \"cmd\" || s === \"win\") {\n\t\t\tinfo.metaKey = true;\n\t\t}\n\t\t// Replace named keys with their code\n\t\tif(this.namedKeys[s]) {\n\t\t\tinfo.keyCode = this.namedKeys[s];\n\t\t}\n\t}\n\tif(info.keyCode) {\n\t\treturn info;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/*\nParse a list of key descriptors into an array of keyInfo objects. The key descriptors can be passed as an array of strings or a space separated string\n*/\nKeyboardManager.prototype.parseKeyDescriptors = function(keyDescriptors,options) {\n\tvar self = this;\n\toptions = options || {};\n\toptions.stack = options.stack || [];\n\tvar wiki = options.wiki || $tw.wiki;\n\tif(typeof keyDescriptors === \"string\" && keyDescriptors === \"\") {\n\t\treturn [];\n\t}\n\tif(!$tw.utils.isArray(keyDescriptors)) {\n\t\tkeyDescriptors = keyDescriptors.split(\" \");\n\t}\n\tvar result = [];\n\t$tw.utils.each(keyDescriptors,function(keyDescriptor) {\n\t\t// Look for a named shortcut\n\t\tif(keyDescriptor.substr(0,2) === \"((\" && keyDescriptor.substr(-2,2) === \"))\") {\n\t\t\tif(options.stack.indexOf(keyDescriptor) === -1) {\n\t\t\t\toptions.stack.push(keyDescriptor);\n\t\t\t\tvar name = keyDescriptor.substring(2,keyDescriptor.length - 2),\n\t\t\t\t\tlookupName = function(configName) {\n\t\t\t\t\t\tvar keyDescriptors = wiki.getTiddlerText(\"$:/config/\" + configName + \"/\" + name);\n\t\t\t\t\t\tif(keyDescriptors) {\n\t\t\t\t\t\t\tresult.push.apply(result,self.parseKeyDescriptors(keyDescriptors,options));\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t$tw.utils.each(self.lookupNames,function(platformDescriptor) {\n\t\t\t\t\tlookupName(platformDescriptor);\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\tresult.push(self.parseKeyDescriptor(keyDescriptor));\n\t\t}\n\t});\n\treturn result;\n};\n\nKeyboardManager.prototype.getPrintableShortcuts = function(keyInfoArray) {\n\tvar self = this,\n\t\tresult = [];\n\t$tw.utils.each(keyInfoArray,function(keyInfo) {\n\t\tif(keyInfo) {\n\t\t\tresult.push((keyInfo.ctrlKey ? \"ctrl-\" : \"\") + \n\t\t\t\t   (keyInfo.shiftKey ? \"shift-\" : \"\") + \n\t\t\t\t   (keyInfo.altKey ? \"alt-\" : \"\") + \n\t\t\t\t   (keyInfo.metaKey ? self.metaKeyName : \"\") + \n\t\t\t\t   (self.keyNames[keyInfo.keyCode]));\n\t\t}\n\t});\n\treturn result;\n}\n\nKeyboardManager.prototype.checkKeyDescriptor = function(event,keyInfo) {\n\treturn keyInfo &&\n\t\t\tevent.keyCode === keyInfo.keyCode && \n\t\t\tevent.shiftKey === keyInfo.shiftKey && \n\t\t\tevent.altKey === keyInfo.altKey && \n\t\t\tevent.ctrlKey === keyInfo.ctrlKey && \n\t\t\tevent.metaKey === keyInfo.metaKey;\n};\n\nKeyboardManager.prototype.checkKeyDescriptors = function(event,keyInfoArray) {\n\tfor(var t=0; t<keyInfoArray.length; t++) {\n\t\tif(this.checkKeyDescriptor(event,keyInfoArray[t])) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n};\n\nKeyboardManager.prototype.getShortcutTiddlerList = function() {\n\treturn $tw.wiki.getTiddlersWithTag(\"$:/tags/KeyboardShortcut\");\n};\n\nKeyboardManager.prototype.updateShortcutLists = function(tiddlerList) {\n\tthis.shortcutTiddlers = tiddlerList;\n\tfor(var i=0; i<tiddlerList.length; i++) {\n\t\tvar title = tiddlerList[i],\n\t\t\ttiddlerFields = $tw.wiki.getTiddler(title).fields;\n\t\tthis.shortcutKeysList[i] = tiddlerFields.key !== undefined ? tiddlerFields.key : undefined;\n\t\tthis.shortcutActionList[i] = tiddlerFields.text;\n\t\tthis.shortcutParsedList[i] = this.shortcutKeysList[i] !== undefined ? this.parseKeyDescriptors(this.shortcutKeysList[i]) : undefined;\n\t}\n};\n\nKeyboardManager.prototype.handleKeydownEvent = function(event) {\n\tvar key, action;\n\tfor(var i=0; i<this.shortcutTiddlers.length; i++) {\n\t\tif(this.shortcutParsedList[i] !== undefined && this.checkKeyDescriptors(event,this.shortcutParsedList[i])) {\n\t\t\tkey = this.shortcutParsedList[i];\n\t\t\taction = this.shortcutActionList[i];\n\t\t}\n\t}\n\tif(key !== undefined) {\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\t$tw.rootWidget.invokeActionString(action,$tw.rootWidget);\n\t\treturn true;\n\t}\n\treturn false;\n};\n\nKeyboardManager.prototype.detectNewShortcuts = function(changedTiddlers) {\n\tvar shortcutConfigTiddlers = [],\n\t\thandled = false;\n\t$tw.utils.each(this.lookupNames,function(platformDescriptor) {\n\t\tvar descriptorString = \"$:/config/\" + platformDescriptor + \"/\";\n\t\tObject.keys(changedTiddlers).forEach(function(configTiddler) {\n\t\t\tvar configString = configTiddler.substr(0, configTiddler.lastIndexOf(\"/\") + 1);\n\t\t\tif(configString === descriptorString) {\n\t\t\t\tshortcutConfigTiddlers.push(configTiddler);\n\t\t\t\thandled = true;\n\t\t\t}\n\t\t});\n\t});\n\tif(handled) {\n\t\treturn $tw.utils.hopArray(changedTiddlers,shortcutConfigTiddlers);\n\t} else {\n\t\treturn false;\n\t}\n};\n\nKeyboardManager.prototype.handleShortcutChanges = function(changedTiddlers) {\n\tvar newList = this.getShortcutTiddlerList();\n\tvar hasChanged = $tw.utils.hopArray(changedTiddlers,this.shortcutTiddlers) ? true :\n\t\t($tw.utils.hopArray(changedTiddlers,newList) ? true :\n\t\t(this.detectNewShortcuts(changedTiddlers))\n\t);\n\t// Re-cache shortcuts if something changed\n\tif(hasChanged) {\n\t\tthis.updateShortcutLists(newList);\n\t}\n};\n\nexports.KeyboardManager = KeyboardManager;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "global"
        },
        "$:/core/modules/language.js": {
            "title": "$:/core/modules/language.js",
            "text": "/*\\\ntitle: $:/core/modules/language.js\ntype: application/javascript\nmodule-type: global\n\nThe $tw.Language() manages translateable strings\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nCreate an instance of the language manager. Options include:\nwiki: wiki from which to retrieve translation tiddlers\n*/\nfunction Language(options) {\n\toptions = options || \"\";\n\tthis.wiki = options.wiki || $tw.wiki;\n}\n\n/*\nReturn a wikified translateable string. The title is automatically prefixed with \"$:/language/\"\nOptions include:\nvariables: optional hashmap of variables to supply to the language wikification\n*/\nLanguage.prototype.getString = function(title,options) {\n\toptions = options || {};\n\ttitle = \"$:/language/\" + title;\n\treturn this.wiki.renderTiddler(\"text/plain\",title,{variables: options.variables});\n};\n\n/*\nReturn a raw, unwikified translateable string. The title is automatically prefixed with \"$:/language/\"\n*/\nLanguage.prototype.getRawString = function(title) {\n\ttitle = \"$:/language/\" + title;\n\treturn this.wiki.getTiddlerText(title);\n};\n\nexports.Language = Language;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "global"
        },
        "$:/core/modules/macros/changecount.js": {
            "title": "$:/core/modules/macros/changecount.js",
            "text": "/*\\\ntitle: $:/core/modules/macros/changecount.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to return the changecount for the current tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"changecount\";\n\nexports.params = [];\n\n/*\nRun the macro\n*/\nexports.run = function() {\n\treturn this.wiki.getChangeCount(this.getVariable(\"currentTiddler\")) + \"\";\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "macro"
        },
        "$:/core/modules/macros/contrastcolour.js": {
            "title": "$:/core/modules/macros/contrastcolour.js",
            "text": "/*\\\ntitle: $:/core/modules/macros/contrastcolour.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to choose which of two colours has the highest contrast with a base colour\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"contrastcolour\";\n\nexports.params = [\n\t{name: \"target\"},\n\t{name: \"fallbackTarget\"},\n\t{name: \"colourA\"},\n\t{name: \"colourB\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(target,fallbackTarget,colourA,colourB) {\n\tvar rgbTarget = $tw.utils.parseCSSColor(target) || $tw.utils.parseCSSColor(fallbackTarget);\n\tif(!rgbTarget) {\n\t\treturn colourA;\n\t}\n\tvar rgbColourA = $tw.utils.parseCSSColor(colourA),\n\t\trgbColourB = $tw.utils.parseCSSColor(colourB);\n\tif(rgbColourA && !rgbColourB) {\n\t\treturn rgbColourA;\n\t}\n\tif(rgbColourB && !rgbColourA) {\n\t\treturn rgbColourB;\n\t}\n\tif(!rgbColourA && !rgbColourB) {\n\t\t// If neither colour is readable, return a crude inverse of the target\n\t\treturn [255 - rgbTarget[0],255 - rgbTarget[1],255 - rgbTarget[2],rgbTarget[3]];\n\t}\n\t// Colour brightness formula derived from http://www.w3.org/WAI/ER/WD-AERT/#color-contrast\n\tvar brightnessTarget = rgbTarget[0] * 0.299 + rgbTarget[1] * 0.587 + rgbTarget[2] * 0.114,\n\t\tbrightnessA = rgbColourA[0] * 0.299 + rgbColourA[1] * 0.587 + rgbColourA[2] * 0.114,\n\t\tbrightnessB = rgbColourB[0] * 0.299 + rgbColourB[1] * 0.587 + rgbColourB[2] * 0.114;\n\treturn Math.abs(brightnessTarget - brightnessA) > Math.abs(brightnessTarget - brightnessB) ? colourA : colourB;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "macro"
        },
        "$:/core/modules/macros/csvtiddlers.js": {
            "title": "$:/core/modules/macros/csvtiddlers.js",
            "text": "/*\\\ntitle: $:/core/modules/macros/csvtiddlers.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to output tiddlers matching a filter to CSV\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"csvtiddlers\";\n\nexports.params = [\n\t{name: \"filter\"},\n\t{name: \"format\"},\n];\n\n/*\nRun the macro\n*/\nexports.run = function(filter,format) {\n\tvar self = this,\n\t\ttiddlers = this.wiki.filterTiddlers(filter),\n\t\ttiddler,\n\t\tfields = [],\n\t\tt,f;\n\t// Collect all the fields\n\tfor(t=0;t<tiddlers.length; t++) {\n\t\ttiddler = this.wiki.getTiddler(tiddlers[t]);\n\t\tfor(f in tiddler.fields) {\n\t\t\tif(fields.indexOf(f) === -1) {\n\t\t\t\tfields.push(f);\n\t\t\t}\n\t\t}\n\t}\n\t// Sort the fields and bring the standard ones to the front\n\tfields.sort();\n\t\"title text modified modifier created creator\".split(\" \").reverse().forEach(function(value,index) {\n\t\tvar p = fields.indexOf(value);\n\t\tif(p !== -1) {\n\t\t\tfields.splice(p,1);\n\t\t\tfields.unshift(value)\n\t\t}\n\t});\n\t// Output the column headings\n\tvar output = [], row = [];\n\tfields.forEach(function(value) {\n\t\trow.push(quoteAndEscape(value))\n\t});\n\toutput.push(row.join(\",\"));\n\t// Output each tiddler\n\tfor(var t=0;t<tiddlers.length; t++) {\n\t\trow = [];\n\t\ttiddler = this.wiki.getTiddler(tiddlers[t]);\n\t\t\tfor(f=0; f<fields.length; f++) {\n\t\t\t\trow.push(quoteAndEscape(tiddler ? tiddler.getFieldString(fields[f]) || \"\" : \"\"));\n\t\t\t}\n\t\toutput.push(row.join(\",\"));\n\t}\n\treturn output.join(\"\\n\");\n};\n\nfunction quoteAndEscape(value) {\n\treturn \"\\\"\" + value.replace(/\"/mg,\"\\\"\\\"\") + \"\\\"\";\n}\n\n})();\n",
            "type": "application/javascript",
            "module-type": "macro"
        },
        "$:/core/modules/macros/displayshortcuts.js": {
            "title": "$:/core/modules/macros/displayshortcuts.js",
            "text": "/*\\\ntitle: $:/core/modules/macros/displayshortcuts.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to display a list of keyboard shortcuts in human readable form. Notably, it resolves named shortcuts like `((bold))` to the underlying keystrokes.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"displayshortcuts\";\n\nexports.params = [\n\t{name: \"shortcuts\"},\n\t{name: \"prefix\"},\n\t{name: \"separator\"},\n\t{name: \"suffix\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(shortcuts,prefix,separator,suffix) {\n\tvar shortcutArray = $tw.keyboardManager.getPrintableShortcuts($tw.keyboardManager.parseKeyDescriptors(shortcuts,{\n\t\twiki: this.wiki\n\t}));\n\tif(shortcutArray.length > 0) {\n\t\tshortcutArray.sort(function(a,b) {\n\t\t    return a.toLowerCase().localeCompare(b.toLowerCase());\n\t\t})\n\t\treturn prefix + shortcutArray.join(separator) + suffix;\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "macro"
        },
        "$:/core/modules/macros/jsontiddler.js": {
            "title": "$:/core/modules/macros/jsontiddler.js",
            "text": "/*\\\ntitle: $:/core/modules/macros/jsontiddler.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to output a single tiddler to JSON\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"jsontiddler\";\n\nexports.params = [\n\t{name: \"title\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(title) {\n\ttitle = title || this.getVariable(\"currentTiddler\");\n\tvar tiddler = !!title && this.wiki.getTiddler(title),\n\t\tfields = new Object();\n\tif(tiddler) {\n\t\tfor(var field in tiddler.fields) {\n\t\t\tfields[field] = tiddler.getFieldString(field);\n\t\t}\n\t}\n\treturn JSON.stringify(fields,null,$tw.config.preferences.jsonSpaces);\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "macro"
        },
        "$:/core/modules/macros/jsontiddlers.js": {
            "title": "$:/core/modules/macros/jsontiddlers.js",
            "text": "/*\\\ntitle: $:/core/modules/macros/jsontiddlers.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to output tiddlers matching a filter to JSON\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"jsontiddlers\";\n\nexports.params = [\n\t{name: \"filter\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(filter) {\n\treturn this.wiki.getTiddlersAsJson(filter);\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "macro"
        },
        "$:/core/modules/macros/makedatauri.js": {
            "title": "$:/core/modules/macros/makedatauri.js",
            "text": "/*\\\ntitle: $:/core/modules/macros/makedatauri.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to convert a string of text to a data URI\n\n<<makedatauri text:\"Text to be converted\" type:\"text/vnd.tiddlywiki\">>\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"makedatauri\";\n\nexports.params = [\n\t{name: \"text\"},\n\t{name: \"type\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(text,type) {\n\treturn $tw.utils.makeDataUri(text,type);\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "macro"
        },
        "$:/core/modules/macros/now.js": {
            "title": "$:/core/modules/macros/now.js",
            "text": "/*\\\ntitle: $:/core/modules/macros/now.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to return a formatted version of the current time\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"now\";\n\nexports.params = [\n\t{name: \"format\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(format) {\n\treturn $tw.utils.formatDateString(new Date(),format || \"0hh:0mm, DDth MMM YYYY\");\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "macro"
        },
        "$:/core/modules/macros/qualify.js": {
            "title": "$:/core/modules/macros/qualify.js",
            "text": "/*\\\ntitle: $:/core/modules/macros/qualify.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to qualify a state tiddler title according\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"qualify\";\n\nexports.params = [\n\t{name: \"title\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(title) {\n\treturn title + \"-\" + this.getStateQualifier();\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "macro"
        },
        "$:/core/modules/macros/resolvepath.js": {
            "title": "$:/core/modules/macros/resolvepath.js",
            "text": "/*\\\ntitle: $:/core/modules/macros/resolvepath.js\ntype: application/javascript\nmodule-type: macro\n\nResolves a relative path for an absolute rootpath.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"resolvepath\";\n\nexports.params = [\n\t{name: \"source\"},\n\t{name: \"root\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(source, root) {\n\treturn $tw.utils.resolvePath(source, root);\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "macro"
        },
        "$:/core/modules/macros/unusedtitle.js": {
            "title": "$:/core/modules/macros/unusedtitle.js",
            "text": "/*\\\ntitle: $:/core/modules/macros/unusedtitle.js\ntype: application/javascript\nmodule-type: macro\nMacro to return a new title that is unused in the wiki. It can be given a name as a base.\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"unusedtitle\";\n\nexports.params = [\n\t{name: \"baseName\"},\n\t{name: \"options\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(baseName, options) {\n\tif(!baseName) {\n\t\tbaseName = $tw.language.getString(\"DefaultNewTiddlerTitle\");\n\t}\n\treturn this.wiki.generateNewTitle(baseName, options);\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "macro"
        },
        "$:/core/modules/macros/version.js": {
            "title": "$:/core/modules/macros/version.js",
            "text": "/*\\\ntitle: $:/core/modules/macros/version.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to return the TiddlyWiki core version number\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"version\";\n\nexports.params = [];\n\n/*\nRun the macro\n*/\nexports.run = function() {\n\treturn $tw.version;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "macro"
        },
        "$:/core/modules/parsers/audioparser.js": {
            "title": "$:/core/modules/parsers/audioparser.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/audioparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe audio parser parses an audio tiddler into an embeddable HTML element\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar AudioParser = function(type,text,options) {\n\tvar element = {\n\t\t\ttype: \"element\",\n\t\t\ttag: \"audio\",\n\t\t\tattributes: {\n\t\t\t\tcontrols: {type: \"string\", value: \"controls\"}\n\t\t\t}\n\t\t},\n\t\tsrc;\n\tif(options._canonical_uri) {\n\t\telement.attributes.src = {type: \"string\", value: options._canonical_uri};\n\t} else if(text) {\n\t\telement.attributes.src = {type: \"string\", value: \"data:\" + type + \";base64,\" + text};\n\t}\n\tthis.tree = [element];\n};\n\nexports[\"audio/ogg\"] = AudioParser;\nexports[\"audio/mpeg\"] = AudioParser;\nexports[\"audio/mp3\"] = AudioParser;\nexports[\"audio/mp4\"] = AudioParser;\n\n})();\n\n",
            "type": "application/javascript",
            "module-type": "parser"
        },
        "$:/core/modules/parsers/binaryparser.js": {
            "title": "$:/core/modules/parsers/binaryparser.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/binaryparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe video parser parses a video tiddler into an embeddable HTML element\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar BINARY_WARNING_MESSAGE = \"$:/core/ui/BinaryWarning\";\n\nvar BinaryParser = function(type,text,options) {\n\tthis.tree = [{\n\t\ttype: \"transclude\",\n\t\tattributes: {\n\t\t\ttiddler: {type: \"string\", value: BINARY_WARNING_MESSAGE}\n\t\t}\n\t}];\n};\n\nexports[\"application/octet-stream\"] = BinaryParser;\n\n})();\n\n",
            "type": "application/javascript",
            "module-type": "parser"
        },
        "$:/core/modules/parsers/csvparser.js": {
            "title": "$:/core/modules/parsers/csvparser.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/csvparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe CSV text parser processes CSV files into a table wrapped in a scrollable widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar CsvParser = function(type,text,options) {\n\t// Table framework\n\tthis.tree = [{\n\t\t\"type\": \"scrollable\", \"children\": [{\n\t\t\t\"type\": \"element\", \"tag\": \"table\", \"children\": [{\n\t\t\t\t\"type\": \"element\", \"tag\": \"tbody\", \"children\": []\n\t\t\t}], \"attributes\": {\n\t\t\t\t\"class\": {\"type\": \"string\", \"value\": \"tc-csv-table\"}\n\t\t\t}\n\t\t}]\n\t}];\n\t// Split the text into lines\n\tvar lines = text.split(/\\r?\\n/mg),\n\t\ttag = \"th\";\n\tfor(var line=0; line<lines.length; line++) {\n\t\tvar lineText = lines[line];\n\t\tif(lineText) {\n\t\t\tvar row = {\n\t\t\t\t\t\"type\": \"element\", \"tag\": \"tr\", \"children\": []\n\t\t\t\t};\n\t\t\tvar columns = lineText.split(\",\");\n\t\t\tfor(var column=0; column<columns.length; column++) {\n\t\t\t\trow.children.push({\n\t\t\t\t\t\t\"type\": \"element\", \"tag\": tag, \"children\": [{\n\t\t\t\t\t\t\t\"type\": \"text\",\n\t\t\t\t\t\t\t\"text\": columns[column]\n\t\t\t\t\t\t}]\n\t\t\t\t\t});\n\t\t\t}\n\t\t\ttag = \"td\";\n\t\t\tthis.tree[0].children[0].children[0].children.push(row);\n\t\t}\n\t}\n};\n\nexports[\"text/csv\"] = CsvParser;\n\n})();\n\n",
            "type": "application/javascript",
            "module-type": "parser"
        },
        "$:/core/modules/parsers/htmlparser.js": {
            "title": "$:/core/modules/parsers/htmlparser.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/htmlparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe HTML parser displays text as raw HTML\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar HtmlParser = function(type,text,options) {\n\tvar src;\n\tif(options._canonical_uri) {\n\t\tsrc = options._canonical_uri;\n\t} else if(text) {\n\t\tsrc = \"data:text/html;charset=utf-8,\" + encodeURIComponent(text);\n\t}\n\tthis.tree = [{\n\t\ttype: \"element\",\n\t\ttag: \"iframe\",\n\t\tattributes: {\n\t\t\tsrc: {type: \"string\", value: src},\n\t\t\tsandbox: {type: \"string\", value: \"\"}\n\t\t}\n\t}];\n};\n\nexports[\"text/html\"] = HtmlParser;\n\n})();\n\n",
            "type": "application/javascript",
            "module-type": "parser"
        },
        "$:/core/modules/parsers/imageparser.js": {
            "title": "$:/core/modules/parsers/imageparser.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/imageparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe image parser parses an image into an embeddable HTML element\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar ImageParser = function(type,text,options) {\n\tvar element = {\n\t\t\ttype: \"element\",\n\t\t\ttag: \"img\",\n\t\t\tattributes: {}\n\t\t};\n\tif(options._canonical_uri) {\n\t\telement.attributes.src = {type: \"string\", value: options._canonical_uri};\n\t} else if(text) {\n\t\tif(type === \"image/svg+xml\" || type === \".svg\") {\n\t\t\telement.attributes.src = {type: \"string\", value: \"data:image/svg+xml,\" + encodeURIComponent(text)};\n\t\t} else {\n\t\t\telement.attributes.src = {type: \"string\", value: \"data:\" + type + \";base64,\" + text};\n\t\t}\n\t}\n\tthis.tree = [element];\n};\n\nexports[\"image/svg+xml\"] = ImageParser;\nexports[\"image/jpg\"] = ImageParser;\nexports[\"image/jpeg\"] = ImageParser;\nexports[\"image/png\"] = ImageParser;\nexports[\"image/gif\"] = ImageParser;\nexports[\"image/webp\"] = ImageParser;\nexports[\"image/heic\"] = ImageParser;\nexports[\"image/heif\"] = ImageParser;\nexports[\"image/x-icon\"] = ImageParser;\n\n})();\n\n",
            "type": "application/javascript",
            "module-type": "parser"
        },
        "$:/core/modules/utils/parseutils.js": {
            "title": "$:/core/modules/utils/parseutils.js",
            "text": "/*\\\ntitle: $:/core/modules/utils/parseutils.js\ntype: application/javascript\nmodule-type: utils\n\nUtility functions concerned with parsing text into tokens.\n\nMost functions have the following pattern:\n\n* The parameters are:\n** `source`: the source string being parsed\n** `pos`: the current parse position within the string\n** Any further parameters are used to identify the token that is being parsed\n* The return value is:\n** null if the token was not found at the specified position\n** an object representing the token with the following standard fields:\n*** `type`: string indicating the type of the token\n*** `start`: start position of the token in the source string\n*** `end`: end position of the token in the source string\n*** Any further fields required to describe the token\n\nThe exception is `skipWhiteSpace`, which just returns the position after the whitespace.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nLook for a whitespace token. Returns null if not found, otherwise returns {type: \"whitespace\", start:, end:,}\n*/\nexports.parseWhiteSpace = function(source,pos) {\n\tvar p = pos,c;\n\twhile(true) {\n\t\tc = source.charAt(p);\n\t\tif((c === \" \") || (c === \"\\f\") || (c === \"\\n\") || (c === \"\\r\") || (c === \"\\t\") || (c === \"\\v\") || (c === \"\\u00a0\")) { // Ignores some obscure unicode spaces\n\t\t\tp++;\n\t\t} else {\n\t\t\tbreak;\n\t\t}\n\t}\n\tif(p === pos) {\n\t\treturn null;\n\t} else {\n\t\treturn {\n\t\t\ttype: \"whitespace\",\n\t\t\tstart: pos,\n\t\t\tend: p\n\t\t}\n\t}\n};\n\n/*\nConvenience wrapper for parseWhiteSpace. Returns the position after the whitespace\n*/\nexports.skipWhiteSpace = function(source,pos) {\n\tvar c;\n\twhile(true) {\n\t\tc = source.charAt(pos);\n\t\tif((c === \" \") || (c === \"\\f\") || (c === \"\\n\") || (c === \"\\r\") || (c === \"\\t\") || (c === \"\\v\") || (c === \"\\u00a0\")) { // Ignores some obscure unicode spaces\n\t\t\tpos++;\n\t\t} else {\n\t\t\treturn pos;\n\t\t}\n\t}\n};\n\n/*\nLook for a given string token. Returns null if not found, otherwise returns {type: \"token\", value:, start:, end:,}\n*/\nexports.parseTokenString = function(source,pos,token) {\n\tvar match = source.indexOf(token,pos) === pos;\n\tif(match) {\n\t\treturn {\n\t\t\ttype: \"token\",\n\t\t\tvalue: token,\n\t\t\tstart: pos,\n\t\t\tend: pos + token.length\n\t\t};\n\t}\n\treturn null;\n};\n\n/*\nLook for a token matching a regex. Returns null if not found, otherwise returns {type: \"regexp\", match:, start:, end:,}\n*/\nexports.parseTokenRegExp = function(source,pos,reToken) {\n\tvar node = {\n\t\ttype: \"regexp\",\n\t\tstart: pos\n\t};\n\treToken.lastIndex = pos;\n\tnode.match = reToken.exec(source);\n\tif(node.match && node.match.index === pos) {\n\t\tnode.end = pos + node.match[0].length;\n\t\treturn node;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/*\nLook for a string literal. Returns null if not found, otherwise returns {type: \"string\", value:, start:, end:,}\n*/\nexports.parseStringLiteral = function(source,pos) {\n\tvar node = {\n\t\ttype: \"string\",\n\t\tstart: pos\n\t};\n\tvar reString = /(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\")|(?:'([^']*)')/g;\n\treString.lastIndex = pos;\n\tvar match = reString.exec(source);\n\tif(match && match.index === pos) {\n\t\tnode.value = match[1] !== undefined ? match[1] :(\n\t\t\tmatch[2] !== undefined ? match[2] : match[3] \n\t\t\t\t\t);\n\t\tnode.end = pos + match[0].length;\n\t\treturn node;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/*\nLook for a macro invocation parameter. Returns null if not found, or {type: \"macro-parameter\", name:, value:, start:, end:}\n*/\nexports.parseMacroParameter = function(source,pos) {\n\tvar node = {\n\t\ttype: \"macro-parameter\",\n\t\tstart: pos\n\t};\n\t// Define our regexp\n\tvar reMacroParameter = /(?:([A-Za-z0-9\\-_]+)\\s*:)?(?:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\\s>\"'=]+)))/g;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for the parameter\n\tvar token = $tw.utils.parseTokenRegExp(source,pos,reMacroParameter);\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Get the parameter details\n\tnode.value = token.match[2] !== undefined ? token.match[2] : (\n\t\t\t\t\ttoken.match[3] !== undefined ? token.match[3] : (\n\t\t\t\t\t\ttoken.match[4] !== undefined ? token.match[4] : (\n\t\t\t\t\t\t\ttoken.match[5] !== undefined ? token.match[5] : (\n\t\t\t\t\t\t\t\ttoken.match[6] !== undefined ? token.match[6] : (\n\t\t\t\t\t\t\t\t\t\"\"\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t);\n\tif(token.match[1]) {\n\t\tnode.name = token.match[1];\n\t}\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\n/*\nLook for a macro invocation. Returns null if not found, or {type: \"macrocall\", name:, parameters:, start:, end:}\n*/\nexports.parseMacroInvocation = function(source,pos) {\n\tvar node = {\n\t\ttype: \"macrocall\",\n\t\tstart: pos,\n\t\tparams: []\n\t};\n\t// Define our regexps\n\tvar reMacroName = /([^\\s>\"'=]+)/g;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for a double less than sign\n\tvar token = $tw.utils.parseTokenString(source,pos,\"<<\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Get the macro name\n\tvar name = $tw.utils.parseTokenRegExp(source,pos,reMacroName);\n\tif(!name) {\n\t\treturn null;\n\t}\n\tnode.name = name.match[1];\n\tpos = name.end;\n\t// Process parameters\n\tvar parameter = $tw.utils.parseMacroParameter(source,pos);\n\twhile(parameter) {\n\t\tnode.params.push(parameter);\n\t\tpos = parameter.end;\n\t\t// Get the next parameter\n\t\tparameter = $tw.utils.parseMacroParameter(source,pos);\n\t}\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for a double greater than sign\n\ttoken = $tw.utils.parseTokenString(source,pos,\">>\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\n/*\nLook for an HTML attribute definition. Returns null if not found, otherwise returns {type: \"attribute\", name:, valueType: \"string|indirect|macro\", value:, start:, end:,}\n*/\nexports.parseAttribute = function(source,pos) {\n\tvar node = {\n\t\tstart: pos\n\t};\n\t// Define our regexps\n\tvar reAttributeName = /([^\\/\\s>\"'=]+)/g,\n\t\treUnquotedAttribute = /([^\\/\\s<>\"'=]+)/g,\n\t\treFilteredValue = /\\{\\{\\{(.+?)\\}\\}\\}/g,\n\t\treIndirectValue = /\\{\\{([^\\}]+)\\}\\}/g;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Get the attribute name\n\tvar name = $tw.utils.parseTokenRegExp(source,pos,reAttributeName);\n\tif(!name) {\n\t\treturn null;\n\t}\n\tnode.name = name.match[1];\n\tpos = name.end;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for an equals sign\n\tvar token = $tw.utils.parseTokenString(source,pos,\"=\");\n\tif(token) {\n\t\tpos = token.end;\n\t\t// Skip whitespace\n\t\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t\t// Look for a string literal\n\t\tvar stringLiteral = $tw.utils.parseStringLiteral(source,pos);\n\t\tif(stringLiteral) {\n\t\t\tpos = stringLiteral.end;\n\t\t\tnode.type = \"string\";\n\t\t\tnode.value = stringLiteral.value;\n\t\t} else {\n\t\t\t// Look for a filtered value\n\t\t\tvar filteredValue = $tw.utils.parseTokenRegExp(source,pos,reFilteredValue);\n\t\t\tif(filteredValue) {\n\t\t\t\tpos = filteredValue.end;\n\t\t\t\tnode.type = \"filtered\";\n\t\t\t\tnode.filter = filteredValue.match[1];\n\t\t\t} else {\n\t\t\t\t// Look for an indirect value\n\t\t\t\tvar indirectValue = $tw.utils.parseTokenRegExp(source,pos,reIndirectValue);\n\t\t\t\tif(indirectValue) {\n\t\t\t\t\tpos = indirectValue.end;\n\t\t\t\t\tnode.type = \"indirect\";\n\t\t\t\t\tnode.textReference = indirectValue.match[1];\n\t\t\t\t} else {\n\t\t\t\t\t// Look for a unquoted value\n\t\t\t\t\tvar unquotedValue = $tw.utils.parseTokenRegExp(source,pos,reUnquotedAttribute);\n\t\t\t\t\tif(unquotedValue) {\n\t\t\t\t\t\tpos = unquotedValue.end;\n\t\t\t\t\t\tnode.type = \"string\";\n\t\t\t\t\t\tnode.value = unquotedValue.match[1];\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Look for a macro invocation value\n\t\t\t\t\t\tvar macroInvocation = $tw.utils.parseMacroInvocation(source,pos);\n\t\t\t\t\t\tif(macroInvocation) {\n\t\t\t\t\t\t\tpos = macroInvocation.end;\n\t\t\t\t\t\t\tnode.type = \"macro\";\n\t\t\t\t\t\t\tnode.value = macroInvocation;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tnode.type = \"string\";\n\t\t\t\t\t\t\tnode.value = \"true\";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t} else {\n\t\tnode.type = \"string\";\n\t\tnode.value = \"true\";\n\t}\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/parsers/pdfparser.js": {
            "title": "$:/core/modules/parsers/pdfparser.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/pdfparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe PDF parser embeds a PDF viewer\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar ImageParser = function(type,text,options) {\n\tvar element = {\n\t\t\ttype: \"element\",\n\t\t\ttag: \"embed\",\n\t\t\tattributes: {}\n\t\t},\n\t\tsrc;\n\tif(options._canonical_uri) {\n\t\telement.attributes.src = {type: \"string\", value: options._canonical_uri};\n\t} else if(text) {\n\t\telement.attributes.src = {type: \"string\", value: \"data:application/pdf;base64,\" + text};\n\t}\n\tthis.tree = [element];\n};\n\nexports[\"application/pdf\"] = ImageParser;\n\n})();\n\n",
            "type": "application/javascript",
            "module-type": "parser"
        },
        "$:/core/modules/parsers/textparser.js": {
            "title": "$:/core/modules/parsers/textparser.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/textparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe plain text parser processes blocks of source text into a degenerate parse tree consisting of a single text node\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar TextParser = function(type,text,options) {\n\tthis.tree = [{\n\t\ttype: \"codeblock\",\n\t\tattributes: {\n\t\t\tcode: {type: \"string\", value: text},\n\t\t\tlanguage: {type: \"string\", value: type}\n\t\t}\n\t}];\n};\n\nexports[\"text/plain\"] = TextParser;\nexports[\"text/x-tiddlywiki\"] = TextParser;\nexports[\"application/javascript\"] = TextParser;\nexports[\"application/json\"] = TextParser;\nexports[\"text/css\"] = TextParser;\nexports[\"application/x-tiddler-dictionary\"] = TextParser;\n\n})();\n\n",
            "type": "application/javascript",
            "module-type": "parser"
        },
        "$:/core/modules/parsers/videoparser.js": {
            "title": "$:/core/modules/parsers/videoparser.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/videoparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe video parser parses a video tiddler into an embeddable HTML element\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar VideoParser = function(type,text,options) {\n\tvar element = {\n\t\t\ttype: \"element\",\n\t\t\ttag: \"video\",\n\t\t\tattributes: {\n\t\t\t\tcontrols: {type: \"string\", value: \"controls\"}\n\t\t\t}\n\t\t},\n\t\tsrc;\n\tif(options._canonical_uri) {\n\t\telement.attributes.src = {type: \"string\", value: options._canonical_uri};\n\t} else if(text) {\n\t\telement.attributes.src = {type: \"string\", value: \"data:\" + type + \";base64,\" + text};\n\t}\n\tthis.tree = [element];\n};\n\nexports[\"video/mp4\"] = VideoParser;\nexports[\"video/quicktime\"] = VideoParser;\n\n})();\n\n",
            "type": "application/javascript",
            "module-type": "parser"
        },
        "$:/core/modules/parsers/wikiparser/rules/codeblock.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/codeblock.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/codeblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for code blocks. For example:\n\n```\n\t```\n\tThis text will not be //wikified//\n\t```\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"codeblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match and get language if defined\n\tthis.matchRegExp = /```([\\w-]*)\\r?\\n/mg;\n};\n\nexports.parse = function() {\n\tvar reEnd = /(\\r?\\n```$)/mg;\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Look for the end of the block\n\treEnd.lastIndex = this.parser.pos;\n\tvar match = reEnd.exec(this.parser.source),\n\t\ttext;\n\t// Process the block\n\tif(match) {\n\t\ttext = this.parser.source.substring(this.parser.pos,match.index);\n\t\tthis.parser.pos = match.index + match[0].length;\n\t} else {\n\t\ttext = this.parser.source.substr(this.parser.pos);\n\t\tthis.parser.pos = this.parser.sourceLength;\n\t}\n\t// Return the $codeblock widget\n\treturn [{\n\t\t\ttype: \"codeblock\",\n\t\t\tattributes: {\n\t\t\t\t\tcode: {type: \"string\", value: text},\n\t\t\t\t\tlanguage: {type: \"string\", value: this.match[1]}\n\t\t\t}\n\t}];\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/codeinline.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/codeinline.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/codeinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for code runs. For example:\n\n```\n\tThis is a `code run`.\n\tThis is another ``code run``\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"codeinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /(``?)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar reEnd = new RegExp(this.match[1], \"mg\");\n\t// Look for the end marker\n\treEnd.lastIndex = this.parser.pos;\n\tvar match = reEnd.exec(this.parser.source),\n\t\ttext;\n\t// Process the text\n\tif(match) {\n\t\ttext = this.parser.source.substring(this.parser.pos,match.index);\n\t\tthis.parser.pos = match.index + match[0].length;\n\t} else {\n\t\ttext = this.parser.source.substr(this.parser.pos);\n\t\tthis.parser.pos = this.parser.sourceLength;\n\t}\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"code\",\n\t\tchildren: [{\n\t\t\ttype: \"text\",\n\t\t\ttext: text\n\t\t}]\n\t}];\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/commentblock.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/commentblock.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/commentblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for HTML comments. For example:\n\n```\n<!-- This is a comment -->\n```\n\nNote that the syntax for comments is simplified to an opening \"<!--\" sequence and a closing \"-->\" sequence -- HTML itself implements a more complex format (see http://ostermiller.org/findhtmlcomment.html)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"commentblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\tthis.matchRegExp = /<!--/mg;\n\tthis.endMatchRegExp = /-->/mg;\n};\n\nexports.findNextMatch = function(startPos) {\n\tthis.matchRegExp.lastIndex = startPos;\n\tthis.match = this.matchRegExp.exec(this.parser.source);\n\tif(this.match) {\n\t\tthis.endMatchRegExp.lastIndex = startPos + this.match[0].length;\n\t\tthis.endMatch = this.endMatchRegExp.exec(this.parser.source);\n\t\tif(this.endMatch) {\n\t\t\treturn this.match.index;\n\t\t}\n\t}\n\treturn undefined;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.endMatchRegExp.lastIndex;\n\t// Don't return any elements\n\treturn [];\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/commentinline.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/commentinline.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/commentinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for HTML comments. For example:\n\n```\n<!-- This is a comment -->\n```\n\nNote that the syntax for comments is simplified to an opening \"<!--\" sequence and a closing \"-->\" sequence -- HTML itself implements a more complex format (see http://ostermiller.org/findhtmlcomment.html)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"commentinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\tthis.matchRegExp = /<!--/mg;\n\tthis.endMatchRegExp = /-->/mg;\n};\n\nexports.findNextMatch = function(startPos) {\n\tthis.matchRegExp.lastIndex = startPos;\n\tthis.match = this.matchRegExp.exec(this.parser.source);\n\tif(this.match) {\n\t\tthis.endMatchRegExp.lastIndex = startPos + this.match[0].length;\n\t\tthis.endMatch = this.endMatchRegExp.exec(this.parser.source);\n\t\tif(this.endMatch) {\n\t\t\treturn this.match.index;\n\t\t}\n\t}\n\treturn undefined;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.endMatchRegExp.lastIndex;\n\t// Don't return any elements\n\treturn [];\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/dash.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/dash.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/dash.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for dashes. For example:\n\n```\nThis is an en-dash: --\n\nThis is an em-dash: ---\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"dash\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /-{2,3}(?!-)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar dash = this.match[0].length === 2 ? \"&ndash;\" : \"&mdash;\";\n\treturn [{\n\t\ttype: \"entity\",\n\t\tentity: dash\n\t}];\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/emphasis/bold.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/emphasis/bold.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/bold.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - bold. For example:\n\n```\n\tThis is ''bold'' text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except bold \n\\rules only bold \n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"bold\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /''/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/''/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"strong\",\n\t\tchildren: tree\n\t}];\n};\n\n})();",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/emphasis/italic.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/emphasis/italic.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/italic.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - italic. For example:\n\n```\n\tThis is //italic// text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except italic\n\\rules only italic\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"italic\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\/\\//mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/\\/\\//mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"em\",\n\t\tchildren: tree\n\t}];\n};\n\n})();",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/emphasis/strikethrough.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/emphasis/strikethrough.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/strikethrough.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - strikethrough. For example:\n\n```\n\tThis is ~~strikethrough~~ text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except strikethrough \n\\rules only strikethrough \n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"strikethrough\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /~~/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/~~/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"strike\",\n\t\tchildren: tree\n\t}];\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/emphasis/subscript.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/emphasis/subscript.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/subscript.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - subscript. For example:\n\n```\n\tThis is ,,subscript,, text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except subscript \n\\rules only subscript \n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"subscript\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /,,/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/,,/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"sub\",\n\t\tchildren: tree\n\t}];\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/emphasis/superscript.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/emphasis/superscript.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/superscript.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - superscript. For example:\n\n```\n\tThis is ^^superscript^^ text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except superscript \n\\rules only superscript \n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"superscript\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\^\\^/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/\\^\\^/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"sup\",\n\t\tchildren: tree\n\t}];\n};\n\n})();",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/emphasis/underscore.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/emphasis/underscore.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/underscore.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - underscore. For example:\n\n```\n\tThis is __underscore__ text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except underscore \n\\rules only underscore\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"underscore\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /__/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/__/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"u\",\n\t\tchildren: tree\n\t}];\n};\n\n})();",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/entity.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/entity.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/entity.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for HTML entities. For example:\n\n```\n\tThis is a copyright symbol: &copy;\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"entity\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /(&#?[a-zA-Z0-9]{2,8};)/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get all the details of the match\n\tvar entityString = this.match[1];\n\t// Move past the macro call\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Return the entity\n\treturn [{type: \"entity\", entity: this.match[0]}];\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/extlink.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/extlink.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/extlink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for external links. For example:\n\n```\nAn external link: https://www.tiddlywiki.com/\n\nA suppressed external link: ~http://www.tiddlyspace.com/\n```\n\nExternal links can be suppressed by preceding them with `~`.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"extlink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /~?(?:file|http|https|mailto|ftp|irc|news|data|skype):[^\\s<>{}\\[\\]`|\"\\\\^]+(?:\\/|\\b)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Create the link unless it is suppressed\n\tif(this.match[0].substr(0,1) === \"~\") {\n\t\treturn [{type: \"text\", text: this.match[0].substr(1)}];\n\t} else {\n\t\treturn [{\n\t\t\ttype: \"element\",\n\t\t\ttag: \"a\",\n\t\t\tattributes: {\n\t\t\t\thref: {type: \"string\", value: this.match[0]},\n\t\t\t\t\"class\": {type: \"string\", value: \"tc-tiddlylink-external\"},\n\t\t\t\ttarget: {type: \"string\", value: \"_blank\"},\n\t\t\t\trel: {type: \"string\", value: \"noopener noreferrer\"}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\", text: this.match[0]\n\t\t\t}]\n\t\t}];\n\t}\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/filteredtranscludeblock.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/filteredtranscludeblock.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/filteredtranscludeblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for block-level filtered transclusion. For example:\n\n```\n{{{ [tag[docs]] }}}\n{{{ [tag[docs]] |tooltip}}}\n{{{ [tag[docs]] ||TemplateTitle}}}\n{{{ [tag[docs]] |tooltip||TemplateTitle}}}\n{{{ [tag[docs]] }}width:40;height:50;}.class.class\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"filteredtranscludeblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\{\\{\\{([^\\|]+?)(?:\\|([^\\|\\{\\}]+))?(?:\\|\\|([^\\|\\{\\}]+))?\\}\\}([^\\}]*)\\}(?:\\.(\\S+))?(?:\\r?\\n|$)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Get the match details\n\tvar filter = this.match[1],\n\t\ttooltip = this.match[2],\n\t\ttemplate = $tw.utils.trim(this.match[3]),\n\t\tstyle = this.match[4],\n\t\tclasses = this.match[5];\n\t// Return the list widget\n\tvar node = {\n\t\ttype: \"list\",\n\t\tattributes: {\n\t\t\tfilter: {type: \"string\", value: filter}\n\t\t},\n\t\tisBlock: true\n\t};\n\tif(tooltip) {\n\t\tnode.attributes.tooltip = {type: \"string\", value: tooltip};\n\t}\n\tif(template) {\n\t\tnode.attributes.template = {type: \"string\", value: template};\n\t}\n\tif(style) {\n\t\tnode.attributes.style = {type: \"string\", value: style};\n\t}\n\tif(classes) {\n\t\tnode.attributes.itemClass = {type: \"string\", value: classes.split(\".\").join(\" \")};\n\t}\n\treturn [node];\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/filteredtranscludeinline.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/filteredtranscludeinline.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/filteredtranscludeinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for inline filtered transclusion. For example:\n\n```\n{{{ [tag[docs]] }}}\n{{{ [tag[docs]] |tooltip}}}\n{{{ [tag[docs]] ||TemplateTitle}}}\n{{{ [tag[docs]] |tooltip||TemplateTitle}}}\n{{{ [tag[docs]] }}width:40;height:50;}.class.class\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"filteredtranscludeinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\{\\{\\{([^\\|]+?)(?:\\|([^\\|\\{\\}]+))?(?:\\|\\|([^\\|\\{\\}]+))?\\}\\}([^\\}]*)\\}(?:\\.(\\S+))?/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Get the match details\n\tvar filter = this.match[1],\n\t\ttooltip = this.match[2],\n\t\ttemplate = $tw.utils.trim(this.match[3]),\n\t\tstyle = this.match[4],\n\t\tclasses = this.match[5];\n\t// Return the list widget\n\tvar node = {\n\t\ttype: \"list\",\n\t\tattributes: {\n\t\t\tfilter: {type: \"string\", value: filter}\n\t\t}\n\t};\n\tif(tooltip) {\n\t\tnode.attributes.tooltip = {type: \"string\", value: tooltip};\n\t}\n\tif(template) {\n\t\tnode.attributes.template = {type: \"string\", value: template};\n\t}\n\tif(style) {\n\t\tnode.attributes.style = {type: \"string\", value: style};\n\t}\n\tif(classes) {\n\t\tnode.attributes.itemClass = {type: \"string\", value: classes.split(\".\").join(\" \")};\n\t}\n\treturn [node];\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/hardlinebreaks.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/hardlinebreaks.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/hardlinebreaks.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for marking areas with hard line breaks. For example:\n\n```\n\"\"\"\nThis is some text\nThat is set like\nIt is a Poem\nWhen it is\nClearly\nNot\n\"\"\"\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"hardlinebreaks\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\"\"\"(?:\\r?\\n)?/mg;\n};\n\nexports.parse = function() {\n\tvar reEnd = /(\"\"\")|(\\r?\\n)/mg,\n\t\ttree = [],\n\t\tmatch;\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tdo {\n\t\t// Parse the run up to the terminator\n\t\ttree.push.apply(tree,this.parser.parseInlineRun(reEnd,{eatTerminator: false}));\n\t\t// Redo the terminator match\n\t\treEnd.lastIndex = this.parser.pos;\n\t\tmatch = reEnd.exec(this.parser.source);\n\t\tif(match) {\n\t\t\tthis.parser.pos = reEnd.lastIndex;\n\t\t\t// Add a line break if the terminator was a line break\n\t\t\tif(match[2]) {\n\t\t\t\ttree.push({type: \"element\", tag: \"br\"});\n\t\t\t}\n\t\t}\n\t} while(match && !match[1]);\n\t// Return the nodes\n\treturn tree;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/heading.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/heading.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/heading.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for headings\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"heading\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /(!{1,6})/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get all the details of the match\n\tvar headingLevel = this.match[1].length;\n\t// Move past the !s\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse any classes, whitespace and then the heading itself\n\tvar classes = this.parser.parseClasses();\n\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\n\tvar tree = this.parser.parseInlineRun(/(\\r?\\n)/mg);\n\t// Return the heading\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"h\" + headingLevel, \n\t\tattributes: {\n\t\t\t\"class\": {type: \"string\", value: classes.join(\" \")}\n\t\t},\n\t\tchildren: tree\n\t}];\n};\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/horizrule.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/horizrule.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/horizrule.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for rules. For example:\n\n```\n---\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"horizrule\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /-{3,}\\r?(?:\\n|$)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\treturn [{type: \"element\", tag: \"hr\"}];\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/html.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/html.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/html.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki rule for HTML elements and widgets. For example:\n\n{{{\n<aside>\nThis is an HTML5 aside element\n</aside>\n\n<$slider target=\"MyTiddler\">\nThis is a widget invocation\n</$slider>\n\n}}}\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"html\";\nexports.types = {inline: true, block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n};\n\nexports.findNextMatch = function(startPos) {\n\t// Find the next tag\n\tthis.nextTag = this.findNextTag(this.parser.source,startPos,{\n\t\trequireLineBreak: this.is.block\n\t});\n\treturn this.nextTag ? this.nextTag.start : undefined;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Retrieve the most recent match so that recursive calls don't overwrite it\n\tvar tag = this.nextTag;\n\tthis.nextTag = null;\n\t// Advance the parser position to past the tag\n\tthis.parser.pos = tag.end;\n\t// Check for an immediately following double linebreak\n\tvar hasLineBreak = !tag.isSelfClosing && !!$tw.utils.parseTokenRegExp(this.parser.source,this.parser.pos,/([^\\S\\n\\r]*\\r?\\n(?:[^\\S\\n\\r]*\\r?\\n|$))/g);\n\t// Set whether we're in block mode\n\ttag.isBlock = this.is.block || hasLineBreak;\n\t// Parse the body if we need to\n\tif(!tag.isSelfClosing && $tw.config.htmlVoidElements.indexOf(tag.tag) === -1) {\n\t\t\tvar reEndString = \"</\" + $tw.utils.escapeRegExp(tag.tag) + \">\",\n\t\t\t\treEnd = new RegExp(\"(\" + reEndString + \")\",\"mg\");\n\t\tif(hasLineBreak) {\n\t\t\ttag.children = this.parser.parseBlocks(reEndString);\n\t\t} else {\n\t\t\ttag.children = this.parser.parseInlineRun(reEnd);\n\t\t}\n\t\treEnd.lastIndex = this.parser.pos;\n\t\tvar endMatch = reEnd.exec(this.parser.source);\n\t\tif(endMatch && endMatch.index === this.parser.pos) {\n\t\t\tthis.parser.pos = endMatch.index + endMatch[0].length;\n\t\t}\n\t}\n\t// Return the tag\n\treturn [tag];\n};\n\n/*\nLook for an HTML tag. Returns null if not found, otherwise returns {type: \"element\", name:, attributes: [], isSelfClosing:, start:, end:,}\n*/\nexports.parseTag = function(source,pos,options) {\n\toptions = options || {};\n\tvar token,\n\t\tnode = {\n\t\t\ttype: \"element\",\n\t\t\tstart: pos,\n\t\t\tattributes: {}\n\t\t};\n\t// Define our regexps\n\tvar reTagName = /([a-zA-Z0-9\\-\\$]+)/g;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for a less than sign\n\ttoken = $tw.utils.parseTokenString(source,pos,\"<\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Get the tag name\n\ttoken = $tw.utils.parseTokenRegExp(source,pos,reTagName);\n\tif(!token) {\n\t\treturn null;\n\t}\n\tnode.tag = token.match[1];\n\tif(node.tag.slice(1).indexOf(\"$\") !== -1) {\n\t\treturn null;\n\t}\n\tif(node.tag.charAt(0) === \"$\") {\n\t\tnode.type = node.tag.substr(1);\n\t}\n\tpos = token.end;\n\t// Check that the tag is terminated by a space, / or >\n\tif(!$tw.utils.parseWhiteSpace(source,pos) && !(source.charAt(pos) === \"/\") && !(source.charAt(pos) === \">\") ) {\n\t\treturn null;\n\t}\n\t// Process attributes\n\tvar attribute = $tw.utils.parseAttribute(source,pos);\n\twhile(attribute) {\n\t\tnode.attributes[attribute.name] = attribute;\n\t\tpos = attribute.end;\n\t\t// Get the next attribute\n\t\tattribute = $tw.utils.parseAttribute(source,pos);\n\t}\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for a closing slash\n\ttoken = $tw.utils.parseTokenString(source,pos,\"/\");\n\tif(token) {\n\t\tpos = token.end;\n\t\tnode.isSelfClosing = true;\n\t}\n\t// Look for a greater than sign\n\ttoken = $tw.utils.parseTokenString(source,pos,\">\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Check for a required line break\n\tif(options.requireLineBreak) {\n\t\ttoken = $tw.utils.parseTokenRegExp(source,pos,/([^\\S\\n\\r]*\\r?\\n(?:[^\\S\\n\\r]*\\r?\\n|$))/g);\n\t\tif(!token) {\n\t\t\treturn null;\n\t\t}\n\t}\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\nexports.findNextTag = function(source,pos,options) {\n\t// A regexp for finding candidate HTML tags\n\tvar reLookahead = /<([a-zA-Z\\-\\$]+)/g;\n\t// Find the next candidate\n\treLookahead.lastIndex = pos;\n\tvar match = reLookahead.exec(source);\n\twhile(match) {\n\t\t// Try to parse the candidate as a tag\n\t\tvar tag = this.parseTag(source,match.index,options);\n\t\t// Return success\n\t\tif(tag && this.isLegalTag(tag)) {\n\t\t\treturn tag;\n\t\t}\n\t\t// Look for the next match\n\t\treLookahead.lastIndex = match.index + 1;\n\t\tmatch = reLookahead.exec(source);\n\t}\n\t// Failed\n\treturn null;\n};\n\nexports.isLegalTag = function(tag) {\n\t// Widgets are always OK\n\tif(tag.type !== \"element\") {\n\t\treturn true;\n\t// If it's an HTML tag that starts with a dash then it's not legal\n\t} else if(tag.tag.charAt(0) === \"-\") {\n\t\treturn false;\n\t} else {\n\t\t// Otherwise it's OK\n\t\treturn true;\n\t}\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/image.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/image.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/image.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for embedding images. For example:\n\n```\n[img[https://tiddlywiki.com/fractalveg.jpg]]\n[img width=23 height=24 [https://tiddlywiki.com/fractalveg.jpg]]\n[img width={{!!width}} height={{!!height}} [https://tiddlywiki.com/fractalveg.jpg]]\n[img[Description of image|https://tiddlywiki.com/fractalveg.jpg]]\n[img[TiddlerTitle]]\n[img[Description of image|TiddlerTitle]]\n```\n\nGenerates the `<$image>` widget.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"image\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n};\n\nexports.findNextMatch = function(startPos) {\n\t// Find the next tag\n\tthis.nextImage = this.findNextImage(this.parser.source,startPos);\n\treturn this.nextImage ? this.nextImage.start : undefined;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.nextImage.end;\n\tvar node = {\n\t\ttype: \"image\",\n\t\tattributes: this.nextImage.attributes\n\t};\n\treturn [node];\n};\n\n/*\nFind the next image from the current position\n*/\nexports.findNextImage = function(source,pos) {\n\t// A regexp for finding candidate HTML tags\n\tvar reLookahead = /(\\[img)/g;\n\t// Find the next candidate\n\treLookahead.lastIndex = pos;\n\tvar match = reLookahead.exec(source);\n\twhile(match) {\n\t\t// Try to parse the candidate as a tag\n\t\tvar tag = this.parseImage(source,match.index);\n\t\t// Return success\n\t\tif(tag) {\n\t\t\treturn tag;\n\t\t}\n\t\t// Look for the next match\n\t\treLookahead.lastIndex = match.index + 1;\n\t\tmatch = reLookahead.exec(source);\n\t}\n\t// Failed\n\treturn null;\n};\n\n/*\nLook for an image at the specified position. Returns null if not found, otherwise returns {type: \"image\", attributes: [], isSelfClosing:, start:, end:,}\n*/\nexports.parseImage = function(source,pos) {\n\tvar token,\n\t\tnode = {\n\t\t\ttype: \"image\",\n\t\t\tstart: pos,\n\t\t\tattributes: {}\n\t\t};\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for the `[img`\n\ttoken = $tw.utils.parseTokenString(source,pos,\"[img\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Process attributes\n\tif(source.charAt(pos) !== \"[\") {\n\t\tvar attribute = $tw.utils.parseAttribute(source,pos);\n\t\twhile(attribute) {\n\t\t\tnode.attributes[attribute.name] = attribute;\n\t\t\tpos = attribute.end;\n\t\t\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t\t\tif(source.charAt(pos) !== \"[\") {\n\t\t\t\t// Get the next attribute\n\t\t\t\tattribute = $tw.utils.parseAttribute(source,pos);\n\t\t\t} else {\n\t\t\t\tattribute = null;\n\t\t\t}\n\t\t}\n\t}\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for the `[` after the attributes\n\ttoken = $tw.utils.parseTokenString(source,pos,\"[\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Get the source up to the terminating `]]`\n\ttoken = $tw.utils.parseTokenRegExp(source,pos,/(?:([^|\\]]*?)\\|)?([^\\]]+?)\\]\\]/g);\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\tif(token.match[1]) {\n\t\tnode.attributes.tooltip = {type: \"string\", value: token.match[1].trim()};\n\t}\n\tnode.attributes.source = {type: \"string\", value: (token.match[2] || \"\").trim()};\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/import.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/import.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/import.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki pragma rule for importing variable definitions\n\n```\n\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"import\";\nexports.types = {pragma: true};\n\n/*\nInstantiate parse rule\n*/\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /^\\\\import[^\\S\\n]/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\tvar self = this;\n\t// Move past the pragma invocation\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse the filter terminated by a line break\n\tvar reMatch = /(.*)(\\r?\\n)|$/mg;\n\treMatch.lastIndex = this.parser.pos;\n\tvar match = reMatch.exec(this.parser.source);\n\tthis.parser.pos = reMatch.lastIndex;\n\t// Parse tree nodes to return\n\treturn [{\n\t\ttype: \"importvariables\",\n\t\tattributes: {\n\t\t\tfilter: {type: \"string\", value: match[1]}\n\t\t},\n\t\tchildren: []\n\t}];\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/list.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/list.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/list.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for lists. For example:\n\n```\n* This is an unordered list\n* It has two items\n\n# This is a numbered list\n## With a subitem\n# And a third item\n\n; This is a term that is being defined\n: This is the definition of that term\n```\n\nNote that lists can be nested arbitrarily:\n\n```\n#** One\n#* Two\n#** Three\n#**** Four\n#**# Five\n#**## Six\n## Seven\n### Eight\n## Nine\n```\n\nA CSS class can be applied to a list item as follows:\n\n```\n* List item one\n*.active List item two has the class `active`\n* List item three\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"list\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /([\\*#;:>]+)/mg;\n};\n\nvar listTypes = {\n\t\"*\": {listTag: \"ul\", itemTag: \"li\"},\n\t\"#\": {listTag: \"ol\", itemTag: \"li\"},\n\t\";\": {listTag: \"dl\", itemTag: \"dt\"},\n\t\":\": {listTag: \"dl\", itemTag: \"dd\"},\n\t\">\": {listTag: \"blockquote\", itemTag: \"p\"}\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Array of parse tree nodes for the previous row of the list\n\tvar listStack = [];\n\t// Cycle through the items in the list\n\twhile(true) {\n\t\t// Match the list marker\n\t\tvar reMatch = /([\\*#;:>]+)/mg;\n\t\treMatch.lastIndex = this.parser.pos;\n\t\tvar match = reMatch.exec(this.parser.source);\n\t\tif(!match || match.index !== this.parser.pos) {\n\t\t\tbreak;\n\t\t}\n\t\t// Check whether the list type of the top level matches\n\t\tvar listInfo = listTypes[match[0].charAt(0)];\n\t\tif(listStack.length > 0 && listStack[0].tag !== listInfo.listTag) {\n\t\t\tbreak;\n\t\t}\n\t\t// Move past the list marker\n\t\tthis.parser.pos = match.index + match[0].length;\n\t\t// Walk through the list markers for the current row\n\t\tfor(var t=0; t<match[0].length; t++) {\n\t\t\tlistInfo = listTypes[match[0].charAt(t)];\n\t\t\t// Remove any stacked up element if we can't re-use it because the list type doesn't match\n\t\t\tif(listStack.length > t && listStack[t].tag !== listInfo.listTag) {\n\t\t\t\tlistStack.splice(t,listStack.length - t);\n\t\t\t}\n\t\t\t// Construct the list element or reuse the previous one at this level\n\t\t\tif(listStack.length <= t) {\n\t\t\t\tvar listElement = {type: \"element\", tag: listInfo.listTag, children: [\n\t\t\t\t\t{type: \"element\", tag: listInfo.itemTag, children: []}\n\t\t\t\t]};\n\t\t\t\t// Link this list element into the last child item of the parent list item\n\t\t\t\tif(t) {\n\t\t\t\t\tvar prevListItem = listStack[t-1].children[listStack[t-1].children.length-1];\n\t\t\t\t\tprevListItem.children.push(listElement);\n\t\t\t\t}\n\t\t\t\t// Save this element in the stack\n\t\t\t\tlistStack[t] = listElement;\n\t\t\t} else if(t === (match[0].length - 1)) {\n\t\t\t\tlistStack[t].children.push({type: \"element\", tag: listInfo.itemTag, children: []});\n\t\t\t}\n\t\t}\n\t\tif(listStack.length > match[0].length) {\n\t\t\tlistStack.splice(match[0].length,listStack.length - match[0].length);\n\t\t}\n\t\t// Process the body of the list item into the last list item\n\t\tvar lastListChildren = listStack[listStack.length-1].children,\n\t\t\tlastListItem = lastListChildren[lastListChildren.length-1],\n\t\t\tclasses = this.parser.parseClasses();\n\t\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\n\t\tvar tree = this.parser.parseInlineRun(/(\\r?\\n)/mg);\n\t\tlastListItem.children.push.apply(lastListItem.children,tree);\n\t\tif(classes.length > 0) {\n\t\t\t$tw.utils.addClassToParseTreeNode(lastListItem,classes.join(\" \"));\n\t\t}\n\t\t// Consume any whitespace following the list item\n\t\tthis.parser.skipWhitespace();\n\t}\n\t// Return the root element of the list\n\treturn [listStack[0]];\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/macrocallblock.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/macrocallblock.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/macrocallblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki rule for block macro calls\n\n```\n<<name value value2>>\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"macrocallblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /<<([^>\\s]+)(?:\\s*)((?:[^>]|(?:>(?!>)))*?)>>(?:\\r?\\n|$)/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get all the details of the match\n\tvar macroName = this.match[1],\n\t\tparamString = this.match[2];\n\t// Move past the macro call\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar params = [],\n\t\treParam = /\\s*(?:([A-Za-z0-9\\-_]+)\\s*:)?(?:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\"'\\s]+)))/mg,\n\t\tparamMatch = reParam.exec(paramString);\n\twhile(paramMatch) {\n\t\t// Process this parameter\n\t\tvar paramInfo = {\n\t\t\tvalue: paramMatch[2] || paramMatch[3] || paramMatch[4] || paramMatch[5] || paramMatch[6]\n\t\t};\n\t\tif(paramMatch[1]) {\n\t\t\tparamInfo.name = paramMatch[1];\n\t\t}\n\t\tparams.push(paramInfo);\n\t\t// Find the next match\n\t\tparamMatch = reParam.exec(paramString);\n\t}\n\treturn [{\n\t\ttype: \"macrocall\",\n\t\tname: macroName,\n\t\tparams: params,\n\t\tisBlock: true\n\t}];\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/macrocallinline.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/macrocallinline.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/macrocallinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki rule for macro calls\n\n```\n<<name value value2>>\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"macrocallinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /<<([^\\s>]+)\\s*([\\s\\S]*?)>>/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get all the details of the match\n\tvar macroName = this.match[1],\n\t\tparamString = this.match[2];\n\t// Move past the macro call\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar params = [],\n\t\treParam = /\\s*(?:([A-Za-z0-9\\-_]+)\\s*:)?(?:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\"'\\s]+)))/mg,\n\t\tparamMatch = reParam.exec(paramString);\n\twhile(paramMatch) {\n\t\t// Process this parameter\n\t\tvar paramInfo = {\n\t\t\tvalue: paramMatch[2] || paramMatch[3] || paramMatch[4] || paramMatch[5]|| paramMatch[6]\n\t\t};\n\t\tif(paramMatch[1]) {\n\t\t\tparamInfo.name = paramMatch[1];\n\t\t}\n\t\tparams.push(paramInfo);\n\t\t// Find the next match\n\t\tparamMatch = reParam.exec(paramString);\n\t}\n\treturn [{\n\t\ttype: \"macrocall\",\n\t\tname: macroName,\n\t\tparams: params\n\t}];\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/macrodef.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/macrodef.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/macrodef.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki pragma rule for macro definitions\n\n```\n\\define name(param:defaultvalue,param2:defaultvalue)\ndefinition text, including $param$ markers\n\\end\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"macrodef\";\nexports.types = {pragma: true};\n\n/*\nInstantiate parse rule\n*/\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /^\\\\define\\s+([^(\\s]+)\\(\\s*([^)]*)\\)(\\s*\\r?\\n)?/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Move past the macro name and parameters\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse the parameters\n\tvar paramString = this.match[2],\n\t\tparams = [];\n\tif(paramString !== \"\") {\n\t\tvar reParam = /\\s*([A-Za-z0-9\\-_]+)(?:\\s*:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\"'\\s]+)))?/mg,\n\t\t\tparamMatch = reParam.exec(paramString);\n\t\twhile(paramMatch) {\n\t\t\t// Save the parameter details\n\t\t\tvar paramInfo = {name: paramMatch[1]},\n\t\t\t\tdefaultValue = paramMatch[2] || paramMatch[3] || paramMatch[4] || paramMatch[5] || paramMatch[6];\n\t\t\tif(defaultValue) {\n\t\t\t\tparamInfo[\"default\"] = defaultValue;\n\t\t\t}\n\t\t\tparams.push(paramInfo);\n\t\t\t// Look for the next parameter\n\t\t\tparamMatch = reParam.exec(paramString);\n\t\t}\n\t}\n\t// Is this a multiline definition?\n\tvar reEnd;\n\tif(this.match[3]) {\n\t\t// If so, the end of the body is marked with \\end\n\t\treEnd = /(\\r?\\n\\\\end[^\\S\\n\\r]*(?:$|\\r?\\n))/mg;\n\t} else {\n\t\t// Otherwise, the end of the definition is marked by the end of the line\n\t\treEnd = /($|\\r?\\n)/mg;\n\t\t// Move past any whitespace\n\t\tthis.parser.pos = $tw.utils.skipWhiteSpace(this.parser.source,this.parser.pos);\n\t}\n\t// Find the end of the definition\n\treEnd.lastIndex = this.parser.pos;\n\tvar text,\n\t\tendMatch = reEnd.exec(this.parser.source);\n\tif(endMatch) {\n\t\ttext = this.parser.source.substring(this.parser.pos,endMatch.index);\n\t\tthis.parser.pos = endMatch.index + endMatch[0].length;\n\t} else {\n\t\t// We didn't find the end of the definition, so we'll make it blank\n\t\ttext = \"\";\n\t}\n\t// Save the macro definition\n\treturn [{\n\t\ttype: \"set\",\n\t\tattributes: {\n\t\t\tname: {type: \"string\", value: this.match[1]},\n\t\t\tvalue: {type: \"string\", value: text}\n\t\t},\n\t\tchildren: [],\n\t\tparams: params,\n\t\tisMacroDefinition: true\n\t}];\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/prettyextlink.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/prettyextlink.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/prettyextlink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for external links. For example:\n\n```\n[ext[https://tiddlywiki.com/fractalveg.jpg]]\n[ext[Tooltip|https://tiddlywiki.com/fractalveg.jpg]]\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"prettyextlink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n};\n\nexports.findNextMatch = function(startPos) {\n\t// Find the next tag\n\tthis.nextLink = this.findNextLink(this.parser.source,startPos);\n\treturn this.nextLink ? this.nextLink.start : undefined;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.nextLink.end;\n\treturn [this.nextLink];\n};\n\n/*\nFind the next link from the current position\n*/\nexports.findNextLink = function(source,pos) {\n\t// A regexp for finding candidate links\n\tvar reLookahead = /(\\[ext\\[)/g;\n\t// Find the next candidate\n\treLookahead.lastIndex = pos;\n\tvar match = reLookahead.exec(source);\n\twhile(match) {\n\t\t// Try to parse the candidate as a link\n\t\tvar link = this.parseLink(source,match.index);\n\t\t// Return success\n\t\tif(link) {\n\t\t\treturn link;\n\t\t}\n\t\t// Look for the next match\n\t\treLookahead.lastIndex = match.index + 1;\n\t\tmatch = reLookahead.exec(source);\n\t}\n\t// Failed\n\treturn null;\n};\n\n/*\nLook for an link at the specified position. Returns null if not found, otherwise returns {type: \"element\", tag: \"a\", attributes: [], isSelfClosing:, start:, end:,}\n*/\nexports.parseLink = function(source,pos) {\n\tvar token,\n\t\ttextNode = {\n\t\t\ttype: \"text\"\n\t\t},\n\t\tnode = {\n\t\t\ttype: \"element\",\n\t\t\ttag: \"a\",\n\t\t\tstart: pos,\n\t\t\tattributes: {\n\t\t\t\t\"class\": {type: \"string\", value: \"tc-tiddlylink-external\"},\n\t\t\t},\n\t\t\tchildren: [textNode]\n\t\t};\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for the `[ext[`\n\ttoken = $tw.utils.parseTokenString(source,pos,\"[ext[\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Look ahead for the terminating `]]`\n\tvar closePos = source.indexOf(\"]]\",pos);\n\tif(closePos === -1) {\n\t\treturn null;\n\t}\n\t// Look for a `|` separating the tooltip\n\tvar splitPos = source.indexOf(\"|\",pos);\n\tif(splitPos === -1 || splitPos > closePos) {\n\t\tsplitPos = null;\n\t}\n\t// Pull out the tooltip and URL\n\tvar tooltip, URL;\n\tif(splitPos) {\n\t\tURL = source.substring(splitPos + 1,closePos).trim();\n\t\ttextNode.text = source.substring(pos,splitPos).trim();\n\t} else {\n\t\tURL = source.substring(pos,closePos).trim();\n\t\ttextNode.text = URL;\n\t}\n\tnode.attributes.href = {type: \"string\", value: URL};\n\tnode.attributes.target = {type: \"string\", value: \"_blank\"};\n\tnode.attributes.rel = {type: \"string\", value: \"noopener noreferrer\"};\n\t// Update the end position\n\tnode.end = closePos + 2;\n\treturn node;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/prettylink.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/prettylink.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/prettylink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for pretty links. For example:\n\n```\n[[Introduction]]\n\n[[Link description|TiddlerTitle]]\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"prettylink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\[\\[(.*?)(?:\\|(.*?))?\\]\\]/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Process the link\n\tvar text = this.match[1],\n\t\tlink = this.match[2] || text;\n\tif($tw.utils.isLinkExternal(link)) {\n\t\treturn [{\n\t\t\ttype: \"element\",\n\t\t\ttag: \"a\",\n\t\t\tattributes: {\n\t\t\t\thref: {type: \"string\", value: link},\n\t\t\t\t\"class\": {type: \"string\", value: \"tc-tiddlylink-external\"},\n\t\t\t\ttarget: {type: \"string\", value: \"_blank\"},\n\t\t\t\trel: {type: \"string\", value: \"noopener noreferrer\"}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\", text: text\n\t\t\t}]\n\t\t}];\n\t} else {\n\t\treturn [{\n\t\t\ttype: \"link\",\n\t\t\tattributes: {\n\t\t\t\tto: {type: \"string\", value: link}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\", text: text\n\t\t\t}]\n\t\t}];\n\t}\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/quoteblock.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/quoteblock.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/quoteblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for quote blocks. For example:\n\n```\n\t<<<.optionalClass(es) optional cited from\n\ta quote\n\t<<<\n\t\n\t<<<.optionalClass(es)\n\ta quote\n\t<<< optional cited from\n```\n\nQuotes can be quoted by putting more <s\n\n```\n\t<<<\n\tQuote Level 1\n\t\n\t<<<<\n\tQuoteLevel 2\n\t<<<<\n\t\n\t<<<\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"quoteblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /(<<<+)/mg;\n};\n\nexports.parse = function() {\n\tvar classes = [\"tc-quote\"];\n\t// Get all the details of the match\n\tvar reEndString = \"^\" + this.match[1] + \"(?!<)\";\n\t// Move past the <s\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t\n\t// Parse any classes, whitespace and then the optional cite itself\n\tclasses.push.apply(classes, this.parser.parseClasses());\n\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\n\tvar cite = this.parser.parseInlineRun(/(\\r?\\n)/mg);\n\t// before handling the cite, parse the body of the quote\n\tvar tree= this.parser.parseBlocks(reEndString);\n\t// If we got a cite, put it before the text\n\tif(cite.length > 0) {\n\t\ttree.unshift({\n\t\t\ttype: \"element\",\n\t\t\ttag: \"cite\",\n\t\t\tchildren: cite\n\t\t});\n\t}\n\t// Parse any optional cite\n\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\n\tcite = this.parser.parseInlineRun(/(\\r?\\n)/mg);\n\t// If we got a cite, push it\n\tif(cite.length > 0) {\n\t\ttree.push({\n\t\t\ttype: \"element\",\n\t\t\ttag: \"cite\",\n\t\t\tchildren: cite\n\t\t});\n\t}\n\t// Return the blockquote element\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"blockquote\",\n\t\tattributes: {\n\t\t\tclass: { type: \"string\", value: classes.join(\" \") },\n\t\t},\n\t\tchildren: tree\n\t}];\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/rules.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/rules.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/rules.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki pragma rule for rules specifications\n\n```\n\\rules except ruleone ruletwo rulethree\n\\rules only ruleone ruletwo rulethree\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"rules\";\nexports.types = {pragma: true};\n\n/*\nInstantiate parse rule\n*/\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /^\\\\rules[^\\S\\n]/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Move past the pragma invocation\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse whitespace delimited tokens terminated by a line break\n\tvar reMatch = /[^\\S\\n]*(\\S+)|(\\r?\\n)/mg,\n\t\ttokens = [];\n\treMatch.lastIndex = this.parser.pos;\n\tvar match = reMatch.exec(this.parser.source);\n\twhile(match && match.index === this.parser.pos) {\n\t\tthis.parser.pos = reMatch.lastIndex;\n\t\t// Exit if we've got the line break\n\t\tif(match[2]) {\n\t\t\tbreak;\n\t\t}\n\t\t// Process the token\n\t\tif(match[1]) {\n\t\t\ttokens.push(match[1]);\n\t\t}\n\t\t// Match the next token\n\t\tmatch = reMatch.exec(this.parser.source);\n\t}\n\t// Process the tokens\n\tif(tokens.length > 0) {\n\t\tthis.parser.amendRules(tokens[0],tokens.slice(1));\n\t}\n\t// No parse tree nodes to return\n\treturn [];\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/styleblock.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/styleblock.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/styleblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for assigning styles and classes to paragraphs and other blocks. For example:\n\n```\n@@.myClass\n@@background-color:red;\nThis paragraph will have the CSS class `myClass`.\n\n* The `<ul>` around this list will also have the class `myClass`\n* List item 2\n\n@@\n```\n\nNote that classes and styles can be mixed subject to the rule that styles must precede classes. For example\n\n```\n@@.myFirstClass.mySecondClass\n@@width:100px;.myThirdClass\nThis is a paragraph\n@@\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"styleblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /@@((?:[^\\.\\r\\n\\s:]+:[^\\r\\n;]+;)+)?(?:\\.([^\\r\\n\\s]+))?\\r?\\n/mg;\n};\n\nexports.parse = function() {\n\tvar reEndString = \"^@@(?:\\\\r?\\\\n)?\";\n\tvar classes = [], styles = [];\n\tdo {\n\t\t// Get the class and style\n\t\tif(this.match[1]) {\n\t\t\tstyles.push(this.match[1]);\n\t\t}\n\t\tif(this.match[2]) {\n\t\t\tclasses.push(this.match[2].split(\".\").join(\" \"));\n\t\t}\n\t\t// Move past the match\n\t\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t\t// Look for another line of classes and styles\n\t\tthis.match = this.matchRegExp.exec(this.parser.source);\n\t} while(this.match && this.match.index === this.parser.pos);\n\t// Parse the body\n\tvar tree = this.parser.parseBlocks(reEndString);\n\tfor(var t=0; t<tree.length; t++) {\n\t\tif(classes.length > 0) {\n\t\t\t$tw.utils.addClassToParseTreeNode(tree[t],classes.join(\" \"));\n\t\t}\n\t\tif(styles.length > 0) {\n\t\t\t$tw.utils.addAttributeToParseTreeNode(tree[t],\"style\",styles.join(\"\"));\n\t\t}\n\t}\n\treturn tree;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/styleinline.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/styleinline.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/styleinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for assigning styles and classes to inline runs. For example:\n\n```\n@@.myClass This is some text with a class@@\n@@background-color:red;This is some text with a background colour@@\n@@width:100px;.myClass This is some text with a class and a width@@\n```\n\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"styleinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /@@((?:[^\\.\\r\\n\\s:]+:[^\\r\\n;]+;)+)?(\\.(?:[^\\r\\n\\s]+)\\s+)?/mg;\n};\n\nexports.parse = function() {\n\tvar reEnd = /@@/g;\n\t// Get the styles and class\n\tvar stylesString = this.match[1],\n\t\tclassString = this.match[2] ? this.match[2].split(\".\").join(\" \") : undefined;\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse the run up to the terminator\n\tvar tree = this.parser.parseInlineRun(reEnd,{eatTerminator: true});\n\t// Return the classed span\n\tvar node = {\n\t\ttype: \"element\",\n\t\ttag: \"span\",\n\t\tattributes: {\n\t\t\t\"class\": {type: \"string\", value: \"tc-inline-style\"}\n\t\t},\n\t\tchildren: tree\n\t};\n\tif(classString) {\n\t\t$tw.utils.addClassToParseTreeNode(node,classString);\n\t}\n\tif(stylesString) {\n\t\t$tw.utils.addAttributeToParseTreeNode(node,\"style\",stylesString);\n\t}\n\treturn [node];\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/syslink.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/syslink.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/syslink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for system tiddler links.\nCan be suppressed preceding them with `~`.\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"syslink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = new RegExp(\n\t\t\"~?\\\\$:\\\\/[\" +\n\t\t$tw.config.textPrimitives.anyLetter.substr(1,$tw.config.textPrimitives.anyLetter.length - 2) +\n\t\t\"\\/._-]+\",\n\t\t\"mg\"\n\t);\n};\n\nexports.parse = function() {\n\tvar match = this.match[0];\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Create the link unless it is suppressed\n\tif(match.substr(0,1) === \"~\") {\n\t\treturn [{type: \"text\", text: match.substr(1)}];\n\t} else {\n\t\treturn [{\n\t\t\ttype: \"link\",\n\t\t\tattributes: {\n\t\t\t\tto: {type: \"string\", value: match}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\",\n\t\t\t\ttext: match\n\t\t\t}]\n\t\t}];\n\t}\n};\n\n})();",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/table.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/table.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/table.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for tables.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"table\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /^\\|(?:[^\\n]*)\\|(?:[fhck]?)\\r?(?:\\n|$)/mg;\n};\n\nvar processRow = function(prevColumns) {\n\tvar cellRegExp = /(?:\\|([^\\n\\|]*)\\|)|(\\|[fhck]?\\r?(?:\\n|$))/mg,\n\t\tcellTermRegExp = /((?:\\x20*)\\|)/mg,\n\t\ttree = [],\n\t\tcol = 0,\n\t\tcolSpanCount = 1,\n\t\tprevCell,\n\t\tvAlign;\n\t// Match a single cell\n\tcellRegExp.lastIndex = this.parser.pos;\n\tvar cellMatch = cellRegExp.exec(this.parser.source);\n\twhile(cellMatch && cellMatch.index === this.parser.pos) {\n\t\tif(cellMatch[1] === \"~\") {\n\t\t\t// Rowspan\n\t\t\tvar last = prevColumns[col];\n\t\t\tif(last) {\n\t\t\t\tlast.rowSpanCount++;\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(last.element,\"rowspan\",last.rowSpanCount);\n\t\t\t\tvAlign = $tw.utils.getAttributeValueFromParseTreeNode(last.element,\"valign\",\"center\");\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(last.element,\"valign\",vAlign);\n\t\t\t\tif(colSpanCount > 1) {\n\t\t\t\t\t$tw.utils.addAttributeToParseTreeNode(last.element,\"colspan\",colSpanCount);\n\t\t\t\t\tcolSpanCount = 1;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Move to just before the `|` terminating the cell\n\t\t\tthis.parser.pos = cellRegExp.lastIndex - 1;\n\t\t} else if(cellMatch[1] === \">\") {\n\t\t\t// Colspan\n\t\t\tcolSpanCount++;\n\t\t\t// Move to just before the `|` terminating the cell\n\t\t\tthis.parser.pos = cellRegExp.lastIndex - 1;\n\t\t} else if(cellMatch[1] === \"<\" && prevCell) {\n\t\t\tcolSpanCount = 1 + $tw.utils.getAttributeValueFromParseTreeNode(prevCell,\"colspan\",1);\n\t\t\t$tw.utils.addAttributeToParseTreeNode(prevCell,\"colspan\",colSpanCount);\n\t\t\tcolSpanCount = 1;\n\t\t\t// Move to just before the `|` terminating the cell\n\t\t\tthis.parser.pos = cellRegExp.lastIndex - 1;\n\t\t} else if(cellMatch[2]) {\n\t\t\t// End of row\n\t\t\tif(prevCell && colSpanCount > 1) {\n\t\t\t\tif(prevCell.attributes && prevCell.attributes && prevCell.attributes.colspan) {\n\t\t\t\t\t\tcolSpanCount += prevCell.attributes.colspan.value;\n\t\t\t\t} else {\n\t\t\t\t\tcolSpanCount -= 1;\n\t\t\t\t}\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(prevCell,\"colspan\",colSpanCount);\n\t\t\t}\n\t\t\tthis.parser.pos = cellRegExp.lastIndex - 1;\n\t\t\tbreak;\n\t\t} else {\n\t\t\t// For ordinary cells, step beyond the opening `|`\n\t\t\tthis.parser.pos++;\n\t\t\t// Look for a space at the start of the cell\n\t\t\tvar spaceLeft = false;\n\t\t\tvAlign = null;\n\t\t\tif(this.parser.source.substr(this.parser.pos).search(/^\\^([^\\^]|\\^\\^)/) === 0) {\n\t\t\t\tvAlign = \"top\";\n\t\t\t} else if(this.parser.source.substr(this.parser.pos).search(/^,([^,]|,,)/) === 0) {\n\t\t\t\tvAlign = \"bottom\";\n\t\t\t}\n\t\t\tif(vAlign) {\n\t\t\t\tthis.parser.pos++;\n\t\t\t}\n\t\t\tvar chr = this.parser.source.substr(this.parser.pos,1);\n\t\t\twhile(chr === \" \") {\n\t\t\t\tspaceLeft = true;\n\t\t\t\tthis.parser.pos++;\n\t\t\t\tchr = this.parser.source.substr(this.parser.pos,1);\n\t\t\t}\n\t\t\t// Check whether this is a heading cell\n\t\t\tvar cell;\n\t\t\tif(chr === \"!\") {\n\t\t\t\tthis.parser.pos++;\n\t\t\t\tcell = {type: \"element\", tag: \"th\", children: []};\n\t\t\t} else {\n\t\t\t\tcell = {type: \"element\", tag: \"td\", children: []};\n\t\t\t}\n\t\t\ttree.push(cell);\n\t\t\t// Record information about this cell\n\t\t\tprevCell = cell;\n\t\t\tprevColumns[col] = {rowSpanCount:1,element:cell};\n\t\t\t// Check for a colspan\n\t\t\tif(colSpanCount > 1) {\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"colspan\",colSpanCount);\n\t\t\t\tcolSpanCount = 1;\n\t\t\t}\n\t\t\t// Parse the cell\n\t\t\tcell.children = this.parser.parseInlineRun(cellTermRegExp,{eatTerminator: true});\n\t\t\t// Set the alignment for the cell\n\t\t\tif(vAlign) {\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"valign\",vAlign);\n\t\t\t}\n\t\t\tif(this.parser.source.substr(this.parser.pos - 2,1) === \" \") { // spaceRight\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"align\",spaceLeft ? \"center\" : \"left\");\n\t\t\t} else if(spaceLeft) {\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"align\",\"right\");\n\t\t\t}\n\t\t\t// Move back to the closing `|`\n\t\t\tthis.parser.pos--;\n\t\t}\n\t\tcol++;\n\t\tcellRegExp.lastIndex = this.parser.pos;\n\t\tcellMatch = cellRegExp.exec(this.parser.source);\n\t}\n\treturn tree;\n};\n\nexports.parse = function() {\n\tvar rowContainerTypes = {\"c\":\"caption\", \"h\":\"thead\", \"\":\"tbody\", \"f\":\"tfoot\"},\n\t\ttable = {type: \"element\", tag: \"table\", children: []},\n\t\trowRegExp = /^\\|([^\\n]*)\\|([fhck]?)\\r?(?:\\n|$)/mg,\n\t\trowTermRegExp = /(\\|(?:[fhck]?)\\r?(?:\\n|$))/mg,\n\t\tprevColumns = [],\n\t\tcurrRowType,\n\t\trowContainer,\n\t\trowCount = 0;\n\t// Match the row\n\trowRegExp.lastIndex = this.parser.pos;\n\tvar rowMatch = rowRegExp.exec(this.parser.source);\n\twhile(rowMatch && rowMatch.index === this.parser.pos) {\n\t\tvar rowType = rowMatch[2];\n\t\t// Check if it is a class assignment\n\t\tif(rowType === \"k\") {\n\t\t\t$tw.utils.addClassToParseTreeNode(table,rowMatch[1]);\n\t\t\tthis.parser.pos = rowMatch.index + rowMatch[0].length;\n\t\t} else {\n\t\t\t// Otherwise, create a new row if this one is of a different type\n\t\t\tif(rowType !== currRowType) {\n\t\t\t\trowContainer = {type: \"element\", tag: rowContainerTypes[rowType], children: []};\n\t\t\t\ttable.children.push(rowContainer);\n\t\t\t\tcurrRowType = rowType;\n\t\t\t}\n\t\t\t// Is this a caption row?\n\t\t\tif(currRowType === \"c\") {\n\t\t\t\t// If so, move past the opening `|` of the row\n\t\t\t\tthis.parser.pos++;\n\t\t\t\t// Move the caption to the first row if it isn't already\n\t\t\t\tif(table.children.length !== 1) {\n\t\t\t\t\ttable.children.pop(); // Take rowContainer out of the children array\n\t\t\t\t\ttable.children.splice(0,0,rowContainer); // Insert it at the bottom\t\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t// Set the alignment - TODO: figure out why TW did this\n//\t\t\t\trowContainer.attributes.align = rowCount === 0 ? \"top\" : \"bottom\";\n\t\t\t\t// Parse the caption\n\t\t\t\trowContainer.children = this.parser.parseInlineRun(rowTermRegExp,{eatTerminator: true});\n\t\t\t} else {\n\t\t\t\t// Create the row\n\t\t\t\tvar theRow = {type: \"element\", tag: \"tr\", children: []};\n\t\t\t\t$tw.utils.addClassToParseTreeNode(theRow,rowCount%2 ? \"oddRow\" : \"evenRow\");\n\t\t\t\trowContainer.children.push(theRow);\n\t\t\t\t// Process the row\n\t\t\t\ttheRow.children = processRow.call(this,prevColumns);\n\t\t\t\tthis.parser.pos = rowMatch.index + rowMatch[0].length;\n\t\t\t\t// Increment the row count\n\t\t\t\trowCount++;\n\t\t\t}\n\t\t}\n\t\trowMatch = rowRegExp.exec(this.parser.source);\n\t}\n\treturn [table];\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/transcludeblock.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/transcludeblock.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/transcludeblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for block-level transclusion. For example:\n\n```\n{{MyTiddler}}\n{{MyTiddler||TemplateTitle}}\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"transcludeblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\{\\{([^\\{\\}\\|]*)(?:\\|\\|([^\\|\\{\\}]+))?\\}\\}(?:\\r?\\n|$)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Get the match details\n\tvar template = $tw.utils.trim(this.match[2]),\n\t\ttextRef = $tw.utils.trim(this.match[1]);\n\t// Prepare the transclude widget\n\tvar transcludeNode = {\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {},\n\t\t\tisBlock: true\n\t\t};\n\t// Prepare the tiddler widget\n\tvar tr, targetTitle, targetField, targetIndex, tiddlerNode;\n\tif(textRef) {\n\t\ttr = $tw.utils.parseTextReference(textRef);\n\t\ttargetTitle = tr.title;\n\t\ttargetField = tr.field;\n\t\ttargetIndex = tr.index;\n\t\ttiddlerNode = {\n\t\t\ttype: \"tiddler\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {type: \"string\", value: targetTitle}\n\t\t\t},\n\t\t\tisBlock: true,\n\t\t\tchildren: [transcludeNode]\n\t\t};\n\t}\n\tif(template) {\n\t\ttranscludeNode.attributes.tiddler = {type: \"string\", value: template};\n\t\tif(textRef) {\n\t\t\treturn [tiddlerNode];\n\t\t} else {\n\t\t\treturn [transcludeNode];\n\t\t}\n\t} else {\n\t\tif(textRef) {\n\t\t\ttranscludeNode.attributes.tiddler = {type: \"string\", value: targetTitle};\n\t\t\tif(targetField) {\n\t\t\t\ttranscludeNode.attributes.field = {type: \"string\", value: targetField};\n\t\t\t}\n\t\t\tif(targetIndex) {\n\t\t\t\ttranscludeNode.attributes.index = {type: \"string\", value: targetIndex};\n\t\t\t}\n\t\t\treturn [tiddlerNode];\n\t\t} else {\n\t\t\treturn [transcludeNode];\n\t\t}\n\t}\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/transcludeinline.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/transcludeinline.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/transcludeinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for inline-level transclusion. For example:\n\n```\n{{MyTiddler}}\n{{MyTiddler||TemplateTitle}}\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"transcludeinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\{\\{([^\\{\\}\\|]*)(?:\\|\\|([^\\|\\{\\}]+))?\\}\\}/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Get the match details\n\tvar template = $tw.utils.trim(this.match[2]),\n\t\ttextRef = $tw.utils.trim(this.match[1]);\n\t// Prepare the transclude widget\n\tvar transcludeNode = {\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {}\n\t\t};\n\t// Prepare the tiddler widget\n\tvar tr, targetTitle, targetField, targetIndex, tiddlerNode;\n\tif(textRef) {\n\t\ttr = $tw.utils.parseTextReference(textRef);\n\t\ttargetTitle = tr.title;\n\t\ttargetField = tr.field;\n\t\ttargetIndex = tr.index;\n\t\ttiddlerNode = {\n\t\t\ttype: \"tiddler\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {type: \"string\", value: targetTitle}\n\t\t\t},\n\t\t\tchildren: [transcludeNode]\n\t\t};\n\t}\n\tif(template) {\n\t\ttranscludeNode.attributes.tiddler = {type: \"string\", value: template};\n\t\tif(textRef) {\n\t\t\treturn [tiddlerNode];\n\t\t} else {\n\t\t\treturn [transcludeNode];\n\t\t}\n\t} else {\n\t\tif(textRef) {\n\t\t\ttranscludeNode.attributes.tiddler = {type: \"string\", value: targetTitle};\n\t\t\tif(targetField) {\n\t\t\t\ttranscludeNode.attributes.field = {type: \"string\", value: targetField};\n\t\t\t}\n\t\t\tif(targetIndex) {\n\t\t\t\ttranscludeNode.attributes.index = {type: \"string\", value: targetIndex};\n\t\t\t}\n\t\t\treturn [tiddlerNode];\n\t\t} else {\n\t\t\treturn [transcludeNode];\n\t\t}\n\t}\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/typedblock.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/typedblock.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/typedblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for typed blocks. For example:\n\n```\n$$$.js\nThis will be rendered as JavaScript\n$$$\n\n$$$.svg\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"150\" height=\"100\">\n  <circle cx=\"100\" cy=\"50\" r=\"40\" stroke=\"black\" stroke-width=\"2\" fill=\"red\" />\n</svg>\n$$$\n\n$$$text/vnd.tiddlywiki>text/html\nThis will be rendered as an //HTML representation// of WikiText\n$$$\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.name = \"typedblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\$\\$\\$([^ >\\r\\n]*)(?: *> *([^ \\r\\n]+))?\\r?\\n/mg;\n};\n\nexports.parse = function() {\n\tvar reEnd = /\\r?\\n\\$\\$\\$\\r?(?:\\n|$)/mg;\n\t// Save the type\n\tvar parseType = this.match[1],\n\t\trenderType = this.match[2];\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Look for the end of the block\n\treEnd.lastIndex = this.parser.pos;\n\tvar match = reEnd.exec(this.parser.source),\n\t\ttext;\n\t// Process the block\n\tif(match) {\n\t\ttext = this.parser.source.substring(this.parser.pos,match.index);\n\t\tthis.parser.pos = match.index + match[0].length;\n\t} else {\n\t\ttext = this.parser.source.substr(this.parser.pos);\n\t\tthis.parser.pos = this.parser.sourceLength;\n\t}\n\t// Parse the block according to the specified type\n\tvar parser = this.parser.wiki.parseText(parseType,text,{defaultType: \"text/plain\"});\n\t// If there's no render type, just return the parse tree\n\tif(!renderType) {\n\t\treturn parser.tree;\n\t} else {\n\t\t// Otherwise, render to the rendertype and return in a <PRE> tag\n\t\tvar widgetNode = this.parser.wiki.makeWidget(parser),\n\t\t\tcontainer = $tw.fakeDocument.createElement(\"div\");\n\t\twidgetNode.render(container,null);\n\t\ttext = renderType === \"text/html\" ? container.innerHTML : container.textContent;\n\t\treturn [{\n\t\t\ttype: \"element\",\n\t\t\ttag: \"pre\",\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\",\n\t\t\t\ttext: text\n\t\t\t}]\n\t\t}];\n\t}\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/whitespace.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/whitespace.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/whitespace.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki pragma rule for whitespace specifications\n\n```\n\\whitespace trim\n\\whitespace notrim\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"whitespace\";\nexports.types = {pragma: true};\n\n/*\nInstantiate parse rule\n*/\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /^\\\\whitespace[^\\S\\n]/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\tvar self = this;\n\t// Move past the pragma invocation\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse whitespace delimited tokens terminated by a line break\n\tvar reMatch = /[^\\S\\n]*(\\S+)|(\\r?\\n)/mg,\n\t\ttokens = [];\n\treMatch.lastIndex = this.parser.pos;\n\tvar match = reMatch.exec(this.parser.source);\n\twhile(match && match.index === this.parser.pos) {\n\t\tthis.parser.pos = reMatch.lastIndex;\n\t\t// Exit if we've got the line break\n\t\tif(match[2]) {\n\t\t\tbreak;\n\t\t}\n\t\t// Process the token\n\t\tif(match[1]) {\n\t\t\ttokens.push(match[1]);\n\t\t}\n\t\t// Match the next token\n\t\tmatch = reMatch.exec(this.parser.source);\n\t}\n\t// Process the tokens\n\t$tw.utils.each(tokens,function(token) {\n\t\tswitch(token) {\n\t\t\tcase \"trim\":\n\t\t\t\tself.parser.configTrimWhiteSpace = true;\n\t\t\t\tbreak;\n\t\t\tcase \"notrim\":\n\t\t\t\tself.parser.configTrimWhiteSpace = false;\n\t\t\t\tbreak;\n\t\t}\n\t});\n\t// No parse tree nodes to return\n\treturn [];\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/wikilink.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/wikilink.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/wikilink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for wiki links. For example:\n\n```\nAWikiLink\nAnotherLink\n~SuppressedLink\n```\n\nPrecede a camel case word with `~` to prevent it from being recognised as a link.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"wikilink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = new RegExp($tw.config.textPrimitives.unWikiLink + \"?\" + $tw.config.textPrimitives.wikiLink,\"mg\");\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get the details of the match\n\tvar linkText = this.match[0];\n\t// Move past the macro call\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// If the link starts with the unwikilink character then just output it as plain text\n\tif(linkText.substr(0,1) === $tw.config.textPrimitives.unWikiLink) {\n\t\treturn [{type: \"text\", text: linkText.substr(1)}];\n\t}\n\t// If the link has been preceded with a blocked letter then don't treat it as a link\n\tif(this.match.index > 0) {\n\t\tvar preRegExp = new RegExp($tw.config.textPrimitives.blockPrefixLetters,\"mg\");\n\t\tpreRegExp.lastIndex = this.match.index-1;\n\t\tvar preMatch = preRegExp.exec(this.parser.source);\n\t\tif(preMatch && preMatch.index === this.match.index-1) {\n\t\t\treturn [{type: \"text\", text: linkText}];\n\t\t}\n\t}\n\treturn [{\n\t\ttype: \"link\",\n\t\tattributes: {\n\t\t\tto: {type: \"string\", value: linkText}\n\t\t},\n\t\tchildren: [{\n\t\t\ttype: \"text\",\n\t\t\ttext: linkText\n\t\t}]\n\t}];\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/wikiparser.js": {
            "title": "$:/core/modules/parsers/wikiparser/wikiparser.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/wikiparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe wiki text parser processes blocks of source text into a parse tree.\n\nThe parse tree is made up of nested arrays of these JavaScript objects:\n\n\t{type: \"element\", tag: <string>, attributes: {}, children: []} - an HTML element\n\t{type: \"text\", text: <string>} - a text node\n\t{type: \"entity\", value: <string>} - an entity\n\t{type: \"raw\", html: <string>} - raw HTML\n\nAttributes are stored as hashmaps of the following objects:\n\n\t{type: \"string\", value: <string>} - literal string\n\t{type: \"indirect\", textReference: <textReference>} - indirect through a text reference\n\t{type: \"macro\", macro: <TBD>} - indirect through a macro invocation\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar WikiParser = function(type,text,options) {\n\tthis.wiki = options.wiki;\n\tvar self = this;\n\t// Check for an externally linked tiddler\n\tif($tw.browser && (text || \"\") === \"\" && options._canonical_uri) {\n\t\tthis.loadRemoteTiddler(options._canonical_uri);\n\t\ttext = $tw.language.getRawString(\"LazyLoadingWarning\");\n\t}\n\t// Initialise the classes if we don't have them already\n\tif(!this.pragmaRuleClasses) {\n\t\tWikiParser.prototype.pragmaRuleClasses = $tw.modules.createClassesFromModules(\"wikirule\",\"pragma\",$tw.WikiRuleBase);\n\t\tthis.setupRules(WikiParser.prototype.pragmaRuleClasses,\"$:/config/WikiParserRules/Pragmas/\");\n\t}\n\tif(!this.blockRuleClasses) {\n\t\tWikiParser.prototype.blockRuleClasses = $tw.modules.createClassesFromModules(\"wikirule\",\"block\",$tw.WikiRuleBase);\n\t\tthis.setupRules(WikiParser.prototype.blockRuleClasses,\"$:/config/WikiParserRules/Block/\");\n\t}\n\tif(!this.inlineRuleClasses) {\n\t\tWikiParser.prototype.inlineRuleClasses = $tw.modules.createClassesFromModules(\"wikirule\",\"inline\",$tw.WikiRuleBase);\n\t\tthis.setupRules(WikiParser.prototype.inlineRuleClasses,\"$:/config/WikiParserRules/Inline/\");\n\t}\n\t// Save the parse text\n\tthis.type = type || \"text/vnd.tiddlywiki\";\n\tthis.source = text || \"\";\n\tthis.sourceLength = this.source.length;\n\t// Flag for ignoring whitespace\n\tthis.configTrimWhiteSpace = false;\n\t// Set current parse position\n\tthis.pos = 0;\n\t// Instantiate the pragma parse rules\n\tthis.pragmaRules = this.instantiateRules(this.pragmaRuleClasses,\"pragma\",0);\n\t// Instantiate the parser block and inline rules\n\tthis.blockRules = this.instantiateRules(this.blockRuleClasses,\"block\",0);\n\tthis.inlineRules = this.instantiateRules(this.inlineRuleClasses,\"inline\",0);\n\t// Parse any pragmas\n\tthis.tree = [];\n\tvar topBranch = this.parsePragmas();\n\t// Parse the text into inline runs or blocks\n\tif(options.parseAsInline) {\n\t\ttopBranch.push.apply(topBranch,this.parseInlineRun());\n\t} else {\n\t\ttopBranch.push.apply(topBranch,this.parseBlocks());\n\t}\n\t// Return the parse tree\n};\n\n/*\n*/\nWikiParser.prototype.loadRemoteTiddler = function(url) {\n\tvar self = this;\n\t$tw.utils.httpRequest({\n\t\turl: url,\n\t\ttype: \"GET\",\n\t\tcallback: function(err,data) {\n\t\t\tif(!err) {\n\t\t\t\tvar tiddlers = self.wiki.deserializeTiddlers(\".tid\",data,self.wiki.getCreationFields());\n\t\t\t\t$tw.utils.each(tiddlers,function(tiddler) {\n\t\t\t\t\ttiddler[\"_canonical_uri\"] = url;\n\t\t\t\t});\n\t\t\t\tif(tiddlers) {\n\t\t\t\t\tself.wiki.addTiddlers(tiddlers);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\n*/\nWikiParser.prototype.setupRules = function(proto,configPrefix) {\n\tvar self = this;\n\tif(!$tw.safemode) {\n\t\t$tw.utils.each(proto,function(object,name) {\n\t\t\tif(self.wiki.getTiddlerText(configPrefix + name,\"enable\") !== \"enable\") {\n\t\t\t\tdelete proto[name];\n\t\t\t}\n\t\t});\n\t}\n};\n\n/*\nInstantiate an array of parse rules\n*/\nWikiParser.prototype.instantiateRules = function(classes,type,startPos) {\n\tvar rulesInfo = [],\n\t\tself = this;\n\t$tw.utils.each(classes,function(RuleClass) {\n\t\t// Instantiate the rule\n\t\tvar rule = new RuleClass(self);\n\t\trule.is = {};\n\t\trule.is[type] = true;\n\t\trule.init(self);\n\t\tvar matchIndex = rule.findNextMatch(startPos);\n\t\tif(matchIndex !== undefined) {\n\t\t\trulesInfo.push({\n\t\t\t\trule: rule,\n\t\t\t\tmatchIndex: matchIndex\n\t\t\t});\n\t\t}\n\t});\n\treturn rulesInfo;\n};\n\n/*\nSkip any whitespace at the current position. Options are:\n\ttreatNewlinesAsNonWhitespace: true if newlines are NOT to be treated as whitespace\n*/\nWikiParser.prototype.skipWhitespace = function(options) {\n\toptions = options || {};\n\tvar whitespaceRegExp = options.treatNewlinesAsNonWhitespace ? /([^\\S\\n]+)/mg : /(\\s+)/mg;\n\twhitespaceRegExp.lastIndex = this.pos;\n\tvar whitespaceMatch = whitespaceRegExp.exec(this.source);\n\tif(whitespaceMatch && whitespaceMatch.index === this.pos) {\n\t\tthis.pos = whitespaceRegExp.lastIndex;\n\t}\n};\n\n/*\nGet the next match out of an array of parse rule instances\n*/\nWikiParser.prototype.findNextMatch = function(rules,startPos) {\n\t// Find the best matching rule by finding the closest match position\n\tvar matchingRule,\n\t\tmatchingRulePos = this.sourceLength;\n\t// Step through each rule\n\tfor(var t=0; t<rules.length; t++) {\n\t\tvar ruleInfo = rules[t];\n\t\t// Ask the rule to get the next match if we've moved past the current one\n\t\tif(ruleInfo.matchIndex !== undefined  && ruleInfo.matchIndex < startPos) {\n\t\t\truleInfo.matchIndex = ruleInfo.rule.findNextMatch(startPos);\n\t\t}\n\t\t// Adopt this match if it's closer than the current best match\n\t\tif(ruleInfo.matchIndex !== undefined && ruleInfo.matchIndex <= matchingRulePos) {\n\t\t\tmatchingRule = ruleInfo;\n\t\t\tmatchingRulePos = ruleInfo.matchIndex;\n\t\t}\n\t}\n\treturn matchingRule;\n};\n\n/*\nParse any pragmas at the beginning of a block of parse text\n*/\nWikiParser.prototype.parsePragmas = function() {\n\tvar currentTreeBranch = this.tree;\n\twhile(true) {\n\t\t// Skip whitespace\n\t\tthis.skipWhitespace();\n\t\t// Check for the end of the text\n\t\tif(this.pos >= this.sourceLength) {\n\t\t\tbreak;\n\t\t}\n\t\t// Check if we've arrived at a pragma rule match\n\t\tvar nextMatch = this.findNextMatch(this.pragmaRules,this.pos);\n\t\t// If not, just exit\n\t\tif(!nextMatch || nextMatch.matchIndex !== this.pos) {\n\t\t\tbreak;\n\t\t}\n\t\t// Process the pragma rule\n\t\tvar subTree = nextMatch.rule.parse();\n\t\tif(subTree.length > 0) {\n\t\t\t// Quick hack; we only cope with a single parse tree node being returned, which is true at the moment\n\t\t\tcurrentTreeBranch.push.apply(currentTreeBranch,subTree);\n\t\t\tsubTree[0].children = [];\n\t\t\tcurrentTreeBranch = subTree[0].children;\n\t\t}\n\t}\n\treturn currentTreeBranch;\n};\n\n/*\nParse a block from the current position\n\tterminatorRegExpString: optional regular expression string that identifies the end of plain paragraphs. Must not include capturing parenthesis\n*/\nWikiParser.prototype.parseBlock = function(terminatorRegExpString) {\n\tvar terminatorRegExp = terminatorRegExpString ? new RegExp(\"(\" + terminatorRegExpString + \"|\\\\r?\\\\n\\\\r?\\\\n)\",\"mg\") : /(\\r?\\n\\r?\\n)/mg;\n\tthis.skipWhitespace();\n\tif(this.pos >= this.sourceLength) {\n\t\treturn [];\n\t}\n\t// Look for a block rule that applies at the current position\n\tvar nextMatch = this.findNextMatch(this.blockRules,this.pos);\n\tif(nextMatch && nextMatch.matchIndex === this.pos) {\n\t\treturn nextMatch.rule.parse();\n\t}\n\t// Treat it as a paragraph if we didn't find a block rule\n\treturn [{type: \"element\", tag: \"p\", children: this.parseInlineRun(terminatorRegExp)}];\n};\n\n/*\nParse a series of blocks of text until a terminating regexp is encountered or the end of the text\n\tterminatorRegExpString: terminating regular expression\n*/\nWikiParser.prototype.parseBlocks = function(terminatorRegExpString) {\n\tif(terminatorRegExpString) {\n\t\treturn this.parseBlocksTerminated(terminatorRegExpString);\n\t} else {\n\t\treturn this.parseBlocksUnterminated();\n\t}\n};\n\n/*\nParse a block from the current position to the end of the text\n*/\nWikiParser.prototype.parseBlocksUnterminated = function() {\n\tvar tree = [];\n\twhile(this.pos < this.sourceLength) {\n\t\ttree.push.apply(tree,this.parseBlock());\n\t}\n\treturn tree;\n};\n\n/*\nParse blocks of text until a terminating regexp is encountered\n*/\nWikiParser.prototype.parseBlocksTerminated = function(terminatorRegExpString) {\n\tvar terminatorRegExp = new RegExp(\"(\" + terminatorRegExpString + \")\",\"mg\"),\n\t\ttree = [];\n\t// Skip any whitespace\n\tthis.skipWhitespace();\n\t//  Check if we've got the end marker\n\tterminatorRegExp.lastIndex = this.pos;\n\tvar match = terminatorRegExp.exec(this.source);\n\t// Parse the text into blocks\n\twhile(this.pos < this.sourceLength && !(match && match.index === this.pos)) {\n\t\tvar blocks = this.parseBlock(terminatorRegExpString);\n\t\ttree.push.apply(tree,blocks);\n\t\t// Skip any whitespace\n\t\tthis.skipWhitespace();\n\t\t//  Check if we've got the end marker\n\t\tterminatorRegExp.lastIndex = this.pos;\n\t\tmatch = terminatorRegExp.exec(this.source);\n\t}\n\tif(match && match.index === this.pos) {\n\t\tthis.pos = match.index + match[0].length;\n\t}\n\treturn tree;\n};\n\n/*\nParse a run of text at the current position\n\tterminatorRegExp: a regexp at which to stop the run\n\toptions: see below\nOptions available:\n\teatTerminator: move the parse position past any encountered terminator (default false)\n*/\nWikiParser.prototype.parseInlineRun = function(terminatorRegExp,options) {\n\tif(terminatorRegExp) {\n\t\treturn this.parseInlineRunTerminated(terminatorRegExp,options);\n\t} else {\n\t\treturn this.parseInlineRunUnterminated(options);\n\t}\n};\n\nWikiParser.prototype.parseInlineRunUnterminated = function(options) {\n\tvar tree = [];\n\t// Find the next occurrence of an inline rule\n\tvar nextMatch = this.findNextMatch(this.inlineRules,this.pos);\n\t// Loop around the matches until we've reached the end of the text\n\twhile(this.pos < this.sourceLength && nextMatch) {\n\t\t// Process the text preceding the run rule\n\t\tif(nextMatch.matchIndex > this.pos) {\n\t\t\tthis.pushTextWidget(tree,this.source.substring(this.pos,nextMatch.matchIndex));\n\t\t\tthis.pos = nextMatch.matchIndex;\n\t\t}\n\t\t// Process the run rule\n\t\ttree.push.apply(tree,nextMatch.rule.parse());\n\t\t// Look for the next run rule\n\t\tnextMatch = this.findNextMatch(this.inlineRules,this.pos);\n\t}\n\t// Process the remaining text\n\tif(this.pos < this.sourceLength) {\n\t\tthis.pushTextWidget(tree,this.source.substr(this.pos));\n\t}\n\tthis.pos = this.sourceLength;\n\treturn tree;\n};\n\nWikiParser.prototype.parseInlineRunTerminated = function(terminatorRegExp,options) {\n\toptions = options || {};\n\tvar tree = [];\n\t// Find the next occurrence of the terminator\n\tterminatorRegExp.lastIndex = this.pos;\n\tvar terminatorMatch = terminatorRegExp.exec(this.source);\n\t// Find the next occurrence of a inlinerule\n\tvar inlineRuleMatch = this.findNextMatch(this.inlineRules,this.pos);\n\t// Loop around until we've reached the end of the text\n\twhile(this.pos < this.sourceLength && (terminatorMatch || inlineRuleMatch)) {\n\t\t// Return if we've found the terminator, and it precedes any inline rule match\n\t\tif(terminatorMatch) {\n\t\t\tif(!inlineRuleMatch || inlineRuleMatch.matchIndex >= terminatorMatch.index) {\n\t\t\t\tif(terminatorMatch.index > this.pos) {\n\t\t\t\t\tthis.pushTextWidget(tree,this.source.substring(this.pos,terminatorMatch.index));\n\t\t\t\t}\n\t\t\t\tthis.pos = terminatorMatch.index;\n\t\t\t\tif(options.eatTerminator) {\n\t\t\t\t\tthis.pos += terminatorMatch[0].length;\n\t\t\t\t}\n\t\t\t\treturn tree;\n\t\t\t}\n\t\t}\n\t\t// Process any inline rule, along with the text preceding it\n\t\tif(inlineRuleMatch) {\n\t\t\t// Preceding text\n\t\t\tif(inlineRuleMatch.matchIndex > this.pos) {\n\t\t\t\tthis.pushTextWidget(tree,this.source.substring(this.pos,inlineRuleMatch.matchIndex));\n\t\t\t\tthis.pos = inlineRuleMatch.matchIndex;\n\t\t\t}\n\t\t\t// Process the inline rule\n\t\t\ttree.push.apply(tree,inlineRuleMatch.rule.parse());\n\t\t\t// Look for the next inline rule\n\t\t\tinlineRuleMatch = this.findNextMatch(this.inlineRules,this.pos);\n\t\t\t// Look for the next terminator match\n\t\t\tterminatorRegExp.lastIndex = this.pos;\n\t\t\tterminatorMatch = terminatorRegExp.exec(this.source);\n\t\t}\n\t}\n\t// Process the remaining text\n\tif(this.pos < this.sourceLength) {\n\t\tthis.pushTextWidget(tree,this.source.substr(this.pos));\n\t}\n\tthis.pos = this.sourceLength;\n\treturn tree;\n};\n\n/*\nPush a text widget onto an array, respecting the configTrimWhiteSpace setting\n*/\nWikiParser.prototype.pushTextWidget = function(array,text) {\n\tif(this.configTrimWhiteSpace) {\n\t\ttext = $tw.utils.trim(text);\n\t}\n\tif(text) {\n\t\tarray.push({type: \"text\", text: text});\t\t\n\t}\n};\n\n/*\nParse zero or more class specifiers `.classname`\n*/\nWikiParser.prototype.parseClasses = function() {\n\tvar classRegExp = /\\.([^\\s\\.]+)/mg,\n\t\tclassNames = [];\n\tclassRegExp.lastIndex = this.pos;\n\tvar match = classRegExp.exec(this.source);\n\twhile(match && match.index === this.pos) {\n\t\tthis.pos = match.index + match[0].length;\n\t\tclassNames.push(match[1]);\n\t\tmatch = classRegExp.exec(this.source);\n\t}\n\treturn classNames;\n};\n\n/*\nAmend the rules used by this instance of the parser\n\ttype: `only` keeps just the named rules, `except` keeps all but the named rules\n\tnames: array of rule names\n*/\nWikiParser.prototype.amendRules = function(type,names) {\n\tnames = names || [];\n\t// Define the filter function\n\tvar keepFilter;\n\tif(type === \"only\") {\n\t\tkeepFilter = function(name) {\n\t\t\treturn names.indexOf(name) !== -1;\n\t\t};\n\t} else if(type === \"except\") {\n\t\tkeepFilter = function(name) {\n\t\t\treturn names.indexOf(name) === -1;\n\t\t};\n\t} else {\n\t\treturn;\n\t}\n\t// Define a function to process each of our rule arrays\n\tvar processRuleArray = function(ruleArray) {\n\t\tfor(var t=ruleArray.length-1; t>=0; t--) {\n\t\t\tif(!keepFilter(ruleArray[t].rule.name)) {\n\t\t\t\truleArray.splice(t,1);\n\t\t\t}\n\t\t}\n\t};\n\t// Process each rule array\n\tprocessRuleArray(this.pragmaRules);\n\tprocessRuleArray(this.blockRules);\n\tprocessRuleArray(this.inlineRules);\n};\n\nexports[\"text/vnd.tiddlywiki\"] = WikiParser;\n\n})();\n\n",
            "type": "application/javascript",
            "module-type": "parser"
        },
        "$:/core/modules/parsers/wikiparser/rules/wikirulebase.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/wikirulebase.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/wikirulebase.js\ntype: application/javascript\nmodule-type: global\n\nBase class for wiki parser rules\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nThis constructor is always overridden with a blank constructor, and so shouldn't be used\n*/\nvar WikiRuleBase = function() {\n};\n\n/*\nTo be overridden by individual rules\n*/\nWikiRuleBase.prototype.init = function(parser) {\n\tthis.parser = parser;\n};\n\n/*\nDefault implementation of findNextMatch uses RegExp matching\n*/\nWikiRuleBase.prototype.findNextMatch = function(startPos) {\n\tthis.matchRegExp.lastIndex = startPos;\n\tthis.match = this.matchRegExp.exec(this.parser.source);\n\treturn this.match ? this.match.index : undefined;\n};\n\nexports.WikiRuleBase = WikiRuleBase;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "global"
        },
        "$:/core/modules/pluginswitcher.js": {
            "title": "$:/core/modules/pluginswitcher.js",
            "text": "/*\\\ntitle: $:/core/modules/pluginswitcher.js\ntype: application/javascript\nmodule-type: global\n\nManages switching plugins for themes and languages.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\noptions:\nwiki: wiki store to be used\npluginType: type of plugin to be switched\ncontrollerTitle: title of tiddler used to control switching of this resource\ndefaultPlugins: array of default plugins to be used if nominated plugin isn't found\nonSwitch: callback when plugin is switched (single parameter is array of plugin titles)\n*/\nfunction PluginSwitcher(options) {\n\tthis.wiki = options.wiki;\n\tthis.pluginType = options.pluginType;\n\tthis.controllerTitle = options.controllerTitle;\n\tthis.defaultPlugins = options.defaultPlugins || [];\n\tthis.onSwitch = options.onSwitch;\n\t// Switch to the current plugin\n\tthis.switchPlugins();\n\t// Listen for changes to the selected plugin\n\tvar self = this;\n\tthis.wiki.addEventListener(\"change\",function(changes) {\n\t\tif($tw.utils.hop(changes,self.controllerTitle)) {\n\t\t\tself.switchPlugins();\n\t\t}\n\t});\n}\n\nPluginSwitcher.prototype.switchPlugins = function() {\n\t// Get the name of the current theme\n\tvar selectedPluginTitle = this.wiki.getTiddlerText(this.controllerTitle);\n\t// If it doesn't exist, then fallback to one of the default themes\n\tvar index = 0;\n\twhile(!this.wiki.getTiddler(selectedPluginTitle) && index < this.defaultPlugins.length) {\n\t\tselectedPluginTitle = this.defaultPlugins[index++];\n\t}\n\t// Accumulate the titles of the plugins that we need to load\n\tvar plugins = [],\n\t\tself = this,\n\t\taccumulatePlugin = function(title) {\n\t\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\t\tif(tiddler && tiddler.isPlugin() && plugins.indexOf(title) === -1) {\n\t\t\t\tplugins.push(title);\n\t\t\t\tvar pluginInfo = JSON.parse(self.wiki.getTiddlerText(title)),\n\t\t\t\t\tdependents = $tw.utils.parseStringArray(tiddler.fields.dependents || \"\");\n\t\t\t\t$tw.utils.each(dependents,function(title) {\n\t\t\t\t\taccumulatePlugin(title);\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\taccumulatePlugin(selectedPluginTitle);\n\t// Unregister any existing theme tiddlers\n\tvar unregisteredTiddlers = $tw.wiki.unregisterPluginTiddlers(this.pluginType);\n\t// Register any new theme tiddlers\n\tvar registeredTiddlers = $tw.wiki.registerPluginTiddlers(this.pluginType,plugins);\n\t// Unpack the current theme tiddlers\n\t$tw.wiki.unpackPluginTiddlers();\n\t// Call the switch handler\n\tif(this.onSwitch) {\n\t\tthis.onSwitch(plugins);\n\t}\n};\n\nexports.PluginSwitcher = PluginSwitcher;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "global"
        },
        "$:/core/modules/saver-handler.js": {
            "title": "$:/core/modules/saver-handler.js",
            "text": "/*\\\ntitle: $:/core/modules/saver-handler.js\ntype: application/javascript\nmodule-type: global\n\nThe saver handler tracks changes to the store and handles saving the entire wiki via saver modules.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInstantiate the saver handler with the following options:\nwiki: wiki to be synced\ndirtyTracking: true if dirty tracking should be performed\n*/\nfunction SaverHandler(options) {\n\tvar self = this;\n\tthis.wiki = options.wiki;\n\tthis.dirtyTracking = options.dirtyTracking;\n\tthis.preloadDirty = options.preloadDirty || [];\n\tthis.pendingAutoSave = false;\n\t// Make a logger\n\tthis.logger = new $tw.utils.Logger(\"saver-handler\");\n\t// Initialise our savers\n\tif($tw.browser) {\n\t\tthis.initSavers();\n\t}\n\t// Only do dirty tracking if required\n\tif($tw.browser && this.dirtyTracking) {\n\t\t// Compile the dirty tiddler filter\n\t\tthis.filterFn = this.wiki.compileFilter(this.wiki.getTiddlerText(this.titleSyncFilter));\n\t\t// Count of changes that have not yet been saved\n\t\tvar filteredChanges = self.filterFn.call(self.wiki,function(iterator) {\n\t\t\t\t$tw.utils.each(self.preloadDirty,function(title) {\n\t\t\t\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\t\t\t\titerator(tiddler,title);\n\t\t\t\t});\n\t\t});\n\t\tthis.numChanges = filteredChanges.length;\n\t\t// Listen out for changes to tiddlers\n\t\tthis.wiki.addEventListener(\"change\",function(changes) {\n\t\t\t// Filter the changes so that we only count changes to tiddlers that we care about\n\t\t\tvar filteredChanges = self.filterFn.call(self.wiki,function(iterator) {\n\t\t\t\t$tw.utils.each(changes,function(change,title) {\n\t\t\t\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\t\t\t\titerator(tiddler,title);\n\t\t\t\t});\n\t\t\t});\n\t\t\t// Adjust the number of changes\n\t\t\tself.numChanges += filteredChanges.length;\n\t\t\tself.updateDirtyStatus();\n\t\t\t// Do any autosave if one is pending and there's no more change events\n\t\t\tif(self.pendingAutoSave && self.wiki.getSizeOfTiddlerEventQueue() === 0) {\n\t\t\t\t// Check if we're dirty\n\t\t\t\tif(self.numChanges > 0) {\n\t\t\t\t\tself.saveWiki({\n\t\t\t\t\t\tmethod: \"autosave\",\n\t\t\t\t\t\tdownloadType: \"text/plain\"\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tself.pendingAutoSave = false;\n\t\t\t}\n\t\t});\n\t\t// Listen for the autosave event\n\t\t$tw.rootWidget.addEventListener(\"tm-auto-save-wiki\",function(event) {\n\t\t\t// Do the autosave unless there are outstanding tiddler change events\n\t\t\tif(self.wiki.getSizeOfTiddlerEventQueue() === 0) {\n\t\t\t\t// Check if we're dirty\n\t\t\t\tif(self.numChanges > 0) {\n\t\t\t\t\tself.saveWiki({\n\t\t\t\t\t\tmethod: \"autosave\",\n\t\t\t\t\t\tdownloadType: \"text/plain\"\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Otherwise put ourselves in the \"pending autosave\" state and wait for the change event before we do the autosave\n\t\t\t\tself.pendingAutoSave = true;\n\t\t\t}\n\t\t});\n\t\t// Set up our beforeunload handler\n\t\t$tw.addUnloadTask(function(event) {\n\t\t\tvar confirmationMessage;\n\t\t\tif(self.isDirty()) {\n\t\t\t\tconfirmationMessage = $tw.language.getString(\"UnsavedChangesWarning\");\n\t\t\t\tevent.returnValue = confirmationMessage; // Gecko\n\t\t\t}\n\t\t\treturn confirmationMessage;\n\t\t});\n\t}\n\t// Install the save action handlers\n\tif($tw.browser) {\n\t\t$tw.rootWidget.addEventListener(\"tm-save-wiki\",function(event) {\n\t\t\tself.saveWiki({\n\t\t\t\ttemplate: event.param,\n\t\t\t\tdownloadType: \"text/plain\",\n\t\t\t\tvariables: event.paramObject\n\t\t\t});\n\t\t});\n\t\t$tw.rootWidget.addEventListener(\"tm-download-file\",function(event) {\n\t\t\tself.saveWiki({\n\t\t\t\tmethod: \"download\",\n\t\t\t\ttemplate: event.param,\n\t\t\t\tdownloadType: \"text/plain\",\n\t\t\t\tvariables: event.paramObject\n\t\t\t});\n\t\t});\n\t}\n}\n\nSaverHandler.prototype.titleSyncFilter = \"$:/config/SaverFilter\";\nSaverHandler.prototype.titleAutoSave = \"$:/config/AutoSave\";\nSaverHandler.prototype.titleSavedNotification = \"$:/language/Notifications/Save/Done\";\n\n/*\nSelect the appropriate saver modules and set them up\n*/\nSaverHandler.prototype.initSavers = function(moduleType) {\n\tmoduleType = moduleType || \"saver\";\n\t// Instantiate the available savers\n\tthis.savers = [];\n\tvar self = this;\n\t$tw.modules.forEachModuleOfType(moduleType,function(title,module) {\n\t\tif(module.canSave(self)) {\n\t\t\tself.savers.push(module.create(self.wiki));\n\t\t}\n\t});\n\t// Sort the savers into priority order\n\tthis.savers.sort(function(a,b) {\n\t\tif(a.info.priority < b.info.priority) {\n\t\t\treturn -1;\n\t\t} else {\n\t\t\tif(a.info.priority > b.info.priority) {\n\t\t\t\treturn +1;\n\t\t\t} else {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\nSave the wiki contents. Options are:\n\tmethod: \"save\", \"autosave\" or \"download\"\n\ttemplate: the tiddler containing the template to save\n\tdownloadType: the content type for the saved file\n*/\nSaverHandler.prototype.saveWiki = function(options) {\n\toptions = options || {};\n\tvar self = this,\n\t\tmethod = options.method || \"save\";\n\t// Ignore autosave if disabled\n\tif(method === \"autosave\" && this.wiki.getTiddlerText(this.titleAutoSave,\"yes\") !== \"yes\") {\n\t\treturn false;\n\t}\n\tvar\tvariables = options.variables || {},\n\t\ttemplate = options.template || \"$:/core/save/all\",\n\t\tdownloadType = options.downloadType || \"text/plain\",\n\t\ttext = this.wiki.renderTiddler(downloadType,template,options),\n\t\tcallback = function(err) {\n\t\t\tif(err) {\n\t\t\t\talert($tw.language.getString(\"Error/WhileSaving\") + \":\\n\\n\" + err);\n\t\t\t} else {\n\t\t\t\t// Clear the task queue if we're saving (rather than downloading)\n\t\t\t\tif(method !== \"download\") {\n\t\t\t\t\tself.numChanges = 0;\n\t\t\t\t\tself.updateDirtyStatus();\n\t\t\t\t}\n\t\t\t\t$tw.notifier.display(self.titleSavedNotification);\n\t\t\t\tif(options.callback) {\n\t\t\t\t\toptions.callback();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t// Call the highest priority saver that supports this method\n\tfor(var t=this.savers.length-1; t>=0; t--) {\n\t\tvar saver = this.savers[t];\n\t\tif(saver.info.capabilities.indexOf(method) !== -1 && saver.save(text,method,callback,{variables: {filename: variables.filename}})) {\n\t\t\tthis.logger.log(\"Saving wiki with method\",method,\"through saver\",saver.info.name);\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n};\n\n/*\nChecks whether the wiki is dirty (ie the window shouldn't be closed)\n*/\nSaverHandler.prototype.isDirty = function() {\n\treturn this.numChanges > 0;\n};\n\n/*\nUpdate the document body with the class \"tc-dirty\" if the wiki has unsaved/unsynced changes\n*/\nSaverHandler.prototype.updateDirtyStatus = function() {\n\tif($tw.browser) {\n\t\t$tw.utils.toggleClass(document.body,\"tc-dirty\",this.isDirty());\n\t}\n};\n\nexports.SaverHandler = SaverHandler;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "global"
        },
        "$:/core/modules/savers/andtidwiki.js": {
            "title": "$:/core/modules/savers/andtidwiki.js",
            "text": "/*\\\ntitle: $:/core/modules/savers/andtidwiki.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via the AndTidWiki Android app\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false, netscape: false, Components: false */\n\"use strict\";\n\nvar AndTidWiki = function(wiki) {\n};\n\nAndTidWiki.prototype.save = function(text,method,callback) {\n\t// Get the pathname of this document\n\tvar pathname = decodeURIComponent(document.location.toString().split(\"#\")[0]);\n\t// Strip the file://\n\tif(pathname.indexOf(\"file://\") === 0) {\n\t\tpathname = pathname.substr(7);\n\t}\n\t// Strip any query or location part\n\tvar p = pathname.indexOf(\"?\");\n\tif(p !== -1) {\n\t\tpathname = pathname.substr(0,p);\n\t}\n\tp = pathname.indexOf(\"#\");\n\tif(p !== -1) {\n\t\tpathname = pathname.substr(0,p);\n\t}\n\t// Save the file\n\twindow.twi.saveFile(pathname,text);\n\t// Call the callback\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nAndTidWiki.prototype.info = {\n\tname: \"andtidwiki\",\n\tpriority: 1600,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn !!window.twi && !!window.twi.saveFile;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new AndTidWiki(wiki);\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "saver"
        },
        "$:/core/modules/savers/beaker.js": {
            "title": "$:/core/modules/savers/beaker.js",
            "text": "/*\\\ntitle: $:/core/modules/savers/beaker.js\ntype: application/javascript\nmodule-type: saver\n\nSaves files using the Beaker browser's (https://beakerbrowser.com) Dat protocol (https://datproject.org/)\nCompatible with beaker >= V0.7.2\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSet up the saver\n*/\nvar BeakerSaver = function(wiki) {\n\tthis.wiki = wiki;\n};\n\nBeakerSaver.prototype.save = function(text,method,callback) {\n\tvar dat = new DatArchive(\"\" + window.location),\n\t\tpathname = (\"\" + window.location.pathname).split(\"#\")[0];\n\tdat.stat(pathname).then(function(value) {\n\t\tif(value.isDirectory()) {\n\t\t\tpathname = pathname + \"/index.html\";\n\t\t}\n\t\tdat.writeFile(pathname,text,\"utf8\").then(function(value) {\n\t\t\tcallback(null);\n\t\t},function(reason) {\n\t\t\tcallback(\"Beaker Saver Write Error: \" + reason);\n\t\t});\n\t},function(reason) {\n\t\tcallback(\"Beaker Saver Stat Error: \" + reason);\n\t});\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nBeakerSaver.prototype.info = {\n\tname: \"beaker\",\n\tpriority: 3000,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn !!window.DatArchive && location.protocol===\"dat:\";\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new BeakerSaver(wiki);\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "saver"
        },
        "$:/core/modules/savers/download.js": {
            "title": "$:/core/modules/savers/download.js",
            "text": "/*\\\ntitle: $:/core/modules/savers/download.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via HTML5's download APIs\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar DownloadSaver = function(wiki) {\n};\n\nDownloadSaver.prototype.save = function(text,method,callback,options) {\n\toptions = options || {};\n\t// Get the current filename\n\tvar filename = options.variables.filename;\n\tif(!filename) {\n\t\tvar p = document.location.pathname.lastIndexOf(\"/\");\n\t\tif(p !== -1) {\n\t\t\t// We decode the pathname because document.location is URL encoded by the browser\n\t\t\tfilename = decodeURIComponent(document.location.pathname.substr(p+1));\n\t\t}\n\t}\n\tif(!filename) {\n\t\tfilename = \"tiddlywiki.html\";\n\t}\n\t// Set up the link\n\tvar link = document.createElement(\"a\");\n\tif(Blob !== undefined) {\n\t\tvar blob = new Blob([text], {type: \"text/html\"});\n\t\tlink.setAttribute(\"href\", URL.createObjectURL(blob));\n\t} else {\n\t\tlink.setAttribute(\"href\",\"data:text/html,\" + encodeURIComponent(text));\n\t}\n\tlink.setAttribute(\"download\",filename);\n\tdocument.body.appendChild(link);\n\tlink.click();\n\tdocument.body.removeChild(link);\n\t// Callback that we succeeded\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nDownloadSaver.prototype.info = {\n\tname: \"download\",\n\tpriority: 100\n};\n\nObject.defineProperty(DownloadSaver.prototype.info, \"capabilities\", {\n\tget: function() {\n\t\tvar capabilities = [\"save\", \"download\"];\n\t\tif(($tw.wiki.getTextReference(\"$:/config/DownloadSaver/AutoSave\") || \"\").toLowerCase() === \"yes\") {\n\t\t\tcapabilities.push(\"autosave\");\n\t\t}\n\t\treturn capabilities;\n\t}\n});\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn document.createElement(\"a\").download !== undefined;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new DownloadSaver(wiki);\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "saver"
        },
        "$:/core/modules/savers/fsosaver.js": {
            "title": "$:/core/modules/savers/fsosaver.js",
            "text": "/*\\\ntitle: $:/core/modules/savers/fsosaver.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via MS FileSystemObject ActiveXObject\n\nNote: Since TiddlyWiki's markup contains the MOTW, the FileSystemObject normally won't be available. \nHowever, if the wiki is loaded as an .HTA file (Windows HTML Applications) then the FSO can be used.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar FSOSaver = function(wiki) {\n};\n\nFSOSaver.prototype.save = function(text,method,callback) {\n\t// Get the pathname of this document\n\tvar pathname = unescape(document.location.pathname);\n\t// Test for a Windows path of the form /x:\\blah...\n\tif(/^\\/[A-Z]\\:\\\\[^\\\\]+/i.test(pathname)) {\t// ie: ^/[a-z]:/[^/]+\n\t\t// Remove the leading slash\n\t\tpathname = pathname.substr(1);\n\t} else if(document.location.hostname !== \"\" && /^\\/\\\\[^\\\\]+\\\\[^\\\\]+/i.test(pathname)) {\t// test for \\\\server\\share\\blah... - ^/[^/]+/[^/]+\n\t\t// Remove the leading slash\n\t\tpathname = pathname.substr(1);\n\t\t// reconstruct UNC path\n\t\tpathname = \"\\\\\\\\\" + document.location.hostname + pathname;\n\t} else {\n\t\treturn false;\n\t}\n\t// Save the file (as UTF-16)\n\tvar fso = new ActiveXObject(\"Scripting.FileSystemObject\");\n\tvar file = fso.OpenTextFile(pathname,2,-1,-1);\n\tfile.Write(text);\n\tfile.Close();\n\t// Callback that we succeeded\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nFSOSaver.prototype.info = {\n\tname: \"FSOSaver\",\n\tpriority: 120,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\ttry {\n\t\treturn (window.location.protocol === \"file:\") && !!(new ActiveXObject(\"Scripting.FileSystemObject\"));\n\t} catch(e) { return false; }\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new FSOSaver(wiki);\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "saver"
        },
        "$:/core/modules/savers/github.js": {
            "title": "$:/core/modules/savers/github.js",
            "text": "/*\\\ntitle: $:/core/modules/savers/github.js\ntype: application/javascript\nmodule-type: saver\n\nSaves wiki by pushing a commit to the GitHub v3 REST API\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar GitHubSaver = function(wiki) {\n\tthis.wiki = wiki;\n};\n\nGitHubSaver.prototype.save = function(text,method,callback) {\n\tvar self = this,\n\t\tusername = this.wiki.getTiddlerText(\"$:/GitHub/Username\"),\n\t\tpassword = $tw.utils.getPassword(\"github\"),\n\t\trepo = this.wiki.getTiddlerText(\"$:/GitHub/Repo\"),\n\t\tpath = this.wiki.getTiddlerText(\"$:/GitHub/Path\"),\n\t\tfilename = this.wiki.getTiddlerText(\"$:/GitHub/Filename\"),\n\t\tbranch = this.wiki.getTiddlerText(\"$:/GitHub/Branch\") || \"master\",\n\t\tendpoint = this.wiki.getTiddlerText(\"$:/GitHub/ServerURL\") || \"https://api.github.com\",\n\t\theaders = {\n\t\t\t\"Accept\": \"application/vnd.github.v3+json\",\n\t\t\t\"Content-Type\": \"application/json;charset=UTF-8\",\n\t\t\t\"Authorization\": \"Basic \" + window.btoa(username + \":\" + password)\n\t\t};\n\t// Bail if we don't have everything we need\n\tif(!username || !password || !repo || !path || !filename) {\n\t\treturn false;\n\t}\n\t// Make sure the path start and ends with a slash\n\tif(path.substring(0,1) !== \"/\") {\n\t\tpath = \"/\" + path;\n\t}\n\tif(path.substring(path.length - 1) !== \"/\") {\n\t\tpath = path + \"/\";\n\t}\n\t// Compose the base URI\n\tvar uri = endpoint + \"/repos/\" + repo + \"/contents\" + path;\n\t// Perform a get request to get the details (inc shas) of files in the same path as our file\n\t$tw.utils.httpRequest({\n\t\turl: uri,\n\t\ttype: \"GET\",\n\t\theaders: headers,\n\t\tdata: {\n\t\t\tref: branch\n\t\t},\n\t\tcallback: function(err,getResponseDataJson,xhr) {\n\t\t\tvar getResponseData,sha = \"\";\n\t\t\tif(err && xhr.status !== 404) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tif(xhr.status !== 404) {\n\t\t\t\tgetResponseData = JSON.parse(getResponseDataJson);\n\t\t\t\t$tw.utils.each(getResponseData,function(details) {\n\t\t\t\t\tif(details.name === filename) {\n\t\t\t\t\t\tsha = details.sha;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\tvar data = {\n\t\t\t\tmessage: $tw.language.getRawString(\"ControlPanel/Saving/GitService/CommitMessage\"),\n\t\t\t\tcontent: $tw.utils.base64Encode(text),\n\t\t\t\tbranch: branch,\n\t\t\t\tsha: sha\n\t\t\t};\n\t\t\t// Perform a PUT request to save the file\n\t\t\t$tw.utils.httpRequest({\n\t\t\t\turl: uri + filename,\n\t\t\t\ttype: \"PUT\",\n\t\t\t\theaders: headers,\n\t\t\t\tdata: JSON.stringify(data),\n\t\t\t\tcallback: function(err,putResponseDataJson,xhr) {\n\t\t\t\t\tif(err) {\n\t\t\t\t\t\treturn callback(err);\n\t\t\t\t\t}\n\t\t\t\t\tvar putResponseData = JSON.parse(putResponseDataJson);\n\t\t\t\t\tcallback(null);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nGitHubSaver.prototype.info = {\n\tname: \"github\",\n\tpriority: 2000,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new GitHubSaver(wiki);\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "saver"
        },
        "$:/core/modules/savers/gitlab.js": {
            "title": "$:/core/modules/savers/gitlab.js",
            "text": "/*\\\ntitle: $:/core/modules/savers/gitlab.js\ntype: application/javascript\nmodule-type: saver\n\nSaves wiki by pushing a commit to the GitLab REST API\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: true */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar GitLabSaver = function(wiki) {\n\tthis.wiki = wiki;\n};\n\nGitLabSaver.prototype.save = function(text,method,callback) {\n\t/* See https://docs.gitlab.com/ee/api/repository_files.html */\n\tvar self = this,\n\t\tusername = this.wiki.getTiddlerText(\"$:/GitLab/Username\"),\n\t\tpassword = $tw.utils.getPassword(\"gitlab\"),\n\t\trepo = this.wiki.getTiddlerText(\"$:/GitLab/Repo\"),\n\t\tpath = this.wiki.getTiddlerText(\"$:/GitLab/Path\"),\n\t\tfilename = this.wiki.getTiddlerText(\"$:/GitLab/Filename\"),\n\t\tbranch = this.wiki.getTiddlerText(\"$:/GitLab/Branch\") || \"master\",\n\t\tendpoint = this.wiki.getTiddlerText(\"$:/GitLab/ServerURL\") || \"https://gitlab.com/api/v4\",\n\t\theaders = {\n\t\t\t\"Content-Type\": \"application/json;charset=UTF-8\",\n\t\t\t\"Private-Token\": password\n\t\t};\n\t// Bail if we don't have everything we need\n\tif(!username || !password || !repo || !path || !filename) {\n\t\treturn false;\n\t}\n\t// Make sure the path start and ends with a slash\n\tif(path.substring(0,1) !== \"/\") {\n\t\tpath = \"/\" + path;\n\t}\n\tif(path.substring(path.length - 1) !== \"/\") {\n\t\tpath = path + \"/\";\n\t}\n\t// Compose the base URI\n\tvar uri = endpoint + \"/projects/\" + encodeURIComponent(repo) + \"/repository/\";\n\t// Perform a get request to get the details (inc shas) of files in the same path as our file\n\t$tw.utils.httpRequest({\n\t\turl: uri + \"tree/\" + encodeURIComponent(path.replace(/^\\/+|\\/$/g, '')),\n\t\ttype: \"GET\",\n\t\theaders: headers,\n\t\tdata: {\n\t\t\tref: branch\n\t\t},\n\t\tcallback: function(err,getResponseDataJson,xhr) {\n\t\t\tvar getResponseData,sha = \"\";\n\t\t\tif(err && xhr.status !== 404) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tvar requestType = \"POST\";\n\t\t\tif(xhr.status !== 404) {\n\t\t\t\tgetResponseData = JSON.parse(getResponseDataJson);\n\t\t\t\t$tw.utils.each(getResponseData,function(details) {\n\t\t\t\t\tif(details.name === filename) {\n\t\t\t\t\t\trequestType = \"PUT\";\n\t\t\t\t\t\tsha = details.sha;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\tvar data = {\n\t\t\t\tcommit_message: $tw.language.getRawString(\"ControlPanel/Saving/GitService/CommitMessage\"),\n\t\t\t\tcontent: text,\n\t\t\t\tbranch: branch,\n\t\t\t\tsha: sha\n\t\t\t};\n\t\t\t// Perform a request to save the file\n\t\t\t$tw.utils.httpRequest({\n\t\t\t\turl: uri + \"files/\" + encodeURIComponent(path.replace(/^\\/+/, '') + filename),\n\t\t\t\ttype: requestType,\n\t\t\t\theaders: headers,\n\t\t\t\tdata: JSON.stringify(data),\n\t\t\t\tcallback: function(err,putResponseDataJson,xhr) {\n\t\t\t\t\tif(err) {\n\t\t\t\t\t\treturn callback(err);\n\t\t\t\t\t}\n\t\t\t\t\tvar putResponseData = JSON.parse(putResponseDataJson);\n\t\t\t\t\tcallback(null);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nGitLabSaver.prototype.info = {\n\tname: \"gitlab\",\n\tpriority: 2000,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new GitLabSaver(wiki);\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "saver"
        },
        "$:/core/modules/savers/manualdownload.js": {
            "title": "$:/core/modules/savers/manualdownload.js",
            "text": "/*\\\ntitle: $:/core/modules/savers/manualdownload.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via HTML5's download APIs\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Title of the tiddler containing the download message\nvar downloadInstructionsTitle = \"$:/language/Modals/Download\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar ManualDownloadSaver = function(wiki) {\n};\n\nManualDownloadSaver.prototype.save = function(text,method,callback) {\n\t$tw.modal.display(downloadInstructionsTitle,{\n\t\tdownloadLink: \"data:text/html,\" + encodeURIComponent(text)\n\t});\n\t// Callback that we succeeded\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nManualDownloadSaver.prototype.info = {\n\tname: \"manualdownload\",\n\tpriority: 0,\n\tcapabilities: [\"save\", \"download\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new ManualDownloadSaver(wiki);\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "saver"
        },
        "$:/core/modules/savers/msdownload.js": {
            "title": "$:/core/modules/savers/msdownload.js",
            "text": "/*\\\ntitle: $:/core/modules/savers/msdownload.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via window.navigator.msSaveBlob()\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar MsDownloadSaver = function(wiki) {\n};\n\nMsDownloadSaver.prototype.save = function(text,method,callback) {\n\t// Get the current filename\n\tvar filename = \"tiddlywiki.html\",\n\t\tp = document.location.pathname.lastIndexOf(\"/\");\n\tif(p !== -1) {\n\t\tfilename = document.location.pathname.substr(p+1);\n\t}\n\t// Set up the link\n\tvar blob = new Blob([text], {type: \"text/html\"});\n\twindow.navigator.msSaveBlob(blob,filename);\n\t// Callback that we succeeded\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nMsDownloadSaver.prototype.info = {\n\tname: \"msdownload\",\n\tpriority: 110,\n\tcapabilities: [\"save\", \"download\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn !!window.navigator.msSaveBlob;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new MsDownloadSaver(wiki);\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "saver"
        },
        "$:/core/modules/savers/put.js": {
            "title": "$:/core/modules/savers/put.js",
            "text": "/*\\\ntitle: $:/core/modules/savers/put.js\ntype: application/javascript\nmodule-type: saver\n\nSaves wiki by performing a PUT request to the server\n\nWorks with any server which accepts a PUT request\nto the current URL, such as a WebDAV server.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nRetrieve ETag if available\n*/\nvar retrieveETag = function(self) {\n\tvar headers = {\n\t\tAccept: \"*/*;charset=UTF-8\"\n\t};\n\t$tw.utils.httpRequest({\n\t\turl: self.uri(),\n\t\ttype: \"HEAD\",\n\t\theaders: headers,\n\t\tcallback: function(err,data,xhr) {\n\t\t\tif(err) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar etag = xhr.getResponseHeader(\"ETag\");\n\t\t\tif(!etag) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tself.etag = etag.replace(/^W\\//,\"\");\n\t\t}\n\t});\n};\n\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar PutSaver = function(wiki) {\n\tthis.wiki = wiki;\n\tvar self = this;\n\tvar uri = this.uri();\n\t// Async server probe. Until probe finishes, save will fail fast\n\t// See also https://github.com/Jermolene/TiddlyWiki5/issues/2276\n\t$tw.utils.httpRequest({\n\t\turl: uri,\n\t\ttype: \"OPTIONS\",\n\t\tcallback: function(err,data,xhr) {\n\t\t\t// Check DAV header http://www.webdav.org/specs/rfc2518.html#rfc.section.9.1\n\t\t\tif(!err) {\n\t\t\t\tself.serverAcceptsPuts = xhr.status === 200 && !!xhr.getResponseHeader(\"dav\");\n\t\t\t}\n\t\t}\n\t});\n\tretrieveETag(this);\n};\n\nPutSaver.prototype.uri = function() {\n\treturn document.location.toString().split(\"#\")[0];\n};\n\n// TODO: in case of edit conflict\n// Prompt: Do you want to save over this? Y/N\n// Merging would be ideal, and may be possible using future generic merge flow\nPutSaver.prototype.save = function(text,method,callback) {\n\tif(!this.serverAcceptsPuts) {\n\t\treturn false;\n\t}\n\tvar self = this;\n\tvar headers = {\n\t\t\"Content-Type\": \"text/html;charset=UTF-8\"\n\t};\n\tif(this.etag) {\n\t\theaders[\"If-Match\"] = this.etag;\n\t}\n\t$tw.utils.httpRequest({\n\t\turl: this.uri(),\n\t\ttype: \"PUT\",\n\t\theaders: headers,\n\t\tdata: text,\n\t\tcallback: function(err,data,xhr) {\n\t\t\tif(err) {\n\t\t\t\t// response is textual: \"XMLHttpRequest error code: 412\"\n\t\t\t\tvar status = Number(err.substring(err.indexOf(':') + 2, err.length))\n\t\t\t\tif(status === 412) { // edit conflict\n\t\t\t\t\tvar message = $tw.language.getString(\"Error/EditConflict\");\n\t\t\t\t\tcallback(message);\n\t\t\t\t} else {\n\t\t\t\t\tcallback(err); // fail\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tself.etag = xhr.getResponseHeader(\"ETag\");\n\t\t\t\tif(self.etag == null) {\n\t\t\t\t\tretrieveETag(self);\n\t\t\t\t}\n\t\t\t\tcallback(null); // success\n\t\t\t}\n\t\t}\n\t});\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nPutSaver.prototype.info = {\n\tname: \"put\",\n\tpriority: 2000,\n\tcapabilities: [\"save\",\"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn /^https?:/.test(location.protocol);\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new PutSaver(wiki);\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "saver"
        },
        "$:/core/modules/savers/tiddlyfox.js": {
            "title": "$:/core/modules/savers/tiddlyfox.js",
            "text": "/*\\\ntitle: $:/core/modules/savers/tiddlyfox.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via the TiddlyFox file extension\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false, netscape: false, Components: false */\n\"use strict\";\n\nvar TiddlyFoxSaver = function(wiki) {\n};\n\nTiddlyFoxSaver.prototype.save = function(text,method,callback) {\n\tvar messageBox = document.getElementById(\"tiddlyfox-message-box\");\n\tif(messageBox) {\n\t\t// Get the pathname of this document\n\t\tvar pathname = document.location.toString().split(\"#\")[0];\n\t\t// Replace file://localhost/ with file:///\n\t\tif(pathname.indexOf(\"file://localhost/\") === 0) {\n\t\t\tpathname = \"file://\" + pathname.substr(16);\n\t\t}\n\t\t// Windows path file:///x:/blah/blah --> x:\\blah\\blah\n\t\tif(/^file\\:\\/\\/\\/[A-Z]\\:\\//i.test(pathname)) {\n\t\t\t// Remove the leading slash and convert slashes to backslashes\n\t\t\tpathname = pathname.substr(8).replace(/\\//g,\"\\\\\");\n\t\t// Firefox Windows network path file://///server/share/blah/blah --> //server/share/blah/blah\n\t\t} else if(pathname.indexOf(\"file://///\") === 0) {\n\t\t\tpathname = \"\\\\\\\\\" + unescape(pathname.substr(10)).replace(/\\//g,\"\\\\\");\n\t\t// Mac/Unix local path file:///path/path --> /path/path\n\t\t} else if(pathname.indexOf(\"file:///\") === 0) {\n\t\t\tpathname = unescape(pathname.substr(7));\n\t\t// Mac/Unix local path file:/path/path --> /path/path\n\t\t} else if(pathname.indexOf(\"file:/\") === 0) {\n\t\t\tpathname = unescape(pathname.substr(5));\n\t\t// Otherwise Windows networth path file://server/share/path/path --> \\\\server\\share\\path\\path\n\t\t} else {\n\t\t\tpathname = \"\\\\\\\\\" + unescape(pathname.substr(7)).replace(new RegExp(\"/\",\"g\"),\"\\\\\");\n\t\t}\n\t\t// Create the message element and put it in the message box\n\t\tvar message = document.createElement(\"div\");\n\t\tmessage.setAttribute(\"data-tiddlyfox-path\",decodeURIComponent(pathname));\n\t\tmessage.setAttribute(\"data-tiddlyfox-content\",text);\n\t\tmessageBox.appendChild(message);\n\t\t// Add an event handler for when the file has been saved\n\t\tmessage.addEventListener(\"tiddlyfox-have-saved-file\",function(event) {\n\t\t\tcallback(null);\n\t\t}, false);\n\t\t// Create and dispatch the custom event to the extension\n\t\tvar event = document.createEvent(\"Events\");\n\t\tevent.initEvent(\"tiddlyfox-save-file\",true,false);\n\t\tmessage.dispatchEvent(event);\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\n/*\nInformation about this saver\n*/\nTiddlyFoxSaver.prototype.info = {\n\tname: \"tiddlyfox\",\n\tpriority: 1500,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new TiddlyFoxSaver(wiki);\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "saver"
        },
        "$:/core/modules/savers/tiddlyie.js": {
            "title": "$:/core/modules/savers/tiddlyie.js",
            "text": "/*\\\ntitle: $:/core/modules/savers/tiddlyie.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via Internet Explorer BHO extenion (TiddlyIE)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar TiddlyIESaver = function(wiki) {\n};\n\nTiddlyIESaver.prototype.save = function(text,method,callback) {\n\t// Check existence of TiddlyIE BHO extension (note: only works after document is complete)\n\tif(typeof(window.TiddlyIE) != \"undefined\") {\n\t\t// Get the pathname of this document\n\t\tvar pathname = unescape(document.location.pathname);\n\t\t// Test for a Windows path of the form /x:/blah...\n\t\tif(/^\\/[A-Z]\\:\\/[^\\/]+/i.test(pathname)) {\t// ie: ^/[a-z]:/[^/]+ (is this better?: ^/[a-z]:/[^/]+(/[^/]+)*\\.[^/]+ )\n\t\t\t// Remove the leading slash\n\t\t\tpathname = pathname.substr(1);\n\t\t\t// Convert slashes to backslashes\n\t\t\tpathname = pathname.replace(/\\//g,\"\\\\\");\n\t\t} else if(document.hostname !== \"\" && /^\\/[^\\/]+\\/[^\\/]+/i.test(pathname)) {\t// test for \\\\server\\share\\blah... - ^/[^/]+/[^/]+\n\t\t\t// Convert slashes to backslashes\n\t\t\tpathname = pathname.replace(/\\//g,\"\\\\\");\n\t\t\t// reconstruct UNC path\n\t\t\tpathname = \"\\\\\\\\\" + document.location.hostname + pathname;\n\t\t} else return false;\n\t\t// Prompt the user to save the file\n\t\twindow.TiddlyIE.save(pathname, text);\n\t\t// Callback that we succeeded\n\t\tcallback(null);\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\n/*\nInformation about this saver\n*/\nTiddlyIESaver.prototype.info = {\n\tname: \"tiddlyiesaver\",\n\tpriority: 1500,\n\tcapabilities: [\"save\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn (window.location.protocol === \"file:\");\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new TiddlyIESaver(wiki);\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "saver"
        },
        "$:/core/modules/savers/twedit.js": {
            "title": "$:/core/modules/savers/twedit.js",
            "text": "/*\\\ntitle: $:/core/modules/savers/twedit.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via the TWEdit iOS app\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false, netscape: false, Components: false */\n\"use strict\";\n\nvar TWEditSaver = function(wiki) {\n};\n\nTWEditSaver.prototype.save = function(text,method,callback) {\n\t// Bail if we're not running under TWEdit\n\tif(typeof DeviceInfo !== \"object\") {\n\t\treturn false;\n\t}\n\t// Get the pathname of this document\n\tvar pathname = decodeURIComponent(document.location.pathname);\n\t// Strip any query or location part\n\tvar p = pathname.indexOf(\"?\");\n\tif(p !== -1) {\n\t\tpathname = pathname.substr(0,p);\n\t}\n\tp = pathname.indexOf(\"#\");\n\tif(p !== -1) {\n\t\tpathname = pathname.substr(0,p);\n\t}\n\t// Remove the leading \"/Documents\" from path\n\tvar prefix = \"/Documents\";\n\tif(pathname.indexOf(prefix) === 0) {\n\t\tpathname = pathname.substr(prefix.length);\n\t}\n\t// Error handler\n\tvar errorHandler = function(event) {\n\t\t// Error\n\t\tcallback($tw.language.getString(\"Error/SavingToTWEdit\") + \": \" + event.target.error.code);\n\t};\n\t// Get the file system\n\twindow.requestFileSystem(LocalFileSystem.PERSISTENT,0,function(fileSystem) {\n\t\t// Now we've got the filesystem, get the fileEntry\n\t\tfileSystem.root.getFile(pathname, {create: true}, function(fileEntry) {\n\t\t\t// Now we've got the fileEntry, create the writer\n\t\t\tfileEntry.createWriter(function(writer) {\n\t\t\t\twriter.onerror = errorHandler;\n\t\t\t\twriter.onwrite = function() {\n\t\t\t\t\tcallback(null);\n\t\t\t\t};\n\t\t\t\twriter.position = 0;\n\t\t\t\twriter.write(text);\n\t\t\t},errorHandler);\n\t\t}, errorHandler);\n\t}, errorHandler);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nTWEditSaver.prototype.info = {\n\tname: \"twedit\",\n\tpriority: 1600,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new TWEditSaver(wiki);\n};\n\n/////////////////////////// Hack\n// HACK: This ensures that TWEdit recognises us as a TiddlyWiki document\nif($tw.browser) {\n\twindow.version = {title: \"TiddlyWiki\"};\n}\n\n})();\n",
            "type": "application/javascript",
            "module-type": "saver"
        },
        "$:/core/modules/savers/upload.js": {
            "title": "$:/core/modules/savers/upload.js",
            "text": "/*\\\ntitle: $:/core/modules/savers/upload.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via upload to a server.\n\nDesigned to be compatible with BidiX's UploadPlugin at http://tiddlywiki.bidix.info/#UploadPlugin\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar UploadSaver = function(wiki) {\n\tthis.wiki = wiki;\n};\n\nUploadSaver.prototype.save = function(text,method,callback) {\n\t// Get the various parameters we need\n\tvar backupDir = this.wiki.getTextReference(\"$:/UploadBackupDir\") || \".\",\n\t\tusername = this.wiki.getTextReference(\"$:/UploadName\"),\n\t\tpassword = $tw.utils.getPassword(\"upload\"),\n\t\tuploadDir = this.wiki.getTextReference(\"$:/UploadDir\") || \".\",\n\t\tuploadFilename = this.wiki.getTextReference(\"$:/UploadFilename\") || \"index.html\",\n\t\turl = this.wiki.getTextReference(\"$:/UploadURL\");\n\t// Bail out if we don't have the bits we need\n\tif(!username || username.toString().trim() === \"\" || !password || password.toString().trim() === \"\") {\n\t\treturn false;\n\t}\n\t// Construct the url if not provided\n\tif(!url) {\n\t\turl = \"http://\" + username + \".tiddlyspot.com/store.cgi\";\n\t}\n\t// Assemble the header\n\tvar boundary = \"---------------------------\" + \"AaB03x\";\t\n\tvar uploadFormName = \"UploadPlugin\";\n\tvar head = [];\n\thead.push(\"--\" + boundary + \"\\r\\nContent-disposition: form-data; name=\\\"UploadPlugin\\\"\\r\\n\");\n\thead.push(\"backupDir=\" + backupDir + \";user=\" + username + \";password=\" + password + \";uploaddir=\" + uploadDir + \";;\"); \n\thead.push(\"\\r\\n\" + \"--\" + boundary);\n\thead.push(\"Content-disposition: form-data; name=\\\"userfile\\\"; filename=\\\"\" + uploadFilename + \"\\\"\");\n\thead.push(\"Content-Type: text/html;charset=UTF-8\");\n\thead.push(\"Content-Length: \" + text.length + \"\\r\\n\");\n\thead.push(\"\");\n\t// Assemble the tail and the data itself\n\tvar tail = \"\\r\\n--\" + boundary + \"--\\r\\n\",\n\t\tdata = head.join(\"\\r\\n\") + text + tail;\n\t// Do the HTTP post\n\tvar http = new XMLHttpRequest();\n\thttp.open(\"POST\",url,true,username,password);\n\thttp.setRequestHeader(\"Content-Type\",\"multipart/form-data; charset=UTF-8; boundary=\" + boundary);\n\thttp.onreadystatechange = function() {\n\t\tif(http.readyState == 4 && http.status == 200) {\n\t\t\tif(http.responseText.substr(0,4) === \"0 - \") {\n\t\t\t\tcallback(null);\n\t\t\t} else {\n\t\t\t\tcallback(http.responseText);\n\t\t\t}\n\t\t}\n\t};\n\ttry {\n\t\thttp.send(data);\n\t} catch(ex) {\n\t\treturn callback($tw.language.getString(\"Error/Caption\") + \":\" + ex);\n\t}\n\t$tw.notifier.display(\"$:/language/Notifications/Save/Starting\");\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nUploadSaver.prototype.info = {\n\tname: \"upload\",\n\tpriority: 2000,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new UploadSaver(wiki);\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "saver"
        },
        "$:/core/modules/server/authenticators/basic.js": {
            "title": "$:/core/modules/server/authenticators/basic.js",
            "text": "/*\\\ntitle: $:/core/modules/server/authenticators/basic.js\ntype: application/javascript\nmodule-type: authenticator\n\nAuthenticator for WWW basic authentication\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nif($tw.node) {\n\tvar util = require(\"util\"),\n\t\tfs = require(\"fs\"),\n\t\turl = require(\"url\"),\n\t\tpath = require(\"path\");\n}\n\nfunction BasicAuthenticator(server) {\n\tthis.server = server;\n\tthis.credentialsData = [];\n}\n\n/*\nReturns true if the authenticator is active, false if it is inactive, or a string if there is an error\n*/\nBasicAuthenticator.prototype.init = function() {\n\t// Read the credentials data\n\tthis.credentialsFilepath = this.server.get(\"credentials\");\n\tif(this.credentialsFilepath) {\n\t\tvar resolveCredentialsFilepath = path.resolve($tw.boot.wikiPath,this.credentialsFilepath);\n\t\tif(fs.existsSync(resolveCredentialsFilepath) && !fs.statSync(resolveCredentialsFilepath).isDirectory()) {\n\t\t\tvar credentialsText = fs.readFileSync(resolveCredentialsFilepath,\"utf8\"),\n\t\t\t\tcredentialsData = $tw.utils.parseCsvStringWithHeader(credentialsText);\n\t\t\tif(typeof credentialsData === \"string\") {\n\t\t\t\treturn \"Error: \" + credentialsData + \" reading credentials from '\" + resolveCredentialsFilepath + \"'\";\n\t\t\t} else {\n\t\t\t\tthis.credentialsData = credentialsData;\n\t\t\t}\n\t\t} else {\n\t\t\treturn \"Error: Unable to load user credentials from '\" + resolveCredentialsFilepath + \"'\";\n\t\t}\n\t}\n\t// Add the hardcoded username and password if specified\n\tif(this.server.get(\"username\") && this.server.get(\"password\")) {\n\t\tthis.credentialsData = this.credentialsData || [];\n\t\tthis.credentialsData.push({\n\t\t\tusername: this.server.get(\"username\"),\n\t\t\tpassword: this.server.get(\"password\")\n\t\t});\n\t}\n\treturn this.credentialsData.length > 0;\n};\n\n/*\nReturns true if the request is authenticated and assigns the \"authenticatedUsername\" state variable.\nReturns false if the request couldn't be authenticated having sent an appropriate response to the browser\n*/\nBasicAuthenticator.prototype.authenticateRequest = function(request,response,state) {\n\t// Extract the incoming username and password from the request\n\tvar header = request.headers.authorization || \"\";\n\tif(!header && state.allowAnon) {\n\t\t// If there's no header and anonymous access is allowed then we don't set authenticatedUsername\n\t\treturn true;\n\t}\n\tvar token = header.split(/\\s+/).pop() || \"\",\n\t\tauth = $tw.utils.base64Decode(token),\n\t\tparts = auth.split(/:/),\n\t\tincomingUsername = parts[0],\n\t\tincomingPassword = parts[1];\n\t// Check that at least one of the credentials matches\n\tvar matchingCredentials = this.credentialsData.find(function(credential) {\n\t\treturn credential.username === incomingUsername && credential.password === incomingPassword;\n\t});\n\tif(matchingCredentials) {\n\t\t// If so, add the authenticated username to the request state\n\t\tstate.authenticatedUsername = incomingUsername;\n\t\treturn true;\n\t} else {\n\t\t// If not, return an authentication challenge\n\t\tresponse.writeHead(401,\"Authentication required\",{\n\t\t\t\"WWW-Authenticate\": 'Basic realm=\"Please provide your username and password to login to ' + state.server.servername + '\"'\n\t\t});\n\t\tresponse.end();\n\t\treturn false;\n\t}\n};\n\nexports.AuthenticatorClass = BasicAuthenticator;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "authenticator"
        },
        "$:/core/modules/server/authenticators/header.js": {
            "title": "$:/core/modules/server/authenticators/header.js",
            "text": "/*\\\ntitle: $:/core/modules/server/authenticators/header.js\ntype: application/javascript\nmodule-type: authenticator\n\nAuthenticator for trusted header authentication\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nfunction HeaderAuthenticator(server) {\n\tthis.server = server;\n\tthis.header = server.get(\"authenticated-user-header\");\n}\n\n/*\nReturns true if the authenticator is active, false if it is inactive, or a string if there is an error\n*/\nHeaderAuthenticator.prototype.init = function() {\n\treturn !!this.header;\n};\n\n/*\nReturns true if the request is authenticated and assigns the \"authenticatedUsername\" state variable.\nReturns false if the request couldn't be authenticated having sent an appropriate response to the browser\n*/\nHeaderAuthenticator.prototype.authenticateRequest = function(request,response,state) {\n\t// Otherwise, authenticate as the username in the specified header\n\tvar username = request.headers[this.header];\n\tif(!username && !state.allowAnon) {\n\t\tresponse.writeHead(401,\"Authorization header required to login to '\" + state.server.servername + \"'\");\n\t\tresponse.end();\n\t\treturn false;\n\t} else {\n\t\t// authenticatedUsername will be undefined for anonymous users\n\t\tstate.authenticatedUsername = username;\n\t\treturn true;\n\t}\n};\n\nexports.AuthenticatorClass = HeaderAuthenticator;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "authenticator"
        },
        "$:/core/modules/server/routes/delete-tiddler.js": {
            "title": "$:/core/modules/server/routes/delete-tiddler.js",
            "text": "/*\\\ntitle: $:/core/modules/server/routes/delete-tiddler.js\ntype: application/javascript\nmodule-type: route\n\nDELETE /recipes/default/tiddlers/:title\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.method = \"DELETE\";\n\nexports.path = /^\\/bags\\/default\\/tiddlers\\/(.+)$/;\n\nexports.handler = function(request,response,state) {\n\tvar title = decodeURIComponent(state.params[0]);\n\tstate.wiki.deleteTiddler(title);\n\tresponse.writeHead(204, \"OK\", {\n\t\t\"Content-Type\": \"text/plain\"\n\t});\n\tresponse.end();\n};\n\n}());\n",
            "type": "application/javascript",
            "module-type": "route"
        },
        "$:/core/modules/server/routes/get-favicon.js": {
            "title": "$:/core/modules/server/routes/get-favicon.js",
            "text": "/*\\\ntitle: $:/core/modules/server/routes/get-favicon.js\ntype: application/javascript\nmodule-type: route\n\nGET /favicon.ico\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.method = \"GET\";\n\nexports.path = /^\\/favicon.ico$/;\n\nexports.handler = function(request,response,state) {\n\tresponse.writeHead(200, {\"Content-Type\": \"image/x-icon\"});\n\tvar buffer = state.wiki.getTiddlerText(\"$:/favicon.ico\",\"\");\n\tresponse.end(buffer,\"base64\");\n};\n\n}());\n",
            "type": "application/javascript",
            "module-type": "route"
        },
        "$:/core/modules/server/routes/get-file.js": {
            "title": "$:/core/modules/server/routes/get-file.js",
            "text": "/*\\\ntitle: $:/core/modules/server/routes/get-file.js\ntype: application/javascript\nmodule-type: route\n\nGET /files/:filepath\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.method = \"GET\";\n\nexports.path = /^\\/files\\/(.+)$/;\n\nexports.handler = function(request,response,state) {\n\tvar path = require(\"path\"),\n\t\tfs = require(\"fs\"),\n\t\tutil = require(\"util\");\n\tvar filename = path.resolve($tw.boot.wikiPath,\"files\",decodeURIComponent(state.params[0])),\n\t\textension = path.extname(filename);\n\tfs.readFile(filename,function(err,content) {\n\t\tvar status,content,type = \"text/plain\";\n\t\tif(err) {\n\t\t\tif(err.code === \"ENOENT\") {\n\t\t\t\tstatus = 404;\n\t\t\t\tcontent = \"File '\" + filename + \"' not found\";\n\t\t\t} else if(err.code === \"EACCES\") {\n\t\t\t\tstatus = 403;\n\t\t\t\tcontent = \"You do not have permission to access the file '\" + filename + \"'\";\n\t\t\t} else {\n\t\t\t\tstatus = 500;\n\t\t\t\tcontent = err.toString();\n\t\t\t}\n\t\t} else {\n\t\t\tstatus = 200;\n\t\t\tcontent = content;\n\t\t\ttype = ($tw.config.fileExtensionInfo[extension] ? $tw.config.fileExtensionInfo[extension].type : \"application/octet-stream\");\n\t\t}\n\t\tresponse.writeHead(status,{\n\t\t\t\"Content-Type\": type\n\t\t});\n\t\tresponse.end(content);\n\t});\n};\n\n}());\n",
            "type": "application/javascript",
            "module-type": "route"
        },
        "$:/core/modules/server/routes/get-index.js": {
            "title": "$:/core/modules/server/routes/get-index.js",
            "text": "/*\\\ntitle: $:/core/modules/server/routes/get-index.js\ntype: application/javascript\nmodule-type: route\n\nGET /\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar zlib = require(\"zlib\");\n\nexports.method = \"GET\";\n\nexports.path = /^\\/$/;\n\nexports.handler = function(request,response,state) {\n\tvar acceptEncoding = request.headers[\"accept-encoding\"];\n\tif(!acceptEncoding) {\n\t\tacceptEncoding = \"\";\n\t}\n\tvar text = state.wiki.renderTiddler(state.server.get(\"root-render-type\"),state.server.get(\"root-tiddler\")),\n\t\tresponseHeaders = {\n\t\t\"Content-Type\": state.server.get(\"root-serve-type\")\n\t};\n\t/*\n\tIf the gzip=yes flag for `listen` is set, check if the user agent permits\n\tcompression. If so, compress our response. Note that we use the synchronous\n\tfunctions from zlib to stay in the imperative style. The current `Server`\n\tdoesn't depend on this, and we may just as well use the async versions.\n\t*/\n\tif(state.server.enableGzip) {\n\t\tif (/\\bdeflate\\b/.test(acceptEncoding)) {\n\t\t\tresponseHeaders[\"Content-Encoding\"] = \"deflate\";\n\t\t\ttext = zlib.deflateSync(text);\n\t\t} else if (/\\bgzip\\b/.test(acceptEncoding)) {\n\t\t\tresponseHeaders[\"Content-Encoding\"] = \"gzip\";\n\t\t\ttext = zlib.gzipSync(text);\n\t\t}\n\t}\n\tresponse.writeHead(200,responseHeaders);\n\tresponse.end(text);\n};\n\n}());\n",
            "type": "application/javascript",
            "module-type": "route"
        },
        "$:/core/modules/server/routes/get-login-basic.js": {
            "title": "$:/core/modules/server/routes/get-login-basic.js",
            "text": "/*\\\ntitle: $:/core/modules/server/routes/get-login-basic.js\ntype: application/javascript\nmodule-type: route\n\nGET /login-basic -- force a Basic Authentication challenge\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.method = \"GET\";\n\nexports.path = /^\\/login-basic$/;\n\nexports.handler = function(request,response,state) {\n\tif(!state.authenticatedUsername) {\n\t\t// Challenge if there's no username\n\t\tresponse.writeHead(401,{\n\t\t\t\"WWW-Authenticate\": 'Basic realm=\"Please provide your username and password to login to ' + state.server.servername + '\"'\n\t\t});\n\t\tresponse.end();\t\t\n\t} else {\n\t\t// Redirect to the root wiki if login worked\n\t\tresponse.writeHead(302,{\n\t\t\tLocation: \"/\"\n\t\t});\n\t\tresponse.end();\n\t}\n};\n\n}());\n",
            "type": "application/javascript",
            "module-type": "route"
        },
        "$:/core/modules/server/routes/get-status.js": {
            "title": "$:/core/modules/server/routes/get-status.js",
            "text": "/*\\\ntitle: $:/core/modules/server/routes/get-status.js\ntype: application/javascript\nmodule-type: route\n\nGET /status\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.method = \"GET\";\n\nexports.path = /^\\/status$/;\n\nexports.handler = function(request,response,state) {\n\tresponse.writeHead(200, {\"Content-Type\": \"application/json\"});\n\tvar text = JSON.stringify({\n\t\tusername: state.authenticatedUsername || state.server.get(\"anon-username\") || \"\",\n\t\tanonymous: !state.authenticatedUsername,\n\t\tread_only: !state.server.isAuthorized(\"writers\",state.authenticatedUsername),\n\t\tspace: {\n\t\t\trecipe: \"default\"\n\t\t},\n\t\ttiddlywiki_version: $tw.version\n\t});\n\tresponse.end(text,\"utf8\");\n};\n\n}());\n",
            "type": "application/javascript",
            "module-type": "route"
        },
        "$:/core/modules/server/routes/get-tiddler-html.js": {
            "title": "$:/core/modules/server/routes/get-tiddler-html.js",
            "text": "/*\\\ntitle: $:/core/modules/server/routes/get-tiddler-html.js\ntype: application/javascript\nmodule-type: route\n\nGET /:title\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.method = \"GET\";\n\nexports.path = /^\\/([^\\/]+)$/;\n\nexports.handler = function(request,response,state) {\n\tvar title = decodeURIComponent(state.params[0]),\n\t\ttiddler = state.wiki.getTiddler(title);\n\tif(tiddler) {\n\t\tvar renderType = tiddler.getFieldString(\"_render_type\"),\n\t\t\trenderTemplate = tiddler.getFieldString(\"_render_template\");\n\t\t// Tiddler fields '_render_type' and '_render_template' overwrite\n\t\t// system wide settings for render type and template\n\t\tif(state.wiki.isSystemTiddler(title)) {\n\t\t\trenderType = renderType || state.server.get(\"system-tiddler-render-type\");\n\t\t\trenderTemplate = renderTemplate || state.server.get(\"system-tiddler-render-template\");\n\t\t} else {\n\t\t\trenderType = renderType || state.server.get(\"tiddler-render-type\");\n\t\t\trenderTemplate = renderTemplate || state.server.get(\"tiddler-render-template\");\n\t\t}\n\t\tvar text = state.wiki.renderTiddler(renderType,renderTemplate,{parseAsInline: true, variables: {currentTiddler: title}});\n\t\t// Naughty not to set a content-type, but it's the easiest way to ensure the browser will see HTML pages as HTML, and accept plain text tiddlers as CSS or JS\n\t\tresponse.writeHead(200);\n\t\tresponse.end(text,\"utf8\");\n\t} else {\n\t\tresponse.writeHead(404);\n\t\tresponse.end();\n\t}\n};\n\n}());\n",
            "type": "application/javascript",
            "module-type": "route"
        },
        "$:/core/modules/server/routes/get-tiddler.js": {
            "title": "$:/core/modules/server/routes/get-tiddler.js",
            "text": "/*\\\ntitle: $:/core/modules/server/routes/get-tiddler.js\ntype: application/javascript\nmodule-type: route\n\nGET /recipes/default/tiddlers/:title\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.method = \"GET\";\n\nexports.path = /^\\/recipes\\/default\\/tiddlers\\/(.+)$/;\n\nexports.handler = function(request,response,state) {\n\tvar title = decodeURIComponent(state.params[0]),\n\t\ttiddler = state.wiki.getTiddler(title),\n\t\ttiddlerFields = {},\n\t\tknownFields = [\n\t\t\t\"bag\", \"created\", \"creator\", \"modified\", \"modifier\", \"permissions\", \"recipe\", \"revision\", \"tags\", \"text\", \"title\", \"type\", \"uri\"\n\t\t];\n\tif(tiddler) {\n\t\t$tw.utils.each(tiddler.fields,function(field,name) {\n\t\t\tvar value = tiddler.getFieldString(name);\n\t\t\tif(knownFields.indexOf(name) !== -1) {\n\t\t\t\ttiddlerFields[name] = value;\n\t\t\t} else {\n\t\t\t\ttiddlerFields.fields = tiddlerFields.fields || {};\n\t\t\t\ttiddlerFields.fields[name] = value;\n\t\t\t}\n\t\t});\n\t\ttiddlerFields.revision = state.wiki.getChangeCount(title);\n\t\ttiddlerFields.type = tiddlerFields.type || \"text/vnd.tiddlywiki\";\n\t\tresponse.writeHead(200, {\"Content-Type\": \"application/json\"});\n\t\tresponse.end(JSON.stringify(tiddlerFields),\"utf8\");\n\t} else {\n\t\tresponse.writeHead(404);\n\t\tresponse.end();\n\t}\n};\n\n}());\n",
            "type": "application/javascript",
            "module-type": "route"
        },
        "$:/core/modules/server/routes/get-tiddlers-json.js": {
            "title": "$:/core/modules/server/routes/get-tiddlers-json.js",
            "text": "/*\\\ntitle: $:/core/modules/server/routes/get-tiddlers-json.js\ntype: application/javascript\nmodule-type: route\n\nGET /recipes/default/tiddlers/tiddlers.json\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.method = \"GET\";\n\nexports.path = /^\\/recipes\\/default\\/tiddlers.json$/;\n\nexports.handler = function(request,response,state) {\n\tresponse.writeHead(200, {\"Content-Type\": \"application/json\"});\n\tvar tiddlers = [];\n\tstate.wiki.forEachTiddler({sortField: \"title\"},function(title,tiddler) {\n\t\tvar tiddlerFields = {};\n\t\t$tw.utils.each(tiddler.fields,function(field,name) {\n\t\t\tif(name !== \"text\") {\n\t\t\t\ttiddlerFields[name] = tiddler.getFieldString(name);\n\t\t\t}\n\t\t});\n\t\ttiddlerFields.revision = state.wiki.getChangeCount(title);\n\t\ttiddlerFields.type = tiddlerFields.type || \"text/vnd.tiddlywiki\";\n\t\ttiddlers.push(tiddlerFields);\n\t});\n\tvar text = JSON.stringify(tiddlers);\n\tresponse.end(text,\"utf8\");\n};\n\n}());\n",
            "type": "application/javascript",
            "module-type": "route"
        },
        "$:/core/modules/server/routes/put-tiddler.js": {
            "title": "$:/core/modules/server/routes/put-tiddler.js",
            "text": "/*\\\ntitle: $:/core/modules/server/routes/put-tiddler.js\ntype: application/javascript\nmodule-type: route\n\nPUT /recipes/default/tiddlers/:title\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.method = \"PUT\";\n\nexports.path = /^\\/recipes\\/default\\/tiddlers\\/(.+)$/;\n\nexports.handler = function(request,response,state) {\n\tvar title = decodeURIComponent(state.params[0]),\n\tfields = JSON.parse(state.data);\n\t// Pull up any subfields in the `fields` object\n\tif(fields.fields) {\n\t\t$tw.utils.each(fields.fields,function(field,name) {\n\t\t\tfields[name] = field;\n\t\t});\n\t\tdelete fields.fields;\n\t}\n\t// Remove any revision field\n\tif(fields.revision) {\n\t\tdelete fields.revision;\n\t}\n\tstate.wiki.addTiddler(new $tw.Tiddler(state.wiki.getCreationFields(),fields,{title: title},state.wiki.getModificationFields()));\n\tvar changeCount = state.wiki.getChangeCount(title).toString();\n\tresponse.writeHead(204, \"OK\",{\n\t\tEtag: \"\\\"default/\" + encodeURIComponent(title) + \"/\" + changeCount + \":\\\"\",\n\t\t\"Content-Type\": \"text/plain\"\n\t});\n\tresponse.end();\n};\n\n}());\n",
            "type": "application/javascript",
            "module-type": "route"
        },
        "$:/core/modules/server/server.js": {
            "title": "$:/core/modules/server/server.js",
            "text": "/*\\\ntitle: $:/core/modules/server/server.js\ntype: application/javascript\nmodule-type: library\n\nServe tiddlers over http\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nif($tw.node) {\n\tvar util = require(\"util\"),\n\t\tfs = require(\"fs\"),\n\t\turl = require(\"url\"),\n\t\tpath = require(\"path\");\n}\n\n/*\nA simple HTTP server with regexp-based routes\noptions: variables - optional hashmap of variables to set (a misnomer - they are really constant parameters)\n\t\t routes - optional array of routes to use\n\t\t wiki - reference to wiki object\n*/\nfunction Server(options) {\n\tvar self = this;\n\tthis.routes = options.routes || [];\n\tthis.authenticators = options.authenticators || [];\n\tthis.wiki = options.wiki;\n\tthis.servername = $tw.utils.transliterateToSafeASCII(this.wiki.getTiddlerText(\"$:/SiteTitle\") || \"TiddlyWiki5\");\n\t// Initialise the variables\n\tthis.variables = $tw.utils.extend({},this.defaultVariables);\n\tif(options.variables) {\n\t\tfor(var variable in options.variables) {\n\t\t\tif(options.variables[variable]) {\n\t\t\t\tthis.variables[variable] = options.variables[variable];\n\t\t\t}\n\t\t}\t\t\n\t}\n\t$tw.utils.extend({},this.defaultVariables,options.variables);\n\t// Initialise CSRF\n\tthis.csrfDisable = this.get(\"csrf-disable\") === \"yes\";\n\t// Initialize Gzip compression\n\tthis.enableGzip = this.get(\"gzip\") === \"yes\";\n\t// Initialise authorization\n\tvar authorizedUserName = (this.get(\"username\") && this.get(\"password\")) ? this.get(\"username\") : \"(anon)\";\n\tthis.authorizationPrincipals = {\n\t\treaders: (this.get(\"readers\") || authorizedUserName).split(\",\").map($tw.utils.trim),\n\t\twriters: (this.get(\"writers\") || authorizedUserName).split(\",\").map($tw.utils.trim)\n\t}\n\t// Load and initialise authenticators\n\t$tw.modules.forEachModuleOfType(\"authenticator\", function(title,authenticatorDefinition) {\n\t\t// console.log(\"Loading server route \" + title);\n\t\tself.addAuthenticator(authenticatorDefinition.AuthenticatorClass);\n\t});\n\t// Load route handlers\n\t$tw.modules.forEachModuleOfType(\"route\", function(title,routeDefinition) {\n\t\t// console.log(\"Loading server route \" + title);\n\t\tself.addRoute(routeDefinition);\n\t});\n\t// Initialise the http vs https\n\tthis.listenOptions = null;\n\tthis.protocol = \"http\";\n\tvar tlsKeyFilepath = this.get(\"tls-key\"),\n\t\ttlsCertFilepath = this.get(\"tls-cert\");\n\tif(tlsCertFilepath && tlsKeyFilepath) {\n\t\tthis.listenOptions = {\n\t\t\tkey: fs.readFileSync(path.resolve($tw.boot.wikiPath,tlsKeyFilepath),\"utf8\"),\n\t\t\tcert: fs.readFileSync(path.resolve($tw.boot.wikiPath,tlsCertFilepath),\"utf8\")\n\t\t};\n\t\tthis.protocol = \"https\";\n\t}\n\tthis.transport = require(this.protocol);\n}\n\nServer.prototype.defaultVariables = {\n\tport: \"8080\",\n\thost: \"127.0.0.1\",\n\t\"root-tiddler\": \"$:/core/save/all\",\n\t\"root-render-type\": \"text/plain\",\n\t\"root-serve-type\": \"text/html\",\n\t\"tiddler-render-type\": \"text/html\",\n\t\"tiddler-render-template\": \"$:/core/templates/server/static.tiddler.html\",\n\t\"system-tiddler-render-type\": \"text/plain\",\n\t\"system-tiddler-render-template\": \"$:/core/templates/wikified-tiddler\",\n\t\"debug-level\": \"none\",\n\t\"gzip\": \"no\"\n};\n\nServer.prototype.get = function(name) {\n\treturn this.variables[name];\n};\n\nServer.prototype.addRoute = function(route) {\n\tthis.routes.push(route);\n};\n\nServer.prototype.addAuthenticator = function(AuthenticatorClass) {\n\t// Instantiate and initialise the authenticator\n\tvar authenticator = new AuthenticatorClass(this),\n\t\tresult = authenticator.init();\n\tif(typeof result === \"string\") {\n\t\t$tw.utils.error(\"Error: \" + result);\n\t} else if(result) {\n\t\t// Only use the authenticator if it initialised successfully\n\t\tthis.authenticators.push(authenticator);\n\t}\n};\n\nServer.prototype.findMatchingRoute = function(request,state) {\n\tvar pathprefix = this.get(\"path-prefix\") || \"\";\n\tfor(var t=0; t<this.routes.length; t++) {\n\t\tvar potentialRoute = this.routes[t],\n\t\t\tpathRegExp = potentialRoute.path,\n\t\t\tpathname = state.urlInfo.pathname,\n\t\t\tmatch;\n\t\tif(pathprefix) {\n\t\t\tif(pathname.substr(0,pathprefix.length) === pathprefix) {\n\t\t\t\tpathname = pathname.substr(pathprefix.length) || \"/\";\n\t\t\t\tmatch = potentialRoute.path.exec(pathname);\n\t\t\t} else {\n\t\t\t\tmatch = false;\n\t\t\t}\n\t\t} else {\n\t\t\tmatch = potentialRoute.path.exec(pathname);\n\t\t}\n\t\tif(match && request.method === potentialRoute.method) {\n\t\t\tstate.params = [];\n\t\t\tfor(var p=1; p<match.length; p++) {\n\t\t\t\tstate.params.push(match[p]);\n\t\t\t}\n\t\t\treturn potentialRoute;\n\t\t}\n\t}\n\treturn null;\n};\n\nServer.prototype.methodMappings = {\n\t\"GET\": \"readers\",\n\t\"OPTIONS\": \"readers\",\n\t\"HEAD\": \"readers\",\n\t\"PUT\": \"writers\",\n\t\"POST\": \"writers\",\n\t\"DELETE\": \"writers\"\n};\n\n/*\nCheck whether a given user is authorized for the specified authorizationType (\"readers\" or \"writers\"). Pass null or undefined as the username to check for anonymous access\n*/\nServer.prototype.isAuthorized = function(authorizationType,username) {\n\tvar principals = this.authorizationPrincipals[authorizationType] || [];\n\treturn principals.indexOf(\"(anon)\") !== -1 || (username && (principals.indexOf(\"(authenticated)\") !== -1 || principals.indexOf(username) !== -1));\n}\n\nServer.prototype.requestHandler = function(request,response) {\n\t// Compose the state object\n\tvar self = this;\n\tvar state = {};\n\tstate.wiki = self.wiki;\n\tstate.server = self;\n\tstate.urlInfo = url.parse(request.url);\n\t// Get the principals authorized to access this resource\n\tvar authorizationType = this.methodMappings[request.method] || \"readers\";\n\t// Check for the CSRF header if this is a write\n\tif(!this.csrfDisable && authorizationType === \"writers\" && request.headers[\"x-requested-with\"] !== \"TiddlyWiki\") {\n\t\tresponse.writeHead(403,\"'X-Requested-With' header required to login to '\" + this.servername + \"'\");\n\t\tresponse.end();\n\t\treturn;\t\t\n\t}\n\t// Check whether anonymous access is granted\n\tstate.allowAnon = this.isAuthorized(authorizationType,null);\n\t// Authenticate with the first active authenticator\n\tif(this.authenticators.length > 0) {\n\t\tif(!this.authenticators[0].authenticateRequest(request,response,state)) {\n\t\t\t// Bail if we failed (the authenticator will have sent the response)\n\t\t\treturn;\n\t\t}\t\t\n\t}\n\t// Authorize with the authenticated username\n\tif(!this.isAuthorized(authorizationType,state.authenticatedUsername)) {\n\t\tresponse.writeHead(401,\"'\" + state.authenticatedUsername + \"' is not authorized to access '\" + this.servername + \"'\");\n\t\tresponse.end();\n\t\treturn;\n\t}\n\t// Find the route that matches this path\n\tvar route = self.findMatchingRoute(request,state);\n\t// Optionally output debug info\n\tif(self.get(\"debug-level\") !== \"none\") {\n\t\tconsole.log(\"Request path:\",JSON.stringify(state.urlInfo));\n\t\tconsole.log(\"Request headers:\",JSON.stringify(request.headers));\n\t\tconsole.log(\"authenticatedUsername:\",state.authenticatedUsername);\n\t}\n\t// Return a 404 if we didn't find a route\n\tif(!route) {\n\t\tresponse.writeHead(404);\n\t\tresponse.end();\n\t\treturn;\n\t}\n\t// Receive the request body if necessary and hand off to the route handler\n\tif(route.bodyFormat === \"stream\" || request.method === \"GET\" || request.method === \"HEAD\") {\n\t\t// Let the route handle the request stream itself\n\t\troute.handler(request,response,state);\n\t} else if(route.bodyFormat === \"string\" || !route.bodyFormat) {\n\t\t// Set the encoding for the incoming request\n\t\trequest.setEncoding(\"utf8\");\n\t\tvar data = \"\";\n\t\trequest.on(\"data\",function(chunk) {\n\t\t\tdata += chunk.toString();\n\t\t});\n\t\trequest.on(\"end\",function() {\n\t\t\tstate.data = data;\n\t\t\troute.handler(request,response,state);\n\t\t});\n\t} else if(route.bodyFormat === \"buffer\") {\n\t\tvar data = [];\n\t\trequest.on(\"data\",function(chunk) {\n\t\t\tdata.push(chunk);\n\t\t});\n\t\trequest.on(\"end\",function() {\n\t\t\tstate.data = Buffer.concat(data);\n\t\t\troute.handler(request,response,state);\n\t\t})\n\t} else {\n\t\tresponse.writeHead(400,\"Invalid bodyFormat \" + route.bodyFormat + \" in route \" + route.method + \" \" + route.path.source);\n\t\tresponse.end();\n\t}\n};\n\n/*\nListen for requests\nport: optional port number (falls back to value of \"port\" variable)\nhost: optional host address (falls back to value of \"host\" variable)\nprefix: optional prefix (falls back to value of \"path-prefix\" variable)\n*/\nServer.prototype.listen = function(port,host,prefix) {\n\t// Handle defaults for port and host\n\tport = port || this.get(\"port\");\n\thost = host || this.get(\"host\");\n\tprefix = prefix || this.get(\"path-prefix\") || \"\";\n\t// Check for the port being a string and look it up as an environment variable\n\tif(parseInt(port,10).toString() !== port) {\n\t\tport = process.env[port] || 8080;\n\t}\n\t$tw.utils.log(\"Serving on \" + this.protocol + \"://\" + host + \":\" + port + prefix,\"brown/orange\");\n\t$tw.utils.log(\"(press ctrl-C to exit)\",\"red\");\n\t// Warn if required plugins are missing\n\tif(!$tw.wiki.getTiddler(\"$:/plugins/tiddlywiki/tiddlyweb\") || !$tw.wiki.getTiddler(\"$:/plugins/tiddlywiki/filesystem\")) {\n\t\t$tw.utils.warning(\"Warning: Plugins required for client-server operation (\\\"tiddlywiki/filesystem\\\" and \\\"tiddlywiki/tiddlyweb\\\") are missing from tiddlywiki.info file\");\n\t}\n\t// Listen\n\tvar server;\n\tif(this.listenOptions) {\n\t\tserver = this.transport.createServer(this.listenOptions,this.requestHandler.bind(this));\n\t} else {\n\t\tserver = this.transport.createServer(this.requestHandler.bind(this));\n\t}\n\treturn server.listen(port,host);\n};\n\nexports.Server = Server;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "library"
        },
        "$:/core/modules/browser-messaging.js": {
            "title": "$:/core/modules/browser-messaging.js",
            "text": "/*\\\ntitle: $:/core/modules/browser-messaging.js\ntype: application/javascript\nmodule-type: startup\n\nBrowser message handling\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"browser-messaging\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\n/*\nLoad a specified url as an iframe and call the callback when it is loaded. If the url is already loaded then the existing iframe instance is used\n*/\nfunction loadIFrame(url,callback) {\n\t// Check if iframe already exists\n\tvar iframeInfo = $tw.browserMessaging.iframeInfoMap[url];\n\tif(iframeInfo) {\n\t\t// We've already got the iframe\n\t\tcallback(null,iframeInfo);\n\t} else {\n\t\t// Create the iframe and save it in the list\n\t\tvar iframe = document.createElement(\"iframe\");\n\t\tiframeInfo = {\n\t\t\turl: url,\n\t\t\tstatus: \"loading\",\n\t\t\tdomNode: iframe\n\t\t};\n\t\t$tw.browserMessaging.iframeInfoMap[url] = iframeInfo;\n\t\tsaveIFrameInfoTiddler(iframeInfo);\n\t\t// Add the iframe to the DOM and hide it\n\t\tiframe.style.display = \"none\";\n\t\tiframe.setAttribute(\"library\",\"true\");\n\t\tdocument.body.appendChild(iframe);\n\t\t// Set up onload\n\t\tiframe.onload = function() {\n\t\t\tiframeInfo.status = \"loaded\";\n\t\t\tsaveIFrameInfoTiddler(iframeInfo);\n\t\t\tcallback(null,iframeInfo);\n\t\t};\n\t\tiframe.onerror = function() {\n\t\t\tcallback(\"Cannot load iframe\");\n\t\t};\n\t\ttry {\n\t\t\tiframe.src = url;\n\t\t} catch(ex) {\n\t\t\tcallback(ex);\n\t\t}\n\t}\n}\n\n/*\nUnload library iframe for given url\n*/\nfunction unloadIFrame(url){\n\t$tw.utils.each(document.getElementsByTagName('iframe'), function(iframe) {\n\t\tif(iframe.getAttribute(\"library\") === \"true\" &&\n\t\t  iframe.getAttribute(\"src\") === url) {\n\t\t\tiframe.parentNode.removeChild(iframe);\n\t\t}\n\t});\n}\n\nfunction saveIFrameInfoTiddler(iframeInfo) {\n\t$tw.wiki.addTiddler(new $tw.Tiddler($tw.wiki.getCreationFields(),{\n\t\ttitle: \"$:/temp/ServerConnection/\" + iframeInfo.url,\n\t\ttext: iframeInfo.status,\n\t\ttags: [\"$:/tags/ServerConnection\"],\n\t\turl: iframeInfo.url\n\t},$tw.wiki.getModificationFields()));\n}\n\nexports.startup = function() {\n\t// Initialise the store of iframes we've created\n\t$tw.browserMessaging = {\n\t\tiframeInfoMap: {} // Hashmap by URL of {url:,status:\"loading/loaded\",domNode:}\n\t};\n\t// Listen for widget messages to control loading the plugin library\n\t$tw.rootWidget.addEventListener(\"tm-load-plugin-library\",function(event) {\n\t\tvar paramObject = event.paramObject || {},\n\t\t\turl = paramObject.url;\n\t\tif(url) {\n\t\t\tloadIFrame(url,function(err,iframeInfo) {\n\t\t\t\tif(err) {\n\t\t\t\t\talert($tw.language.getString(\"Error/LoadingPluginLibrary\") + \": \" + url);\n\t\t\t\t} else {\n\t\t\t\t\tiframeInfo.domNode.contentWindow.postMessage({\n\t\t\t\t\t\tverb: \"GET\",\n\t\t\t\t\t\turl: \"recipes/library/tiddlers.json\",\n\t\t\t\t\t\tcookies: {\n\t\t\t\t\t\t\ttype: \"save-info\",\n\t\t\t\t\t\t\tinfoTitlePrefix: paramObject.infoTitlePrefix || \"$:/temp/RemoteAssetInfo/\",\n\t\t\t\t\t\t\turl: url\n\t\t\t\t\t\t}\n\t\t\t\t\t},\"*\");\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\t// Listen for widget messages to control unloading the plugin library\n\t$tw.rootWidget.addEventListener(\"tm-unload-plugin-library\",function(event) {\n\t\tvar paramObject = event.paramObject || {},\n\t\t\turl = paramObject.url;\n\t\t$tw.browserMessaging.iframeInfoMap[url] = undefined;\n\t\tif(url) {\n\t\t\tunloadIFrame(url);\n\t\t\t$tw.utils.each(\n\t\t\t\t$tw.wiki.filterTiddlers(\"[[$:/temp/ServerConnection/\" + url + \"]] [prefix[$:/temp/RemoteAssetInfo/\" + url + \"/]]\"),\n\t\t\t\tfunction(title) {\n\t\t\t\t\t$tw.wiki.deleteTiddler(title);\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t});\n\t$tw.rootWidget.addEventListener(\"tm-load-plugin-from-library\",function(event) {\n\t\tvar paramObject = event.paramObject || {},\n\t\t\turl = paramObject.url,\n\t\t\ttitle = paramObject.title;\n\t\tif(url && title) {\n\t\t\tloadIFrame(url,function(err,iframeInfo) {\n\t\t\t\tif(err) {\n\t\t\t\t\talert($tw.language.getString(\"Error/LoadingPluginLibrary\") + \": \" + url);\n\t\t\t\t} else {\n\t\t\t\t\tiframeInfo.domNode.contentWindow.postMessage({\n\t\t\t\t\t\tverb: \"GET\",\n\t\t\t\t\t\turl: \"recipes/library/tiddlers/\" + encodeURIComponent(title) + \".json\",\n\t\t\t\t\t\tcookies: {\n\t\t\t\t\t\t\ttype: \"save-tiddler\",\n\t\t\t\t\t\t\turl: url\n\t\t\t\t\t\t}\n\t\t\t\t\t},\"*\");\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\t// Listen for window messages from other windows\n\twindow.addEventListener(\"message\",function listener(event){\n\t\t// console.log(\"browser-messaging: \",document.location.toString())\n\t\t// console.log(\"browser-messaging: Received message from\",event.origin);\n\t\t// console.log(\"browser-messaging: Message content\",event.data);\n\t\tswitch(event.data.verb) {\n\t\t\tcase \"GET-RESPONSE\":\n\t\t\t\tif(event.data.status.charAt(0) === \"2\") {\n\t\t\t\t\tif(event.data.cookies) {\n\t\t\t\t\t\tif(event.data.cookies.type === \"save-info\") {\n\t\t\t\t\t\t\tvar tiddlers = JSON.parse(event.data.body);\n\t\t\t\t\t\t\t$tw.utils.each(tiddlers,function(tiddler) {\n\t\t\t\t\t\t\t\t$tw.wiki.addTiddler(new $tw.Tiddler($tw.wiki.getCreationFields(),tiddler,{\n\t\t\t\t\t\t\t\t\ttitle: event.data.cookies.infoTitlePrefix + event.data.cookies.url + \"/\" + tiddler.title,\n\t\t\t\t\t\t\t\t\t\"original-title\": tiddler.title,\n\t\t\t\t\t\t\t\t\ttext: \"\",\n\t\t\t\t\t\t\t\t\ttype: \"text/vnd.tiddlywiki\",\n\t\t\t\t\t\t\t\t\t\"original-type\": tiddler.type,\n\t\t\t\t\t\t\t\t\t\"plugin-type\": undefined,\n\t\t\t\t\t\t\t\t\t\"original-plugin-type\": tiddler[\"plugin-type\"],\n\t\t\t\t\t\t\t\t\t\"module-type\": undefined,\n\t\t\t\t\t\t\t\t\t\"original-module-type\": tiddler[\"module-type\"],\n\t\t\t\t\t\t\t\t\ttags: [\"$:/tags/RemoteAssetInfo\"],\n\t\t\t\t\t\t\t\t\t\"original-tags\": $tw.utils.stringifyList(tiddler.tags || []),\n\t\t\t\t\t\t\t\t\t\"server-url\": event.data.cookies.url\n\t\t\t\t\t\t\t\t},$tw.wiki.getModificationFields()));\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else if(event.data.cookies.type === \"save-tiddler\") {\n\t\t\t\t\t\t\tvar tiddler = JSON.parse(event.data.body);\n\t\t\t\t\t\t\t$tw.wiki.addTiddler(new $tw.Tiddler(tiddler));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t},false);\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "startup"
        },
        "$:/core/modules/startup/commands.js": {
            "title": "$:/core/modules/startup/commands.js",
            "text": "/*\\\ntitle: $:/core/modules/startup/commands.js\ntype: application/javascript\nmodule-type: startup\n\nCommand processing\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"commands\";\nexports.platforms = [\"node\"];\nexports.after = [\"story\"];\nexports.synchronous = false;\n\nexports.startup = function(callback) {\n\t// On the server, start a commander with the command line arguments\n\tvar commander = new $tw.Commander(\n\t\t$tw.boot.argv,\n\t\tfunction(err) {\n\t\t\tif(err) {\n\t\t\t\treturn $tw.utils.error(\"Error: \" + err);\n\t\t\t}\n\t\t\tcallback();\n\t\t},\n\t\t$tw.wiki,\n\t\t{output: process.stdout, error: process.stderr}\n\t);\n\tcommander.execute();\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "startup"
        },
        "$:/core/modules/startup/CSSescape.js": {
            "title": "$:/core/modules/startup/CSSescape.js",
            "text": "/*\\\ntitle: $:/core/modules/startup/CSSescape.js\ntype: application/javascript\nmodule-type: startup\n\nPolyfill for CSS.escape()\n\n\\*/\n(function(root,factory){\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"css-escape\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\n/*! https://mths.be/cssescape v1.5.1 by @mathias | MIT license */\n// https://github.com/umdjs/umd/blob/master/returnExports.js\nexports.startup = factory(root);\n}(typeof global != 'undefined' ? global : this, function(root) {\n\n\tif (root.CSS && root.CSS.escape) {\n\t\treturn;\n\t}\n\n\t// https://drafts.csswg.org/cssom/#serialize-an-identifier\n\tvar cssEscape = function(value) {\n\t\tif (arguments.length == 0) {\n\t\t\tthrow new TypeError('`CSS.escape` requires an argument.');\n\t\t}\n\t\tvar string = String(value);\n\t\tvar length = string.length;\n\t\tvar index = -1;\n\t\tvar codeUnit;\n\t\tvar result = '';\n\t\tvar firstCodeUnit = string.charCodeAt(0);\n\t\twhile (++index < length) {\n\t\t\tcodeUnit = string.charCodeAt(index);\n\t\t\t// Note: there’s no need to special-case astral symbols, surrogate\n\t\t\t// pairs, or lone surrogates.\n\n\t\t\t// If the character is NULL (U+0000), then the REPLACEMENT CHARACTER\n\t\t\t// (U+FFFD).\n\t\t\tif (codeUnit == 0x0000) {\n\t\t\t\tresult += '\\uFFFD';\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t// If the character is in the range [\\1-\\1F] (U+0001 to U+001F) or is\n\t\t\t\t// U+007F, […]\n\t\t\t\t(codeUnit >= 0x0001 && codeUnit <= 0x001F) || codeUnit == 0x007F ||\n\t\t\t\t// If the character is the first character and is in the range [0-9]\n\t\t\t\t// (U+0030 to U+0039), […]\n\t\t\t\t(index == 0 && codeUnit >= 0x0030 && codeUnit <= 0x0039) ||\n\t\t\t\t// If the character is the second character and is in the range [0-9]\n\t\t\t\t// (U+0030 to U+0039) and the first character is a `-` (U+002D), […]\n\t\t\t\t(\n\t\t\t\t\tindex == 1 &&\n\t\t\t\t\tcodeUnit >= 0x0030 && codeUnit <= 0x0039 &&\n\t\t\t\t\tfirstCodeUnit == 0x002D\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\t// https://drafts.csswg.org/cssom/#escape-a-character-as-code-point\n\t\t\t\tresult += '\\\\' + codeUnit.toString(16) + ' ';\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t// If the character is the first character and is a `-` (U+002D), and\n\t\t\t\t// there is no second character, […]\n\t\t\t\tindex == 0 &&\n\t\t\t\tlength == 1 &&\n\t\t\t\tcodeUnit == 0x002D\n\t\t\t) {\n\t\t\t\tresult += '\\\\' + string.charAt(index);\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// If the character is not handled by one of the above rules and is\n\t\t\t// greater than or equal to U+0080, is `-` (U+002D) or `_` (U+005F), or\n\t\t\t// is in one of the ranges [0-9] (U+0030 to U+0039), [A-Z] (U+0041 to\n\t\t\t// U+005A), or [a-z] (U+0061 to U+007A), […]\n\t\t\tif (\n\t\t\t\tcodeUnit >= 0x0080 ||\n\t\t\t\tcodeUnit == 0x002D ||\n\t\t\t\tcodeUnit == 0x005F ||\n\t\t\t\tcodeUnit >= 0x0030 && codeUnit <= 0x0039 ||\n\t\t\t\tcodeUnit >= 0x0041 && codeUnit <= 0x005A ||\n\t\t\t\tcodeUnit >= 0x0061 && codeUnit <= 0x007A\n\t\t\t) {\n\t\t\t\t// the character itself\n\t\t\t\tresult += string.charAt(index);\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Otherwise, the escaped character.\n\t\t\t// https://drafts.csswg.org/cssom/#escape-a-character\n\t\t\tresult += '\\\\' + string.charAt(index);\n\n\t\t}\n\t\treturn result;\n\t};\n\n\tif (!root.CSS) {\n\t\troot.CSS = {};\n\t}\n\n\troot.CSS.escape = cssEscape;\n\n}));\n",
            "type": "application/javascript",
            "module-type": "startup"
        },
        "$:/core/modules/startup/favicon.js": {
            "title": "$:/core/modules/startup/favicon.js",
            "text": "/*\\\ntitle: $:/core/modules/startup/favicon.js\ntype: application/javascript\nmodule-type: startup\n\nFavicon handling\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"favicon\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\t\t\n// Favicon tiddler\nvar FAVICON_TITLE = \"$:/favicon.ico\";\n\nexports.startup = function() {\n\t// Set up the favicon\n\tsetFavicon();\n\t// Reset the favicon when the tiddler changes\n\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\tif($tw.utils.hop(changes,FAVICON_TITLE)) {\n\t\t\tsetFavicon();\n\t\t}\n\t});\n};\n\nfunction setFavicon() {\n\tvar tiddler = $tw.wiki.getTiddler(FAVICON_TITLE);\n\tif(tiddler) {\n\t\tvar faviconLink = document.getElementById(\"faviconLink\");\n\t\tfaviconLink.setAttribute(\"href\",\"data:\" + tiddler.fields.type + \";base64,\" + tiddler.fields.text);\n\t}\n}\n\n})();\n",
            "type": "application/javascript",
            "module-type": "startup"
        },
        "$:/core/modules/startup/info.js": {
            "title": "$:/core/modules/startup/info.js",
            "text": "/*\\\ntitle: $:/core/modules/startup/info.js\ntype: application/javascript\nmodule-type: startup\n\nInitialise $:/info tiddlers via $:/temp/info-plugin pseudo-plugin\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"info\";\nexports.before = [\"startup\"];\nexports.after = [\"load-modules\"];\nexports.synchronous = true;\n\nexports.startup = function() {\n\t// Collect up the info tiddlers\n\tvar infoTiddlerFields = {};\n\t// Give each info module a chance to fill in as many info tiddlers as they want\n\t$tw.modules.forEachModuleOfType(\"info\",function(title,moduleExports) {\n\t\tif(moduleExports && moduleExports.getInfoTiddlerFields) {\n\t\t\tvar tiddlerFieldsArray = moduleExports.getInfoTiddlerFields(infoTiddlerFields);\n\t\t\t$tw.utils.each(tiddlerFieldsArray,function(fields) {\n\t\t\t\tif(fields) {\n\t\t\t\t\tinfoTiddlerFields[fields.title] = fields;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\t// Bake the info tiddlers into a plugin\n\tvar fields = {\n\t\ttitle: \"$:/temp/info-plugin\",\n\t\ttype: \"application/json\",\n\t\t\"plugin-type\": \"info\",\n\t\ttext: JSON.stringify({tiddlers: infoTiddlerFields},null,$tw.config.preferences.jsonSpaces)\n\t};\n\t$tw.wiki.addTiddler(new $tw.Tiddler(fields));\n\t$tw.wiki.readPluginInfo();\n\t$tw.wiki.registerPluginTiddlers(\"info\");\n\t$tw.wiki.unpackPluginTiddlers();\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "startup"
        },
        "$:/core/modules/startup/load-modules.js": {
            "title": "$:/core/modules/startup/load-modules.js",
            "text": "/*\\\ntitle: $:/core/modules/startup/load-modules.js\ntype: application/javascript\nmodule-type: startup\n\nLoad core modules\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"load-modules\";\nexports.synchronous = true;\n\nexports.startup = function() {\n\t// Load modules\n\t$tw.modules.applyMethods(\"utils\",$tw.utils);\n\tif($tw.node) {\n\t\t$tw.modules.applyMethods(\"utils-node\",$tw.utils);\n\t}\n\t$tw.modules.applyMethods(\"global\",$tw);\n\t$tw.modules.applyMethods(\"config\",$tw.config);\n\t$tw.Tiddler.fieldModules = $tw.modules.getModulesByTypeAsHashmap(\"tiddlerfield\");\n\t$tw.modules.applyMethods(\"tiddlermethod\",$tw.Tiddler.prototype);\n\t$tw.modules.applyMethods(\"wikimethod\",$tw.Wiki.prototype);\n\t$tw.wiki.addIndexersToWiki();\n\t$tw.modules.applyMethods(\"tiddlerdeserializer\",$tw.Wiki.tiddlerDeserializerModules);\n\t$tw.macros = $tw.modules.getModulesByTypeAsHashmap(\"macro\");\n\t$tw.wiki.initParsers();\n\t$tw.Commander.initCommands();\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "startup"
        },
        "$:/core/modules/startup/password.js": {
            "title": "$:/core/modules/startup/password.js",
            "text": "/*\\\ntitle: $:/core/modules/startup/password.js\ntype: application/javascript\nmodule-type: startup\n\nPassword handling\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"password\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\nexports.startup = function() {\n\t$tw.rootWidget.addEventListener(\"tm-set-password\",function(event) {\n\t\t$tw.passwordPrompt.createPrompt({\n\t\t\tserviceName: $tw.language.getString(\"Encryption/PromptSetPassword\"),\n\t\t\tnoUserName: true,\n\t\t\tsubmitText: $tw.language.getString(\"Encryption/SetPassword\"),\n\t\t\tcanCancel: true,\n\t\t\trepeatPassword: true,\n\t\t\tcallback: function(data) {\n\t\t\t\tif(data) {\n\t\t\t\t\t$tw.crypto.setPassword(data.password);\n\t\t\t\t}\n\t\t\t\treturn true; // Get rid of the password prompt\n\t\t\t}\n\t\t});\n\t});\n\t$tw.rootWidget.addEventListener(\"tm-clear-password\",function(event) {\n\t\tif($tw.browser) {\n\t\t\tif(!confirm($tw.language.getString(\"Encryption/ConfirmClearPassword\"))) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\t$tw.crypto.setPassword(null);\n\t});\n\t// Ensure that $:/isEncrypted is maintained properly\n\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\tif($tw.utils.hop(changes,\"$:/isEncrypted\")) {\n\t\t\t$tw.crypto.updateCryptoStateTiddler();\n\t\t}\n\t});\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "startup"
        },
        "$:/core/modules/startup/render.js": {
            "title": "$:/core/modules/startup/render.js",
            "text": "/*\\\ntitle: $:/core/modules/startup/render.js\ntype: application/javascript\nmodule-type: startup\n\nTitle, stylesheet and page rendering\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"render\";\nexports.platforms = [\"browser\"];\nexports.after = [\"story\"];\nexports.synchronous = true;\n\n// Default story and history lists\nvar PAGE_TITLE_TITLE = \"$:/core/wiki/title\";\nvar PAGE_STYLESHEET_TITLE = \"$:/core/ui/PageStylesheet\";\nvar PAGE_TEMPLATE_TITLE = \"$:/core/ui/PageTemplate\";\n\n// Time (in ms) that we defer refreshing changes to draft tiddlers\nvar DRAFT_TIDDLER_TIMEOUT_TITLE = \"$:/config/Drafts/TypingTimeout\";\nvar DRAFT_TIDDLER_TIMEOUT = 400;\n\nexports.startup = function() {\n\t// Set up the title\n\t$tw.titleWidgetNode = $tw.wiki.makeTranscludeWidget(PAGE_TITLE_TITLE,{document: $tw.fakeDocument, parseAsInline: true});\n\t$tw.titleContainer = $tw.fakeDocument.createElement(\"div\");\n\t$tw.titleWidgetNode.render($tw.titleContainer,null);\n\tdocument.title = $tw.titleContainer.textContent;\n\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\tif($tw.titleWidgetNode.refresh(changes,$tw.titleContainer,null)) {\n\t\t\tdocument.title = $tw.titleContainer.textContent;\n\t\t}\n\t});\n\t// Set up the styles\n\t$tw.styleWidgetNode = $tw.wiki.makeTranscludeWidget(PAGE_STYLESHEET_TITLE,{document: $tw.fakeDocument});\n\t$tw.styleContainer = $tw.fakeDocument.createElement(\"style\");\n\t$tw.styleWidgetNode.render($tw.styleContainer,null);\n\t$tw.styleElement = document.createElement(\"style\");\n\t$tw.styleElement.innerHTML = $tw.styleContainer.textContent;\n\tdocument.head.insertBefore($tw.styleElement,document.head.firstChild);\n\t$tw.wiki.addEventListener(\"change\",$tw.perf.report(\"styleRefresh\",function(changes) {\n\t\tif($tw.styleWidgetNode.refresh(changes,$tw.styleContainer,null)) {\n\t\t\t$tw.styleElement.innerHTML = $tw.styleContainer.textContent;\n\t\t}\n\t}));\n\t// Display the $:/core/ui/PageTemplate tiddler to kick off the display\n\t$tw.perf.report(\"mainRender\",function() {\n\t\t$tw.pageWidgetNode = $tw.wiki.makeTranscludeWidget(PAGE_TEMPLATE_TITLE,{document: document, parentWidget: $tw.rootWidget});\n\t\t$tw.pageContainer = document.createElement(\"div\");\n\t\t$tw.utils.addClass($tw.pageContainer,\"tc-page-container-wrapper\");\n\t\tdocument.body.insertBefore($tw.pageContainer,document.body.firstChild);\n\t\t$tw.pageWidgetNode.render($tw.pageContainer,null);\n   \t\t$tw.hooks.invokeHook(\"th-page-refreshed\");\n\t})();\n\t// Remove any splash screen elements\n\tvar removeList = document.querySelectorAll(\".tc-remove-when-wiki-loaded\");\n\t$tw.utils.each(removeList,function(removeItem) {\n\t\tif(removeItem.parentNode) {\n\t\t\tremoveItem.parentNode.removeChild(removeItem);\n\t\t}\n\t});\n\t// Prepare refresh mechanism\n\tvar deferredChanges = Object.create(null),\n\t\ttimerId;\n\tfunction refresh() {\n\t\t// Process the refresh\n\t\t$tw.hooks.invokeHook(\"th-page-refreshing\");\n\t\t$tw.pageWidgetNode.refresh(deferredChanges);\n\t\tdeferredChanges = Object.create(null);\n\t\t$tw.hooks.invokeHook(\"th-page-refreshed\");\n\t}\n\t// Add the change event handler\n\t$tw.wiki.addEventListener(\"change\",$tw.perf.report(\"mainRefresh\",function(changes) {\n\t\t// Check if only drafts have changed\n\t\tvar onlyDraftsHaveChanged = true;\n\t\tfor(var title in changes) {\n\t\t\tvar tiddler = $tw.wiki.getTiddler(title);\n\t\t\tif(!tiddler || !tiddler.hasField(\"draft.of\")) {\n\t\t\t\tonlyDraftsHaveChanged = false;\n\t\t\t}\n\t\t}\n\t\t// Defer the change if only drafts have changed\n\t\tif(timerId) {\n\t\t\tclearTimeout(timerId);\n\t\t}\n\t\ttimerId = null;\n\t\tif(onlyDraftsHaveChanged) {\n\t\t\tvar timeout = parseInt($tw.wiki.getTiddlerText(DRAFT_TIDDLER_TIMEOUT_TITLE,\"\"),10);\n\t\t\tif(isNaN(timeout)) {\n\t\t\t\ttimeout = DRAFT_TIDDLER_TIMEOUT;\n\t\t\t}\n\t\t\ttimerId = setTimeout(refresh,timeout);\n\t\t\t$tw.utils.extend(deferredChanges,changes);\n\t\t} else {\n\t\t\t$tw.utils.extend(deferredChanges,changes);\n\t\t\trefresh();\n\t\t}\n\t}));\n\t// Fix up the link between the root widget and the page container\n\t$tw.rootWidget.domNodes = [$tw.pageContainer];\n\t$tw.rootWidget.children = [$tw.pageWidgetNode];\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "startup"
        },
        "$:/core/modules/startup/rootwidget.js": {
            "title": "$:/core/modules/startup/rootwidget.js",
            "text": "/*\\\ntitle: $:/core/modules/startup/rootwidget.js\ntype: application/javascript\nmodule-type: startup\n\nSetup the root widget and the core root widget handlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"rootwidget\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.before = [\"story\"];\nexports.synchronous = true;\n\nexports.startup = function() {\n\t// Install the modal message mechanism\n\t$tw.modal = new $tw.utils.Modal($tw.wiki);\n\t$tw.rootWidget.addEventListener(\"tm-modal\",function(event) {\n\t\t$tw.modal.display(event.param,{variables: event.paramObject, event: event});\n\t});\n\t// Install the notification  mechanism\n\t$tw.notifier = new $tw.utils.Notifier($tw.wiki);\n\t$tw.rootWidget.addEventListener(\"tm-notify\",function(event) {\n\t\t$tw.notifier.display(event.param,{variables: event.paramObject});\n\t});\n\t// Install the copy-to-clipboard  mechanism\n\t$tw.rootWidget.addEventListener(\"tm-copy-to-clipboard\",function(event) {\n\t\t$tw.utils.copyToClipboard(event.param);\n\t});\n\t// Install the tm-focus-selector message\n\t$tw.rootWidget.addEventListener(\"tm-focus-selector\",function(event) {\n\t\tvar selector = event.param || \"\",\n\t\t\telement;\n\t\ttry {\n\t\t\telement = document.querySelector(selector);\n\t\t} catch(e) {\n\t\t\tconsole.log(\"Error in selector: \",selector)\n\t\t}\n\t\tif(element && element.focus) {\n\t\t\telement.focus(event.paramObject);\n\t\t}\n\t});\n\t// Install the scroller\n\t$tw.pageScroller = new $tw.utils.PageScroller();\n\t$tw.rootWidget.addEventListener(\"tm-scroll\",function(event) {\n\t\t$tw.pageScroller.handleEvent(event);\n\t});\n\tvar fullscreen = $tw.utils.getFullScreenApis();\n\tif(fullscreen) {\n\t\t$tw.rootWidget.addEventListener(\"tm-full-screen\",function(event) {\n\t\t\tvar fullScreenDocument = event.event ? event.event.target.ownerDocument : document;\n\t\t\tif(event.param === \"enter\") {\n\t\t\t\tfullScreenDocument.documentElement[fullscreen._requestFullscreen](Element.ALLOW_KEYBOARD_INPUT);\n\t\t\t} else if(event.param === \"exit\") {\n\t\t\t\tfullScreenDocument[fullscreen._exitFullscreen]();\n\t\t\t} else {\n\t\t\t\tif(fullScreenDocument[fullscreen._fullscreenElement]) {\n\t\t\t\t\tfullScreenDocument[fullscreen._exitFullscreen]();\n\t\t\t\t} else {\n\t\t\t\t\tfullScreenDocument.documentElement[fullscreen._requestFullscreen](Element.ALLOW_KEYBOARD_INPUT);\n\t\t\t\t}\t\t\t\t\n\t\t\t}\n\t\t});\n\t}\n\t// If we're being viewed on a data: URI then give instructions for how to save\n\tif(document.location.protocol === \"data:\") {\n\t\t$tw.rootWidget.dispatchEvent({\n\t\t\ttype: \"tm-modal\",\n\t\t\tparam: \"$:/language/Modals/SaveInstructions\"\n\t\t});\n\t}\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "startup"
        },
        "$:/core/modules/startup.js": {
            "title": "$:/core/modules/startup.js",
            "text": "/*\\\ntitle: $:/core/modules/startup.js\ntype: application/javascript\nmodule-type: startup\n\nMiscellaneous startup logic for both the client and server.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"startup\";\nexports.after = [\"load-modules\"];\nexports.synchronous = true;\n\n// Set to `true` to enable performance instrumentation\nvar PERFORMANCE_INSTRUMENTATION_CONFIG_TITLE = \"$:/config/Performance/Instrumentation\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.startup = function() {\n\tvar modules,n,m,f;\n\t// Minimal browser detection\n\tif($tw.browser) {\n\t\t$tw.browser.isIE = (/msie|trident/i.test(navigator.userAgent));\n\t\t$tw.browser.isFirefox = !!document.mozFullScreenEnabled;\n\t}\n\t// Platform detection\n\t$tw.platform = {};\n\tif($tw.browser) {\n\t\t$tw.platform.isMac = /Mac/.test(navigator.platform);\n\t\t$tw.platform.isWindows = /win/i.test(navigator.platform);\n\t\t$tw.platform.isLinux = /Linux/i.test(navigator.platform);\n\t} else {\n\t\tswitch(require(\"os\").platform()) {\n\t\t\tcase \"darwin\":\n\t\t\t\t$tw.platform.isMac = true;\n\t\t\t\tbreak;\n\t\t\tcase \"win32\":\n\t\t\t\t$tw.platform.isWindows = true;\n\t\t\t\tbreak;\n\t\t\tcase \"freebsd\":\n\t\t\t\t$tw.platform.isLinux = true;\n\t\t\t\tbreak;\n\t\t\tcase \"linux\":\n\t\t\t\t$tw.platform.isLinux = true;\n\t\t\t\tbreak;\n\t\t}\n\t}\n\t// Initialise version\n\t$tw.version = $tw.utils.extractVersionInfo();\n\t// Set up the performance framework\n\t$tw.perf = new $tw.Performance($tw.wiki.getTiddlerText(PERFORMANCE_INSTRUMENTATION_CONFIG_TITLE,\"no\") === \"yes\");\n\t// Create a root widget for attaching event handlers. By using it as the parentWidget for another widget tree, one can reuse the event handlers\n\t$tw.rootWidget = new widget.widget({\n\t\ttype: \"widget\",\n\t\tchildren: []\n\t},{\n\t\twiki: $tw.wiki,\n\t\tdocument: $tw.browser ? document : $tw.fakeDocument\n\t});\n\t// Execute any startup actions\n\tvar executeStartupTiddlers = function(tag) {\n\t\t$tw.utils.each($tw.wiki.filterTiddlers(\"[all[shadows+tiddlers]tag[\" + tag + \"]!has[draft.of]]\"),function(title) {\n\t\t\t$tw.rootWidget.invokeActionString($tw.wiki.getTiddlerText(title),$tw.rootWidget);\n\t\t});\n\t};\n\texecuteStartupTiddlers(\"$:/tags/StartupAction\");\n\tif($tw.browser) {\n\t\texecuteStartupTiddlers(\"$:/tags/StartupAction/Browser\");\t\t\n\t}\n\tif($tw.node) {\n\t\texecuteStartupTiddlers(\"$:/tags/StartupAction/Node\");\t\t\n\t}\n\t// Kick off the language manager and switcher\n\t$tw.language = new $tw.Language();\n\t$tw.languageSwitcher = new $tw.PluginSwitcher({\n\t\twiki: $tw.wiki,\n\t\tpluginType: \"language\",\n\t\tcontrollerTitle: \"$:/language\",\n\t\tdefaultPlugins: [\n\t\t\t\"$:/languages/en-GB\"\n\t\t],\n\t\tonSwitch: function(plugins) {\n\t\t\tif($tw.browser) {\n\t\t\t\tvar pluginTiddler = $tw.wiki.getTiddler(plugins[0]);\n\t\t\t\tif(pluginTiddler) {\n\t\t\t\t\tdocument.documentElement.setAttribute(\"dir\",pluginTiddler.getFieldString(\"text-direction\") || \"auto\");\n\t\t\t\t} else {\n\t\t\t\t\tdocument.documentElement.removeAttribute(\"dir\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\t// Kick off the theme manager\n\t$tw.themeManager = new $tw.PluginSwitcher({\n\t\twiki: $tw.wiki,\n\t\tpluginType: \"theme\",\n\t\tcontrollerTitle: \"$:/theme\",\n\t\tdefaultPlugins: [\n\t\t\t\"$:/themes/tiddlywiki/snowwhite\",\n\t\t\t\"$:/themes/tiddlywiki/vanilla\"\n\t\t]\n\t});\n\t// Kick off the keyboard manager\n\t$tw.keyboardManager = new $tw.KeyboardManager();\n\t// Listen for shortcuts\n\tif($tw.browser) {\n\t\t$tw.utils.addEventListeners(document,[{\n\t\t\tname: \"keydown\",\n\t\t\thandlerObject: $tw.keyboardManager,\n\t\t\thandlerMethod: \"handleKeydownEvent\"\n\t\t}]);\n\t}\n\t// Clear outstanding tiddler store change events to avoid an unnecessary refresh cycle at startup\n\t$tw.wiki.clearTiddlerEventQueue();\n\t// Find a working syncadaptor\n\t$tw.syncadaptor = undefined;\n\t$tw.modules.forEachModuleOfType(\"syncadaptor\",function(title,module) {\n\t\tif(!$tw.syncadaptor && module.adaptorClass) {\n\t\t\t$tw.syncadaptor = new module.adaptorClass({wiki: $tw.wiki});\n\t\t}\n\t});\n\t// Set up the syncer object if we've got a syncadaptor\n\tif($tw.syncadaptor) {\n\t\t$tw.syncer = new $tw.Syncer({wiki: $tw.wiki, syncadaptor: $tw.syncadaptor});\n\t} \n\t// Setup the saver handler\n\t$tw.saverHandler = new $tw.SaverHandler({\n\t\twiki: $tw.wiki,\n\t\tdirtyTracking: !$tw.syncadaptor,\n\t\tpreloadDirty: $tw.boot.preloadDirty || []\n\t});\n\t// Host-specific startup\n\tif($tw.browser) {\n\t\t// Install the popup manager\n\t\t$tw.popup = new $tw.utils.Popup();\n\t\t// Install the animator\n\t\t$tw.anim = new $tw.utils.Animator();\n\t}\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "startup"
        },
        "$:/core/modules/startup/story.js": {
            "title": "$:/core/modules/startup/story.js",
            "text": "/*\\\ntitle: $:/core/modules/startup/story.js\ntype: application/javascript\nmodule-type: startup\n\nLoad core modules\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"story\";\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\n// Default story and history lists\nvar DEFAULT_STORY_TITLE = \"$:/StoryList\";\nvar DEFAULT_HISTORY_TITLE = \"$:/HistoryList\";\n\n// Default tiddlers\nvar DEFAULT_TIDDLERS_TITLE = \"$:/DefaultTiddlers\";\n\n// Config\nvar CONFIG_UPDATE_ADDRESS_BAR = \"$:/config/Navigation/UpdateAddressBar\"; // Can be \"no\", \"permalink\", \"permaview\"\nvar CONFIG_UPDATE_HISTORY = \"$:/config/Navigation/UpdateHistory\"; // Can be \"yes\" or \"no\"\nvar CONFIG_PERMALINKVIEW_COPY_TO_CLIPBOARD = \"$:/config/Navigation/Permalinkview/CopyToClipboard\"; // Can be \"yes\" (default) or \"no\"\nvar CONFIG_PERMALINKVIEW_UPDATE_ADDRESS_BAR = \"$:/config/Navigation/Permalinkview/UpdateAddressBar\"; // Can be \"yes\" (default) or \"no\"\n\n\n// Links to help, if there is no param\nvar HELP_OPEN_EXTERNAL_WINDOW = \"http://tiddlywiki.com/#WidgetMessage%3A%20tm-open-external-window\";\n\nexports.startup = function() {\n\t// Open startup tiddlers\n\topenStartupTiddlers({\n\t\tdisableHistory: $tw.boot.disableStartupNavigation\n\t});\n\tif($tw.browser) {\n\t\t// Set up location hash update\n\t\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\t\tif($tw.utils.hop(changes,DEFAULT_STORY_TITLE) || $tw.utils.hop(changes,DEFAULT_HISTORY_TITLE)) {\n\t\t\t\tupdateLocationHash({\n\t\t\t\t\tupdateAddressBar: $tw.wiki.getTiddlerText(CONFIG_UPDATE_ADDRESS_BAR,\"permaview\").trim(),\n\t\t\t\t\tupdateHistory: $tw.wiki.getTiddlerText(CONFIG_UPDATE_HISTORY,\"no\").trim()\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t\t// Listen for changes to the browser location hash\n\t\twindow.addEventListener(\"hashchange\",function() {\n\t\t\tvar hash = $tw.utils.getLocationHash();\n\t\t\tif(hash !== $tw.locationHash) {\n\t\t\t\t$tw.locationHash = hash;\n\t\t\t\topenStartupTiddlers({defaultToCurrentStory: true});\n\t\t\t}\n\t\t},false);\n\t\t// Listen for the tm-browser-refresh message\n\t\t$tw.rootWidget.addEventListener(\"tm-browser-refresh\",function(event) {\n\t\t\twindow.location.reload(true);\n\t\t});\n\t\t// Listen for tm-open-external-window message\n\t\t$tw.rootWidget.addEventListener(\"tm-open-external-window\",function(event) {\n\t\t\tvar paramObject = event.paramObject || {},\n\t\t\t\tstrUrl = event.param || HELP_OPEN_EXTERNAL_WINDOW,\n\t\t\t\tstrWindowName = paramObject.windowName,\n\t\t\t\tstrWindowFeatures = paramObject.windowFeatures;\n\t\t\twindow.open(strUrl, strWindowName, strWindowFeatures);\n\t\t});\n\t\t// Listen for the tm-print message\n\t\t$tw.rootWidget.addEventListener(\"tm-print\",function(event) {\n\t\t\t(event.event.view || window).print();\n\t\t});\n\t\t// Listen for the tm-home message\n\t\t$tw.rootWidget.addEventListener(\"tm-home\",function(event) {\n\t\t\twindow.location.hash = \"\";\n\t\t\tvar storyFilter = $tw.wiki.getTiddlerText(DEFAULT_TIDDLERS_TITLE),\n\t\t\t\tstoryList = $tw.wiki.filterTiddlers(storyFilter);\n\t\t\t//invoke any hooks that might change the default story list\n\t\t\tstoryList = $tw.hooks.invokeHook(\"th-opening-default-tiddlers-list\",storyList);\n\t\t\t$tw.wiki.addTiddler({title: DEFAULT_STORY_TITLE, text: \"\", list: storyList},$tw.wiki.getModificationFields());\n\t\t\tif(storyList[0]) {\n\t\t\t\t$tw.wiki.addToHistory(storyList[0]);\n\t\t\t}\n\t\t});\n\t\t// Listen for the tm-permalink message\n\t\t$tw.rootWidget.addEventListener(\"tm-permalink\",function(event) {\n\t\t\tupdateLocationHash({\n\t\t\t\tupdateAddressBar: $tw.wiki.getTiddlerText(CONFIG_PERMALINKVIEW_UPDATE_ADDRESS_BAR,\"yes\").trim() === \"yes\" ? \"permalink\" : \"none\",\n\t\t\t\tupdateHistory: $tw.wiki.getTiddlerText(CONFIG_UPDATE_HISTORY,\"no\").trim(),\n\t\t\t\ttargetTiddler: event.param || event.tiddlerTitle,\n\t\t\t\tcopyToClipboard: $tw.wiki.getTiddlerText(CONFIG_PERMALINKVIEW_COPY_TO_CLIPBOARD,\"yes\").trim() === \"yes\" ? \"permalink\" : \"none\"\n\t\t\t});\n\t\t});\n\t\t// Listen for the tm-permaview message\n\t\t$tw.rootWidget.addEventListener(\"tm-permaview\",function(event) {\n\t\t\tupdateLocationHash({\n\t\t\t\tupdateAddressBar: $tw.wiki.getTiddlerText(CONFIG_PERMALINKVIEW_UPDATE_ADDRESS_BAR,\"yes\").trim() === \"yes\" ? \"permaview\" : \"none\",\n\t\t\t\tupdateHistory: $tw.wiki.getTiddlerText(CONFIG_UPDATE_HISTORY,\"no\").trim(),\n\t\t\t\ttargetTiddler: event.param || event.tiddlerTitle,\n\t\t\t\tcopyToClipboard: $tw.wiki.getTiddlerText(CONFIG_PERMALINKVIEW_COPY_TO_CLIPBOARD,\"yes\").trim() === \"yes\" ? \"permaview\" : \"none\"\n\t\t\t});\t\t\t\t\n\t\t});\n\t}\n};\n\n/*\nProcess the location hash to open the specified tiddlers. Options:\ndisableHistory: if true $:/History is NOT updated\ndefaultToCurrentStory: If true, the current story is retained as the default, instead of opening the default tiddlers\n*/\nfunction openStartupTiddlers(options) {\n\toptions = options || {};\n\t// Work out the target tiddler and the story filter. \"null\" means \"unspecified\"\n\tvar target = null,\n\t\tstoryFilter = null;\n\tif($tw.locationHash.length > 1) {\n\t\tvar hash = $tw.locationHash.substr(1),\n\t\t\tsplit = hash.indexOf(\":\");\n\t\tif(split === -1) {\n\t\t\ttarget = decodeURIComponent(hash.trim());\n\t\t} else {\n\t\t\ttarget = decodeURIComponent(hash.substr(0,split).trim());\n\t\t\tstoryFilter = decodeURIComponent(hash.substr(split + 1).trim());\n\t\t}\n\t}\n\t// If the story wasn't specified use the current tiddlers or a blank story\n\tif(storyFilter === null) {\n\t\tif(options.defaultToCurrentStory) {\n\t\t\tvar currStoryList = $tw.wiki.getTiddlerList(DEFAULT_STORY_TITLE);\n\t\t\tstoryFilter = $tw.utils.stringifyList(currStoryList);\n\t\t} else {\n\t\t\tif(target && target !== \"\") {\n\t\t\t\tstoryFilter = \"\";\n\t\t\t} else {\n\t\t\t\tstoryFilter = $tw.wiki.getTiddlerText(DEFAULT_TIDDLERS_TITLE);\n\t\t\t}\n\t\t}\n\t}\n\t// Process the story filter to get the story list\n\tvar storyList = $tw.wiki.filterTiddlers(storyFilter);\n\t// Invoke any hooks that want to change the default story list\n\tstoryList = $tw.hooks.invokeHook(\"th-opening-default-tiddlers-list\",storyList);\n\t// If the target tiddler isn't included then splice it in at the top\n\tif(target && storyList.indexOf(target) === -1) {\n\t\tstoryList.unshift(target);\n\t}\n\t// Save the story list\n\t$tw.wiki.addTiddler({title: DEFAULT_STORY_TITLE, text: \"\", list: storyList},$tw.wiki.getModificationFields());\n\t// Update history\n\tif(!options.disableHistory) {\n\t\t// If a target tiddler was specified add it to the history stack\n\t\tif(target && target !== \"\") {\n\t\t\t// The target tiddler doesn't need double square brackets, but we'll silently remove them if they're present\n\t\t\tif(target.indexOf(\"[[\") === 0 && target.substr(-2) === \"]]\") {\n\t\t\t\ttarget = target.substr(2,target.length - 4);\n\t\t\t}\n\t\t\t$tw.wiki.addToHistory(target);\n\t\t} else if(storyList.length > 0) {\n\t\t\t$tw.wiki.addToHistory(storyList[0]);\n\t\t}\t\t\n\t}\n}\n\n/*\noptions: See below\noptions.updateAddressBar: \"permalink\", \"permaview\" or \"no\" (defaults to \"permaview\")\noptions.updateHistory: \"yes\" or \"no\" (defaults to \"no\")\noptions.copyToClipboard: \"permalink\", \"permaview\" or \"no\" (defaults to \"no\")\noptions.targetTiddler: optional title of target tiddler for permalink\n*/\nfunction updateLocationHash(options) {\n\t// Get the story and the history stack\n\tvar storyList = $tw.wiki.getTiddlerList(DEFAULT_STORY_TITLE),\n\t\thistoryList = $tw.wiki.getTiddlerData(DEFAULT_HISTORY_TITLE,[]),\n\t\ttargetTiddler = \"\";\n\tif(options.targetTiddler) {\n\t\ttargetTiddler = options.targetTiddler;\n\t} else {\n\t\t// The target tiddler is the one at the top of the stack\n\t\tif(historyList.length > 0) {\n\t\t\ttargetTiddler = historyList[historyList.length-1].title;\n\t\t}\n\t\t// Blank the target tiddler if it isn't present in the story\n\t\tif(storyList.indexOf(targetTiddler) === -1) {\n\t\t\ttargetTiddler = \"\";\n\t\t}\n\t}\n\t// Assemble the location hash\n\tswitch(options.updateAddressBar) {\n\t\tcase \"permalink\":\n\t\t\t$tw.locationHash = \"#\" + encodeURIComponent(targetTiddler);\n\t\t\tbreak;\n\t\tcase \"permaview\":\n\t\t\t$tw.locationHash = \"#\" + encodeURIComponent(targetTiddler) + \":\" + encodeURIComponent($tw.utils.stringifyList(storyList));\n\t\t\tbreak;\n\t}\n\t// Copy URL to the clipboard\n\tswitch(options.copyToClipboard) {\n\t\tcase \"permalink\":\n\t\t\t$tw.utils.copyToClipboard($tw.utils.getLocationPath() + \"#\" + encodeURIComponent(targetTiddler));\n\t\t\tbreak;\n\t\tcase \"permaview\":\n\t\t\t$tw.utils.copyToClipboard($tw.utils.getLocationPath() + \"#\" + encodeURIComponent(targetTiddler) + \":\" + encodeURIComponent($tw.utils.stringifyList(storyList)));\n\t\t\tbreak;\n\t}\n\t// Only change the location hash if we must, thus avoiding unnecessary onhashchange events\n\tif($tw.utils.getLocationHash() !== $tw.locationHash) {\n\t\tif(options.updateHistory === \"yes\") {\n\t\t\t// Assign the location hash so that history is updated\n\t\t\twindow.location.hash = $tw.locationHash;\n\t\t} else {\n\t\t\t// We use replace so that browser history isn't affected\n\t\t\twindow.location.replace(window.location.toString().split(\"#\")[0] + $tw.locationHash);\n\t\t}\n\t}\n}\n\n})();\n",
            "type": "application/javascript",
            "module-type": "startup"
        },
        "$:/core/modules/startup/windows.js": {
            "title": "$:/core/modules/startup/windows.js",
            "text": "/*\\\ntitle: $:/core/modules/startup/windows.js\ntype: application/javascript\nmodule-type: startup\n\nSetup root widget handlers for the messages concerned with opening external browser windows\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"windows\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\n// Global to keep track of open windows (hashmap by title)\nvar windows = {};\n\nexports.startup = function() {\n\t// Handle open window message\n\t$tw.rootWidget.addEventListener(\"tm-open-window\",function(event) {\n\t\t// Get the parameters\n\t\tvar refreshHandler,\n\t\t\ttitle = event.param || event.tiddlerTitle,\n\t\t\tparamObject = event.paramObject || {},\n\t\t\twindowTitle = paramObject.windowTitle || title,\n\t\t\ttemplate = paramObject.template || \"$:/core/templates/single.tiddler.window\",\n\t\t\twidth = paramObject.width || \"700\",\n\t\t\theight = paramObject.height || \"600\",\n\t\t\tvariables = $tw.utils.extend({},paramObject,{currentTiddler: title});\n\t\t// Open the window\n\t\tvar srcWindow,\n\t\t    srcDocument;\n\t\t// In case that popup blockers deny opening a new window\n\t\ttry {\n\t\t\tsrcWindow = window.open(\"\",\"external-\" + title,\"scrollbars,width=\" + width + \",height=\" + height),\n\t\t\tsrcDocument = srcWindow.document;\n\t\t}\n\t\tcatch(e) {\n\t\t\treturn;\n\t\t}\n\t\twindows[title] = srcWindow;\n\t\t// Check for reopening the same window\n\t\tif(srcWindow.haveInitialisedWindow) {\n\t\t\treturn;\n\t\t}\n\t\t// Initialise the document\n\t\tsrcDocument.write(\"<html><head></head><body class='tc-body tc-single-tiddler-window'></body></html>\");\n\t\tsrcDocument.close();\n\t\tsrcDocument.title = windowTitle;\n\t\tsrcWindow.addEventListener(\"beforeunload\",function(event) {\n\t\t\tdelete windows[title];\n\t\t\t$tw.wiki.removeEventListener(\"change\",refreshHandler);\n\t\t},false);\n\t\t// Set up the styles\n\t\tvar styleWidgetNode = $tw.wiki.makeTranscludeWidget(\"$:/core/ui/PageStylesheet\",{\n\t\t\t\tdocument: $tw.fakeDocument,\n\t\t\t\tvariables: variables,\n\t\t\t\timportPageMacros: true}),\n\t\t\tstyleContainer = $tw.fakeDocument.createElement(\"style\");\n\t\tstyleWidgetNode.render(styleContainer,null);\n\t\tvar styleElement = srcDocument.createElement(\"style\");\n\t\tstyleElement.innerHTML = styleContainer.textContent;\n\t\tsrcDocument.head.insertBefore(styleElement,srcDocument.head.firstChild);\n\t\t// Render the text of the tiddler\n\t\tvar parser = $tw.wiki.parseTiddler(template),\n\t\t\twidgetNode = $tw.wiki.makeWidget(parser,{document: srcDocument, parentWidget: $tw.rootWidget, variables: variables});\n\t\twidgetNode.render(srcDocument.body,srcDocument.body.firstChild);\n\t\t// Function to handle refreshes\n\t\trefreshHandler = function(changes) {\n\t\t\tif(styleWidgetNode.refresh(changes,styleContainer,null)) {\n\t\t\t\tstyleElement.innerHTML = styleContainer.textContent;\n\t\t\t}\n\t\t\twidgetNode.refresh(changes);\n\t\t};\n\t\t$tw.wiki.addEventListener(\"change\",refreshHandler);\n\t\t// Listen for keyboard shortcuts\n\t\t$tw.utils.addEventListeners(srcDocument,[{\n\t\t\tname: \"keydown\",\n\t\t\thandlerObject: $tw.keyboardManager,\n\t\t\thandlerMethod: \"handleKeydownEvent\"\n\t\t},{\n\t\t\tname: \"click\",\n\t\t\thandlerObject: $tw.popup,\n\t\t\thandlerMethod: \"handleEvent\"\n\t\t}]);\n\t\tsrcWindow.haveInitialisedWindow = true;\n\t});\n\t// Close open windows when unloading main window\n\t$tw.addUnloadTask(function() {\n\t\t$tw.utils.each(windows,function(win) {\n\t\t\twin.close();\n\t\t});\n\t});\n\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "startup"
        },
        "$:/core/modules/story.js": {
            "title": "$:/core/modules/story.js",
            "text": "/*\\\ntitle: $:/core/modules/story.js\ntype: application/javascript\nmodule-type: global\n\nLightweight object for managing interactions with the story and history lists.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nConstruct Story object with options:\nwiki: reference to wiki object to use to resolve tiddler titles\nstoryTitle: title of story list tiddler\nhistoryTitle: title of history list tiddler\n*/\nfunction Story(options) {\n\toptions = options || {};\n\tthis.wiki = options.wiki || $tw.wiki;\n\tthis.storyTitle = options.storyTitle || \"$:/StoryList\";\n\tthis.historyTitle = options.historyTitle || \"$:/HistoryList\";\n};\n\nStory.prototype.navigateTiddler = function(navigateTo,navigateFromTitle,navigateFromClientRect) {\n\tthis.addToStory(navigateTo,navigateFromTitle);\n\tthis.addToHistory(navigateTo,navigateFromClientRect);\n};\n\nStory.prototype.getStoryList = function() {\n\treturn this.wiki.getTiddlerList(this.storyTitle) || [];\n};\n\nStory.prototype.addToStory = function(navigateTo,navigateFromTitle,options) {\n\toptions = options || {};\n\tvar storyList = this.getStoryList();\n\t// See if the tiddler is already there\n\tvar slot = storyList.indexOf(navigateTo);\n\t// Quit if it already exists in the story river\n\tif(slot >= 0) {\n\t\treturn;\n\t}\n\t// First we try to find the position of the story element we navigated from\n\tvar fromIndex = storyList.indexOf(navigateFromTitle);\n\tif(fromIndex >= 0) {\n\t\t// The tiddler is added from inside the river\n\t\t// Determine where to insert the tiddler; Fallback is \"below\"\n\t\tswitch(options.openLinkFromInsideRiver) {\n\t\t\tcase \"top\":\n\t\t\t\tslot = 0;\n\t\t\t\tbreak;\n\t\t\tcase \"bottom\":\n\t\t\t\tslot = storyList.length;\n\t\t\t\tbreak;\n\t\t\tcase \"above\":\n\t\t\t\tslot = fromIndex;\n\t\t\t\tbreak;\n\t\t\tcase \"below\": // Intentional fall-through\n\t\t\tdefault:\n\t\t\t\tslot = fromIndex + 1;\n\t\t\t\tbreak;\n\t\t}\n\t} else {\n\t\t// The tiddler is opened from outside the river. Determine where to insert the tiddler; default is \"top\"\n\t\tif(options.openLinkFromOutsideRiver === \"bottom\") {\n\t\t\t// Insert at bottom\n\t\t\tslot = storyList.length;\n\t\t} else {\n\t\t\t// Insert at top\n\t\t\tslot = 0;\n\t\t}\n\t}\n\t// Add the tiddler\n\tstoryList.splice(slot,0,navigateTo);\n\t// Save the story\n\tthis.saveStoryList(storyList);\n};\n\nStory.prototype.saveStoryList = function(storyList) {\n\tvar storyTiddler = this.wiki.getTiddler(this.storyTitle);\n\tthis.wiki.addTiddler(new $tw.Tiddler(\n\t\tthis.wiki.getCreationFields(),\n\t\t{title: this.storyTitle},\n\t\tstoryTiddler,\n\t\t{list: storyList},\n\t\tthis.wiki.getModificationFields()\n\t));\n};\n\nStory.prototype.addToHistory = function(navigateTo,navigateFromClientRect) {\n\tvar titles = $tw.utils.isArray(navigateTo) ? navigateTo : [navigateTo];\n\t// Add a new record to the top of the history stack\n\tvar historyList = this.wiki.getTiddlerData(this.historyTitle,[]);\n\t$tw.utils.each(titles,function(title) {\n\t\thistoryList.push({title: title, fromPageRect: navigateFromClientRect});\n\t});\n\tthis.wiki.setTiddlerData(this.historyTitle,historyList,{\"current-tiddler\": titles[titles.length-1]});\n};\n\nStory.prototype.storyCloseTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyCloseAllTiddlers = function() {\n// TBD\n};\n\nStory.prototype.storyCloseOtherTiddlers = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyEditTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyDeleteTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storySaveTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyCancelTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyNewTiddler = function(targetTitle) {\n// TBD\n};\n\nexports.Story = Story;\n\n\n})();\n",
            "type": "application/javascript",
            "module-type": "global"
        },
        "$:/core/modules/storyviews/classic.js": {
            "title": "$:/core/modules/storyviews/classic.js",
            "text": "/*\\\ntitle: $:/core/modules/storyviews/classic.js\ntype: application/javascript\nmodule-type: storyview\n\nViews the story as a linear sequence\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar easing = \"cubic-bezier(0.645, 0.045, 0.355, 1)\"; // From http://easings.net/#easeInOutCubic\n\nvar ClassicStoryView = function(listWidget) {\n\tthis.listWidget = listWidget;\n};\n\nClassicStoryView.prototype.navigateTo = function(historyInfo) {\n\tvar duration = $tw.utils.getAnimationDuration()\n\tvar listElementIndex = this.listWidget.findListItem(0,historyInfo.title);\n\tif(listElementIndex === undefined) {\n\t\treturn;\n\t}\n\tvar listItemWidget = this.listWidget.children[listElementIndex],\n\t\ttargetElement = listItemWidget.findFirstDomNode();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\tif(duration) {\n\t\t// Scroll the node into view\n\t\tthis.listWidget.dispatchEvent({type: \"tm-scroll\", target: targetElement});\t\n\t} else {\n\t\ttargetElement.scrollIntoView();\n\t}\n};\n\nClassicStoryView.prototype.insert = function(widget) {\n\tvar duration = $tw.utils.getAnimationDuration();\n\tif(duration) {\n\t\tvar targetElement = widget.findFirstDomNode();\n\t\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\t\tif(!(targetElement instanceof Element)) {\n\t\t\treturn;\n\t\t}\n\t\t// Get the current height of the tiddler\n\t\tvar computedStyle = window.getComputedStyle(targetElement),\n\t\t\tcurrMarginBottom = parseInt(computedStyle.marginBottom,10),\n\t\t\tcurrMarginTop = parseInt(computedStyle.marginTop,10),\n\t\t\tcurrHeight = targetElement.offsetHeight + currMarginTop;\n\t\t// Reset the margin once the transition is over\n\t\tsetTimeout(function() {\n\t\t\t$tw.utils.setStyle(targetElement,[\n\t\t\t\t{transition: \"none\"},\n\t\t\t\t{marginBottom: \"\"}\n\t\t\t]);\n\t\t},duration);\n\t\t// Set up the initial position of the element\n\t\t$tw.utils.setStyle(targetElement,[\n\t\t\t{transition: \"none\"},\n\t\t\t{marginBottom: (-currHeight) + \"px\"},\n\t\t\t{opacity: \"0.0\"}\n\t\t]);\n\t\t$tw.utils.forceLayout(targetElement);\n\t\t// Transition to the final position\n\t\t$tw.utils.setStyle(targetElement,[\n\t\t\t{transition: \"opacity \" + duration + \"ms \" + easing + \", \" +\n\t\t\t\t\t\t\"margin-bottom \" + duration + \"ms \" + easing},\n\t\t\t{marginBottom: currMarginBottom + \"px\"},\n\t\t\t{opacity: \"1.0\"}\n\t]);\n\t}\n};\n\nClassicStoryView.prototype.remove = function(widget) {\n\tvar duration = $tw.utils.getAnimationDuration();\n\tif(duration) {\n\t\tvar targetElement = widget.findFirstDomNode(),\n\t\t\tremoveElement = function() {\n\t\t\t\twidget.removeChildDomNodes();\n\t\t\t};\n\t\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\t\tif(!(targetElement instanceof Element)) {\n\t\t\tremoveElement();\n\t\t\treturn;\n\t\t}\n\t\t// Get the current height of the tiddler\n\t\tvar currWidth = targetElement.offsetWidth,\n\t\t\tcomputedStyle = window.getComputedStyle(targetElement),\n\t\t\tcurrMarginBottom = parseInt(computedStyle.marginBottom,10),\n\t\t\tcurrMarginTop = parseInt(computedStyle.marginTop,10),\n\t\t\tcurrHeight = targetElement.offsetHeight + currMarginTop;\n\t\t// Remove the dom nodes of the widget at the end of the transition\n\t\tsetTimeout(removeElement,duration);\n\t\t// Animate the closure\n\t\t$tw.utils.setStyle(targetElement,[\n\t\t\t{transition: \"none\"},\n\t\t\t{transform: \"translateX(0px)\"},\n\t\t\t{marginBottom:  currMarginBottom + \"px\"},\n\t\t\t{opacity: \"1.0\"}\n\t\t]);\n\t\t$tw.utils.forceLayout(targetElement);\n\t\t$tw.utils.setStyle(targetElement,[\n\t\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", \" +\n\t\t\t\t\t\t\"opacity \" + duration + \"ms \" + easing + \", \" +\n\t\t\t\t\t\t\"margin-bottom \" + duration + \"ms \" + easing},\n\t\t\t{transform: \"translateX(-\" + currWidth + \"px)\"},\n\t\t\t{marginBottom: (-currHeight) + \"px\"},\n\t\t\t{opacity: \"0.0\"}\n\t\t]);\n\t} else {\n\t\twidget.removeChildDomNodes();\n\t}\n};\n\nexports.classic = ClassicStoryView;\n\n})();",
            "type": "application/javascript",
            "module-type": "storyview"
        },
        "$:/core/modules/storyviews/pop.js": {
            "title": "$:/core/modules/storyviews/pop.js",
            "text": "/*\\\ntitle: $:/core/modules/storyviews/pop.js\ntype: application/javascript\nmodule-type: storyview\n\nAnimates list insertions and removals\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar PopStoryView = function(listWidget) {\n\tthis.listWidget = listWidget;\n};\n\nPopStoryView.prototype.navigateTo = function(historyInfo) {\n\tvar listElementIndex = this.listWidget.findListItem(0,historyInfo.title);\n\tif(listElementIndex === undefined) {\n\t\treturn;\n\t}\n\tvar listItemWidget = this.listWidget.children[listElementIndex],\n\t\ttargetElement = listItemWidget.findFirstDomNode();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\t// Scroll the node into view\n\tthis.listWidget.dispatchEvent({type: \"tm-scroll\", target: targetElement});\n};\n\nPopStoryView.prototype.insert = function(widget) {\n\tvar targetElement = widget.findFirstDomNode(),\n\t\tduration = $tw.utils.getAnimationDuration();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\t// Reset once the transition is over\n\tsetTimeout(function() {\n\t\t$tw.utils.setStyle(targetElement,[\n\t\t\t{transition: \"none\"},\n\t\t\t{transform: \"none\"}\n\t\t]);\n\t\t$tw.utils.setStyle(widget.document.body,[\n\t\t\t{\"overflow-x\": \"\"}\n\t\t]);\n\t},duration);\n\t// Prevent the page from overscrolling due to the zoom factor\n\t$tw.utils.setStyle(widget.document.body,[\n\t\t{\"overflow-x\": \"hidden\"}\n\t]);\n\t// Set up the initial position of the element\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: \"none\"},\n\t\t{transform: \"scale(2)\"},\n\t\t{opacity: \"0.0\"}\n\t]);\n\t$tw.utils.forceLayout(targetElement);\n\t// Transition to the final position\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms ease-in-out\"},\n\t\t{transform: \"scale(1)\"},\n\t\t{opacity: \"1.0\"}\n\t]);\n};\n\nPopStoryView.prototype.remove = function(widget) {\n\tvar targetElement = widget.findFirstDomNode(),\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t\tremoveElement = function() {\n\t\t\tif(targetElement && targetElement.parentNode) {\n\t\t\t\twidget.removeChildDomNodes();\n\t\t\t}\n\t\t};\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\tremoveElement();\n\t\treturn;\n\t}\n\t// Remove the element at the end of the transition\n\tsetTimeout(removeElement,duration);\n\t// Animate the closure\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: \"none\"},\n\t\t{transform: \"scale(1)\"},\n\t\t{opacity: \"1.0\"}\n\t]);\n\t$tw.utils.forceLayout(targetElement);\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms ease-in-out\"},\n\t\t{transform: \"scale(0.1)\"},\n\t\t{opacity: \"0.0\"}\n\t]);\n};\n\nexports.pop = PopStoryView;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "storyview"
        },
        "$:/core/modules/storyviews/zoomin.js": {
            "title": "$:/core/modules/storyviews/zoomin.js",
            "text": "/*\\\ntitle: $:/core/modules/storyviews/zoomin.js\ntype: application/javascript\nmodule-type: storyview\n\nZooms between individual tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar easing = \"cubic-bezier(0.645, 0.045, 0.355, 1)\"; // From http://easings.net/#easeInOutCubic\n\nvar ZoominListView = function(listWidget) {\n\tvar self = this;\n\tthis.listWidget = listWidget;\n\t// Get the index of the tiddler that is at the top of the history\n\tvar history = this.listWidget.wiki.getTiddlerDataCached(this.listWidget.historyTitle,[]),\n\t\ttargetTiddler;\n\tif(history.length > 0) {\n\t\ttargetTiddler = history[history.length-1].title;\n\t}\n\t// Make all the tiddlers position absolute, and hide all but the top (or first) one\n\t$tw.utils.each(this.listWidget.children,function(itemWidget,index) {\n\t\tvar domNode = itemWidget.findFirstDomNode();\n\t\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\t\tif(!(domNode instanceof Element)) {\n\t\t\treturn;\n\t\t}\n\t\tif((targetTiddler && targetTiddler !== itemWidget.parseTreeNode.itemTitle) || (!targetTiddler && index)) {\n\t\t\tdomNode.style.display = \"none\";\n\t\t} else {\n\t\t\tself.currentTiddlerDomNode = domNode;\n\t\t}\n\t\t$tw.utils.addClass(domNode,\"tc-storyview-zoomin-tiddler\");\n\t});\n};\n\nZoominListView.prototype.navigateTo = function(historyInfo) {\n\tvar duration = $tw.utils.getAnimationDuration(),\n\t\tlistElementIndex = this.listWidget.findListItem(0,historyInfo.title);\n\tif(listElementIndex === undefined) {\n\t\treturn;\n\t}\n\tvar listItemWidget = this.listWidget.children[listElementIndex],\n\t\ttargetElement = listItemWidget.findFirstDomNode();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\t// Make the new tiddler be position absolute and visible so that we can measure it\n\t$tw.utils.addClass(targetElement,\"tc-storyview-zoomin-tiddler\");\n\t$tw.utils.setStyle(targetElement,[\n\t\t{display: \"block\"},\n\t\t{transformOrigin: \"0 0\"},\n\t\t{transform: \"translateX(0px) translateY(0px) scale(1)\"},\n\t\t{transition: \"none\"},\n\t\t{opacity: \"0.0\"}\n\t]);\n\t// Get the position of the source node, or use the centre of the window as the source position\n\tvar sourceBounds = historyInfo.fromPageRect || {\n\t\t\tleft: window.innerWidth/2 - 2,\n\t\t\ttop: window.innerHeight/2 - 2,\n\t\t\twidth: window.innerWidth/8,\n\t\t\theight: window.innerHeight/8\n\t\t};\n\t// Try to find the title node in the target tiddler\n\tvar titleDomNode = findTitleDomNode(listItemWidget) || listItemWidget.findFirstDomNode(),\n\t\tzoomBounds = titleDomNode.getBoundingClientRect();\n\t// Compute the transform for the target tiddler to make the title lie over the source rectange\n\tvar targetBounds = targetElement.getBoundingClientRect(),\n\t\tscale = sourceBounds.width / zoomBounds.width,\n\t\tx = sourceBounds.left - targetBounds.left - (zoomBounds.left - targetBounds.left) * scale,\n\t\ty = sourceBounds.top - targetBounds.top - (zoomBounds.top - targetBounds.top) * scale;\n\t// Transform the target tiddler to its starting position\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transform: \"translateX(\" + x + \"px) translateY(\" + y + \"px) scale(\" + scale + \")\"}\n\t]);\n\t// Force layout\n\t$tw.utils.forceLayout(targetElement);\n\t// Apply the ending transitions with a timeout to ensure that the previously applied transformations are applied first\n\tvar self = this,\n\t\tprevCurrentTiddler = this.currentTiddlerDomNode;\n\tthis.currentTiddlerDomNode = targetElement;\n\t// Transform the target tiddler to its natural size\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", opacity \" + duration + \"ms \" + easing},\n\t\t{opacity: \"1.0\"},\n\t\t{transform: \"translateX(0px) translateY(0px) scale(1)\"},\n\t\t{zIndex: \"500\"},\n\t]);\n\t// Transform the previous tiddler out of the way and then hide it\n\tif(prevCurrentTiddler && prevCurrentTiddler !== targetElement) {\n\t\tscale = zoomBounds.width / sourceBounds.width;\n\t\tx =  zoomBounds.left - targetBounds.left - (sourceBounds.left - targetBounds.left) * scale;\n\t\ty =  zoomBounds.top - targetBounds.top - (sourceBounds.top - targetBounds.top) * scale;\n\t\t$tw.utils.setStyle(prevCurrentTiddler,[\n\t\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", opacity \" + duration + \"ms \" + easing},\n\t\t\t{opacity: \"0.0\"},\n\t\t\t{transformOrigin: \"0 0\"},\n\t\t\t{transform: \"translateX(\" + x + \"px) translateY(\" + y + \"px) scale(\" + scale + \")\"},\n\t\t\t{zIndex: \"0\"}\n\t\t]);\n\t\t// Hide the tiddler when the transition has finished\n\t\tsetTimeout(function() {\n\t\t\tif(self.currentTiddlerDomNode !== prevCurrentTiddler) {\n\t\t\t\tprevCurrentTiddler.style.display = \"none\";\n\t\t\t}\n\t\t},duration);\n\t}\n\t// Scroll the target into view\n//\t$tw.pageScroller.scrollIntoView(targetElement);\n};\n\n/*\nFind the first child DOM node of a widget that has the class \"tc-title\"\n*/\nfunction findTitleDomNode(widget,targetClass) {\n\ttargetClass = targetClass || \"tc-title\";\n\tvar domNode = widget.findFirstDomNode();\n\tif(domNode && domNode.querySelector) {\n\t\treturn domNode.querySelector(\".\" + targetClass);\n\t}\n\treturn null;\n}\n\nZoominListView.prototype.insert = function(widget) {\n\tvar targetElement = widget.findFirstDomNode();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\t// Make the newly inserted node position absolute and hidden\n\t$tw.utils.addClass(targetElement,\"tc-storyview-zoomin-tiddler\");\n\t$tw.utils.setStyle(targetElement,[\n\t\t{display: \"none\"}\n\t]);\n};\n\nZoominListView.prototype.remove = function(widget) {\n\tvar targetElement = widget.findFirstDomNode(),\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t\tremoveElement = function() {\n\t\t\twidget.removeChildDomNodes();\n\t\t};\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\tremoveElement();\n\t\treturn;\n\t}\n\t// Abandon if hidden\n\tif(targetElement.style.display != \"block\" ) {\n\t\tremoveElement();\n\t\treturn;\n\t}\n\t// Set up the tiddler that is being closed\n\t$tw.utils.addClass(targetElement,\"tc-storyview-zoomin-tiddler\");\n\t$tw.utils.setStyle(targetElement,[\n\t\t{display: \"block\"},\n\t\t{transformOrigin: \"50% 50%\"},\n\t\t{transform: \"translateX(0px) translateY(0px) scale(1)\"},\n\t\t{transition: \"none\"},\n\t\t{zIndex: \"0\"}\n\t]);\n\t// We'll move back to the previous or next element in the story\n\tvar toWidget = widget.previousSibling();\n\tif(!toWidget) {\n\t\ttoWidget = widget.nextSibling();\n\t}\n\tvar toWidgetDomNode = toWidget && toWidget.findFirstDomNode();\n\t// Set up the tiddler we're moving back in\n\tif(toWidgetDomNode) {\n\t\t$tw.utils.addClass(toWidgetDomNode,\"tc-storyview-zoomin-tiddler\");\n\t\t$tw.utils.setStyle(toWidgetDomNode,[\n\t\t\t{display: \"block\"},\n\t\t\t{transformOrigin: \"50% 50%\"},\n\t\t\t{transform: \"translateX(0px) translateY(0px) scale(10)\"},\n\t\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", opacity \" + duration + \"ms \" + easing},\n\t\t\t{opacity: \"0\"},\n\t\t\t{zIndex: \"500\"}\n\t\t]);\n\t\tthis.currentTiddlerDomNode = toWidgetDomNode;\n\t}\n\t// Animate them both\n\t// Force layout\n\t$tw.utils.forceLayout(this.listWidget.parentDomNode);\n\t// First, the tiddler we're closing\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transformOrigin: \"50% 50%\"},\n\t\t{transform: \"translateX(0px) translateY(0px) scale(0.1)\"},\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", opacity \" + duration + \"ms \" + easing},\n\t\t{opacity: \"0\"},\n\t\t{zIndex: \"0\"}\n\t]);\n\tsetTimeout(removeElement,duration);\n\t// Now the tiddler we're going back to\n\tif(toWidgetDomNode) {\n\t\t$tw.utils.setStyle(toWidgetDomNode,[\n\t\t\t{transform: \"translateX(0px) translateY(0px) scale(1)\"},\n\t\t\t{opacity: \"1\"}\n\t\t]);\n\t}\n\treturn true; // Indicate that we'll delete the DOM node\n};\n\nexports.zoomin = ZoominListView;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "storyview"
        },
        "$:/core/modules/syncer.js": {
            "title": "$:/core/modules/syncer.js",
            "text": "/*\\\ntitle: $:/core/modules/syncer.js\ntype: application/javascript\nmodule-type: global\n\nThe syncer tracks changes to the store. If a syncadaptor is used then individual tiddlers are synchronised through it. If there is no syncadaptor then the entire wiki is saved via saver modules.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nDefaults\n*/\nSyncer.prototype.titleIsLoggedIn = \"$:/status/IsLoggedIn\";\nSyncer.prototype.titleIsAnonymous = \"$:/status/IsAnonymous\";\nSyncer.prototype.titleIsReadOnly = \"$:/status/IsReadOnly\";\nSyncer.prototype.titleUserName = \"$:/status/UserName\";\nSyncer.prototype.titleSyncFilter = \"$:/config/SyncFilter\";\nSyncer.prototype.titleSyncPollingInterval = \"$:/config/SyncPollingInterval\";\nSyncer.prototype.titleSavedNotification = \"$:/language/Notifications/Save/Done\";\nSyncer.prototype.taskTimerInterval = 1 * 1000; // Interval for sync timer\nSyncer.prototype.throttleInterval = 1 * 1000; // Defer saving tiddlers if they've changed in the last 1s...\nSyncer.prototype.fallbackInterval = 10 * 1000; // Unless the task is older than 10s\nSyncer.prototype.pollTimerInterval = 60 * 1000; // Interval for polling for changes from the adaptor\n\n/*\nInstantiate the syncer with the following options:\nsyncadaptor: reference to syncadaptor to be used\nwiki: wiki to be synced\n*/\nfunction Syncer(options) {\n\tvar self = this;\n\tthis.wiki = options.wiki;\n\tthis.syncadaptor = options.syncadaptor;\n\tthis.disableUI = !!options.disableUI;\n\tthis.titleIsLoggedIn = options.titleIsLoggedIn || this.titleIsLoggedIn;\n\tthis.titleUserName = options.titleUserName || this.titleUserName;\n\tthis.titleSyncFilter = options.titleSyncFilter || this.titleSyncFilter;\n\tthis.titleSavedNotification = options.titleSavedNotification || this.titleSavedNotification;\n\tthis.taskTimerInterval = options.taskTimerInterval || this.taskTimerInterval;\n\tthis.throttleInterval = options.throttleInterval || this.throttleInterval;\n\tthis.fallbackInterval = options.fallbackInterval || this.fallbackInterval;\n\tthis.pollTimerInterval = options.pollTimerInterval || parseInt(this.wiki.getTiddlerText(this.titleSyncPollingInterval,\"\"),10) || this.pollTimerInterval;\n\tthis.logging = \"logging\" in options ? options.logging : true;\n\t// Make a logger\n\tthis.logger = new $tw.utils.Logger(\"syncer\" + ($tw.browser ? \"-browser\" : \"\") + ($tw.node ? \"-server\" : \"\")  + (this.syncadaptor.name ? (\"-\" + this.syncadaptor.name) : \"\"),{\n\t\t\tcolour: \"cyan\",\n\t\t\tenable: this.logging\n\t\t});\n\t// Compile the dirty tiddler filter\n\tthis.filterFn = this.wiki.compileFilter(this.wiki.getTiddlerText(this.titleSyncFilter));\n\t// Record information for known tiddlers\n\tthis.readTiddlerInfo();\n\t// Tasks are {type: \"load\"/\"save\"/\"delete\", title:, queueTime:, lastModificationTime:}\n\tthis.taskQueue = {}; // Hashmap of tasks yet to be performed\n\tthis.taskInProgress = {}; // Hash of tasks in progress\n\tthis.taskTimerId = null; // Timer for task dispatch\n\tthis.pollTimerId = null; // Timer for polling server\n\t// Listen out for changes to tiddlers\n\tthis.wiki.addEventListener(\"change\",function(changes) {\n\t\tself.syncToServer(changes);\n\t});\n\t// Browser event handlers\n\tif($tw.browser && !this.disableUI) {\n\t\t// Set up our beforeunload handler\n\t\t$tw.addUnloadTask(function(event) {\n\t\t\tvar confirmationMessage;\n\t\t\tif(self.isDirty()) {\n\t\t\t\tconfirmationMessage = $tw.language.getString(\"UnsavedChangesWarning\");\n\t\t\t\tevent.returnValue = confirmationMessage; // Gecko\n\t\t\t}\n\t\t\treturn confirmationMessage;\n\t\t});\n\t\t// Listen out for login/logout/refresh events in the browser\n\t\t$tw.rootWidget.addEventListener(\"tm-login\",function() {\n\t\t\tself.handleLoginEvent();\n\t\t});\n\t\t$tw.rootWidget.addEventListener(\"tm-logout\",function() {\n\t\t\tself.handleLogoutEvent();\n\t\t});\n\t\t$tw.rootWidget.addEventListener(\"tm-server-refresh\",function() {\n\t\t\tself.handleRefreshEvent();\n\t\t});\n\t}\n\t// Listen out for lazyLoad events\n\tif(!this.disableUI) {\n\t\tthis.wiki.addEventListener(\"lazyLoad\",function(title) {\n\t\t\tself.handleLazyLoadEvent(title);\n\t\t});\t\t\n\t}\n\t// Get the login status\n\tthis.getStatus(function(err,isLoggedIn) {\n\t\t// Do a sync from the server\n\t\tself.syncFromServer();\n\t});\n}\n\n/*\nRead (or re-read) the latest tiddler info from the store\n*/\nSyncer.prototype.readTiddlerInfo = function() {\n\t// Hashmap by title of {revision:,changeCount:,adaptorInfo:}\n\tthis.tiddlerInfo = {};\n\t// Record information for known tiddlers\n\tvar self = this,\n\t\ttiddlers = this.filterFn.call(this.wiki);\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\tself.tiddlerInfo[title] = {\n\t\t\trevision: tiddler.fields.revision,\n\t\t\tadaptorInfo: self.syncadaptor && self.syncadaptor.getTiddlerInfo(tiddler),\n\t\t\tchangeCount: self.wiki.getChangeCount(title),\n\t\t\thasBeenLazyLoaded: false\n\t\t};\n\t});\n};\n\n/*\nCreate an tiddlerInfo structure if it doesn't already exist\n*/\nSyncer.prototype.createTiddlerInfo = function(title) {\n\tif(!$tw.utils.hop(this.tiddlerInfo,title)) {\n\t\tthis.tiddlerInfo[title] = {\n\t\t\trevision: null,\n\t\t\tadaptorInfo: {},\n\t\t\tchangeCount: -1,\n\t\t\thasBeenLazyLoaded: false\n\t\t};\n\t}\n};\n\n/*\nChecks whether the wiki is dirty (ie the window shouldn't be closed)\n*/\nSyncer.prototype.isDirty = function() {\n\treturn (this.numTasksInQueue() > 0) || (this.numTasksInProgress() > 0);\n};\n\n/*\nUpdate the document body with the class \"tc-dirty\" if the wiki has unsaved/unsynced changes\n*/\nSyncer.prototype.updateDirtyStatus = function() {\n\tif($tw.browser && !this.disableUI) {\n\t\t$tw.utils.toggleClass(document.body,\"tc-dirty\",this.isDirty());\n\t}\n};\n\n/*\nSave an incoming tiddler in the store, and updates the associated tiddlerInfo\n*/\nSyncer.prototype.storeTiddler = function(tiddlerFields,hasBeenLazyLoaded) {\n\t// Save the tiddler\n\tvar tiddler = new $tw.Tiddler(tiddlerFields);\n\tthis.wiki.addTiddler(tiddler);\n\t// Save the tiddler revision and changeCount details\n\tthis.tiddlerInfo[tiddlerFields.title] = {\n\t\trevision: tiddlerFields.revision,\n\t\tadaptorInfo: this.syncadaptor.getTiddlerInfo(tiddler),\n\t\tchangeCount: this.wiki.getChangeCount(tiddlerFields.title),\n\t\thasBeenLazyLoaded: hasBeenLazyLoaded !== undefined ? hasBeenLazyLoaded : true\n\t};\n};\n\nSyncer.prototype.getStatus = function(callback) {\n\tvar self = this;\n\t// Check if the adaptor supports getStatus()\n\tif(this.syncadaptor && this.syncadaptor.getStatus) {\n\t\t// Mark us as not logged in\n\t\tthis.wiki.addTiddler({title: this.titleIsLoggedIn,text: \"no\"});\n\t\t// Get login status\n\t\tthis.syncadaptor.getStatus(function(err,isLoggedIn,username,isReadOnly,isAnonymous) {\n\t\t\tif(err) {\n\t\t\t\tself.logger.alert(err);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// Set the various status tiddlers\n\t\t\tself.wiki.addTiddler({title: self.titleIsReadOnly,text: isReadOnly ? \"yes\" : \"no\"});\n\t\t\tself.wiki.addTiddler({title: self.titleIsAnonymous,text: isAnonymous ? \"yes\" : \"no\"});\n\t\t\tself.wiki.addTiddler({title: self.titleIsLoggedIn,text: isLoggedIn ? \"yes\" : \"no\"});\n\t\t\tif(isLoggedIn) {\n\t\t\t\tself.wiki.addTiddler({title: self.titleUserName,text: username || \"\"});\n\t\t\t}\n\t\t\t// Invoke the callback\n\t\t\tif(callback) {\n\t\t\t\tcallback(err,isLoggedIn,username);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tcallback(null,true,\"UNAUTHENTICATED\");\n\t}\n};\n\n/*\nSynchronise from the server by reading the skinny tiddler list and queuing up loads for any tiddlers that we don't already have up to date\n*/\nSyncer.prototype.syncFromServer = function() {\n\tif(this.syncadaptor && this.syncadaptor.getSkinnyTiddlers) {\n\t\tthis.logger.log(\"Retrieving skinny tiddler list\");\n\t\tvar self = this;\n\t\tif(this.pollTimerId) {\n\t\t\tclearTimeout(this.pollTimerId);\n\t\t\tthis.pollTimerId = null;\n\t\t}\n\t\tthis.syncadaptor.getSkinnyTiddlers(function(err,tiddlers) {\n\t\t\t// Trigger the next sync\n\t\t\tself.pollTimerId = setTimeout(function() {\n\t\t\t\tself.pollTimerId = null;\n\t\t\t\tself.syncFromServer.call(self);\n\t\t\t},self.pollTimerInterval);\n\t\t\t// Check for errors\n\t\t\tif(err) {\n\t\t\t\tself.logger.alert($tw.language.getString(\"Error/RetrievingSkinny\") + \":\",err);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// Process each incoming tiddler\n\t\t\tfor(var t=0; t<tiddlers.length; t++) {\n\t\t\t\t// Get the incoming tiddler fields, and the existing tiddler\n\t\t\t\tvar tiddlerFields = tiddlers[t],\n\t\t\t\t\tincomingRevision = tiddlerFields.revision + \"\",\n\t\t\t\t\ttiddler = self.wiki.getTiddler(tiddlerFields.title),\n\t\t\t\t\ttiddlerInfo = self.tiddlerInfo[tiddlerFields.title],\n\t\t\t\t\tcurrRevision = tiddlerInfo ? tiddlerInfo.revision : null;\n\t\t\t\t// Ignore the incoming tiddler if it's the same as the revision we've already got\n\t\t\t\tif(currRevision !== incomingRevision) {\n\t\t\t\t\t// Do a full load if we've already got a fat version of the tiddler\n\t\t\t\t\tif(tiddler && tiddler.fields.text !== undefined) {\n\t\t\t\t\t\t// Do a full load of this tiddler\n\t\t\t\t\t\tself.enqueueSyncTask({\n\t\t\t\t\t\t\ttype: \"load\",\n\t\t\t\t\t\t\ttitle: tiddlerFields.title\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Load the skinny version of the tiddler\n\t\t\t\t\t\tself.storeTiddler(tiddlerFields,false);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n};\n\n/*\nSynchronise a set of changes to the server\n*/\nSyncer.prototype.syncToServer = function(changes) {\n\tvar self = this,\n\t\tnow = Date.now(),\n\t\tfilteredChanges = this.filterFn.call(this.wiki,function(callback) {\n\t\t\t$tw.utils.each(changes,function(change,title) {\n\t\t\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\t\t\tcallback(tiddler,title);\n\t\t\t});\n\t\t});\n\t$tw.utils.each(changes,function(change,title,object) {\n\t\t// Process the change if it is a deletion of a tiddler we're already syncing, or is on the filtered change list\n\t\tif((change.deleted && $tw.utils.hop(self.tiddlerInfo,title)) || filteredChanges.indexOf(title) !== -1) {\n\t\t\t// Queue a task to sync this tiddler\n\t\t\tself.enqueueSyncTask({\n\t\t\t\ttype: change.deleted ? \"delete\" : \"save\",\n\t\t\t\ttitle: title\n\t\t\t});\n\t\t}\n\t});\n};\n\n/*\nLazily load a skinny tiddler if we can\n*/\nSyncer.prototype.handleLazyLoadEvent = function(title) {\n\t// Don't lazy load the same tiddler twice\n\tvar info = this.tiddlerInfo[title];\n\tif(!info || !info.hasBeenLazyLoaded) {\n\t\t// Don't lazy load if the tiddler isn't included in the sync filter\n\t\tif(this.filterFn.call(this.wiki).indexOf(title) !== -1) {\n\t\t\tthis.createTiddlerInfo(title);\n\t\t\tthis.tiddlerInfo[title].hasBeenLazyLoaded = true;\n\t\t\t// Queue up a sync task to load this tiddler\n\t\t\tthis.enqueueSyncTask({\n\t\t\t\ttype: \"load\",\n\t\t\t\ttitle: title\n\t\t\t});\n\t\t}\n\t}\n};\n\n/*\nDispay a password prompt and allow the user to login\n*/\nSyncer.prototype.handleLoginEvent = function() {\n\tvar self = this;\n\tthis.getStatus(function(err,isLoggedIn,username) {\n\t\tif(!isLoggedIn) {\n\t\t\t$tw.passwordPrompt.createPrompt({\n\t\t\t\tserviceName: $tw.language.getString(\"LoginToTiddlySpace\"),\n\t\t\t\tcallback: function(data) {\n\t\t\t\t\tself.login(data.username,data.password,function(err,isLoggedIn) {\n\t\t\t\t\t\tself.syncFromServer();\n\t\t\t\t\t});\n\t\t\t\t\treturn true; // Get rid of the password prompt\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n};\n\n/*\nAttempt to login to TiddlyWeb.\n\tusername: username\n\tpassword: password\n\tcallback: invoked with arguments (err,isLoggedIn)\n*/\nSyncer.prototype.login = function(username,password,callback) {\n\tthis.logger.log(\"Attempting to login as\",username);\n\tvar self = this;\n\tif(this.syncadaptor.login) {\n\t\tthis.syncadaptor.login(username,password,function(err) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tself.getStatus(function(err,isLoggedIn,username) {\n\t\t\t\tif(callback) {\n\t\t\t\t\tcallback(null,isLoggedIn);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t} else {\n\t\tcallback(null,true);\n\t}\n};\n\n/*\nAttempt to log out of TiddlyWeb\n*/\nSyncer.prototype.handleLogoutEvent = function() {\n\tthis.logger.log(\"Attempting to logout\");\n\tvar self = this;\n\tif(this.syncadaptor.logout) {\n\t\tthis.syncadaptor.logout(function(err) {\n\t\t\tif(err) {\n\t\t\t\tself.logger.alert(err);\n\t\t\t} else {\n\t\t\t\tself.getStatus();\n\t\t\t}\n\t\t});\n\t}\n};\n\n/*\nImmediately refresh from the server\n*/\nSyncer.prototype.handleRefreshEvent = function() {\n\tthis.syncFromServer();\n};\n\n/*\nQueue up a sync task. If there is already a pending task for the tiddler, just update the last modification time\n*/\nSyncer.prototype.enqueueSyncTask = function(task) {\n\tvar self = this,\n\t\tnow = Date.now();\n\t// Set the timestamps on this task\n\ttask.queueTime = now;\n\ttask.lastModificationTime = now;\n\t// Fill in some tiddlerInfo if the tiddler is one we haven't seen before\n\tthis.createTiddlerInfo(task.title);\n\t// Bail if this is a save and the tiddler is already at the changeCount that the server has\n\tif(task.type === \"save\" && this.wiki.getChangeCount(task.title) <= this.tiddlerInfo[task.title].changeCount) {\n\t\treturn;\n\t}\n\t// Check if this tiddler is already in the queue\n\tif($tw.utils.hop(this.taskQueue,task.title)) {\n\t\t// this.logger.log(\"Re-queueing up sync task with type:\",task.type,\"title:\",task.title);\n\t\tvar existingTask = this.taskQueue[task.title];\n\t\t// If so, just update the last modification time\n\t\texistingTask.lastModificationTime = task.lastModificationTime;\n\t\t// If the new task is a save then we upgrade the existing task to a save. Thus a pending load is turned into a save if the tiddler changes locally in the meantime. But a pending save is not modified to become a load\n\t\tif(task.type === \"save\" || task.type === \"delete\") {\n\t\t\texistingTask.type = task.type;\n\t\t}\n\t} else {\n\t\t// this.logger.log(\"Queuing up sync task with type:\",task.type,\"title:\",task.title);\n\t\t// If it is not in the queue, insert it\n\t\tthis.taskQueue[task.title] = task;\n\t\tthis.updateDirtyStatus();\n\t}\n\t// Process the queue\n\t$tw.utils.nextTick(function() {self.processTaskQueue.call(self);});\n};\n\n/*\nReturn the number of tasks in progress\n*/\nSyncer.prototype.numTasksInProgress = function() {\n\treturn $tw.utils.count(this.taskInProgress);\n};\n\n/*\nReturn the number of tasks in the queue\n*/\nSyncer.prototype.numTasksInQueue = function() {\n\treturn $tw.utils.count(this.taskQueue);\n};\n\n/*\nTrigger a timeout if one isn't already outstanding\n*/\nSyncer.prototype.triggerTimeout = function() {\n\tvar self = this;\n\tif(!this.taskTimerId) {\n\t\tthis.taskTimerId = setTimeout(function() {\n\t\t\tself.taskTimerId = null;\n\t\t\tself.processTaskQueue.call(self);\n\t\t},self.taskTimerInterval);\n\t}\n};\n\n/*\nProcess the task queue, performing the next task if appropriate\n*/\nSyncer.prototype.processTaskQueue = function() {\n\tvar self = this;\n\t// Only process a task if the sync adaptor is fully initialised and we're not already performing a task. If we are already performing a task then we'll dispatch the next one when it completes\n\tif((!this.syncadaptor.isReady || this.syncadaptor.isReady()) && this.numTasksInProgress() === 0) {\n\t\t// Choose the next task to perform\n\t\tvar task = this.chooseNextTask();\n\t\t// Perform the task if we had one\n\t\tif(task) {\n\t\t\t// Remove the task from the queue and add it to the in progress list\n\t\t\tdelete this.taskQueue[task.title];\n\t\t\tthis.taskInProgress[task.title] = task;\n\t\t\tthis.updateDirtyStatus();\n\t\t\t// Dispatch the task\n\t\t\tthis.dispatchTask(task,function(err) {\n\t\t\t\tif(err) {\n\t\t\t\t\tself.logger.alert(\"Sync error while processing '\" + task.title + \"':\\n\" + err);\n\t\t\t\t}\n\t\t\t\t// Mark that this task is no longer in progress\n\t\t\t\tdelete self.taskInProgress[task.title];\n\t\t\t\tself.updateDirtyStatus();\n\t\t\t\t// Process the next task\n\t\t\t\tself.processTaskQueue.call(self);\n\t\t\t});\n\t\t} else {\n\t\t\t// Make sure we've set a time if there wasn't a task to perform, but we've still got tasks in the queue\n\t\t\tif(this.numTasksInQueue() > 0) {\n\t\t\t\tthis.triggerTimeout();\n\t\t\t}\n\t\t}\n\t}\n};\n\n/*\nChoose the next applicable task\n*/\nSyncer.prototype.chooseNextTask = function() {\n\tvar self = this,\n\t\tcandidateTask = null,\n\t\tnow = Date.now();\n\t// Select the best candidate task\n\t$tw.utils.each(this.taskQueue,function(task,title) {\n\t\t// Exclude the task if there's one of the same name in progress\n\t\tif($tw.utils.hop(self.taskInProgress,title)) {\n\t\t\treturn;\n\t\t}\n\t\t// Exclude the task if it is a save and the tiddler has been modified recently, but not hit the fallback time\n\t\tif(task.type === \"save\" && (now - task.lastModificationTime) < self.throttleInterval &&\n\t\t\t(now - task.queueTime) < self.fallbackInterval) {\n\t\t\treturn;\n\t\t}\n\t\t// Exclude the task if it is newer than the current best candidate\n\t\tif(candidateTask && candidateTask.queueTime < task.queueTime) {\n\t\t\treturn;\n\t\t}\n\t\t// Now this is our best candidate\n\t\tcandidateTask = task;\n\t});\n\treturn candidateTask;\n};\n\n/*\nDispatch a task and invoke the callback\n*/\nSyncer.prototype.dispatchTask = function(task,callback) {\n\tvar self = this;\n\tif(task.type === \"save\") {\n\t\tvar changeCount = this.wiki.getChangeCount(task.title),\n\t\t\ttiddler = this.wiki.getTiddler(task.title);\n\t\tthis.logger.log(\"Dispatching 'save' task:\",task.title);\n\t\tif(tiddler) {\n\t\t\tthis.syncadaptor.saveTiddler(tiddler,function(err,adaptorInfo,revision) {\n\t\t\t\tif(err) {\n\t\t\t\t\treturn callback(err);\n\t\t\t\t}\n\t\t\t\t// Adjust the info stored about this tiddler\n\t\t\t\tself.tiddlerInfo[task.title] = {\n\t\t\t\t\tchangeCount: changeCount,\n\t\t\t\t\tadaptorInfo: adaptorInfo,\n\t\t\t\t\trevision: revision\n\t\t\t\t};\n\t\t\t\t// Invoke the callback\n\t\t\t\tcallback(null);\n\t\t\t},{\n\t\t\t\ttiddlerInfo: self.tiddlerInfo[task.title]\n\t\t\t});\n\t\t} else {\n\t\t\tthis.logger.log(\" Not Dispatching 'save' task:\",task.title,\"tiddler does not exist\");\n\t\t\treturn callback(null);\n\t\t}\n\t} else if(task.type === \"load\") {\n\t\t// Load the tiddler\n\t\tthis.logger.log(\"Dispatching 'load' task:\",task.title);\n\t\tthis.syncadaptor.loadTiddler(task.title,function(err,tiddlerFields) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\t// Store the tiddler\n\t\t\tif(tiddlerFields) {\n\t\t\t\tself.storeTiddler(tiddlerFields,true);\n\t\t\t}\n\t\t\t// Invoke the callback\n\t\t\tcallback(null);\n\t\t});\n\t} else if(task.type === \"delete\") {\n\t\t// Delete the tiddler\n\t\tthis.logger.log(\"Dispatching 'delete' task:\",task.title);\n\t\tthis.syncadaptor.deleteTiddler(task.title,function(err) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tdelete self.tiddlerInfo[task.title];\n\t\t\t// Invoke the callback\n\t\t\tcallback(null);\n\t\t},{\n\t\t\ttiddlerInfo: self.tiddlerInfo[task.title]\n\t\t});\n\t}\n};\n\nexports.Syncer = Syncer;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "global"
        },
        "$:/core/modules/tiddler.js": {
            "title": "$:/core/modules/tiddler.js",
            "text": "/*\\\ntitle: $:/core/modules/tiddler.js\ntype: application/javascript\nmodule-type: tiddlermethod\n\nExtension methods for the $tw.Tiddler object (constructor and methods required at boot time are in boot/boot.js)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.hasTag = function(tag) {\n\treturn this.fields.tags && this.fields.tags.indexOf(tag) !== -1;\n};\n\nexports.isPlugin = function() {\n\treturn this.fields.type === \"application/json\" && this.hasField(\"plugin-type\");\n};\n\nexports.isDraft = function() {\n\treturn this.hasField(\"draft.of\");\n};\n\nexports.getFieldString = function(field) {\n\tvar value = this.fields[field];\n\t// Check for a missing field\n\tif(value === undefined || value === null) {\n\t\treturn \"\";\n\t}\n\t// Parse the field with the associated module (if any)\n\tvar fieldModule = $tw.Tiddler.fieldModules[field];\n\tif(fieldModule && fieldModule.stringify) {\n\t\treturn fieldModule.stringify.call(this,value);\n\t} else {\n\t\treturn value.toString();\n\t}\n};\n\n/*\nGet the value of a field as a list\n*/\nexports.getFieldList = function(field) {\n\tvar value = this.fields[field];\n\t// Check for a missing field\n\tif(value === undefined || value === null) {\n\t\treturn [];\n\t}\n\treturn $tw.utils.parseStringArray(value);\n};\n\n/*\nGet all the fields as a hashmap of strings. Options:\n\texclude: an array of field names to exclude\n*/\nexports.getFieldStrings = function(options) {\n\toptions = options || {};\n\tvar exclude = options.exclude || [];\n\tvar fields = {};\n\tfor(var field in this.fields) {\n\t\tif($tw.utils.hop(this.fields,field)) {\n\t\t\tif(exclude.indexOf(field) === -1) {\n\t\t\t\tfields[field] = this.getFieldString(field);\n\t\t\t}\n\t\t}\n\t}\n\treturn fields;\n};\n\n/*\nGet all the fields as a name:value block. Options:\n\texclude: an array of field names to exclude\n*/\nexports.getFieldStringBlock = function(options) {\n\toptions = options || {};\n\tvar exclude = options.exclude || [],\n\t\tfields = Object.keys(this.fields).sort(),\n\t\tresult = [];\n\tfor(var t=0; t<fields.length; t++) {\n\t\tvar field = fields[t];\n\t\tif(exclude.indexOf(field) === -1) {\n\t\t\tresult.push(field + \": \" + this.getFieldString(field));\n\t\t}\n\t}\n\treturn result.join(\"\\n\");\n};\n\nexports.getFieldDay = function(field) {\n\tif(this.cache && this.cache.day && $tw.utils.hop(this.cache.day,field) ) {\n\t\treturn this.cache.day[field];\n\t}\n\tvar day = \"\";\n\tif(this.fields[field]) {\n\t\tday = (new Date($tw.utils.parseDate(this.fields[field]))).setHours(0,0,0,0);\n\t}\n\tthis.cache.day = this.cache.day || {};\n\tthis.cache.day[field] = day;\n\treturn day;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "tiddlermethod"
        },
        "$:/core/modules/upgraders/plugins.js": {
            "title": "$:/core/modules/upgraders/plugins.js",
            "text": "/*\\\ntitle: $:/core/modules/upgraders/plugins.js\ntype: application/javascript\nmodule-type: upgrader\n\nUpgrader module that checks that plugins are newer than any already installed version\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar UPGRADE_LIBRARY_TITLE = \"$:/UpgradeLibrary\";\n\nvar BLOCKED_PLUGINS = {\n\t\"$:/themes/tiddlywiki/stickytitles\": {\n\t\tversions: [\"*\"]\n\t},\n\t\"$:/plugins/tiddlywiki/fullscreen\": {\n\t\tversions: [\"*\"]\n\t}\n};\n\nexports.upgrade = function(wiki,titles,tiddlers) {\n\tvar self = this,\n\t\tmessages = {},\n\t\tupgradeLibrary,\n\t\tgetLibraryTiddler = function(title) {\n\t\t\tif(!upgradeLibrary) {\n\t\t\t\tupgradeLibrary = wiki.getTiddlerData(UPGRADE_LIBRARY_TITLE,{});\n\t\t\t\tupgradeLibrary.tiddlers = upgradeLibrary.tiddlers || {};\n\t\t\t}\n\t\t\treturn upgradeLibrary.tiddlers[title];\n\t\t};\n\n\t// Go through all the incoming tiddlers\n\t$tw.utils.each(titles,function(title) {\n\t\tvar incomingTiddler = tiddlers[title];\n\t\t// Check if we're dealing with a plugin\n\t\tif(incomingTiddler && incomingTiddler[\"plugin-type\"] && incomingTiddler.version) {\n\t\t\t// Upgrade the incoming plugin if it is in the upgrade library\n\t\t\tvar libraryTiddler = getLibraryTiddler(title);\n\t\t\tif(libraryTiddler && libraryTiddler[\"plugin-type\"] && libraryTiddler.version) {\n\t\t\t\ttiddlers[title] = libraryTiddler;\n\t\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/Plugins/Upgraded\",{variables: {incoming: incomingTiddler.version, upgraded: libraryTiddler.version}});\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// Suppress the incoming plugin if it is older than the currently installed one\n\t\t\tvar existingTiddler = wiki.getTiddler(title);\n\t\t\tif(existingTiddler && existingTiddler.hasField(\"plugin-type\") && existingTiddler.hasField(\"version\")) {\n\t\t\t\t// Reject the incoming plugin by blanking all its fields\n\t\t\t\tif($tw.utils.checkVersions(existingTiddler.fields.version,incomingTiddler.version)) {\n\t\t\t\t\ttiddlers[title] = Object.create(null);\n\t\t\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/Plugins/Suppressed/Version\",{variables: {incoming: incomingTiddler.version, existing: existingTiddler.fields.version}});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif(incomingTiddler && incomingTiddler[\"plugin-type\"]) {\n\t\t\t// Check whether the plugin is on the blocked list\n\t\t\tvar blockInfo = BLOCKED_PLUGINS[title];\n\t\t\tif(blockInfo) {\n\t\t\t\tif(blockInfo.versions.indexOf(\"*\") !== -1 || (incomingTiddler.version && blockInfo.versions.indexOf(incomingTiddler.version) !== -1)) {\n\t\t\t\t\ttiddlers[title] = Object.create(null);\n\t\t\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/Plugins/Suppressed/Incompatible\");\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\treturn messages;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "upgrader"
        },
        "$:/core/modules/upgraders/system.js": {
            "title": "$:/core/modules/upgraders/system.js",
            "text": "/*\\\ntitle: $:/core/modules/upgraders/system.js\ntype: application/javascript\nmodule-type: upgrader\n\nUpgrader module that suppresses certain system tiddlers that shouldn't be imported\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar DONT_IMPORT_LIST = [\"$:/StoryList\",\"$:/HistoryList\"],\n\tDONT_IMPORT_PREFIX_LIST = [\"$:/temp/\",\"$:/state/\",\"$:/Import\"],\n\tWARN_IMPORT_PREFIX_LIST = [\"$:/core/modules/\"];\n\nexports.upgrade = function(wiki,titles,tiddlers) {\n\tvar self = this,\n\t\tmessages = {},\n\t\tshowAlert = false;\n\t// Check for tiddlers on our list\n\t$tw.utils.each(titles,function(title) {\n\t\tif(DONT_IMPORT_LIST.indexOf(title) !== -1) {\n\t\t\ttiddlers[title] = Object.create(null);\n\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/System/Suppressed\");\n\t\t} else {\n\t\t\tfor(var t=0; t<DONT_IMPORT_PREFIX_LIST.length; t++) {\n\t\t\t\tvar prefix = DONT_IMPORT_PREFIX_LIST[t];\n\t\t\t\tif(title.substr(0,prefix.length) === prefix) {\n\t\t\t\t\ttiddlers[title] = Object.create(null);\n\t\t\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/State/Suppressed\");\n\t\t\t\t}\n\t\t\t}\n\t\t\tfor(var t=0; t<WARN_IMPORT_PREFIX_LIST.length; t++) {\n\t\t\t\tvar prefix = WARN_IMPORT_PREFIX_LIST[t];\n\t\t\t\tif(title.substr(0,prefix.length) === prefix && wiki.isShadowTiddler(title)) {\n\t\t\t\t\tshowAlert = true;\n\t\t\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/System/Warning\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\tif(showAlert) {\n\t\tvar logger = new $tw.utils.Logger(\"import\");\n\t\tlogger.alert($tw.language.getString(\"Import/Upgrader/System/Alert\"));\n\t}\n\treturn messages;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "upgrader"
        },
        "$:/core/modules/upgraders/themetweaks.js": {
            "title": "$:/core/modules/upgraders/themetweaks.js",
            "text": "/*\\\ntitle: $:/core/modules/upgraders/themetweaks.js\ntype: application/javascript\nmodule-type: upgrader\n\nUpgrader module that handles the change in theme tweak storage introduced in 5.0.14-beta.\n\nPreviously, theme tweaks were stored in two data tiddlers:\n\n* $:/themes/tiddlywiki/vanilla/metrics\n* $:/themes/tiddlywiki/vanilla/settings\n\nNow, each tweak is stored in its own separate tiddler.\n\nThis upgrader copies any values from the old format to the new. The old data tiddlers are not deleted in case they have been used to store additional indexes.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar MAPPINGS = {\n\t\"$:/themes/tiddlywiki/vanilla/metrics\": {\n\t\t\"fontsize\": \"$:/themes/tiddlywiki/vanilla/metrics/fontsize\",\n\t\t\"lineheight\": \"$:/themes/tiddlywiki/vanilla/metrics/lineheight\",\n\t\t\"storyleft\": \"$:/themes/tiddlywiki/vanilla/metrics/storyleft\",\n\t\t\"storytop\": \"$:/themes/tiddlywiki/vanilla/metrics/storytop\",\n\t\t\"storyright\": \"$:/themes/tiddlywiki/vanilla/metrics/storyright\",\n\t\t\"storywidth\": \"$:/themes/tiddlywiki/vanilla/metrics/storywidth\",\n\t\t\"tiddlerwidth\": \"$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth\"\n\t},\n\t\"$:/themes/tiddlywiki/vanilla/settings\": {\n\t\t\"fontfamily\": \"$:/themes/tiddlywiki/vanilla/settings/fontfamily\"\n\t}\n};\n\nexports.upgrade = function(wiki,titles,tiddlers) {\n\tvar self = this,\n\t\tmessages = {};\n\t// Check for tiddlers on our list\n\t$tw.utils.each(titles,function(title) {\n\t\tvar mapping = MAPPINGS[title];\n\t\tif(mapping) {\n\t\t\tvar tiddler = new $tw.Tiddler(tiddlers[title]),\n\t\t\t\ttiddlerData = wiki.getTiddlerDataCached(tiddler,{});\n\t\t\tfor(var index in mapping) {\n\t\t\t\tvar mappedTitle = mapping[index];\n\t\t\t\tif(!tiddlers[mappedTitle] || tiddlers[mappedTitle].title !== mappedTitle) {\n\t\t\t\t\ttiddlers[mappedTitle] = {\n\t\t\t\t\t\ttitle: mappedTitle,\n\t\t\t\t\t\ttext: tiddlerData[index]\n\t\t\t\t\t};\n\t\t\t\t\tmessages[mappedTitle] = $tw.language.getString(\"Import/Upgrader/ThemeTweaks/Created\",{variables: {\n\t\t\t\t\t\tfrom: title + \"##\" + index\n\t\t\t\t\t}});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\treturn messages;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "upgrader"
        },
        "$:/core/modules/utils/base64-utf8/base64-utf8.module.js": {
            "text": "(function(){// From https://gist.github.com/Nijikokun/5192472\n//\n// UTF8 Module\n//\n// Cleaner and modularized utf-8 encoding and decoding library for javascript.\n//\n// copyright: MIT\n// author: Nijiko Yonskai, @nijikokun, nijikokun@gmail.com\n!function(r,e,o,t){void 0!==o.module&&o.module.exports?o.module.exports=e.apply(o):void 0!==o.define&&\"function\"===o.define&&o.define.amd?define(\"utf8\",[],e):o.utf8=e.apply(o)}(0,function(){return{encode:function(r){if(\"string\"!=typeof r)return r;r=r.replace(/\\r\\n/g,\"\\n\");for(var e,o=\"\",t=0;t<r.length;t++)(e=r.charCodeAt(t))<128?o+=String.fromCharCode(e):e>127&&e<2048?(o+=String.fromCharCode(e>>6|192),o+=String.fromCharCode(63&e|128)):(o+=String.fromCharCode(e>>12|224),o+=String.fromCharCode(e>>6&63|128),o+=String.fromCharCode(63&e|128));return o},decode:function(r){if(\"string\"!=typeof r)return r;for(var e=\"\",o=0,t=0;o<r.length;)(t=r.charCodeAt(o))<128?(e+=String.fromCharCode(t),o++):t>191&&t<224?(e+=String.fromCharCode((31&t)<<6|63&r.charCodeAt(o+1)),o+=2):(e+=String.fromCharCode((15&t)<<12|(63&r.charCodeAt(o+1))<<6|63&r.charCodeAt(o+2)),o+=3);return e}}},this),function(r,e,o,t){if(void 0!==o.module&&o.module.exports){if(t&&o.require)for(var n=0;n<t.length;n++)o[t[n]]=o.require(t[n]);o.module.exports=e.apply(o)}else void 0!==o.define&&\"function\"===o.define&&o.define.amd?define(\"base64\",t||[],e):o.base64=e.apply(o)}(0,function(r){var e=r||this.utf8,o=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";return{encode:function(r){if(void 0===e)throw{error:\"MissingMethod\",message:\"UTF8 Module is missing.\"};if(\"string\"!=typeof r)return r;r=e.encode(r);for(var t,n,i,d,f,a,h,c=\"\",u=0;u<r.length;)d=(t=r.charCodeAt(u++))>>2,f=(3&t)<<4|(n=r.charCodeAt(u++))>>4,a=(15&n)<<2|(i=r.charCodeAt(u++))>>6,h=63&i,isNaN(n)?a=h=64:isNaN(i)&&(h=64),c+=o.charAt(d)+o.charAt(f)+o.charAt(a)+o.charAt(h);return c},decode:function(r){if(void 0===e)throw{error:\"MissingMethod\",message:\"UTF8 Module is missing.\"};if(\"string\"!=typeof r)return r;r=r.replace(/[^A-Za-z0-9\\+\\/\\=]/g,\"\");for(var t,n,i,d,f,a,h=\"\",c=0;c<r.length;)t=o.indexOf(r.charAt(c++))<<2|(d=o.indexOf(r.charAt(c++)))>>4,n=(15&d)<<4|(f=o.indexOf(r.charAt(c++)))>>2,i=(3&f)<<6|(a=o.indexOf(r.charAt(c++))),h+=String.fromCharCode(t),64!=f&&(h+=String.fromCharCode(n)),64!=a&&(h+=String.fromCharCode(i));return e.decode(h)}}},this,[\"utf8\"]);}).call(exports);",
            "type": "application/javascript",
            "title": "$:/core/modules/utils/base64-utf8/base64-utf8.module.js",
            "module-type": "library"
        },
        "$:/core/modules/utils/crypto.js": {
            "title": "$:/core/modules/utils/crypto.js",
            "text": "/*\\\ntitle: $:/core/modules/utils/crypto.js\ntype: application/javascript\nmodule-type: utils\n\nUtility functions related to crypto.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nLook for an encrypted store area in the text of a TiddlyWiki file\n*/\nexports.extractEncryptedStoreArea = function(text) {\n\tvar encryptedStoreAreaStartMarker = \"<pre id=\\\"encryptedStoreArea\\\" type=\\\"text/plain\\\" style=\\\"display:none;\\\">\",\n\t\tencryptedStoreAreaStart = text.indexOf(encryptedStoreAreaStartMarker);\n\tif(encryptedStoreAreaStart !== -1) {\n\t\tvar encryptedStoreAreaEnd = text.indexOf(\"</pre>\",encryptedStoreAreaStart);\n\t\tif(encryptedStoreAreaEnd !== -1) {\n\t\t\treturn $tw.utils.htmlDecode(text.substring(encryptedStoreAreaStart + encryptedStoreAreaStartMarker.length,encryptedStoreAreaEnd-1));\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nAttempt to extract the tiddlers from an encrypted store area using the current password. If the password is not provided then the password in the password store will be used\n*/\nexports.decryptStoreArea = function(encryptedStoreArea,password) {\n\tvar decryptedText = $tw.crypto.decrypt(encryptedStoreArea,password);\n\tif(decryptedText) {\n\t\tvar json = JSON.parse(decryptedText),\n\t\t\ttiddlers = [];\n\t\tfor(var title in json) {\n\t\t\tif(title !== \"$:/isEncrypted\") {\n\t\t\t\ttiddlers.push(json[title]);\n\t\t\t}\n\t\t}\n\t\treturn tiddlers;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n\n/*\nAttempt to extract the tiddlers from an encrypted store area using the current password. If that fails, the user is prompted for a password.\nencryptedStoreArea: text of the TiddlyWiki encrypted store area\ncallback: function(tiddlers) called with the array of decrypted tiddlers\n\nThe following configuration settings are supported:\n\n$tw.config.usePasswordVault: causes any password entered by the user to also be put into the system password vault\n*/\nexports.decryptStoreAreaInteractive = function(encryptedStoreArea,callback,options) {\n\t// Try to decrypt with the current password\n\tvar tiddlers = $tw.utils.decryptStoreArea(encryptedStoreArea);\n\tif(tiddlers) {\n\t\tcallback(tiddlers);\n\t} else {\n\t\t// Prompt for a new password and keep trying\n\t\t$tw.passwordPrompt.createPrompt({\n\t\t\tserviceName: \"Enter a password to decrypt the imported TiddlyWiki\",\n\t\t\tnoUserName: true,\n\t\t\tcanCancel: true,\n\t\t\tsubmitText: \"Decrypt\",\n\t\t\tcallback: function(data) {\n\t\t\t\t// Exit if the user cancelled\n\t\t\t\tif(!data) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\t// Attempt to decrypt the tiddlers\n\t\t\t\tvar tiddlers = $tw.utils.decryptStoreArea(encryptedStoreArea,data.password);\n\t\t\t\tif(tiddlers) {\n\t\t\t\t\tif($tw.config.usePasswordVault) {\n\t\t\t\t\t\t$tw.crypto.setPassword(data.password);\n\t\t\t\t\t}\n\t\t\t\t\tcallback(tiddlers);\n\t\t\t\t\t// Exit and remove the password prompt\n\t\t\t\t\treturn true;\n\t\t\t\t} else {\n\t\t\t\t\t// We didn't decrypt everything, so continue to prompt for password\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/csv.js": {
            "title": "$:/core/modules/utils/csv.js",
            "text": "/*\\\ntitle: $:/core/modules/utils/csv.js\ntype: application/javascript\nmodule-type: utils\n\nA barebones CSV parser\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nParse a CSV string with a header row and return an array of hashmaps.\n*/\nexports.parseCsvStringWithHeader = function(text,options) {\n\toptions = options || {};\n\tvar separator = options.separator || \",\",\n\t\trows = text.split(/\\r?\\n/mg).map(function(row) {\n\t\t\treturn $tw.utils.trim(row);\n\t\t}).filter(function(row) {\n\t\t\treturn row !== \"\";\n\t\t});\n\tif(rows.length < 1) {\n\t\treturn \"Missing header row\";\n\t}\n\tvar headings = rows[0].split(separator),\n\t\tresults = [];\n\tfor(var row=1; row<rows.length; row++) {\n\t\tvar columns = rows[row].split(separator),\n\t\t\tcolumnResult = Object.create(null);\n\t\tif(columns.length !== headings.length) {\n\t\t\treturn \"Malformed CSV row '\" + rows[row] + \"'\";\n\t\t}\n\t\tfor(var column=0; column<columns.length; column++) {\n\t\t\tvar columnName = headings[column];\n\t\t\tcolumnResult[columnName] = $tw.utils.trim(columns[column] || \"\");\n\t\t}\n\t\tresults.push(columnResult);\t\t\t\n\t}\n\treturn results;\n}\n\n})();\n",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/diff-match-patch/diff_match_patch.js": {
            "text": "(function(){function diff_match_patch(){this.Diff_Timeout=1;this.Diff_EditCost=4;this.Match_Threshold=.5;this.Match_Distance=1E3;this.Patch_DeleteThreshold=.5;this.Patch_Margin=4;this.Match_MaxBits=32}var DIFF_DELETE=-1,DIFF_INSERT=1,DIFF_EQUAL=0;\ndiff_match_patch.prototype.diff_main=function(a,b,c,d){\"undefined\"==typeof d&&(d=0>=this.Diff_Timeout?Number.MAX_VALUE:(new Date).getTime()+1E3*this.Diff_Timeout);if(null==a||null==b)throw Error(\"Null input. (diff_main)\");if(a==b)return a?[[DIFF_EQUAL,a]]:[];\"undefined\"==typeof c&&(c=!0);var e=c,f=this.diff_commonPrefix(a,b);c=a.substring(0,f);a=a.substring(f);b=b.substring(f);f=this.diff_commonSuffix(a,b);var g=a.substring(a.length-f);a=a.substring(0,a.length-f);b=b.substring(0,b.length-f);a=this.diff_compute_(a,\nb,e,d);c&&a.unshift([DIFF_EQUAL,c]);g&&a.push([DIFF_EQUAL,g]);this.diff_cleanupMerge(a);return a};\ndiff_match_patch.prototype.diff_compute_=function(a,b,c,d){if(!a)return[[DIFF_INSERT,b]];if(!b)return[[DIFF_DELETE,a]];var e=a.length>b.length?a:b,f=a.length>b.length?b:a,g=e.indexOf(f);return-1!=g?(c=[[DIFF_INSERT,e.substring(0,g)],[DIFF_EQUAL,f],[DIFF_INSERT,e.substring(g+f.length)]],a.length>b.length&&(c[0][0]=c[2][0]=DIFF_DELETE),c):1==f.length?[[DIFF_DELETE,a],[DIFF_INSERT,b]]:(e=this.diff_halfMatch_(a,b))?(b=e[1],f=e[3],a=e[4],e=this.diff_main(e[0],e[2],c,d),c=this.diff_main(b,f,c,d),e.concat([[DIFF_EQUAL,\na]],c)):c&&100<a.length&&100<b.length?this.diff_lineMode_(a,b,d):this.diff_bisect_(a,b,d)};\ndiff_match_patch.prototype.diff_lineMode_=function(a,b,c){var d=this.diff_linesToChars_(a,b);a=d.chars1;b=d.chars2;d=d.lineArray;a=this.diff_main(a,b,!1,c);this.diff_charsToLines_(a,d);this.diff_cleanupSemantic(a);a.push([DIFF_EQUAL,\"\"]);for(var e=d=b=0,f=\"\",g=\"\";b<a.length;){switch(a[b][0]){case DIFF_INSERT:e++;g+=a[b][1];break;case DIFF_DELETE:d++;f+=a[b][1];break;case DIFF_EQUAL:if(1<=d&&1<=e){a.splice(b-d-e,d+e);b=b-d-e;d=this.diff_main(f,g,!1,c);for(e=d.length-1;0<=e;e--)a.splice(b,0,d[e]);b+=\nd.length}d=e=0;g=f=\"\"}b++}a.pop();return a};\ndiff_match_patch.prototype.diff_bisect_=function(a,b,c){for(var d=a.length,e=b.length,f=Math.ceil((d+e)/2),g=2*f,h=Array(g),l=Array(g),k=0;k<g;k++)h[k]=-1,l[k]=-1;h[f+1]=0;l[f+1]=0;k=d-e;for(var m=0!=k%2,p=0,x=0,w=0,q=0,t=0;t<f&&!((new Date).getTime()>c);t++){for(var v=-t+p;v<=t-x;v+=2){var n=f+v;var r=v==-t||v!=t&&h[n-1]<h[n+1]?h[n+1]:h[n-1]+1;for(var y=r-v;r<d&&y<e&&a.charAt(r)==b.charAt(y);)r++,y++;h[n]=r;if(r>d)x+=2;else if(y>e)p+=2;else if(m&&(n=f+k-v,0<=n&&n<g&&-1!=l[n])){var u=d-l[n];if(r>=\nu)return this.diff_bisectSplit_(a,b,r,y,c)}}for(v=-t+w;v<=t-q;v+=2){n=f+v;u=v==-t||v!=t&&l[n-1]<l[n+1]?l[n+1]:l[n-1]+1;for(r=u-v;u<d&&r<e&&a.charAt(d-u-1)==b.charAt(e-r-1);)u++,r++;l[n]=u;if(u>d)q+=2;else if(r>e)w+=2;else if(!m&&(n=f+k-v,0<=n&&n<g&&-1!=h[n]&&(r=h[n],y=f+r-n,u=d-u,r>=u)))return this.diff_bisectSplit_(a,b,r,y,c)}}return[[DIFF_DELETE,a],[DIFF_INSERT,b]]};\ndiff_match_patch.prototype.diff_bisectSplit_=function(a,b,c,d,e){var f=a.substring(0,c),g=b.substring(0,d);a=a.substring(c);b=b.substring(d);f=this.diff_main(f,g,!1,e);e=this.diff_main(a,b,!1,e);return f.concat(e)};\ndiff_match_patch.prototype.diff_linesToChars_=function(a,b){function c(a){for(var b=\"\",c=0,f=-1,g=d.length;f<a.length-1;){f=a.indexOf(\"\\n\",c);-1==f&&(f=a.length-1);var h=a.substring(c,f+1);c=f+1;(e.hasOwnProperty?e.hasOwnProperty(h):void 0!==e[h])?b+=String.fromCharCode(e[h]):(b+=String.fromCharCode(g),e[h]=g,d[g++]=h)}return b}var d=[],e={};d[0]=\"\";var f=c(a),g=c(b);return{chars1:f,chars2:g,lineArray:d}};\ndiff_match_patch.prototype.diff_charsToLines_=function(a,b){for(var c=0;c<a.length;c++){for(var d=a[c][1],e=[],f=0;f<d.length;f++)e[f]=b[d.charCodeAt(f)];a[c][1]=e.join(\"\")}};diff_match_patch.prototype.diff_commonPrefix=function(a,b){if(!a||!b||a.charAt(0)!=b.charAt(0))return 0;for(var c=0,d=Math.min(a.length,b.length),e=d,f=0;c<e;)a.substring(f,e)==b.substring(f,e)?f=c=e:d=e,e=Math.floor((d-c)/2+c);return e};\ndiff_match_patch.prototype.diff_commonSuffix=function(a,b){if(!a||!b||a.charAt(a.length-1)!=b.charAt(b.length-1))return 0;for(var c=0,d=Math.min(a.length,b.length),e=d,f=0;c<e;)a.substring(a.length-e,a.length-f)==b.substring(b.length-e,b.length-f)?f=c=e:d=e,e=Math.floor((d-c)/2+c);return e};\ndiff_match_patch.prototype.diff_commonOverlap_=function(a,b){var c=a.length,d=b.length;if(0==c||0==d)return 0;c>d?a=a.substring(c-d):c<d&&(b=b.substring(0,c));c=Math.min(c,d);if(a==b)return c;d=0;for(var e=1;;){var f=a.substring(c-e);f=b.indexOf(f);if(-1==f)return d;e+=f;if(0==f||a.substring(c-e)==b.substring(0,e))d=e,e++}};\ndiff_match_patch.prototype.diff_halfMatch_=function(a,b){function c(a,b,c){for(var d=a.substring(c,c+Math.floor(a.length/4)),e=-1,g=\"\",h,k,l,m;-1!=(e=b.indexOf(d,e+1));){var p=f.diff_commonPrefix(a.substring(c),b.substring(e)),u=f.diff_commonSuffix(a.substring(0,c),b.substring(0,e));g.length<u+p&&(g=b.substring(e-u,e)+b.substring(e,e+p),h=a.substring(0,c-u),k=a.substring(c+p),l=b.substring(0,e-u),m=b.substring(e+p))}return 2*g.length>=a.length?[h,k,l,m,g]:null}if(0>=this.Diff_Timeout)return null;\nvar d=a.length>b.length?a:b,e=a.length>b.length?b:a;if(4>d.length||2*e.length<d.length)return null;var f=this,g=c(d,e,Math.ceil(d.length/4));d=c(d,e,Math.ceil(d.length/2));if(g||d)g=d?g?g[4].length>d[4].length?g:d:d:g;else return null;if(a.length>b.length){d=g[0];e=g[1];var h=g[2];var l=g[3]}else h=g[0],l=g[1],d=g[2],e=g[3];return[d,e,h,l,g[4]]};\ndiff_match_patch.prototype.diff_cleanupSemantic=function(a){for(var b=!1,c=[],d=0,e=null,f=0,g=0,h=0,l=0,k=0;f<a.length;)a[f][0]==DIFF_EQUAL?(c[d++]=f,g=l,h=k,k=l=0,e=a[f][1]):(a[f][0]==DIFF_INSERT?l+=a[f][1].length:k+=a[f][1].length,e&&e.length<=Math.max(g,h)&&e.length<=Math.max(l,k)&&(a.splice(c[d-1],0,[DIFF_DELETE,e]),a[c[d-1]+1][0]=DIFF_INSERT,d--,d--,f=0<d?c[d-1]:-1,k=l=h=g=0,e=null,b=!0)),f++;b&&this.diff_cleanupMerge(a);this.diff_cleanupSemanticLossless(a);for(f=1;f<a.length;){if(a[f-1][0]==\nDIFF_DELETE&&a[f][0]==DIFF_INSERT){b=a[f-1][1];c=a[f][1];d=this.diff_commonOverlap_(b,c);e=this.diff_commonOverlap_(c,b);if(d>=e){if(d>=b.length/2||d>=c.length/2)a.splice(f,0,[DIFF_EQUAL,c.substring(0,d)]),a[f-1][1]=b.substring(0,b.length-d),a[f+1][1]=c.substring(d),f++}else if(e>=b.length/2||e>=c.length/2)a.splice(f,0,[DIFF_EQUAL,b.substring(0,e)]),a[f-1][0]=DIFF_INSERT,a[f-1][1]=c.substring(0,c.length-e),a[f+1][0]=DIFF_DELETE,a[f+1][1]=b.substring(e),f++;f++}f++}};\ndiff_match_patch.prototype.diff_cleanupSemanticLossless=function(a){function b(a,b){if(!a||!b)return 6;var c=a.charAt(a.length-1),d=b.charAt(0),e=c.match(diff_match_patch.nonAlphaNumericRegex_),f=d.match(diff_match_patch.nonAlphaNumericRegex_),g=e&&c.match(diff_match_patch.whitespaceRegex_),h=f&&d.match(diff_match_patch.whitespaceRegex_);c=g&&c.match(diff_match_patch.linebreakRegex_);d=h&&d.match(diff_match_patch.linebreakRegex_);var k=c&&a.match(diff_match_patch.blanklineEndRegex_),l=d&&b.match(diff_match_patch.blanklineStartRegex_);\nreturn k||l?5:c||d?4:e&&!g&&h?3:g||h?2:e||f?1:0}for(var c=1;c<a.length-1;){if(a[c-1][0]==DIFF_EQUAL&&a[c+1][0]==DIFF_EQUAL){var d=a[c-1][1],e=a[c][1],f=a[c+1][1],g=this.diff_commonSuffix(d,e);if(g){var h=e.substring(e.length-g);d=d.substring(0,d.length-g);e=h+e.substring(0,e.length-g);f=h+f}g=d;h=e;for(var l=f,k=b(d,e)+b(e,f);e.charAt(0)===f.charAt(0);){d+=e.charAt(0);e=e.substring(1)+f.charAt(0);f=f.substring(1);var m=b(d,e)+b(e,f);m>=k&&(k=m,g=d,h=e,l=f)}a[c-1][1]!=g&&(g?a[c-1][1]=g:(a.splice(c-\n1,1),c--),a[c][1]=h,l?a[c+1][1]=l:(a.splice(c+1,1),c--))}c++}};diff_match_patch.nonAlphaNumericRegex_=/[^a-zA-Z0-9]/;diff_match_patch.whitespaceRegex_=/\\s/;diff_match_patch.linebreakRegex_=/[\\r\\n]/;diff_match_patch.blanklineEndRegex_=/\\n\\r?\\n$/;diff_match_patch.blanklineStartRegex_=/^\\r?\\n\\r?\\n/;\ndiff_match_patch.prototype.diff_cleanupEfficiency=function(a){for(var b=!1,c=[],d=0,e=null,f=0,g=!1,h=!1,l=!1,k=!1;f<a.length;)a[f][0]==DIFF_EQUAL?(a[f][1].length<this.Diff_EditCost&&(l||k)?(c[d++]=f,g=l,h=k,e=a[f][1]):(d=0,e=null),l=k=!1):(a[f][0]==DIFF_DELETE?k=!0:l=!0,e&&(g&&h&&l&&k||e.length<this.Diff_EditCost/2&&3==g+h+l+k)&&(a.splice(c[d-1],0,[DIFF_DELETE,e]),a[c[d-1]+1][0]=DIFF_INSERT,d--,e=null,g&&h?(l=k=!0,d=0):(d--,f=0<d?c[d-1]:-1,l=k=!1),b=!0)),f++;b&&this.diff_cleanupMerge(a)};\ndiff_match_patch.prototype.diff_cleanupMerge=function(a){a.push([DIFF_EQUAL,\"\"]);for(var b=0,c=0,d=0,e=\"\",f=\"\",g;b<a.length;)switch(a[b][0]){case DIFF_INSERT:d++;f+=a[b][1];b++;break;case DIFF_DELETE:c++;e+=a[b][1];b++;break;case DIFF_EQUAL:1<c+d?(0!==c&&0!==d&&(g=this.diff_commonPrefix(f,e),0!==g&&(0<b-c-d&&a[b-c-d-1][0]==DIFF_EQUAL?a[b-c-d-1][1]+=f.substring(0,g):(a.splice(0,0,[DIFF_EQUAL,f.substring(0,g)]),b++),f=f.substring(g),e=e.substring(g)),g=this.diff_commonSuffix(f,e),0!==g&&(a[b][1]=f.substring(f.length-\ng)+a[b][1],f=f.substring(0,f.length-g),e=e.substring(0,e.length-g))),0===c?a.splice(b-d,c+d,[DIFF_INSERT,f]):0===d?a.splice(b-c,c+d,[DIFF_DELETE,e]):a.splice(b-c-d,c+d,[DIFF_DELETE,e],[DIFF_INSERT,f]),b=b-c-d+(c?1:0)+(d?1:0)+1):0!==b&&a[b-1][0]==DIFF_EQUAL?(a[b-1][1]+=a[b][1],a.splice(b,1)):b++,c=d=0,f=e=\"\"}\"\"===a[a.length-1][1]&&a.pop();c=!1;for(b=1;b<a.length-1;)a[b-1][0]==DIFF_EQUAL&&a[b+1][0]==DIFF_EQUAL&&(a[b][1].substring(a[b][1].length-a[b-1][1].length)==a[b-1][1]?(a[b][1]=a[b-1][1]+a[b][1].substring(0,\na[b][1].length-a[b-1][1].length),a[b+1][1]=a[b-1][1]+a[b+1][1],a.splice(b-1,1),c=!0):a[b][1].substring(0,a[b+1][1].length)==a[b+1][1]&&(a[b-1][1]+=a[b+1][1],a[b][1]=a[b][1].substring(a[b+1][1].length)+a[b+1][1],a.splice(b+1,1),c=!0)),b++;c&&this.diff_cleanupMerge(a)};\ndiff_match_patch.prototype.diff_xIndex=function(a,b){var c=0,d=0,e=0,f=0,g;for(g=0;g<a.length;g++){a[g][0]!==DIFF_INSERT&&(c+=a[g][1].length);a[g][0]!==DIFF_DELETE&&(d+=a[g][1].length);if(c>b)break;e=c;f=d}return a.length!=g&&a[g][0]===DIFF_DELETE?f:f+(b-e)};\ndiff_match_patch.prototype.diff_prettyHtml=function(a){for(var b=[],c=/&/g,d=/</g,e=/>/g,f=/\\n/g,g=0;g<a.length;g++){var h=a[g][0],l=a[g][1].replace(c,\"&amp;\").replace(d,\"&lt;\").replace(e,\"&gt;\").replace(f,\"&para;<br>\");switch(h){case DIFF_INSERT:b[g]='<ins style=\"background:#e6ffe6;\">'+l+\"</ins>\";break;case DIFF_DELETE:b[g]='<del style=\"background:#ffe6e6;\">'+l+\"</del>\";break;case DIFF_EQUAL:b[g]=\"<span>\"+l+\"</span>\"}}return b.join(\"\")};\ndiff_match_patch.prototype.diff_text1=function(a){for(var b=[],c=0;c<a.length;c++)a[c][0]!==DIFF_INSERT&&(b[c]=a[c][1]);return b.join(\"\")};diff_match_patch.prototype.diff_text2=function(a){for(var b=[],c=0;c<a.length;c++)a[c][0]!==DIFF_DELETE&&(b[c]=a[c][1]);return b.join(\"\")};\ndiff_match_patch.prototype.diff_levenshtein=function(a){for(var b=0,c=0,d=0,e=0;e<a.length;e++){var f=a[e][1];switch(a[e][0]){case DIFF_INSERT:c+=f.length;break;case DIFF_DELETE:d+=f.length;break;case DIFF_EQUAL:b+=Math.max(c,d),d=c=0}}return b+=Math.max(c,d)};\ndiff_match_patch.prototype.diff_toDelta=function(a){for(var b=[],c=0;c<a.length;c++)switch(a[c][0]){case DIFF_INSERT:b[c]=\"+\"+encodeURI(a[c][1]);break;case DIFF_DELETE:b[c]=\"-\"+a[c][1].length;break;case DIFF_EQUAL:b[c]=\"=\"+a[c][1].length}return b.join(\"\\t\").replace(/%20/g,\" \")};\ndiff_match_patch.prototype.diff_fromDelta=function(a,b){for(var c=[],d=0,e=0,f=b.split(/\\t/g),g=0;g<f.length;g++){var h=f[g].substring(1);switch(f[g].charAt(0)){case \"+\":try{c[d++]=[DIFF_INSERT,decodeURI(h)]}catch(k){throw Error(\"Illegal escape in diff_fromDelta: \"+h);}break;case \"-\":case \"=\":var l=parseInt(h,10);if(isNaN(l)||0>l)throw Error(\"Invalid number in diff_fromDelta: \"+h);h=a.substring(e,e+=l);\"=\"==f[g].charAt(0)?c[d++]=[DIFF_EQUAL,h]:c[d++]=[DIFF_DELETE,h];break;default:if(f[g])throw Error(\"Invalid diff operation in diff_fromDelta: \"+\nf[g]);}}if(e!=a.length)throw Error(\"Delta length (\"+e+\") does not equal source text length (\"+a.length+\").\");return c};diff_match_patch.prototype.match_main=function(a,b,c){if(null==a||null==b||null==c)throw Error(\"Null input. (match_main)\");c=Math.max(0,Math.min(c,a.length));return a==b?0:a.length?a.substring(c,c+b.length)==b?c:this.match_bitap_(a,b,c):-1};\ndiff_match_patch.prototype.match_bitap_=function(a,b,c){function d(a,d){var e=a/b.length,g=Math.abs(c-d);return f.Match_Distance?e+g/f.Match_Distance:g?1:e}if(b.length>this.Match_MaxBits)throw Error(\"Pattern too long for this browser.\");var e=this.match_alphabet_(b),f=this,g=this.Match_Threshold,h=a.indexOf(b,c);-1!=h&&(g=Math.min(d(0,h),g),h=a.lastIndexOf(b,c+b.length),-1!=h&&(g=Math.min(d(0,h),g)));var l=1<<b.length-1;h=-1;for(var k,m,p=b.length+a.length,x,w=0;w<b.length;w++){k=0;for(m=p;k<m;)d(w,\nc+m)<=g?k=m:p=m,m=Math.floor((p-k)/2+k);p=m;k=Math.max(1,c-m+1);var q=Math.min(c+m,a.length)+b.length;m=Array(q+2);for(m[q+1]=(1<<w)-1;q>=k;q--){var t=e[a.charAt(q-1)];m[q]=0===w?(m[q+1]<<1|1)&t:(m[q+1]<<1|1)&t|(x[q+1]|x[q])<<1|1|x[q+1];if(m[q]&l&&(t=d(w,q-1),t<=g))if(g=t,h=q-1,h>c)k=Math.max(1,2*c-h);else break}if(d(w+1,c)>g)break;x=m}return h};\ndiff_match_patch.prototype.match_alphabet_=function(a){for(var b={},c=0;c<a.length;c++)b[a.charAt(c)]=0;for(c=0;c<a.length;c++)b[a.charAt(c)]|=1<<a.length-c-1;return b};\ndiff_match_patch.prototype.patch_addContext_=function(a,b){if(0!=b.length){for(var c=b.substring(a.start2,a.start2+a.length1),d=0;b.indexOf(c)!=b.lastIndexOf(c)&&c.length<this.Match_MaxBits-this.Patch_Margin-this.Patch_Margin;)d+=this.Patch_Margin,c=b.substring(a.start2-d,a.start2+a.length1+d);d+=this.Patch_Margin;(c=b.substring(a.start2-d,a.start2))&&a.diffs.unshift([DIFF_EQUAL,c]);(d=b.substring(a.start2+a.length1,a.start2+a.length1+d))&&a.diffs.push([DIFF_EQUAL,d]);a.start1-=c.length;a.start2-=\nc.length;a.length1+=c.length+d.length;a.length2+=c.length+d.length}};\ndiff_match_patch.prototype.patch_make=function(a,b,c){if(\"string\"==typeof a&&\"string\"==typeof b&&\"undefined\"==typeof c){var d=a;b=this.diff_main(d,b,!0);2<b.length&&(this.diff_cleanupSemantic(b),this.diff_cleanupEfficiency(b))}else if(a&&\"object\"==typeof a&&\"undefined\"==typeof b&&\"undefined\"==typeof c)b=a,d=this.diff_text1(b);else if(\"string\"==typeof a&&b&&\"object\"==typeof b&&\"undefined\"==typeof c)d=a;else if(\"string\"==typeof a&&\"string\"==typeof b&&c&&\"object\"==typeof c)d=a,b=c;else throw Error(\"Unknown call format to patch_make.\");\nif(0===b.length)return[];c=[];a=new diff_match_patch.patch_obj;for(var e=0,f=0,g=0,h=d,l=0;l<b.length;l++){var k=b[l][0],m=b[l][1];e||k===DIFF_EQUAL||(a.start1=f,a.start2=g);switch(k){case DIFF_INSERT:a.diffs[e++]=b[l];a.length2+=m.length;d=d.substring(0,g)+m+d.substring(g);break;case DIFF_DELETE:a.length1+=m.length;a.diffs[e++]=b[l];d=d.substring(0,g)+d.substring(g+m.length);break;case DIFF_EQUAL:m.length<=2*this.Patch_Margin&&e&&b.length!=l+1?(a.diffs[e++]=b[l],a.length1+=m.length,a.length2+=m.length):\nm.length>=2*this.Patch_Margin&&e&&(this.patch_addContext_(a,h),c.push(a),a=new diff_match_patch.patch_obj,e=0,h=d,f=g)}k!==DIFF_INSERT&&(f+=m.length);k!==DIFF_DELETE&&(g+=m.length)}e&&(this.patch_addContext_(a,h),c.push(a));return c};\ndiff_match_patch.prototype.patch_deepCopy=function(a){for(var b=[],c=0;c<a.length;c++){var d=a[c],e=new diff_match_patch.patch_obj;e.diffs=[];for(var f=0;f<d.diffs.length;f++)e.diffs[f]=d.diffs[f].slice();e.start1=d.start1;e.start2=d.start2;e.length1=d.length1;e.length2=d.length2;b[c]=e}return b};\ndiff_match_patch.prototype.patch_apply=function(a,b){if(0==a.length)return[b,[]];a=this.patch_deepCopy(a);var c=this.patch_addPadding(a);b=c+b+c;this.patch_splitMax(a);for(var d=0,e=[],f=0;f<a.length;f++){var g=a[f].start2+d,h=this.diff_text1(a[f].diffs),l=-1;if(h.length>this.Match_MaxBits){var k=this.match_main(b,h.substring(0,this.Match_MaxBits),g);-1!=k&&(l=this.match_main(b,h.substring(h.length-this.Match_MaxBits),g+h.length-this.Match_MaxBits),-1==l||k>=l)&&(k=-1)}else k=this.match_main(b,h,\ng);if(-1==k)e[f]=!1,d-=a[f].length2-a[f].length1;else if(e[f]=!0,d=k-g,g=-1==l?b.substring(k,k+h.length):b.substring(k,l+this.Match_MaxBits),h==g)b=b.substring(0,k)+this.diff_text2(a[f].diffs)+b.substring(k+h.length);else if(g=this.diff_main(h,g,!1),h.length>this.Match_MaxBits&&this.diff_levenshtein(g)/h.length>this.Patch_DeleteThreshold)e[f]=!1;else{this.diff_cleanupSemanticLossless(g);h=0;var m;for(l=0;l<a[f].diffs.length;l++){var p=a[f].diffs[l];p[0]!==DIFF_EQUAL&&(m=this.diff_xIndex(g,h));p[0]===\nDIFF_INSERT?b=b.substring(0,k+m)+p[1]+b.substring(k+m):p[0]===DIFF_DELETE&&(b=b.substring(0,k+m)+b.substring(k+this.diff_xIndex(g,h+p[1].length)));p[0]!==DIFF_DELETE&&(h+=p[1].length)}}}b=b.substring(c.length,b.length-c.length);return[b,e]};\ndiff_match_patch.prototype.patch_addPadding=function(a){for(var b=this.Patch_Margin,c=\"\",d=1;d<=b;d++)c+=String.fromCharCode(d);for(d=0;d<a.length;d++)a[d].start1+=b,a[d].start2+=b;d=a[0];var e=d.diffs;if(0==e.length||e[0][0]!=DIFF_EQUAL)e.unshift([DIFF_EQUAL,c]),d.start1-=b,d.start2-=b,d.length1+=b,d.length2+=b;else if(b>e[0][1].length){var f=b-e[0][1].length;e[0][1]=c.substring(e[0][1].length)+e[0][1];d.start1-=f;d.start2-=f;d.length1+=f;d.length2+=f}d=a[a.length-1];e=d.diffs;0==e.length||e[e.length-\n1][0]!=DIFF_EQUAL?(e.push([DIFF_EQUAL,c]),d.length1+=b,d.length2+=b):b>e[e.length-1][1].length&&(f=b-e[e.length-1][1].length,e[e.length-1][1]+=c.substring(0,f),d.length1+=f,d.length2+=f);return c};\ndiff_match_patch.prototype.patch_splitMax=function(a){for(var b=this.Match_MaxBits,c=0;c<a.length;c++)if(!(a[c].length1<=b)){var d=a[c];a.splice(c--,1);for(var e=d.start1,f=d.start2,g=\"\";0!==d.diffs.length;){var h=new diff_match_patch.patch_obj,l=!0;h.start1=e-g.length;h.start2=f-g.length;\"\"!==g&&(h.length1=h.length2=g.length,h.diffs.push([DIFF_EQUAL,g]));for(;0!==d.diffs.length&&h.length1<b-this.Patch_Margin;){g=d.diffs[0][0];var k=d.diffs[0][1];g===DIFF_INSERT?(h.length2+=k.length,f+=k.length,h.diffs.push(d.diffs.shift()),\nl=!1):g===DIFF_DELETE&&1==h.diffs.length&&h.diffs[0][0]==DIFF_EQUAL&&k.length>2*b?(h.length1+=k.length,e+=k.length,l=!1,h.diffs.push([g,k]),d.diffs.shift()):(k=k.substring(0,b-h.length1-this.Patch_Margin),h.length1+=k.length,e+=k.length,g===DIFF_EQUAL?(h.length2+=k.length,f+=k.length):l=!1,h.diffs.push([g,k]),k==d.diffs[0][1]?d.diffs.shift():d.diffs[0][1]=d.diffs[0][1].substring(k.length))}g=this.diff_text2(h.diffs);g=g.substring(g.length-this.Patch_Margin);k=this.diff_text1(d.diffs).substring(0,\nthis.Patch_Margin);\"\"!==k&&(h.length1+=k.length,h.length2+=k.length,0!==h.diffs.length&&h.diffs[h.diffs.length-1][0]===DIFF_EQUAL?h.diffs[h.diffs.length-1][1]+=k:h.diffs.push([DIFF_EQUAL,k]));l||a.splice(++c,0,h)}}};diff_match_patch.prototype.patch_toText=function(a){for(var b=[],c=0;c<a.length;c++)b[c]=a[c];return b.join(\"\")};\ndiff_match_patch.prototype.patch_fromText=function(a){var b=[];if(!a)return b;a=a.split(\"\\n\");for(var c=0,d=/^@@ -(\\d+),?(\\d*) \\+(\\d+),?(\\d*) @@$/;c<a.length;){var e=a[c].match(d);if(!e)throw Error(\"Invalid patch string: \"+a[c]);var f=new diff_match_patch.patch_obj;b.push(f);f.start1=parseInt(e[1],10);\"\"===e[2]?(f.start1--,f.length1=1):\"0\"==e[2]?f.length1=0:(f.start1--,f.length1=parseInt(e[2],10));f.start2=parseInt(e[3],10);\"\"===e[4]?(f.start2--,f.length2=1):\"0\"==e[4]?f.length2=0:(f.start2--,f.length2=\nparseInt(e[4],10));for(c++;c<a.length;){e=a[c].charAt(0);try{var g=decodeURI(a[c].substring(1))}catch(h){throw Error(\"Illegal escape in patch_fromText: \"+g);}if(\"-\"==e)f.diffs.push([DIFF_DELETE,g]);else if(\"+\"==e)f.diffs.push([DIFF_INSERT,g]);else if(\" \"==e)f.diffs.push([DIFF_EQUAL,g]);else if(\"@\"==e)break;else if(\"\"!==e)throw Error('Invalid patch mode \"'+e+'\" in: '+g);c++}}return b};diff_match_patch.patch_obj=function(){this.diffs=[];this.start2=this.start1=null;this.length2=this.length1=0};\ndiff_match_patch.patch_obj.prototype.toString=function(){for(var a=[\"@@ -\"+(0===this.length1?this.start1+\",0\":1==this.length1?this.start1+1:this.start1+1+\",\"+this.length1)+\" +\"+(0===this.length2?this.start2+\",0\":1==this.length2?this.start2+1:this.start2+1+\",\"+this.length2)+\" @@\\n\"],b,c=0;c<this.diffs.length;c++){switch(this.diffs[c][0]){case DIFF_INSERT:b=\"+\";break;case DIFF_DELETE:b=\"-\";break;case DIFF_EQUAL:b=\" \"}a[c+1]=b+encodeURI(this.diffs[c][1])+\"\\n\"}return a.join(\"\").replace(/%20/g,\" \")};\nthis.diff_match_patch=diff_match_patch;this.DIFF_DELETE=DIFF_DELETE;this.DIFF_INSERT=DIFF_INSERT;this.DIFF_EQUAL=DIFF_EQUAL;\n}).call(exports);",
            "type": "application/javascript",
            "title": "$:/core/modules/utils/diff-match-patch/diff_match_patch.js",
            "module-type": "library"
        },
        "$:/core/modules/utils/dom/animations/slide.js": {
            "title": "$:/core/modules/utils/dom/animations/slide.js",
            "text": "/*\\\ntitle: $:/core/modules/utils/dom/animations/slide.js\ntype: application/javascript\nmodule-type: animation\n\nA simple slide animation that varies the height of the element\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nfunction slideOpen(domNode,options) {\n\toptions = options || {};\n\tvar duration = options.duration || $tw.utils.getAnimationDuration();\n\t// Get the current height of the domNode\n\tvar computedStyle = window.getComputedStyle(domNode),\n\t\tcurrMarginBottom = parseInt(computedStyle.marginBottom,10),\n\t\tcurrMarginTop = parseInt(computedStyle.marginTop,10),\n\t\tcurrPaddingBottom = parseInt(computedStyle.paddingBottom,10),\n\t\tcurrPaddingTop = parseInt(computedStyle.paddingTop,10),\n\t\tcurrHeight = domNode.offsetHeight;\n\t// Reset the margin once the transition is over\n\tsetTimeout(function() {\n\t\t$tw.utils.setStyle(domNode,[\n\t\t\t{transition: \"none\"},\n\t\t\t{marginBottom: \"\"},\n\t\t\t{marginTop: \"\"},\n\t\t\t{paddingBottom: \"\"},\n\t\t\t{paddingTop: \"\"},\n\t\t\t{height: \"auto\"},\n\t\t\t{opacity: \"\"}\n\t\t]);\n\t\tif(options.callback) {\n\t\t\toptions.callback();\n\t\t}\n\t},duration);\n\t// Set up the initial position of the element\n\t$tw.utils.setStyle(domNode,[\n\t\t{transition: \"none\"},\n\t\t{marginTop: \"0px\"},\n\t\t{marginBottom: \"0px\"},\n\t\t{paddingTop: \"0px\"},\n\t\t{paddingBottom: \"0px\"},\n\t\t{height: \"0px\"},\n\t\t{opacity: \"0\"}\n\t]);\n\t$tw.utils.forceLayout(domNode);\n\t// Transition to the final position\n\t$tw.utils.setStyle(domNode,[\n\t\t{transition: \"margin-top \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"margin-bottom \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"padding-top \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"padding-bottom \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"height \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms ease-in-out\"},\n\t\t{marginBottom: currMarginBottom + \"px\"},\n\t\t{marginTop: currMarginTop + \"px\"},\n\t\t{paddingBottom: currPaddingBottom + \"px\"},\n\t\t{paddingTop: currPaddingTop + \"px\"},\n\t\t{height: currHeight + \"px\"},\n\t\t{opacity: \"1\"}\n\t]);\n}\n\nfunction slideClosed(domNode,options) {\n\toptions = options || {};\n\tvar duration = options.duration || $tw.utils.getAnimationDuration(),\n\t\tcurrHeight = domNode.offsetHeight;\n\t// Clear the properties we've set when the animation is over\n\tsetTimeout(function() {\n\t\t$tw.utils.setStyle(domNode,[\n\t\t\t{transition: \"none\"},\n\t\t\t{marginBottom: \"\"},\n\t\t\t{marginTop: \"\"},\n\t\t\t{paddingBottom: \"\"},\n\t\t\t{paddingTop: \"\"},\n\t\t\t{height: \"auto\"},\n\t\t\t{opacity: \"\"}\n\t\t]);\n\t\tif(options.callback) {\n\t\t\toptions.callback();\n\t\t}\n\t},duration);\n\t// Set up the initial position of the element\n\t$tw.utils.setStyle(domNode,[\n\t\t{height: currHeight + \"px\"},\n\t\t{opacity: \"1\"}\n\t]);\n\t$tw.utils.forceLayout(domNode);\n\t// Transition to the final position\n\t$tw.utils.setStyle(domNode,[\n\t\t{transition: \"margin-top \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"margin-bottom \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"padding-top \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"padding-bottom \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"height \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms ease-in-out\"},\n\t\t{marginTop: \"0px\"},\n\t\t{marginBottom: \"0px\"},\n\t\t{paddingTop: \"0px\"},\n\t\t{paddingBottom: \"0px\"},\n\t\t{height: \"0px\"},\n\t\t{opacity: \"0\"}\n\t]);\n}\n\nexports.slide = {\n\topen: slideOpen,\n\tclose: slideClosed\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "animation"
        },
        "$:/core/modules/utils/dom/animator.js": {
            "title": "$:/core/modules/utils/dom/animator.js",
            "text": "/*\\\ntitle: $:/core/modules/utils/dom/animator.js\ntype: application/javascript\nmodule-type: utils\n\nOrchestrates animations and transitions\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nfunction Animator() {\n\t// Get the registered animation modules\n\tthis.animations = {};\n\t$tw.modules.applyMethods(\"animation\",this.animations);\n}\n\nAnimator.prototype.perform = function(type,domNode,options) {\n\toptions = options || {};\n\t// Find an animation that can handle this type\n\tvar chosenAnimation;\n\t$tw.utils.each(this.animations,function(animation,name) {\n\t\tif($tw.utils.hop(animation,type)) {\n\t\t\tchosenAnimation = animation[type];\n\t\t}\n\t});\n\tif(!chosenAnimation) {\n\t\tchosenAnimation = function(domNode,options) {\n\t\t\tif(options.callback) {\n\t\t\t\toptions.callback();\n\t\t\t}\n\t\t};\n\t}\n\t// Call the animation\n\tchosenAnimation(domNode,options);\n};\n\nexports.Animator = Animator;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/dom/browser.js": {
            "title": "$:/core/modules/utils/dom/browser.js",
            "text": "/*\\\ntitle: $:/core/modules/utils/dom/browser.js\ntype: application/javascript\nmodule-type: utils\n\nBrowser feature detection\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSet style properties of an element\n\telement: dom node\n\tstyles: ordered array of {name: value} pairs\n*/\nexports.setStyle = function(element,styles) {\n\tif(element.nodeType === 1) { // Element.ELEMENT_NODE\n\t\tfor(var t=0; t<styles.length; t++) {\n\t\t\tfor(var styleName in styles[t]) {\n\t\t\t\telement.style[$tw.utils.convertStyleNameToPropertyName(styleName)] = styles[t][styleName];\n\t\t\t}\n\t\t}\n\t}\n};\n\n/*\nConverts a standard CSS property name into the local browser-specific equivalent. For example:\n\t\"background-color\" --> \"backgroundColor\"\n\t\"transition\" --> \"webkitTransition\"\n*/\n\nvar styleNameCache = {}; // We'll cache the style name conversions\n\nexports.convertStyleNameToPropertyName = function(styleName) {\n\t// Return from the cache if we can\n\tif(styleNameCache[styleName]) {\n\t\treturn styleNameCache[styleName];\n\t}\n\t// Convert it by first removing any hyphens\n\tvar propertyName = $tw.utils.unHyphenateCss(styleName);\n\t// Then check if it needs a prefix\n\tif($tw.browser && document.body.style[propertyName] === undefined) {\n\t\tvar prefixes = [\"O\",\"MS\",\"Moz\",\"webkit\"];\n\t\tfor(var t=0; t<prefixes.length; t++) {\n\t\t\tvar prefixedName = prefixes[t] + propertyName.substr(0,1).toUpperCase() + propertyName.substr(1);\n\t\t\tif(document.body.style[prefixedName] !== undefined) {\n\t\t\t\tpropertyName = prefixedName;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\t// Put it in the cache too\n\tstyleNameCache[styleName] = propertyName;\n\treturn propertyName;\n};\n\n/*\nConverts a JS format CSS property name back into the dashed form used in CSS declarations. For example:\n\t\"backgroundColor\" --> \"background-color\"\n\t\"webkitTransform\" --> \"-webkit-transform\"\n*/\nexports.convertPropertyNameToStyleName = function(propertyName) {\n\t// Rehyphenate the name\n\tvar styleName = $tw.utils.hyphenateCss(propertyName);\n\t// If there's a webkit prefix, add a dash (other browsers have uppercase prefixes, and so get the dash automatically)\n\tif(styleName.indexOf(\"webkit\") === 0) {\n\t\tstyleName = \"-\" + styleName;\n\t} else if(styleName.indexOf(\"-m-s\") === 0) {\n\t\tstyleName = \"-ms\" + styleName.substr(4);\n\t}\n\treturn styleName;\n};\n\n/*\nRound trip a stylename to a property name and back again. For example:\n\t\"transform\" --> \"webkitTransform\" --> \"-webkit-transform\"\n*/\nexports.roundTripPropertyName = function(propertyName) {\n\treturn $tw.utils.convertPropertyNameToStyleName($tw.utils.convertStyleNameToPropertyName(propertyName));\n};\n\n/*\nConverts a standard event name into the local browser specific equivalent. For example:\n\t\"animationEnd\" --> \"webkitAnimationEnd\"\n*/\n\nvar eventNameCache = {}; // We'll cache the conversions\n\nvar eventNameMappings = {\n\t\"transitionEnd\": {\n\t\tcorrespondingCssProperty: \"transition\",\n\t\tmappings: {\n\t\t\ttransition: \"transitionend\",\n\t\t\tOTransition: \"oTransitionEnd\",\n\t\t\tMSTransition: \"msTransitionEnd\",\n\t\t\tMozTransition: \"transitionend\",\n\t\t\twebkitTransition: \"webkitTransitionEnd\"\n\t\t}\n\t},\n\t\"animationEnd\": {\n\t\tcorrespondingCssProperty: \"animation\",\n\t\tmappings: {\n\t\t\tanimation: \"animationend\",\n\t\t\tOAnimation: \"oAnimationEnd\",\n\t\t\tMSAnimation: \"msAnimationEnd\",\n\t\t\tMozAnimation: \"animationend\",\n\t\t\twebkitAnimation: \"webkitAnimationEnd\"\n\t\t}\n\t}\n};\n\nexports.convertEventName = function(eventName) {\n\tif(eventNameCache[eventName]) {\n\t\treturn eventNameCache[eventName];\n\t}\n\tvar newEventName = eventName,\n\t\tmappings = eventNameMappings[eventName];\n\tif(mappings) {\n\t\tvar convertedProperty = $tw.utils.convertStyleNameToPropertyName(mappings.correspondingCssProperty);\n\t\tif(mappings.mappings[convertedProperty]) {\n\t\t\tnewEventName = mappings.mappings[convertedProperty];\n\t\t}\n\t}\n\t// Put it in the cache too\n\teventNameCache[eventName] = newEventName;\n\treturn newEventName;\n};\n\n/*\nReturn the names of the fullscreen APIs\n*/\nexports.getFullScreenApis = function() {\n\tvar d = document,\n\t\tdb = d.body,\n\t\tresult = {\n\t\t\"_requestFullscreen\": db.webkitRequestFullscreen !== undefined ? \"webkitRequestFullscreen\" :\n\t\t\t\t\t\t\tdb.mozRequestFullScreen !== undefined ? \"mozRequestFullScreen\" :\n\t\t\t\t\t\t\tdb.msRequestFullscreen !== undefined ? \"msRequestFullscreen\" :\n\t\t\t\t\t\t\tdb.requestFullscreen !== undefined ? \"requestFullscreen\" : \"\",\n\t\t\"_exitFullscreen\": d.webkitExitFullscreen !== undefined ? \"webkitExitFullscreen\" :\n\t\t\t\t\t\t\td.mozCancelFullScreen !== undefined ? \"mozCancelFullScreen\" :\n\t\t\t\t\t\t\td.msExitFullscreen !== undefined ? \"msExitFullscreen\" :\n\t\t\t\t\t\t\td.exitFullscreen !== undefined ? \"exitFullscreen\" : \"\",\n\t\t\"_fullscreenElement\": d.webkitFullscreenElement !== undefined ? \"webkitFullscreenElement\" :\n\t\t\t\t\t\t\td.mozFullScreenElement !== undefined ? \"mozFullScreenElement\" :\n\t\t\t\t\t\t\td.msFullscreenElement !== undefined ? \"msFullscreenElement\" :\n\t\t\t\t\t\t\td.fullscreenElement !== undefined ? \"fullscreenElement\" : \"\",\n\t\t\"_fullscreenChange\": d.webkitFullscreenElement !== undefined ? \"webkitfullscreenchange\" :\n\t\t\t\t\t\t\td.mozFullScreenElement !== undefined ? \"mozfullscreenchange\" :\n\t\t\t\t\t\t\td.msFullscreenElement !== undefined ? \"MSFullscreenChange\" :\n\t\t\t\t\t\t\td.fullscreenElement !== undefined ? \"fullscreenchange\" : \"\"\n\t};\n\tif(!result._requestFullscreen || !result._exitFullscreen || !result._fullscreenElement || !result._fullscreenChange) {\n\t\treturn null;\n\t} else {\n\t\treturn result;\n\t}\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/dom/csscolorparser.js": {
            "title": "$:/core/modules/utils/dom/csscolorparser.js",
            "text": "// (c) Dean McNamee <dean@gmail.com>, 2012.\n//\n// https://github.com/deanm/css-color-parser-js\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to\n// deal in the Software without restriction, including without limitation the\n// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n// sell copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n// IN THE SOFTWARE.\n\n// http://www.w3.org/TR/css3-color/\nvar kCSSColorTable = {\n  \"transparent\": [0,0,0,0], \"aliceblue\": [240,248,255,1],\n  \"antiquewhite\": [250,235,215,1], \"aqua\": [0,255,255,1],\n  \"aquamarine\": [127,255,212,1], \"azure\": [240,255,255,1],\n  \"beige\": [245,245,220,1], \"bisque\": [255,228,196,1],\n  \"black\": [0,0,0,1], \"blanchedalmond\": [255,235,205,1],\n  \"blue\": [0,0,255,1], \"blueviolet\": [138,43,226,1],\n  \"brown\": [165,42,42,1], \"burlywood\": [222,184,135,1],\n  \"cadetblue\": [95,158,160,1], \"chartreuse\": [127,255,0,1],\n  \"chocolate\": [210,105,30,1], \"coral\": [255,127,80,1],\n  \"cornflowerblue\": [100,149,237,1], \"cornsilk\": [255,248,220,1],\n  \"crimson\": [220,20,60,1], \"cyan\": [0,255,255,1],\n  \"darkblue\": [0,0,139,1], \"darkcyan\": [0,139,139,1],\n  \"darkgoldenrod\": [184,134,11,1], \"darkgray\": [169,169,169,1],\n  \"darkgreen\": [0,100,0,1], \"darkgrey\": [169,169,169,1],\n  \"darkkhaki\": [189,183,107,1], \"darkmagenta\": [139,0,139,1],\n  \"darkolivegreen\": [85,107,47,1], \"darkorange\": [255,140,0,1],\n  \"darkorchid\": [153,50,204,1], \"darkred\": [139,0,0,1],\n  \"darksalmon\": [233,150,122,1], \"darkseagreen\": [143,188,143,1],\n  \"darkslateblue\": [72,61,139,1], \"darkslategray\": [47,79,79,1],\n  \"darkslategrey\": [47,79,79,1], \"darkturquoise\": [0,206,209,1],\n  \"darkviolet\": [148,0,211,1], \"deeppink\": [255,20,147,1],\n  \"deepskyblue\": [0,191,255,1], \"dimgray\": [105,105,105,1],\n  \"dimgrey\": [105,105,105,1], \"dodgerblue\": [30,144,255,1],\n  \"firebrick\": [178,34,34,1], \"floralwhite\": [255,250,240,1],\n  \"forestgreen\": [34,139,34,1], \"fuchsia\": [255,0,255,1],\n  \"gainsboro\": [220,220,220,1], \"ghostwhite\": [248,248,255,1],\n  \"gold\": [255,215,0,1], \"goldenrod\": [218,165,32,1],\n  \"gray\": [128,128,128,1], \"green\": [0,128,0,1],\n  \"greenyellow\": [173,255,47,1], \"grey\": [128,128,128,1],\n  \"honeydew\": [240,255,240,1], \"hotpink\": [255,105,180,1],\n  \"indianred\": [205,92,92,1], \"indigo\": [75,0,130,1],\n  \"ivory\": [255,255,240,1], \"khaki\": [240,230,140,1],\n  \"lavender\": [230,230,250,1], \"lavenderblush\": [255,240,245,1],\n  \"lawngreen\": [124,252,0,1], \"lemonchiffon\": [255,250,205,1],\n  \"lightblue\": [173,216,230,1], \"lightcoral\": [240,128,128,1],\n  \"lightcyan\": [224,255,255,1], \"lightgoldenrodyellow\": [250,250,210,1],\n  \"lightgray\": [211,211,211,1], \"lightgreen\": [144,238,144,1],\n  \"lightgrey\": [211,211,211,1], \"lightpink\": [255,182,193,1],\n  \"lightsalmon\": [255,160,122,1], \"lightseagreen\": [32,178,170,1],\n  \"lightskyblue\": [135,206,250,1], \"lightslategray\": [119,136,153,1],\n  \"lightslategrey\": [119,136,153,1], \"lightsteelblue\": [176,196,222,1],\n  \"lightyellow\": [255,255,224,1], \"lime\": [0,255,0,1],\n  \"limegreen\": [50,205,50,1], \"linen\": [250,240,230,1],\n  \"magenta\": [255,0,255,1], \"maroon\": [128,0,0,1],\n  \"mediumaquamarine\": [102,205,170,1], \"mediumblue\": [0,0,205,1],\n  \"mediumorchid\": [186,85,211,1], \"mediumpurple\": [147,112,219,1],\n  \"mediumseagreen\": [60,179,113,1], \"mediumslateblue\": [123,104,238,1],\n  \"mediumspringgreen\": [0,250,154,1], \"mediumturquoise\": [72,209,204,1],\n  \"mediumvioletred\": [199,21,133,1], \"midnightblue\": [25,25,112,1],\n  \"mintcream\": [245,255,250,1], \"mistyrose\": [255,228,225,1],\n  \"moccasin\": [255,228,181,1], \"navajowhite\": [255,222,173,1],\n  \"navy\": [0,0,128,1], \"oldlace\": [253,245,230,1],\n  \"olive\": [128,128,0,1], \"olivedrab\": [107,142,35,1],\n  \"orange\": [255,165,0,1], \"orangered\": [255,69,0,1],\n  \"orchid\": [218,112,214,1], \"palegoldenrod\": [238,232,170,1],\n  \"palegreen\": [152,251,152,1], \"paleturquoise\": [175,238,238,1],\n  \"palevioletred\": [219,112,147,1], \"papayawhip\": [255,239,213,1],\n  \"peachpuff\": [255,218,185,1], \"peru\": [205,133,63,1],\n  \"pink\": [255,192,203,1], \"plum\": [221,160,221,1],\n  \"powderblue\": [176,224,230,1], \"purple\": [128,0,128,1],\n  \"red\": [255,0,0,1], \"rosybrown\": [188,143,143,1],\n  \"royalblue\": [65,105,225,1], \"saddlebrown\": [139,69,19,1],\n  \"salmon\": [250,128,114,1], \"sandybrown\": [244,164,96,1],\n  \"seagreen\": [46,139,87,1], \"seashell\": [255,245,238,1],\n  \"sienna\": [160,82,45,1], \"silver\": [192,192,192,1],\n  \"skyblue\": [135,206,235,1], \"slateblue\": [106,90,205,1],\n  \"slategray\": [112,128,144,1], \"slategrey\": [112,128,144,1],\n  \"snow\": [255,250,250,1], \"springgreen\": [0,255,127,1],\n  \"steelblue\": [70,130,180,1], \"tan\": [210,180,140,1],\n  \"teal\": [0,128,128,1], \"thistle\": [216,191,216,1],\n  \"tomato\": [255,99,71,1], \"turquoise\": [64,224,208,1],\n  \"violet\": [238,130,238,1], \"wheat\": [245,222,179,1],\n  \"white\": [255,255,255,1], \"whitesmoke\": [245,245,245,1],\n  \"yellow\": [255,255,0,1], \"yellowgreen\": [154,205,50,1]}\n\nfunction clamp_css_byte(i) {  // Clamp to integer 0 .. 255.\n  i = Math.round(i);  // Seems to be what Chrome does (vs truncation).\n  return i < 0 ? 0 : i > 255 ? 255 : i;\n}\n\nfunction clamp_css_float(f) {  // Clamp to float 0.0 .. 1.0.\n  return f < 0 ? 0 : f > 1 ? 1 : f;\n}\n\nfunction parse_css_int(str) {  // int or percentage.\n  if (str[str.length - 1] === '%')\n    return clamp_css_byte(parseFloat(str) / 100 * 255);\n  return clamp_css_byte(parseInt(str));\n}\n\nfunction parse_css_float(str) {  // float or percentage.\n  if (str[str.length - 1] === '%')\n    return clamp_css_float(parseFloat(str) / 100);\n  return clamp_css_float(parseFloat(str));\n}\n\nfunction css_hue_to_rgb(m1, m2, h) {\n  if (h < 0) h += 1;\n  else if (h > 1) h -= 1;\n\n  if (h * 6 < 1) return m1 + (m2 - m1) * h * 6;\n  if (h * 2 < 1) return m2;\n  if (h * 3 < 2) return m1 + (m2 - m1) * (2/3 - h) * 6;\n  return m1;\n}\n\nfunction parseCSSColor(css_str) {\n  // Remove all whitespace, not compliant, but should just be more accepting.\n  var str = css_str.replace(/ /g, '').toLowerCase();\n\n  // Color keywords (and transparent) lookup.\n  if (str in kCSSColorTable) return kCSSColorTable[str].slice();  // dup.\n\n  // #abc and #abc123 syntax.\n  if (str[0] === '#') {\n    if (str.length === 4) {\n      var iv = parseInt(str.substr(1), 16);  // TODO(deanm): Stricter parsing.\n      if (!(iv >= 0 && iv <= 0xfff)) return null;  // Covers NaN.\n      return [((iv & 0xf00) >> 4) | ((iv & 0xf00) >> 8),\n              (iv & 0xf0) | ((iv & 0xf0) >> 4),\n              (iv & 0xf) | ((iv & 0xf) << 4),\n              1];\n    } else if (str.length === 7) {\n      var iv = parseInt(str.substr(1), 16);  // TODO(deanm): Stricter parsing.\n      if (!(iv >= 0 && iv <= 0xffffff)) return null;  // Covers NaN.\n      return [(iv & 0xff0000) >> 16,\n              (iv & 0xff00) >> 8,\n              iv & 0xff,\n              1];\n    }\n\n    return null;\n  }\n\n  var op = str.indexOf('('), ep = str.indexOf(')');\n  if (op !== -1 && ep + 1 === str.length) {\n    var fname = str.substr(0, op);\n    var params = str.substr(op+1, ep-(op+1)).split(',');\n    var alpha = 1;  // To allow case fallthrough.\n    switch (fname) {\n      case 'rgba':\n        if (params.length !== 4) return null;\n        alpha = parse_css_float(params.pop());\n        // Fall through.\n      case 'rgb':\n        if (params.length !== 3) return null;\n        return [parse_css_int(params[0]),\n                parse_css_int(params[1]),\n                parse_css_int(params[2]),\n                alpha];\n      case 'hsla':\n        if (params.length !== 4) return null;\n        alpha = parse_css_float(params.pop());\n        // Fall through.\n      case 'hsl':\n        if (params.length !== 3) return null;\n        var h = (((parseFloat(params[0]) % 360) + 360) % 360) / 360;  // 0 .. 1\n        // NOTE(deanm): According to the CSS spec s/l should only be\n        // percentages, but we don't bother and let float or percentage.\n        var s = parse_css_float(params[1]);\n        var l = parse_css_float(params[2]);\n        var m2 = l <= 0.5 ? l * (s + 1) : l + s - l * s;\n        var m1 = l * 2 - m2;\n        return [clamp_css_byte(css_hue_to_rgb(m1, m2, h+1/3) * 255),\n                clamp_css_byte(css_hue_to_rgb(m1, m2, h) * 255),\n                clamp_css_byte(css_hue_to_rgb(m1, m2, h-1/3) * 255),\n                alpha];\n      default:\n        return null;\n    }\n  }\n\n  return null;\n}\n\ntry { exports.parseCSSColor = parseCSSColor } catch(e) { }\n",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/dom.js": {
            "title": "$:/core/modules/utils/dom.js",
            "text": "/*\\\ntitle: $:/core/modules/utils/dom.js\ntype: application/javascript\nmodule-type: utils\n\nVarious static DOM-related utility functions.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nDetermines whether element 'a' contains element 'b'\nCode thanks to John Resig, http://ejohn.org/blog/comparing-document-position/\n*/\nexports.domContains = function(a,b) {\n\treturn a.contains ?\n\t\ta !== b && a.contains(b) :\n\t\t!!(a.compareDocumentPosition(b) & 16);\n};\n\nexports.removeChildren = function(node) {\n\twhile(node.hasChildNodes()) {\n\t\tnode.removeChild(node.firstChild);\n\t}\n};\n\nexports.hasClass = function(el,className) {\n\treturn el && el.className && el.className.toString().split(\" \").indexOf(className) !== -1;\n};\n\nexports.addClass = function(el,className) {\n\tvar c = el.className.split(\" \");\n\tif(c.indexOf(className) === -1) {\n\t\tc.push(className);\n\t}\n\tel.className = c.join(\" \");\n};\n\nexports.removeClass = function(el,className) {\n\tvar c = el.className.split(\" \"),\n\t\tp = c.indexOf(className);\n\tif(p !== -1) {\n\t\tc.splice(p,1);\n\t\tel.className = c.join(\" \");\n\t}\n};\n\nexports.toggleClass = function(el,className,status) {\n\tif(status === undefined) {\n\t\tstatus = !exports.hasClass(el,className);\n\t}\n\tif(status) {\n\t\texports.addClass(el,className);\n\t} else {\n\t\texports.removeClass(el,className);\n\t}\n};\n\n/*\nGet the first parent element that has scrollbars or use the body as fallback.\n*/\nexports.getScrollContainer = function(el) {\n\tvar doc = el.ownerDocument;\n\twhile(el.parentNode) {\t\n\t\tel = el.parentNode;\n\t\tif(el.scrollTop) {\n\t\t\treturn el;\n\t\t}\n\t}\n\treturn doc.body;\n};\n\n/*\nGet the scroll position of the viewport\nReturns:\n\t{\n\t\tx: horizontal scroll position in pixels,\n\t\ty: vertical scroll position in pixels\n\t}\n*/\nexports.getScrollPosition = function(srcWindow) {\n\tvar scrollWindow = srcWindow || window;\n\tif(\"scrollX\" in scrollWindow) {\n\t\treturn {x: scrollWindow.scrollX, y: scrollWindow.scrollY};\n\t} else {\n\t\treturn {x: scrollWindow.document.documentElement.scrollLeft, y: scrollWindow.document.documentElement.scrollTop};\n\t}\n};\n\n/*\nAdjust the height of a textarea to fit its content, preserving scroll position, and return the height\n*/\nexports.resizeTextAreaToFit = function(domNode,minHeight) {\n\t// Get the scroll container and register the current scroll position\n\tvar container = $tw.utils.getScrollContainer(domNode),\n\t\tscrollTop = container.scrollTop;\n    // Measure the specified minimum height\n\tdomNode.style.height = minHeight;\n\tvar measuredHeight = domNode.offsetHeight || parseInt(minHeight,10);\n\t// Set its height to auto so that it snaps to the correct height\n\tdomNode.style.height = \"auto\";\n\t// Calculate the revised height\n\tvar newHeight = Math.max(domNode.scrollHeight + domNode.offsetHeight - domNode.clientHeight,measuredHeight);\n\t// Only try to change the height if it has changed\n\tif(newHeight !== domNode.offsetHeight) {\n\t\tdomNode.style.height = newHeight + \"px\";\n\t\t// Make sure that the dimensions of the textarea are recalculated\n\t\t$tw.utils.forceLayout(domNode);\n\t\t// Set the container to the position we registered at the beginning\n\t\tcontainer.scrollTop = scrollTop;\n\t}\n\treturn newHeight;\n};\n\n/*\nGets the bounding rectangle of an element in absolute page coordinates\n*/\nexports.getBoundingPageRect = function(element) {\n\tvar scrollPos = $tw.utils.getScrollPosition(element.ownerDocument.defaultView),\n\t\tclientRect = element.getBoundingClientRect();\n\treturn {\n\t\tleft: clientRect.left + scrollPos.x,\n\t\twidth: clientRect.width,\n\t\tright: clientRect.right + scrollPos.x,\n\t\ttop: clientRect.top + scrollPos.y,\n\t\theight: clientRect.height,\n\t\tbottom: clientRect.bottom + scrollPos.y\n\t};\n};\n\n/*\nSaves a named password in the browser\n*/\nexports.savePassword = function(name,password) {\n\tvar done = false;\n\ttry {\n\t\twindow.localStorage.setItem(\"tw5-password-\" + name,password);\n\t\tdone = true;\n\t} catch(e) {\n\t}\n\tif(!done) {\n\t\t$tw.savedPasswords = $tw.savedPasswords || Object.create(null);\n\t\t$tw.savedPasswords[name] = password;\n\t}\n};\n\n/*\nRetrieve a named password from the browser\n*/\nexports.getPassword = function(name) {\n\tvar value;\n\ttry {\n\t\tvalue = window.localStorage.getItem(\"tw5-password-\" + name);\n\t} catch(e) {\n\t}\n\tif(value !== undefined) {\n\t\treturn value;\n\t} else {\n\t\treturn ($tw.savedPasswords || Object.create(null))[name] || \"\";\n\t}\n};\n\n/*\nForce layout of a dom node and its descendents\n*/\nexports.forceLayout = function(element) {\n\tvar dummy = element.offsetWidth;\n};\n\n/*\nPulse an element for debugging purposes\n*/\nexports.pulseElement = function(element) {\n\t// Event handler to remove the class at the end\n\telement.addEventListener($tw.browser.animationEnd,function handler(event) {\n\t\telement.removeEventListener($tw.browser.animationEnd,handler,false);\n\t\t$tw.utils.removeClass(element,\"pulse\");\n\t},false);\n\t// Apply the pulse class\n\t$tw.utils.removeClass(element,\"pulse\");\n\t$tw.utils.forceLayout(element);\n\t$tw.utils.addClass(element,\"pulse\");\n};\n\n/*\nAttach specified event handlers to a DOM node\ndomNode: where to attach the event handlers\nevents: array of event handlers to be added (see below)\nEach entry in the events array is an object with these properties:\nhandlerFunction: optional event handler function\nhandlerObject: optional event handler object\nhandlerMethod: optionally specifies object handler method name (defaults to `handleEvent`)\n*/\nexports.addEventListeners = function(domNode,events) {\n\t$tw.utils.each(events,function(eventInfo) {\n\t\tvar handler;\n\t\tif(eventInfo.handlerFunction) {\n\t\t\thandler = eventInfo.handlerFunction;\n\t\t} else if(eventInfo.handlerObject) {\n\t\t\tif(eventInfo.handlerMethod) {\n\t\t\t\thandler = function(event) {\n\t\t\t\t\teventInfo.handlerObject[eventInfo.handlerMethod].call(eventInfo.handlerObject,event);\n\t\t\t\t};\t\n\t\t\t} else {\n\t\t\t\thandler = eventInfo.handlerObject;\n\t\t\t}\n\t\t}\n\t\tdomNode.addEventListener(eventInfo.name,handler,false);\n\t});\n};\n\n/*\nGet the computed styles applied to an element as an array of strings of individual CSS properties\n*/\nexports.getComputedStyles = function(domNode) {\n\tvar textAreaStyles = window.getComputedStyle(domNode,null),\n\t\tstyleDefs = [],\n\t\tname;\n\tfor(var t=0; t<textAreaStyles.length; t++) {\n\t\tname = textAreaStyles[t];\n\t\tstyleDefs.push(name + \": \" + textAreaStyles.getPropertyValue(name) + \";\");\n\t}\n\treturn styleDefs;\n};\n\n/*\nApply a set of styles passed as an array of strings of individual CSS properties\n*/\nexports.setStyles = function(domNode,styleDefs) {\n\tdomNode.style.cssText = styleDefs.join(\"\");\n};\n\n/*\nCopy the computed styles from a source element to a destination element\n*/\nexports.copyStyles = function(srcDomNode,dstDomNode) {\n\t$tw.utils.setStyles(dstDomNode,$tw.utils.getComputedStyles(srcDomNode));\n};\n\n/*\nCopy plain text to the clipboard on browsers that support it\n*/\nexports.copyToClipboard = function(text,options) {\n\toptions = options || {};\n\tvar textArea = document.createElement(\"textarea\");\n\ttextArea.style.position = \"fixed\";\n\ttextArea.style.top = 0;\n\ttextArea.style.left = 0;\n\ttextArea.style.fontSize = \"12pt\";\n\ttextArea.style.width = \"2em\";\n\ttextArea.style.height = \"2em\";\n\ttextArea.style.padding = 0;\n\ttextArea.style.border = \"none\";\n\ttextArea.style.outline = \"none\";\n\ttextArea.style.boxShadow = \"none\";\n\ttextArea.style.background = \"transparent\";\n\ttextArea.value = text;\n\tdocument.body.appendChild(textArea);\n\ttextArea.select();\n\ttextArea.setSelectionRange(0,text.length);\n\tvar succeeded = false;\n\ttry {\n\t\tsucceeded = document.execCommand(\"copy\");\n\t} catch (err) {\n\t}\n\tif(!options.doNotNotify) {\n\t\t$tw.notifier.display(succeeded ? \"$:/language/Notifications/CopiedToClipboard/Succeeded\" : \"$:/language/Notifications/CopiedToClipboard/Failed\");\n\t}\n\tdocument.body.removeChild(textArea);\n};\n\nexports.getLocationPath = function() {\n\treturn window.location.toString().split(\"#\")[0];\n};\n\n\n})();\n",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/dom/dragndrop.js": {
            "title": "$:/core/modules/utils/dom/dragndrop.js",
            "text": "/*\\\ntitle: $:/core/modules/utils/dom/dragndrop.js\ntype: application/javascript\nmodule-type: utils\n\nBrowser data transfer utilities, used with the clipboard and drag and drop\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nOptions:\n\ndomNode: dom node to make draggable\ndragImageType: \"pill\" or \"dom\"\ndragTiddlerFn: optional function to retrieve the title of tiddler to drag\ndragFilterFn: optional function to retreive the filter defining a list of tiddlers to drag\nwidget: widget to use as the contect for the filter\n*/\nexports.makeDraggable = function(options) {\n\tvar dragImageType = options.dragImageType || \"dom\",\n\t\tdragImage,\n\t\tdomNode = options.domNode;\n\t// Make the dom node draggable (not necessary for anchor tags)\n\tif((domNode.tagName || \"\").toLowerCase() !== \"a\") {\n\t\tdomNode.setAttribute(\"draggable\",\"true\");\t\t\n\t}\n\t// Add event handlers\n\t$tw.utils.addEventListeners(domNode,[\n\t\t{name: \"dragstart\", handlerFunction: function(event) {\n\t\t\tif(event.dataTransfer === undefined) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\t// Collect the tiddlers being dragged\n\t\t\tvar dragTiddler = options.dragTiddlerFn && options.dragTiddlerFn(),\n\t\t\t\tdragFilter = options.dragFilterFn && options.dragFilterFn(),\n\t\t\t\ttitles = dragTiddler ? [dragTiddler] : [],\n\t\t\t    \tstartActions = options.startActions;\n\t\t\tif(dragFilter) {\n\t\t\t\ttitles.push.apply(titles,options.widget.wiki.filterTiddlers(dragFilter,options.widget));\n\t\t\t}\n\t\t\tvar titleString = $tw.utils.stringifyList(titles);\n\t\t\t// Check that we've something to drag\n\t\t\tif(titles.length > 0 && event.target === domNode) {\n\t\t\t\t// Mark the drag in progress\n\t\t\t\t$tw.dragInProgress = domNode;\n\t\t\t\t// Set the dragging class on the element being dragged\n\t\t\t\t$tw.utils.addClass(event.target,\"tc-dragging\");\n\t\t\t\t// Invoke drag-start actions if given\n\t\t\t\tif(startActions !== undefined) {\n\t\t\t\t\toptions.widget.invokeActionString(startActions,options.widget,event,{actionTiddler: titleString});\n\t\t\t\t}\n\t\t\t\t// Create the drag image elements\n\t\t\t\tdragImage = options.widget.document.createElement(\"div\");\n\t\t\t\tdragImage.className = \"tc-tiddler-dragger\";\n\t\t\t\tvar inner = options.widget.document.createElement(\"div\");\n\t\t\t\tinner.className = \"tc-tiddler-dragger-inner\";\n\t\t\t\tinner.appendChild(options.widget.document.createTextNode(\n\t\t\t\t\ttitles.length === 1 ? \n\t\t\t\t\t\ttitles[0] :\n\t\t\t\t\t\ttitles.length + \" tiddlers\"\n\t\t\t\t));\n\t\t\t\tdragImage.appendChild(inner);\n\t\t\t\toptions.widget.document.body.appendChild(dragImage);\n\t\t\t\t// Set the data transfer properties\n\t\t\t\tvar dataTransfer = event.dataTransfer;\n\t\t\t\t// Set up the image\n\t\t\t\tdataTransfer.effectAllowed = \"all\";\n\t\t\t\tif(dataTransfer.setDragImage) {\n\t\t\t\t\tif(dragImageType === \"pill\") {\n\t\t\t\t\t\tdataTransfer.setDragImage(dragImage.firstChild,-16,-16);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar r = domNode.getBoundingClientRect();\n\t\t\t\t\t\tdataTransfer.setDragImage(domNode,event.clientX-r.left,event.clientY-r.top);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// Set up the data transfer\n\t\t\t\tif(dataTransfer.clearData) {\n\t\t\t\t\tdataTransfer.clearData();\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\tvar jsonData = [];\n\t\t\t\tif(titles.length > 1) {\n\t\t\t\t\ttitles.forEach(function(title) {\n\t\t\t\t\t\tjsonData.push(options.widget.wiki.getTiddlerAsJson(title));\n\t\t\t\t\t});\n\t\t\t\t\tjsonData = \"[\" + jsonData.join(\",\") + \"]\";\n\t\t\t\t} else {\n\t\t\t\t\tjsonData = options.widget.wiki.getTiddlerAsJson(titles[0]);\n\t\t\t\t}\n\t\t\t\t// IE doesn't like these content types\n\t\t\t\tif(!$tw.browser.isIE) {\n\t\t\t\t\tdataTransfer.setData(\"text/vnd.tiddler\",jsonData);\n\t\t\t\t\tdataTransfer.setData(\"text/plain\",titleString);\n\t\t\t\t\tdataTransfer.setData(\"text/x-moz-url\",\"data:text/vnd.tiddler,\" + encodeURIComponent(jsonData));\n\t\t\t\t}\n\t\t\t\tdataTransfer.setData(\"URL\",\"data:text/vnd.tiddler,\" + encodeURIComponent(jsonData));\n\t\t\t\tdataTransfer.setData(\"Text\",titleString);\n\t\t\t\tevent.stopPropagation();\n\t\t\t}\n\t\t\treturn false;\n\t\t}},\n\t\t{name: \"dragend\", handlerFunction: function(event) {\n\t\t\tif(event.target === domNode) {\n\t\t\t\t// Collect the tiddlers being dragged\n\t\t\t\tvar dragTiddler = options.dragTiddlerFn && options.dragTiddlerFn(),\n\t\t\t\t\tdragFilter = options.dragFilterFn && options.dragFilterFn(),\n\t\t\t\t\ttitles = dragTiddler ? [dragTiddler] : [],\n\t\t\t    \t\tendActions = options.endActions;\n\t\t\t\tif(dragFilter) {\n\t\t\t\t\ttitles.push.apply(titles,options.widget.wiki.filterTiddlers(dragFilter,options.widget));\n\t\t\t\t}\n\t\t\t\tvar titleString = $tw.utils.stringifyList(titles);\n\t\t\t\t$tw.dragInProgress = null;\n\t\t\t\t// Invoke drag-end actions if given\n\t\t\t\tif(endActions !== undefined) {\n\t\t\t\t\toptions.widget.invokeActionString(endActions,options.widget,event,{actionTiddler: titleString});\n\t\t\t\t}\n\t\t\t\t// Remove the dragging class on the element being dragged\n\t\t\t\t$tw.utils.removeClass(event.target,\"tc-dragging\");\n\t\t\t\t// Delete the drag image element\n\t\t\t\tif(dragImage) {\n\t\t\t\t\tdragImage.parentNode.removeChild(dragImage);\n\t\t\t\t\tdragImage = null;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t}}\n\t]);\n};\n\nexports.importDataTransfer = function(dataTransfer,fallbackTitle,callback) {\n\t// Try each provided data type in turn\n\tif($tw.log.IMPORT) {\n\t\tconsole.log(\"Available data types:\");\n\t\tfor(var type=0; type<dataTransfer.types.length; type++) {\n\t\t\tconsole.log(\"type\",dataTransfer.types[type],dataTransfer.getData(dataTransfer.types[type]))\n\t\t}\n\t}\n\tfor(var t=0; t<importDataTypes.length; t++) {\n\t\tif(!$tw.browser.isIE || importDataTypes[t].IECompatible) {\n\t\t\t// Get the data\n\t\t\tvar dataType = importDataTypes[t];\n\t\t\t\tvar data = dataTransfer.getData(dataType.type);\n\t\t\t// Import the tiddlers in the data\n\t\t\tif(data !== \"\" && data !== null) {\n\t\t\t\tif($tw.log.IMPORT) {\n\t\t\t\t\tconsole.log(\"Importing data type '\" + dataType.type + \"', data: '\" + data + \"'\")\n\t\t\t\t}\n\t\t\t\tvar tiddlerFields = dataType.toTiddlerFieldsArray(data,fallbackTitle);\n\t\t\t\tcallback(tiddlerFields);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar importDataTypes = [\n\t{type: \"text/vnd.tiddler\", IECompatible: false, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\treturn parseJSONTiddlers(data,fallbackTitle);\n\t}},\n\t{type: \"URL\", IECompatible: true, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\t// Check for tiddler data URI\n\t\tvar match = decodeURIComponent(data).match(/^data\\:text\\/vnd\\.tiddler,(.*)/i);\n\t\tif(match) {\n\t\t\treturn parseJSONTiddlers(match[1],fallbackTitle);\n\t\t} else {\n\t\t\treturn [{title: fallbackTitle, text: data}]; // As URL string\n\t\t}\n\t}},\n\t{type: \"text/x-moz-url\", IECompatible: false, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\t// Check for tiddler data URI\n\t\tvar match = decodeURIComponent(data).match(/^data\\:text\\/vnd\\.tiddler,(.*)/i);\n\t\tif(match) {\n\t\t\treturn parseJSONTiddlers(match[1],fallbackTitle);\n\t\t} else {\n\t\t\treturn [{title: fallbackTitle, text: data}]; // As URL string\n\t\t}\n\t}},\n\t{type: \"text/html\", IECompatible: false, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\treturn [{title: fallbackTitle, text: data}];\n\t}},\n\t{type: \"text/plain\", IECompatible: false, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\treturn [{title: fallbackTitle, text: data}];\n\t}},\n\t{type: \"Text\", IECompatible: true, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\treturn [{title: fallbackTitle, text: data}];\n\t}},\n\t{type: \"text/uri-list\", IECompatible: false, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\treturn [{title: fallbackTitle, text: data}];\n\t}}\n];\n\nfunction parseJSONTiddlers(json,fallbackTitle) {\n\tvar data = JSON.parse(json);\n\tif(!$tw.utils.isArray(data)) {\n\t\tdata = [data];\n\t}\n\tdata.forEach(function(fields) {\n\t\tfields.title = fields.title || fallbackTitle;\n\t});\n\treturn data;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/dom/http.js": {
            "title": "$:/core/modules/utils/dom/http.js",
            "text": "/*\\\ntitle: $:/core/modules/utils/dom/http.js\ntype: application/javascript\nmodule-type: utils\n\nBrowser HTTP support\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nA quick and dirty HTTP function; to be refactored later. Options are:\n\turl: URL to retrieve\n\theaders: hashmap of headers to send\n\ttype: GET, PUT, POST etc\n\tcallback: function invoked with (err,data,xhr)\n\treturnProp: string name of the property to return as first argument of callback\n*/\nexports.httpRequest = function(options) {\n\tvar type = options.type || \"GET\",\n\t\theaders = options.headers || {accept: \"application/json\"},\n\t\treturnProp = options.returnProp || \"responseText\",\n\t\trequest = new XMLHttpRequest(),\n\t\tdata = \"\",\n\t\tf,results;\n\t// Massage the data hashmap into a string\n\tif(options.data) {\n\t\tif(typeof options.data === \"string\") { // Already a string\n\t\t\tdata = options.data;\n\t\t} else { // A hashmap of strings\n\t\t\tresults = [];\n\t\t\t$tw.utils.each(options.data,function(dataItem,dataItemTitle) {\n\t\t\t\tresults.push(dataItemTitle + \"=\" + encodeURIComponent(dataItem));\n\t\t\t});\n\t\t\tdata = results.join(\"&\");\n\t\t}\n\t}\n\t// Set up the state change handler\n\trequest.onreadystatechange = function() {\n\t\tif(this.readyState === 4) {\n\t\t\tif(this.status === 200 || this.status === 201 || this.status === 204) {\n\t\t\t\t// Success!\n\t\t\t\toptions.callback(null,this[returnProp],this);\n\t\t\t\treturn;\n\t\t\t}\n\t\t// Something went wrong\n\t\toptions.callback($tw.language.getString(\"Error/XMLHttpRequest\") + \": \" + this.status,null,this);\n\t\t}\n\t};\n\t// Make the request\n\trequest.open(type,options.url,true);\n\tif(headers) {\n\t\t$tw.utils.each(headers,function(header,headerTitle,object) {\n\t\t\trequest.setRequestHeader(headerTitle,header);\n\t\t});\n\t}\n\tif(data && !$tw.utils.hop(headers,\"Content-type\")) {\n\t\trequest.setRequestHeader(\"Content-type\",\"application/x-www-form-urlencoded; charset=UTF-8\");\n\t}\n\tif(!$tw.utils.hop(headers,\"X-Requested-With\")) {\n\t\trequest.setRequestHeader(\"X-Requested-With\",\"TiddlyWiki\");\n\t}\n\ttry {\n\t\trequest.send(data);\n\t} catch(e) {\n\t\toptions.callback(e,null,this);\n\t}\n\treturn request;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/dom/keyboard.js": {
            "title": "$:/core/modules/utils/dom/keyboard.js",
            "text": "/*\\\ntitle: $:/core/modules/utils/dom/keyboard.js\ntype: application/javascript\nmodule-type: utils\n\nKeyboard utilities; now deprecated. Instead, use $tw.keyboardManager\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n[\"parseKeyDescriptor\",\"checkKeyDescriptor\"].forEach(function(method) {\n\texports[method] = function() {\n\t\tif($tw.keyboardManager) {\n\t\t\treturn $tw.keyboardManager[method].apply($tw.keyboardManager,Array.prototype.slice.call(arguments,0));\n\t\t} else {\n\t\t\treturn null\n\t\t}\n\t};\n});\n\n})();\n",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/dom/modal.js": {
            "title": "$:/core/modules/utils/dom/modal.js",
            "text": "/*\\\ntitle: $:/core/modules/utils/dom/modal.js\ntype: application/javascript\nmodule-type: utils\n\nModal message mechanism\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nvar Modal = function(wiki) {\n\tthis.wiki = wiki;\n\tthis.modalCount = 0;\n};\n\n/*\nDisplay a modal dialogue\n\ttitle: Title of tiddler to display\n\toptions: see below\nOptions include:\n\tdownloadLink: Text of a big download link to include\n*/\nModal.prototype.display = function(title,options) {\n\toptions = options || {};\n\tthis.srcDocument = options.variables && (options.variables.rootwindow === \"true\" ||\n\t\t\t\toptions.variables.rootwindow === \"yes\") ? document :\n\t\t\t\t(options.event.event && options.event.event.target ? options.event.event.target.ownerDocument : document);\n\tthis.srcWindow = this.srcDocument.defaultView;\n\tvar self = this,\n\t\trefreshHandler,\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t\ttiddler = this.wiki.getTiddler(title);\n\t// Don't do anything if the tiddler doesn't exist\n\tif(!tiddler) {\n\t\treturn;\n\t}\n\t// Create the variables\n\tvar variables = $tw.utils.extend({currentTiddler: title},options.variables);\n\t// Create the wrapper divs\n\tvar wrapper = this.srcDocument.createElement(\"div\"),\n\t\tmodalBackdrop = this.srcDocument.createElement(\"div\"),\n\t\tmodalWrapper = this.srcDocument.createElement(\"div\"),\n\t\tmodalHeader = this.srcDocument.createElement(\"div\"),\n\t\theaderTitle = this.srcDocument.createElement(\"h3\"),\n\t\tmodalBody = this.srcDocument.createElement(\"div\"),\n\t\tmodalLink = this.srcDocument.createElement(\"a\"),\n\t\tmodalFooter = this.srcDocument.createElement(\"div\"),\n\t\tmodalFooterHelp = this.srcDocument.createElement(\"span\"),\n\t\tmodalFooterButtons = this.srcDocument.createElement(\"span\");\n\t// Up the modal count and adjust the body class\n\tthis.modalCount++;\n\tthis.adjustPageClass();\n\t// Add classes\n\t$tw.utils.addClass(wrapper,\"tc-modal-wrapper\");\n\t$tw.utils.addClass(modalBackdrop,\"tc-modal-backdrop\");\n\t$tw.utils.addClass(modalWrapper,\"tc-modal\");\n\t$tw.utils.addClass(modalHeader,\"tc-modal-header\");\n\t$tw.utils.addClass(modalBody,\"tc-modal-body\");\n\t$tw.utils.addClass(modalFooter,\"tc-modal-footer\");\n\t// Join them together\n\twrapper.appendChild(modalBackdrop);\n\twrapper.appendChild(modalWrapper);\n\tmodalHeader.appendChild(headerTitle);\n\tmodalWrapper.appendChild(modalHeader);\n\tmodalWrapper.appendChild(modalBody);\n\tmodalFooter.appendChild(modalFooterHelp);\n\tmodalFooter.appendChild(modalFooterButtons);\n\tmodalWrapper.appendChild(modalFooter);\n\t// Render the title of the message\n\tvar headerWidgetNode = this.wiki.makeTranscludeWidget(title,{\n\t\tfield: \"subtitle\",\n\t\tmode: \"inline\",\n\t\tchildren: [{\n\t\t\ttype: \"text\",\n\t\t\tattributes: {\n\t\t\t\ttext: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tvalue: title\n\t\t}}}],\n\t\tparentWidget: $tw.rootWidget,\n\t\tdocument: this.srcDocument,\n\t\tvariables: variables,\n\t\timportPageMacros: true\n\t});\n\theaderWidgetNode.render(headerTitle,null);\n\t// Render the body of the message\n\tvar bodyWidgetNode = this.wiki.makeTranscludeWidget(title,{\n\t\tparentWidget: $tw.rootWidget,\n\t\tdocument: this.srcDocument,\n\t\tvariables: variables,\n\t\timportPageMacros: true\n\t});\n\tbodyWidgetNode.render(modalBody,null);\n\t// Setup the link if present\n\tif(options.downloadLink) {\n\t\tmodalLink.href = options.downloadLink;\n\t\tmodalLink.appendChild(this.srcDocument.createTextNode(\"Right-click to save changes\"));\n\t\tmodalBody.appendChild(modalLink);\n\t}\n\t// Render the footer of the message\n\tif(tiddler && tiddler.fields && tiddler.fields.help) {\n\t\tvar link = this.srcDocument.createElement(\"a\");\n\t\tlink.setAttribute(\"href\",tiddler.fields.help);\n\t\tlink.setAttribute(\"target\",\"_blank\");\n\t\tlink.setAttribute(\"rel\",\"noopener noreferrer\");\n\t\tlink.appendChild(this.srcDocument.createTextNode(\"Help\"));\n\t\tmodalFooterHelp.appendChild(link);\n\t\tmodalFooterHelp.style.float = \"left\";\n\t}\n\tvar footerWidgetNode = this.wiki.makeTranscludeWidget(title,{\n\t\tfield: \"footer\",\n\t\tmode: \"inline\",\n\t\tchildren: [{\n\t\t\ttype: \"button\",\n\t\t\tattributes: {\n\t\t\t\tmessage: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tvalue: \"tm-close-tiddler\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\",\n\t\t\t\tattributes: {\n\t\t\t\t\ttext: {\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tvalue: $tw.language.getString(\"Buttons/Close/Caption\")\n\t\t\t}}}\n\t\t]}],\n\t\tparentWidget: $tw.rootWidget,\n\t\tdocument: this.srcDocument,\n\t\tvariables: variables,\n\t\timportPageMacros: true\n\t});\n\tfooterWidgetNode.render(modalFooterButtons,null);\n\t// Set up the refresh handler\n\trefreshHandler = function(changes) {\n\t\theaderWidgetNode.refresh(changes,modalHeader,null);\n\t\tbodyWidgetNode.refresh(changes,modalBody,null);\n\t\tfooterWidgetNode.refresh(changes,modalFooterButtons,null);\n\t};\n\tthis.wiki.addEventListener(\"change\",refreshHandler);\n\t// Add the close event handler\n\tvar closeHandler = function(event) {\n\t\t// Remove our refresh handler\n\t\tself.wiki.removeEventListener(\"change\",refreshHandler);\n\t\t// Decrease the modal count and adjust the body class\n\t\tself.modalCount--;\n\t\tself.adjustPageClass();\n\t\t// Force layout and animate the modal message away\n\t\t$tw.utils.forceLayout(modalBackdrop);\n\t\t$tw.utils.forceLayout(modalWrapper);\n\t\t$tw.utils.setStyle(modalBackdrop,[\n\t\t\t{opacity: \"0\"}\n\t\t]);\n\t\t$tw.utils.setStyle(modalWrapper,[\n\t\t\t{transform: \"translateY(\" + self.srcWindow.innerHeight + \"px)\"}\n\t\t]);\n\t\t// Set up an event for the transition end\n\t\tself.srcWindow.setTimeout(function() {\n\t\t\tif(wrapper.parentNode) {\n\t\t\t\t// Remove the modal message from the DOM\n\t\t\t\tself.srcDocument.body.removeChild(wrapper);\n\t\t\t}\n\t\t},duration);\n\t\t// Don't let anyone else handle the tm-close-tiddler message\n\t\treturn false;\n\t};\n\theaderWidgetNode.addEventListener(\"tm-close-tiddler\",closeHandler,false);\n\tbodyWidgetNode.addEventListener(\"tm-close-tiddler\",closeHandler,false);\n\tfooterWidgetNode.addEventListener(\"tm-close-tiddler\",closeHandler,false);\n\t// Set the initial styles for the message\n\t$tw.utils.setStyle(modalBackdrop,[\n\t\t{opacity: \"0\"}\n\t]);\n\t$tw.utils.setStyle(modalWrapper,[\n\t\t{transformOrigin: \"0% 0%\"},\n\t\t{transform: \"translateY(\" + (-this.srcWindow.innerHeight) + \"px)\"}\n\t]);\n\t// Put the message into the document\n\tthis.srcDocument.body.appendChild(wrapper);\n\t// Set up animation for the styles\n\t$tw.utils.setStyle(modalBackdrop,[\n\t\t{transition: \"opacity \" + duration + \"ms ease-out\"}\n\t]);\n\t$tw.utils.setStyle(modalWrapper,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in-out\"}\n\t]);\n\t// Force layout\n\t$tw.utils.forceLayout(modalBackdrop);\n\t$tw.utils.forceLayout(modalWrapper);\n\t// Set final animated styles\n\t$tw.utils.setStyle(modalBackdrop,[\n\t\t{opacity: \"0.7\"}\n\t]);\n\t$tw.utils.setStyle(modalWrapper,[\n\t\t{transform: \"translateY(0px)\"}\n\t]);\n};\n\nModal.prototype.adjustPageClass = function() {\n\tvar windowContainer = $tw.pageContainer ? ($tw.pageContainer === this.srcDocument.body.firstChild ? $tw.pageContainer : this.srcDocument.body.firstChild) : null;\n\tif(windowContainer) {\n\t\t$tw.utils.toggleClass(windowContainer,\"tc-modal-displayed\",this.modalCount > 0);\n\t}\n};\n\nexports.Modal = Modal;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/dom/notifier.js": {
            "title": "$:/core/modules/utils/dom/notifier.js",
            "text": "/*\\\ntitle: $:/core/modules/utils/dom/notifier.js\ntype: application/javascript\nmodule-type: utils\n\nNotifier mechanism\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nvar Notifier = function(wiki) {\n\tthis.wiki = wiki;\n};\n\n/*\nDisplay a notification\n\ttitle: Title of tiddler containing the notification text\n\toptions: see below\nOptions include:\n*/\nNotifier.prototype.display = function(title,options) {\n\toptions = options || {};\n\t// Create the wrapper divs\n\tvar self = this,\n\t\tnotification = document.createElement(\"div\"),\n\t\ttiddler = this.wiki.getTiddler(title),\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t\trefreshHandler;\n\t// Don't do anything if the tiddler doesn't exist\n\tif(!tiddler) {\n\t\treturn;\n\t}\n\t// Add classes\n\t$tw.utils.addClass(notification,\"tc-notification\");\n\t// Create the variables\n\tvar variables = $tw.utils.extend({currentTiddler: title},options.variables);\n\t// Render the body of the notification\n\tvar widgetNode = this.wiki.makeTranscludeWidget(title,{\n\t\tparentWidget: $tw.rootWidget,\n\t\tdocument: document,\n\t\tvariables: variables,\n\t\timportPageMacros: true});\n\twidgetNode.render(notification,null);\n\trefreshHandler = function(changes) {\n\t\twidgetNode.refresh(changes,notification,null);\n\t};\n\tthis.wiki.addEventListener(\"change\",refreshHandler);\n\t// Set the initial styles for the notification\n\t$tw.utils.setStyle(notification,[\n\t\t{opacity: \"0\"},\n\t\t{transformOrigin: \"0% 0%\"},\n\t\t{transform: \"translateY(\" + (-window.innerHeight) + \"px)\"},\n\t\t{transition: \"opacity \" + duration + \"ms ease-out, \" + $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in-out\"}\n\t]);\n\t// Add the notification to the DOM\n\tdocument.body.appendChild(notification);\n\t// Force layout\n\t$tw.utils.forceLayout(notification);\n\t// Set final animated styles\n\t$tw.utils.setStyle(notification,[\n\t\t{opacity: \"1.0\"},\n\t\t{transform: \"translateY(0px)\"}\n\t]);\n\t// Set a timer to remove the notification\n\twindow.setTimeout(function() {\n\t\t// Remove our change event handler\n\t\tself.wiki.removeEventListener(\"change\",refreshHandler);\n\t\t// Force layout and animate the notification away\n\t\t$tw.utils.forceLayout(notification);\n\t\t$tw.utils.setStyle(notification,[\n\t\t\t{opacity: \"0.0\"},\n\t\t\t{transform: \"translateX(\" + (notification.offsetWidth) + \"px)\"}\n\t\t]);\n\t\t// Remove the modal message from the DOM once the transition ends\n\t\tsetTimeout(function() {\n\t\t\tif(notification.parentNode) {\n\t\t\t\tdocument.body.removeChild(notification);\n\t\t\t}\n\t\t},duration);\n\t},$tw.config.preferences.notificationDuration);\n};\n\nexports.Notifier = Notifier;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/dom/popup.js": {
            "title": "$:/core/modules/utils/dom/popup.js",
            "text": "/*\\\ntitle: $:/core/modules/utils/dom/popup.js\ntype: application/javascript\nmodule-type: utils\n\nModule that creates a $tw.utils.Popup object prototype that manages popups in the browser\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nCreates a Popup object with these options:\n\trootElement: the DOM element to which the popup zapper should be attached\n*/\nvar Popup = function(options) {\n\toptions = options || {};\n\tthis.rootElement = options.rootElement || document.documentElement;\n\tthis.popups = []; // Array of {title:,wiki:,domNode:} objects\n};\n\n/*\nTrigger a popup open or closed. Parameters are in a hashmap:\n\ttitle: title of the tiddler where the popup details are stored\n\tdomNode: dom node to which the popup will be positioned (one of domNode or domNodeRect is required)\n\tdomNodeRect: rectangle to which the popup will be positioned\n\twiki: wiki\n\tforce: if specified, forces the popup state to true or false (instead of toggling it)\n\tfloating: if true, skips registering the popup, meaning that it will need manually clearing\n*/\nPopup.prototype.triggerPopup = function(options) {\n\t// Check if this popup is already active\n\tvar index = this.findPopup(options.title);\n\t// Compute the new state\n\tvar state = index === -1;\n\tif(options.force !== undefined) {\n\t\tstate = options.force;\n\t}\n\t// Show or cancel the popup according to the new state\n\tif(state) {\n\t\tthis.show(options);\n\t} else {\n\t\tthis.cancel(index);\n\t}\n};\n\nPopup.prototype.findPopup = function(title) {\n\tvar index = -1;\n\tfor(var t=0; t<this.popups.length; t++) {\n\t\tif(this.popups[t].title === title) {\n\t\t\tindex = t;\n\t\t}\n\t}\n\treturn index;\n};\n\nPopup.prototype.handleEvent = function(event) {\n\tif(event.type === \"click\") {\n\t\t// Find out what was clicked on\n\t\tvar info = this.popupInfo(event.target),\n\t\t\tcancelLevel = info.popupLevel - 1;\n\t\t// Don't remove the level that was clicked on if we clicked on a handle\n\t\tif(info.isHandle) {\n\t\t\tcancelLevel++;\n\t\t}\n\t\t// Cancel\n\t\tthis.cancel(cancelLevel);\n\t}\n};\n\n/*\nFind the popup level containing a DOM node. Returns:\npopupLevel: count of the number of nested popups containing the specified element\nisHandle: true if the specified element is within a popup handle\n*/\nPopup.prototype.popupInfo = function(domNode) {\n\tvar isHandle = false,\n\t\tpopupCount = 0,\n\t\tnode = domNode;\n\t// First check ancestors to see if we're within a popup handle\n\twhile(node) {\n\t\tif($tw.utils.hasClass(node,\"tc-popup-handle\")) {\n\t\t\tisHandle = true;\n\t\t\tpopupCount++;\n\t\t}\n\t\tif($tw.utils.hasClass(node,\"tc-popup-keep\")) {\n\t\t\tisHandle = true;\n\t\t}\n\t\tnode = node.parentNode;\n\t}\n\t// Then count the number of ancestor popups\n\tnode = domNode;\n\twhile(node) {\n\t\tif($tw.utils.hasClass(node,\"tc-popup\")) {\n\t\t\tpopupCount++;\n\t\t}\n\t\tnode = node.parentNode;\n\t}\n\tvar info = {\n\t\tpopupLevel: popupCount,\n\t\tisHandle: isHandle\n\t};\n\treturn info;\n};\n\n/*\nDisplay a popup by adding it to the stack\n*/\nPopup.prototype.show = function(options) {\n\t// Find out what was clicked on\n\tvar info = this.popupInfo(options.domNode);\n\t// Cancel any higher level popups\n\tthis.cancel(info.popupLevel);\n\n\t// Store the popup details if not already there\n\tif(!options.floating && this.findPopup(options.title) === -1) {\n\t\tthis.popups.push({\n\t\t\ttitle: options.title,\n\t\t\twiki: options.wiki,\n\t\t\tdomNode: options.domNode,\n\t\t\tnoStateReference: options.noStateReference\n\t\t});\n\t}\n\t// Set the state tiddler\n\tvar rect;\n\tif(options.domNodeRect) {\n\t\trect = options.domNodeRect;\n\t} else {\n\t\trect = {\n\t\t\tleft: options.domNode.offsetLeft,\n\t\t\ttop: options.domNode.offsetTop,\n\t\t\twidth: options.domNode.offsetWidth,\n\t\t\theight: options.domNode.offsetHeight\n\t\t};\n\t}\n\tvar popupRect = \"(\" + rect.left + \",\" + rect.top + \",\" + \n\t\t\t\trect.width + \",\" + rect.height + \")\";\n\tif(options.noStateReference) {\n\t\toptions.wiki.setText(options.title,\"text\",undefined,popupRect);\n\t} else {\n\t\toptions.wiki.setTextReference(options.title,popupRect);\n\t}\n\t// Add the click handler if we have any popups\n\tif(this.popups.length > 0) {\n\t\tthis.rootElement.addEventListener(\"click\",this,true);\t\t\n\t}\n};\n\n/*\nDetect if a Popup contains an input field that has focus\nReturns true or false\n*/\nPopup.prototype.detectInputWithinPopup = function(node) {\n\tvar withinPopup = false,\n\t    currNode = node;\n\tfor(var i=0; i<this.popups.length; i++) {\n\t\tvar popup = (this.popups[i] && this.popups[i].domNode) ? this.popups[i].domNode : null;\n\t\twhile(node && popup) {\n\t\t\tif(node === popup || (node.classList && (node.classList.contains(\"tc-popup-keep\") || (node !== currNode && node.classList.contains(\"tc-popup-handle\"))))) {\n\t\t\t\twithinPopup = true;\n\t\t\t}\n\t\t\tnode = node.parentNode;\n\t\t}\n\t}\n\treturn withinPopup;\n};\n\n/*\nCancel all popups at or above a specified level or DOM node\nlevel: popup level to cancel (0 cancels all popups)\n*/\nPopup.prototype.cancel = function(level,focusedInputNode) {\n\tvar numPopups = this.popups.length;\n\tlevel = Math.max(0,Math.min(level,numPopups));\n\tfor(var t=level; t<numPopups; t++) {\n\t\tvar inputWithinPopup;\n\t\tif(focusedInputNode) {\n\t\t\tinputWithinPopup = this.detectInputWithinPopup(focusedInputNode);\n\t\t}\n\t\tif(!inputWithinPopup) {\n\t\t\tvar popup = this.popups.pop();\n\t\t  \tif(popup.title) {\n\t\t\t\tif(popup.noStateReference) {\n\t\t\t\t\tpopup.wiki.deleteTiddler(popup.title);\n\t\t\t\t} else {\n\t\t\t\t\tpopup.wiki.deleteTiddler($tw.utils.parseTextReference(popup.title).title);\n        \t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tif(this.popups.length === 0) {\n\t\tthis.rootElement.removeEventListener(\"click\",this,false);\n\t}\n};\n\n/*\nReturns true if the specified title and text identifies an active popup\n*/\nPopup.prototype.readPopupState = function(text) {\n\tvar popupLocationRegExp = /^\\((-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+)\\)$/;\n\treturn popupLocationRegExp.test(text);\n};\n\nexports.Popup = Popup;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/dom/scroller.js": {
            "title": "$:/core/modules/utils/dom/scroller.js",
            "text": "/*\\\ntitle: $:/core/modules/utils/dom/scroller.js\ntype: application/javascript\nmodule-type: utils\n\nModule that creates a $tw.utils.Scroller object prototype that manages scrolling in the browser\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nEvent handler for when the `tm-scroll` event hits the document body\n*/\nvar PageScroller = function() {\n\tthis.idRequestFrame = null;\n\tthis.requestAnimationFrame = window.requestAnimationFrame ||\n\t\twindow.webkitRequestAnimationFrame ||\n\t\twindow.mozRequestAnimationFrame ||\n\t\tfunction(callback) {\n\t\t\treturn window.setTimeout(callback, 1000/60);\n\t\t};\n\tthis.cancelAnimationFrame = window.cancelAnimationFrame ||\n\t\twindow.webkitCancelAnimationFrame ||\n\t\twindow.webkitCancelRequestAnimationFrame ||\n\t\twindow.mozCancelAnimationFrame ||\n\t\twindow.mozCancelRequestAnimationFrame ||\n\t\tfunction(id) {\n\t\t\twindow.clearTimeout(id);\n\t\t};\n};\n\nPageScroller.prototype.isScrolling = function() {\n\treturn this.idRequestFrame !== null;\n}\n\nPageScroller.prototype.cancelScroll = function(srcWindow) {\n\tif(this.idRequestFrame) {\n\t\tthis.cancelAnimationFrame.call(srcWindow,this.idRequestFrame);\n\t\tthis.idRequestFrame = null;\n\t}\n};\n\n/*\nHandle an event\n*/\nPageScroller.prototype.handleEvent = function(event) {\n\tif(event.type === \"tm-scroll\") {\n\t\treturn this.scrollIntoView(event.target);\n\t}\n\treturn true;\n};\n\n/*\nHandle a scroll event hitting the page document\n*/\nPageScroller.prototype.scrollIntoView = function(element,callback) {\n\tvar self = this,\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t    srcWindow = element ? element.ownerDocument.defaultView : window;\n\t// Now get ready to scroll the body\n\tthis.cancelScroll(srcWindow);\n\tthis.startTime = Date.now();\n\t// Get the height of any position:fixed toolbars\n\tvar toolbar = srcWindow.document.querySelector(\".tc-adjust-top-of-scroll\"),\n\t\toffset = 0;\n\tif(toolbar) {\n\t\toffset = toolbar.offsetHeight;\n\t}\n\t// Get the client bounds of the element and adjust by the scroll position\n\tvar getBounds = function() {\n\t\t\tvar clientBounds = typeof callback === 'function' ? callback() : element.getBoundingClientRect(),\n\t\t\t\tscrollPosition = $tw.utils.getScrollPosition(srcWindow);\n\t\t\treturn {\n\t\t\t\tleft: clientBounds.left + scrollPosition.x,\n\t\t\t\ttop: clientBounds.top + scrollPosition.y - offset,\n\t\t\t\twidth: clientBounds.width,\n\t\t\t\theight: clientBounds.height\n\t\t\t};\n\t\t},\n\t\t// We'll consider the horizontal and vertical scroll directions separately via this function\n\t\t// targetPos/targetSize - position and size of the target element\n\t\t// currentPos/currentSize - position and size of the current scroll viewport\n\t\t// returns: new position of the scroll viewport\n\t\tgetEndPos = function(targetPos,targetSize,currentPos,currentSize) {\n\t\t\tvar newPos = targetPos;\n\t\t\t// If we are scrolling within 50 pixels of the top/left then snap to zero\n\t\t\tif(newPos < 50) {\n\t\t\t\tnewPos = 0;\n\t\t\t}\n\t\t\treturn newPos;\n\t\t},\n\t\tdrawFrame = function drawFrame() {\n\t\t\tvar t;\n\t\t\tif(duration <= 0) {\n\t\t\t\tt = 1;\n\t\t\t} else {\n\t\t\t\tt = ((Date.now()) - self.startTime) / duration;\t\n\t\t\t}\n\t\t\tif(t >= 1) {\n\t\t\t\tself.cancelScroll(srcWindow);\n\t\t\t\tt = 1;\n\t\t\t}\n\t\t\tt = $tw.utils.slowInSlowOut(t);\n\t\t\tvar scrollPosition = $tw.utils.getScrollPosition(srcWindow),\n\t\t\t\tbounds = getBounds(),\n\t\t\t\tendX = getEndPos(bounds.left,bounds.width,scrollPosition.x,srcWindow.innerWidth),\n\t\t\t\tendY = getEndPos(bounds.top,bounds.height,scrollPosition.y,srcWindow.innerHeight);\n\t\t\tsrcWindow.scrollTo(scrollPosition.x + (endX - scrollPosition.x) * t,scrollPosition.y + (endY - scrollPosition.y) * t);\n\t\t\tif(t < 1) {\n\t\t\t\tself.idRequestFrame = self.requestAnimationFrame.call(srcWindow,drawFrame);\n\t\t\t}\n\t\t};\n\tdrawFrame();\n};\n\nexports.PageScroller = PageScroller;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/edition-info.js": {
            "title": "$:/core/modules/utils/edition-info.js",
            "text": "/*\\\ntitle: $:/core/modules/utils/edition-info.js\ntype: application/javascript\nmodule-type: utils-node\n\nInformation about the available editions\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar fs = require(\"fs\"),\n\tpath = require(\"path\");\n\nvar editionInfo;\n\nexports.getEditionInfo = function() {\n\tif(!editionInfo) {\n\t\t// Enumerate the edition paths\n\t\tvar editionPaths = $tw.getLibraryItemSearchPaths($tw.config.editionsPath,$tw.config.editionsEnvVar);\n\t\teditionInfo = {};\n\t\tfor(var editionIndex=0; editionIndex<editionPaths.length; editionIndex++) {\n\t\t\tvar editionPath = editionPaths[editionIndex];\n\t\t\t// Enumerate the folders\n\t\t\tvar entries = fs.readdirSync(editionPath);\n\t\t\tfor(var entryIndex=0; entryIndex<entries.length; entryIndex++) {\n\t\t\t\tvar entry = entries[entryIndex];\n\t\t\t\t// Check if directories have a valid tiddlywiki.info\n\t\t\t\tif(!editionInfo[entry] && $tw.utils.isDirectory(path.resolve(editionPath,entry))) {\n\t\t\t\t\tvar info;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tinfo = JSON.parse(fs.readFileSync(path.resolve(editionPath,entry,\"tiddlywiki.info\"),\"utf8\"));\n\t\t\t\t\t} catch(ex) {\n\t\t\t\t\t}\n\t\t\t\t\tif(info) {\n\t\t\t\t\t\teditionInfo[entry] = info;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn editionInfo;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "utils-node"
        },
        "$:/core/modules/utils/fakedom.js": {
            "title": "$:/core/modules/utils/fakedom.js",
            "text": "/*\\\ntitle: $:/core/modules/utils/fakedom.js\ntype: application/javascript\nmodule-type: global\n\nA barebones implementation of DOM interfaces needed by the rendering mechanism.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Sequence number used to enable us to track objects for testing\nvar sequenceNumber = null;\n\nvar bumpSequenceNumber = function(object) {\n\tif(sequenceNumber !== null) {\n\t\tobject.sequenceNumber = sequenceNumber++;\n\t}\n};\n\nvar TW_TextNode = function(text) {\n\tbumpSequenceNumber(this);\n\tthis.textContent = text + \"\";\n};\n\nObject.defineProperty(TW_TextNode.prototype, \"nodeType\", {\n\tget: function() {\n\t\treturn 3;\n\t}\n});\n\nObject.defineProperty(TW_TextNode.prototype, \"formattedTextContent\", {\n\tget: function() {\n\t\treturn this.textContent.replace(/(\\r?\\n)/g,\"\");\n\t}\n});\n\nvar TW_Element = function(tag,namespace) {\n\tbumpSequenceNumber(this);\n\tthis.isTiddlyWikiFakeDom = true;\n\tthis.tag = tag;\n\tthis.attributes = {};\n\tthis.isRaw = false;\n\tthis.children = [];\n\tthis._style = {};\n\tthis.namespaceURI = namespace || \"http://www.w3.org/1999/xhtml\";\n};\n\nObject.defineProperty(TW_Element.prototype, \"style\", {\n\tget: function() {\n\t\treturn this._style;\n\t},\n\tset: function(str) {\n\t\tvar self = this;\n\t\tstr = str || \"\";\n\t\t$tw.utils.each(str.split(\";\"),function(declaration) {\n\t\t\tvar parts = declaration.split(\":\"),\n\t\t\t\tname = $tw.utils.trim(parts[0]),\n\t\t\t\tvalue = $tw.utils.trim(parts[1]);\n\t\t\tif(name && value) {\n\t\t\t\tself._style[$tw.utils.convertStyleNameToPropertyName(name)] = value;\n\t\t\t}\n\t\t});\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"nodeType\", {\n\tget: function() {\n\t\treturn 1;\n\t}\n});\n\nTW_Element.prototype.getAttribute = function(name) {\n\tif(this.isRaw) {\n\t\tthrow \"Cannot getAttribute on a raw TW_Element\";\n\t}\n\treturn this.attributes[name];\n};\n\nTW_Element.prototype.setAttribute = function(name,value) {\n\tif(this.isRaw) {\n\t\tthrow \"Cannot setAttribute on a raw TW_Element\";\n\t}\n\tthis.attributes[name] = value + \"\";\n};\n\nTW_Element.prototype.setAttributeNS = function(namespace,name,value) {\n\tthis.setAttribute(name,value);\n};\n\nTW_Element.prototype.removeAttribute = function(name) {\n\tif(this.isRaw) {\n\t\tthrow \"Cannot removeAttribute on a raw TW_Element\";\n\t}\n\tif($tw.utils.hop(this.attributes,name)) {\n\t\tdelete this.attributes[name];\n\t}\n};\n\nTW_Element.prototype.appendChild = function(node) {\n\tthis.children.push(node);\n\tnode.parentNode = this;\n};\n\nTW_Element.prototype.insertBefore = function(node,nextSibling) {\n\tif(nextSibling) {\n\t\tvar p = this.children.indexOf(nextSibling);\n\t\tif(p !== -1) {\n\t\t\tthis.children.splice(p,0,node);\n\t\t\tnode.parentNode = this;\n\t\t} else {\n\t\t\tthis.appendChild(node);\n\t\t}\n\t} else {\n\t\tthis.appendChild(node);\n\t}\n};\n\nTW_Element.prototype.removeChild = function(node) {\n\tvar p = this.children.indexOf(node);\n\tif(p !== -1) {\n\t\tthis.children.splice(p,1);\n\t}\n};\n\nTW_Element.prototype.hasChildNodes = function() {\n\treturn !!this.children.length;\n};\n\nObject.defineProperty(TW_Element.prototype, \"childNodes\", {\n\tget: function() {\n\t\treturn this.children;\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"firstChild\", {\n\tget: function() {\n\t\treturn this.children[0];\n\t}\n});\n\nTW_Element.prototype.addEventListener = function(type,listener,useCapture) {\n\t// Do nothing\n};\n\nObject.defineProperty(TW_Element.prototype, \"tagName\", {\n\tget: function() {\n\t\treturn this.tag || \"\";\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"className\", {\n\tget: function() {\n\t\treturn this.attributes[\"class\"] || \"\";\n\t},\n\tset: function(value) {\n\t\tthis.attributes[\"class\"] = value + \"\";\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"value\", {\n\tget: function() {\n\t\treturn this.attributes.value || \"\";\n\t},\n\tset: function(value) {\n\t\tthis.attributes.value = value + \"\";\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"outerHTML\", {\n\tget: function() {\n\t\tvar output = [],attr,a,v;\n\t\toutput.push(\"<\",this.tag);\n\t\tif(this.attributes) {\n\t\t\tattr = [];\n\t\t\tfor(a in this.attributes) {\n\t\t\t\tattr.push(a);\n\t\t\t}\n\t\t\tattr.sort();\n\t\t\tfor(a=0; a<attr.length; a++) {\n\t\t\t\tv = this.attributes[attr[a]];\n\t\t\t\tif(v !== undefined) {\n\t\t\t\t\toutput.push(\" \",attr[a],\"=\\\"\",$tw.utils.htmlEncode(v),\"\\\"\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif(this._style) {\n\t\t\tvar style = [];\n\t\t\tfor(var s in this._style) {\n\t\t\t\tstyle.push($tw.utils.convertPropertyNameToStyleName(s) + \":\" + this._style[s] + \";\");\n\t\t\t}\n\t\t\tif(style.length > 0) {\n\t\t\t\toutput.push(\" style=\\\"\",style.join(\"\"),\"\\\"\");\n\t\t\t}\n\t\t}\n\t\toutput.push(\">\");\n\t\tif($tw.config.htmlVoidElements.indexOf(this.tag) === -1) {\n\t\t\toutput.push(this.innerHTML);\n\t\t\toutput.push(\"</\",this.tag,\">\");\n\t\t}\n\t\treturn output.join(\"\");\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"innerHTML\", {\n\tget: function() {\n\t\tif(this.isRaw) {\n\t\t\treturn this.rawHTML;\n\t\t} else {\n\t\t\tvar b = [];\n\t\t\t$tw.utils.each(this.children,function(node) {\n\t\t\t\tif(node instanceof TW_Element) {\n\t\t\t\t\tb.push(node.outerHTML);\n\t\t\t\t} else if(node instanceof TW_TextNode) {\n\t\t\t\t\tb.push($tw.utils.htmlEncode(node.textContent));\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn b.join(\"\");\n\t\t}\n\t},\n\tset: function(value) {\n\t\tthis.isRaw = true;\n\t\tthis.rawHTML = value;\n\t\tthis.rawTextContent = null;\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"textInnerHTML\", {\n\tset: function(value) {\n\t\tif(this.isRaw) {\n\t\t\tthis.rawTextContent = value;\n\t\t} else {\n\t\t\tthrow \"Cannot set textInnerHTML of a non-raw TW_Element\";\n\t\t}\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"textContent\", {\n\tget: function() {\n\t\tif(this.isRaw) {\n\t\t\tif(this.rawTextContent === null) {\n\t\t\t\treturn \"\";\n\t\t\t} else {\n\t\t\t\treturn this.rawTextContent;\n\t\t\t}\n\t\t} else {\n\t\t\tvar b = [];\n\t\t\t$tw.utils.each(this.children,function(node) {\n\t\t\t\tb.push(node.textContent);\n\t\t\t});\n\t\t\treturn b.join(\"\");\n\t\t}\n\t},\n\tset: function(value) {\n\t\tthis.children = [new TW_TextNode(value)];\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"formattedTextContent\", {\n\tget: function() {\n\t\tif(this.isRaw) {\n\t\t\treturn \"\";\n\t\t} else {\n\t\t\tvar b = [],\n\t\t\t\tisBlock = $tw.config.htmlBlockElements.indexOf(this.tag) !== -1;\n\t\t\tif(isBlock) {\n\t\t\t\tb.push(\"\\n\");\n\t\t\t}\n\t\t\tif(this.tag === \"li\") {\n\t\t\t\tb.push(\"* \");\n\t\t\t}\n\t\t\t$tw.utils.each(this.children,function(node) {\n\t\t\t\tb.push(node.formattedTextContent);\n\t\t\t});\n\t\t\tif(isBlock) {\n\t\t\t\tb.push(\"\\n\");\n\t\t\t}\n\t\t\treturn b.join(\"\");\n\t\t}\n\t}\n});\n\nvar document = {\n\tsetSequenceNumber: function(value) {\n\t\tsequenceNumber = value;\n\t},\n\tcreateElementNS: function(namespace,tag) {\n\t\treturn new TW_Element(tag,namespace);\n\t},\n\tcreateElement: function(tag) {\n\t\treturn new TW_Element(tag);\n\t},\n\tcreateTextNode: function(text) {\n\t\treturn new TW_TextNode(text);\n\t},\n\tcompatMode: \"CSS1Compat\", // For KaTeX to know that we're not a browser in quirks mode\n\tisTiddlyWikiFakeDom: true\n};\n\nexports.fakeDocument = document;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "global"
        },
        "$:/core/modules/utils/filesystem.js": {
            "title": "$:/core/modules/utils/filesystem.js",
            "text": "/*\\\ntitle: $:/core/modules/utils/filesystem.js\ntype: application/javascript\nmodule-type: utils-node\n\nFile system utilities\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar fs = require(\"fs\"),\n\tpath = require(\"path\");\n\n/*\nRecursively (and synchronously) copy a directory and all its content\n*/\nexports.copyDirectory = function(srcPath,dstPath) {\n\t// Remove any trailing path separators\n\tsrcPath = $tw.utils.removeTrailingSeparator(srcPath);\n\tdstPath = $tw.utils.removeTrailingSeparator(dstPath);\n\t// Create the destination directory\n\tvar err = $tw.utils.createDirectory(dstPath);\n\tif(err) {\n\t\treturn err;\n\t}\n\t// Function to copy a folder full of files\n\tvar copy = function(srcPath,dstPath) {\n\t\tvar srcStats = fs.lstatSync(srcPath),\n\t\t\tdstExists = fs.existsSync(dstPath);\n\t\tif(srcStats.isFile()) {\n\t\t\t$tw.utils.copyFile(srcPath,dstPath);\n\t\t} else if(srcStats.isDirectory()) {\n\t\t\tvar items = fs.readdirSync(srcPath);\n\t\t\tfor(var t=0; t<items.length; t++) {\n\t\t\t\tvar item = items[t],\n\t\t\t\t\terr = copy(srcPath + path.sep + item,dstPath + path.sep + item);\n\t\t\t\tif(err) {\n\t\t\t\t\treturn err;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\tcopy(srcPath,dstPath);\n\treturn null;\n};\n\n/*\nCopy a file\n*/\nvar FILE_BUFFER_LENGTH = 64 * 1024,\n\tfileBuffer;\n\nexports.copyFile = function(srcPath,dstPath) {\n\t// Create buffer if required\n\tif(!fileBuffer) {\n\t\tfileBuffer = Buffer.alloc(FILE_BUFFER_LENGTH);\n\t}\n\t// Create any directories in the destination\n\t$tw.utils.createDirectory(path.dirname(dstPath));\n\t// Copy the file\n\tvar srcFile = fs.openSync(srcPath,\"r\"),\n\t\tdstFile = fs.openSync(dstPath,\"w\"),\n\t\tbytesRead = 1,\n\t\tpos = 0;\n\twhile (bytesRead > 0) {\n\t\tbytesRead = fs.readSync(srcFile,fileBuffer,0,FILE_BUFFER_LENGTH,pos);\n\t\tfs.writeSync(dstFile,fileBuffer,0,bytesRead);\n\t\tpos += bytesRead;\n\t}\n\tfs.closeSync(srcFile);\n\tfs.closeSync(dstFile);\n\treturn null;\n};\n\n/*\nRemove trailing path separator\n*/\nexports.removeTrailingSeparator = function(dirPath) {\n\tvar len = dirPath.length;\n\tif(dirPath.charAt(len-1) === path.sep) {\n\t\tdirPath = dirPath.substr(0,len-1);\n\t}\n\treturn dirPath;\n};\n\n/*\nRecursively create a directory\n*/\nexports.createDirectory = function(dirPath) {\n\tif(dirPath.substr(dirPath.length-1,1) !== path.sep) {\n\t\tdirPath = dirPath + path.sep;\n\t}\n\tvar pos = 1;\n\tpos = dirPath.indexOf(path.sep,pos);\n\twhile(pos !== -1) {\n\t\tvar subDirPath = dirPath.substr(0,pos);\n\t\tif(!$tw.utils.isDirectory(subDirPath)) {\n\t\t\ttry {\n\t\t\t\tfs.mkdirSync(subDirPath);\n\t\t\t} catch(e) {\n\t\t\t\treturn \"Error creating directory '\" + subDirPath + \"'\";\n\t\t\t}\n\t\t}\n\t\tpos = dirPath.indexOf(path.sep,pos + 1);\n\t}\n\treturn null;\n};\n\n/*\nRecursively create directories needed to contain a specified file\n*/\nexports.createFileDirectories = function(filePath) {\n\treturn $tw.utils.createDirectory(path.dirname(filePath));\n};\n\n/*\nRecursively delete a directory\n*/\nexports.deleteDirectory = function(dirPath) {\n\tif(fs.existsSync(dirPath)) {\n\t\tvar entries = fs.readdirSync(dirPath);\n\t\tfor(var entryIndex=0; entryIndex<entries.length; entryIndex++) {\n\t\t\tvar currPath = dirPath + path.sep + entries[entryIndex];\n\t\t\tif(fs.lstatSync(currPath).isDirectory()) {\n\t\t\t\t$tw.utils.deleteDirectory(currPath);\n\t\t\t} else {\n\t\t\t\tfs.unlinkSync(currPath);\n\t\t\t}\n\t\t}\n\tfs.rmdirSync(dirPath);\n\t}\n\treturn null;\n};\n\n/*\nCheck if a path identifies a directory\n*/\nexports.isDirectory = function(dirPath) {\n\treturn fs.existsSync(dirPath) && fs.statSync(dirPath).isDirectory();\n};\n\n/*\nCheck if a path identifies a directory that is empty\n*/\nexports.isDirectoryEmpty = function(dirPath) {\n\tif(!$tw.utils.isDirectory(dirPath)) {\n\t\treturn false;\n\t}\n\tvar files = fs.readdirSync(dirPath),\n\t\tempty = true;\n\t$tw.utils.each(files,function(file,index) {\n\t\tif(file.charAt(0) !== \".\") {\n\t\t\tempty = false;\n\t\t}\n\t});\n\treturn empty;\n};\n\n/*\nRecursively delete a tree of empty directories\n*/\nexports.deleteEmptyDirs = function(dirpath,callback) {\n\tvar self = this;\n\tfs.readdir(dirpath,function(err,files) {\n\t\tif(err) {\n\t\t\treturn callback(err);\n\t\t}\n\t\tif(files.length > 0) {\n\t\t\treturn callback(null);\n\t\t}\n\t\tfs.rmdir(dirpath,function(err) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tself.deleteEmptyDirs(path.dirname(dirpath),callback);\n\t\t});\n\t});\n};\n\n/*\nCreate a fileInfo object for saving a tiddler:\n\tfilepath: the absolute path to the file containing the tiddler\n\ttype: the type of the tiddler file (NOT the type of the tiddler)\n\thasMetaFile: true if the file also has a companion .meta file\nOptions include:\n\tdirectory: absolute path of root directory to which we are saving\n\tpathFilters: optional array of filters to be used to generate the base path\n\twiki: optional wiki for evaluating the pathFilters\n*/\nexports.generateTiddlerFileInfo = function(tiddler,options) {\n\tvar fileInfo = {};\n\t// Check if the tiddler has any unsafe fields that can't be expressed in a .tid or .meta file: containing control characters, or leading/trailing whitespace\n\tvar hasUnsafeFields = false;\n\t$tw.utils.each(tiddler.getFieldStrings(),function(value,fieldName) {\n\t\tif(fieldName !== \"text\") {\n\t\t\thasUnsafeFields = hasUnsafeFields || /[\\x00-\\x1F]/mg.test(value);\n\t\t\thasUnsafeFields = hasUnsafeFields || ($tw.utils.trim(value) !== value);\n\t\t}\n\t});\n\t// Check for field values \n\tif(hasUnsafeFields) {\n\t\t// Save as a JSON file\n\t\tfileInfo.type = \"application/json\";\n\t\tfileInfo.hasMetaFile = false;\n\t} else {\n\t\t// Save as a .tid or a text/binary file plus a .meta file\n\t\tvar tiddlerType = tiddler.fields.type || \"text/vnd.tiddlywiki\";\n\t\tif(tiddlerType === \"text/vnd.tiddlywiki\") {\n\t\t\t// Save as a .tid file\n\t\t\tfileInfo.type = \"application/x-tiddler\";\n\t\t\tfileInfo.hasMetaFile = false;\n\t\t} else {\n\t\t\t// Save as a text/binary file and a .meta file\n\t\t\tfileInfo.type = tiddlerType;\n\t\t\tfileInfo.hasMetaFile = true;\n\t\t}\n\t}\n\t// Take the file extension from the tiddler content type\n\tvar contentTypeInfo = $tw.config.contentTypeInfo[fileInfo.type] || {extension: \"\"};\n\t// Generate the filepath\n\tfileInfo.filepath = $tw.utils.generateTiddlerFilepath(tiddler.fields.title,{\n\t\textension: contentTypeInfo.extension,\n\t\tdirectory: options.directory,\n\t\tpathFilters: options.pathFilters,\n\t\twiki: options.wiki\n\t});\n\treturn fileInfo;\n};\n\n/*\nGenerate the filepath for saving a tiddler\nOptions include:\n\textension: file extension to be added the finished filepath\n\tdirectory: absolute path of root directory to which we are saving\n\tpathFilters: optional array of filters to be used to generate the base path\n\twiki: optional wiki for evaluating the pathFilters\n*/\nexports.generateTiddlerFilepath = function(title,options) {\n\tvar self = this,\n\t\tdirectory = options.directory || \"\",\n\t\textension = options.extension || \"\",\n\t\tfilepath;\n\t// Check if any of the pathFilters applies\n\tif(options.pathFilters && options.wiki) {\n\t\t$tw.utils.each(options.pathFilters,function(filter) {\n\t\t\tif(!filepath) {\n\t\t\t\tvar source = options.wiki.makeTiddlerIterator([title]),\n\t\t\t\t\tresult = options.wiki.filterTiddlers(filter,null,source);\n\t\t\t\tif(result.length > 0) {\n\t\t\t\t\tfilepath = result[0];\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\t// If not, generate a base pathname\n\tif(!filepath) {\n\t\tfilepath = title;\n\t\t// If the filepath already ends in the extension then remove it\n\t\tif(filepath.substring(filepath.length - extension.length) === extension) {\n\t\t\tfilepath = filepath.substring(0,filepath.length - extension.length);\n\t\t}\n\t\t// Remove any forward or backward slashes so we don't create directories\n\t\tfilepath = filepath.replace(/\\/|\\\\/g,\"_\");\n\t}\n\t// Don't let the filename start with a dot because such files are invisible on *nix\n\tfilepath = filepath.replace(/^\\./g,\"_\");\n\t// Remove any characters that can't be used in cross-platform filenames\n\tfilepath = $tw.utils.transliterate(filepath.replace(/<|>|\\:|\\\"|\\||\\?|\\*|\\^/g,\"_\"));\n\t// Truncate the filename if it is too long\n\tif(filepath.length > 200) {\n\t\tfilepath = filepath.substr(0,200);\n\t}\n\t// If the resulting filename is blank (eg because the title is just punctuation characters)\n\tif(!filepath) {\n\t\t// ...then just use the character codes of the title\n\t\tfilepath = \"\";\t\n\t\t$tw.utils.each(title.split(\"\"),function(char) {\n\t\t\tif(filepath) {\n\t\t\t\tfilepath += \"-\";\n\t\t\t}\n\t\t\tfilepath += char.charCodeAt(0).toString();\n\t\t});\n\t}\n\t// Add a uniquifier if the file already exists\n\tvar fullPath,\n\t\tcount = 0;\n\tdo {\n\t\tfullPath = path.resolve(directory,filepath + (count ? \"_\" + count : \"\") + extension);\n\t\tcount++;\n\t} while(fs.existsSync(fullPath));\n\t// Return the full path to the file\n\treturn fullPath;\n};\n\n/*\nSave a tiddler to a file described by the fileInfo:\n\tfilepath: the absolute path to the file containing the tiddler\n\ttype: the type of the tiddler file (NOT the type of the tiddler)\n\thasMetaFile: true if the file also has a companion .meta file\n*/\nexports.saveTiddlerToFile = function(tiddler,fileInfo,callback) {\n\t$tw.utils.createDirectory(path.dirname(fileInfo.filepath));\n\tif(fileInfo.hasMetaFile) {\n\t\t// Save the tiddler as a separate body and meta file\n\t\tvar typeInfo = $tw.config.contentTypeInfo[tiddler.fields.type || \"text/plain\"] || {encoding: \"utf8\"};\n\t\tfs.writeFile(fileInfo.filepath,tiddler.fields.text,typeInfo.encoding,function(err) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tfs.writeFile(fileInfo.filepath + \".meta\",tiddler.getFieldStringBlock({exclude: [\"text\",\"bag\"]}),\"utf8\",callback);\n\t\t});\n\t} else {\n\t\t// Save the tiddler as a self contained templated file\n\t\tif(fileInfo.type === \"application/x-tiddler\") {\n\t\t\tfs.writeFile(fileInfo.filepath,tiddler.getFieldStringBlock({exclude: [\"text\",\"bag\"]}) + (!!tiddler.fields.text ? \"\\n\\n\" + tiddler.fields.text : \"\"),\"utf8\",callback);\n\t\t} else {\n\t\t\tfs.writeFile(fileInfo.filepath,JSON.stringify([tiddler.getFieldStrings({exclude: [\"bag\"]})],null,$tw.config.preferences.jsonSpaces),\"utf8\",callback);\n\t\t}\n\t}\n};\n\n/*\nSave a tiddler to a file described by the fileInfo:\n\tfilepath: the absolute path to the file containing the tiddler\n\ttype: the type of the tiddler file (NOT the type of the tiddler)\n\thasMetaFile: true if the file also has a companion .meta file\n*/\nexports.saveTiddlerToFileSync = function(tiddler,fileInfo) {\n\t$tw.utils.createDirectory(path.dirname(fileInfo.filepath));\n\tif(fileInfo.hasMetaFile) {\n\t\t// Save the tiddler as a separate body and meta file\n\t\tvar typeInfo = $tw.config.contentTypeInfo[tiddler.fields.type || \"text/plain\"] || {encoding: \"utf8\"};\n\t\tfs.writeFileSync(fileInfo.filepath,tiddler.fields.text,typeInfo.encoding);\n\t\tfs.writeFileSync(fileInfo.filepath + \".meta\",tiddler.getFieldStringBlock({exclude: [\"text\",\"bag\"]}),\"utf8\");\n\t} else {\n\t\t// Save the tiddler as a self contained templated file\n\t\tif(fileInfo.type === \"application/x-tiddler\") {\n\t\t\tfs.writeFileSync(fileInfo.filepath,tiddler.getFieldStringBlock({exclude: [\"text\",\"bag\"]}) + (!!tiddler.fields.text ? \"\\n\\n\" + tiddler.fields.text : \"\"),\"utf8\");\n\t\t} else {\n\t\t\tfs.writeFileSync(fileInfo.filepath,JSON.stringify([tiddler.getFieldStrings({exclude: [\"bag\"]})],null,$tw.config.preferences.jsonSpaces),\"utf8\");\n\t\t}\n\t}\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "utils-node"
        },
        "$:/core/modules/utils/logger.js": {
            "title": "$:/core/modules/utils/logger.js",
            "text": "/*\\\ntitle: $:/core/modules/utils/logger.js\ntype: application/javascript\nmodule-type: utils\n\nA basic logging implementation\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar ALERT_TAG = \"$:/tags/Alert\";\n\n/*\nMake a new logger\n*/\nfunction Logger(componentName,options) {\n\toptions = options || {};\n\tthis.componentName = componentName || \"\";\n\tthis.colour = options.colour || \"white\";\n\tthis.enable = \"enable\" in options ? options.enable : true;\n}\n\n/*\nLog a message\n*/\nLogger.prototype.log = function(/* args */) {\n\tif(this.enable && console !== undefined && console.log !== undefined) {\n\t\treturn Function.apply.call(console.log, console, [$tw.utils.terminalColour(this.colour),this.componentName + \":\"].concat(Array.prototype.slice.call(arguments,0)).concat($tw.utils.terminalColour()));\n\t}\n};\n\n/*\nLog a structure as a table\n*/\nLogger.prototype.table = function(value) {\n\t(console.table || console.log)(value);\n};\n\n/*\nAlert a message\n*/\nLogger.prototype.alert = function(/* args */) {\n\tif(this.enable) {\n\t\t// Prepare the text of the alert\n\t\tvar text = Array.prototype.join.call(arguments,\" \");\n\t\t// Create alert tiddlers in the browser\n\t\tif($tw.browser) {\n\t\t\t// Check if there is an existing alert with the same text and the same component\n\t\t\tvar existingAlerts = $tw.wiki.getTiddlersWithTag(ALERT_TAG),\n\t\t\t\talertFields,\n\t\t\t\texistingCount,\n\t\t\t\tself = this;\n\t\t\t$tw.utils.each(existingAlerts,function(title) {\n\t\t\t\tvar tiddler = $tw.wiki.getTiddler(title);\n\t\t\t\tif(tiddler.fields.text === text && tiddler.fields.component === self.componentName && tiddler.fields.modified && (!alertFields || tiddler.fields.modified < alertFields.modified)) {\n\t\t\t\t\t\talertFields = $tw.utils.extend({},tiddler.fields);\n\t\t\t\t}\n\t\t\t});\n\t\t\tif(alertFields) {\n\t\t\t\texistingCount = alertFields.count || 1;\n\t\t\t} else {\n\t\t\t\talertFields = {\n\t\t\t\t\ttitle: $tw.wiki.generateNewTitle(\"$:/temp/alerts/alert\",{prefix: \"\"}),\n\t\t\t\t\ttext: text,\n\t\t\t\t\ttags: [ALERT_TAG],\n\t\t\t\t\tcomponent: this.componentName\n\t\t\t\t};\n\t\t\t\texistingCount = 0;\n\t\t\t}\n\t\t\talertFields.modified = new Date();\n\t\t\tif(++existingCount > 1) {\n\t\t\t\talertFields.count = existingCount;\n\t\t\t} else {\n\t\t\t\talertFields.count = undefined;\n\t\t\t}\n\t\t\t$tw.wiki.addTiddler(new $tw.Tiddler(alertFields));\n\t\t\t// Log the alert as well\n\t\t\tthis.log.apply(this,Array.prototype.slice.call(arguments,0));\n\t\t} else {\n\t\t\t// Print an orange message to the console if not in the browser\n\t\t\tconsole.error(\"\\x1b[1;33m\" + text + \"\\x1b[0m\");\n\t\t}\t\t\n\t}\n};\n\nexports.Logger = Logger;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/parsetree.js": {
            "title": "$:/core/modules/utils/parsetree.js",
            "text": "/*\\\ntitle: $:/core/modules/utils/parsetree.js\ntype: application/javascript\nmodule-type: utils\n\nParse tree utility functions.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.addAttributeToParseTreeNode = function(node,name,value) {\n\tnode.attributes = node.attributes || {};\n\tnode.attributes[name] = {type: \"string\", value: value};\n};\n\nexports.getAttributeValueFromParseTreeNode = function(node,name,defaultValue) {\n\tif(node.attributes && node.attributes[name] && node.attributes[name].value !== undefined) {\n\t\treturn node.attributes[name].value;\n\t}\n\treturn defaultValue;\n};\n\nexports.addClassToParseTreeNode = function(node,classString) {\n\tvar classes = [];\n\tnode.attributes = node.attributes || {};\n\tnode.attributes[\"class\"] = node.attributes[\"class\"] || {type: \"string\", value: \"\"};\n\tif(node.attributes[\"class\"].type === \"string\") {\n\t\tif(node.attributes[\"class\"].value !== \"\") {\n\t\t\tclasses = node.attributes[\"class\"].value.split(\" \");\n\t\t}\n\t\tif(classString !== \"\") {\n\t\t\t$tw.utils.pushTop(classes,classString.split(\" \"));\n\t\t}\n\t\tnode.attributes[\"class\"].value = classes.join(\" \");\n\t}\n};\n\nexports.addStyleToParseTreeNode = function(node,name,value) {\n\t\tnode.attributes = node.attributes || {};\n\t\tnode.attributes.style = node.attributes.style || {type: \"string\", value: \"\"};\n\t\tif(node.attributes.style.type === \"string\") {\n\t\t\tnode.attributes.style.value += name + \":\" + value + \";\";\n\t\t}\n};\n\nexports.findParseTreeNode = function(nodeArray,search) {\n\tfor(var t=0; t<nodeArray.length; t++) {\n\t\tif(nodeArray[t].type === search.type && nodeArray[t].tag === search.tag) {\n\t\t\treturn nodeArray[t];\n\t\t}\n\t}\n\treturn undefined;\n};\n\n/*\nHelper to get the text of a parse tree node or array of nodes\n*/\nexports.getParseTreeText = function getParseTreeText(tree) {\n\tvar output = [];\n\tif($tw.utils.isArray(tree)) {\n\t\t$tw.utils.each(tree,function(node) {\n\t\t\toutput.push(getParseTreeText(node));\n\t\t});\n\t} else {\n\t\tif(tree.type === \"text\") {\n\t\t\toutput.push(tree.text);\n\t\t}\n\t\tif(tree.children) {\n\t\t\treturn getParseTreeText(tree.children);\n\t\t}\n\t}\n\treturn output.join(\"\");\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/performance.js": {
            "title": "$:/core/modules/utils/performance.js",
            "text": "/*\\\ntitle: $:/core/modules/utils/performance.js\ntype: application/javascript\nmodule-type: global\n\nPerformance measurement.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nfunction Performance(enabled) {\n\tthis.enabled = !!enabled;\n\tthis.measures = {}; // Hashmap by measurement name of {time:, invocations:}\n\tthis.logger = new $tw.utils.Logger(\"performance\");\n\tthis.showGreeting();\n}\n\nPerformance.prototype.showGreeting = function() {\n\tif($tw.browser) {\n\t\tthis.logger.log(\"Execute $tw.perf.log(); to see filter execution timings\");\t\t\n\t}\n};\n\n/*\nWrap performance reporting around a top level function\n*/\nPerformance.prototype.report = function(name,fn) {\n\tvar self = this;\n\tif(this.enabled) {\n\t\treturn function() {\n\t\t\tvar startTime = $tw.utils.timer(),\n\t\t\t\tresult = fn.apply(this,arguments);\n\t\t\tself.logger.log(name + \": \" + $tw.utils.timer(startTime).toFixed(2) + \"ms\");\n\t\t\treturn result;\n\t\t};\n\t} else {\n\t\treturn fn;\n\t}\n};\n\nPerformance.prototype.log = function() {\n\tvar self = this,\n\t\ttotalTime = 0,\n\t\torderedMeasures = Object.keys(this.measures).sort(function(a,b) {\n\t\t\tif(self.measures[a].time > self.measures[b].time) {\n\t\t\t\treturn -1;\n\t\t\t} else if (self.measures[a].time < self.measures[b].time) {\n\t\t\t\treturn + 1;\n\t\t\t} else {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t});\n\t$tw.utils.each(orderedMeasures,function(name) {\n\t\ttotalTime += self.measures[name].time;\n\t});\n\tvar results = []\n\t$tw.utils.each(orderedMeasures,function(name) {\n\t\tvar measure = self.measures[name];\n\t\tresults.push({name: name,invocations: measure.invocations, avgTime: measure.time / measure.invocations, totalTime: measure.time, percentTime: (measure.time / totalTime) * 100})\n\t});\n\tself.logger.table(results);\n};\n\n/*\nWrap performance measurements around a subfunction\n*/\nPerformance.prototype.measure = function(name,fn) {\n\tvar self = this;\n\tif(this.enabled) {\n\t\treturn function() {\n\t\t\tvar startTime = $tw.utils.timer(),\n\t\t\t\tresult = fn.apply(this,arguments);\n\t\t\tif(!(name in self.measures)) {\n\t\t\t\tself.measures[name] = {time: 0, invocations: 0};\n\t\t\t}\n\t\t\tself.measures[name].time += $tw.utils.timer(startTime);\n\t\t\tself.measures[name].invocations++;\n\t\t\treturn result;\n\t\t};\n\t} else {\n\t\treturn fn;\n\t}\n};\n\nexports.Performance = Performance;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "global"
        },
        "$:/core/modules/utils/pluginmaker.js": {
            "title": "$:/core/modules/utils/pluginmaker.js",
            "text": "/*\\\ntitle: $:/core/modules/utils/pluginmaker.js\ntype: application/javascript\nmodule-type: utils\n\nA quick and dirty way to pack up plugins within the browser.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nRepack a plugin, and then delete any non-shadow payload tiddlers\n*/\nexports.repackPlugin = function(title,additionalTiddlers,excludeTiddlers) {\n\tadditionalTiddlers = additionalTiddlers || [];\n\texcludeTiddlers = excludeTiddlers || [];\n\t// Get the plugin tiddler\n\tvar pluginTiddler = $tw.wiki.getTiddler(title);\n\tif(!pluginTiddler) {\n\t\tthrow \"No such tiddler as \" + title;\n\t}\n\t// Extract the JSON\n\tvar jsonPluginTiddler;\n\ttry {\n\t\tjsonPluginTiddler = JSON.parse(pluginTiddler.fields.text);\n\t} catch(e) {\n\t\tthrow \"Cannot parse plugin tiddler \" + title + \"\\n\" + $tw.language.getString(\"Error/Caption\") + \": \" + e;\n\t}\n\t// Get the list of tiddlers\n\tvar tiddlers = Object.keys(jsonPluginTiddler.tiddlers);\n\t// Add the additional tiddlers\n\t$tw.utils.pushTop(tiddlers,additionalTiddlers);\n\t// Remove any excluded tiddlers\n\tfor(var t=tiddlers.length-1; t>=0; t--) {\n\t\tif(excludeTiddlers.indexOf(tiddlers[t]) !== -1) {\n\t\t\ttiddlers.splice(t,1);\n\t\t}\n\t}\n\t// Pack up the tiddlers into a block of JSON\n\tvar plugins = {};\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar tiddler = $tw.wiki.getTiddler(title),\n\t\t\tfields = {};\n\t\t$tw.utils.each(tiddler.fields,function (value,name) {\n\t\t\tfields[name] = tiddler.getFieldString(name);\n\t\t});\n\t\tplugins[title] = fields;\n\t});\n\t// Retrieve and bump the version number\n\tvar pluginVersion = $tw.utils.parseVersion(pluginTiddler.getFieldString(\"version\") || \"0.0.0\") || {\n\t\t\tmajor: \"0\",\n\t\t\tminor: \"0\",\n\t\t\tpatch: \"0\"\n\t\t};\n\tpluginVersion.patch++;\n\tvar version = pluginVersion.major + \".\" + pluginVersion.minor + \".\" + pluginVersion.patch;\n\tif(pluginVersion.prerelease) {\n\t\tversion += \"-\" + pluginVersion.prerelease;\n\t}\n\tif(pluginVersion.build) {\n\t\tversion += \"+\" + pluginVersion.build;\n\t}\n\t// Save the tiddler\n\t$tw.wiki.addTiddler(new $tw.Tiddler(pluginTiddler,{text: JSON.stringify({tiddlers: plugins},null,4), version: version}));\n\t// Delete any non-shadow constituent tiddlers\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tif($tw.wiki.tiddlerExists(title)) {\n\t\t\t$tw.wiki.deleteTiddler(title);\n\t\t}\n\t});\n\t// Trigger an autosave\n\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\n\t// Return a heartwarming confirmation\n\treturn \"Plugin \" + title + \" successfully saved\";\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/transliterate.js": {
            "title": "$:/core/modules/utils/transliterate.js",
            "text": "/*\\\ntitle: $:/core/modules/utils/transliterate.js\ntype: application/javascript\nmodule-type: utils\n\nTransliteration static utility functions.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nTransliterate string to ASCII\n\n(Some pairs taken from http://semplicewebsites.com/removing-accents-javascript)\n*/\nexports.transliterationPairs = {\n\t\"Á\":\"A\",\n\t\"Ă\":\"A\",\n\t\"Ắ\":\"A\",\n\t\"Ặ\":\"A\",\n\t\"Ằ\":\"A\",\n\t\"Ẳ\":\"A\",\n\t\"Ẵ\":\"A\",\n\t\"Ǎ\":\"A\",\n\t\"Â\":\"A\",\n\t\"Ấ\":\"A\",\n\t\"Ậ\":\"A\",\n\t\"Ầ\":\"A\",\n\t\"Ẩ\":\"A\",\n\t\"Ẫ\":\"A\",\n\t\"Ä\":\"A\",\n\t\"Ǟ\":\"A\",\n\t\"Ȧ\":\"A\",\n\t\"Ǡ\":\"A\",\n\t\"Ạ\":\"A\",\n\t\"Ȁ\":\"A\",\n\t\"À\":\"A\",\n\t\"Ả\":\"A\",\n\t\"Ȃ\":\"A\",\n\t\"Ā\":\"A\",\n\t\"Ą\":\"A\",\n\t\"Å\":\"A\",\n\t\"Ǻ\":\"A\",\n\t\"Ḁ\":\"A\",\n\t\"Ⱥ\":\"A\",\n\t\"Ã\":\"A\",\n\t\"Ꜳ\":\"AA\",\n\t\"Æ\":\"AE\",\n\t\"Ǽ\":\"AE\",\n\t\"Ǣ\":\"AE\",\n\t\"Ꜵ\":\"AO\",\n\t\"Ꜷ\":\"AU\",\n\t\"Ꜹ\":\"AV\",\n\t\"Ꜻ\":\"AV\",\n\t\"Ꜽ\":\"AY\",\n\t\"Ḃ\":\"B\",\n\t\"Ḅ\":\"B\",\n\t\"Ɓ\":\"B\",\n\t\"Ḇ\":\"B\",\n\t\"Ƀ\":\"B\",\n\t\"Ƃ\":\"B\",\n\t\"Ć\":\"C\",\n\t\"Č\":\"C\",\n\t\"Ç\":\"C\",\n\t\"Ḉ\":\"C\",\n\t\"Ĉ\":\"C\",\n\t\"Ċ\":\"C\",\n\t\"Ƈ\":\"C\",\n\t\"Ȼ\":\"C\",\n\t\"Ď\":\"D\",\n\t\"Ḑ\":\"D\",\n\t\"Ḓ\":\"D\",\n\t\"Ḋ\":\"D\",\n\t\"Ḍ\":\"D\",\n\t\"Ɗ\":\"D\",\n\t\"Ḏ\":\"D\",\n\t\"Dz\":\"D\",\n\t\"Dž\":\"D\",\n\t\"Đ\":\"D\",\n\t\"Ƌ\":\"D\",\n\t\"DZ\":\"DZ\",\n\t\"DŽ\":\"DZ\",\n\t\"É\":\"E\",\n\t\"Ĕ\":\"E\",\n\t\"Ě\":\"E\",\n\t\"Ȩ\":\"E\",\n\t\"Ḝ\":\"E\",\n\t\"Ê\":\"E\",\n\t\"Ế\":\"E\",\n\t\"Ệ\":\"E\",\n\t\"Ề\":\"E\",\n\t\"Ể\":\"E\",\n\t\"Ễ\":\"E\",\n\t\"Ḙ\":\"E\",\n\t\"Ë\":\"E\",\n\t\"Ė\":\"E\",\n\t\"Ẹ\":\"E\",\n\t\"Ȅ\":\"E\",\n\t\"È\":\"E\",\n\t\"Ẻ\":\"E\",\n\t\"Ȇ\":\"E\",\n\t\"Ē\":\"E\",\n\t\"Ḗ\":\"E\",\n\t\"Ḕ\":\"E\",\n\t\"Ę\":\"E\",\n\t\"Ɇ\":\"E\",\n\t\"Ẽ\":\"E\",\n\t\"Ḛ\":\"E\",\n\t\"Ꝫ\":\"ET\",\n\t\"Ḟ\":\"F\",\n\t\"Ƒ\":\"F\",\n\t\"Ǵ\":\"G\",\n\t\"Ğ\":\"G\",\n\t\"Ǧ\":\"G\",\n\t\"Ģ\":\"G\",\n\t\"Ĝ\":\"G\",\n\t\"Ġ\":\"G\",\n\t\"Ɠ\":\"G\",\n\t\"Ḡ\":\"G\",\n\t\"Ǥ\":\"G\",\n\t\"Ḫ\":\"H\",\n\t\"Ȟ\":\"H\",\n\t\"Ḩ\":\"H\",\n\t\"Ĥ\":\"H\",\n\t\"Ⱨ\":\"H\",\n\t\"Ḧ\":\"H\",\n\t\"Ḣ\":\"H\",\n\t\"Ḥ\":\"H\",\n\t\"Ħ\":\"H\",\n\t\"Í\":\"I\",\n\t\"Ĭ\":\"I\",\n\t\"Ǐ\":\"I\",\n\t\"Î\":\"I\",\n\t\"Ï\":\"I\",\n\t\"Ḯ\":\"I\",\n\t\"İ\":\"I\",\n\t\"Ị\":\"I\",\n\t\"Ȉ\":\"I\",\n\t\"Ì\":\"I\",\n\t\"Ỉ\":\"I\",\n\t\"Ȋ\":\"I\",\n\t\"Ī\":\"I\",\n\t\"Į\":\"I\",\n\t\"Ɨ\":\"I\",\n\t\"Ĩ\":\"I\",\n\t\"Ḭ\":\"I\",\n\t\"Ꝺ\":\"D\",\n\t\"Ꝼ\":\"F\",\n\t\"Ᵹ\":\"G\",\n\t\"Ꞃ\":\"R\",\n\t\"Ꞅ\":\"S\",\n\t\"Ꞇ\":\"T\",\n\t\"Ꝭ\":\"IS\",\n\t\"Ĵ\":\"J\",\n\t\"Ɉ\":\"J\",\n\t\"Ḱ\":\"K\",\n\t\"Ǩ\":\"K\",\n\t\"Ķ\":\"K\",\n\t\"Ⱪ\":\"K\",\n\t\"Ꝃ\":\"K\",\n\t\"Ḳ\":\"K\",\n\t\"Ƙ\":\"K\",\n\t\"Ḵ\":\"K\",\n\t\"Ꝁ\":\"K\",\n\t\"Ꝅ\":\"K\",\n\t\"Ĺ\":\"L\",\n\t\"Ƚ\":\"L\",\n\t\"Ľ\":\"L\",\n\t\"Ļ\":\"L\",\n\t\"Ḽ\":\"L\",\n\t\"Ḷ\":\"L\",\n\t\"Ḹ\":\"L\",\n\t\"Ⱡ\":\"L\",\n\t\"Ꝉ\":\"L\",\n\t\"Ḻ\":\"L\",\n\t\"Ŀ\":\"L\",\n\t\"Ɫ\":\"L\",\n\t\"Lj\":\"L\",\n\t\"Ł\":\"L\",\n\t\"LJ\":\"LJ\",\n\t\"Ḿ\":\"M\",\n\t\"Ṁ\":\"M\",\n\t\"Ṃ\":\"M\",\n\t\"Ɱ\":\"M\",\n\t\"Ń\":\"N\",\n\t\"Ň\":\"N\",\n\t\"Ņ\":\"N\",\n\t\"Ṋ\":\"N\",\n\t\"Ṅ\":\"N\",\n\t\"Ṇ\":\"N\",\n\t\"Ǹ\":\"N\",\n\t\"Ɲ\":\"N\",\n\t\"Ṉ\":\"N\",\n\t\"Ƞ\":\"N\",\n\t\"Nj\":\"N\",\n\t\"Ñ\":\"N\",\n\t\"NJ\":\"NJ\",\n\t\"Ó\":\"O\",\n\t\"Ŏ\":\"O\",\n\t\"Ǒ\":\"O\",\n\t\"Ô\":\"O\",\n\t\"Ố\":\"O\",\n\t\"Ộ\":\"O\",\n\t\"Ồ\":\"O\",\n\t\"Ổ\":\"O\",\n\t\"Ỗ\":\"O\",\n\t\"Ö\":\"O\",\n\t\"Ȫ\":\"O\",\n\t\"Ȯ\":\"O\",\n\t\"Ȱ\":\"O\",\n\t\"Ọ\":\"O\",\n\t\"Ő\":\"O\",\n\t\"Ȍ\":\"O\",\n\t\"Ò\":\"O\",\n\t\"Ỏ\":\"O\",\n\t\"Ơ\":\"O\",\n\t\"Ớ\":\"O\",\n\t\"Ợ\":\"O\",\n\t\"Ờ\":\"O\",\n\t\"Ở\":\"O\",\n\t\"Ỡ\":\"O\",\n\t\"Ȏ\":\"O\",\n\t\"Ꝋ\":\"O\",\n\t\"Ꝍ\":\"O\",\n\t\"Ō\":\"O\",\n\t\"Ṓ\":\"O\",\n\t\"Ṑ\":\"O\",\n\t\"Ɵ\":\"O\",\n\t\"Ǫ\":\"O\",\n\t\"Ǭ\":\"O\",\n\t\"Ø\":\"O\",\n\t\"Ǿ\":\"O\",\n\t\"Õ\":\"O\",\n\t\"Ṍ\":\"O\",\n\t\"Ṏ\":\"O\",\n\t\"Ȭ\":\"O\",\n\t\"Ƣ\":\"OI\",\n\t\"Ꝏ\":\"OO\",\n\t\"Ɛ\":\"E\",\n\t\"Ɔ\":\"O\",\n\t\"Ȣ\":\"OU\",\n\t\"Ṕ\":\"P\",\n\t\"Ṗ\":\"P\",\n\t\"Ꝓ\":\"P\",\n\t\"Ƥ\":\"P\",\n\t\"Ꝕ\":\"P\",\n\t\"Ᵽ\":\"P\",\n\t\"Ꝑ\":\"P\",\n\t\"Ꝙ\":\"Q\",\n\t\"Ꝗ\":\"Q\",\n\t\"Ŕ\":\"R\",\n\t\"Ř\":\"R\",\n\t\"Ŗ\":\"R\",\n\t\"Ṙ\":\"R\",\n\t\"Ṛ\":\"R\",\n\t\"Ṝ\":\"R\",\n\t\"Ȑ\":\"R\",\n\t\"Ȓ\":\"R\",\n\t\"Ṟ\":\"R\",\n\t\"Ɍ\":\"R\",\n\t\"Ɽ\":\"R\",\n\t\"Ꜿ\":\"C\",\n\t\"Ǝ\":\"E\",\n\t\"Ś\":\"S\",\n\t\"Ṥ\":\"S\",\n\t\"Š\":\"S\",\n\t\"Ṧ\":\"S\",\n\t\"Ş\":\"S\",\n\t\"Ŝ\":\"S\",\n\t\"Ș\":\"S\",\n\t\"Ṡ\":\"S\",\n\t\"Ṣ\":\"S\",\n\t\"Ṩ\":\"S\",\n\t\"Ť\":\"T\",\n\t\"Ţ\":\"T\",\n\t\"Ṱ\":\"T\",\n\t\"Ț\":\"T\",\n\t\"Ⱦ\":\"T\",\n\t\"Ṫ\":\"T\",\n\t\"Ṭ\":\"T\",\n\t\"Ƭ\":\"T\",\n\t\"Ṯ\":\"T\",\n\t\"Ʈ\":\"T\",\n\t\"Ŧ\":\"T\",\n\t\"Ɐ\":\"A\",\n\t\"Ꞁ\":\"L\",\n\t\"Ɯ\":\"M\",\n\t\"Ʌ\":\"V\",\n\t\"Ꜩ\":\"TZ\",\n\t\"Ú\":\"U\",\n\t\"Ŭ\":\"U\",\n\t\"Ǔ\":\"U\",\n\t\"Û\":\"U\",\n\t\"Ṷ\":\"U\",\n\t\"Ü\":\"U\",\n\t\"Ǘ\":\"U\",\n\t\"Ǚ\":\"U\",\n\t\"Ǜ\":\"U\",\n\t\"Ǖ\":\"U\",\n\t\"Ṳ\":\"U\",\n\t\"Ụ\":\"U\",\n\t\"Ű\":\"U\",\n\t\"Ȕ\":\"U\",\n\t\"Ù\":\"U\",\n\t\"Ủ\":\"U\",\n\t\"Ư\":\"U\",\n\t\"Ứ\":\"U\",\n\t\"Ự\":\"U\",\n\t\"Ừ\":\"U\",\n\t\"Ử\":\"U\",\n\t\"Ữ\":\"U\",\n\t\"Ȗ\":\"U\",\n\t\"Ū\":\"U\",\n\t\"Ṻ\":\"U\",\n\t\"Ų\":\"U\",\n\t\"Ů\":\"U\",\n\t\"Ũ\":\"U\",\n\t\"Ṹ\":\"U\",\n\t\"Ṵ\":\"U\",\n\t\"Ꝟ\":\"V\",\n\t\"Ṿ\":\"V\",\n\t\"Ʋ\":\"V\",\n\t\"Ṽ\":\"V\",\n\t\"Ꝡ\":\"VY\",\n\t\"Ẃ\":\"W\",\n\t\"Ŵ\":\"W\",\n\t\"Ẅ\":\"W\",\n\t\"Ẇ\":\"W\",\n\t\"Ẉ\":\"W\",\n\t\"Ẁ\":\"W\",\n\t\"Ⱳ\":\"W\",\n\t\"Ẍ\":\"X\",\n\t\"Ẋ\":\"X\",\n\t\"Ý\":\"Y\",\n\t\"Ŷ\":\"Y\",\n\t\"Ÿ\":\"Y\",\n\t\"Ẏ\":\"Y\",\n\t\"Ỵ\":\"Y\",\n\t\"Ỳ\":\"Y\",\n\t\"Ƴ\":\"Y\",\n\t\"Ỷ\":\"Y\",\n\t\"Ỿ\":\"Y\",\n\t\"Ȳ\":\"Y\",\n\t\"Ɏ\":\"Y\",\n\t\"Ỹ\":\"Y\",\n\t\"Ź\":\"Z\",\n\t\"Ž\":\"Z\",\n\t\"Ẑ\":\"Z\",\n\t\"Ⱬ\":\"Z\",\n\t\"Ż\":\"Z\",\n\t\"Ẓ\":\"Z\",\n\t\"Ȥ\":\"Z\",\n\t\"Ẕ\":\"Z\",\n\t\"Ƶ\":\"Z\",\n\t\"IJ\":\"IJ\",\n\t\"Œ\":\"OE\",\n\t\"ᴀ\":\"A\",\n\t\"ᴁ\":\"AE\",\n\t\"ʙ\":\"B\",\n\t\"ᴃ\":\"B\",\n\t\"ᴄ\":\"C\",\n\t\"ᴅ\":\"D\",\n\t\"ᴇ\":\"E\",\n\t\"ꜰ\":\"F\",\n\t\"ɢ\":\"G\",\n\t\"ʛ\":\"G\",\n\t\"ʜ\":\"H\",\n\t\"ɪ\":\"I\",\n\t\"ʁ\":\"R\",\n\t\"ᴊ\":\"J\",\n\t\"ᴋ\":\"K\",\n\t\"ʟ\":\"L\",\n\t\"ᴌ\":\"L\",\n\t\"ᴍ\":\"M\",\n\t\"ɴ\":\"N\",\n\t\"ᴏ\":\"O\",\n\t\"ɶ\":\"OE\",\n\t\"ᴐ\":\"O\",\n\t\"ᴕ\":\"OU\",\n\t\"ᴘ\":\"P\",\n\t\"ʀ\":\"R\",\n\t\"ᴎ\":\"N\",\n\t\"ᴙ\":\"R\",\n\t\"ꜱ\":\"S\",\n\t\"ᴛ\":\"T\",\n\t\"ⱻ\":\"E\",\n\t\"ᴚ\":\"R\",\n\t\"ᴜ\":\"U\",\n\t\"ᴠ\":\"V\",\n\t\"ᴡ\":\"W\",\n\t\"ʏ\":\"Y\",\n\t\"ᴢ\":\"Z\",\n\t\"á\":\"a\",\n\t\"ă\":\"a\",\n\t\"ắ\":\"a\",\n\t\"ặ\":\"a\",\n\t\"ằ\":\"a\",\n\t\"ẳ\":\"a\",\n\t\"ẵ\":\"a\",\n\t\"ǎ\":\"a\",\n\t\"â\":\"a\",\n\t\"ấ\":\"a\",\n\t\"ậ\":\"a\",\n\t\"ầ\":\"a\",\n\t\"ẩ\":\"a\",\n\t\"ẫ\":\"a\",\n\t\"ä\":\"a\",\n\t\"ǟ\":\"a\",\n\t\"ȧ\":\"a\",\n\t\"ǡ\":\"a\",\n\t\"ạ\":\"a\",\n\t\"ȁ\":\"a\",\n\t\"à\":\"a\",\n\t\"ả\":\"a\",\n\t\"ȃ\":\"a\",\n\t\"ā\":\"a\",\n\t\"ą\":\"a\",\n\t\"ᶏ\":\"a\",\n\t\"ẚ\":\"a\",\n\t\"å\":\"a\",\n\t\"ǻ\":\"a\",\n\t\"ḁ\":\"a\",\n\t\"ⱥ\":\"a\",\n\t\"ã\":\"a\",\n\t\"ꜳ\":\"aa\",\n\t\"æ\":\"ae\",\n\t\"ǽ\":\"ae\",\n\t\"ǣ\":\"ae\",\n\t\"ꜵ\":\"ao\",\n\t\"ꜷ\":\"au\",\n\t\"ꜹ\":\"av\",\n\t\"ꜻ\":\"av\",\n\t\"ꜽ\":\"ay\",\n\t\"ḃ\":\"b\",\n\t\"ḅ\":\"b\",\n\t\"ɓ\":\"b\",\n\t\"ḇ\":\"b\",\n\t\"ᵬ\":\"b\",\n\t\"ᶀ\":\"b\",\n\t\"ƀ\":\"b\",\n\t\"ƃ\":\"b\",\n\t\"ɵ\":\"o\",\n\t\"ć\":\"c\",\n\t\"č\":\"c\",\n\t\"ç\":\"c\",\n\t\"ḉ\":\"c\",\n\t\"ĉ\":\"c\",\n\t\"ɕ\":\"c\",\n\t\"ċ\":\"c\",\n\t\"ƈ\":\"c\",\n\t\"ȼ\":\"c\",\n\t\"ď\":\"d\",\n\t\"ḑ\":\"d\",\n\t\"ḓ\":\"d\",\n\t\"ȡ\":\"d\",\n\t\"ḋ\":\"d\",\n\t\"ḍ\":\"d\",\n\t\"ɗ\":\"d\",\n\t\"ᶑ\":\"d\",\n\t\"ḏ\":\"d\",\n\t\"ᵭ\":\"d\",\n\t\"ᶁ\":\"d\",\n\t\"đ\":\"d\",\n\t\"ɖ\":\"d\",\n\t\"ƌ\":\"d\",\n\t\"ı\":\"i\",\n\t\"ȷ\":\"j\",\n\t\"ɟ\":\"j\",\n\t\"ʄ\":\"j\",\n\t\"dz\":\"dz\",\n\t\"dž\":\"dz\",\n\t\"é\":\"e\",\n\t\"ĕ\":\"e\",\n\t\"ě\":\"e\",\n\t\"ȩ\":\"e\",\n\t\"ḝ\":\"e\",\n\t\"ê\":\"e\",\n\t\"ế\":\"e\",\n\t\"ệ\":\"e\",\n\t\"ề\":\"e\",\n\t\"ể\":\"e\",\n\t\"ễ\":\"e\",\n\t\"ḙ\":\"e\",\n\t\"ë\":\"e\",\n\t\"ė\":\"e\",\n\t\"ẹ\":\"e\",\n\t\"ȅ\":\"e\",\n\t\"è\":\"e\",\n\t\"ẻ\":\"e\",\n\t\"ȇ\":\"e\",\n\t\"ē\":\"e\",\n\t\"ḗ\":\"e\",\n\t\"ḕ\":\"e\",\n\t\"ⱸ\":\"e\",\n\t\"ę\":\"e\",\n\t\"ᶒ\":\"e\",\n\t\"ɇ\":\"e\",\n\t\"ẽ\":\"e\",\n\t\"ḛ\":\"e\",\n\t\"ꝫ\":\"et\",\n\t\"ḟ\":\"f\",\n\t\"ƒ\":\"f\",\n\t\"ᵮ\":\"f\",\n\t\"ᶂ\":\"f\",\n\t\"ǵ\":\"g\",\n\t\"ğ\":\"g\",\n\t\"ǧ\":\"g\",\n\t\"ģ\":\"g\",\n\t\"ĝ\":\"g\",\n\t\"ġ\":\"g\",\n\t\"ɠ\":\"g\",\n\t\"ḡ\":\"g\",\n\t\"ᶃ\":\"g\",\n\t\"ǥ\":\"g\",\n\t\"ḫ\":\"h\",\n\t\"ȟ\":\"h\",\n\t\"ḩ\":\"h\",\n\t\"ĥ\":\"h\",\n\t\"ⱨ\":\"h\",\n\t\"ḧ\":\"h\",\n\t\"ḣ\":\"h\",\n\t\"ḥ\":\"h\",\n\t\"ɦ\":\"h\",\n\t\"ẖ\":\"h\",\n\t\"ħ\":\"h\",\n\t\"ƕ\":\"hv\",\n\t\"í\":\"i\",\n\t\"ĭ\":\"i\",\n\t\"ǐ\":\"i\",\n\t\"î\":\"i\",\n\t\"ï\":\"i\",\n\t\"ḯ\":\"i\",\n\t\"ị\":\"i\",\n\t\"ȉ\":\"i\",\n\t\"ì\":\"i\",\n\t\"ỉ\":\"i\",\n\t\"ȋ\":\"i\",\n\t\"ī\":\"i\",\n\t\"į\":\"i\",\n\t\"ᶖ\":\"i\",\n\t\"ɨ\":\"i\",\n\t\"ĩ\":\"i\",\n\t\"ḭ\":\"i\",\n\t\"ꝺ\":\"d\",\n\t\"ꝼ\":\"f\",\n\t\"ᵹ\":\"g\",\n\t\"ꞃ\":\"r\",\n\t\"ꞅ\":\"s\",\n\t\"ꞇ\":\"t\",\n\t\"ꝭ\":\"is\",\n\t\"ǰ\":\"j\",\n\t\"ĵ\":\"j\",\n\t\"ʝ\":\"j\",\n\t\"ɉ\":\"j\",\n\t\"ḱ\":\"k\",\n\t\"ǩ\":\"k\",\n\t\"ķ\":\"k\",\n\t\"ⱪ\":\"k\",\n\t\"ꝃ\":\"k\",\n\t\"ḳ\":\"k\",\n\t\"ƙ\":\"k\",\n\t\"ḵ\":\"k\",\n\t\"ᶄ\":\"k\",\n\t\"ꝁ\":\"k\",\n\t\"ꝅ\":\"k\",\n\t\"ĺ\":\"l\",\n\t\"ƚ\":\"l\",\n\t\"ɬ\":\"l\",\n\t\"ľ\":\"l\",\n\t\"ļ\":\"l\",\n\t\"ḽ\":\"l\",\n\t\"ȴ\":\"l\",\n\t\"ḷ\":\"l\",\n\t\"ḹ\":\"l\",\n\t\"ⱡ\":\"l\",\n\t\"ꝉ\":\"l\",\n\t\"ḻ\":\"l\",\n\t\"ŀ\":\"l\",\n\t\"ɫ\":\"l\",\n\t\"ᶅ\":\"l\",\n\t\"ɭ\":\"l\",\n\t\"ł\":\"l\",\n\t\"lj\":\"lj\",\n\t\"ſ\":\"s\",\n\t\"ẜ\":\"s\",\n\t\"ẛ\":\"s\",\n\t\"ẝ\":\"s\",\n\t\"ḿ\":\"m\",\n\t\"ṁ\":\"m\",\n\t\"ṃ\":\"m\",\n\t\"ɱ\":\"m\",\n\t\"ᵯ\":\"m\",\n\t\"ᶆ\":\"m\",\n\t\"ń\":\"n\",\n\t\"ň\":\"n\",\n\t\"ņ\":\"n\",\n\t\"ṋ\":\"n\",\n\t\"ȵ\":\"n\",\n\t\"ṅ\":\"n\",\n\t\"ṇ\":\"n\",\n\t\"ǹ\":\"n\",\n\t\"ɲ\":\"n\",\n\t\"ṉ\":\"n\",\n\t\"ƞ\":\"n\",\n\t\"ᵰ\":\"n\",\n\t\"ᶇ\":\"n\",\n\t\"ɳ\":\"n\",\n\t\"ñ\":\"n\",\n\t\"nj\":\"nj\",\n\t\"ó\":\"o\",\n\t\"ŏ\":\"o\",\n\t\"ǒ\":\"o\",\n\t\"ô\":\"o\",\n\t\"ố\":\"o\",\n\t\"ộ\":\"o\",\n\t\"ồ\":\"o\",\n\t\"ổ\":\"o\",\n\t\"ỗ\":\"o\",\n\t\"ö\":\"o\",\n\t\"ȫ\":\"o\",\n\t\"ȯ\":\"o\",\n\t\"ȱ\":\"o\",\n\t\"ọ\":\"o\",\n\t\"ő\":\"o\",\n\t\"ȍ\":\"o\",\n\t\"ò\":\"o\",\n\t\"ỏ\":\"o\",\n\t\"ơ\":\"o\",\n\t\"ớ\":\"o\",\n\t\"ợ\":\"o\",\n\t\"ờ\":\"o\",\n\t\"ở\":\"o\",\n\t\"ỡ\":\"o\",\n\t\"ȏ\":\"o\",\n\t\"ꝋ\":\"o\",\n\t\"ꝍ\":\"o\",\n\t\"ⱺ\":\"o\",\n\t\"ō\":\"o\",\n\t\"ṓ\":\"o\",\n\t\"ṑ\":\"o\",\n\t\"ǫ\":\"o\",\n\t\"ǭ\":\"o\",\n\t\"ø\":\"o\",\n\t\"ǿ\":\"o\",\n\t\"õ\":\"o\",\n\t\"ṍ\":\"o\",\n\t\"ṏ\":\"o\",\n\t\"ȭ\":\"o\",\n\t\"ƣ\":\"oi\",\n\t\"ꝏ\":\"oo\",\n\t\"ɛ\":\"e\",\n\t\"ᶓ\":\"e\",\n\t\"ɔ\":\"o\",\n\t\"ᶗ\":\"o\",\n\t\"ȣ\":\"ou\",\n\t\"ṕ\":\"p\",\n\t\"ṗ\":\"p\",\n\t\"ꝓ\":\"p\",\n\t\"ƥ\":\"p\",\n\t\"ᵱ\":\"p\",\n\t\"ᶈ\":\"p\",\n\t\"ꝕ\":\"p\",\n\t\"ᵽ\":\"p\",\n\t\"ꝑ\":\"p\",\n\t\"ꝙ\":\"q\",\n\t\"ʠ\":\"q\",\n\t\"ɋ\":\"q\",\n\t\"ꝗ\":\"q\",\n\t\"ŕ\":\"r\",\n\t\"ř\":\"r\",\n\t\"ŗ\":\"r\",\n\t\"ṙ\":\"r\",\n\t\"ṛ\":\"r\",\n\t\"ṝ\":\"r\",\n\t\"ȑ\":\"r\",\n\t\"ɾ\":\"r\",\n\t\"ᵳ\":\"r\",\n\t\"ȓ\":\"r\",\n\t\"ṟ\":\"r\",\n\t\"ɼ\":\"r\",\n\t\"ᵲ\":\"r\",\n\t\"ᶉ\":\"r\",\n\t\"ɍ\":\"r\",\n\t\"ɽ\":\"r\",\n\t\"ↄ\":\"c\",\n\t\"ꜿ\":\"c\",\n\t\"ɘ\":\"e\",\n\t\"ɿ\":\"r\",\n\t\"ś\":\"s\",\n\t\"ṥ\":\"s\",\n\t\"š\":\"s\",\n\t\"ṧ\":\"s\",\n\t\"ş\":\"s\",\n\t\"ŝ\":\"s\",\n\t\"ș\":\"s\",\n\t\"ṡ\":\"s\",\n\t\"ṣ\":\"s\",\n\t\"ṩ\":\"s\",\n\t\"ʂ\":\"s\",\n\t\"ᵴ\":\"s\",\n\t\"ᶊ\":\"s\",\n\t\"ȿ\":\"s\",\n\t\"ɡ\":\"g\",\n\t\"ᴑ\":\"o\",\n\t\"ᴓ\":\"o\",\n\t\"ᴝ\":\"u\",\n\t\"ť\":\"t\",\n\t\"ţ\":\"t\",\n\t\"ṱ\":\"t\",\n\t\"ț\":\"t\",\n\t\"ȶ\":\"t\",\n\t\"ẗ\":\"t\",\n\t\"ⱦ\":\"t\",\n\t\"ṫ\":\"t\",\n\t\"ṭ\":\"t\",\n\t\"ƭ\":\"t\",\n\t\"ṯ\":\"t\",\n\t\"ᵵ\":\"t\",\n\t\"ƫ\":\"t\",\n\t\"ʈ\":\"t\",\n\t\"ŧ\":\"t\",\n\t\"ᵺ\":\"th\",\n\t\"ɐ\":\"a\",\n\t\"ᴂ\":\"ae\",\n\t\"ǝ\":\"e\",\n\t\"ᵷ\":\"g\",\n\t\"ɥ\":\"h\",\n\t\"ʮ\":\"h\",\n\t\"ʯ\":\"h\",\n\t\"ᴉ\":\"i\",\n\t\"ʞ\":\"k\",\n\t\"ꞁ\":\"l\",\n\t\"ɯ\":\"m\",\n\t\"ɰ\":\"m\",\n\t\"ᴔ\":\"oe\",\n\t\"ɹ\":\"r\",\n\t\"ɻ\":\"r\",\n\t\"ɺ\":\"r\",\n\t\"ⱹ\":\"r\",\n\t\"ʇ\":\"t\",\n\t\"ʌ\":\"v\",\n\t\"ʍ\":\"w\",\n\t\"ʎ\":\"y\",\n\t\"ꜩ\":\"tz\",\n\t\"ú\":\"u\",\n\t\"ŭ\":\"u\",\n\t\"ǔ\":\"u\",\n\t\"û\":\"u\",\n\t\"ṷ\":\"u\",\n\t\"ü\":\"u\",\n\t\"ǘ\":\"u\",\n\t\"ǚ\":\"u\",\n\t\"ǜ\":\"u\",\n\t\"ǖ\":\"u\",\n\t\"ṳ\":\"u\",\n\t\"ụ\":\"u\",\n\t\"ű\":\"u\",\n\t\"ȕ\":\"u\",\n\t\"ù\":\"u\",\n\t\"ủ\":\"u\",\n\t\"ư\":\"u\",\n\t\"ứ\":\"u\",\n\t\"ự\":\"u\",\n\t\"ừ\":\"u\",\n\t\"ử\":\"u\",\n\t\"ữ\":\"u\",\n\t\"ȗ\":\"u\",\n\t\"ū\":\"u\",\n\t\"ṻ\":\"u\",\n\t\"ų\":\"u\",\n\t\"ᶙ\":\"u\",\n\t\"ů\":\"u\",\n\t\"ũ\":\"u\",\n\t\"ṹ\":\"u\",\n\t\"ṵ\":\"u\",\n\t\"ᵫ\":\"ue\",\n\t\"ꝸ\":\"um\",\n\t\"ⱴ\":\"v\",\n\t\"ꝟ\":\"v\",\n\t\"ṿ\":\"v\",\n\t\"ʋ\":\"v\",\n\t\"ᶌ\":\"v\",\n\t\"ⱱ\":\"v\",\n\t\"ṽ\":\"v\",\n\t\"ꝡ\":\"vy\",\n\t\"ẃ\":\"w\",\n\t\"ŵ\":\"w\",\n\t\"ẅ\":\"w\",\n\t\"ẇ\":\"w\",\n\t\"ẉ\":\"w\",\n\t\"ẁ\":\"w\",\n\t\"ⱳ\":\"w\",\n\t\"ẘ\":\"w\",\n\t\"ẍ\":\"x\",\n\t\"ẋ\":\"x\",\n\t\"ᶍ\":\"x\",\n\t\"ý\":\"y\",\n\t\"ŷ\":\"y\",\n\t\"ÿ\":\"y\",\n\t\"ẏ\":\"y\",\n\t\"ỵ\":\"y\",\n\t\"ỳ\":\"y\",\n\t\"ƴ\":\"y\",\n\t\"ỷ\":\"y\",\n\t\"ỿ\":\"y\",\n\t\"ȳ\":\"y\",\n\t\"ẙ\":\"y\",\n\t\"ɏ\":\"y\",\n\t\"ỹ\":\"y\",\n\t\"ź\":\"z\",\n\t\"ž\":\"z\",\n\t\"ẑ\":\"z\",\n\t\"ʑ\":\"z\",\n\t\"ⱬ\":\"z\",\n\t\"ż\":\"z\",\n\t\"ẓ\":\"z\",\n\t\"ȥ\":\"z\",\n\t\"ẕ\":\"z\",\n\t\"ᵶ\":\"z\",\n\t\"ᶎ\":\"z\",\n\t\"ʐ\":\"z\",\n\t\"ƶ\":\"z\",\n\t\"ɀ\":\"z\",\n\t\"ff\":\"ff\",\n\t\"ffi\":\"ffi\",\n\t\"ffl\":\"ffl\",\n\t\"fi\":\"fi\",\n\t\"fl\":\"fl\",\n\t\"ij\":\"ij\",\n\t\"œ\":\"oe\",\n\t\"st\":\"st\",\n\t\"ₐ\":\"a\",\n\t\"ₑ\":\"e\",\n\t\"ᵢ\":\"i\",\n\t\"ⱼ\":\"j\",\n\t\"ₒ\":\"o\",\n\t\"ᵣ\":\"r\",\n\t\"ᵤ\":\"u\",\n\t\"ᵥ\":\"v\",\n\t\"ₓ\":\"x\",\n\t\"Ё\":\"YO\",\n\t\"Й\":\"I\",\n\t\"Ц\":\"TS\",\n\t\"У\":\"U\",\n\t\"К\":\"K\",\n\t\"Е\":\"E\",\n\t\"Н\":\"N\",\n\t\"Г\":\"G\",\n\t\"Ш\":\"SH\",\n\t\"Щ\":\"SCH\",\n\t\"З\":\"Z\",\n\t\"Х\":\"H\",\n\t\"Ъ\":\"'\",\n\t\"ё\":\"yo\",\n\t\"й\":\"i\",\n\t\"ц\":\"ts\",\n\t\"у\":\"u\",\n\t\"к\":\"k\",\n\t\"е\":\"e\",\n\t\"н\":\"n\",\n\t\"г\":\"g\",\n\t\"ш\":\"sh\",\n\t\"щ\":\"sch\",\n\t\"з\":\"z\",\n\t\"х\":\"h\",\n\t\"ъ\":\"'\",\n\t\"Ф\":\"F\",\n\t\"Ы\":\"I\",\n\t\"В\":\"V\",\n\t\"А\":\"a\",\n\t\"П\":\"P\",\n\t\"Р\":\"R\",\n\t\"О\":\"O\",\n\t\"Л\":\"L\",\n\t\"Д\":\"D\",\n\t\"Ж\":\"ZH\",\n\t\"Э\":\"E\",\n\t\"ф\":\"f\",\n\t\"ы\":\"i\",\n\t\"в\":\"v\",\n\t\"а\":\"a\",\n\t\"п\":\"p\",\n\t\"р\":\"r\",\n\t\"о\":\"o\",\n\t\"л\":\"l\",\n\t\"д\":\"d\",\n\t\"ж\":\"zh\",\n\t\"э\":\"e\",\n\t\"Я\":\"Ya\",\n\t\"Ч\":\"CH\",\n\t\"С\":\"S\",\n\t\"М\":\"M\",\n\t\"И\":\"I\",\n\t\"Т\":\"T\",\n\t\"Ь\":\"'\",\n\t\"Б\":\"B\",\n\t\"Ю\":\"YU\",\n\t\"я\":\"ya\",\n\t\"ч\":\"ch\",\n\t\"с\":\"s\",\n\t\"м\":\"m\",\n\t\"и\":\"i\",\n\t\"т\":\"t\",\n\t\"ь\":\"'\",\n\t\"б\":\"b\",\n\t\"ю\":\"yu\"\n};\n\nexports.transliterate = function(str) {\n\treturn str.replace(/[^A-Za-z0-9\\[\\] ]/g,function(ch) {\n\t\treturn exports.transliterationPairs[ch] || ch\n\t});\n};\n\nexports.transliterateToSafeASCII = function(str) {\n\treturn str.replace(/[^\\x00-\\x7F]/g,function(ch) {\n\t\treturn exports.transliterationPairs[ch] || \"\"\n\t});\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/utils.js": {
            "title": "$:/core/modules/utils/utils.js",
            "text": "/*\\\ntitle: $:/core/modules/utils/utils.js\ntype: application/javascript\nmodule-type: utils\n\nVarious static utility functions.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar base64utf8 = require(\"$:/core/modules/utils/base64-utf8/base64-utf8.module.js\");\n\n/*\nDisplay a message, in colour if we're on a terminal\n*/\nexports.log = function(text,colour) {\n\tconsole.log($tw.node ? exports.terminalColour(colour) + text + exports.terminalColour() : text);\n};\n\nexports.terminalColour = function(colour) {\n\tif(!$tw.browser && $tw.node && process.stdout.isTTY) {\n\t\tif(colour) {\n\t\t\tvar code = exports.terminalColourLookup[colour];\n\t\t\tif(code) {\n\t\t\t\treturn \"\\x1b[\" + code + \"m\";\n\t\t\t}\n\t\t} else {\n\t\t\treturn \"\\x1b[0m\"; // Cancel colour\n\t\t}\n\t}\n\treturn \"\";\n};\n\nexports.terminalColourLookup = {\n\t\"black\": \"0;30\",\n\t\"red\": \"0;31\",\n\t\"green\": \"0;32\",\n\t\"brown/orange\": \"0;33\",\n\t\"blue\": \"0;34\",\n\t\"purple\": \"0;35\",\n\t\"cyan\": \"0;36\",\n\t\"light gray\": \"0;37\"\n};\n\n/*\nDisplay a warning, in colour if we're on a terminal\n*/\nexports.warning = function(text) {\n\texports.log(text,\"brown/orange\");\n};\n\n/*\nReturn the integer represented by the str (string).\nReturn the dflt (default) parameter if str is not a base-10 number.\n*/\nexports.getInt = function(str,deflt) {\n\tvar i = parseInt(str,10);\n\treturn isNaN(i) ? deflt : i;\n}\n\n/*\nRepeatedly replaces a substring within a string. Like String.prototype.replace, but without any of the default special handling of $ sequences in the replace string\n*/\nexports.replaceString = function(text,search,replace) {\n\treturn text.replace(search,function() {\n\t\treturn replace;\n\t});\n};\n\n/*\nRepeats a string\n*/\nexports.repeat = function(str,count) {\n\tvar result = \"\";\n\tfor(var t=0;t<count;t++) {\n\t\tresult += str;\n\t}\n\treturn result;\n};\n\n/*\nTrim whitespace from the start and end of a string\nThanks to Steven Levithan, http://blog.stevenlevithan.com/archives/faster-trim-javascript\n*/\nexports.trim = function(str) {\n\tif(typeof str === \"string\") {\n\t\treturn str.replace(/^\\s\\s*/, '').replace(/\\s\\s*$/, '');\n\t} else {\n\t\treturn str;\n\t}\n};\n\n/*\nConvert a string to sentence case (ie capitalise first letter)\n*/\nexports.toSentenceCase = function(str) {\n\treturn (str || \"\").replace(/^\\S/, function(c) {return c.toUpperCase();});\n}\n\n/*\nConvert a string to title case (ie capitalise each initial letter)\n*/\nexports.toTitleCase = function(str) {\n\treturn (str || \"\").replace(/(^|\\s)\\S/g, function(c) {return c.toUpperCase();});\n}\n\t\n/*\nFind the line break preceding a given position in a string\nReturns position immediately after that line break, or the start of the string\n*/\nexports.findPrecedingLineBreak = function(text,pos) {\n\tvar result = text.lastIndexOf(\"\\n\",pos - 1);\n\tif(result === -1) {\n\t\tresult = 0;\n\t} else {\n\t\tresult++;\n\t\tif(text.charAt(result) === \"\\r\") {\n\t\t\tresult++;\n\t\t}\n\t}\n\treturn result;\n};\n\n/*\nFind the line break following a given position in a string\n*/\nexports.findFollowingLineBreak = function(text,pos) {\n\t// Cut to just past the following line break, or to the end of the text\n\tvar result = text.indexOf(\"\\n\",pos);\n\tif(result === -1) {\n\t\tresult = text.length;\n\t} else {\n\t\tif(text.charAt(result) === \"\\r\") {\n\t\t\tresult++;\n\t\t}\n\t}\n\treturn result;\n};\n\n/*\nReturn the number of keys in an object\n*/\nexports.count = function(object) {\n\treturn Object.keys(object || {}).length;\n};\n\n/*\nDetermine whether an array-item is an object-property\n*/\nexports.hopArray = function(object,array) {\n\tfor(var i=0; i<array.length; i++) {\n\t\tif($tw.utils.hop(object,array[i])) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n};\n\n/*\nRemove entries from an array\n\tarray: array to modify\n\tvalue: a single value to remove, or an array of values to remove\n*/\nexports.removeArrayEntries = function(array,value) {\n\tvar t,p;\n\tif($tw.utils.isArray(value)) {\n\t\tfor(t=0; t<value.length; t++) {\n\t\t\tp = array.indexOf(value[t]);\n\t\t\tif(p !== -1) {\n\t\t\t\tarray.splice(p,1);\n\t\t\t}\n\t\t}\n\t} else {\n\t\tp = array.indexOf(value);\n\t\tif(p !== -1) {\n\t\t\tarray.splice(p,1);\n\t\t}\n\t}\n};\n\n/*\nCheck whether any members of a hashmap are present in another hashmap\n*/\nexports.checkDependencies = function(dependencies,changes) {\n\tvar hit = false;\n\t$tw.utils.each(changes,function(change,title) {\n\t\tif($tw.utils.hop(dependencies,title)) {\n\t\t\thit = true;\n\t\t}\n\t});\n\treturn hit;\n};\n\nexports.extend = function(object /* [, src] */) {\n\t$tw.utils.each(Array.prototype.slice.call(arguments, 1), function(source) {\n\t\tif(source) {\n\t\t\tfor(var property in source) {\n\t\t\t\tobject[property] = source[property];\n\t\t\t}\n\t\t}\n\t});\n\treturn object;\n};\n\nexports.deepCopy = function(object) {\n\tvar result,t;\n\tif($tw.utils.isArray(object)) {\n\t\t// Copy arrays\n\t\tresult = object.slice(0);\n\t} else if(typeof object === \"object\") {\n\t\tresult = {};\n\t\tfor(t in object) {\n\t\t\tif(object[t] !== undefined) {\n\t\t\t\tresult[t] = $tw.utils.deepCopy(object[t]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\tresult = object;\n\t}\n\treturn result;\n};\n\nexports.extendDeepCopy = function(object,extendedProperties) {\n\tvar result = $tw.utils.deepCopy(object),t;\n\tfor(t in extendedProperties) {\n\t\tif(extendedProperties[t] !== undefined) {\n\t\t\tresult[t] = $tw.utils.deepCopy(extendedProperties[t]);\n\t\t}\n\t}\n\treturn result;\n};\n\nexports.deepFreeze = function deepFreeze(object) {\n\tvar property, key;\n\tif(object) {\n\t\tObject.freeze(object);\n\t\tfor(key in object) {\n\t\t\tproperty = object[key];\n\t\t\tif($tw.utils.hop(object,key) && (typeof property === \"object\") && !Object.isFrozen(property)) {\n\t\t\t\tdeepFreeze(property);\n\t\t\t}\n\t\t}\n\t}\n};\n\nexports.slowInSlowOut = function(t) {\n\treturn (1 - ((Math.cos(t * Math.PI) + 1) / 2));\n};\n\nexports.formatDateString = function(date,template) {\n\tvar result = \"\",\n\t\tt = template,\n\t\tmatches = [\n\t\t\t[/^0hh12/, function() {\n\t\t\t\treturn $tw.utils.pad($tw.utils.getHours12(date));\n\t\t\t}],\n\t\t\t[/^wYYYY/, function() {\n\t\t\t\treturn $tw.utils.getYearForWeekNo(date);\n\t\t\t}],\n\t\t\t[/^hh12/, function() {\n\t\t\t\treturn $tw.utils.getHours12(date);\n\t\t\t}],\n\t\t\t[/^DDth/, function() {\n\t\t\t\treturn date.getDate() + $tw.utils.getDaySuffix(date);\n\t\t\t}],\n\t\t\t[/^YYYY/, function() {\n\t\t\t\treturn date.getFullYear();\n\t\t\t}],\n\t\t\t[/^0hh/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getHours());\n\t\t\t}],\n\t\t\t[/^0mm/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getMinutes());\n\t\t\t}],\n\t\t\t[/^0ss/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getSeconds());\n\t\t\t}],\n\t\t\t[/^0XXX/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getMilliseconds());\n\t\t\t}],\n\t\t\t[/^0DD/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getDate());\n\t\t\t}],\n\t\t\t[/^0MM/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getMonth()+1);\n\t\t\t}],\n\t\t\t[/^0WW/, function() {\n\t\t\t\treturn $tw.utils.pad($tw.utils.getWeek(date));\n\t\t\t}],\n\t\t\t[/^ddd/, function() {\n\t\t\t\treturn $tw.language.getString(\"Date/Short/Day/\" + date.getDay());\n\t\t\t}],\n\t\t\t[/^mmm/, function() {\n\t\t\t\treturn $tw.language.getString(\"Date/Short/Month/\" + (date.getMonth() + 1));\n\t\t\t}],\n\t\t\t[/^DDD/, function() {\n\t\t\t\treturn $tw.language.getString(\"Date/Long/Day/\" + date.getDay());\n\t\t\t}],\n\t\t\t[/^MMM/, function() {\n\t\t\t\treturn $tw.language.getString(\"Date/Long/Month/\" + (date.getMonth() + 1));\n\t\t\t}],\n\t\t\t[/^TZD/, function() {\n\t\t\t\tvar tz = date.getTimezoneOffset(),\n\t\t\t\tatz = Math.abs(tz);\n\t\t\t\treturn (tz < 0 ? '+' : '-') + $tw.utils.pad(Math.floor(atz / 60)) + ':' + $tw.utils.pad(atz % 60);\n\t\t\t}],\n\t\t\t[/^wYY/, function() {\n\t\t\t\treturn $tw.utils.pad($tw.utils.getYearForWeekNo(date) - 2000);\n\t\t\t}],\n\t\t\t[/^[ap]m/, function() {\n\t\t\t\treturn $tw.utils.getAmPm(date).toLowerCase();\n\t\t\t}],\n\t\t\t[/^hh/, function() {\n\t\t\t\treturn date.getHours();\n\t\t\t}],\n\t\t\t[/^mm/, function() {\n\t\t\t\treturn date.getMinutes();\n\t\t\t}],\n\t\t\t[/^ss/, function() {\n\t\t\t\treturn date.getSeconds();\n\t\t\t}],\n\t\t\t[/^XXX/, function() {\n\t\t\t\treturn date.getMilliseconds();\n\t\t\t}],\n\t\t\t[/^[AP]M/, function() {\n\t\t\t\treturn $tw.utils.getAmPm(date).toUpperCase();\n\t\t\t}],\n\t\t\t[/^DD/, function() {\n\t\t\t\treturn date.getDate();\n\t\t\t}],\n\t\t\t[/^MM/, function() {\n\t\t\t\treturn date.getMonth() + 1;\n\t\t\t}],\n\t\t\t[/^WW/, function() {\n\t\t\t\treturn $tw.utils.getWeek(date);\n\t\t\t}],\n\t\t\t[/^YY/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getFullYear() - 2000);\n\t\t\t}]\n\t\t];\n\t// If the user wants everything in UTC, shift the datestamp\n\t// Optimize for format string that essentially means\n\t// 'return raw UTC (tiddlywiki style) date string.'\n\tif(t.indexOf(\"[UTC]\") == 0 ) {\n\t\tif(t == \"[UTC]YYYY0MM0DD0hh0mm0ssXXX\")\n\t\t\treturn $tw.utils.stringifyDate(new Date());\n\t\tvar offset = date.getTimezoneOffset() ; // in minutes\n\t\tdate = new Date(date.getTime()+offset*60*1000) ;\n\t\tt = t.substr(5) ;\n\t}\n\twhile(t.length){\n\t\tvar matchString = \"\";\n\t\t$tw.utils.each(matches, function(m) {\n\t\t\tvar match = m[0].exec(t);\n\t\t\tif(match) {\n\t\t\t\tmatchString = m[1].call();\n\t\t\t\tt = t.substr(match[0].length);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\t\tif(matchString) {\n\t\t\tresult += matchString;\n\t\t} else {\n\t\t\tresult += t.charAt(0);\n\t\t\tt = t.substr(1);\n\t\t}\n\t}\n\tresult = result.replace(/\\\\(.)/g,\"$1\");\n\treturn result;\n};\n\nexports.getAmPm = function(date) {\n\treturn $tw.language.getString(\"Date/Period/\" + (date.getHours() >= 12 ? \"pm\" : \"am\"));\n};\n\nexports.getDaySuffix = function(date) {\n\treturn $tw.language.getString(\"Date/DaySuffix/\" + date.getDate());\n};\n\nexports.getWeek = function(date) {\n\tvar dt = new Date(date.getTime());\n\tvar d = dt.getDay();\n\tif(d === 0) {\n\t\td = 7; // JavaScript Sun=0, ISO Sun=7\n\t}\n\tdt.setTime(dt.getTime() + (4 - d) * 86400000);// shift day to Thurs of same week to calculate weekNo\n\tvar x = new Date(dt.getFullYear(),0,1);\n\tvar n = Math.floor((dt.getTime() - x.getTime()) / 86400000);\n\treturn Math.floor(n / 7) + 1;\n};\n\nexports.getYearForWeekNo = function(date) {\n\tvar dt = new Date(date.getTime());\n\tvar d = dt.getDay();\n\tif(d === 0) {\n\t\td = 7; // JavaScript Sun=0, ISO Sun=7\n\t}\n\tdt.setTime(dt.getTime() + (4 - d) * 86400000);// shift day to Thurs of same week\n\treturn dt.getFullYear();\n};\n\nexports.getHours12 = function(date) {\n\tvar h = date.getHours();\n\treturn h > 12 ? h-12 : ( h > 0 ? h : 12 );\n};\n\n/*\nConvert a date delta in milliseconds into a string representation of \"23 seconds ago\", \"27 minutes ago\" etc.\n\tdelta: delta in milliseconds\nReturns an object with these members:\n\tdescription: string describing the delta period\n\tupdatePeriod: time in millisecond until the string will be inaccurate\n*/\nexports.getRelativeDate = function(delta) {\n\tvar futurep = false;\n\tif(delta < 0) {\n\t\tdelta = -1 * delta;\n\t\tfuturep = true;\n\t}\n\tvar units = [\n\t\t{name: \"Years\",   duration:      365 * 24 * 60 * 60 * 1000},\n\t\t{name: \"Months\",  duration: (365/12) * 24 * 60 * 60 * 1000},\n\t\t{name: \"Days\",    duration:            24 * 60 * 60 * 1000},\n\t\t{name: \"Hours\",   duration:                 60 * 60 * 1000},\n\t\t{name: \"Minutes\", duration:                      60 * 1000},\n\t\t{name: \"Seconds\", duration:                           1000}\n\t];\n\tfor(var t=0; t<units.length; t++) {\n\t\tvar result = Math.floor(delta / units[t].duration);\n\t\tif(result >= 2) {\n\t\t\treturn {\n\t\t\t\tdelta: delta,\n\t\t\t\tdescription: $tw.language.getString(\n\t\t\t\t\t\"RelativeDate/\" + (futurep ? \"Future\" : \"Past\") + \"/\" + units[t].name,\n\t\t\t\t\t{variables:\n\t\t\t\t\t\t{period: result.toString()}\n\t\t\t\t\t}\n\t\t\t\t),\n\t\t\t\tupdatePeriod: units[t].duration\n\t\t\t};\n\t\t}\n\t}\n\treturn {\n\t\tdelta: delta,\n\t\tdescription: $tw.language.getString(\n\t\t\t\"RelativeDate/\" + (futurep ? \"Future\" : \"Past\") + \"/Second\",\n\t\t\t{variables:\n\t\t\t\t{period: \"1\"}\n\t\t\t}\n\t\t),\n\t\tupdatePeriod: 1000\n\t};\n};\n\n// Convert & to \"&amp;\", < to \"&lt;\", > to \"&gt;\", \" to \"&quot;\"\nexports.htmlEncode = function(s) {\n\tif(s) {\n\t\treturn s.toString().replace(/&/mg,\"&amp;\").replace(/</mg,\"&lt;\").replace(/>/mg,\"&gt;\").replace(/\\\"/mg,\"&quot;\");\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\n// Converts all HTML entities to their character equivalents\nexports.entityDecode = function(s) {\n\tvar converter = String.fromCodePoint || String.fromCharCode,\n\t\te = s.substr(1,s.length-2), // Strip the & and the ;\n\t\tc;\n\tif(e.charAt(0) === \"#\") {\n\t\tif(e.charAt(1) === \"x\" || e.charAt(1) === \"X\") {\n\t\t\tc = parseInt(e.substr(2),16);\n\t\t} else {\n\t\t\tc = parseInt(e.substr(1),10);\n\t\t}\n\t\tif(isNaN(c)) {\n\t\t\treturn s;\n\t\t} else {\n\t\t\treturn converter(c);\n\t\t}\n\t} else {\n\t\tc = $tw.config.htmlEntities[e];\n\t\tif(c) {\n\t\t\treturn converter(c);\n\t\t} else {\n\t\t\treturn s; // Couldn't convert it as an entity, just return it raw\n\t\t}\n\t}\n};\n\nexports.unescapeLineBreaks = function(s) {\n\treturn s.replace(/\\\\n/mg,\"\\n\").replace(/\\\\b/mg,\" \").replace(/\\\\s/mg,\"\\\\\").replace(/\\r/mg,\"\");\n};\n\n/*\n * Returns an escape sequence for given character. Uses \\x for characters <=\n * 0xFF to save space, \\u for the rest.\n *\n * The code needs to be in sync with th code template in the compilation\n * function for \"action\" nodes.\n */\n// Copied from peg.js, thanks to David Majda\nexports.escape = function(ch) {\n\tvar charCode = ch.charCodeAt(0);\n\tif(charCode <= 0xFF) {\n\t\treturn '\\\\x' + $tw.utils.pad(charCode.toString(16).toUpperCase());\n\t} else {\n\t\treturn '\\\\u' + $tw.utils.pad(charCode.toString(16).toUpperCase(),4);\n\t}\n};\n\n// Turns a string into a legal JavaScript string\n// Copied from peg.js, thanks to David Majda\nexports.stringify = function(s) {\n\t/*\n\t* ECMA-262, 5th ed., 7.8.4: All characters may appear literally in a string\n\t* literal except for the closing quote character, backslash, carriage return,\n\t* line separator, paragraph separator, and line feed. Any character may\n\t* appear in the form of an escape sequence.\n\t*\n\t* For portability, we also escape all non-ASCII characters.\n\t*/\n\treturn (s || \"\")\n\t\t.replace(/\\\\/g, '\\\\\\\\')            // backslash\n\t\t.replace(/\"/g, '\\\\\"')              // double quote character\n\t\t.replace(/'/g, \"\\\\'\")              // single quote character\n\t\t.replace(/\\r/g, '\\\\r')             // carriage return\n\t\t.replace(/\\n/g, '\\\\n')             // line feed\n\t\t.replace(/[\\x00-\\x1f\\x80-\\uFFFF]/g, exports.escape); // non-ASCII characters\n};\n\n// Turns a string into a legal JSON string\n// Derived from peg.js, thanks to David Majda\nexports.jsonStringify = function(s) {\n\t// See http://www.json.org/\n\treturn (s || \"\")\n\t\t.replace(/\\\\/g, '\\\\\\\\')            // backslash\n\t\t.replace(/\"/g, '\\\\\"')              // double quote character\n\t\t.replace(/\\r/g, '\\\\r')             // carriage return\n\t\t.replace(/\\n/g, '\\\\n')             // line feed\n\t\t.replace(/\\x08/g, '\\\\b')           // backspace\n\t\t.replace(/\\x0c/g, '\\\\f')           // formfeed\n\t\t.replace(/\\t/g, '\\\\t')             // tab\n\t\t.replace(/[\\x00-\\x1f\\x80-\\uFFFF]/g,function(s) {\n\t\t\treturn '\\\\u' + $tw.utils.pad(s.charCodeAt(0).toString(16).toUpperCase(),4);\n\t\t}); // non-ASCII characters\n};\n\n/*\nEscape the RegExp special characters with a preceding backslash\n*/\nexports.escapeRegExp = function(s) {\n    return s.replace(/[\\-\\/\\\\\\^\\$\\*\\+\\?\\.\\(\\)\\|\\[\\]\\{\\}]/g, '\\\\$&');\n};\n\n// Checks whether a link target is external, i.e. not a tiddler title\nexports.isLinkExternal = function(to) {\n\tvar externalRegExp = /^(?:file|http|https|mailto|ftp|irc|news|data|skype):[^\\s<>{}\\[\\]`|\"\\\\^]+(?:\\/|\\b)/i;\n\treturn externalRegExp.test(to);\n};\n\nexports.nextTick = function(fn) {\n/*global window: false */\n\tif(typeof process === \"undefined\") {\n\t\t// Apparently it would be faster to use postMessage - http://dbaron.org/log/20100309-faster-timeouts\n\t\twindow.setTimeout(fn,4);\n\t} else {\n\t\tprocess.nextTick(fn);\n\t}\n};\n\n/*\nConvert a hyphenated CSS property name into a camel case one\n*/\nexports.unHyphenateCss = function(propName) {\n\treturn propName.replace(/-([a-z])/gi, function(match0,match1) {\n\t\treturn match1.toUpperCase();\n\t});\n};\n\n/*\nConvert a camelcase CSS property name into a dashed one (\"backgroundColor\" --> \"background-color\")\n*/\nexports.hyphenateCss = function(propName) {\n\treturn propName.replace(/([A-Z])/g, function(match0,match1) {\n\t\treturn \"-\" + match1.toLowerCase();\n\t});\n};\n\n/*\nParse a text reference of one of these forms:\n* title\n* !!field\n* title!!field\n* title##index\n* etc\nReturns an object with the following fields, all optional:\n* title: tiddler title\n* field: tiddler field name\n* index: JSON property index\n*/\nexports.parseTextReference = function(textRef) {\n\t// Separate out the title, field name and/or JSON indices\n\tvar reTextRef = /(?:(.*?)!!(.+))|(?:(.*?)##(.+))|(.*)/mg,\n\t\tmatch = reTextRef.exec(textRef),\n\t\tresult = {};\n\tif(match && reTextRef.lastIndex === textRef.length) {\n\t\t// Return the parts\n\t\tif(match[1]) {\n\t\t\tresult.title = match[1];\n\t\t}\n\t\tif(match[2]) {\n\t\t\tresult.field = match[2];\n\t\t}\n\t\tif(match[3]) {\n\t\t\tresult.title = match[3];\n\t\t}\n\t\tif(match[4]) {\n\t\t\tresult.index = match[4];\n\t\t}\n\t\tif(match[5]) {\n\t\t\tresult.title = match[5];\n\t\t}\n\t} else {\n\t\t// If we couldn't parse it\n\t\tresult.title = textRef\n\t}\n\treturn result;\n};\n\n/*\nChecks whether a string is a valid fieldname\n*/\nexports.isValidFieldName = function(name) {\n\tif(!name || typeof name !== \"string\") {\n\t\treturn false;\n\t}\n\tname = name.toLowerCase().trim();\n\tvar fieldValidatorRegEx = /^[a-z0-9\\-\\._]+$/mg;\n\treturn fieldValidatorRegEx.test(name);\n};\n\n/*\nExtract the version number from the meta tag or from the boot file\n*/\n\n// Browser version\nexports.extractVersionInfo = function() {\n\tif($tw.packageInfo) {\n\t\treturn $tw.packageInfo.version;\n\t} else {\n\t\tvar metatags = document.getElementsByTagName(\"meta\");\n\t\tfor(var t=0; t<metatags.length; t++) {\n\t\t\tvar m = metatags[t];\n\t\t\tif(m.name === \"tiddlywiki-version\") {\n\t\t\t\treturn m.content;\n\t\t\t}\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nGet the animation duration in ms\n*/\nexports.getAnimationDuration = function() {\n\treturn parseInt($tw.wiki.getTiddlerText(\"$:/config/AnimationDuration\",\"400\"),10) || 0;\n};\n\n/*\nHash a string to a number\nDerived from http://stackoverflow.com/a/15710692\n*/\nexports.hashString = function(str) {\n\treturn str.split(\"\").reduce(function(a,b) {\n\t\ta = ((a << 5) - a) + b.charCodeAt(0);\n\t\treturn a & a;\n\t},0);\n};\n\n/*\nDecode a base64 string\n*/\nexports.base64Decode = function(string64) {\n\treturn base64utf8.base64.decode.call(base64utf8,string64);\n};\n\n/*\nEncode a string to base64\n*/\nexports.base64Encode = function(string64) {\n\treturn base64utf8.base64.encode.call(base64utf8,string64);\n};\n\n/*\nConvert a hashmap into a tiddler dictionary format sequence of name:value pairs\n*/\nexports.makeTiddlerDictionary = function(data) {\n\tvar output = [];\n\tfor(var name in data) {\n\t\toutput.push(name + \": \" + data[name]);\n\t}\n\treturn output.join(\"\\n\");\n};\n\n/*\nHigh resolution microsecond timer for profiling\n*/\nexports.timer = function(base) {\n\tvar m;\n\tif($tw.node) {\n\t\tvar r = process.hrtime();\n\t\tm =  r[0] * 1e3 + (r[1] / 1e6);\n\t} else if(window.performance) {\n\t\tm = performance.now();\n\t} else {\n\t\tm = Date.now();\n\t}\n\tif(typeof base !== \"undefined\") {\n\t\tm = m - base;\n\t}\n\treturn m;\n};\n\n/*\nConvert text and content type to a data URI\n*/\nexports.makeDataUri = function(text,type) {\n\ttype = type || \"text/vnd.tiddlywiki\";\n\tvar typeInfo = $tw.config.contentTypeInfo[type] || $tw.config.contentTypeInfo[\"text/plain\"],\n\t\tisBase64 = typeInfo.encoding === \"base64\",\n\t\tparts = [];\n\tparts.push(\"data:\");\n\tparts.push(type);\n\tparts.push(isBase64 ? \";base64\" : \"\");\n\tparts.push(\",\");\n\tparts.push(isBase64 ? text : encodeURIComponent(text));\n\treturn parts.join(\"\");\n};\n\n/*\nUseful for finding out the fully escaped CSS selector equivalent to a given tag. For example:\n\n$tw.utils.tagToCssSelector(\"$:/tags/Stylesheet\") --> tc-tagged-\\%24\\%3A\\%2Ftags\\%2FStylesheet\n*/\nexports.tagToCssSelector = function(tagName) {\n\treturn \"tc-tagged-\" + encodeURIComponent(tagName).replace(/[!\"#$%&'()*+,\\-./:;<=>?@[\\\\\\]^`{\\|}~,]/mg,function(c) {\n\t\treturn \"\\\\\" + c;\n\t});\n};\n\n/*\nIE does not have sign function\n*/\nexports.sign = Math.sign || function(x) {\n\tx = +x; // convert to a number\n\tif (x === 0 || isNaN(x)) {\n\t\treturn x;\n\t}\n\treturn x > 0 ? 1 : -1;\n};\n\n/*\nIE does not have an endsWith function\n*/\nexports.strEndsWith = function(str,ending,position) {\n\tif(str.endsWith) {\n\t\treturn str.endsWith(ending,position);\n\t} else {\n\t\tif (typeof position !== 'number' || !isFinite(position) || Math.floor(position) !== position || position > str.length) {\n\t\t\tposition = str.length;\n\t\t}\n\t\tposition -= ending.length;\n\t\tvar lastIndex = str.indexOf(ending, position);\n\t\treturn lastIndex !== -1 && lastIndex === position;\n\t}\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/widgets/action-createtiddler.js": {
            "title": "$:/core/modules/widgets/action-createtiddler.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/action-createtiddler.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to create a new tiddler with a unique name and specified fields.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar CreateTiddlerWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCreateTiddlerWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nCreateTiddlerWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nCreateTiddlerWidget.prototype.execute = function() {\n\tthis.actionBaseTitle = this.getAttribute(\"$basetitle\");\n\tthis.actionSaveTitle = this.getAttribute(\"$savetitle\");\n\tthis.actionSaveDraftTitle = this.getAttribute(\"$savedrafttitle\");\n\tthis.actionTimestamp = this.getAttribute(\"$timestamp\",\"yes\") === \"yes\";\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nCreateTiddlerWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif($tw.utils.count(changedAttributes) > 0) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nCreateTiddlerWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar title = this.wiki.generateNewTitle(this.actionBaseTitle),\n\t\tfields = {},\n\t\tcreationFields,\n\t\tmodificationFields;\n\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\tif(name.charAt(0) !== \"$\") {\n\t\t\tfields[name] = attribute;\n\t\t}\n\t});\n\tif(this.actionTimestamp) {\n\t\tcreationFields = this.wiki.getCreationFields();\n\t\tmodificationFields = this.wiki.getModificationFields();\n\t}\n\tvar tiddler = this.wiki.addTiddler(new $tw.Tiddler(creationFields,fields,modificationFields,{title: title}));\n\tif(this.actionSaveTitle) {\n\t\tthis.wiki.setTextReference(this.actionSaveTitle,title,this.getVariable(\"currentTiddler\"));\n\t}\n\tif(this.actionSaveDraftTitle) {\n\t\tthis.wiki.setTextReference(this.actionSaveDraftTitle,this.wiki.generateDraftTitle(title),this.getVariable(\"currentTiddler\"));\n\t}\n\treturn true; // Action was invoked\n};\n\nexports[\"action-createtiddler\"] = CreateTiddlerWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/action-deletefield.js": {
            "title": "$:/core/modules/widgets/action-deletefield.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/action-deletefield.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to delete fields of a tiddler.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DeleteFieldWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDeleteFieldWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDeleteFieldWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nDeleteFieldWidget.prototype.execute = function() {\n\tthis.actionTiddler = this.getAttribute(\"$tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.actionField = this.getAttribute(\"$field\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nDeleteFieldWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$tiddler\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nDeleteFieldWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar self = this,\n\t\ttiddler = this.wiki.getTiddler(self.actionTiddler),\n\t\tremoveFields = {},\n\t\thasChanged = false;\n\tif(this.actionField && tiddler) {\n\t\tremoveFields[this.actionField] = undefined;\n\t\tif(this.actionField in tiddler.fields) {\n\t\t\thasChanged = true;\n\t\t}\n\t}\n\tif(tiddler) {\n\t\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\t\tif(name.charAt(0) !== \"$\" && name !== \"title\") {\n\t\t\t\tremoveFields[name] = undefined;\n\t\t\t\thasChanged = true;\n\t\t\t}\n\t\t});\n\t\tif(hasChanged) {\n\t\t\tthis.wiki.addTiddler(new $tw.Tiddler(this.wiki.getCreationFields(),tiddler,removeFields,this.wiki.getModificationFields()));\t\t\t\n\t\t}\n\t}\n\treturn true; // Action was invoked\n};\n\nexports[\"action-deletefield\"] = DeleteFieldWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/action-deletetiddler.js": {
            "title": "$:/core/modules/widgets/action-deletetiddler.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/action-deletetiddler.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to delete a tiddler.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DeleteTiddlerWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDeleteTiddlerWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDeleteTiddlerWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nDeleteTiddlerWidget.prototype.execute = function() {\n\tthis.actionFilter = this.getAttribute(\"$filter\");\n\tthis.actionTiddler = this.getAttribute(\"$tiddler\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nDeleteTiddlerWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$filter\"] || changedAttributes[\"$tiddler\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nDeleteTiddlerWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar tiddlers = [];\n\tif(this.actionFilter) {\n\t\ttiddlers = this.wiki.filterTiddlers(this.actionFilter,this);\n\t}\n\tif(this.actionTiddler) {\n\t\ttiddlers.push(this.actionTiddler);\n\t}\n\tfor(var t=0; t<tiddlers.length; t++) {\n\t\tthis.wiki.deleteTiddler(tiddlers[t]);\n\t}\n\treturn true; // Action was invoked\n};\n\nexports[\"action-deletetiddler\"] = DeleteTiddlerWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/action-listops.js": {
            "title": "$:/core/modules/widgets/action-listops.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/action-listops.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to apply list operations to any tiddler field (defaults to the 'list' field of the current tiddler)\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\nvar ActionListopsWidget = function(parseTreeNode, options) {\n\tthis.initialise(parseTreeNode, options);\n};\n/**\n * Inherit from the base widget class\n */\nActionListopsWidget.prototype = new Widget();\n/**\n * Render this widget into the DOM\n */\nActionListopsWidget.prototype.render = function(parent, nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n/**\n * Compute the internal state of the widget\n */\nActionListopsWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.target = this.getAttribute(\"$tiddler\", this.getVariable(\n\t\t\"currentTiddler\"));\n\tthis.filter = this.getAttribute(\"$filter\");\n\tthis.subfilter = this.getAttribute(\"$subfilter\");\n\tthis.listField = this.getAttribute(\"$field\", \"list\");\n\tthis.listIndex = this.getAttribute(\"$index\");\n\tthis.filtertags = this.getAttribute(\"$tags\");\n};\n/**\n * \tRefresh the widget by ensuring our attributes are up to date\n */\nActionListopsWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.$tiddler || changedAttributes.$filter ||\n\t\tchangedAttributes.$subfilter || changedAttributes.$field ||\n\t\tchangedAttributes.$index || changedAttributes.$tags) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n/**\n * \tInvoke the action associated with this widget\n */\nActionListopsWidget.prototype.invokeAction = function(triggeringWidget,\n\tevent) {\n\t//Apply the specified filters to the lists\n\tvar field = this.listField,\n\t\tindex,\n\t\ttype = \"!!\",\n\t\tlist = this.listField;\n\tif(this.listIndex) {\n\t\tfield = undefined;\n\t\tindex = this.listIndex;\n\t\ttype = \"##\";\n\t\tlist = this.listIndex;\n\t}\n\tif(this.filter) {\n\t\tthis.wiki.setText(this.target, field, index, $tw.utils.stringifyList(\n\t\t\tthis.wiki\n\t\t\t.filterTiddlers(this.filter, this)));\n\t}\n\tif(this.subfilter) {\n\t\tvar subfilter = \"[list[\" + this.target + type + list + \"]] \" + this.subfilter;\n\t\tthis.wiki.setText(this.target, field, index, $tw.utils.stringifyList(\n\t\t\tthis.wiki\n\t\t\t.filterTiddlers(subfilter, this)));\n\t}\n\tif(this.filtertags) {\n\t\tvar tiddler = this.wiki.getTiddler(this.target),\n\t\t\toldtags = tiddler ? (tiddler.fields.tags || []).slice(0) : [],\n\t\t\ttagfilter = \"[list[\" + this.target + \"!!tags]] \" + this.filtertags,\n\t\t\tnewtags = this.wiki.filterTiddlers(tagfilter,this);\n\t\tif($tw.utils.stringifyList(oldtags.sort()) !== $tw.utils.stringifyList(newtags.sort())) {\n\t\t\tthis.wiki.setText(this.target,\"tags\",undefined,$tw.utils.stringifyList(newtags));\t\t\t\n\t\t}\n\t}\n\treturn true; // Action was invoked\n};\n\nexports[\"action-listops\"] = ActionListopsWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/action-navigate.js": {
            "title": "$:/core/modules/widgets/action-navigate.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/action-navigate.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to navigate to a tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar NavigateWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nNavigateWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nNavigateWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nNavigateWidget.prototype.execute = function() {\n\tthis.actionTo = this.getAttribute(\"$to\");\n\tthis.actionScroll = this.getAttribute(\"$scroll\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nNavigateWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$to\"] || changedAttributes[\"$scroll\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nNavigateWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tevent = event || {};\n\tvar bounds = triggeringWidget && triggeringWidget.getBoundingClientRect && triggeringWidget.getBoundingClientRect(),\n\t\tsuppressNavigation = event.metaKey || event.ctrlKey || (event.button === 1);\n\tif(this.actionScroll === \"yes\") {\n\t\tsuppressNavigation = false;\n\t} else if(this.actionScroll === \"no\") {\n\t\tsuppressNavigation = true;\n\t}\n\tthis.dispatchEvent({\n\t\ttype: \"tm-navigate\",\n\t\tnavigateTo: this.actionTo === undefined ? this.getVariable(\"currentTiddler\") : this.actionTo,\n\t\tnavigateFromTitle: this.getVariable(\"storyTiddler\"),\n\t\tnavigateFromNode: triggeringWidget,\n\t\tnavigateFromClientRect: bounds && { top: bounds.top, left: bounds.left, width: bounds.width, right: bounds.right, bottom: bounds.bottom, height: bounds.height\n\t\t},\n\t\tnavigateSuppressNavigation: suppressNavigation\n\t});\n\treturn true; // Action was invoked\n};\n\nexports[\"action-navigate\"] = NavigateWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/action-sendmessage.js": {
            "title": "$:/core/modules/widgets/action-sendmessage.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/action-sendmessage.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to send a message\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar SendMessageWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSendMessageWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSendMessageWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nSendMessageWidget.prototype.execute = function() {\n\tthis.actionMessage = this.getAttribute(\"$message\");\n\tthis.actionParam = this.getAttribute(\"$param\");\n\tthis.actionName = this.getAttribute(\"$name\");\n\tthis.actionValue = this.getAttribute(\"$value\",\"\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nSendMessageWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(Object.keys(changedAttributes).length) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nSendMessageWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\t// Get the string parameter\n\tvar param = this.actionParam;\n\t// Assemble the attributes as a hashmap\n\tvar paramObject = Object.create(null);\n\tvar count = 0;\n\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\tif(name.charAt(0) !== \"$\") {\n\t\t\tparamObject[name] = attribute;\n\t\t\tcount++;\n\t\t}\n\t});\n\t// Add name/value pair if present\n\tif(this.actionName) {\n\t\tparamObject[this.actionName] = this.actionValue;\n\t}\n\t// Dispatch the message\n\tthis.dispatchEvent({\n\t\ttype: this.actionMessage,\n\t\tparam: param,\n\t\tparamObject: paramObject,\n\t\ttiddlerTitle: this.getVariable(\"currentTiddler\"),\n\t\tnavigateFromTitle: this.getVariable(\"storyTiddler\"),\n\t\tevent: event\n\t});\n\treturn true; // Action was invoked\n};\n\nexports[\"action-sendmessage\"] = SendMessageWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/action-setfield.js": {
            "title": "$:/core/modules/widgets/action-setfield.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/action-setfield.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to set a single field or index on a tiddler.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar SetFieldWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSetFieldWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSetFieldWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nSetFieldWidget.prototype.execute = function() {\n\tthis.actionTiddler = this.getAttribute(\"$tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.actionField = this.getAttribute(\"$field\");\n\tthis.actionIndex = this.getAttribute(\"$index\");\n\tthis.actionValue = this.getAttribute(\"$value\");\n\tthis.actionTimestamp = this.getAttribute(\"$timestamp\",\"yes\") === \"yes\";\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nSetFieldWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$tiddler\"] || changedAttributes[\"$field\"] || changedAttributes[\"$index\"] || changedAttributes[\"$value\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nSetFieldWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar self = this,\n\t\toptions = {};\n\toptions.suppressTimestamp = !this.actionTimestamp;\n\tif((typeof this.actionField == \"string\") || (typeof this.actionIndex == \"string\")  || (typeof this.actionValue == \"string\")) {\n\t\tthis.wiki.setText(this.actionTiddler,this.actionField,this.actionIndex,this.actionValue,options);\n\t}\n\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\tif(name.charAt(0) !== \"$\") {\n\t\t\tself.wiki.setText(self.actionTiddler,name,undefined,attribute,options);\n\t\t}\n\t});\n\treturn true; // Action was invoked\n};\n\nexports[\"action-setfield\"] = SetFieldWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/browse.js": {
            "title": "$:/core/modules/widgets/browse.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/browse.js\ntype: application/javascript\nmodule-type: widget\n\nBrowse widget for browsing for files to import\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar BrowseWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nBrowseWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nBrowseWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\tvar domNode = this.document.createElement(\"input\");\n\tdomNode.setAttribute(\"type\",\"file\");\n\tif(this.browseMultiple) {\n\t\tdomNode.setAttribute(\"multiple\",\"multiple\");\n\t}\n\tif(this.tooltip) {\n\t\tdomNode.setAttribute(\"title\",this.tooltip);\n\t}\n\t// Nw.js supports \"nwsaveas\" to force a \"save as\" dialogue that allows a new or existing file to be selected\n\tif(this.nwsaveas) {\n\t\tdomNode.setAttribute(\"nwsaveas\",this.nwsaveas);\n\t}\n\t// Nw.js supports \"webkitdirectory\" and \"nwdirectory\" to allow a directory to be selected\n\tif(this.webkitdirectory) {\n\t\tdomNode.setAttribute(\"webkitdirectory\",this.webkitdirectory);\n\t}\n\tif(this.nwdirectory) {\n\t\tdomNode.setAttribute(\"nwdirectory\",this.nwdirectory);\n\t}\n\t// Add a click event handler\n\tdomNode.addEventListener(\"change\",function (event) {\n\t\tif(self.message) {\n\t\t\tself.dispatchEvent({type: self.message, param: self.param, files: event.target.files});\n\t\t} else {\n\t\t\tself.wiki.readFiles(event.target.files,{\n\t\t\t\tcallback: function(tiddlerFieldsArray) {\n\t\t\t\t\tself.dispatchEvent({type: \"tm-import-tiddlers\", param: JSON.stringify(tiddlerFieldsArray)});\n\t\t\t\t},\n\t\t\t\tdeserializer: self.deserializer\n\t\t\t});\n\t\t}\n\t\treturn false;\n\t},false);\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nBrowseWidget.prototype.execute = function() {\n\tthis.browseMultiple = this.getAttribute(\"multiple\");\n\tthis.deserializer = this.getAttribute(\"deserializer\");\n\tthis.message = this.getAttribute(\"message\");\n\tthis.param = this.getAttribute(\"param\");\n\tthis.tooltip = this.getAttribute(\"tooltip\");\n\tthis.nwsaveas = this.getAttribute(\"nwsaveas\");\n\tthis.webkitdirectory = this.getAttribute(\"webkitdirectory\");\n\tthis.nwdirectory = this.getAttribute(\"nwdirectory\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nBrowseWidget.prototype.refresh = function(changedTiddlers) {\n\treturn false;\n};\n\nexports.browse = BrowseWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/button.js": {
            "title": "$:/core/modules/widgets/button.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/button.js\ntype: application/javascript\nmodule-type: widget\n\nButton widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ButtonWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nButtonWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nButtonWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\tvar tag = \"button\";\n\tif(this.buttonTag && $tw.config.htmlUnsafeElements.indexOf(this.buttonTag) === -1) {\n\t\ttag = this.buttonTag;\n\t}\n\tvar domNode = this.document.createElement(tag);\n\t// Assign classes\n\tvar classes = this[\"class\"].split(\" \") || [],\n\t\tisPoppedUp = (this.popup || this.popupTitle) && this.isPoppedUp();\n\tif(this.selectedClass) {\n\t\tif((this.set || this.setTitle) && this.setTo && this.isSelected()) {\n\t\t\t$tw.utils.pushTop(classes,this.selectedClass.split(\" \"));\n\t\t}\n\t\tif(isPoppedUp) {\n\t\t\t$tw.utils.pushTop(classes,this.selectedClass.split(\" \"));\n\t\t}\n\t}\n\tif(isPoppedUp) {\n\t\t$tw.utils.pushTop(classes,\"tc-popup-handle\");\n\t}\n\tdomNode.className = classes.join(\" \");\n\t// Assign other attributes\n\tif(this.style) {\n\t\tdomNode.setAttribute(\"style\",this.style);\n\t}\n\tif(this.tooltip) {\n\t\tdomNode.setAttribute(\"title\",this.tooltip);\n\t}\n\tif(this[\"aria-label\"]) {\n\t\tdomNode.setAttribute(\"aria-label\",this[\"aria-label\"]);\n\t}\n\t// Add a click event handler\n\tdomNode.addEventListener(\"click\",function (event) {\n\t\tvar handled = false;\n\t\tif(self.invokeActions(self,event)) {\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.to) {\n\t\t\tself.navigateTo(event);\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.message) {\n\t\t\tself.dispatchMessage(event);\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.popup || self.popupTitle) {\n\t\t\tself.triggerPopup(event);\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.set || self.setTitle) {\n\t\t\tself.setTiddler();\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.actions) {\n\t\t\tself.invokeActionString(self.actions,self,event);\n\t\t}\n\t\tif(handled) {\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t}\n\t\treturn handled;\n\t},false);\n\t// Make it draggable if required\n\tif(this.dragTiddler || this.dragFilter) {\n\t\t$tw.utils.makeDraggable({\n\t\t\tdomNode: domNode,\n\t\t\tdragTiddlerFn: function() {return self.dragTiddler;},\n\t\t\tdragFilterFn: function() {return self.dragFilter;},\n\t\t\twidget: this\n\t\t});\n\t}\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nWe don't allow actions to propagate because we trigger actions ourselves\n*/\nButtonWidget.prototype.allowActionPropagation = function() {\n\treturn false;\n};\n\nButtonWidget.prototype.getBoundingClientRect = function() {\n\treturn this.domNodes[0].getBoundingClientRect();\n};\n\nButtonWidget.prototype.isSelected = function() {\n    return this.setTitle ? (this.setField ? this.wiki.getTiddler(this.setTitle).getFieldString(this.setField) === this.setTo :\n\t\t(this.setIndex ? this.wiki.extractTiddlerDataItem(this.setTitle,this.setIndex) === this.setTo :\n\t\t\tthis.wiki.getTiddlerText(this.setTitle))) || this.defaultSetValue || this.getVariable(\"currentTiddler\") :\n\t\tthis.wiki.getTextReference(this.set,this.defaultSetValue,this.getVariable(\"currentTiddler\")) === this.setTo;\n};\n\nButtonWidget.prototype.isPoppedUp = function() {\n\tvar tiddler = this.popupTitle ? this.wiki.getTiddler(this.popupTitle) : this.wiki.getTiddler(this.popup);\n\tvar result = tiddler && tiddler.fields.text ? $tw.popup.readPopupState(tiddler.fields.text) : false;\n\treturn result;\n};\n\nButtonWidget.prototype.navigateTo = function(event) {\n\tvar bounds = this.getBoundingClientRect();\n\tthis.dispatchEvent({\n\t\ttype: \"tm-navigate\",\n\t\tnavigateTo: this.to,\n\t\tnavigateFromTitle: this.getVariable(\"storyTiddler\"),\n\t\tnavigateFromNode: this,\n\t\tnavigateFromClientRect: { top: bounds.top, left: bounds.left, width: bounds.width, right: bounds.right, bottom: bounds.bottom, height: bounds.height\n\t\t},\n\t\tnavigateSuppressNavigation: event.metaKey || event.ctrlKey || (event.button === 1),\n\t\tevent: event\n\t});\n};\n\nButtonWidget.prototype.dispatchMessage = function(event) {\n\tthis.dispatchEvent({type: this.message, param: this.param, tiddlerTitle: this.getVariable(\"currentTiddler\"), event: event});\n};\n\nButtonWidget.prototype.triggerPopup = function(event) {\n\tif(this.popupTitle) {\n\t\t$tw.popup.triggerPopup({\n\t\t\tdomNode: this.domNodes[0],\n\t\t\ttitle: this.popupTitle,\n\t\t\twiki: this.wiki,\n\t\t\tnoStateReference: true\n\t\t});\n\t} else {\n\t\t$tw.popup.triggerPopup({\n\t\t\tdomNode: this.domNodes[0],\n\t\t\ttitle: this.popup,\n\t\t\twiki: this.wiki\n\t\t});\n\t}\n};\n\nButtonWidget.prototype.setTiddler = function() {\n\tif(this.setTitle) {\n\t\tthis.setField ? this.wiki.setText(this.setTitle,this.setField,undefined,this.setTo) :\n\t\t\t\t(this.setIndex ? this.wiki.setText(this.setTitle,undefined,this.setIndex,this.setTo) :\n\t\t\t\tthis.wiki.setText(this.setTitle,\"text\",undefined,this.setTo));\n\t} else {\n\t\tthis.wiki.setTextReference(this.set,this.setTo,this.getVariable(\"currentTiddler\"));\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nButtonWidget.prototype.execute = function() {\n\t// Get attributes\n\tthis.actions = this.getAttribute(\"actions\");\n\tthis.to = this.getAttribute(\"to\");\n\tthis.message = this.getAttribute(\"message\");\n\tthis.param = this.getAttribute(\"param\");\n\tthis.set = this.getAttribute(\"set\");\n\tthis.setTo = this.getAttribute(\"setTo\");\n\tthis.popup = this.getAttribute(\"popup\");\n\tthis.hover = this.getAttribute(\"hover\");\n\tthis[\"class\"] = this.getAttribute(\"class\",\"\");\n\tthis[\"aria-label\"] = this.getAttribute(\"aria-label\");\n\tthis.tooltip = this.getAttribute(\"tooltip\");\n\tthis.style = this.getAttribute(\"style\");\n\tthis.selectedClass = this.getAttribute(\"selectedClass\");\n\tthis.defaultSetValue = this.getAttribute(\"default\",\"\");\n\tthis.buttonTag = this.getAttribute(\"tag\");\n\tthis.dragTiddler = this.getAttribute(\"dragTiddler\");\n\tthis.dragFilter = this.getAttribute(\"dragFilter\");\n\tthis.setTitle = this.getAttribute(\"setTitle\");\n\tthis.setField = this.getAttribute(\"setField\");\n\tthis.setIndex = this.getAttribute(\"setIndex\");\n\tthis.popupTitle = this.getAttribute(\"popupTitle\");\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nButtonWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.to || changedAttributes.message || changedAttributes.param || changedAttributes.set || changedAttributes.setTo || changedAttributes.popup || changedAttributes.hover || changedAttributes[\"class\"] || changedAttributes.selectedClass || changedAttributes.style || changedAttributes.dragFilter || changedAttributes.dragTiddler || (this.set && changedTiddlers[this.set]) || (this.popup && changedTiddlers[this.popup]) || (this.popupTitle && changedTiddlers[this.popupTitle]) || changedAttributes.setTitle || changedAttributes.setField || changedAttributes.setIndex || changedAttributes.popupTitle) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.button = ButtonWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/checkbox.js": {
            "title": "$:/core/modules/widgets/checkbox.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/checkbox.js\ntype: application/javascript\nmodule-type: widget\n\nCheckbox widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar CheckboxWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCheckboxWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nCheckboxWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Create our elements\n\tthis.labelDomNode = this.document.createElement(\"label\");\n\tthis.labelDomNode.setAttribute(\"class\",this.checkboxClass);\n\tthis.inputDomNode = this.document.createElement(\"input\");\n\tthis.inputDomNode.setAttribute(\"type\",\"checkbox\");\n\tif(this.getValue()) {\n\t\tthis.inputDomNode.setAttribute(\"checked\",\"true\");\n\t}\n\tthis.labelDomNode.appendChild(this.inputDomNode);\n\tthis.spanDomNode = this.document.createElement(\"span\");\n\tthis.labelDomNode.appendChild(this.spanDomNode);\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(this.inputDomNode,[\n\t\t{name: \"change\", handlerObject: this, handlerMethod: \"handleChangeEvent\"}\n\t]);\n\t// Insert the label into the DOM and render any children\n\tparent.insertBefore(this.labelDomNode,nextSibling);\n\tthis.renderChildren(this.spanDomNode,null);\n\tthis.domNodes.push(this.labelDomNode);\n};\n\nCheckboxWidget.prototype.getValue = function() {\n\tvar tiddler = this.wiki.getTiddler(this.checkboxTitle);\n\tif(tiddler) {\n\t\tif(this.checkboxTag) {\n\t\t\tif(this.checkboxInvertTag) {\n\t\t\t\treturn !tiddler.hasTag(this.checkboxTag);\n\t\t\t} else {\n\t\t\t\treturn tiddler.hasTag(this.checkboxTag);\n\t\t\t}\n\t\t}\n\t\tif(this.checkboxField) {\n\t\t\tvar value;\n\t\t\tif($tw.utils.hop(tiddler.fields,this.checkboxField)) {\n\t\t\t\tvalue = tiddler.fields[this.checkboxField] || \"\";\n\t\t\t} else {\n\t\t\t\tvalue = this.checkboxDefault || \"\";\n\t\t\t}\n\t\t\tif(value === this.checkboxChecked) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif(value === this.checkboxUnchecked) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\tif(this.checkboxIndex) {\n\t\t\tvar value = this.wiki.extractTiddlerDataItem(tiddler,this.checkboxIndex,this.checkboxDefault || \"\");\n\t\t\tif(value === this.checkboxChecked) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif(value === this.checkboxUnchecked) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t} else {\n\t\tif(this.checkboxTag) {\n\t\t\treturn false;\n\t\t}\n\t\tif(this.checkboxField) {\n\t\t\tif(this.checkboxDefault === this.checkboxChecked) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif(this.checkboxDefault === this.checkboxUnchecked) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n};\n\nCheckboxWidget.prototype.handleChangeEvent = function(event) {\n\tvar checked = this.inputDomNode.checked,\n\t\ttiddler = this.wiki.getTiddler(this.checkboxTitle),\n\t\tfallbackFields = {text: \"\"},\n\t\tnewFields = {title: this.checkboxTitle},\n\t\thasChanged = false,\n\t\ttagCheck = false,\n\t\thasTag = tiddler && tiddler.hasTag(this.checkboxTag),\n\t\tvalue = checked ? this.checkboxChecked : this.checkboxUnchecked;\n\tif(this.checkboxTag && this.checkboxInvertTag === \"yes\") {\n\t\ttagCheck = hasTag === checked;\n\t} else {\n\t\ttagCheck = hasTag !== checked;\n\t}\n\t// Set the tag if specified\n\tif(this.checkboxTag && (!tiddler || tagCheck)) {\n\t\tnewFields.tags = tiddler ? (tiddler.fields.tags || []).slice(0) : [];\n\t\tvar pos = newFields.tags.indexOf(this.checkboxTag);\n\t\tif(pos !== -1) {\n\t\t\tnewFields.tags.splice(pos,1);\n\t\t}\n\t\tif(this.checkboxInvertTag === \"yes\" && !checked) {\n\t\t\tnewFields.tags.push(this.checkboxTag);\n\t\t} else if(this.checkboxInvertTag !== \"yes\" && checked) {\n\t\t\tnewFields.tags.push(this.checkboxTag);\n\t\t}\n\t\thasChanged = true;\n\t}\n\t// Set the field if specified\n\tif(this.checkboxField) {\n\t\tif(!tiddler || tiddler.fields[this.checkboxField] !== value) {\n\t\t\tnewFields[this.checkboxField] = value;\n\t\t\thasChanged = true;\n\t\t}\n\t}\n\t// Set the index if specified\n\tif(this.checkboxIndex) {\n\t\tvar indexValue = this.wiki.extractTiddlerDataItem(this.checkboxTitle,this.checkboxIndex);\n\t\tif(!tiddler || indexValue !== value) {\n\t\t\thasChanged = true;\n\t\t}\n\t}\n\tif(hasChanged) {\n\t\tif(this.checkboxIndex) {\n\t\t\tthis.wiki.setText(this.checkboxTitle,\"\",this.checkboxIndex,value);\n\t\t} else {\n\t\t\tthis.wiki.addTiddler(new $tw.Tiddler(this.wiki.getCreationFields(),fallbackFields,tiddler,newFields,this.wiki.getModificationFields()));\n\t\t}\n\t}\n\t// Trigger actions\n\tif(this.checkboxActions) {\n\t\tthis.invokeActionString(this.checkboxActions,this,event);\n\t}\n\tif(this.checkboxCheckActions && checked) {\n\t\tthis.invokeActionString(this.checkboxCheckActions,this,event);\n\t}\n\tif(this.checkboxUncheckActions && !checked) {\n\t\tthis.invokeActionString(this.checkboxUncheckActions,this,event);\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nCheckboxWidget.prototype.execute = function() {\n\t// Get the parameters from the attributes\n\tthis.checkboxActions = this.getAttribute(\"actions\");\n\tthis.checkboxCheckActions = this.getAttribute(\"checkactions\");\n\tthis.checkboxUncheckActions = this.getAttribute(\"uncheckactions\");\n\tthis.checkboxTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.checkboxTag = this.getAttribute(\"tag\");\n\tthis.checkboxField = this.getAttribute(\"field\");\n\tthis.checkboxIndex = this.getAttribute(\"index\");\n\tthis.checkboxChecked = this.getAttribute(\"checked\");\n\tthis.checkboxUnchecked = this.getAttribute(\"unchecked\");\n\tthis.checkboxDefault = this.getAttribute(\"default\");\n\tthis.checkboxClass = this.getAttribute(\"class\",\"\");\n\tthis.checkboxInvertTag = this.getAttribute(\"invertTag\",\"\");\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nCheckboxWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.tag || changedAttributes.invertTag || changedAttributes.field || changedAttributes.index || changedAttributes.checked || changedAttributes.unchecked || changedAttributes[\"default\"] || changedAttributes[\"class\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tvar refreshed = false;\n\t\tif(changedTiddlers[this.checkboxTitle]) {\n\t\t\tthis.inputDomNode.checked = this.getValue();\n\t\t\trefreshed = true;\n\t\t}\n\t\treturn this.refreshChildren(changedTiddlers) || refreshed;\n\t}\n};\n\nexports.checkbox = CheckboxWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/codeblock.js": {
            "title": "$:/core/modules/widgets/codeblock.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/codeblock.js\ntype: application/javascript\nmodule-type: widget\n\nCode block node widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar CodeBlockWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCodeBlockWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nCodeBlockWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar codeNode = this.document.createElement(\"code\"),\n\t\tdomNode = this.document.createElement(\"pre\");\n\tcodeNode.appendChild(this.document.createTextNode(this.getAttribute(\"code\")));\n\tdomNode.appendChild(codeNode);\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.domNodes.push(domNode);\n\tif(this.postRender) {\n\t\tthis.postRender();\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nCodeBlockWidget.prototype.execute = function() {\n\tthis.language = this.getAttribute(\"language\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nCodeBlockWidget.prototype.refresh = function(changedTiddlers) {\n\treturn false;\n};\n\nexports.codeblock = CodeBlockWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/count.js": {
            "title": "$:/core/modules/widgets/count.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/count.js\ntype: application/javascript\nmodule-type: widget\n\nCount widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar CountWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCountWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nCountWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar textNode = this.document.createTextNode(this.currentCount);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nCountWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.filter = this.getAttribute(\"filter\");\n\t// Execute the filter\n\tif(this.filter) {\n\t\tthis.currentCount = this.wiki.filterTiddlers(this.filter,this).length;\n\t} else {\n\t\tthis.currentCount = undefined;\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nCountWidget.prototype.refresh = function(changedTiddlers) {\n\t// Re-execute the filter to get the count\n\tthis.computeAttributes();\n\tvar oldCount = this.currentCount;\n\tthis.execute();\n\tif(this.currentCount !== oldCount) {\n\t\t// Regenerate and rerender the widget and replace the existing DOM node\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n\n};\n\nexports.count = CountWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/diff-text.js": {
            "title": "$:/core/modules/widgets/diff-text.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/diff-text.js\ntype: application/javascript\nmodule-type: widget\n\nWidget to display a diff between two texts\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget,\n\tdmp = require(\"$:/core/modules/utils/diff-match-patch/diff_match_patch.js\");\n\nvar DiffTextWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDiffTextWidget.prototype = new Widget();\n\nDiffTextWidget.prototype.invisibleCharacters = {\n\t\"\\n\": \"↩︎\\n\",\n\t\"\\r\": \"⇠\",\n\t\"\\t\": \"⇥\\t\"\n};\n\n/*\nRender this widget into the DOM\n*/\nDiffTextWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create the diff\n\tvar dmpObject = new dmp.diff_match_patch(),\n\t\tdiffs = dmpObject.diff_main(this.getAttribute(\"source\"),this.getAttribute(\"dest\"));\n\t// Apply required cleanup\n\tswitch(this.getAttribute(\"cleanup\",\"semantic\")) {\n\t\tcase \"none\":\n\t\t\t// No cleanup\n\t\t\tbreak;\n\t\tcase \"efficiency\":\n\t\t\tdmpObject.diff_cleanupEfficiency(diffs);\n\t\t\tbreak;\n\t\tdefault: // case \"semantic\"\n\t\t\tdmpObject.diff_cleanupSemantic(diffs);\n\t\t\tbreak;\n\t}\n\t// Create the elements\n\tvar domContainer = this.document.createElement(\"div\"), \n\t\tdomDiff = this.createDiffDom(diffs);\n\tparent.insertBefore(domContainer,nextSibling);\n\t// Set variables\n\tthis.setVariable(\"diff-count\",diffs.reduce(function(acc,diff) {\n\t\tif(diff[0] !== dmp.DIFF_EQUAL) {\n\t\t\tacc++;\n\t\t}\n\t\treturn acc;\n\t},0).toString());\n\t// Render child widgets\n\tthis.renderChildren(domContainer,null);\n\t// Render the diff\n\tdomContainer.appendChild(domDiff);\n\t// Save our container\n\tthis.domNodes.push(domContainer);\n};\n\n/*\nCreate DOM elements representing a list of diffs\n*/\nDiffTextWidget.prototype.createDiffDom = function(diffs) {\n\tvar self = this;\n\t// Create the element and assign the attributes\n\tvar domPre = this.document.createElement(\"pre\"),\n\t\tdomCode = this.document.createElement(\"code\");\n\t$tw.utils.each(diffs,function(diff) {\n\t\tvar tag = diff[0] === dmp.DIFF_INSERT ? \"ins\" : (diff[0] === dmp.DIFF_DELETE ? \"del\" : \"span\"),\n\t\t\tclassName = diff[0] === dmp.DIFF_INSERT ? \"tc-diff-insert\" : (diff[0] === dmp.DIFF_DELETE ? \"tc-diff-delete\" : \"tc-diff-equal\"),\n\t\t\tdom = self.document.createElement(tag),\n\t\t\ttext = diff[1],\n\t\t\tcurrPos = 0,\n\t\t\tre = /([\\x00-\\x1F])/mg,\n\t\t\tmatch = re.exec(text),\n\t\t\tspan,\n\t\t\tprintable;\n\t\tdom.className = className;\n\t\twhile(match) {\n\t\t\tif(currPos < match.index) {\n\t\t\t\tdom.appendChild(self.document.createTextNode(text.slice(currPos,match.index)));\n\t\t\t}\n\t\t\tspan = self.document.createElement(\"span\");\n\t\t\tspan.className = \"tc-diff-invisible\";\n\t\t\tprintable = self.invisibleCharacters[match[0]] || (\"[0x\" + match[0].charCodeAt(0).toString(16) + \"]\");\n\t\t\tspan.appendChild(self.document.createTextNode(printable));\n\t\t\tdom.appendChild(span);\n\t\t\tcurrPos = match.index + match[0].length;\n\t\t\tmatch = re.exec(text);\n\t\t}\n\t\tif(currPos < text.length) {\n\t\t\tdom.appendChild(self.document.createTextNode(text.slice(currPos)));\n\t\t}\n\t\tdomCode.appendChild(dom);\n\t});\n\tdomPre.appendChild(domCode);\n\treturn domPre;\n};\n\n/*\nCompute the internal state of the widget\n*/\nDiffTextWidget.prototype.execute = function() {\n\t// Make child widgets\n\tvar parseTreeNodes;\n\tif(this.parseTreeNode && this.parseTreeNode.children && this.parseTreeNode.children.length > 0) {\n\t\tparseTreeNodes = this.parseTreeNode.children;\n\t} else {\n\t\tparseTreeNodes = [{\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {type: \"string\", value: \"$:/language/Diffs/CountMessage\"}\n\t\t\t}\n\t\t}];\n\t}\n\tthis.makeChildWidgets(parseTreeNodes);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nDiffTextWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.source || changedAttributes.dest || changedAttributes.cleanup) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports[\"diff-text\"] = DiffTextWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/draggable.js": {
            "title": "$:/core/modules/widgets/draggable.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/draggable.js\ntype: application/javascript\nmodule-type: widget\n\nDraggable widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DraggableWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDraggableWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDraggableWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Sanitise the specified tag\n\tvar tag = this.draggableTag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"div\";\n\t}\n\t// Create our element\n\tvar domNode = this.document.createElement(tag);\n\t// Assign classes\n\tvar classes = [\"tc-draggable\"];\n\tif(this.draggableClasses) {\n\t\tclasses.push(this.draggableClasses);\n\t}\n\tdomNode.setAttribute(\"class\",classes.join(\" \"));\n\t// Add event handlers\n\t$tw.utils.makeDraggable({\n\t\tdomNode: domNode,\n\t\tdragTiddlerFn: function() {return self.getAttribute(\"tiddler\");},\n\t\tdragFilterFn: function() {return self.getAttribute(\"filter\");},\n\t\tstartActions: self.startActions,\n\t\tendActions: self.endActions,\n\t\twidget: this\n\t});\n\t// Insert the link into the DOM and render any children\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nDraggableWidget.prototype.execute = function() {\n\t// Pick up our attributes\n\tthis.draggableTag = this.getAttribute(\"tag\",\"div\");\n\tthis.draggableClasses = this.getAttribute(\"class\");\n\tthis.startActions = this.getAttribute(\"startactions\");\n\tthis.endActions = this.getAttribute(\"endactions\");\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nDraggableWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedTiddlers.tag || changedTiddlers[\"class\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.draggable = DraggableWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/droppable.js": {
            "title": "$:/core/modules/widgets/droppable.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/droppable.js\ntype: application/javascript\nmodule-type: widget\n\nDroppable widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DroppableWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDroppableWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDroppableWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar tag = this.parseTreeNode.isBlock ? \"div\" : \"span\";\n\tif(this.droppableTag && $tw.config.htmlUnsafeElements.indexOf(this.droppableTag) === -1) {\n\t\ttag = this.droppableTag;\n\t}\n\t// Create element and assign classes\n\tvar domNode = this.document.createElement(tag),\n\t\tclasses = (this[\"class\"] || \"\").split(\" \");\n\tclasses.push(\"tc-droppable\");\n\tdomNode.className = classes.join(\" \");\n\t// Add event handlers\n\t$tw.utils.addEventListeners(domNode,[\n\t\t{name: \"dragenter\", handlerObject: this, handlerMethod: \"handleDragEnterEvent\"},\n\t\t{name: \"dragover\", handlerObject: this, handlerMethod: \"handleDragOverEvent\"},\n\t\t{name: \"dragleave\", handlerObject: this, handlerMethod: \"handleDragLeaveEvent\"},\n\t\t{name: \"drop\", handlerObject: this, handlerMethod: \"handleDropEvent\"}\n\t]);\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n\t// Stack of outstanding enter/leave events\n\tthis.currentlyEntered = [];\n};\n\nDroppableWidget.prototype.enterDrag = function(event) {\n\tif(this.currentlyEntered.indexOf(event.target) === -1) {\n\t\tthis.currentlyEntered.push(event.target);\n\t}\n\t// If we're entering for the first time we need to apply highlighting\n\t$tw.utils.addClass(this.domNodes[0],\"tc-dragover\");\n};\n\nDroppableWidget.prototype.leaveDrag = function(event) {\n\tvar pos = this.currentlyEntered.indexOf(event.target);\n\tif(pos !== -1) {\n\t\tthis.currentlyEntered.splice(pos,1);\n\t}\n\t// Remove highlighting if we're leaving externally. The hacky second condition is to resolve a problem with Firefox whereby there is an erroneous dragenter event if the node being dragged is within the dropzone\n\tif(this.currentlyEntered.length === 0 || (this.currentlyEntered.length === 1 && this.currentlyEntered[0] === $tw.dragInProgress)) {\n\t\tthis.currentlyEntered = [];\n\t\t$tw.utils.removeClass(this.domNodes[0],\"tc-dragover\");\n\t}\n};\n\nDroppableWidget.prototype.handleDragEnterEvent  = function(event) {\n\tthis.enterDrag(event);\n\t// Tell the browser that we're ready to handle the drop\n\tevent.preventDefault();\n\t// Tell the browser not to ripple the drag up to any parent drop handlers\n\tevent.stopPropagation();\n\treturn false;\n};\n\nDroppableWidget.prototype.handleDragOverEvent  = function(event) {\n\t// Check for being over a TEXTAREA or INPUT\n\tif([\"TEXTAREA\",\"INPUT\"].indexOf(event.target.tagName) !== -1) {\n\t\treturn false;\n\t}\n\t// Tell the browser that we're still interested in the drop\n\tevent.preventDefault();\n\t// Set the drop effect\n\tevent.dataTransfer.dropEffect = this.droppableEffect;\n\treturn false;\n};\n\nDroppableWidget.prototype.handleDragLeaveEvent  = function(event) {\n\tthis.leaveDrag(event);\n\treturn false;\n};\n\nDroppableWidget.prototype.handleDropEvent  = function(event) {\n\tvar self = this;\n\tthis.leaveDrag(event);\n\t// Check for being over a TEXTAREA or INPUT\n\tif([\"TEXTAREA\",\"INPUT\"].indexOf(event.target.tagName) !== -1) {\n\t\treturn false;\n\t}\n\tvar dataTransfer = event.dataTransfer;\n\t// Remove highlighting\n\t$tw.utils.removeClass(this.domNodes[0],\"tc-dragover\");\n\t// Try to import the various data types we understand\n\t$tw.utils.importDataTransfer(dataTransfer,null,function(fieldsArray) {\n\t\tfieldsArray.forEach(function(fields) {\n\t\t\tself.performActions(fields.title || fields.text,event);\n\t\t});\n\t});\n\t// Tell the browser that we handled the drop\n\tevent.preventDefault();\n\t// Stop the drop ripple up to any parent handlers\n\tevent.stopPropagation();\n\treturn false;\n};\n\nDroppableWidget.prototype.performActions = function(title,event) {\n\tif(this.droppableActions) {\n\t\tvar modifierKey = event.ctrlKey && ! event.shiftKey ? \"ctrl\" : event.shiftKey && !event.ctrlKey ? \"shift\" : \n\t\t\t\tevent.ctrlKey && event.shiftKey ? \"ctrl-shift\" : \"normal\" ;\n\t\tthis.invokeActionString(this.droppableActions,this,event,{actionTiddler: title, modifier: modifierKey});\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nDroppableWidget.prototype.execute = function() {\n\tthis.droppableActions = this.getAttribute(\"actions\");\n\tthis.droppableEffect = this.getAttribute(\"effect\",\"copy\");\n\tthis.droppableTag = this.getAttribute(\"tag\");\n\tthis.droppableClass = this.getAttribute(\"class\");\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nDroppableWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"class\"] || changedAttributes.tag) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.droppable = DroppableWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/dropzone.js": {
            "title": "$:/core/modules/widgets/dropzone.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/dropzone.js\ntype: application/javascript\nmodule-type: widget\n\nDropzone widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DropZoneWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDropZoneWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDropZoneWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\tvar domNode = this.document.createElement(\"div\");\n\tdomNode.className = \"tc-dropzone\";\n\t// Add event handlers\n\t$tw.utils.addEventListeners(domNode,[\n\t\t{name: \"dragenter\", handlerObject: this, handlerMethod: \"handleDragEnterEvent\"},\n\t\t{name: \"dragover\", handlerObject: this, handlerMethod: \"handleDragOverEvent\"},\n\t\t{name: \"dragleave\", handlerObject: this, handlerMethod: \"handleDragLeaveEvent\"},\n\t\t{name: \"drop\", handlerObject: this, handlerMethod: \"handleDropEvent\"},\n\t\t{name: \"paste\", handlerObject: this, handlerMethod: \"handlePasteEvent\"},\n\t\t{name: \"dragend\", handlerObject: this, handlerMethod: \"handleDragEndEvent\"}\n\t]);\n\tdomNode.addEventListener(\"click\",function (event) {\n\t},false);\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n\t// Stack of outstanding enter/leave events\n\tthis.currentlyEntered = [];\n};\n\nDropZoneWidget.prototype.enterDrag = function(event) {\n\tif(this.currentlyEntered.indexOf(event.target) === -1) {\n\t\tthis.currentlyEntered.push(event.target);\n\t}\n\t// If we're entering for the first time we need to apply highlighting\n\t$tw.utils.addClass(this.domNodes[0],\"tc-dragover\");\n};\n\nDropZoneWidget.prototype.leaveDrag = function(event) {\n\tvar pos = this.currentlyEntered.indexOf(event.target);\n\tif(pos !== -1) {\n\t\tthis.currentlyEntered.splice(pos,1);\n\t}\n\t// Remove highlighting if we're leaving externally\n\tif(this.currentlyEntered.length === 0) {\n\t\t$tw.utils.removeClass(this.domNodes[0],\"tc-dragover\");\n\t}\n};\n\nDropZoneWidget.prototype.handleDragEnterEvent  = function(event) {\n\t// Check for this window being the source of the drag\n\tif($tw.dragInProgress) {\n\t\treturn false;\n\t}\n\tthis.enterDrag(event);\n\t// Tell the browser that we're ready to handle the drop\n\tevent.preventDefault();\n\t// Tell the browser not to ripple the drag up to any parent drop handlers\n\tevent.stopPropagation();\n};\n\nDropZoneWidget.prototype.handleDragOverEvent  = function(event) {\n\t// Check for being over a TEXTAREA or INPUT\n\tif([\"TEXTAREA\",\"INPUT\"].indexOf(event.target.tagName) !== -1) {\n\t\treturn false;\n\t}\n\t// Check for this window being the source of the drag\n\tif($tw.dragInProgress) {\n\t\treturn false;\n\t}\n\t// Tell the browser that we're still interested in the drop\n\tevent.preventDefault();\n\tevent.dataTransfer.dropEffect = \"copy\"; // Explicitly show this is a copy\n};\n\nDropZoneWidget.prototype.handleDragLeaveEvent  = function(event) {\n\tthis.leaveDrag(event);\n};\n\nDropZoneWidget.prototype.handleDragEndEvent = function(event) {\n\t$tw.utils.removeClass(this.domNodes[0],\"tc-dragover\");\n};\n\nDropZoneWidget.prototype.handleDropEvent  = function(event) {\n\tvar self = this,\n\t\treadFileCallback = function(tiddlerFieldsArray) {\n\t\t\tself.dispatchEvent({type: \"tm-import-tiddlers\", param: JSON.stringify(tiddlerFieldsArray)});\n\t\t};\n\tthis.leaveDrag(event);\n\t// Check for being over a TEXTAREA or INPUT\n\tif([\"TEXTAREA\",\"INPUT\"].indexOf(event.target.tagName) !== -1) {\n\t\treturn false;\n\t}\n\t// Check for this window being the source of the drag\n\tif($tw.dragInProgress) {\n\t\treturn false;\n\t}\n\tvar self = this,\n\t\tdataTransfer = event.dataTransfer;\n\t// Remove highlighting\n\t$tw.utils.removeClass(this.domNodes[0],\"tc-dragover\");\n\t// Import any files in the drop\n\tvar numFiles = 0;\n\tif(dataTransfer.files) {\n\t\tnumFiles = this.wiki.readFiles(dataTransfer.files,{\n\t\t\tcallback: readFileCallback,\n\t\t\tdeserializer: this.dropzoneDeserializer\n\t\t});\n\t}\n\t// Try to import the various data types we understand\n\tif(numFiles === 0) {\n\t\t$tw.utils.importDataTransfer(dataTransfer,this.wiki.generateNewTitle(\"Untitled\"),readFileCallback);\n\t}\n\t// Tell the browser that we handled the drop\n\tevent.preventDefault();\n\t// Stop the drop ripple up to any parent handlers\n\tevent.stopPropagation();\n};\n\nDropZoneWidget.prototype.handlePasteEvent  = function(event) {\n\tvar self = this,\n\t\treadFileCallback = function(tiddlerFieldsArray) {\n\t\t\tself.dispatchEvent({type: \"tm-import-tiddlers\", param: JSON.stringify(tiddlerFieldsArray)});\n\t\t};\n\t// Let the browser handle it if we're in a textarea or input box\n\tif([\"TEXTAREA\",\"INPUT\"].indexOf(event.target.tagName) == -1 && !event.target.isContentEditable) {\n\t\tvar self = this,\n\t\t\titems = event.clipboardData.items;\n\t\t// Enumerate the clipboard items\n\t\tfor(var t = 0; t<items.length; t++) {\n\t\t\tvar item = items[t];\n\t\t\tif(item.kind === \"file\") {\n\t\t\t\t// Import any files\n\t\t\t\tthis.wiki.readFile(item.getAsFile(),{\n\t\t\t\t\tcallback: readFileCallback,\n\t\t\t\t\tdeserializer: this.dropzoneDeserializer\n\t\t\t\t});\n\t\t\t} else if(item.kind === \"string\") {\n\t\t\t\t// Create tiddlers from string items\n\t\t\t\tvar type = item.type;\n\t\t\t\titem.getAsString(function(str) {\n\t\t\t\t\tvar tiddlerFields = {\n\t\t\t\t\t\ttitle: self.wiki.generateNewTitle(\"Untitled\"),\n\t\t\t\t\t\ttext: str,\n\t\t\t\t\t\ttype: type\n\t\t\t\t\t};\n\t\t\t\t\tif($tw.log.IMPORT) {\n\t\t\t\t\t\tconsole.log(\"Importing string '\" + str + \"', type: '\" + type + \"'\");\n\t\t\t\t\t}\n\t\t\t\t\tself.dispatchEvent({type: \"tm-import-tiddlers\", param: JSON.stringify([tiddlerFields])});\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\t// Tell the browser that we've handled the paste\n\t\tevent.stopPropagation();\n\t\tevent.preventDefault();\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nDropZoneWidget.prototype.execute = function() {\n\tthis.dropzoneDeserializer = this.getAttribute(\"deserializer\");\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nDropZoneWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.dropzone = DropZoneWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/edit-binary.js": {
            "title": "$:/core/modules/widgets/edit-binary.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/edit-binary.js\ntype: application/javascript\nmodule-type: widget\n\nEdit-binary widget; placeholder for editing binary tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar BINARY_WARNING_MESSAGE = \"$:/core/ui/BinaryWarning\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EditBinaryWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEditBinaryWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEditBinaryWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nEditBinaryWidget.prototype.execute = function() {\n\t// Construct the child widgets\n\tthis.makeChildWidgets([{\n\t\ttype: \"transclude\",\n\t\tattributes: {\n\t\t\ttiddler: {type: \"string\", value: BINARY_WARNING_MESSAGE}\n\t\t}\n\t}]);\n};\n\n/*\nRefresh by refreshing our child widget\n*/\nEditBinaryWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports[\"edit-binary\"] = EditBinaryWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/edit-bitmap.js": {
            "title": "$:/core/modules/widgets/edit-bitmap.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/edit-bitmap.js\ntype: application/javascript\nmodule-type: widget\n\nEdit-bitmap widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Default image sizes\nvar DEFAULT_IMAGE_WIDTH = 600,\n\tDEFAULT_IMAGE_HEIGHT = 370,\n\tDEFAULT_IMAGE_TYPE = \"image/png\";\n\n// Configuration tiddlers\nvar LINE_WIDTH_TITLE = \"$:/config/BitmapEditor/LineWidth\",\n\tLINE_COLOUR_TITLE = \"$:/config/BitmapEditor/Colour\",\n\tLINE_OPACITY_TITLE = \"$:/config/BitmapEditor/Opacity\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EditBitmapWidget = function(parseTreeNode,options) {\n\t// Initialise the editor operations if they've not been done already\n\tif(!this.editorOperations) {\n\t\tEditBitmapWidget.prototype.editorOperations = {};\n\t\t$tw.modules.applyMethods(\"bitmapeditoroperation\",this.editorOperations);\n\t}\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEditBitmapWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEditBitmapWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Create the wrapper for the toolbar and render its content\n\tthis.toolbarNode = this.document.createElement(\"div\");\n\tthis.toolbarNode.className = \"tc-editor-toolbar\";\n\tparent.insertBefore(this.toolbarNode,nextSibling);\n\tthis.domNodes.push(this.toolbarNode);\n\t// Create the on-screen canvas\n\tthis.canvasDomNode = $tw.utils.domMaker(\"canvas\",{\n\t\tdocument: this.document,\n\t\t\"class\":\"tc-edit-bitmapeditor\",\n\t\teventListeners: [{\n\t\t\tname: \"touchstart\", handlerObject: this, handlerMethod: \"handleTouchStartEvent\"\n\t\t},{\n\t\t\tname: \"touchmove\", handlerObject: this, handlerMethod: \"handleTouchMoveEvent\"\n\t\t},{\n\t\t\tname: \"touchend\", handlerObject: this, handlerMethod: \"handleTouchEndEvent\"\n\t\t},{\n\t\t\tname: \"mousedown\", handlerObject: this, handlerMethod: \"handleMouseDownEvent\"\n\t\t},{\n\t\t\tname: \"mousemove\", handlerObject: this, handlerMethod: \"handleMouseMoveEvent\"\n\t\t},{\n\t\t\tname: \"mouseup\", handlerObject: this, handlerMethod: \"handleMouseUpEvent\"\n\t\t}]\n\t});\n\t// Set the width and height variables\n\tthis.setVariable(\"tv-bitmap-editor-width\",this.canvasDomNode.width + \"px\");\n\tthis.setVariable(\"tv-bitmap-editor-height\",this.canvasDomNode.height + \"px\");\n\t// Render toolbar child widgets\n\tthis.renderChildren(this.toolbarNode,null);\n\t// // Insert the elements into the DOM\n\tparent.insertBefore(this.canvasDomNode,nextSibling);\n\tthis.domNodes.push(this.canvasDomNode);\n\t// Load the image into the canvas\n\tif($tw.browser) {\n\t\tthis.loadCanvas();\n\t}\n\t// Add widget message listeners\n\tthis.addEventListeners([\n\t\t{type: \"tm-edit-bitmap-operation\", handler: \"handleEditBitmapOperationMessage\"}\n\t]);\n};\n\n/*\nHandle an edit bitmap operation message from the toolbar\n*/\nEditBitmapWidget.prototype.handleEditBitmapOperationMessage = function(event) {\n\t// Invoke the handler\n\tvar handler = this.editorOperations[event.param];\n\tif(handler) {\n\t\thandler.call(this,event);\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nEditBitmapWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.editTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nJust refresh the toolbar\n*/\nEditBitmapWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nSet the bitmap size variables and refresh the toolbar\n*/\nEditBitmapWidget.prototype.refreshToolbar = function() {\n\t// Set the width and height variables\n\tthis.setVariable(\"tv-bitmap-editor-width\",this.canvasDomNode.width + \"px\");\n\tthis.setVariable(\"tv-bitmap-editor-height\",this.canvasDomNode.height + \"px\");\n\t// Refresh each of our child widgets\n\t$tw.utils.each(this.children,function(childWidget) {\n\t\tchildWidget.refreshSelf();\n\t});\n};\n\nEditBitmapWidget.prototype.loadCanvas = function() {\n\tvar tiddler = this.wiki.getTiddler(this.editTitle),\n\t\tcurrImage = new Image();\n\t// Set up event handlers for loading the image\n\tvar self = this;\n\tcurrImage.onload = function() {\n\t\t// Copy the image to the on-screen canvas\n\t\tself.initCanvas(self.canvasDomNode,currImage.width,currImage.height,currImage);\n\t\t// And also copy the current bitmap to the off-screen canvas\n\t\tself.currCanvas = self.document.createElement(\"canvas\");\n\t\tself.initCanvas(self.currCanvas,currImage.width,currImage.height,currImage);\n\t\t// Set the width and height input boxes\n\t\tself.refreshToolbar();\n\t};\n\tcurrImage.onerror = function() {\n\t\t// Set the on-screen canvas size and clear it\n\t\tself.initCanvas(self.canvasDomNode,DEFAULT_IMAGE_WIDTH,DEFAULT_IMAGE_HEIGHT);\n\t\t// Set the off-screen canvas size and clear it\n\t\tself.currCanvas = self.document.createElement(\"canvas\");\n\t\tself.initCanvas(self.currCanvas,DEFAULT_IMAGE_WIDTH,DEFAULT_IMAGE_HEIGHT);\n\t\t// Set the width and height input boxes\n\t\tself.refreshToolbar();\n\t};\n\t// Get the current bitmap into an image object\n\tif(tiddler && tiddler.fields.type && tiddler.fields.text) {\n\t\tcurrImage.src = \"data:\" + tiddler.fields.type + \";base64,\" + tiddler.fields.text;\t\t\n\t} else {\n\t\tcurrImage.width = DEFAULT_IMAGE_WIDTH;\n\t\tcurrImage.height = DEFAULT_IMAGE_HEIGHT;\n\t\tcurrImage.onerror();\n\t}\n};\n\nEditBitmapWidget.prototype.initCanvas = function(canvas,width,height,image) {\n\tcanvas.width = width;\n\tcanvas.height = height;\n\tvar ctx = canvas.getContext(\"2d\");\n\tif(image) {\n\t\tctx.drawImage(image,0,0);\n\t} else {\n\t\tctx.fillStyle = \"#fff\";\n\t\tctx.fillRect(0,0,canvas.width,canvas.height);\n\t}\n};\n\n/*\n** Change the size of the canvas, preserving the current image\n*/\nEditBitmapWidget.prototype.changeCanvasSize = function(newWidth,newHeight) {\n\t// Create and size a new canvas\n\tvar newCanvas = this.document.createElement(\"canvas\");\n\tthis.initCanvas(newCanvas,newWidth,newHeight);\n\t// Copy the old image\n\tvar ctx = newCanvas.getContext(\"2d\");\n\tctx.drawImage(this.currCanvas,0,0);\n\t// Set the new canvas as the current one\n\tthis.currCanvas = newCanvas;\n\t// Set the size of the onscreen canvas\n\tthis.canvasDomNode.width = newWidth;\n\tthis.canvasDomNode.height = newHeight;\n\t// Paint the onscreen canvas with the offscreen canvas\n\tctx = this.canvasDomNode.getContext(\"2d\");\n\tctx.drawImage(this.currCanvas,0,0);\n};\n\n/*\n** Rotate the canvas left by 90 degrees\n*/\nEditBitmapWidget.prototype.rotateCanvasLeft = function() {\n\t// Get the current size of the image\n\tvar origWidth = this.currCanvas.width,\n\t\torigHeight = this.currCanvas.height;\n\t// Create and size a new canvas\n\tvar newCanvas = this.document.createElement(\"canvas\"),\n\t\tnewWidth = origHeight,\n\t\tnewHeight = origWidth;\n\tthis.initCanvas(newCanvas,newWidth,newHeight);\n\t// Copy the old image\n\tvar ctx = newCanvas.getContext(\"2d\");\n\tctx.save();\n\tctx.translate(newWidth / 2,newHeight / 2);\n\tctx.rotate(-Math.PI / 2);\n\tctx.drawImage(this.currCanvas,-origWidth / 2,-origHeight / 2);\n\tctx.restore();\n\t// Set the new canvas as the current one\n\tthis.currCanvas = newCanvas;\n\t// Set the size of the onscreen canvas\n\tthis.canvasDomNode.width = newWidth;\n\tthis.canvasDomNode.height = newHeight;\n\t// Paint the onscreen canvas with the offscreen canvas\n\tctx = this.canvasDomNode.getContext(\"2d\");\n\tctx.drawImage(this.currCanvas,0,0);\n};\n\nEditBitmapWidget.prototype.handleTouchStartEvent = function(event) {\n\tthis.brushDown = true;\n\tthis.strokeStart(event.touches[0].clientX,event.touches[0].clientY);\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nEditBitmapWidget.prototype.handleTouchMoveEvent = function(event) {\n\tif(this.brushDown) {\n\t\tthis.strokeMove(event.touches[0].clientX,event.touches[0].clientY);\n\t}\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nEditBitmapWidget.prototype.handleTouchEndEvent = function(event) {\n\tif(this.brushDown) {\n\t\tthis.brushDown = false;\n\t\tthis.strokeEnd();\n\t}\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nEditBitmapWidget.prototype.handleMouseDownEvent = function(event) {\n\tthis.strokeStart(event.clientX,event.clientY);\n\tthis.brushDown = true;\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nEditBitmapWidget.prototype.handleMouseMoveEvent = function(event) {\n\tif(this.brushDown) {\n\t\tthis.strokeMove(event.clientX,event.clientY);\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\treturn false;\n\t}\n\treturn true;\n};\n\nEditBitmapWidget.prototype.handleMouseUpEvent = function(event) {\n\tif(this.brushDown) {\n\t\tthis.brushDown = false;\n\t\tthis.strokeEnd();\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\treturn false;\n\t}\n\treturn true;\n};\n\nEditBitmapWidget.prototype.adjustCoordinates = function(x,y) {\n\tvar canvasRect = this.canvasDomNode.getBoundingClientRect(),\n\t\tscale = this.canvasDomNode.width/canvasRect.width;\n\treturn {x: (x - canvasRect.left) * scale, y: (y - canvasRect.top) * scale};\n};\n\nEditBitmapWidget.prototype.strokeStart = function(x,y) {\n\t// Start off a new stroke\n\tthis.stroke = [this.adjustCoordinates(x,y)];\n};\n\nEditBitmapWidget.prototype.strokeMove = function(x,y) {\n\tvar ctx = this.canvasDomNode.getContext(\"2d\"),\n\t\tt;\n\t// Add the new position to the end of the stroke\n\tthis.stroke.push(this.adjustCoordinates(x,y));\n\t// Redraw the previous image\n\tctx.drawImage(this.currCanvas,0,0);\n\t// Render the stroke\n\tctx.globalAlpha = parseFloat(this.wiki.getTiddlerText(LINE_OPACITY_TITLE,\"1.0\"));\n\tctx.strokeStyle = this.wiki.getTiddlerText(LINE_COLOUR_TITLE,\"#ff0\");\n\tctx.lineWidth = parseFloat(this.wiki.getTiddlerText(LINE_WIDTH_TITLE,\"3\"));\n\tctx.lineCap = \"round\";\n\tctx.lineJoin = \"round\";\n\tctx.beginPath();\n\tctx.moveTo(this.stroke[0].x,this.stroke[0].y);\n\tfor(t=1; t<this.stroke.length-1; t++) {\n\t\tvar s1 = this.stroke[t],\n\t\t\ts2 = this.stroke[t-1],\n\t\t\ttx = (s1.x + s2.x)/2,\n\t\t\tty = (s1.y + s2.y)/2;\n\t\tctx.quadraticCurveTo(s2.x,s2.y,tx,ty);\n\t}\n\tctx.stroke();\n};\n\nEditBitmapWidget.prototype.strokeEnd = function() {\n\t// Copy the bitmap to the off-screen canvas\n\tvar ctx = this.currCanvas.getContext(\"2d\");\n\tctx.drawImage(this.canvasDomNode,0,0);\n\t// Save the image into the tiddler\n\tthis.saveChanges();\n};\n\nEditBitmapWidget.prototype.saveChanges = function() {\n\tvar tiddler = this.wiki.getTiddler(this.editTitle) || new $tw.Tiddler({title: this.editTitle,type: DEFAULT_IMAGE_TYPE});\n\t// data URIs look like \"data:<type>;base64,<text>\"\n\tvar dataURL = this.canvasDomNode.toDataURL(tiddler.fields.type),\n\t\tposColon = dataURL.indexOf(\":\"),\n\t\tposSemiColon = dataURL.indexOf(\";\"),\n\t\tposComma = dataURL.indexOf(\",\"),\n\t\ttype = dataURL.substring(posColon+1,posSemiColon),\n\t\ttext = dataURL.substring(posComma+1);\n\tvar update = {type: type, text: text};\n\tthis.wiki.addTiddler(new $tw.Tiddler(this.wiki.getModificationFields(),tiddler,update,this.wiki.getCreationFields()));\n};\n\nexports[\"edit-bitmap\"] = EditBitmapWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/edit-shortcut.js": {
            "title": "$:/core/modules/widgets/edit-shortcut.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/edit-shortcut.js\ntype: application/javascript\nmodule-type: widget\n\nWidget to display an editable keyboard shortcut\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EditShortcutWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEditShortcutWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEditShortcutWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.inputNode = this.document.createElement(\"input\");\n\t// Assign classes\n\tif(this.shortcutClass) {\n\t\tthis.inputNode.className = this.shortcutClass;\t\t\n\t}\n\t// Assign other attributes\n\tif(this.shortcutStyle) {\n\t\tthis.inputNode.setAttribute(\"style\",this.shortcutStyle);\n\t}\n\tif(this.shortcutTooltip) {\n\t\tthis.inputNode.setAttribute(\"title\",this.shortcutTooltip);\n\t}\n\tif(this.shortcutPlaceholder) {\n\t\tthis.inputNode.setAttribute(\"placeholder\",this.shortcutPlaceholder);\n\t}\n\tif(this.shortcutAriaLabel) {\n\t\tthis.inputNode.setAttribute(\"aria-label\",this.shortcutAriaLabel);\n\t}\n\t// Assign the current shortcut\n\tthis.updateInputNode();\n\t// Add event handlers\n\t$tw.utils.addEventListeners(this.inputNode,[\n\t\t{name: \"keydown\", handlerObject: this, handlerMethod: \"handleKeydownEvent\"}\n\t]);\n\t// Link into the DOM\n\tparent.insertBefore(this.inputNode,nextSibling);\n\tthis.domNodes.push(this.inputNode);\n\t// Focus the input Node if focus === \"yes\" or focus === \"true\"\n\tif(this.shortcutFocus === \"yes\" || this.shortcutFocus === \"true\") {\n\t\tthis.focus();\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nEditShortcutWidget.prototype.execute = function() {\n\tthis.shortcutTiddler = this.getAttribute(\"tiddler\");\n\tthis.shortcutField = this.getAttribute(\"field\");\n\tthis.shortcutIndex = this.getAttribute(\"index\");\n\tthis.shortcutPlaceholder = this.getAttribute(\"placeholder\");\n\tthis.shortcutDefault = this.getAttribute(\"default\",\"\");\n\tthis.shortcutClass = this.getAttribute(\"class\");\n\tthis.shortcutStyle = this.getAttribute(\"style\");\n\tthis.shortcutTooltip = this.getAttribute(\"tooltip\");\n\tthis.shortcutAriaLabel = this.getAttribute(\"aria-label\");\n\tthis.shortcutFocus = this.getAttribute(\"focus\");\n};\n\n/*\nUpdate the value of the input node\n*/\nEditShortcutWidget.prototype.updateInputNode = function() {\n\tif(this.shortcutField) {\n\t\tvar tiddler = this.wiki.getTiddler(this.shortcutTiddler);\n\t\tif(tiddler && $tw.utils.hop(tiddler.fields,this.shortcutField)) {\n\t\t\tthis.inputNode.value = tiddler.getFieldString(this.shortcutField);\n\t\t} else {\n\t\t\tthis.inputNode.value = this.shortcutDefault;\n\t\t}\n\t} else if(this.shortcutIndex) {\n\t\tthis.inputNode.value = this.wiki.extractTiddlerDataItem(this.shortcutTiddler,this.shortcutIndex,this.shortcutDefault);\n\t} else {\n\t\tthis.inputNode.value = this.wiki.getTiddlerText(this.shortcutTiddler,this.shortcutDefault);\n\t}\n};\n\n/*\nHandle a dom \"keydown\" event\n*/\nEditShortcutWidget.prototype.handleKeydownEvent = function(event) {\n\t// Ignore shift, ctrl, meta, alt\n\tif(event.keyCode && $tw.keyboardManager.getModifierKeys().indexOf(event.keyCode) === -1) {\n\t\t// Get the shortcut text representation\n\t\tvar value = $tw.keyboardManager.getPrintableShortcuts([{\n\t\t\tctrlKey: event.ctrlKey,\n\t\t\tshiftKey: event.shiftKey,\n\t\t\taltKey: event.altKey,\n\t\t\tmetaKey: event.metaKey,\n\t\t\tkeyCode: event.keyCode\n\t\t}]);\n\t\tif(value.length > 0) {\n\t\t\tthis.wiki.setText(this.shortcutTiddler,this.shortcutField,this.shortcutIndex,value[0]);\n\t\t}\n\t\t// Ignore the keydown if it was already handled\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\treturn true;\t\t\n\t} else {\n\t\treturn false;\n\t}\n};\n\n/*\nfocus the input node\n*/\nEditShortcutWidget.prototype.focus = function() {\n\tif(this.inputNode.focus && this.inputNode.select) {\n\t\tthis.inputNode.focus();\n\t\tthis.inputNode.select();\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget needed re-rendering\n*/\nEditShortcutWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes.placeholder || changedAttributes[\"default\"] || changedAttributes[\"class\"] || changedAttributes.style || changedAttributes.tooltip || changedAttributes[\"aria-label\"] || changedAttributes.focus) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else if(changedTiddlers[this.shortcutTiddler]) {\n\t\tthis.updateInputNode();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\n\t}\n};\n\nexports[\"edit-shortcut\"] = EditShortcutWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/edit-text.js": {
            "title": "$:/core/modules/widgets/edit-text.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/edit-text.js\ntype: application/javascript\nmodule-type: widget\n\nEdit-text widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar editTextWidgetFactory = require(\"$:/core/modules/editor/factory.js\").editTextWidgetFactory,\n\tFramedEngine = require(\"$:/core/modules/editor/engines/framed.js\").FramedEngine,\n\tSimpleEngine = require(\"$:/core/modules/editor/engines/simple.js\").SimpleEngine;\n\nexports[\"edit-text\"] = editTextWidgetFactory(FramedEngine,SimpleEngine);\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/edit.js": {
            "title": "$:/core/modules/widgets/edit.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/edit.js\ntype: application/javascript\nmodule-type: widget\n\nEdit widget is a meta-widget chooses the appropriate actual editting widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EditWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEditWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEditWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n// Mappings from content type to editor type are stored in tiddlers with this prefix\nvar EDITOR_MAPPING_PREFIX = \"$:/config/EditorTypeMappings/\";\n\n/*\nCompute the internal state of the widget\n*/\nEditWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.editTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.editField = this.getAttribute(\"field\",\"text\");\n\tthis.editIndex = this.getAttribute(\"index\");\n\tthis.editClass = this.getAttribute(\"class\");\n\tthis.editPlaceholder = this.getAttribute(\"placeholder\");\n\tthis.editTabIndex = this.getAttribute(\"tabindex\");\n\t// Choose the appropriate edit widget\n\tthis.editorType = this.getEditorType();\n\t// Make the child widgets\n\tthis.makeChildWidgets([{\n\t\ttype: \"edit-\" + this.editorType,\n\t\tattributes: {\n\t\t\ttiddler: {type: \"string\", value: this.editTitle},\n\t\t\tfield: {type: \"string\", value: this.editField},\n\t\t\tindex: {type: \"string\", value: this.editIndex},\n\t\t\t\"class\": {type: \"string\", value: this.editClass},\n\t\t\t\"placeholder\": {type: \"string\", value: this.editPlaceholder},\n\t\t\t\"tabindex\": {type: \"string\", value: this.editTabIndex}\n\t\t},\n\t\tchildren: this.parseTreeNode.children\n\t}]);\n};\n\nEditWidget.prototype.getEditorType = function() {\n\t// Get the content type of the thing we're editing\n\tvar type;\n\tif(this.editField === \"text\") {\n\t\tvar tiddler = this.wiki.getTiddler(this.editTitle);\n\t\tif(tiddler) {\n\t\t\ttype = tiddler.fields.type;\n\t\t}\n\t}\n\ttype = type || \"text/vnd.tiddlywiki\";\n\tvar editorType = this.wiki.getTiddlerText(EDITOR_MAPPING_PREFIX + type);\n\tif(!editorType) {\n\t\tvar typeInfo = $tw.config.contentTypeInfo[type];\n\t\tif(typeInfo && typeInfo.encoding === \"base64\") {\n\t\t\teditorType = \"binary\";\n\t\t} else {\n\t\t\teditorType = \"text\";\n\t\t}\n\t}\n\treturn editorType;\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nEditWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\t// Refresh if an attribute has changed, or the type associated with the target tiddler has changed\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes.tabindex || (changedTiddlers[this.editTitle] && this.getEditorType() !== this.editorType)) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.edit = EditWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/element.js": {
            "title": "$:/core/modules/widgets/element.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/element.js\ntype: application/javascript\nmodule-type: widget\n\nElement widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ElementWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nElementWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nElementWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Neuter blacklisted elements\n\tvar tag = this.parseTreeNode.tag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"safe-\" + tag;\n\t}\n\t// Adjust headings by the current base level\n\tvar headingLevel = [\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\"].indexOf(tag);\n\tif(headingLevel !== -1) {\n\t\tvar baseLevel = parseInt(this.getVariable(\"tv-adjust-heading-level\",\"0\"),10) || 0;\n\t\theadingLevel = Math.min(Math.max(headingLevel + 1 + baseLevel,1),6);\n\t\ttag = \"h\" + headingLevel;\n\t}\n\t// Create the DOM node\n\tvar domNode = this.document.createElementNS(this.namespace,tag);\n\tthis.assignAttributes(domNode,{excludeEventAttributes: true});\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nElementWidget.prototype.execute = function() {\n\t// Select the namespace for the tag\n\tvar tagNamespaces = {\n\t\t\tsvg: \"http://www.w3.org/2000/svg\",\n\t\t\tmath: \"http://www.w3.org/1998/Math/MathML\",\n\t\t\tbody: \"http://www.w3.org/1999/xhtml\"\n\t\t};\n\tthis.namespace = tagNamespaces[this.parseTreeNode.tag];\n\tif(this.namespace) {\n\t\tthis.setVariable(\"namespace\",this.namespace);\n\t} else {\n\t\tthis.namespace = this.getVariable(\"namespace\",{defaultValue: \"http://www.w3.org/1999/xhtml\"});\n\t}\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nElementWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes(),\n\t\thasChangedAttributes = $tw.utils.count(changedAttributes) > 0;\n\tif(hasChangedAttributes) {\n\t\t// Update our attributes\n\t\tthis.assignAttributes(this.domNodes[0],{excludeEventAttributes: true});\n\t}\n\treturn this.refreshChildren(changedTiddlers) || hasChangedAttributes;\n};\n\nexports.element = ElementWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/encrypt.js": {
            "title": "$:/core/modules/widgets/encrypt.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/encrypt.js\ntype: application/javascript\nmodule-type: widget\n\nEncrypt widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EncryptWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEncryptWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEncryptWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar textNode = this.document.createTextNode(this.encryptedText);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nEncryptWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.filter = this.getAttribute(\"filter\",\"[!is[system]]\");\n\t// Encrypt the filtered tiddlers\n\tvar tiddlers = this.wiki.filterTiddlers(this.filter),\n\t\tjson = {},\n\t\tself = this;\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar tiddler = self.wiki.getTiddler(title),\n\t\t\tjsonTiddler = {};\n\t\tfor(var f in tiddler.fields) {\n\t\t\tjsonTiddler[f] = tiddler.getFieldString(f);\n\t\t}\n\t\tjson[title] = jsonTiddler;\n\t});\n\tthis.encryptedText = $tw.utils.htmlEncode($tw.crypto.encrypt(JSON.stringify(json)));\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nEncryptWidget.prototype.refresh = function(changedTiddlers) {\n\t// We don't need to worry about refreshing because the encrypt widget isn't for interactive use\n\treturn false;\n};\n\nexports.encrypt = EncryptWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/entity.js": {
            "title": "$:/core/modules/widgets/entity.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/entity.js\ntype: application/javascript\nmodule-type: widget\n\nHTML entity widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EntityWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEntityWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEntityWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.execute();\n\tvar entityString = this.getAttribute(\"entity\",this.parseTreeNode.entity || \"\"),\n\t\ttextNode = this.document.createTextNode($tw.utils.entityDecode(entityString));\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nEntityWidget.prototype.execute = function() {\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nEntityWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.entity) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\n\t}\n};\n\nexports.entity = EntityWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/fieldmangler.js": {
            "title": "$:/core/modules/widgets/fieldmangler.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/fieldmangler.js\ntype: application/javascript\nmodule-type: widget\n\nField mangler widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar FieldManglerWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n\tthis.addEventListeners([\n\t\t{type: \"tm-remove-field\", handler: \"handleRemoveFieldEvent\"},\n\t\t{type: \"tm-add-field\", handler: \"handleAddFieldEvent\"},\n\t\t{type: \"tm-remove-tag\", handler: \"handleRemoveTagEvent\"},\n\t\t{type: \"tm-add-tag\", handler: \"handleAddTagEvent\"}\n\t]);\n};\n\n/*\nInherit from the base widget class\n*/\nFieldManglerWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nFieldManglerWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nFieldManglerWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.mangleTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nFieldManglerWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nFieldManglerWidget.prototype.handleRemoveFieldEvent = function(event) {\n\tvar tiddler = this.wiki.getTiddler(this.mangleTitle),\n\t\tdeletion = {};\n\tdeletion[event.param] = undefined;\n\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,deletion));\n\treturn true;\n};\n\nFieldManglerWidget.prototype.handleAddFieldEvent = function(event) {\n\tvar tiddler = this.wiki.getTiddler(this.mangleTitle),\n\t\taddition = this.wiki.getModificationFields(),\n\t\thadInvalidFieldName = false,\n\t\taddField = function(name,value) {\n\t\t\tvar trimmedName = name.toLowerCase().trim();\n\t\t\tif(!$tw.utils.isValidFieldName(trimmedName)) {\n\t\t\t\tif(!hadInvalidFieldName) {\n\t\t\t\t\talert($tw.language.getString(\n\t\t\t\t\t\t\"InvalidFieldName\",\n\t\t\t\t\t\t{variables:\n\t\t\t\t\t\t\t{fieldName: trimmedName}\n\t\t\t\t\t\t}\n\t\t\t\t\t));\n\t\t\t\t\thadInvalidFieldName = true;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif(!value && tiddler) {\n\t\t\t\t\tvalue = tiddler.fields[trimmedName];\n\t\t\t\t}\n\t\t\t\taddition[trimmedName] = value || \"\";\n\t\t\t}\n\t\t\treturn;\n\t\t};\n\taddition.title = this.mangleTitle;\n\tif(typeof event.param === \"string\") {\n\t\taddField(event.param,\"\");\n\t}\n\tif(typeof event.paramObject === \"object\") {\n\t\tfor(var name in event.paramObject) {\n\t\t\taddField(name,event.paramObject[name]);\n\t\t}\n\t}\n\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,addition));\n\treturn true;\n};\n\nFieldManglerWidget.prototype.handleRemoveTagEvent = function(event) {\n\tvar tiddler = this.wiki.getTiddler(this.mangleTitle),\n\t\tmodification = this.wiki.getModificationFields();\n\tif(tiddler && tiddler.fields.tags) {\n\t\tvar p = tiddler.fields.tags.indexOf(event.param);\n\t\tif(p !== -1) {\n\t\t\tmodification.tags = (tiddler.fields.tags || []).slice(0);\n\t\t\tmodification.tags.splice(p,1);\n\t\t\tif(modification.tags.length === 0) {\n\t\t\t\tmodification.tags = undefined;\n\t\t\t}\n\t\t\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,modification));\n\t\t}\n\t}\n\treturn true;\n};\n\nFieldManglerWidget.prototype.handleAddTagEvent = function(event) {\n\tvar tiddler = this.wiki.getTiddler(this.mangleTitle),\n\t\tmodification = this.wiki.getModificationFields();\n\tif(tiddler && typeof event.param === \"string\") {\n\t\tvar tag = event.param.trim();\n\t\tif(tag !== \"\") {\n\t\t\tmodification.tags = (tiddler.fields.tags || []).slice(0);\n\t\t\t$tw.utils.pushTop(modification.tags,tag);\n\t\t\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,modification));\t\t\t\n\t\t}\n\t} else if(typeof event.param === \"string\" && event.param.trim() !== \"\" && this.mangleTitle.trim() !== \"\") {\n\t\tvar tag = [];\n\t\ttag.push(event.param.trim());\n\t\tthis.wiki.addTiddler(new $tw.Tiddler({title: this.mangleTitle, tags: tag},modification));\n\t}\n\treturn true;\n};\n\nexports.fieldmangler = FieldManglerWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/fields.js": {
            "title": "$:/core/modules/widgets/fields.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/fields.js\ntype: application/javascript\nmodule-type: widget\n\nFields widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar FieldsWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nFieldsWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nFieldsWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar textNode = this.document.createTextNode(this.text);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nFieldsWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.tiddlerTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.template = this.getAttribute(\"template\");\n\tthis.exclude = this.getAttribute(\"exclude\");\n\tthis.stripTitlePrefix = this.getAttribute(\"stripTitlePrefix\",\"no\") === \"yes\";\n\t// Get the value to display\n\tvar tiddler = this.wiki.getTiddler(this.tiddlerTitle);\n\t// Get the exclusion list\n\tvar exclude;\n\tif(this.exclude) {\n\t\texclude = this.exclude.split(\" \");\n\t} else {\n\t\texclude = [\"text\"]; \n\t}\n\t// Compose the template\n\tvar text = [];\n\tif(this.template && tiddler) {\n\t\tvar fields = [];\n\t\tfor(var fieldName in tiddler.fields) {\n\t\t\tif(exclude.indexOf(fieldName) === -1) {\n\t\t\t\tfields.push(fieldName);\n\t\t\t}\n\t\t}\n\t\tfields.sort();\n\t\tfor(var f=0; f<fields.length; f++) {\n\t\t\tfieldName = fields[f];\n\t\t\tif(exclude.indexOf(fieldName) === -1) {\n\t\t\t\tvar row = this.template,\n\t\t\t\t\tvalue = tiddler.getFieldString(fieldName);\n\t\t\t\tif(this.stripTitlePrefix && fieldName === \"title\") {\n\t\t\t\t\tvar reStrip = /^\\{[^\\}]+\\}(.+)/mg,\n\t\t\t\t\t\treMatch = reStrip.exec(value);\n\t\t\t\t\tif(reMatch) {\n\t\t\t\t\t\tvalue = reMatch[1];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\trow = $tw.utils.replaceString(row,\"$name$\",fieldName);\n\t\t\t\trow = $tw.utils.replaceString(row,\"$value$\",value);\n\t\t\t\trow = $tw.utils.replaceString(row,\"$encoded_value$\",$tw.utils.htmlEncode(value));\n\t\t\t\ttext.push(row);\n\t\t\t}\n\t\t}\n\t}\n\tthis.text = text.join(\"\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nFieldsWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.template || changedAttributes.exclude || changedAttributes.stripTitlePrefix || changedTiddlers[this.tiddlerTitle]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\n\t}\n};\n\nexports.fields = FieldsWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/image.js": {
            "title": "$:/core/modules/widgets/image.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/image.js\ntype: application/javascript\nmodule-type: widget\n\nThe image widget displays an image referenced with an external URI or with a local tiddler title.\n\n```\n<$image src=\"TiddlerTitle\" width=\"320\" height=\"400\" class=\"classnames\">\n```\n\nThe image source can be the title of an existing tiddler or the URL of an external image.\n\nExternal images always generate an HTML `<img>` tag.\n\nTiddlers that have a _canonical_uri field generate an HTML `<img>` tag with the src attribute containing the URI.\n\nTiddlers that contain image data generate an HTML `<img>` tag with the src attribute containing a base64 representation of the image.\n\nTiddlers that contain wikitext could be rendered to a DIV of the usual size of a tiddler, and then transformed to the size requested.\n\nThe width and height attributes are interpreted as a number of pixels, and do not need to include the \"px\" suffix.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ImageWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nImageWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nImageWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\t// Determine what type of image it is\n\tvar tag = \"img\", src = \"\",\n\t\ttiddler = this.wiki.getTiddler(this.imageSource);\n\tif(!tiddler) {\n\t\t// The source isn't the title of a tiddler, so we'll assume it's a URL\n\t\tsrc = this.getVariable(\"tv-get-export-image-link\",{params: [{name: \"src\",value: this.imageSource}],defaultValue: this.imageSource});\n\t} else {\n\t\t// Check if it is an image tiddler\n\t\tif(this.wiki.isImageTiddler(this.imageSource)) {\n\t\t\tvar type = tiddler.fields.type,\n\t\t\t\ttext = tiddler.fields.text,\n\t\t\t\t_canonical_uri = tiddler.fields._canonical_uri;\n\t\t\t// If the tiddler has body text then it doesn't need to be lazily loaded\n\t\t\tif(text) {\n\t\t\t\t// Render the appropriate element for the image type\n\t\t\t\tswitch(type) {\n\t\t\t\t\tcase \"application/pdf\":\n\t\t\t\t\t\ttag = \"embed\";\n\t\t\t\t\t\tsrc = \"data:application/pdf;base64,\" + text;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"image/svg+xml\":\n\t\t\t\t\t\tsrc = \"data:image/svg+xml,\" + encodeURIComponent(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tsrc = \"data:\" + type + \";base64,\" + text;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else if(_canonical_uri) {\n\t\t\t\tswitch(type) {\n\t\t\t\t\tcase \"application/pdf\":\n\t\t\t\t\t\ttag = \"embed\";\n\t\t\t\t\t\tsrc = _canonical_uri;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"image/svg+xml\":\n\t\t\t\t\t\tsrc = _canonical_uri;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tsrc = _canonical_uri;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\t\n\t\t\t} else {\n\t\t\t\t// Just trigger loading of the tiddler\n\t\t\t\tthis.wiki.getTiddlerText(this.imageSource);\n\t\t\t}\n\t\t}\n\t}\n\t// Create the element and assign the attributes\n\tvar domNode = this.document.createElement(tag);\n\tdomNode.setAttribute(\"src\",src);\n\tif(this.imageClass) {\n\t\tdomNode.setAttribute(\"class\",this.imageClass);\t\t\n\t}\n\tif(this.imageWidth) {\n\t\tdomNode.setAttribute(\"width\",this.imageWidth);\n\t}\n\tif(this.imageHeight) {\n\t\tdomNode.setAttribute(\"height\",this.imageHeight);\n\t}\n\tif(this.imageTooltip) {\n\t\tdomNode.setAttribute(\"title\",this.imageTooltip);\t\t\n\t}\n\tif(this.imageAlt) {\n\t\tdomNode.setAttribute(\"alt\",this.imageAlt);\t\t\n\t}\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nImageWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.imageSource = this.getAttribute(\"source\");\n\tthis.imageWidth = this.getAttribute(\"width\");\n\tthis.imageHeight = this.getAttribute(\"height\");\n\tthis.imageClass = this.getAttribute(\"class\");\n\tthis.imageTooltip = this.getAttribute(\"tooltip\");\n\tthis.imageAlt = this.getAttribute(\"alt\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nImageWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.source || changedAttributes.width || changedAttributes.height || changedAttributes[\"class\"] || changedAttributes.tooltip || changedTiddlers[this.imageSource]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\t\n\t}\n};\n\nexports.image = ImageWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/importvariables.js": {
            "title": "$:/core/modules/widgets/importvariables.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/importvariables.js\ntype: application/javascript\nmodule-type: widget\n\nImport variable definitions from other tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ImportVariablesWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nImportVariablesWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nImportVariablesWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nImportVariablesWidget.prototype.execute = function(tiddlerList) {\n\tvar self = this;\n\t// Get our parameters\n\tthis.filter = this.getAttribute(\"filter\");\n\t// Compute the filter\n\tthis.tiddlerList = tiddlerList || this.wiki.filterTiddlers(this.filter,this);\n\t// Accumulate the <$set> widgets from each tiddler\n\tvar widgetStackStart,widgetStackEnd;\n\tfunction addWidgetNode(widgetNode) {\n\t\tif(widgetNode) {\n\t\t\tif(!widgetStackStart && !widgetStackEnd) {\n\t\t\t\twidgetStackStart = widgetNode;\n\t\t\t\twidgetStackEnd = widgetNode;\n\t\t\t} else {\n\t\t\t\twidgetStackEnd.children = [widgetNode];\n\t\t\t\twidgetStackEnd = widgetNode;\n\t\t\t}\n\t\t}\n\t}\n\t$tw.utils.each(this.tiddlerList,function(title) {\n\t\tvar parser = self.wiki.parseTiddler(title);\n\t\tif(parser) {\n\t\t\tvar parseTreeNode = parser.tree[0];\n\t\t\twhile(parseTreeNode && parseTreeNode.type === \"set\") {\n\t\t\t\taddWidgetNode({\n\t\t\t\t\ttype: \"set\",\n\t\t\t\t\tattributes: parseTreeNode.attributes,\n\t\t\t\t\tparams: parseTreeNode.params,\n\t\t\t\t\tisMacroDefinition: parseTreeNode.isMacroDefinition\n\t\t\t\t});\n\t\t\t\tparseTreeNode = parseTreeNode.children[0];\n\t\t\t}\n\t\t} \n\t});\n\t// Add our own children to the end of the pile\n\tvar parseTreeNodes;\n\tif(widgetStackStart && widgetStackEnd) {\n\t\tparseTreeNodes = [widgetStackStart];\n\t\twidgetStackEnd.children = this.parseTreeNode.children;\n\t} else {\n\t\tparseTreeNodes = this.parseTreeNode.children;\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets(parseTreeNodes);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nImportVariablesWidget.prototype.refresh = function(changedTiddlers) {\n\t// Recompute our attributes and the filter list\n\tvar changedAttributes = this.computeAttributes(),\n\t\ttiddlerList = this.wiki.filterTiddlers(this.getAttribute(\"filter\"),this);\n\t// Refresh if the filter has changed, or the list of tiddlers has changed, or any of the tiddlers in the list has changed\n\tfunction haveListedTiddlersChanged() {\n\t\tvar changed = false;\n\t\ttiddlerList.forEach(function(title) {\n\t\t\tif(changedTiddlers[title]) {\n\t\t\t\tchanged = true;\n\t\t\t}\n\t\t});\n\t\treturn changed;\n\t}\n\tif(changedAttributes.filter || !$tw.utils.isArrayEqual(this.tiddlerList,tiddlerList) || haveListedTiddlersChanged()) {\n\t\t// Compute the filter\n\t\tthis.removeChildDomNodes();\n\t\tthis.execute(tiddlerList);\n\t\tthis.renderChildren(this.parentDomNode,this.findNextSiblingDomNode());\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nexports.importvariables = ImportVariablesWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/keyboard.js": {
            "title": "$:/core/modules/widgets/keyboard.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/keyboard.js\ntype: application/javascript\nmodule-type: widget\n\nKeyboard shortcut widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar KeyboardWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nKeyboardWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nKeyboardWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar tag = this.parseTreeNode.isBlock ? \"div\" : \"span\";\n\tif(this.tag && $tw.config.htmlUnsafeElements.indexOf(this.tag) === -1) {\n\t\ttag = this.tag;\n\t}\n\t// Create element\n\tvar domNode = this.document.createElement(tag);\n\t// Assign classes\n\tvar classes = (this[\"class\"] || \"\").split(\" \");\n\tclasses.push(\"tc-keyboard\");\n\tdomNode.className = classes.join(\" \");\n\t// Add a keyboard event handler\n\tdomNode.addEventListener(\"keydown\",function (event) {\n\t\tif($tw.keyboardManager.checkKeyDescriptors(event,self.keyInfoArray)) {\n\t\t\tself.invokeActions(self,event);\n\t\t\tif(self.actions) {\n\t\t\t\tself.invokeActionString(self.actions,self,event);\n\t\t\t}\n\t\t\tself.dispatchMessage(event);\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t},false);\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\nKeyboardWidget.prototype.dispatchMessage = function(event) {\n\tthis.dispatchEvent({type: this.message, param: this.param, tiddlerTitle: this.getVariable(\"currentTiddler\")});\n};\n\n/*\nCompute the internal state of the widget\n*/\nKeyboardWidget.prototype.execute = function() {\n\tvar self = this;\n\t// Get attributes\n\tthis.actions = this.getAttribute(\"actions\",\"\");\n\tthis.message = this.getAttribute(\"message\",\"\");\n\tthis.param = this.getAttribute(\"param\",\"\");\n\tthis.key = this.getAttribute(\"key\",\"\");\n\tthis.tag = this.getAttribute(\"tag\",\"\");\n\tthis.keyInfoArray = $tw.keyboardManager.parseKeyDescriptors(this.key);\n\tthis[\"class\"] = this.getAttribute(\"class\",\"\");\n\tif(this.key.substr(0,2) === \"((\" && this.key.substr(-2,2) === \"))\") {\n\t\tthis.shortcutTiddlers = [];\n\t\tvar name = this.key.substring(2,this.key.length -2);\n\t\t$tw.utils.each($tw.keyboardManager.lookupNames,function(platformDescriptor) {\n\t\t\tself.shortcutTiddlers.push(\"$:/config/\" + platformDescriptor + \"/\" + name);\n\t\t});\n\t}\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nKeyboardWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.message || changedAttributes.param || changedAttributes.key || changedAttributes[\"class\"] || changedAttributes.tag) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\t// Update the keyInfoArray if one of its shortcut-config-tiddlers has changed\n\tif(this.shortcutTiddlers && $tw.utils.hopArray(changedTiddlers,this.shortcutTiddlers)) {\n\t\tthis.keyInfoArray = $tw.keyboardManager.parseKeyDescriptors(this.key);\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.keyboard = KeyboardWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/link.js": {
            "title": "$:/core/modules/widgets/link.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/link.js\ntype: application/javascript\nmodule-type: widget\n\nLink widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar LinkWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nLinkWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nLinkWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Get the value of the tv-wikilinks configuration macro\n\tvar wikiLinksMacro = this.getVariable(\"tv-wikilinks\"),\n\t\tuseWikiLinks = wikiLinksMacro ? (wikiLinksMacro.trim() !== \"no\") : true,\n\t\tmissingLinksEnabled = !(this.hideMissingLinks && this.isMissing && !this.isShadow);\n\t// Render the link if required\n\tif(useWikiLinks && missingLinksEnabled) {\n\t\tthis.renderLink(parent,nextSibling);\n\t} else {\n\t\t// Just insert the link text\n\t\tvar domNode = this.document.createElement(\"span\");\n\t\tparent.insertBefore(domNode,nextSibling);\n\t\tthis.renderChildren(domNode,null);\n\t\tthis.domNodes.push(domNode);\n\t}\n};\n\n/*\nRender this widget into the DOM\n*/\nLinkWidget.prototype.renderLink = function(parent,nextSibling) {\n\tvar self = this;\n\t// Sanitise the specified tag\n\tvar tag = this.linkTag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"a\";\n\t}\n\t// Create our element\n\tvar domNode = this.document.createElement(tag);\n\t// Assign classes\n\tvar classes = [];\n\tif(this.overrideClasses === undefined) {\n\t\tclasses.push(\"tc-tiddlylink\");\n\t\tif(this.isShadow) {\n\t\t\tclasses.push(\"tc-tiddlylink-shadow\");\n\t\t}\n\t\tif(this.isMissing && !this.isShadow) {\n\t\t\tclasses.push(\"tc-tiddlylink-missing\");\n\t\t} else {\n\t\t\tif(!this.isMissing) {\n\t\t\t\tclasses.push(\"tc-tiddlylink-resolves\");\n\t\t\t}\n\t\t}\n\t\tif(this.linkClasses) {\n\t\t\tclasses.push(this.linkClasses);\t\t\t\n\t\t}\n\t} else if(this.overrideClasses !== \"\") {\n\t\tclasses.push(this.overrideClasses)\n\t}\n\tif(classes.length > 0) {\n\t\tdomNode.setAttribute(\"class\",classes.join(\" \"));\n\t}\n\t// Set an href\n\tvar wikilinkTransformFilter = this.getVariable(\"tv-filter-export-link\"),\n\t\twikiLinkText;\n\tif(wikilinkTransformFilter) {\n\t\t// Use the filter to construct the href\n\t\twikiLinkText = this.wiki.filterTiddlers(wikilinkTransformFilter,this,function(iterator) {\n\t\t\titerator(self.wiki.getTiddler(self.to),self.to)\n\t\t})[0];\n\t} else {\n\t\t// Expand the tv-wikilink-template variable to construct the href\n\t\tvar wikiLinkTemplateMacro = this.getVariable(\"tv-wikilink-template\"),\n\t\t\twikiLinkTemplate = wikiLinkTemplateMacro ? wikiLinkTemplateMacro.trim() : \"#$uri_encoded$\";\n\t\twikiLinkText = $tw.utils.replaceString(wikiLinkTemplate,\"$uri_encoded$\",encodeURIComponent(this.to));\n\t\twikiLinkText = $tw.utils.replaceString(wikiLinkText,\"$uri_doubleencoded$\",encodeURIComponent(encodeURIComponent(this.to)));\n\t}\n\t// Override with the value of tv-get-export-link if defined\n\twikiLinkText = this.getVariable(\"tv-get-export-link\",{params: [{name: \"to\",value: this.to}],defaultValue: wikiLinkText});\n\tif(tag === \"a\") {\n\t\tdomNode.setAttribute(\"href\",wikiLinkText);\n\t}\n\t// Set the tabindex\n\tif(this.tabIndex) {\n\t\tdomNode.setAttribute(\"tabindex\",this.tabIndex);\n\t}\n\t// Set the tooltip\n\t// HACK: Performance issues with re-parsing the tooltip prevent us defaulting the tooltip to \"<$transclude field='tooltip'><$transclude field='title'/></$transclude>\"\n\tvar tooltipWikiText = this.tooltip || this.getVariable(\"tv-wikilink-tooltip\");\n\tif(tooltipWikiText) {\n\t\tvar tooltipText = this.wiki.renderText(\"text/plain\",\"text/vnd.tiddlywiki\",tooltipWikiText,{\n\t\t\t\tparseAsInline: true,\n\t\t\t\tvariables: {\n\t\t\t\t\tcurrentTiddler: this.to\n\t\t\t\t},\n\t\t\t\tparentWidget: this\n\t\t\t});\n\t\tdomNode.setAttribute(\"title\",tooltipText);\n\t}\n\tif(this[\"aria-label\"]) {\n\t\tdomNode.setAttribute(\"aria-label\",this[\"aria-label\"]);\n\t}\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(domNode,[\n\t\t{name: \"click\", handlerObject: this, handlerMethod: \"handleClickEvent\"},\n\t]);\n\t// Make the link draggable if required\n\tif(this.draggable === \"yes\") {\n\t\t$tw.utils.makeDraggable({\n\t\t\tdomNode: domNode,\n\t\t\tdragTiddlerFn: function() {return self.to;},\n\t\t\twidget: this\n\t\t});\n\t}\n\t// Insert the link into the DOM and render any children\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\nLinkWidget.prototype.handleClickEvent = function(event) {\n\t// Send the click on its way as a navigate event\n\tvar bounds = this.domNodes[0].getBoundingClientRect();\n\tthis.dispatchEvent({\n\t\ttype: \"tm-navigate\",\n\t\tnavigateTo: this.to,\n\t\tnavigateFromTitle: this.getVariable(\"storyTiddler\"),\n\t\tnavigateFromNode: this,\n\t\tnavigateFromClientRect: { top: bounds.top, left: bounds.left, width: bounds.width, right: bounds.right, bottom: bounds.bottom, height: bounds.height\n\t\t},\n\t\tnavigateSuppressNavigation: event.metaKey || event.ctrlKey || (event.button === 1),\n\t\tmetaKey: event.metaKey,\n\t\tctrlKey: event.ctrlKey,\n\t\taltKey: event.altKey,\n\t\tshiftKey: event.shiftKey\n\t});\n\tif(this.domNodes[0].hasAttribute(\"href\")) {\n\t\tevent.preventDefault();\n\t}\n\tevent.stopPropagation();\n\treturn false;\n};\n\n/*\nCompute the internal state of the widget\n*/\nLinkWidget.prototype.execute = function() {\n\t// Pick up our attributes\n\tthis.to = this.getAttribute(\"to\",this.getVariable(\"currentTiddler\"));\n\tthis.tooltip = this.getAttribute(\"tooltip\");\n\tthis[\"aria-label\"] = this.getAttribute(\"aria-label\");\n\tthis.linkClasses = this.getAttribute(\"class\");\n\tthis.overrideClasses = this.getAttribute(\"overrideClass\");\n\tthis.tabIndex = this.getAttribute(\"tabindex\");\n\tthis.draggable = this.getAttribute(\"draggable\",\"yes\");\n\tthis.linkTag = this.getAttribute(\"tag\",\"a\");\n\t// Determine the link characteristics\n\tthis.isMissing = !this.wiki.tiddlerExists(this.to);\n\tthis.isShadow = this.wiki.isShadowTiddler(this.to);\n\tthis.hideMissingLinks = (this.getVariable(\"tv-show-missing-links\") || \"yes\") === \"no\";\n\t// Make the child widgets\n\tvar templateTree;\n\tif(this.parseTreeNode.children && this.parseTreeNode.children.length > 0) {\n\t\ttemplateTree = this.parseTreeNode.children;\n\t} else {\n\t\t// Default template is a link to the title\n\t\ttemplateTree = [{type: \"text\", text: this.to}];\n\t}\n\tthis.makeChildWidgets(templateTree);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nLinkWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.to || changedTiddlers[this.to] || changedAttributes[\"aria-label\"] || changedAttributes.tooltip) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.link = LinkWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/linkcatcher.js": {
            "title": "$:/core/modules/widgets/linkcatcher.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/linkcatcher.js\ntype: application/javascript\nmodule-type: widget\n\nLinkcatcher widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar LinkCatcherWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n\tthis.addEventListeners([\n\t\t{type: \"tm-navigate\", handler: \"handleNavigateEvent\"}\n\t]);\n};\n\n/*\nInherit from the base widget class\n*/\nLinkCatcherWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nLinkCatcherWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nLinkCatcherWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.catchTo = this.getAttribute(\"to\");\n\tthis.catchMessage = this.getAttribute(\"message\");\n\tthis.catchSet = this.getAttribute(\"set\");\n\tthis.catchSetTo = this.getAttribute(\"setTo\");\n\tthis.catchActions = this.getAttribute(\"actions\");\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n\t// When executing actions we avoid trapping navigate events, so that we don't trigger ourselves recursively\n\tthis.executingActions = false;\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nLinkCatcherWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.to || changedAttributes.message || changedAttributes.set || changedAttributes.setTo) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\n/*\nHandle a tm-navigate event\n*/\nLinkCatcherWidget.prototype.handleNavigateEvent = function(event) {\n\tif(!this.executingActions) {\n\t\t// Execute the actions\n\t\tif(this.catchTo) {\n\t\t\tthis.wiki.setTextReference(this.catchTo,event.navigateTo,this.getVariable(\"currentTiddler\"));\n\t\t}\n\t\tif(this.catchMessage && this.parentWidget) {\n\t\t\tthis.parentWidget.dispatchEvent({\n\t\t\t\ttype: this.catchMessage,\n\t\t\t\tparam: event.navigateTo,\n\t\t\t\tnavigateTo: event.navigateTo\n\t\t\t});\n\t\t}\n\t\tif(this.catchSet) {\n\t\t\tvar tiddler = this.wiki.getTiddler(this.catchSet);\n\t\t\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,{title: this.catchSet, text: this.catchSetTo}));\n\t\t}\n\t\tif(this.catchActions) {\n\t\t\tthis.executingActions = true;\n\t\t\tthis.invokeActionString(this.catchActions,this,event,{navigateTo: event.navigateTo});\n\t\t\tthis.executingActions = false;\n\t\t}\n\t} else {\n\t\t// This is a navigate event generated by the actions of this linkcatcher, so we don't trap it again, but just pass it to the parent\n\t\tthis.parentWidget.dispatchEvent({\n\t\t\ttype: \"tm-navigate\",\n\t\t\tparam: event.navigateTo,\n\t\t\tnavigateTo: event.navigateTo\n\t\t});\n\t}\n\treturn false;\n};\n\nexports.linkcatcher = LinkCatcherWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/list.js": {
            "title": "$:/core/modules/widgets/list.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/list.js\ntype: application/javascript\nmodule-type: widget\n\nList and list item widgets\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\n/*\nThe list widget creates list element sub-widgets that reach back into the list widget for their configuration\n*/\n\nvar ListWidget = function(parseTreeNode,options) {\n\t// Initialise the storyviews if they've not been done already\n\tif(!this.storyViews) {\n\t\tListWidget.prototype.storyViews = {};\n\t\t$tw.modules.applyMethods(\"storyview\",this.storyViews);\n\t}\n\t// Main initialisation inherited from widget.js\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nListWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nListWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n\t// Construct the storyview\n\tvar StoryView = this.storyViews[this.storyViewName];\n\tif(this.storyViewName && !StoryView) {\n\t\tStoryView = this.storyViews[\"classic\"];\n\t}\n\tif(StoryView && !this.document.isTiddlyWikiFakeDom) {\n\t\tthis.storyview = new StoryView(this);\n\t} else {\n\t\tthis.storyview = null;\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nListWidget.prototype.execute = function() {\n\t// Get our attributes\n\tthis.template = this.getAttribute(\"template\");\n\tthis.editTemplate = this.getAttribute(\"editTemplate\");\n\tthis.variableName = this.getAttribute(\"variable\",\"currentTiddler\");\n\tthis.storyViewName = this.getAttribute(\"storyview\");\n\tthis.historyTitle = this.getAttribute(\"history\");\n\t// Compose the list elements\n\tthis.list = this.getTiddlerList();\n\tvar members = [],\n\t\tself = this;\n\t// Check for an empty list\n\tif(this.list.length === 0) {\n\t\tmembers = this.getEmptyMessage();\n\t} else {\n\t\t$tw.utils.each(this.list,function(title,index) {\n\t\t\tmembers.push(self.makeItemTemplate(title));\n\t\t});\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets(members);\n\t// Clear the last history\n\tthis.history = [];\n};\n\nListWidget.prototype.getTiddlerList = function() {\n\tvar defaultFilter = \"[!is[system]sort[title]]\";\n\treturn this.wiki.filterTiddlers(this.getAttribute(\"filter\",defaultFilter),this);\n};\n\nListWidget.prototype.getEmptyMessage = function() {\n\tvar emptyMessage = this.getAttribute(\"emptyMessage\",\"\"),\n\t\tparser = this.wiki.parseText(\"text/vnd.tiddlywiki\",emptyMessage,{parseAsInline: true});\n\tif(parser) {\n\t\treturn parser.tree;\n\t} else {\n\t\treturn [];\n\t}\n};\n\n/*\nCompose the template for a list item\n*/\nListWidget.prototype.makeItemTemplate = function(title) {\n\t// Check if the tiddler is a draft\n\tvar tiddler = this.wiki.getTiddler(title),\n\t\tisDraft = tiddler && tiddler.hasField(\"draft.of\"),\n\t\ttemplate = this.template,\n\t\ttemplateTree;\n\tif(isDraft && this.editTemplate) {\n\t\ttemplate = this.editTemplate;\n\t}\n\t// Compose the transclusion of the template\n\tif(template) {\n\t\ttemplateTree = [{type: \"transclude\", attributes: {tiddler: {type: \"string\", value: template}}}];\n\t} else {\n\t\tif(this.parseTreeNode.children && this.parseTreeNode.children.length > 0) {\n\t\t\ttemplateTree = this.parseTreeNode.children;\n\t\t} else {\n\t\t\t// Default template is a link to the title\n\t\t\ttemplateTree = [{type: \"element\", tag: this.parseTreeNode.isBlock ? \"div\" : \"span\", children: [{type: \"link\", attributes: {to: {type: \"string\", value: title}}, children: [\n\t\t\t\t\t{type: \"text\", text: title}\n\t\t\t]}]}];\n\t\t}\n\t}\n\t// Return the list item\n\treturn {type: \"listitem\", itemTitle: title, variableName: this.variableName, children: templateTree};\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nListWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes(),\n\t\tresult;\n\t// Call the storyview\n\tif(this.storyview && this.storyview.refreshStart) {\n\t\tthis.storyview.refreshStart(changedTiddlers,changedAttributes);\n\t}\n\t// Completely refresh if any of our attributes have changed\n\tif(changedAttributes.filter || changedAttributes.template || changedAttributes.editTemplate || changedAttributes.emptyMessage || changedAttributes.storyview || changedAttributes.history) {\n\t\tthis.refreshSelf();\n\t\tresult = true;\n\t} else {\n\t\t// Handle any changes to the list\n\t\tresult = this.handleListChanges(changedTiddlers);\n\t\t// Handle any changes to the history stack\n\t\tif(this.historyTitle && changedTiddlers[this.historyTitle]) {\n\t\t\tthis.handleHistoryChanges();\n\t\t}\n\t}\n\t// Call the storyview\n\tif(this.storyview && this.storyview.refreshEnd) {\n\t\tthis.storyview.refreshEnd(changedTiddlers,changedAttributes);\n\t}\n\treturn result;\n};\n\n/*\nHandle any changes to the history list\n*/\nListWidget.prototype.handleHistoryChanges = function() {\n\t// Get the history data\n\tvar newHistory = this.wiki.getTiddlerDataCached(this.historyTitle,[]);\n\t// Ignore any entries of the history that match the previous history\n\tvar entry = 0;\n\twhile(entry < newHistory.length && entry < this.history.length && newHistory[entry].title === this.history[entry].title) {\n\t\tentry++;\n\t}\n\t// Navigate forwards to each of the new tiddlers\n\twhile(entry < newHistory.length) {\n\t\tif(this.storyview && this.storyview.navigateTo) {\n\t\t\tthis.storyview.navigateTo(newHistory[entry]);\n\t\t}\n\t\tentry++;\n\t}\n\t// Update the history\n\tthis.history = newHistory;\n};\n\n/*\nProcess any changes to the list\n*/\nListWidget.prototype.handleListChanges = function(changedTiddlers) {\n\t// Get the new list\n\tvar prevList = this.list;\n\tthis.list = this.getTiddlerList();\n\t// Check for an empty list\n\tif(this.list.length === 0) {\n\t\t// Check if it was empty before\n\t\tif(prevList.length === 0) {\n\t\t\t// If so, just refresh the empty message\n\t\t\treturn this.refreshChildren(changedTiddlers);\n\t\t} else {\n\t\t\t// Replace the previous content with the empty message\n\t\t\tfor(t=this.children.length-1; t>=0; t--) {\n\t\t\t\tthis.removeListItem(t);\n\t\t\t}\n\t\t\tvar nextSibling = this.findNextSiblingDomNode();\n\t\t\tthis.makeChildWidgets(this.getEmptyMessage());\n\t\t\tthis.renderChildren(this.parentDomNode,nextSibling);\n\t\t\treturn true;\n\t\t}\n\t} else {\n\t\t// If the list was empty then we need to remove the empty message\n\t\tif(prevList.length === 0) {\n\t\t\tthis.removeChildDomNodes();\n\t\t\tthis.children = [];\n\t\t}\n\t\t// Cycle through the list, inserting and removing list items as needed\n\t\tvar hasRefreshed = false;\n\t\tfor(var t=0; t<this.list.length; t++) {\n\t\t\tvar index = this.findListItem(t,this.list[t]);\n\t\t\tif(index === undefined) {\n\t\t\t\t// The list item must be inserted\n\t\t\t\tthis.insertListItem(t,this.list[t]);\n\t\t\t\thasRefreshed = true;\n\t\t\t} else {\n\t\t\t\t// There are intervening list items that must be removed\n\t\t\t\tfor(var n=index-1; n>=t; n--) {\n\t\t\t\t\tthis.removeListItem(n);\n\t\t\t\t\thasRefreshed = true;\n\t\t\t\t}\n\t\t\t\t// Refresh the item we're reusing\n\t\t\t\tvar refreshed = this.children[t].refresh(changedTiddlers);\n\t\t\t\thasRefreshed = hasRefreshed || refreshed;\n\t\t\t}\n\t\t}\n\t\t// Remove any left over items\n\t\tfor(t=this.children.length-1; t>=this.list.length; t--) {\n\t\t\tthis.removeListItem(t);\n\t\t\thasRefreshed = true;\n\t\t}\n\t\treturn hasRefreshed;\n\t}\n};\n\n/*\nFind the list item with a given title, starting from a specified position\n*/\nListWidget.prototype.findListItem = function(startIndex,title) {\n\twhile(startIndex < this.children.length) {\n\t\tif(this.children[startIndex].parseTreeNode.itemTitle === title) {\n\t\t\treturn startIndex;\n\t\t}\n\t\tstartIndex++;\n\t}\n\treturn undefined;\n};\n\n/*\nInsert a new list item at the specified index\n*/\nListWidget.prototype.insertListItem = function(index,title) {\n\t// Create, insert and render the new child widgets\n\tvar widget = this.makeChildWidget(this.makeItemTemplate(title));\n\twidget.parentDomNode = this.parentDomNode; // Hack to enable findNextSiblingDomNode() to work\n\tthis.children.splice(index,0,widget);\n\tvar nextSibling = widget.findNextSiblingDomNode();\n\twidget.render(this.parentDomNode,nextSibling);\n\t// Animate the insertion if required\n\tif(this.storyview && this.storyview.insert) {\n\t\tthis.storyview.insert(widget);\n\t}\n\treturn true;\n};\n\n/*\nRemove the specified list item\n*/\nListWidget.prototype.removeListItem = function(index) {\n\tvar widget = this.children[index];\n\t// Animate the removal if required\n\tif(this.storyview && this.storyview.remove) {\n\t\tthis.storyview.remove(widget);\n\t} else {\n\t\twidget.removeChildDomNodes();\n\t}\n\t// Remove the child widget\n\tthis.children.splice(index,1);\n};\n\nexports.list = ListWidget;\n\nvar ListItemWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nListItemWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nListItemWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nListItemWidget.prototype.execute = function() {\n\t// Set the current list item title\n\tthis.setVariable(this.parseTreeNode.variableName,this.parseTreeNode.itemTitle);\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nListItemWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.listitem = ListItemWidget;\n\n})();",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/macrocall.js": {
            "title": "$:/core/modules/widgets/macrocall.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/macrocall.js\ntype: application/javascript\nmodule-type: widget\n\nMacrocall widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar MacroCallWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nMacroCallWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nMacroCallWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nMacroCallWidget.prototype.execute = function() {\n\t// Get the parse type if specified\n\tthis.parseType = this.getAttribute(\"$type\",\"text/vnd.tiddlywiki\");\n\tthis.renderOutput = this.getAttribute(\"$output\",\"text/html\");\n\t// Merge together the parameters specified in the parse tree with the specified attributes\n\tvar params = this.parseTreeNode.params ? this.parseTreeNode.params.slice(0) : [];\n\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\tif(name.charAt(0) !== \"$\") {\n\t\t\tparams.push({name: name, value: attribute});\t\t\t\n\t\t}\n\t});\n\t// Get the macro value\n\tvar macroName = this.parseTreeNode.name || this.getAttribute(\"$name\"),\n\t\tvariableInfo = this.getVariableInfo(macroName,{params: params}),\n\t\ttext = variableInfo.text,\n\t\tparseTreeNodes;\n\t// Are we rendering to HTML?\n\tif(this.renderOutput === \"text/html\") {\n\t\t// If so we'll return the parsed macro\n\t\tvar parser = this.wiki.parseText(this.parseType,text,\n\t\t\t\t\t\t\t{parseAsInline: !this.parseTreeNode.isBlock});\n\t\tparseTreeNodes = parser ? parser.tree : [];\n\t\t// Wrap the parse tree in a vars widget assigning the parameters to variables named \"__paramname__\"\n\t\tvar attributes = {};\n\t\t$tw.utils.each(variableInfo.params,function(param) {\n\t\t\tvar name = \"__\" + param.name + \"__\";\n\t\t\tattributes[name] = {\n\t\t\t\tname: name,\n\t\t\t\ttype: \"string\",\n\t\t\t\tvalue: param.value\n\t\t\t};\n\t\t});\n\t\tparseTreeNodes = [{\n\t\t\ttype: \"vars\",\n\t\t\tattributes: attributes,\n\t\t\tchildren: parseTreeNodes\n\t\t}];\n\t} else {\n\t\t// Otherwise, we'll render the text\n\t\tvar plainText = this.wiki.renderText(\"text/plain\",this.parseType,text,{parentWidget: this});\n\t\tparseTreeNodes = [{type: \"text\", text: plainText}];\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets(parseTreeNodes);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nMacroCallWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif($tw.utils.count(changedAttributes) > 0) {\n\t\t// Rerender ourselves\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.macrocall = MacroCallWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/navigator.js": {
            "title": "$:/core/modules/widgets/navigator.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/navigator.js\ntype: application/javascript\nmodule-type: widget\n\nNavigator widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar IMPORT_TITLE = \"$:/Import\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar NavigatorWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n\tthis.addEventListeners([\n\t\t{type: \"tm-navigate\", handler: \"handleNavigateEvent\"},\n\t\t{type: \"tm-edit-tiddler\", handler: \"handleEditTiddlerEvent\"},\n\t\t{type: \"tm-delete-tiddler\", handler: \"handleDeleteTiddlerEvent\"},\n\t\t{type: \"tm-save-tiddler\", handler: \"handleSaveTiddlerEvent\"},\n\t\t{type: \"tm-cancel-tiddler\", handler: \"handleCancelTiddlerEvent\"},\n\t\t{type: \"tm-close-tiddler\", handler: \"handleCloseTiddlerEvent\"},\n\t\t{type: \"tm-close-all-tiddlers\", handler: \"handleCloseAllTiddlersEvent\"},\n\t\t{type: \"tm-close-other-tiddlers\", handler: \"handleCloseOtherTiddlersEvent\"},\n\t\t{type: \"tm-new-tiddler\", handler: \"handleNewTiddlerEvent\"},\n\t\t{type: \"tm-import-tiddlers\", handler: \"handleImportTiddlersEvent\"},\n\t\t{type: \"tm-perform-import\", handler: \"handlePerformImportEvent\"},\n\t\t{type: \"tm-fold-tiddler\", handler: \"handleFoldTiddlerEvent\"},\n\t\t{type: \"tm-fold-other-tiddlers\", handler: \"handleFoldOtherTiddlersEvent\"},\n\t\t{type: \"tm-fold-all-tiddlers\", handler: \"handleFoldAllTiddlersEvent\"},\n\t\t{type: \"tm-unfold-all-tiddlers\", handler: \"handleUnfoldAllTiddlersEvent\"},\n\t\t{type: \"tm-rename-tiddler\", handler: \"handleRenameTiddlerEvent\"}\n\t]);\n};\n\n/*\nInherit from the base widget class\n*/\nNavigatorWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nNavigatorWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nNavigatorWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.storyTitle = this.getAttribute(\"story\");\n\tthis.historyTitle = this.getAttribute(\"history\");\n\tthis.setVariable(\"tv-story-list\",this.storyTitle);\n\tthis.setVariable(\"tv-history-list\",this.historyTitle);\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nNavigatorWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.story || changedAttributes.history) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nNavigatorWidget.prototype.getStoryList = function() {\n\treturn this.storyTitle ? this.wiki.getTiddlerList(this.storyTitle) : null;\n};\n\nNavigatorWidget.prototype.saveStoryList = function(storyList) {\n\tif(this.storyTitle) {\n\t\tvar storyTiddler = this.wiki.getTiddler(this.storyTitle);\n\t\tthis.wiki.addTiddler(new $tw.Tiddler(\n\t\t\t{title: this.storyTitle},\n\t\t\tstoryTiddler,\n\t\t\t{list: storyList}\n\t\t));\t\t\n\t}\n};\n\nNavigatorWidget.prototype.removeTitleFromStory = function(storyList,title) {\n\tif(storyList) {\n\t\tvar p = storyList.indexOf(title);\n\t\twhile(p !== -1) {\n\t\t\tstoryList.splice(p,1);\n\t\t\tp = storyList.indexOf(title);\n\t\t}\t\t\n\t}\n};\n\nNavigatorWidget.prototype.replaceFirstTitleInStory = function(storyList,oldTitle,newTitle) {\n\tif(storyList) {\n\t\tvar pos = storyList.indexOf(oldTitle);\n\t\tif(pos !== -1) {\n\t\t\tstoryList[pos] = newTitle;\n\t\t\tdo {\n\t\t\t\tpos = storyList.indexOf(oldTitle,pos + 1);\n\t\t\t\tif(pos !== -1) {\n\t\t\t\t\tstoryList.splice(pos,1);\n\t\t\t\t}\n\t\t\t} while(pos !== -1);\n\t\t} else {\n\t\t\tstoryList.splice(0,0,newTitle);\n\t\t}\t\t\n\t}\n};\n\nNavigatorWidget.prototype.addToStory = function(title,fromTitle) {\n\tif(this.storyTitle) {\n\t\tthis.wiki.addToStory(title,fromTitle,this.storyTitle,{\n\t\t\topenLinkFromInsideRiver: this.getAttribute(\"openLinkFromInsideRiver\",\"top\"),\n\t\t\topenLinkFromOutsideRiver: this.getAttribute(\"openLinkFromOutsideRiver\",\"top\")\n\t\t});\n\t}\n};\n\n/*\nAdd a new record to the top of the history stack\ntitle: a title string or an array of title strings\nfromPageRect: page coordinates of the origin of the navigation\n*/\nNavigatorWidget.prototype.addToHistory = function(title,fromPageRect) {\n\tthis.wiki.addToHistory(title,fromPageRect,this.historyTitle);\n};\n\n/*\nHandle a tm-navigate event\n*/\nNavigatorWidget.prototype.handleNavigateEvent = function(event) {\n\tevent = $tw.hooks.invokeHook(\"th-navigating\",event);\n\tif(event.navigateTo) {\n\t\tthis.addToStory(event.navigateTo,event.navigateFromTitle);\n\t\tif(!event.navigateSuppressNavigation) {\n\t\t\tthis.addToHistory(event.navigateTo,event.navigateFromClientRect);\n\t\t}\n\t}\n\treturn false;\n};\n\n// Close a specified tiddler\nNavigatorWidget.prototype.handleCloseTiddlerEvent = function(event) {\n\tvar title = event.param || event.tiddlerTitle,\n\t\tstoryList = this.getStoryList();\n\t// Look for tiddlers with this title to close\n\tthis.removeTitleFromStory(storyList,title);\n\tthis.saveStoryList(storyList);\n\treturn false;\n};\n\n// Close all tiddlers\nNavigatorWidget.prototype.handleCloseAllTiddlersEvent = function(event) {\n\tthis.saveStoryList([]);\n\treturn false;\n};\n\n// Close other tiddlers\nNavigatorWidget.prototype.handleCloseOtherTiddlersEvent = function(event) {\n\tvar title = event.param || event.tiddlerTitle;\n\tthis.saveStoryList([title]);\n\treturn false;\n};\n\n// Place a tiddler in edit mode\nNavigatorWidget.prototype.handleEditTiddlerEvent = function(event) {\n\tvar editTiddler = $tw.hooks.invokeHook(\"th-editing-tiddler\",event);\n\tif(!editTiddler) {\n\t\treturn false;\n\t}\n\tvar self = this;\n\tfunction isUnmodifiedShadow(title) {\n\t\treturn self.wiki.isShadowTiddler(title) && !self.wiki.tiddlerExists(title);\n\t}\n\tfunction confirmEditShadow(title) {\n\t\treturn confirm($tw.language.getString(\n\t\t\t\"ConfirmEditShadowTiddler\",\n\t\t\t{variables:\n\t\t\t\t{title: title}\n\t\t\t}\n\t\t));\n\t}\n\tvar title = event.param || event.tiddlerTitle;\n\tif(isUnmodifiedShadow(title) && !confirmEditShadow(title)) {\n\t\treturn false;\n\t}\n\t// Replace the specified tiddler with a draft in edit mode\n\tvar draftTiddler = this.makeDraftTiddler(title);\n\t// Update the story and history if required\n\tif(!event.paramObject || event.paramObject.suppressNavigation !== \"yes\") {\n\t\tvar draftTitle = draftTiddler.fields.title,\n\t\t\tstoryList = this.getStoryList();\n\t\tthis.removeTitleFromStory(storyList,draftTitle);\n\t\tthis.replaceFirstTitleInStory(storyList,title,draftTitle);\n\t\tthis.addToHistory(draftTitle,event.navigateFromClientRect);\n\t\tthis.saveStoryList(storyList);\n\t\treturn false;\n\t}\n};\n\n// Delete a tiddler\nNavigatorWidget.prototype.handleDeleteTiddlerEvent = function(event) {\n\t// Get the tiddler we're deleting\n\tvar title = event.param || event.tiddlerTitle,\n\t\ttiddler = this.wiki.getTiddler(title),\n\t\tstoryList = this.getStoryList(),\n\t\toriginalTitle = tiddler ? tiddler.fields[\"draft.of\"] : \"\",\n\t\toriginalTiddler = originalTitle ? this.wiki.getTiddler(originalTitle) : undefined,\n\t\tconfirmationTitle;\n\tif(!tiddler) {\n\t\treturn false;\n\t}\n\t// Check if the tiddler we're deleting is in draft mode\n\tif(originalTitle) {\n\t\t// If so, we'll prompt for confirmation referencing the original tiddler\n\t\tconfirmationTitle = originalTitle;\n\t} else {\n\t\t// If not a draft, then prompt for confirmation referencing the specified tiddler\n\t\tconfirmationTitle = title;\n\t}\n\t// Seek confirmation\n\tif((this.wiki.getTiddler(originalTitle) || (tiddler.fields.text || \"\") !== \"\") && !confirm($tw.language.getString(\n\t\t\t\t\"ConfirmDeleteTiddler\",\n\t\t\t\t{variables:\n\t\t\t\t\t{title: confirmationTitle}\n\t\t\t\t}\n\t\t\t))) {\n\t\treturn false;\n\t}\n\t// Delete the original tiddler\n\tif(originalTitle) {\n\t\tif(originalTiddler) {\n\t\t\t$tw.hooks.invokeHook(\"th-deleting-tiddler\",originalTiddler);\n\t\t}\n\t\tthis.wiki.deleteTiddler(originalTitle);\n\t\tthis.removeTitleFromStory(storyList,originalTitle);\n\t}\n\t// Invoke the hook function and delete this tiddler\n\t$tw.hooks.invokeHook(\"th-deleting-tiddler\",tiddler);\n\tthis.wiki.deleteTiddler(title);\n\t// Remove the closed tiddler from the story\n\tthis.removeTitleFromStory(storyList,title);\n\tthis.saveStoryList(storyList);\n\t// Trigger an autosave\n\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\n\treturn false;\n};\n\n/*\nCreate/reuse the draft tiddler for a given title\n*/\nNavigatorWidget.prototype.makeDraftTiddler = function(targetTitle) {\n\t// See if there is already a draft tiddler for this tiddler\n\tvar draftTitle = this.wiki.findDraft(targetTitle);\n\tif(draftTitle) {\n\t\treturn this.wiki.getTiddler(draftTitle);\n\t}\n\t// Get the current value of the tiddler we're editing\n\tvar tiddler = this.wiki.getTiddler(targetTitle);\n\t// Save the initial value of the draft tiddler\n\tdraftTitle = this.generateDraftTitle(targetTitle);\n\tvar draftTiddler = new $tw.Tiddler(\n\t\t\ttiddler,\n\t\t\t{\n\t\t\t\ttitle: draftTitle,\n\t\t\t\t\"draft.title\": targetTitle,\n\t\t\t\t\"draft.of\": targetTitle\n\t\t\t},\n\t\t\tthis.wiki.getModificationFields()\n\t\t);\n\tthis.wiki.addTiddler(draftTiddler);\n\treturn draftTiddler;\n};\n\n/*\nGenerate a title for the draft of a given tiddler\n*/\nNavigatorWidget.prototype.generateDraftTitle = function(title) {\n\treturn this.wiki.generateDraftTitle(title);\n};\n\n// Take a tiddler out of edit mode, saving the changes\nNavigatorWidget.prototype.handleSaveTiddlerEvent = function(event) {\n\tvar title = event.param || event.tiddlerTitle,\n\t\ttiddler = this.wiki.getTiddler(title),\n\t\tstoryList = this.getStoryList();\n\t// Replace the original tiddler with the draft\n\tif(tiddler) {\n\t\tvar draftTitle = (tiddler.fields[\"draft.title\"] || \"\").trim(),\n\t\t\tdraftOf = (tiddler.fields[\"draft.of\"] || \"\").trim();\n\t\tif(draftTitle) {\n\t\t\tvar isRename = draftOf !== draftTitle,\n\t\t\t\tisConfirmed = true;\n\t\t\tif(isRename && this.wiki.tiddlerExists(draftTitle)) {\n\t\t\t\tisConfirmed = confirm($tw.language.getString(\n\t\t\t\t\t\"ConfirmOverwriteTiddler\",\n\t\t\t\t\t{variables:\n\t\t\t\t\t\t{title: draftTitle}\n\t\t\t\t\t}\n\t\t\t\t));\n\t\t\t}\n\t\t\tif(isConfirmed) {\n\t\t\t\t// Create the new tiddler and pass it through the th-saving-tiddler hook\n\t\t\t\tvar newTiddler = new $tw.Tiddler(this.wiki.getCreationFields(),tiddler,{\n\t\t\t\t\ttitle: draftTitle,\n\t\t\t\t\t\"draft.title\": undefined,\n\t\t\t\t\t\"draft.of\": undefined\n\t\t\t\t},this.wiki.getModificationFields());\n\t\t\t\tnewTiddler = $tw.hooks.invokeHook(\"th-saving-tiddler\",newTiddler);\n\t\t\t\tthis.wiki.addTiddler(newTiddler);\n\t\t\t\t// If enabled, relink references to renamed tiddler\n\t\t\t\tvar shouldRelink = this.getAttribute(\"relinkOnRename\",\"no\").toLowerCase().trim() === \"yes\";\n\t\t\t\tif(isRename && shouldRelink && this.wiki.tiddlerExists(draftOf)) {\nconsole.log(\"Relinking '\" + draftOf + \"' to '\" + draftTitle + \"'\");\n\t\t\t\t\tthis.wiki.relinkTiddler(draftOf,draftTitle);\n\t\t\t\t}\n\t\t\t\t// Remove the draft tiddler\n\t\t\t\tthis.wiki.deleteTiddler(title);\n\t\t\t\t// Remove the original tiddler if we're renaming it\n\t\t\t\tif(isRename) {\n\t\t\t\t\tthis.wiki.deleteTiddler(draftOf);\n\t\t\t\t}\n\t\t\t\t// #2381 always remove new title & old\n\t\t\t\tthis.removeTitleFromStory(storyList,draftTitle);\n\t\t\t\tthis.removeTitleFromStory(storyList,draftOf);\n\t\t\t\tif(!event.paramObject || event.paramObject.suppressNavigation !== \"yes\") {\n\t\t\t\t\t// Replace the draft in the story with the original\n\t\t\t\t\tthis.replaceFirstTitleInStory(storyList,title,draftTitle);\n\t\t\t\t\tthis.addToHistory(draftTitle,event.navigateFromClientRect);\n\t\t\t\t\tif(draftTitle !== this.storyTitle) {\n\t\t\t\t\t\tthis.saveStoryList(storyList);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// Trigger an autosave\n\t\t\t\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n};\n\n// Take a tiddler out of edit mode without saving the changes\nNavigatorWidget.prototype.handleCancelTiddlerEvent = function(event) {\n\tevent = $tw.hooks.invokeHook(\"th-cancelling-tiddler\", event);\n\t// Flip the specified tiddler from draft back to the original\n\tvar draftTitle = event.param || event.tiddlerTitle,\n\t\tdraftTiddler = this.wiki.getTiddler(draftTitle),\n\t\toriginalTitle = draftTiddler && draftTiddler.fields[\"draft.of\"];\n\tif(draftTiddler && originalTitle) {\n\t\t// Ask for confirmation if the tiddler text has changed\n\t\tvar isConfirmed = true,\n\t\t\toriginalTiddler = this.wiki.getTiddler(originalTitle),\n\t\t\tstoryList = this.getStoryList();\n\t\tif(this.wiki.isDraftModified(draftTitle)) {\n\t\t\tisConfirmed = confirm($tw.language.getString(\n\t\t\t\t\"ConfirmCancelTiddler\",\n\t\t\t\t{variables:\n\t\t\t\t\t{title: draftTitle}\n\t\t\t\t}\n\t\t\t));\n\t\t}\n\t\t// Remove the draft tiddler\n\t\tif(isConfirmed) {\n\t\t\tthis.wiki.deleteTiddler(draftTitle);\n\t\t\tif(!event.paramObject || event.paramObject.suppressNavigation !== \"yes\") {\n\t\t\t\tif(originalTiddler) {\n\t\t\t\t\tthis.replaceFirstTitleInStory(storyList,draftTitle,originalTitle);\n\t\t\t\t\tthis.addToHistory(originalTitle,event.navigateFromClientRect);\n\t\t\t\t} else {\n\t\t\t\t\tthis.removeTitleFromStory(storyList,draftTitle);\n\t\t\t\t}\n\t\t\t\tthis.saveStoryList(storyList);\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n};\n\n// Create a new draft tiddler\n// event.param can either be the title of a template tiddler, or a hashmap of fields.\n//\n// The title of the newly created tiddler follows these rules:\n// * If a hashmap was used and a title field was specified, use that title\n// * If a hashmap was used without a title field, use a default title, if necessary making it unique with a numeric suffix\n// * If a template tiddler was used, use the title of the template, if necessary making it unique with a numeric suffix\n//\n// If a draft of the target tiddler already exists then it is reused\nNavigatorWidget.prototype.handleNewTiddlerEvent = function(event) {\n\tevent = $tw.hooks.invokeHook(\"th-new-tiddler\", event);\n\t// Get the story details\n\tvar storyList = this.getStoryList(),\n\t\ttemplateTiddler, additionalFields, title, draftTitle, existingTiddler;\n\t// Get the template tiddler (if any)\n\tif(typeof event.param === \"string\") {\n\t\t// Get the template tiddler\n\t\ttemplateTiddler = this.wiki.getTiddler(event.param);\n\t\t// Generate a new title\n\t\ttitle = this.wiki.generateNewTitle(event.param || $tw.language.getString(\"DefaultNewTiddlerTitle\"));\n\t}\n\t// Get the specified additional fields\n\tif(typeof event.paramObject === \"object\") {\n\t\tadditionalFields = event.paramObject;\n\t}\n\tif(typeof event.param === \"object\") { // Backwards compatibility with 5.1.3\n\t\tadditionalFields = event.param;\n\t}\n\tif(additionalFields && additionalFields.title) {\n\t\ttitle = additionalFields.title;\n\t}\n\t// Make a copy of the additional fields excluding any blank ones\n\tvar filteredAdditionalFields = $tw.utils.extend({},additionalFields);\n\tObject.keys(filteredAdditionalFields).forEach(function(fieldName) {\n\t\tif(filteredAdditionalFields[fieldName] === \"\") {\n\t\t\tdelete filteredAdditionalFields[fieldName];\n\t\t}\n\t});\n\t// Generate a title if we don't have one\n\ttitle = title || this.wiki.generateNewTitle($tw.language.getString(\"DefaultNewTiddlerTitle\"));\n\t// Find any existing draft for this tiddler\n\tdraftTitle = this.wiki.findDraft(title);\n\t// Pull in any existing tiddler\n\tif(draftTitle) {\n\t\texistingTiddler = this.wiki.getTiddler(draftTitle);\n\t} else {\n\t\tdraftTitle = this.generateDraftTitle(title);\n\t\texistingTiddler = this.wiki.getTiddler(title);\n\t}\n\t// Merge the tags\n\tvar mergedTags = [];\n\tif(existingTiddler && existingTiddler.fields.tags) {\n\t\t$tw.utils.pushTop(mergedTags,existingTiddler.fields.tags);\n\t}\n\tif(additionalFields && additionalFields.tags) {\n\t\t// Merge tags\n\t\tmergedTags = $tw.utils.pushTop(mergedTags,$tw.utils.parseStringArray(additionalFields.tags));\n\t}\n\tif(templateTiddler && templateTiddler.fields.tags) {\n\t\t// Merge tags\n\t\tmergedTags = $tw.utils.pushTop(mergedTags,templateTiddler.fields.tags);\n\t}\n\t// Save the draft tiddler\n\tvar draftTiddler = new $tw.Tiddler({\n\t\t\ttext: \"\",\n\t\t\t\"draft.title\": title\n\t\t},\n\t\ttemplateTiddler,\n\t\tadditionalFields,\n\t\tthis.wiki.getCreationFields(),\n\t\texistingTiddler,\n\t\tfilteredAdditionalFields,\n\t\t{\n\t\t\ttitle: draftTitle,\n\t\t\t\"draft.of\": title,\n\t\t\ttags: mergedTags\n\t\t},this.wiki.getModificationFields());\n\tthis.wiki.addTiddler(draftTiddler);\n\t// Update the story to insert the new draft at the top and remove any existing tiddler\n\tif(storyList && storyList.indexOf(draftTitle) === -1) {\n\t\tvar slot = storyList.indexOf(event.navigateFromTitle);\n\t\tif(slot === -1) {\n\t\t\tslot = this.getAttribute(\"openLinkFromOutsideRiver\",\"top\") === \"bottom\" ? storyList.length - 1 : slot;\n\t\t}\n\t\tstoryList.splice(slot + 1,0,draftTitle);\n\t}\n\tif(storyList && storyList.indexOf(title) !== -1) {\n\t\tstoryList.splice(storyList.indexOf(title),1);\n\t}\n\tthis.saveStoryList(storyList);\n\t// Add a new record to the top of the history stack\n\tthis.addToHistory(draftTitle);\n\treturn false;\n};\n\n// Import JSON tiddlers into a pending import tiddler\nNavigatorWidget.prototype.handleImportTiddlersEvent = function(event) {\n\t// Get the tiddlers\n\tvar tiddlers = [];\n\ttry {\n\t\ttiddlers = JSON.parse(event.param);\n\t} catch(e) {\n\t}\n\t// Get the current $:/Import tiddler\n\tvar importTiddler = this.wiki.getTiddler(IMPORT_TITLE),\n\t\timportData = this.wiki.getTiddlerData(IMPORT_TITLE,{}),\n\t\tnewFields = new Object({\n\t\t\ttitle: IMPORT_TITLE,\n\t\t\ttype: \"application/json\",\n\t\t\t\"plugin-type\": \"import\",\n\t\t\t\"status\": \"pending\"\n\t\t}),\n\t\tincomingTiddlers = [];\n\t// Process each tiddler\n\timportData.tiddlers = importData.tiddlers || {};\n\t$tw.utils.each(tiddlers,function(tiddlerFields) {\n\t\ttiddlerFields.title = $tw.utils.trim(tiddlerFields.title);\n\t\tvar title = tiddlerFields.title;\n\t\tif(title) {\n\t\t\tincomingTiddlers.push(title);\n\t\t\timportData.tiddlers[title] = tiddlerFields;\n\t\t}\n\t});\n\t// Give the active upgrader modules a chance to process the incoming tiddlers\n\tvar messages = this.wiki.invokeUpgraders(incomingTiddlers,importData.tiddlers);\n\t$tw.utils.each(messages,function(message,title) {\n\t\tnewFields[\"message-\" + title] = message;\n\t});\n\t// Deselect any suppressed tiddlers\n\t$tw.utils.each(importData.tiddlers,function(tiddler,title) {\n\t\tif($tw.utils.count(tiddler) === 0) {\n\t\t\tnewFields[\"selection-\" + title] = \"unchecked\";\n\t\t}\n\t});\n\t// Save the $:/Import tiddler\n\tnewFields.text = JSON.stringify(importData,null,$tw.config.preferences.jsonSpaces);\n\tthis.wiki.addTiddler(new $tw.Tiddler(importTiddler,newFields));\n\t// Update the story and history details\n\tif(this.getVariable(\"tv-auto-open-on-import\") !== \"no\") {\n\t\tvar storyList = this.getStoryList(),\n\t\t\thistory = [];\n\t\t// Add it to the story\n\t\tif(storyList && storyList.indexOf(IMPORT_TITLE) === -1) {\n\t\t\tstoryList.unshift(IMPORT_TITLE);\n\t\t}\n\t\t// And to history\n\t\thistory.push(IMPORT_TITLE);\n\t\t// Save the updated story and history\n\t\tthis.saveStoryList(storyList);\n\t\tthis.addToHistory(history);\n\t}\n\treturn false;\n};\n\n//\nNavigatorWidget.prototype.handlePerformImportEvent = function(event) {\n\tvar self = this,\n\t\timportTiddler = this.wiki.getTiddler(event.param),\n\t\timportData = this.wiki.getTiddlerDataCached(event.param,{tiddlers: {}}),\n\t\timportReport = [];\n\t// Add the tiddlers to the store\n\timportReport.push($tw.language.getString(\"Import/Imported/Hint\") + \"\\n\");\n\t$tw.utils.each(importData.tiddlers,function(tiddlerFields) {\n\t\tvar title = tiddlerFields.title;\n\t\tif(title && importTiddler && importTiddler.fields[\"selection-\" + title] !== \"unchecked\") {\n\t\t\tvar tiddler = new $tw.Tiddler(tiddlerFields);\n\t\t\ttiddler = $tw.hooks.invokeHook(\"th-importing-tiddler\",tiddler);\n\t\t\tself.wiki.addTiddler(tiddler);\n\t\t\timportReport.push(\"# [[\" + tiddlerFields.title + \"]]\");\n\t\t}\n\t});\n\t// Replace the $:/Import tiddler with an import report\n\tthis.wiki.addTiddler(new $tw.Tiddler({\n\t\ttitle: event.param,\n\t\ttext: importReport.join(\"\\n\"),\n\t\t\"status\": \"complete\"\n\t}));\n\t// Navigate to the $:/Import tiddler\n\tthis.addToHistory([event.param]);\n\t// Trigger an autosave\n\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\n};\n\nNavigatorWidget.prototype.handleFoldTiddlerEvent = function(event) {\n\tvar paramObject = event.paramObject || {};\n\tif(paramObject.foldedState) {\n\t\tvar foldedState = this.wiki.getTiddlerText(paramObject.foldedState,\"show\") === \"show\" ? \"hide\" : \"show\";\n\t\tthis.wiki.setText(paramObject.foldedState,\"text\",null,foldedState);\n\t}\n};\n\nNavigatorWidget.prototype.handleFoldOtherTiddlersEvent = function(event) {\n\tvar self = this,\n\t\tparamObject = event.paramObject || {},\n\t\tprefix = paramObject.foldedStatePrefix;\n\t$tw.utils.each(this.getStoryList(),function(title) {\n\t\tself.wiki.setText(prefix + title,\"text\",null,event.param === title ? \"show\" : \"hide\");\n\t});\n};\n\nNavigatorWidget.prototype.handleFoldAllTiddlersEvent = function(event) {\n\tvar self = this,\n\t\tparamObject = event.paramObject || {},\n\t\tprefix = paramObject.foldedStatePrefix || \"$:/state/folded/\";\n\t$tw.utils.each(this.getStoryList(),function(title) {\n\t\tself.wiki.setText(prefix + title,\"text\",null,\"hide\");\n\t});\n};\n\nNavigatorWidget.prototype.handleUnfoldAllTiddlersEvent = function(event) {\n\tvar self = this,\n\t\tparamObject = event.paramObject || {},\n\t\tprefix = paramObject.foldedStatePrefix;\n\t$tw.utils.each(this.getStoryList(),function(title) {\n\t\tself.wiki.setText(prefix + title,\"text\",null,\"show\");\n\t});\n};\n\nNavigatorWidget.prototype.handleRenameTiddlerEvent = function(event) {\n\tvar paramObject = event.paramObject || {},\n\t\tfrom = paramObject.from || event.tiddlerTitle,\n\t\tto = paramObject.to;\n\t$tw.wiki.renameTiddler(from,to);\n};\n\nexports.navigator = NavigatorWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/password.js": {
            "title": "$:/core/modules/widgets/password.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/password.js\ntype: application/javascript\nmodule-type: widget\n\nPassword widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar PasswordWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nPasswordWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nPasswordWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Get the current password\n\tvar password = $tw.browser ? $tw.utils.getPassword(this.passwordName) || \"\" : \"\";\n\t// Create our element\n\tvar domNode = this.document.createElement(\"input\");\n\tdomNode.setAttribute(\"type\",\"password\");\n\tdomNode.setAttribute(\"value\",password);\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(domNode,[\n\t\t{name: \"change\", handlerObject: this, handlerMethod: \"handleChangeEvent\"}\n\t]);\n\t// Insert the label into the DOM and render any children\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\nPasswordWidget.prototype.handleChangeEvent = function(event) {\n\tvar password = this.domNodes[0].value;\n\treturn $tw.utils.savePassword(this.passwordName,password);\n};\n\n/*\nCompute the internal state of the widget\n*/\nPasswordWidget.prototype.execute = function() {\n\t// Get the parameters from the attributes\n\tthis.passwordName = this.getAttribute(\"name\",\"\");\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nPasswordWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.name) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.password = PasswordWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/qualify.js": {
            "title": "$:/core/modules/widgets/qualify.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/qualify.js\ntype: application/javascript\nmodule-type: widget\n\nQualify text to a variable \n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar QualifyWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nQualifyWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nQualifyWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nQualifyWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.qualifyName = this.getAttribute(\"name\");\n\tthis.qualifyTitle = this.getAttribute(\"title\");\n\t// Set context variable\n\tif(this.qualifyName) {\n\t\tthis.setVariable(this.qualifyName,this.qualifyTitle + \"-\" + this.getStateQualifier());\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nQualifyWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.name || changedAttributes.title) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.qualify = QualifyWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/radio.js": {
            "title": "$:/core/modules/widgets/radio.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/radio.js\ntype: application/javascript\nmodule-type: widget\n\nSet a field or index at a given tiddler via radio buttons\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar RadioWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nRadioWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nRadioWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\tvar isChecked = this.getValue() === this.radioValue;\n\t// Create our elements\n\tthis.labelDomNode = this.document.createElement(\"label\");\n\tthis.labelDomNode.setAttribute(\"class\",\n   \t\t\"tc-radio \" + this.radioClass + (isChecked ? \" tc-radio-selected\" : \"\")\n  \t);\n\tthis.inputDomNode = this.document.createElement(\"input\");\n\tthis.inputDomNode.setAttribute(\"type\",\"radio\");\n\tif(isChecked) {\n\t\tthis.inputDomNode.setAttribute(\"checked\",\"true\");\n\t}\n\tthis.labelDomNode.appendChild(this.inputDomNode);\n\tthis.spanDomNode = this.document.createElement(\"span\");\n\tthis.labelDomNode.appendChild(this.spanDomNode);\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(this.inputDomNode,[\n\t\t{name: \"change\", handlerObject: this, handlerMethod: \"handleChangeEvent\"}\n\t]);\n\t// Insert the label into the DOM and render any children\n\tparent.insertBefore(this.labelDomNode,nextSibling);\n\tthis.renderChildren(this.spanDomNode,null);\n\tthis.domNodes.push(this.labelDomNode);\n};\n\nRadioWidget.prototype.getValue = function() {\n\tvar value,\n\t\ttiddler = this.wiki.getTiddler(this.radioTitle);\n\tif (this.radioIndex) {\n\t\tvalue = this.wiki.extractTiddlerDataItem(this.radioTitle,this.radioIndex);\n\t} else {\n\t\tvalue = tiddler && tiddler.getFieldString(this.radioField);\n\t}\n\treturn value;\n};\n\nRadioWidget.prototype.setValue = function() {\n\tif(this.radioIndex) {\n\t\tthis.wiki.setText(this.radioTitle,\"\",this.radioIndex,this.radioValue);\n\t} else {\n\t\tvar tiddler = this.wiki.getTiddler(this.radioTitle),\n\t\t\taddition = {};\n\t\taddition[this.radioField] = this.radioValue;\n\t\tthis.wiki.addTiddler(new $tw.Tiddler(this.wiki.getCreationFields(),{title: this.radioTitle},tiddler,addition,this.wiki.getModificationFields()));\n\t}\n};\n\nRadioWidget.prototype.handleChangeEvent = function(event) {\n\tif(this.inputDomNode.checked) {\n\t\tthis.setValue();\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nRadioWidget.prototype.execute = function() {\n\t// Get the parameters from the attributes\n\tthis.radioTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.radioField = this.getAttribute(\"field\",\"text\");\n\tthis.radioIndex = this.getAttribute(\"index\");\n\tthis.radioValue = this.getAttribute(\"value\");\n\tthis.radioClass = this.getAttribute(\"class\",\"\");\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nRadioWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes.value || changedAttributes[\"class\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tvar refreshed = false;\n\t\tif(changedTiddlers[this.radioTitle]) {\n\t\t\tthis.inputDomNode.checked = this.getValue() === this.radioValue;\n\t\t\trefreshed = true;\n\t\t}\n\t\treturn this.refreshChildren(changedTiddlers) || refreshed;\n\t}\n};\n\nexports.radio = RadioWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/range.js": {
            "title": "$:/core/modules/widgets/range.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/range.js\ntype: application/javascript\nmodule-type: widget\n\nRange widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar RangeWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nRangeWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nRangeWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Create our elements\n\tthis.inputDomNode = this.document.createElement(\"input\");\n\tthis.inputDomNode.setAttribute(\"type\",\"range\");\n\tthis.inputDomNode.setAttribute(\"class\",this.elementClass);\n\tif(this.minValue){\n\t\tthis.inputDomNode.setAttribute(\"min\", this.minValue);\n\t}\n\tif(this.maxValue){\n\t\tthis.inputDomNode.setAttribute(\"max\", this.maxValue);\n\t}\n\tif(this.increment){\n\t\tthis.inputDomNode.setAttribute(\"step\", this.increment);\n\t}\n\tthis.inputDomNode.value = this.getValue();\n\n\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(this.inputDomNode,[\n\t\t{name: \"input\", handlerObject: this, handlerMethod: \"handleChangeEvent\"}\n\t]);\n\t// Insert the label into the DOM and render any children\n\tparent.insertBefore(this.inputDomNode,nextSibling);\n\tthis.domNodes.push(this.inputDomNode);\n};\n\nRangeWidget.prototype.getValue = function() {\n\tvar tiddler = this.wiki.getTiddler(this.tiddlerTitle),\n\t\tvalue   = this.defaultValue;\n\tif(tiddler) {\n\t\tif($tw.utils.hop(tiddler.fields,this.tiddlerField)) {\n\t\t\tvalue = tiddler.fields[this.tiddlerField] || \"\";\n\t\t} else {\n\t\t\tvalue = this.defaultValue || \"\";\n\t\t}\n\t}\n\treturn value;\n};\n\nRangeWidget.prototype.handleChangeEvent = function(event) {\n\tthis.wiki.setText(this.tiddlerTitle ,this.tiddlerField, null,this.inputDomNode.value);\n};\n\n/*\nCompute the internal state of the widget\n*/\nRangeWidget.prototype.execute = function() {\n\t// Get the parameters from the attributes\n\tthis.tiddlerTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.tiddlerField = this.getAttribute(\"field\");\n\tthis.minValue = this.getAttribute(\"min\");\n\tthis.maxValue = this.getAttribute(\"max\");\n\tthis.increment = this.getAttribute(\"increment\");\n\tthis.defaultValue = this.getAttribute(\"default\");\n\tthis.elementClass = this.getAttribute(\"class\",\"\");\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nRangeWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes['min'] || changedAttributes['max'] || changedAttributes['increment'] || changedAttributes[\"default\"] || changedAttributes[\"class\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tvar refreshed = false;\n\t\tif(changedTiddlers[this.tiddlerTitle]) {\n\t\t\tthis.inputDomNode.checked = this.getValue();\n\t\t\trefreshed = true;\n\t\t}\n\t\treturn this.refreshChildren(changedTiddlers) || refreshed;\n\t}\n};\n\nexports.range = RangeWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/raw.js": {
            "title": "$:/core/modules/widgets/raw.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/raw.js\ntype: application/javascript\nmodule-type: widget\n\nRaw widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar RawWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nRawWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nRawWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.execute();\n\tvar div = this.document.createElement(\"div\");\n\tdiv.innerHTML=this.parseTreeNode.html;\n\tparent.insertBefore(div,nextSibling);\n\tthis.domNodes.push(div);\t\n};\n\n/*\nCompute the internal state of the widget\n*/\nRawWidget.prototype.execute = function() {\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nRawWidget.prototype.refresh = function(changedTiddlers) {\n\treturn false;\n};\n\nexports.raw = RawWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/reveal.js": {
            "title": "$:/core/modules/widgets/reveal.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/reveal.js\ntype: application/javascript\nmodule-type: widget\n\nReveal widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar RevealWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nRevealWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nRevealWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar tag = this.parseTreeNode.isBlock ? \"div\" : \"span\";\n\tif(this.revealTag && $tw.config.htmlUnsafeElements.indexOf(this.revealTag) === -1) {\n\t\ttag = this.revealTag;\n\t}\n\tvar domNode = this.document.createElement(tag);\n\tvar classes = this[\"class\"].split(\" \") || [];\n\tclasses.push(\"tc-reveal\");\n\tdomNode.className = classes.join(\" \");\n\tif(this.style) {\n\t\tdomNode.setAttribute(\"style\",this.style);\n\t}\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tif(!domNode.isTiddlyWikiFakeDom && this.type === \"popup\" && this.isOpen) {\n\t\tthis.positionPopup(domNode);\n\t\t$tw.utils.addClass(domNode,\"tc-popup\"); // Make sure that clicks don't dismiss popups within the revealed content\n\t}\n\tif(!this.isOpen) {\n\t\tdomNode.setAttribute(\"hidden\",\"true\");\n\t}\n\tthis.domNodes.push(domNode);\n};\n\nRevealWidget.prototype.positionPopup = function(domNode) {\n\tdomNode.style.position = \"absolute\";\n\tdomNode.style.zIndex = \"1000\";\n\tvar left,top;\n\tswitch(this.position) {\n\t\tcase \"left\":\n\t\t\tleft = this.popup.left - domNode.offsetWidth;\n\t\t\ttop = this.popup.top;\n\t\t\tbreak;\n\t\tcase \"above\":\n\t\t\tleft = this.popup.left;\n\t\t\ttop = this.popup.top - domNode.offsetHeight;\n\t\t\tbreak;\n\t\tcase \"aboveright\":\n\t\t\tleft = this.popup.left + this.popup.width;\n\t\t\ttop = this.popup.top + this.popup.height - domNode.offsetHeight;\n\t\t\tbreak;\n\t\tcase \"right\":\n\t\t\tleft = this.popup.left + this.popup.width;\n\t\t\ttop = this.popup.top;\n\t\t\tbreak;\n\t\tcase \"belowleft\":\n\t\t\tleft = this.popup.left + this.popup.width - domNode.offsetWidth;\n\t\t\ttop = this.popup.top + this.popup.height;\n\t\t\tbreak;\n\t\tdefault: // Below\n\t\t\tleft = this.popup.left;\n\t\t\ttop = this.popup.top + this.popup.height;\n\t\t\tbreak;\n\t}\n\tif(!this.positionAllowNegative) {\n\t\tleft = Math.max(0,left);\n\t\ttop = Math.max(0,top);\n\t}\n\tdomNode.style.left = left + \"px\";\n\tdomNode.style.top = top + \"px\";\n};\n\n/*\nCompute the internal state of the widget\n*/\nRevealWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.state = this.getAttribute(\"state\");\n\tthis.revealTag = this.getAttribute(\"tag\");\n\tthis.type = this.getAttribute(\"type\");\n\tthis.text = this.getAttribute(\"text\");\n\tthis.position = this.getAttribute(\"position\");\n\tthis.positionAllowNegative = this.getAttribute(\"positionAllowNegative\") === \"yes\";\n\tthis[\"class\"] = this.getAttribute(\"class\",\"\");\n\tthis.style = this.getAttribute(\"style\",\"\");\n\tthis[\"default\"] = this.getAttribute(\"default\",\"\");\n\tthis.animate = this.getAttribute(\"animate\",\"no\");\n\tthis.retain = this.getAttribute(\"retain\",\"no\");\n\tthis.openAnimation = this.animate === \"no\" ? undefined : \"open\";\n\tthis.closeAnimation = this.animate === \"no\" ? undefined : \"close\";\n\t// Compute the title of the state tiddler and read it\n\tthis.stateTiddlerTitle = this.state;\n\tthis.stateTitle = this.getAttribute(\"stateTitle\");\n\tthis.stateField = this.getAttribute(\"stateField\");\n\tthis.stateIndex = this.getAttribute(\"stateIndex\");\n\tthis.readState();\n\t// Construct the child widgets\n\tvar childNodes = this.isOpen ? this.parseTreeNode.children : [];\n\tthis.hasChildNodes = this.isOpen;\n\tthis.makeChildWidgets(childNodes);\n};\n\n/*\nRead the state tiddler\n*/\nRevealWidget.prototype.readState = function() {\n\t// Read the information from the state tiddler\n\tvar state,\n\t    defaultState = this[\"default\"];\n\tif(this.stateTitle) {\n\t\tvar stateTitleTiddler = this.wiki.getTiddler(this.stateTitle);\n\t\tif(this.stateField) {\n\t\t\tstate = stateTitleTiddler ? stateTitleTiddler.getFieldString(this.stateField) || defaultState : defaultState;\n\t\t} else if(this.stateIndex) {\n\t\t\tstate = stateTitleTiddler ? this.wiki.extractTiddlerDataItem(this.stateTitle,this.stateIndex) || defaultState : defaultState;\n\t\t} else if(stateTitleTiddler) {\n\t\t\tstate = this.wiki.getTiddlerText(this.stateTitle) || defaultState;\n\t\t} else {\n\t\t\tstate = defaultState;\n\t\t}\n\t} else {\n\t\tstate = this.stateTiddlerTitle ? this.wiki.getTextReference(this.state,this[\"default\"],this.getVariable(\"currentTiddler\")) : this[\"default\"];\n\t}\n\tif(state === null) {\n\t\tstate = this[\"default\"];\n\t}\n\tswitch(this.type) {\n\t\tcase \"popup\":\n\t\t\tthis.readPopupState(state);\n\t\t\tbreak;\n\t\tcase \"match\":\n\t\t\tthis.isOpen = this.text === state;\n\t\t\tbreak;\n\t\tcase \"nomatch\":\n\t\t\tthis.isOpen = this.text !== state;\n\t\t\tbreak;\n\t\tcase \"lt\":\n\t\t\tthis.isOpen = !!(this.compareStateText(state) < 0);\n\t\t\tbreak;\n\t\tcase \"gt\":\n\t\t\tthis.isOpen = !!(this.compareStateText(state) > 0);\n\t\t\tbreak;\n\t\tcase \"lteq\":\n\t\t\tthis.isOpen = !(this.compareStateText(state) > 0);\n\t\t\tbreak;\n\t\tcase \"gteq\":\n\t\t\tthis.isOpen = !(this.compareStateText(state) < 0);\n\t\t\tbreak;\n\t}\n};\n\nRevealWidget.prototype.compareStateText = function(state) {\n\treturn state.localeCompare(this.text,undefined,{numeric: true,sensitivity: \"case\"});\n};\n\nRevealWidget.prototype.readPopupState = function(state) {\n\tvar popupLocationRegExp = /^\\((-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+)\\)$/,\n\t\tmatch = popupLocationRegExp.exec(state);\n\t// Check if the state matches the location regexp\n\tif(match) {\n\t\t// If so, we're open\n\t\tthis.isOpen = true;\n\t\t// Get the location\n\t\tthis.popup = {\n\t\t\tleft: parseFloat(match[1]),\n\t\t\ttop: parseFloat(match[2]),\n\t\t\twidth: parseFloat(match[3]),\n\t\t\theight: parseFloat(match[4])\n\t\t};\n\t} else {\n\t\t// If not, we're closed\n\t\tthis.isOpen = false;\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nRevealWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.state || changedAttributes.type || changedAttributes.text || changedAttributes.position || changedAttributes.positionAllowNegative || changedAttributes[\"default\"] || changedAttributes.animate || changedAttributes.stateTitle || changedAttributes.stateField || changedAttributes.stateIndex) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tvar currentlyOpen = this.isOpen;\n\t\tthis.readState();\n\t\tif(this.isOpen !== currentlyOpen) {\n\t\t\tif(this.retain === \"yes\") {\n\t\t\t\tthis.updateState();\n\t\t\t} else {\n\t\t\t\tthis.refreshSelf();\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\n/*\nCalled by refresh() to dynamically show or hide the content\n*/\nRevealWidget.prototype.updateState = function() {\n\tvar self = this;\n\t// Read the current state\n\tthis.readState();\n\t// Construct the child nodes if needed\n\tvar domNode = this.domNodes[0];\n\tif(this.isOpen && !this.hasChildNodes) {\n\t\tthis.hasChildNodes = true;\n\t\tthis.makeChildWidgets(this.parseTreeNode.children);\n\t\tthis.renderChildren(domNode,null);\n\t}\n\t// Animate our DOM node\n\tif(!domNode.isTiddlyWikiFakeDom && this.type === \"popup\" && this.isOpen) {\n\t\tthis.positionPopup(domNode);\n\t\t$tw.utils.addClass(domNode,\"tc-popup\"); // Make sure that clicks don't dismiss popups within the revealed content\n\n\t}\n\tif(this.isOpen) {\n\t\tdomNode.removeAttribute(\"hidden\");\n        $tw.anim.perform(this.openAnimation,domNode);\n\t} else {\n\t\t$tw.anim.perform(this.closeAnimation,domNode,{callback: function() {\n\t\t\t//make sure that the state hasn't changed during the close animation\n\t\t\tself.readState()\n\t\t\tif(!self.isOpen) {\n\t\t\t\tdomNode.setAttribute(\"hidden\",\"true\");\n\t\t\t}\n\t\t}});\n\t}\n};\n\nexports.reveal = RevealWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/scrollable.js": {
            "title": "$:/core/modules/widgets/scrollable.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/scrollable.js\ntype: application/javascript\nmodule-type: widget\n\nScrollable widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ScrollableWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n\tthis.scaleFactor = 1;\n\tthis.addEventListeners([\n\t\t{type: \"tm-scroll\", handler: \"handleScrollEvent\"}\n\t]);\n\tif($tw.browser) {\n\t\tthis.requestAnimationFrame = window.requestAnimationFrame ||\n\t\t\twindow.webkitRequestAnimationFrame ||\n\t\t\twindow.mozRequestAnimationFrame ||\n\t\t\tfunction(callback) {\n\t\t\t\treturn window.setTimeout(callback, 1000/60);\n\t\t\t};\n\t\tthis.cancelAnimationFrame = window.cancelAnimationFrame ||\n\t\t\twindow.webkitCancelAnimationFrame ||\n\t\t\twindow.webkitCancelRequestAnimationFrame ||\n\t\t\twindow.mozCancelAnimationFrame ||\n\t\t\twindow.mozCancelRequestAnimationFrame ||\n\t\t\tfunction(id) {\n\t\t\t\twindow.clearTimeout(id);\n\t\t\t};\n\t}\n};\n\n/*\nInherit from the base widget class\n*/\nScrollableWidget.prototype = new Widget();\n\nScrollableWidget.prototype.cancelScroll = function() {\n\tif(this.idRequestFrame) {\n\t\tthis.cancelAnimationFrame.call(window,this.idRequestFrame);\n\t\tthis.idRequestFrame = null;\n\t}\n};\n\n/*\nHandle a scroll event\n*/\nScrollableWidget.prototype.handleScrollEvent = function(event) {\n\t// Pass the scroll event through if our offsetsize is larger than our scrollsize\n\tif(this.outerDomNode.scrollWidth <= this.outerDomNode.offsetWidth && this.outerDomNode.scrollHeight <= this.outerDomNode.offsetHeight && this.fallthrough === \"yes\") {\n\t\treturn true;\n\t}\n\tthis.scrollIntoView(event.target);\n\treturn false; // Handled event\n};\n\n/*\nScroll an element into view\n*/\nScrollableWidget.prototype.scrollIntoView = function(element) {\n\tvar duration = $tw.utils.getAnimationDuration();\n\tthis.cancelScroll();\n\tthis.startTime = Date.now();\n\tvar scrollPosition = {\n\t\tx: this.outerDomNode.scrollLeft,\n\t\ty: this.outerDomNode.scrollTop\n\t};\n\t// Get the client bounds of the element and adjust by the scroll position\n\tvar scrollableBounds = this.outerDomNode.getBoundingClientRect(),\n\t\tclientTargetBounds = element.getBoundingClientRect(),\n\t\tbounds = {\n\t\t\tleft: clientTargetBounds.left + scrollPosition.x - scrollableBounds.left,\n\t\t\ttop: clientTargetBounds.top + scrollPosition.y - scrollableBounds.top,\n\t\t\twidth: clientTargetBounds.width,\n\t\t\theight: clientTargetBounds.height\n\t\t};\n\t// We'll consider the horizontal and vertical scroll directions separately via this function\n\tvar getEndPos = function(targetPos,targetSize,currentPos,currentSize) {\n\t\t\t// If the target is already visible then stay where we are\n\t\t\tif(targetPos >= currentPos && (targetPos + targetSize) <= (currentPos + currentSize)) {\n\t\t\t\treturn currentPos;\n\t\t\t// If the target is above/left of the current view, then scroll to its top/left\n\t\t\t} else if(targetPos <= currentPos) {\n\t\t\t\treturn targetPos;\n\t\t\t// If the target is smaller than the window and the scroll position is too far up, then scroll till the target is at the bottom of the window\n\t\t\t} else if(targetSize < currentSize && currentPos < (targetPos + targetSize - currentSize)) {\n\t\t\t\treturn targetPos + targetSize - currentSize;\n\t\t\t// If the target is big, then just scroll to the top\n\t\t\t} else if(currentPos < targetPos) {\n\t\t\t\treturn targetPos;\n\t\t\t// Otherwise, stay where we are\n\t\t\t} else {\n\t\t\t\treturn currentPos;\n\t\t\t}\n\t\t},\n\t\tendX = getEndPos(bounds.left,bounds.width,scrollPosition.x,this.outerDomNode.offsetWidth),\n\t\tendY = getEndPos(bounds.top,bounds.height,scrollPosition.y,this.outerDomNode.offsetHeight);\n\t// Only scroll if necessary\n\tif(endX !== scrollPosition.x || endY !== scrollPosition.y) {\n\t\tvar self = this,\n\t\t\tdrawFrame;\n\t\tdrawFrame = function () {\n\t\t\tvar t;\n\t\t\tif(duration <= 0) {\n\t\t\t\tt = 1;\n\t\t\t} else {\n\t\t\t\tt = ((Date.now()) - self.startTime) / duration;\t\n\t\t\t}\n\t\t\tif(t >= 1) {\n\t\t\t\tself.cancelScroll();\n\t\t\t\tt = 1;\n\t\t\t}\n\t\t\tt = $tw.utils.slowInSlowOut(t);\n\t\t\tself.outerDomNode.scrollLeft = scrollPosition.x + (endX - scrollPosition.x) * t;\n\t\t\tself.outerDomNode.scrollTop = scrollPosition.y + (endY - scrollPosition.y) * t;\n\t\t\tif(t < 1) {\n\t\t\t\tself.idRequestFrame = self.requestAnimationFrame.call(window,drawFrame);\n\t\t\t}\n\t\t};\n\t\tdrawFrame();\n\t}\n};\n\n/*\nRender this widget into the DOM\n*/\nScrollableWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create elements\n\tthis.outerDomNode = this.document.createElement(\"div\");\n\t$tw.utils.setStyle(this.outerDomNode,[\n\t\t{overflowY: \"auto\"},\n\t\t{overflowX: \"auto\"},\n\t\t{webkitOverflowScrolling: \"touch\"}\n\t]);\n\tthis.innerDomNode = this.document.createElement(\"div\");\n\tthis.outerDomNode.appendChild(this.innerDomNode);\n\t// Assign classes\n\tthis.outerDomNode.className = this[\"class\"] || \"\";\n\t// Insert element\n\tparent.insertBefore(this.outerDomNode,nextSibling);\n\tthis.renderChildren(this.innerDomNode,null);\n\tthis.domNodes.push(this.outerDomNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nScrollableWidget.prototype.execute = function() {\n\t// Get attributes\n\tthis.fallthrough = this.getAttribute(\"fallthrough\",\"yes\");\n\tthis[\"class\"] = this.getAttribute(\"class\");\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nScrollableWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"class\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.scrollable = ScrollableWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/select.js": {
            "title": "$:/core/modules/widgets/select.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/select.js\ntype: application/javascript\nmodule-type: widget\n\nSelect widget:\n\n```\n<$select tiddler=\"MyTiddler\" field=\"text\">\n<$list filter=\"[tag[chapter]]\">\n<option value=<<currentTiddler>>>\n<$view field=\"description\"/>\n</option>\n</$list>\n</$select>\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar SelectWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSelectWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSelectWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n\tthis.setSelectValue();\n\t$tw.utils.addEventListeners(this.getSelectDomNode(),[\n\t\t{name: \"change\", handlerObject: this, handlerMethod: \"handleChangeEvent\"}\n\t]);\n};\n\n/*\nHandle a change event\n*/\nSelectWidget.prototype.handleChangeEvent = function(event) {\n\t// Get the new value and assign it to the tiddler\n\tif(this.selectMultiple == false) {\n\t\tvar value = this.getSelectDomNode().value;\n\t} else {\n\t\tvar value = this.getSelectValues()\n\t\t\t\tvalue = $tw.utils.stringifyList(value);\n\t}\n\tthis.wiki.setText(this.selectTitle,this.selectField,this.selectIndex,value);\n\t// Trigger actions\n\tif(this.selectActions) {\n\t\tthis.invokeActionString(this.selectActions,this,event);\n\t}\n};\n\n/*\nIf necessary, set the value of the select element to the current value\n*/\nSelectWidget.prototype.setSelectValue = function() {\n\tvar value = this.selectDefault;\n\t// Get the value\n\tif(this.selectIndex) {\n\t\tvalue = this.wiki.extractTiddlerDataItem(this.selectTitle,this.selectIndex,value);\n\t} else {\n\t\tvar tiddler = this.wiki.getTiddler(this.selectTitle);\n\t\tif(tiddler) {\n\t\t\tif(this.selectField === \"text\") {\n\t\t\t\t// Calling getTiddlerText() triggers lazy loading of skinny tiddlers\n\t\t\t\tvalue = this.wiki.getTiddlerText(this.selectTitle);\n\t\t\t} else {\n\t\t\t\tif($tw.utils.hop(tiddler.fields,this.selectField)) {\n\t\t\t\t\tvalue = tiddler.getFieldString(this.selectField);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif(this.selectField === \"title\") {\n\t\t\t\tvalue = this.selectTitle;\n\t\t\t}\n\t\t}\n\t}\n\t// Assign it to the select element if it's different than the current value\n\tif (this.selectMultiple) {\n\t\tvalue = value === undefined ? \"\" : value;\n\t\tvar select = this.getSelectDomNode();\n\t\tvar values = Array.isArray(value) ? value : $tw.utils.parseStringArray(value);\n\t\tfor(var i=0; i < select.children.length; i++){\n\t\t\tif(values.indexOf(select.children[i].value) != -1) {\n\t\t\t\tselect.children[i].selected = true;\n\t\t\t}\n\t\t}\n\t\t\n\t} else {\n\t\tvar domNode = this.getSelectDomNode();\n\t\tif(domNode.value !== value) {\n\t\t\tdomNode.value = value;\n\t\t}\n\t}\n};\n\n/*\nGet the DOM node of the select element\n*/\nSelectWidget.prototype.getSelectDomNode = function() {\n\treturn this.children[0].domNodes[0];\n};\n\n// Return an array of the selected opion values\n// select is an HTML select element\nSelectWidget.prototype.getSelectValues = function() {\n\tvar select, result, options, opt;\n\tselect = this.getSelectDomNode();\n\tresult = [];\n\toptions = select && select.options;\n\tfor (var i=0; i<options.length; i++) {\n\t\topt = options[i];\n\t\tif (opt.selected) {\n\t\t\tresult.push(opt.value || opt.text);\n\t\t}\n\t}\n\treturn result;\n}\n\n/*\nCompute the internal state of the widget\n*/\nSelectWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.selectActions = this.getAttribute(\"actions\");\n\tthis.selectTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.selectField = this.getAttribute(\"field\",\"text\");\n\tthis.selectIndex = this.getAttribute(\"index\");\n\tthis.selectClass = this.getAttribute(\"class\");\n\tthis.selectDefault = this.getAttribute(\"default\");\n\tthis.selectMultiple = this.getAttribute(\"multiple\", false);\n\tthis.selectSize = this.getAttribute(\"size\");\n\tthis.selectTooltip = this.getAttribute(\"tooltip\");\n\t// Make the child widgets\n\tvar selectNode = {\n\t\ttype: \"element\",\n\t\ttag: \"select\",\n\t\tchildren: this.parseTreeNode.children\n\t};\n\tif(this.selectClass) {\n\t\t$tw.utils.addAttributeToParseTreeNode(selectNode,\"class\",this.selectClass);\n\t}\n\tif(this.selectMultiple) {\n\t\t$tw.utils.addAttributeToParseTreeNode(selectNode,\"multiple\",\"multiple\");\n\t}\n\tif(this.selectSize) {\n\t\t$tw.utils.addAttributeToParseTreeNode(selectNode,\"size\",this.selectSize);\n\t}\n\tif(this.selectTooltip) {\n\t\t$tw.utils.addAttributeToParseTreeNode(selectNode,\"title\",this.selectTooltip);\n\t}\n\tthis.makeChildWidgets([selectNode]);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nSelectWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\t// If we're using a different tiddler/field/index then completely refresh ourselves\n\tif(changedAttributes.selectTitle || changedAttributes.selectField || changedAttributes.selectIndex || changedAttributes.selectTooltip) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t// If the target tiddler value has changed, just update setting and refresh the children\n\t} else {\n\t\tvar childrenRefreshed = this.refreshChildren(changedTiddlers);\n\t\tif(changedTiddlers[this.selectTitle] || childrenRefreshed) {\n\t\t\tthis.setSelectValue();\n\t\t} \n\t\treturn childrenRefreshed;\n\t}\n};\n\nexports.select = SelectWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/set.js": {
            "title": "$:/core/modules/widgets/set.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/set.js\ntype: application/javascript\nmodule-type: widget\n\nSet variable widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar SetWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSetWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSetWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nSetWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.setName = this.getAttribute(\"name\",\"currentTiddler\");\n\tthis.setFilter = this.getAttribute(\"filter\");\n\tthis.setSelect = this.getAttribute(\"select\");\n\tthis.setTiddler = this.getAttribute(\"tiddler\");\n\tthis.setSubTiddler = this.getAttribute(\"subtiddler\");\n\tthis.setField = this.getAttribute(\"field\");\n\tthis.setIndex = this.getAttribute(\"index\");\n\tthis.setValue = this.getAttribute(\"value\");\n\tthis.setEmptyValue = this.getAttribute(\"emptyValue\");\n\t// Set context variable\n\tthis.setVariable(this.setName,this.getValue(),this.parseTreeNode.params,!!this.parseTreeNode.isMacroDefinition);\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nGet the value to be assigned\n*/\nSetWidget.prototype.getValue = function() {\n\tvar value = this.setValue;\n\tif(this.setTiddler) {\n\t\tvar tiddler;\n\t\tif(this.setSubTiddler) {\n\t\t\ttiddler = this.wiki.getSubTiddler(this.setTiddler,this.setSubTiddler);\n\t\t} else {\n\t\t\ttiddler = this.wiki.getTiddler(this.setTiddler);\t\t\t\n\t\t}\n\t\tif(!tiddler) {\n\t\t\tvalue = this.setEmptyValue;\n\t\t} else if(this.setField) {\n\t\t\tvalue = tiddler.getFieldString(this.setField) || this.setEmptyValue;\n\t\t} else if(this.setIndex) {\n\t\t\tvalue = this.wiki.extractTiddlerDataItem(this.setTiddler,this.setIndex,this.setEmptyValue);\n\t\t} else {\n\t\t\tvalue = tiddler.fields.text || this.setEmptyValue ;\n\t\t}\n\t} else if(this.setFilter) {\n\t\tvar results = this.wiki.filterTiddlers(this.setFilter,this);\n\t\tif(this.setValue == null) {\n\t\t\tvar select;\n\t\t\tif(this.setSelect) {\n\t\t\t\tselect = parseInt(this.setSelect,10);\n\t\t\t}\n\t\t\tif(select !== undefined) {\n\t\t\t\tvalue = results[select] || \"\";\n\t\t\t} else {\n\t\t\t\tvalue = $tw.utils.stringifyList(results);\t\t\t\n\t\t\t}\n\t\t}\n\t\tif(results.length === 0 && this.setEmptyValue !== undefined) {\n\t\t\tvalue = this.setEmptyValue;\n\t\t}\n\t} else if(!value && this.setEmptyValue) {\n\t\tvalue = this.setEmptyValue;\n\t}\n\treturn value || \"\";\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nSetWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.name || changedAttributes.filter || changedAttributes.select || changedAttributes.tiddler || (this.setTiddler && changedTiddlers[this.setTiddler]) || changedAttributes.field || changedAttributes.index || changedAttributes.value || changedAttributes.emptyValue ||\n\t   (this.setFilter && this.getValue() != this.variables[this.setName].value)) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.setvariable = SetWidget;\nexports.set = SetWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/text.js": {
            "title": "$:/core/modules/widgets/text.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/text.js\ntype: application/javascript\nmodule-type: widget\n\nText node widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar TextNodeWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nTextNodeWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nTextNodeWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar text = this.getAttribute(\"text\",this.parseTreeNode.text || \"\");\n\ttext = text.replace(/\\r/mg,\"\");\n\tvar textNode = this.document.createTextNode(text);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nTextNodeWidget.prototype.execute = function() {\n\t// Nothing to do for a text node\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nTextNodeWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.text) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\n\t}\n};\n\nexports.text = TextNodeWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/tiddler.js": {
            "title": "$:/core/modules/widgets/tiddler.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/tiddler.js\ntype: application/javascript\nmodule-type: widget\n\nTiddler widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar TiddlerWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nTiddlerWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nTiddlerWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nTiddlerWidget.prototype.execute = function() {\n\tthis.tiddlerState = this.computeTiddlerState();\n\tthis.setVariable(\"currentTiddler\",this.tiddlerState.currentTiddler);\n\tthis.setVariable(\"missingTiddlerClass\",this.tiddlerState.missingTiddlerClass);\n\tthis.setVariable(\"shadowTiddlerClass\",this.tiddlerState.shadowTiddlerClass);\n\tthis.setVariable(\"systemTiddlerClass\",this.tiddlerState.systemTiddlerClass);\n\tthis.setVariable(\"tiddlerTagClasses\",this.tiddlerState.tiddlerTagClasses);\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nCompute the tiddler state flags\n*/\nTiddlerWidget.prototype.computeTiddlerState = function() {\n\t// Get our parameters\n\tthis.tiddlerTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\t// Compute the state\n\tvar state = {\n\t\tcurrentTiddler: this.tiddlerTitle || \"\",\n\t\tmissingTiddlerClass: (this.wiki.tiddlerExists(this.tiddlerTitle) || this.wiki.isShadowTiddler(this.tiddlerTitle)) ? \"tc-tiddler-exists\" : \"tc-tiddler-missing\",\n\t\tshadowTiddlerClass: this.wiki.isShadowTiddler(this.tiddlerTitle) ? \"tc-tiddler-shadow\" : \"\",\n\t\tsystemTiddlerClass: this.wiki.isSystemTiddler(this.tiddlerTitle) ? \"tc-tiddler-system\" : \"\",\n\t\ttiddlerTagClasses: this.getTagClasses()\n\t};\n\t// Compute a simple hash to make it easier to detect changes\n\tstate.hash = state.currentTiddler + state.missingTiddlerClass + state.shadowTiddlerClass + state.systemTiddlerClass + state.tiddlerTagClasses;\n\treturn state;\n};\n\n/*\nCreate a string of CSS classes derived from the tags of the current tiddler\n*/\nTiddlerWidget.prototype.getTagClasses = function() {\n\tvar tiddler = this.wiki.getTiddler(this.tiddlerTitle);\n\tif(tiddler) {\n\t\tvar tags = [];\n\t\t$tw.utils.each(tiddler.fields.tags,function(tag) {\n\t\t\ttags.push(\"tc-tagged-\" + encodeURIComponent(tag));\n\t\t});\n\t\treturn tags.join(\" \");\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nTiddlerWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes(),\n\t\tnewTiddlerState = this.computeTiddlerState();\n\tif(changedAttributes.tiddler || newTiddlerState.hash !== this.tiddlerState.hash) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nexports.tiddler = TiddlerWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/transclude.js": {
            "title": "$:/core/modules/widgets/transclude.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/transclude.js\ntype: application/javascript\nmodule-type: widget\n\nTransclude widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar TranscludeWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nTranscludeWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nTranscludeWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nTranscludeWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.transcludeTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.transcludeSubTiddler = this.getAttribute(\"subtiddler\");\n\tthis.transcludeField = this.getAttribute(\"field\");\n\tthis.transcludeIndex = this.getAttribute(\"index\");\n\tthis.transcludeMode = this.getAttribute(\"mode\");\n\t// Parse the text reference\n\tvar parseAsInline = !this.parseTreeNode.isBlock;\n\tif(this.transcludeMode === \"inline\") {\n\t\tparseAsInline = true;\n\t} else if(this.transcludeMode === \"block\") {\n\t\tparseAsInline = false;\n\t}\n\tvar parser = this.wiki.parseTextReference(\n\t\t\t\t\t\tthis.transcludeTitle,\n\t\t\t\t\t\tthis.transcludeField,\n\t\t\t\t\t\tthis.transcludeIndex,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tparseAsInline: parseAsInline,\n\t\t\t\t\t\t\tsubTiddler: this.transcludeSubTiddler\n\t\t\t\t\t\t}),\n\t\tparseTreeNodes = parser ? parser.tree : this.parseTreeNode.children;\n\t// Set context variables for recursion detection\n\tvar recursionMarker = this.makeRecursionMarker();\n\tthis.setVariable(\"transclusion\",recursionMarker);\n\t// Check for recursion\n\tif(parser) {\n\t\tif(this.parentWidget && this.parentWidget.hasVariable(\"transclusion\",recursionMarker)) {\n\t\t\tparseTreeNodes = [{type: \"element\", tag: \"span\", attributes: {\n\t\t\t\t\"class\": {type: \"string\", value: \"tc-error\"}\n\t\t\t}, children: [\n\t\t\t\t{type: \"text\", text: $tw.language.getString(\"Error/RecursiveTransclusion\")}\n\t\t\t]}];\n\t\t}\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets(parseTreeNodes);\n};\n\n/*\nCompose a string comprising the title, field and/or index to identify this transclusion for recursion detection\n*/\nTranscludeWidget.prototype.makeRecursionMarker = function() {\n\tvar output = [];\n\toutput.push(\"{\");\n\toutput.push(this.getVariable(\"currentTiddler\",{defaultValue: \"\"}));\n\toutput.push(\"|\");\n\toutput.push(this.transcludeTitle || \"\");\n\toutput.push(\"|\");\n\toutput.push(this.transcludeField || \"\");\n\toutput.push(\"|\");\n\toutput.push(this.transcludeIndex || \"\");\n\toutput.push(\"|\");\n\toutput.push(this.transcludeSubTiddler || \"\");\n\toutput.push(\"}\");\n\treturn output.join(\"\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nTranscludeWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedTiddlers[this.transcludeTitle]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nexports.transclude = TranscludeWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/vars.js": {
            "title": "$:/core/modules/widgets/vars.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/vars.js\ntype: application/javascript\nmodule-type: widget\n\nThis widget allows multiple variables to be set in one go:\n\n```\n\\define helloworld() Hello world!\n<$vars greeting=\"Hi\" me={{!!title}} sentence=<<helloworld>>>\n  <<greeting>>! I am <<me>> and I say: <<sentence>>\n</$vars>\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar VarsWidget = function(parseTreeNode,options) {\n\t// Call the constructor\n\tWidget.call(this);\n\t// Initialise\t\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nVarsWidget.prototype = Object.create(Widget.prototype);\n\n/*\nRender this widget into the DOM\n*/\nVarsWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nVarsWidget.prototype.execute = function() {\n\t// Parse variables\n\tvar self = this;\n\t$tw.utils.each(this.attributes,function(val,key) {\n\t\tif(key.charAt(0) !== \"$\") {\n\t\t\tself.setVariable(key,val);\n\t\t}\n\t});\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nVarsWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(Object.keys(changedAttributes).length) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports[\"vars\"] = VarsWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/view.js": {
            "title": "$:/core/modules/widgets/view.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/view.js\ntype: application/javascript\nmodule-type: widget\n\nView widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ViewWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nViewWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nViewWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tif(this.text) {\n\t\tvar textNode = this.document.createTextNode(this.text);\n\t\tparent.insertBefore(textNode,nextSibling);\n\t\tthis.domNodes.push(textNode);\n\t} else {\n\t\tthis.makeChildWidgets();\n\t\tthis.renderChildren(parent,nextSibling);\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nViewWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.viewTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.viewSubtiddler = this.getAttribute(\"subtiddler\");\n\tthis.viewField = this.getAttribute(\"field\",\"text\");\n\tthis.viewIndex = this.getAttribute(\"index\");\n\tthis.viewFormat = this.getAttribute(\"format\",\"text\");\n\tthis.viewTemplate = this.getAttribute(\"template\",\"\");\n\tthis.viewMode = this.getAttribute(\"mode\",\"block\");\n\tswitch(this.viewFormat) {\n\t\tcase \"htmlwikified\":\n\t\t\tthis.text = this.getValueAsHtmlWikified(this.viewMode);\n\t\t\tbreak;\n\t\tcase \"plainwikified\":\n\t\t\tthis.text = this.getValueAsPlainWikified(this.viewMode);\n\t\t\tbreak;\n\t\tcase \"htmlencodedplainwikified\":\n\t\t\tthis.text = this.getValueAsHtmlEncodedPlainWikified(this.viewMode);\n\t\t\tbreak;\n\t\tcase \"htmlencoded\":\n\t\t\tthis.text = this.getValueAsHtmlEncoded();\n\t\t\tbreak;\n\t\tcase \"urlencoded\":\n\t\t\tthis.text = this.getValueAsUrlEncoded();\n\t\t\tbreak;\n\t\tcase \"doubleurlencoded\":\n\t\t\tthis.text = this.getValueAsDoubleUrlEncoded();\n\t\t\tbreak;\n\t\tcase \"date\":\n\t\t\tthis.text = this.getValueAsDate(this.viewTemplate);\n\t\t\tbreak;\n\t\tcase \"relativedate\":\n\t\t\tthis.text = this.getValueAsRelativeDate();\n\t\t\tbreak;\n\t\tcase \"stripcomments\":\n\t\t\tthis.text = this.getValueAsStrippedComments();\n\t\t\tbreak;\n\t\tcase \"jsencoded\":\n\t\t\tthis.text = this.getValueAsJsEncoded();\n\t\t\tbreak;\n\t\tdefault: // \"text\"\n\t\t\tthis.text = this.getValueAsText();\n\t\t\tbreak;\n\t}\n};\n\n/*\nThe various formatter functions are baked into this widget for the moment. Eventually they will be replaced by macro functions\n*/\n\n/*\nRetrieve the value of the widget. Options are:\nasString: Optionally return the value as a string\n*/\nViewWidget.prototype.getValue = function(options) {\n\toptions = options || {};\n\tvar value = options.asString ? \"\" : undefined;\n\tif(this.viewIndex) {\n\t\tvalue = this.wiki.extractTiddlerDataItem(this.viewTitle,this.viewIndex);\n\t} else {\n\t\tvar tiddler;\n\t\tif(this.viewSubtiddler) {\n\t\t\ttiddler = this.wiki.getSubTiddler(this.viewTitle,this.viewSubtiddler);\t\n\t\t} else {\n\t\t\ttiddler = this.wiki.getTiddler(this.viewTitle);\n\t\t}\n\t\tif(tiddler) {\n\t\t\tif(this.viewField === \"text\" && !this.viewSubtiddler) {\n\t\t\t\t// Calling getTiddlerText() triggers lazy loading of skinny tiddlers\n\t\t\t\tvalue = this.wiki.getTiddlerText(this.viewTitle);\n\t\t\t} else {\n\t\t\t\tif($tw.utils.hop(tiddler.fields,this.viewField)) {\n\t\t\t\t\tif(options.asString) {\n\t\t\t\t\t\tvalue = tiddler.getFieldString(this.viewField);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvalue = tiddler.fields[this.viewField];\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif(this.viewField === \"title\") {\n\t\t\t\tvalue = this.viewTitle;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n\nViewWidget.prototype.getValueAsText = function() {\n\treturn this.getValue({asString: true});\n};\n\nViewWidget.prototype.getValueAsHtmlWikified = function(mode) {\n\treturn this.wiki.renderText(\"text/html\",\"text/vnd.tiddlywiki\",this.getValueAsText(),{\n\t\tparseAsInline: mode !== \"block\",\n\t\tparentWidget: this\n\t});\n};\n\nViewWidget.prototype.getValueAsPlainWikified = function(mode) {\n\treturn this.wiki.renderText(\"text/plain\",\"text/vnd.tiddlywiki\",this.getValueAsText(),{\n\t\tparseAsInline: mode !== \"block\",\n\t\tparentWidget: this\n\t});\n};\n\nViewWidget.prototype.getValueAsHtmlEncodedPlainWikified = function(mode) {\n\treturn $tw.utils.htmlEncode(this.wiki.renderText(\"text/plain\",\"text/vnd.tiddlywiki\",this.getValueAsText(),{\n\t\tparseAsInline: mode !== \"block\",\n\t\tparentWidget: this\n\t}));\n};\n\nViewWidget.prototype.getValueAsHtmlEncoded = function() {\n\treturn $tw.utils.htmlEncode(this.getValueAsText());\n};\n\nViewWidget.prototype.getValueAsUrlEncoded = function() {\n\treturn encodeURIComponent(this.getValueAsText());\n};\n\nViewWidget.prototype.getValueAsDoubleUrlEncoded = function() {\n\treturn encodeURIComponent(encodeURIComponent(this.getValueAsText()));\n};\n\nViewWidget.prototype.getValueAsDate = function(format) {\n\tformat = format || \"YYYY MM DD 0hh:0mm\";\n\tvar value = $tw.utils.parseDate(this.getValue());\n\tif(value && $tw.utils.isDate(value) && value.toString() !== \"Invalid Date\") {\n\t\treturn $tw.utils.formatDateString(value,format);\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\nViewWidget.prototype.getValueAsRelativeDate = function(format) {\n\tvar value = $tw.utils.parseDate(this.getValue());\n\tif(value && $tw.utils.isDate(value) && value.toString() !== \"Invalid Date\") {\n\t\treturn $tw.utils.getRelativeDate((new Date()) - (new Date(value))).description;\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\nViewWidget.prototype.getValueAsStrippedComments = function() {\n\tvar lines = this.getValueAsText().split(\"\\n\"),\n\t\tout = [];\n\tfor(var line=0; line<lines.length; line++) {\n\t\tvar text = lines[line];\n\t\tif(!/^\\s*\\/\\/#/.test(text)) {\n\t\t\tout.push(text);\n\t\t}\n\t}\n\treturn out.join(\"\\n\");\n};\n\nViewWidget.prototype.getValueAsJsEncoded = function() {\n\treturn $tw.utils.stringify(this.getValueAsText());\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nViewWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes.template || changedAttributes.format || changedTiddlers[this.viewTitle]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\n\t}\n};\n\nexports.view = ViewWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/widget.js": {
            "title": "$:/core/modules/widgets/widget.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/widget.js\ntype: application/javascript\nmodule-type: widget\n\nWidget base class\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nCreate a widget object for a parse tree node\n\tparseTreeNode: reference to the parse tree node to be rendered\n\toptions: see below\nOptions include:\n\twiki: mandatory reference to wiki associated with this render tree\n\tparentWidget: optional reference to a parent renderer node for the context chain\n\tdocument: optional document object to use instead of global document\n*/\nvar Widget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInitialise widget properties. These steps are pulled out of the constructor so that we can reuse them in subclasses\n*/\nWidget.prototype.initialise = function(parseTreeNode,options) {\n\t// Bail if parseTreeNode is undefined, meaning  that the widget constructor was called without any arguments so that it can be subclassed\n\tif(parseTreeNode === undefined) {\n\t\treturn;\n\t}\n\toptions = options || {};\n\t// Save widget info\n\tthis.parseTreeNode = parseTreeNode;\n\tthis.wiki = options.wiki;\n\tthis.parentWidget = options.parentWidget;\n\tthis.variablesConstructor = function() {};\n\tthis.variablesConstructor.prototype = this.parentWidget ? this.parentWidget.variables : {};\n\tthis.variables = new this.variablesConstructor();\n\tthis.document = options.document;\n\tthis.attributes = {};\n\tthis.children = [];\n\tthis.domNodes = [];\n\tthis.eventListeners = {};\n\t// Hashmap of the widget classes\n\tif(!this.widgetClasses) {\n\t\t// Get widget classes\n\t\tWidget.prototype.widgetClasses = $tw.modules.applyMethods(\"widget\");\n\t\t// Process any subclasses\n\t\t$tw.modules.forEachModuleOfType(\"widget-subclass\",function(title,module) {\n\t\t\tif(module.baseClass) {\n\t\t\t\tvar baseClass = Widget.prototype.widgetClasses[module.baseClass];\n\t\t\t\tif(!baseClass) {\n\t\t\t\t\tthrow \"Module '\" + title + \"' is attemping to extend a non-existent base class '\" + module.baseClass + \"'\";\n\t\t\t\t}\n\t\t\t\tvar subClass = module.constructor;\n\t\t\t\tsubClass.prototype = new baseClass();\n\t\t\t\t$tw.utils.extend(subClass.prototype,module.prototype);\n\t\t\t\tWidget.prototype.widgetClasses[module.name || module.baseClass] = subClass;\n\t\t\t}\n\t\t});\n\t}\n};\n\n/*\nRender this widget into the DOM\n*/\nWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nWidget.prototype.execute = function() {\n\tthis.makeChildWidgets();\n};\n\n/*\nSet the value of a context variable\nname: name of the variable\nvalue: value of the variable\nparams: array of {name:, default:} for each parameter\nisMacroDefinition: true if the variable is set via a \\define macro pragma (and hence should have variable substitution performed)\n*/\nWidget.prototype.setVariable = function(name,value,params,isMacroDefinition) {\n\tthis.variables[name] = {value: value, params: params, isMacroDefinition: !!isMacroDefinition};\n};\n\n/*\nGet the prevailing value of a context variable\nname: name of variable\noptions: see below\nOptions include\nparams: array of {name:, value:} for each parameter\ndefaultValue: default value if the variable is not defined\n\nReturns an object with the following fields:\n\nparams: array of {name:,value:} of parameters passed to wikitext variables\ntext: text of variable, with parameters properly substituted\n*/\nWidget.prototype.getVariableInfo = function(name,options) {\n\toptions = options || {};\n\tvar actualParams = options.params || [],\n\t\tparentWidget = this.parentWidget;\n\t// Check for the variable defined in the parent widget (or an ancestor in the prototype chain)\n\tif(parentWidget && name in parentWidget.variables) {\n\t\tvar variable = parentWidget.variables[name],\n\t\t\tvalue = variable.value,\n\t\t\tparams = this.resolveVariableParameters(variable.params,actualParams);\n\t\t// Substitute any parameters specified in the definition\n\t\t$tw.utils.each(params,function(param) {\n\t\t\tvalue = $tw.utils.replaceString(value,new RegExp(\"\\\\$\" + $tw.utils.escapeRegExp(param.name) + \"\\\\$\",\"mg\"),param.value);\n\t\t});\n\t\t// Only substitute variable references if this variable was defined with the \\define pragma\n\t\tif(variable.isMacroDefinition) {\n\t\t\tvalue = this.substituteVariableReferences(value);\t\t\t\n\t\t}\n\t\treturn {\n\t\t\ttext: value,\n\t\t\tparams: params\n\t\t};\n\t}\n\t// If the variable doesn't exist in the parent widget then look for a macro module\n\treturn {\n\t\ttext: this.evaluateMacroModule(name,actualParams,options.defaultValue)\n\t};\n};\n\n/*\nSimplified version of getVariableInfo() that just returns the text\n*/\nWidget.prototype.getVariable = function(name,options) {\n\treturn this.getVariableInfo(name,options).text;\n};\n\nWidget.prototype.resolveVariableParameters = function(formalParams,actualParams) {\n\tformalParams = formalParams || [];\n\tactualParams = actualParams || [];\n\tvar nextAnonParameter = 0, // Next candidate anonymous parameter in macro call\n\t\tparamInfo, paramValue,\n\t\tresults = [];\n\t// Step through each of the parameters in the macro definition\n\tfor(var p=0; p<formalParams.length; p++) {\n\t\t// Check if we've got a macro call parameter with the same name\n\t\tparamInfo = formalParams[p];\n\t\tparamValue = undefined;\n\t\tfor(var m=0; m<actualParams.length; m++) {\n\t\t\tif(actualParams[m].name === paramInfo.name) {\n\t\t\t\tparamValue = actualParams[m].value;\n\t\t\t}\n\t\t}\n\t\t// If not, use the next available anonymous macro call parameter\n\t\twhile(nextAnonParameter < actualParams.length && actualParams[nextAnonParameter].name) {\n\t\t\tnextAnonParameter++;\n\t\t}\n\t\tif(paramValue === undefined && nextAnonParameter < actualParams.length) {\n\t\t\tparamValue = actualParams[nextAnonParameter++].value;\n\t\t}\n\t\t// If we've still not got a value, use the default, if any\n\t\tparamValue = paramValue || paramInfo[\"default\"] || \"\";\n\t\t// Store the parameter name and value\n\t\tresults.push({name: paramInfo.name, value: paramValue});\n\t}\n\treturn results;\n};\n\nWidget.prototype.substituteVariableReferences = function(text) {\n\tvar self = this;\n\treturn (text || \"\").replace(/\\$\\(([^\\)\\$]+)\\)\\$/g,function(match,p1,offset,string) {\n\t\treturn self.getVariable(p1,{defaultValue: \"\"});\n\t});\n};\n\nWidget.prototype.evaluateMacroModule = function(name,actualParams,defaultValue) {\n\tif($tw.utils.hop($tw.macros,name)) {\n\t\tvar macro = $tw.macros[name],\n\t\t\targs = [];\n\t\tif(macro.params.length > 0) {\n\t\t\tvar nextAnonParameter = 0, // Next candidate anonymous parameter in macro call\n\t\t\t\tparamInfo, paramValue;\n\t\t\t// Step through each of the parameters in the macro definition\n\t\t\tfor(var p=0; p<macro.params.length; p++) {\n\t\t\t\t// Check if we've got a macro call parameter with the same name\n\t\t\t\tparamInfo = macro.params[p];\n\t\t\t\tparamValue = undefined;\n\t\t\t\tfor(var m=0; m<actualParams.length; m++) {\n\t\t\t\t\tif(actualParams[m].name === paramInfo.name) {\n\t\t\t\t\t\tparamValue = actualParams[m].value;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// If not, use the next available anonymous macro call parameter\n\t\t\t\twhile(nextAnonParameter < actualParams.length && actualParams[nextAnonParameter].name) {\n\t\t\t\t\tnextAnonParameter++;\n\t\t\t\t}\n\t\t\t\tif(paramValue === undefined && nextAnonParameter < actualParams.length) {\n\t\t\t\t\tparamValue = actualParams[nextAnonParameter++].value;\n\t\t\t\t}\n\t\t\t\t// If we've still not got a value, use the default, if any\n\t\t\t\tparamValue = paramValue || paramInfo[\"default\"] || \"\";\n\t\t\t\t// Save the parameter\n\t\t\t\targs.push(paramValue);\n\t\t\t}\n\t\t}\n\t\telse for(var i=0; i<actualParams.length; ++i) {\n\t\t\targs.push(actualParams[i].value);\n\t\t}\n\t\treturn (macro.run.apply(this,args) || \"\").toString();\n\t} else {\n\t\treturn defaultValue;\n\t}\n};\n\n/*\nCheck whether a given context variable value exists in the parent chain\n*/\nWidget.prototype.hasVariable = function(name,value) {\n\tvar node = this;\n\twhile(node) {\n\t\tif($tw.utils.hop(node.variables,name) && node.variables[name].value === value) {\n\t\t\treturn true;\n\t\t}\n\t\tnode = node.parentWidget;\n\t}\n\treturn false;\n};\n\n/*\nConstruct a qualifying string based on a hash of concatenating the values of a given variable in the parent chain\n*/\nWidget.prototype.getStateQualifier = function(name) {\n\tthis.qualifiers = this.qualifiers || Object.create(null);\n\tname = name || \"transclusion\";\n\tif(this.qualifiers[name]) {\n\t\treturn this.qualifiers[name];\n\t} else {\n\t\tvar output = [],\n\t\t\tnode = this;\n\t\twhile(node && node.parentWidget) {\n\t\t\tif($tw.utils.hop(node.parentWidget.variables,name)) {\n\t\t\t\toutput.push(node.getVariable(name));\n\t\t\t}\n\t\t\tnode = node.parentWidget;\n\t\t}\n\t\tvar value = $tw.utils.hashString(output.join(\"\"));\n\t\tthis.qualifiers[name] = value;\n\t\treturn value;\n\t}\n};\n\n/*\nCompute the current values of the attributes of the widget. Returns a hashmap of the names of the attributes that have changed\n*/\nWidget.prototype.computeAttributes = function() {\n\tvar changedAttributes = {},\n\t\tself = this,\n\t\tvalue;\n\t$tw.utils.each(this.parseTreeNode.attributes,function(attribute,name) {\n\t\tif(attribute.type === \"filtered\") {\n\t\t\tvalue = self.wiki.filterTiddlers(attribute.filter,self)[0] || \"\";\n\t\t} else if(attribute.type === \"indirect\") {\n\t\t\tvalue = self.wiki.getTextReference(attribute.textReference,\"\",self.getVariable(\"currentTiddler\"));\n\t\t} else if(attribute.type === \"macro\") {\n\t\t\tvalue = self.getVariable(attribute.value.name,{params: attribute.value.params});\n\t\t} else { // String attribute\n\t\t\tvalue = attribute.value;\n\t\t}\n\t\t// Check whether the attribute has changed\n\t\tif(self.attributes[name] !== value) {\n\t\t\tself.attributes[name] = value;\n\t\t\tchangedAttributes[name] = true;\n\t\t}\n\t});\n\treturn changedAttributes;\n};\n\n/*\nCheck for the presence of an attribute\n*/\nWidget.prototype.hasAttribute = function(name) {\n\treturn $tw.utils.hop(this.attributes,name);\n};\n\n/*\nGet the value of an attribute\n*/\nWidget.prototype.getAttribute = function(name,defaultText) {\n\tif($tw.utils.hop(this.attributes,name)) {\n\t\treturn this.attributes[name];\n\t} else {\n\t\treturn defaultText;\n\t}\n};\n\n/*\nAssign the computed attributes of the widget to a domNode\noptions include:\nexcludeEventAttributes: ignores attributes whose name begins with \"on\"\n*/\nWidget.prototype.assignAttributes = function(domNode,options) {\n\toptions = options || {};\n\tvar self = this;\n\t$tw.utils.each(this.attributes,function(v,a) {\n\t\t// Check exclusions\n\t\tif(options.excludeEventAttributes && a.substr(0,2) === \"on\") {\n\t\t\tv = undefined;\n\t\t}\n\t\tif(v !== undefined) {\n\t\t\tvar b = a.split(\":\");\n\t\t\t// Setting certain attributes can cause a DOM error (eg xmlns on the svg element)\n\t\t\ttry {\n\t\t\t\tif (b.length == 2 && b[0] == \"xlink\"){\n\t\t\t\t\tdomNode.setAttributeNS(\"http://www.w3.org/1999/xlink\",b[1],v);\n\t\t\t\t} else {\n\t\t\t\t\tdomNode.setAttributeNS(null,a,v);\n\t\t\t\t}\n\t\t\t} catch(e) {\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\nMake child widgets correspondng to specified parseTreeNodes\n*/\nWidget.prototype.makeChildWidgets = function(parseTreeNodes) {\n\tthis.children = [];\n\tvar self = this;\n\t$tw.utils.each(parseTreeNodes || (this.parseTreeNode && this.parseTreeNode.children),function(childNode) {\n\t\tself.children.push(self.makeChildWidget(childNode));\n\t});\n};\n\n/*\nConstruct the widget object for a parse tree node\n*/\nWidget.prototype.makeChildWidget = function(parseTreeNode) {\n\tvar WidgetClass = this.widgetClasses[parseTreeNode.type];\n\tif(!WidgetClass) {\n\t\tWidgetClass = this.widgetClasses.text;\n\t\tparseTreeNode = {type: \"text\", text: \"Undefined widget '\" + parseTreeNode.type + \"'\"};\n\t}\n\treturn new WidgetClass(parseTreeNode,{\n\t\twiki: this.wiki,\n\t\tvariables: {},\n\t\tparentWidget: this,\n\t\tdocument: this.document\n\t});\n};\n\n/*\nGet the next sibling of this widget\n*/\nWidget.prototype.nextSibling = function() {\n\tif(this.parentWidget) {\n\t\tvar index = this.parentWidget.children.indexOf(this);\n\t\tif(index !== -1 && index < this.parentWidget.children.length-1) {\n\t\t\treturn this.parentWidget.children[index+1];\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nGet the previous sibling of this widget\n*/\nWidget.prototype.previousSibling = function() {\n\tif(this.parentWidget) {\n\t\tvar index = this.parentWidget.children.indexOf(this);\n\t\tif(index !== -1 && index > 0) {\n\t\t\treturn this.parentWidget.children[index-1];\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nRender the children of this widget into the DOM\n*/\nWidget.prototype.renderChildren = function(parent,nextSibling) {\n\tvar children = this.children;\n\tfor(var i = 0; i < children.length; i++) {\n\t\tchildren[i].render(parent,nextSibling);\n\t};\n};\n\n/*\nAdd a list of event listeners from an array [{type:,handler:},...]\n*/\nWidget.prototype.addEventListeners = function(listeners) {\n\tvar self = this;\n\t$tw.utils.each(listeners,function(listenerInfo) {\n\t\tself.addEventListener(listenerInfo.type,listenerInfo.handler);\n\t});\n};\n\n/*\nAdd an event listener\n*/\nWidget.prototype.addEventListener = function(type,handler) {\n\tvar self = this;\n\tif(typeof handler === \"string\") { // The handler is a method name on this widget\n\t\tthis.eventListeners[type] = function(event) {\n\t\t\treturn self[handler].call(self,event);\n\t\t};\n\t} else { // The handler is a function\n\t\tthis.eventListeners[type] = function(event) {\n\t\t\treturn handler.call(self,event);\n\t\t};\n\t}\n};\n\n/*\nDispatch an event to a widget. If the widget doesn't handle the event then it is also dispatched to the parent widget\n*/\nWidget.prototype.dispatchEvent = function(event) {\n\t// Dispatch the event if this widget handles it\n\tvar listener = this.eventListeners[event.type];\n\tif(listener) {\n\t\t// Don't propagate the event if the listener returned false\n\t\tif(!listener(event)) {\n\t\t\treturn false;\n\t\t}\n\t}\n\t// Dispatch the event to the parent widget\n\tif(this.parentWidget) {\n\t\treturn this.parentWidget.dispatchEvent(event);\n\t}\n\treturn true;\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nRebuild a previously rendered widget\n*/\nWidget.prototype.refreshSelf = function() {\n\tvar nextSibling = this.findNextSiblingDomNode();\n\tthis.removeChildDomNodes();\n\tthis.render(this.parentDomNode,nextSibling);\n};\n\n/*\nRefresh all the children of a widget\n*/\nWidget.prototype.refreshChildren = function(changedTiddlers) {\n\tvar children = this.children,\n\t\trefreshed = false;\n\tfor (var i = 0; i < children.length; i++) {\n\t\trefreshed = children[i].refresh(changedTiddlers) || refreshed;\n\t}\n\treturn refreshed;\n};\n\n/*\nFind the next sibling in the DOM to this widget. This is done by scanning the widget tree through all next siblings and their descendents that share the same parent DOM node\n*/\nWidget.prototype.findNextSiblingDomNode = function(startIndex) {\n\t// Refer to this widget by its index within its parents children\n\tvar parent = this.parentWidget,\n\t\tindex = startIndex !== undefined ? startIndex : parent.children.indexOf(this);\nif(index === -1) {\n\tthrow \"node not found in parents children\";\n}\n\t// Look for a DOM node in the later siblings\n\twhile(++index < parent.children.length) {\n\t\tvar domNode = parent.children[index].findFirstDomNode();\n\t\tif(domNode) {\n\t\t\treturn domNode;\n\t\t}\n\t}\n\t// Go back and look for later siblings of our parent if it has the same parent dom node\n\tvar grandParent = parent.parentWidget;\n\tif(grandParent && parent.parentDomNode === this.parentDomNode) {\n\t\tindex = grandParent.children.indexOf(parent);\n\t\tif(index !== -1) {\n\t\t\treturn parent.findNextSiblingDomNode(index);\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nFind the first DOM node generated by a widget or its children\n*/\nWidget.prototype.findFirstDomNode = function() {\n\t// Return the first dom node of this widget, if we've got one\n\tif(this.domNodes.length > 0) {\n\t\treturn this.domNodes[0];\n\t}\n\t// Otherwise, recursively call our children\n\tfor(var t=0; t<this.children.length; t++) {\n\t\tvar domNode = this.children[t].findFirstDomNode();\n\t\tif(domNode) {\n\t\t\treturn domNode;\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nRemove any DOM nodes created by this widget or its children\n*/\nWidget.prototype.removeChildDomNodes = function() {\n\t// If this widget has directly created DOM nodes, delete them and exit. This assumes that any child widgets are contained within the created DOM nodes, which would normally be the case\n\tif(this.domNodes.length > 0) {\n\t\t$tw.utils.each(this.domNodes,function(domNode) {\n\t\t\tdomNode.parentNode.removeChild(domNode);\n\t\t});\n\t\tthis.domNodes = [];\n\t} else {\n\t\t// Otherwise, ask the child widgets to delete their DOM nodes\n\t\t$tw.utils.each(this.children,function(childWidget) {\n\t\t\tchildWidget.removeChildDomNodes();\n\t\t});\n\t}\n};\n\n/*\nInvoke the action widgets that are descendents of the current widget.\n*/\nWidget.prototype.invokeActions = function(triggeringWidget,event) {\n\tvar handled = false;\n\t// For each child widget\n\tfor(var t=0; t<this.children.length; t++) {\n\t\tvar child = this.children[t];\n\t\t// Invoke the child if it is an action widget\n\t\tif(child.invokeAction) {\n\t\t\tchild.refreshSelf();\n\t\t\tif(child.invokeAction(triggeringWidget,event)) {\n\t\t\t\thandled = true;\n\t\t\t}\n\t\t}\n\t\t// Propagate through through the child if it permits it\n\t\tif(child.allowActionPropagation() && child.invokeActions(triggeringWidget,event)) {\n\t\t\thandled = true;\n\t\t}\n\t}\n\treturn handled;\n};\n\n/*\nInvoke the action widgets defined in a string\n*/\nWidget.prototype.invokeActionString = function(actions,triggeringWidget,event,variables) {\n\tactions = actions || \"\";\n\tvar parser = this.wiki.parseText(\"text/vnd.tiddlywiki\",actions,{\n\t\t\tparentWidget: this,\n\t\t\tdocument: this.document\n\t\t}),\n\t\twidgetNode = this.wiki.makeWidget(parser,{\n\t\t\tparentWidget: this,\n\t\t\tdocument: this.document,\n\t\t\tvariables: variables\n\t\t});\n\tvar container = this.document.createElement(\"div\");\n\twidgetNode.render(container,null);\n\treturn widgetNode.invokeActions(this,event);\n};\n\nWidget.prototype.allowActionPropagation = function() {\n\treturn true;\n};\n\nexports.widget = Widget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/wikify.js": {
            "title": "$:/core/modules/widgets/wikify.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/wikify.js\ntype: application/javascript\nmodule-type: widget\n\nWidget to wikify text into a variable\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar WikifyWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nWikifyWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nWikifyWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nWikifyWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.wikifyName = this.getAttribute(\"name\");\n\tthis.wikifyText = this.getAttribute(\"text\");\n\tthis.wikifyType = this.getAttribute(\"type\");\n\tthis.wikifyMode = this.getAttribute(\"mode\",\"block\");\n\tthis.wikifyOutput = this.getAttribute(\"output\",\"text\");\n\t// Create the parse tree\n\tthis.wikifyParser = this.wiki.parseText(this.wikifyType,this.wikifyText,{\n\t\t\tparseAsInline: this.wikifyMode === \"inline\"\n\t\t});\n\t// Create the widget tree \n\tthis.wikifyWidgetNode = this.wiki.makeWidget(this.wikifyParser,{\n\t\t\tdocument: $tw.fakeDocument,\n\t\t\tparentWidget: this\n\t\t});\n\t// Render the widget tree to the container\n\tthis.wikifyContainer = $tw.fakeDocument.createElement(\"div\");\n\tthis.wikifyWidgetNode.render(this.wikifyContainer,null);\n\tthis.wikifyResult = this.getResult();\n\t// Set context variable\n\tthis.setVariable(this.wikifyName,this.wikifyResult);\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nReturn the result string\n*/\nWikifyWidget.prototype.getResult = function() {\n\tvar result;\n\tswitch(this.wikifyOutput) {\n\t\tcase \"text\":\n\t\t\tresult = this.wikifyContainer.textContent;\n\t\t\tbreak;\n\t\tcase \"formattedtext\":\n\t\t\tresult = this.wikifyContainer.formattedTextContent;\n\t\t\tbreak;\n\t\tcase \"html\":\n\t\t\tresult = this.wikifyContainer.innerHTML;\n\t\t\tbreak;\n\t\tcase \"parsetree\":\n\t\t\tresult = JSON.stringify(this.wikifyParser.tree,0,$tw.config.preferences.jsonSpaces);\n\t\t\tbreak;\n\t\tcase \"widgettree\":\n\t\t\tresult = JSON.stringify(this.getWidgetTree(),0,$tw.config.preferences.jsonSpaces);\n\t\t\tbreak;\n\t}\n\treturn result;\n};\n\n/*\nReturn a string of the widget tree\n*/\nWikifyWidget.prototype.getWidgetTree = function() {\n\tvar copyNode = function(widgetNode,resultNode) {\n\t\t\tvar type = widgetNode.parseTreeNode.type;\n\t\t\tresultNode.type = type;\n\t\t\tswitch(type) {\n\t\t\t\tcase \"element\":\n\t\t\t\t\tresultNode.tag = widgetNode.parseTreeNode.tag;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"text\":\n\t\t\t\t\tresultNode.text = widgetNode.parseTreeNode.text;\n\t\t\t\t\tbreak;\t\n\t\t\t}\n\t\t\tif(Object.keys(widgetNode.attributes || {}).length > 0) {\n\t\t\t\tresultNode.attributes = {};\n\t\t\t\t$tw.utils.each(widgetNode.attributes,function(attr,attrName) {\n\t\t\t\t\tresultNode.attributes[attrName] = widgetNode.getAttribute(attrName);\n\t\t\t\t});\n\t\t\t}\n\t\t\tif(Object.keys(widgetNode.children || {}).length > 0) {\n\t\t\t\tresultNode.children = [];\n\t\t\t\t$tw.utils.each(widgetNode.children,function(widgetChildNode) {\n\t\t\t\t\tvar node = {};\n\t\t\t\t\tresultNode.children.push(node);\n\t\t\t\t\tcopyNode(widgetChildNode,node);\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tresults = {};\n\tcopyNode(this.wikifyWidgetNode,results);\n\treturn results;\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nWikifyWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\t// Refresh ourselves entirely if any of our attributes have changed\n\tif(changedAttributes.name || changedAttributes.text || changedAttributes.type || changedAttributes.mode || changedAttributes.output) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\t// Refresh the widget tree\n\t\tif(this.wikifyWidgetNode.refresh(changedTiddlers)) {\n\t\t\t// Check if there was any change\n\t\t\tvar result = this.getResult();\n\t\t\tif(result !== this.wikifyResult) {\n\t\t\t\t// If so, save the change\n\t\t\t\tthis.wikifyResult = result;\n\t\t\t\tthis.setVariable(this.wikifyName,this.wikifyResult);\n\t\t\t\t// Refresh each of our child widgets\n\t\t\t\t$tw.utils.each(this.children,function(childWidget) {\n\t\t\t\t\tchildWidget.refreshSelf();\n\t\t\t\t});\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\t// Just refresh the children\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.wikify = WikifyWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/wiki-bulkops.js": {
            "title": "$:/core/modules/wiki-bulkops.js",
            "text": "/*\\\ntitle: $:/core/modules/wiki-bulkops.js\ntype: application/javascript\nmodule-type: wikimethod\n\nBulk tiddler operations such as rename.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nRename a tiddler, and relink any tags or lists that reference it.\n*/\nfunction renameTiddler(fromTitle,toTitle,options) {\n\tfromTitle = (fromTitle || \"\").trim();\n\ttoTitle = (toTitle || \"\").trim();\n\toptions = options || {};\n\tif(fromTitle && toTitle && fromTitle !== toTitle) {\n\t\t// Rename the tiddler itself\n\t\tvar oldTiddler = this.getTiddler(fromTitle),\n\t\t\tnewTiddler = new $tw.Tiddler(oldTiddler,{title: toTitle},this.getModificationFields());\n\t\tnewTiddler = $tw.hooks.invokeHook(\"th-renaming-tiddler\",newTiddler,oldTiddler);\n\t\tthis.addTiddler(newTiddler);\n\t\tthis.deleteTiddler(fromTitle);\n\t\t// Rename any tags or lists that reference it\n\t\tthis.relinkTiddler(fromTitle,toTitle,options)\n\t}\n}\n\n/*\nRelink any tags or lists that reference a given tiddler\n*/\nfunction relinkTiddler(fromTitle,toTitle,options) {\n\tvar self = this;\n\tfromTitle = (fromTitle || \"\").trim();\n\ttoTitle = (toTitle || \"\").trim();\n\toptions = options || {};\n\tif(fromTitle && toTitle && fromTitle !== toTitle) {\n\t\tthis.each(function(tiddler,title) {\n\t\t\tvar type = tiddler.fields.type || \"\";\n\t\t\t// Don't touch plugins or JavaScript modules\n\t\t\tif(!tiddler.fields[\"plugin-type\"] && type !== \"application/javascript\") {\n\t\t\t\tvar tags = tiddler.fields.tags ? tiddler.fields.tags.slice(0) : undefined,\n\t\t\t\t\tlist = tiddler.fields.list ? tiddler.fields.list.slice(0) : undefined,\n\t\t\t\t\tisModified = false;\n\t\t\t\tif(!options.dontRenameInTags) {\n\t\t\t\t\t// Rename tags\n\t\t\t\t\t$tw.utils.each(tags,function (title,index) {\n\t\t\t\t\t\tif(title === fromTitle) {\nconsole.log(\"Renaming tag '\" + tags[index] + \"' to '\" + toTitle + \"' of tiddler '\" + tiddler.fields.title + \"'\");\n\t\t\t\t\t\t\ttags[index] = toTitle;\n\t\t\t\t\t\t\tisModified = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tif(!options.dontRenameInLists) {\n\t\t\t\t\t// Rename lists\n\t\t\t\t\t$tw.utils.each(list,function (title,index) {\n\t\t\t\t\t\tif(title === fromTitle) {\nconsole.log(\"Renaming list item '\" + list[index] + \"' to '\" + toTitle + \"' of tiddler '\" + tiddler.fields.title + \"'\");\n\t\t\t\t\t\t\tlist[index] = toTitle;\n\t\t\t\t\t\t\tisModified = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tif(isModified) {\n\t\t\t\t\tvar newTiddler = new $tw.Tiddler(tiddler,{tags: tags, list: list},self.getModificationFields())\n\t\t\t\t\tnewTiddler = $tw.hooks.invokeHook(\"th-relinking-tiddler\",newTiddler,tiddler);\n\t\t\t\t\tself.addTiddler(newTiddler);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n};\n\nexports.renameTiddler = renameTiddler;\nexports.relinkTiddler = relinkTiddler;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikimethod"
        },
        "$:/core/modules/wiki.js": {
            "title": "$:/core/modules/wiki.js",
            "text": "/*\\\ntitle: $:/core/modules/wiki.js\ntype: application/javascript\nmodule-type: wikimethod\n\nExtension methods for the $tw.Wiki object\n\nAdds the following properties to the wiki object:\n\n* `eventListeners` is a hashmap by type of arrays of listener functions\n* `changedTiddlers` is a hashmap describing changes to named tiddlers since wiki change events were last dispatched. Each entry is a hashmap containing two fields:\n\tmodified: true/false\n\tdeleted: true/false\n* `changeCount` is a hashmap by tiddler title containing a numerical index that starts at zero and is incremented each time a tiddler is created changed or deleted\n* `caches` is a hashmap by tiddler title containing a further hashmap of named cache objects. Caches are automatically cleared when a tiddler is modified or deleted\n* `globalCache` is a hashmap by cache name of cache objects that are cleared whenever any tiddler change occurs\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nvar USER_NAME_TITLE = \"$:/status/UserName\",\n\tTIMESTAMP_DISABLE_TITLE = \"$:/config/TimestampDisable\";\n\n/*\nAdd available indexers to this wiki\n*/\nexports.addIndexersToWiki = function() {\n\tvar self = this;\n\t$tw.utils.each($tw.modules.applyMethods(\"indexer\"),function(Indexer,name) {\n\t\tself.addIndexer(new Indexer(self),name);\n\t});\n};\n\n/*\nGet the value of a text reference. Text references can have any of these forms:\n\t<tiddlertitle>\n\t<tiddlertitle>!!<fieldname>\n\t!!<fieldname> - specifies a field of the current tiddlers\n\t<tiddlertitle>##<index>\n*/\nexports.getTextReference = function(textRef,defaultText,currTiddlerTitle) {\n\tvar tr = $tw.utils.parseTextReference(textRef),\n\t\ttitle = tr.title || currTiddlerTitle;\n\tif(tr.field) {\n\t\tvar tiddler = this.getTiddler(title);\n\t\tif(tr.field === \"title\") { // Special case so we can return the title of a non-existent tiddler\n\t\t\treturn title;\n\t\t} else if(tiddler && $tw.utils.hop(tiddler.fields,tr.field)) {\n\t\t\treturn tiddler.getFieldString(tr.field);\n\t\t} else {\n\t\t\treturn defaultText;\n\t\t}\n\t} else if(tr.index) {\n\t\treturn this.extractTiddlerDataItem(title,tr.index,defaultText);\n\t} else {\n\t\treturn this.getTiddlerText(title,defaultText);\n\t}\n};\n\nexports.setTextReference = function(textRef,value,currTiddlerTitle) {\n\tvar tr = $tw.utils.parseTextReference(textRef),\n\t\ttitle = tr.title || currTiddlerTitle;\n\tthis.setText(title,tr.field,tr.index,value);\n};\n\nexports.setText = function(title,field,index,value,options) {\n\toptions = options || {};\n\tvar creationFields = options.suppressTimestamp ? {} : this.getCreationFields(),\n\t\tmodificationFields = options.suppressTimestamp ? {} : this.getModificationFields();\n\t// Check if it is a reference to a tiddler field\n\tif(index) {\n\t\tvar data = this.getTiddlerData(title,Object.create(null));\n\t\tif(value !== undefined) {\n\t\t\tdata[index] = value;\n\t\t} else {\n\t\t\tdelete data[index];\n\t\t}\n\t\tthis.setTiddlerData(title,data,modificationFields);\n\t} else {\n\t\tvar tiddler = this.getTiddler(title),\n\t\t\tfields = {title: title};\n\t\tfields[field || \"text\"] = value;\n\t\tthis.addTiddler(new $tw.Tiddler(creationFields,tiddler,fields,modificationFields));\n\t}\n};\n\nexports.deleteTextReference = function(textRef,currTiddlerTitle) {\n\tvar tr = $tw.utils.parseTextReference(textRef),\n\t\ttitle,tiddler,fields;\n\t// Check if it is a reference to a tiddler\n\tif(tr.title && !tr.field) {\n\t\tthis.deleteTiddler(tr.title);\n\t// Else check for a field reference\n\t} else if(tr.field) {\n\t\ttitle = tr.title || currTiddlerTitle;\n\t\ttiddler = this.getTiddler(title);\n\t\tif(tiddler && $tw.utils.hop(tiddler.fields,tr.field)) {\n\t\t\tfields = Object.create(null);\n\t\t\tfields[tr.field] = undefined;\n\t\t\tthis.addTiddler(new $tw.Tiddler(tiddler,fields,this.getModificationFields()));\n\t\t}\n\t}\n};\n\nexports.addEventListener = function(type,listener) {\n\tthis.eventListeners = this.eventListeners || {};\n\tthis.eventListeners[type] = this.eventListeners[type]  || [];\n\tthis.eventListeners[type].push(listener);\t\n};\n\nexports.removeEventListener = function(type,listener) {\n\tvar listeners = this.eventListeners[type];\n\tif(listeners) {\n\t\tvar p = listeners.indexOf(listener);\n\t\tif(p !== -1) {\n\t\t\tlisteners.splice(p,1);\n\t\t}\n\t}\n};\n\nexports.dispatchEvent = function(type /*, args */) {\n\tvar args = Array.prototype.slice.call(arguments,1),\n\t\tlisteners = this.eventListeners[type];\n\tif(listeners) {\n\t\tfor(var p=0; p<listeners.length; p++) {\n\t\t\tvar listener = listeners[p];\n\t\t\tlistener.apply(listener,args);\n\t\t}\n\t}\n};\n\n/*\nCauses a tiddler to be marked as changed, incrementing the change count, and triggers event handlers.\nThis method should be called after the changes it describes have been made to the wiki.tiddlers[] array.\n\ttitle: Title of tiddler\n\tisDeleted: defaults to false (meaning the tiddler has been created or modified),\n\t\ttrue if the tiddler has been deleted\n*/\nexports.enqueueTiddlerEvent = function(title,isDeleted) {\n\t// Record the touch in the list of changed tiddlers\n\tthis.changedTiddlers = this.changedTiddlers || Object.create(null);\n\tthis.changedTiddlers[title] = this.changedTiddlers[title] || Object.create(null);\n\tthis.changedTiddlers[title][isDeleted ? \"deleted\" : \"modified\"] = true;\n\t// Increment the change count\n\tthis.changeCount = this.changeCount || Object.create(null);\n\tif($tw.utils.hop(this.changeCount,title)) {\n\t\tthis.changeCount[title]++;\n\t} else {\n\t\tthis.changeCount[title] = 1;\n\t}\n\t// Trigger events\n\tthis.eventListeners = this.eventListeners || {};\n\tif(!this.eventsTriggered) {\n\t\tvar self = this;\n\t\t$tw.utils.nextTick(function() {\n\t\t\tvar changes = self.changedTiddlers;\n\t\t\tself.changedTiddlers = Object.create(null);\n\t\t\tself.eventsTriggered = false;\n\t\t\tif($tw.utils.count(changes) > 0) {\n\t\t\t\tself.dispatchEvent(\"change\",changes);\n\t\t\t}\n\t\t});\n\t\tthis.eventsTriggered = true;\n\t}\n};\n\nexports.getSizeOfTiddlerEventQueue = function() {\n\treturn $tw.utils.count(this.changedTiddlers);\n};\n\nexports.clearTiddlerEventQueue = function() {\n\tthis.changedTiddlers = Object.create(null);\n\tthis.changeCount = Object.create(null);\n};\n\nexports.getChangeCount = function(title) {\n\tthis.changeCount = this.changeCount || Object.create(null);\n\tif($tw.utils.hop(this.changeCount,title)) {\n\t\treturn this.changeCount[title];\n\t} else {\n\t\treturn 0;\n\t}\n};\n\n/*\nGenerate an unused title from the specified base\n*/\nexports.generateNewTitle = function(baseTitle,options) {\n\toptions = options || {};\n\tvar c = 0,\n\t\ttitle = baseTitle;\n\twhile(this.tiddlerExists(title) || this.isShadowTiddler(title) || this.findDraft(title)) {\n\t\ttitle = baseTitle + \n\t\t\t(options.prefix || \" \") + \n\t\t\t(++c);\n\t}\n\treturn title;\n};\n\nexports.isSystemTiddler = function(title) {\n\treturn title && title.indexOf(\"$:/\") === 0;\n};\n\nexports.isTemporaryTiddler = function(title) {\n\treturn title && title.indexOf(\"$:/temp/\") === 0;\n};\n\nexports.isImageTiddler = function(title) {\n\tvar tiddler = this.getTiddler(title);\n\tif(tiddler) {\t\t\n\t\tvar contentTypeInfo = $tw.config.contentTypeInfo[tiddler.fields.type || \"text/vnd.tiddlywiki\"];\n\t\treturn !!contentTypeInfo && contentTypeInfo.flags.indexOf(\"image\") !== -1;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/*\nLike addTiddler() except it will silently reject any plugin tiddlers that are older than the currently loaded version. Returns true if the tiddler was imported\n*/\nexports.importTiddler = function(tiddler) {\n\tvar existingTiddler = this.getTiddler(tiddler.fields.title);\n\t// Check if we're dealing with a plugin\n\tif(tiddler && tiddler.hasField(\"plugin-type\") && tiddler.hasField(\"version\") && existingTiddler && existingTiddler.hasField(\"plugin-type\") && existingTiddler.hasField(\"version\")) {\n\t\t// Reject the incoming plugin if it is older\n\t\tif(!$tw.utils.checkVersions(tiddler.fields.version,existingTiddler.fields.version)) {\n\t\t\treturn false;\n\t\t}\n\t}\n\t// Fall through to adding the tiddler\n\tthis.addTiddler(tiddler);\n\treturn true;\n};\n\n/*\nReturn a hashmap of the fields that should be set when a tiddler is created\n*/\nexports.getCreationFields = function() {\n\tif(this.getTiddlerText(TIMESTAMP_DISABLE_TITLE,\"\").toLowerCase() !== \"yes\") {\n\t\tvar fields = {\n\t\t\t\tcreated: new Date()\n\t\t\t},\n\t\t\tcreator = this.getTiddlerText(USER_NAME_TITLE);\n\t\tif(creator) {\n\t\t\tfields.creator = creator;\n\t\t}\n\t\treturn fields;\n\t} else {\n\t\treturn {};\n\t}\n};\n\n/*\nReturn a hashmap of the fields that should be set when a tiddler is modified\n*/\nexports.getModificationFields = function() {\n\tif(this.getTiddlerText(TIMESTAMP_DISABLE_TITLE,\"\").toLowerCase() !== \"yes\") {\n\t\tvar fields = Object.create(null),\n\t\t\tmodifier = this.getTiddlerText(USER_NAME_TITLE);\n\t\tfields.modified = new Date();\n\t\tif(modifier) {\n\t\t\tfields.modifier = modifier;\n\t\t}\n\t\treturn fields;\n\t} else {\n\t\treturn {};\n\t}\n};\n\n/*\nReturn a sorted array of tiddler titles.  Options include:\nsortField: field to sort by\nexcludeTag: tag to exclude\nincludeSystem: whether to include system tiddlers (defaults to false)\n*/\nexports.getTiddlers = function(options) {\n\toptions = options || Object.create(null);\n\tvar self = this,\n\t\tsortField = options.sortField || \"title\",\n\t\ttiddlers = [], t, titles = [];\n\tthis.each(function(tiddler,title) {\n\t\tif(options.includeSystem || !self.isSystemTiddler(title)) {\n\t\t\tif(!options.excludeTag || !tiddler.hasTag(options.excludeTag)) {\n\t\t\t\ttiddlers.push(tiddler);\n\t\t\t}\n\t\t}\n\t});\n\ttiddlers.sort(function(a,b) {\n\t\tvar aa = a.fields[sortField].toLowerCase() || \"\",\n\t\t\tbb = b.fields[sortField].toLowerCase() || \"\";\n\t\tif(aa < bb) {\n\t\t\treturn -1;\n\t\t} else {\n\t\t\tif(aa > bb) {\n\t\t\t\treturn 1;\n\t\t\t} else {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t}\n\t});\n\tfor(t=0; t<tiddlers.length; t++) {\n\t\ttitles.push(tiddlers[t].fields.title);\n\t}\n\treturn titles;\n};\n\nexports.countTiddlers = function(excludeTag) {\n\tvar tiddlers = this.getTiddlers({excludeTag: excludeTag});\n\treturn $tw.utils.count(tiddlers);\n};\n\n/*\nReturns a function iterator(callback) that iterates through the specified titles, and invokes the callback with callback(tiddler,title)\n*/\nexports.makeTiddlerIterator = function(titles) {\n\tvar self = this;\n\tif(!$tw.utils.isArray(titles)) {\n\t\ttitles = Object.keys(titles);\n\t} else {\n\t\ttitles = titles.slice(0);\n\t}\n\treturn function(callback) {\n\t\ttitles.forEach(function(title) {\n\t\t\tcallback(self.getTiddler(title),title);\n\t\t});\n\t};\n};\n\n/*\nSort an array of tiddler titles by a specified field\n\ttitles: array of titles (sorted in place)\n\tsortField: name of field to sort by\n\tisDescending: true if the sort should be descending\n\tisCaseSensitive: true if the sort should consider upper and lower case letters to be different\n*/\nexports.sortTiddlers = function(titles,sortField,isDescending,isCaseSensitive,isNumeric,isAlphaNumeric) {\n\tvar self = this;\n\ttitles.sort(function(a,b) {\n\t\tvar x,y,\n\t\t\tcompareNumbers = function(x,y) {\n\t\t\t\tvar result = \n\t\t\t\t\tisNaN(x) && !isNaN(y) ? (isDescending ? -1 : 1) :\n\t\t\t\t\t!isNaN(x) && isNaN(y) ? (isDescending ? 1 : -1) :\n\t\t\t\t\t\t\t\t\t\t\t(isDescending ? y - x :  x - y);\n\t\t\t\treturn result;\n\t\t\t};\n\t\tif(sortField !== \"title\") {\n\t\t\tvar tiddlerA = self.getTiddler(a),\n\t\t\t\ttiddlerB = self.getTiddler(b);\n\t\t\tif(tiddlerA) {\n\t\t\t\ta = tiddlerA.fields[sortField] || \"\";\n\t\t\t} else {\n\t\t\t\ta = \"\";\n\t\t\t}\n\t\t\tif(tiddlerB) {\n\t\t\t\tb = tiddlerB.fields[sortField] || \"\";\n\t\t\t} else {\n\t\t\t\tb = \"\";\n\t\t\t}\n\t\t}\n\t\tx = Number(a);\n\t\ty = Number(b);\n\t\tif(isNumeric && (!isNaN(x) || !isNaN(y))) {\n\t\t\treturn compareNumbers(x,y);\n\t\t} else if(isAlphaNumeric) {\n\t\t\treturn isDescending ? b.localeCompare(a,undefined,{numeric: true,sensitivity: \"base\"}) : a.localeCompare(b,undefined,{numeric: true,sensitivity: \"base\"});\n\t\t} else if($tw.utils.isDate(a) && $tw.utils.isDate(b)) {\n\t\t\treturn isDescending ? b - a : a - b;\n\t\t} else {\n\t\t\ta = String(a);\n\t\t\tb = String(b);\n\t\t\tif(!isCaseSensitive) {\n\t\t\t\ta = a.toLowerCase();\n\t\t\t\tb = b.toLowerCase();\n\t\t\t}\n\t\t\treturn isDescending ? b.localeCompare(a) : a.localeCompare(b);\n\t\t}\n\t});\n};\n\n/*\nFor every tiddler invoke a callback(title,tiddler) with `this` set to the wiki object. Options include:\nsortField: field to sort by\nexcludeTag: tag to exclude\nincludeSystem: whether to include system tiddlers (defaults to false)\n*/\nexports.forEachTiddler = function(/* [options,]callback */) {\n\tvar arg = 0,\n\t\toptions = arguments.length >= 2 ? arguments[arg++] : {},\n\t\tcallback = arguments[arg++],\n\t\ttitles = this.getTiddlers(options),\n\t\tt, tiddler;\n\tfor(t=0; t<titles.length; t++) {\n\t\ttiddler = this.getTiddler(titles[t]);\n\t\tif(tiddler) {\n\t\t\tcallback.call(this,tiddler.fields.title,tiddler);\n\t\t}\n\t}\n};\n\n/*\nReturn an array of tiddler titles that are directly linked from the specified tiddler\n*/\nexports.getTiddlerLinks = function(title) {\n\tvar self = this;\n\t// We'll cache the links so they only get computed if the tiddler changes\n\treturn this.getCacheForTiddler(title,\"links\",function() {\n\t\t// Parse the tiddler\n\t\tvar parser = self.parseTiddler(title);\n\t\t// Count up the links\n\t\tvar links = [],\n\t\t\tcheckParseTree = function(parseTree) {\n\t\t\t\tfor(var t=0; t<parseTree.length; t++) {\n\t\t\t\t\tvar parseTreeNode = parseTree[t];\n\t\t\t\t\tif(parseTreeNode.type === \"link\" && parseTreeNode.attributes.to && parseTreeNode.attributes.to.type === \"string\") {\n\t\t\t\t\t\tvar value = parseTreeNode.attributes.to.value;\n\t\t\t\t\t\tif(links.indexOf(value) === -1) {\n\t\t\t\t\t\t\tlinks.push(value);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif(parseTreeNode.children) {\n\t\t\t\t\t\tcheckParseTree(parseTreeNode.children);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\t\tif(parser) {\n\t\t\tcheckParseTree(parser.tree);\n\t\t}\n\t\treturn links;\n\t});\n};\n\n/*\nReturn an array of tiddler titles that link to the specified tiddler\n*/\nexports.getTiddlerBacklinks = function(targetTitle) {\n\tvar self = this,\n\t\tbacklinks = [];\n\tthis.forEachTiddler(function(title,tiddler) {\n\t\tvar links = self.getTiddlerLinks(title);\n\t\tif(links.indexOf(targetTitle) !== -1) {\n\t\t\tbacklinks.push(title);\n\t\t}\n\t});\n\treturn backlinks;\n};\n\n/*\nReturn a hashmap of tiddler titles that are referenced but not defined. Each value is the number of times the missing tiddler is referenced\n*/\nexports.getMissingTitles = function() {\n\tvar self = this,\n\t\tmissing = [];\n// We should cache the missing tiddler list, even if we recreate it every time any tiddler is modified\n\tthis.forEachTiddler(function(title,tiddler) {\n\t\tvar links = self.getTiddlerLinks(title);\n\t\t$tw.utils.each(links,function(link) {\n\t\t\tif((!self.tiddlerExists(link) && !self.isShadowTiddler(link)) && missing.indexOf(link) === -1) {\n\t\t\t\tmissing.push(link);\n\t\t\t}\n\t\t});\n\t});\n\treturn missing;\n};\n\nexports.getOrphanTitles = function() {\n\tvar self = this,\n\t\torphans = this.getTiddlers();\n\tthis.forEachTiddler(function(title,tiddler) {\n\t\tvar links = self.getTiddlerLinks(title);\n\t\t$tw.utils.each(links,function(link) {\n\t\t\tvar p = orphans.indexOf(link);\n\t\t\tif(p !== -1) {\n\t\t\t\torphans.splice(p,1);\n\t\t\t}\n\t\t});\n\t});\n\treturn orphans; // Todo\n};\n\n/*\nRetrieves a list of the tiddler titles that are tagged with a given tag\n*/\nexports.getTiddlersWithTag = function(tag) {\n\t// Try to use the indexer\n\tvar self = this,\n\t\ttagIndexer = this.getIndexer(\"TagIndexer\"),\n\t\tresults = tagIndexer && tagIndexer.subIndexers[3].lookup(tag);\n\tif(!results) {\n\t\t// If not available, perform a manual scan\n\t\tresults = this.getGlobalCache(\"taglist-\" + tag,function() {\n\t\t\tvar tagmap = self.getTagMap();\n\t\t\treturn self.sortByList(tagmap[tag],tag);\n\t\t});\n\t}\n\treturn results;\n};\n\n/*\nGet a hashmap by tag of arrays of tiddler titles\n*/\nexports.getTagMap = function() {\n\tvar self = this;\n\treturn this.getGlobalCache(\"tagmap\",function() {\n\t\tvar tags = Object.create(null),\n\t\t\tstoreTags = function(tagArray,title) {\n\t\t\t\tif(tagArray) {\n\t\t\t\t\tfor(var index=0; index<tagArray.length; index++) {\n\t\t\t\t\t\tvar tag = tagArray[index];\n\t\t\t\t\t\tif($tw.utils.hop(tags,tag)) {\n\t\t\t\t\t\t\ttags[tag].push(title);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ttags[tag] = [title];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\ttitle, tiddler;\n\t\t// Collect up all the tags\n\t\tself.eachShadow(function(tiddler,title) {\n\t\t\tif(!self.tiddlerExists(title)) {\n\t\t\t\ttiddler = self.getTiddler(title);\n\t\t\t\tstoreTags(tiddler.fields.tags,title);\n\t\t\t}\n\t\t});\n\t\tself.each(function(tiddler,title) {\n\t\t\tstoreTags(tiddler.fields.tags,title);\n\t\t});\n\t\treturn tags;\n\t});\n};\n\n/*\nLookup a given tiddler and return a list of all the tiddlers that include it in the specified list field\n*/\nexports.findListingsOfTiddler = function(targetTitle,fieldName) {\n\tfieldName = fieldName || \"list\";\n\tvar titles = [];\n\tthis.each(function(tiddler,title) {\n\t\tvar list = $tw.utils.parseStringArray(tiddler.fields[fieldName]);\n\t\tif(list && list.indexOf(targetTitle) !== -1) {\n\t\t\ttitles.push(title);\n\t\t}\n\t});\n\treturn titles;\n};\n\n/*\nSorts an array of tiddler titles according to an ordered list\n*/\nexports.sortByList = function(array,listTitle) {\n\tvar self = this,\n\t\treplacedTitles = Object.create(null);\n\tfunction replaceItem(title) {\n\t\tif(!$tw.utils.hop(replacedTitles, title)) {\n\t\t\treplacedTitles[title] = true;\n\t\t\tvar newPos = -1,\n\t\t\t\ttiddler = self.getTiddler(title);\n\t\t\tif(tiddler) {\n\t\t\t\tvar beforeTitle = tiddler.fields[\"list-before\"],\n\t\t\t\t\tafterTitle = tiddler.fields[\"list-after\"];\n\t\t\t\tif(beforeTitle === \"\") {\n\t\t\t\t\tnewPos = 0;\n\t\t\t\t} else if(afterTitle === \"\") {\n\t\t\t\t\tnewPos = titles.length;\n\t\t\t\t} else if(beforeTitle) {\n\t\t\t\t\treplaceItem(beforeTitle);\n\t\t\t\t\tnewPos = titles.indexOf(beforeTitle);\n\t\t\t\t} else if(afterTitle) {\n\t\t\t\t\treplaceItem(afterTitle);\n\t\t\t\t\tnewPos = titles.indexOf(afterTitle);\n\t\t\t\t\tif(newPos >= 0) {\n\t\t\t\t\t\t++newPos;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// We get the currPos //after// figuring out the newPos, because recursive replaceItem calls might alter title's currPos\n\t\t\t\tvar currPos = titles.indexOf(title);\n\t\t\t\tif(newPos === -1) {\n\t\t\t\t\tnewPos = currPos;\n\t\t\t\t}\n\t\t\t\tif(currPos >= 0 && newPos !== currPos) {\n\t\t\t\t\ttitles.splice(currPos,1);\n\t\t\t\t\tif(newPos >= currPos) {\n\t\t\t\t\t\tnewPos--;\n\t\t\t\t\t}\n\t\t\t\t\ttitles.splice(newPos,0,title);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tvar list = this.getTiddlerList(listTitle);\n\tif(!array || array.length === 0) {\n\t\treturn [];\n\t} else {\n\t\tvar titles = [], t, title;\n\t\t// First place any entries that are present in the list\n\t\tfor(t=0; t<list.length; t++) {\n\t\t\ttitle = list[t];\n\t\t\tif(array.indexOf(title) !== -1) {\n\t\t\t\ttitles.push(title);\n\t\t\t}\n\t\t}\n\t\t// Then place any remaining entries\n\t\tfor(t=0; t<array.length; t++) {\n\t\t\ttitle = array[t];\n\t\t\tif(list.indexOf(title) === -1) {\n\t\t\t\ttitles.push(title);\n\t\t\t}\n\t\t}\n\t\t// Finally obey the list-before and list-after fields of each tiddler in turn\n\t\tvar sortedTitles = titles.slice(0);\n\t\tfor(t=0; t<sortedTitles.length; t++) {\n\t\t\ttitle = sortedTitles[t];\n\t\t\treplaceItem(title);\n\t\t}\n\t\treturn titles;\n\t}\n};\n\nexports.getSubTiddler = function(title,subTiddlerTitle) {\n\tvar bundleInfo = this.getPluginInfo(title) || this.getTiddlerDataCached(title);\n\tif(bundleInfo && bundleInfo.tiddlers) {\n\t\tvar subTiddler = bundleInfo.tiddlers[subTiddlerTitle];\n\t\tif(subTiddler) {\n\t\t\treturn new $tw.Tiddler(subTiddler);\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nRetrieve a tiddler as a JSON string of the fields\n*/\nexports.getTiddlerAsJson = function(title) {\n\tvar tiddler = this.getTiddler(title);\n\tif(tiddler) {\n\t\tvar fields = Object.create(null);\n\t\t$tw.utils.each(tiddler.fields,function(value,name) {\n\t\t\tfields[name] = tiddler.getFieldString(name);\n\t\t});\n\t\treturn JSON.stringify(fields);\n\t} else {\n\t\treturn JSON.stringify({title: title});\n\t}\n};\n\nexports.getTiddlersAsJson = function(filter) {\n\tvar tiddlers = this.filterTiddlers(filter),\n\t\tdata = [];\n\tfor(var t=0;t<tiddlers.length; t++) {\n\t\tvar tiddler = this.getTiddler(tiddlers[t]);\n\t\tif(tiddler) {\n\t\t\tvar fields = new Object();\n\t\t\tfor(var field in tiddler.fields) {\n\t\t\t\tfields[field] = tiddler.getFieldString(field);\n\t\t\t}\n\t\t\tdata.push(fields);\n\t\t}\n\t}\n\treturn JSON.stringify(data,null,$tw.config.preferences.jsonSpaces);\n};\n\n/*\nGet the content of a tiddler as a JavaScript object. How this is done depends on the type of the tiddler:\n\napplication/json: the tiddler JSON is parsed into an object\napplication/x-tiddler-dictionary: the tiddler is parsed as sequence of name:value pairs\n\nOther types currently just return null.\n\ntitleOrTiddler: string tiddler title or a tiddler object\ndefaultData: default data to be returned if the tiddler is missing or doesn't contain data\n\nNote that the same value is returned for repeated calls for the same tiddler data. The value is frozen to prevent modification; otherwise modifications would be visible to all callers\n*/\nexports.getTiddlerDataCached = function(titleOrTiddler,defaultData) {\n\tvar self = this,\n\t\ttiddler = titleOrTiddler;\n\tif(!(tiddler instanceof $tw.Tiddler)) {\n\t\ttiddler = this.getTiddler(tiddler);\t\n\t}\n\tif(tiddler) {\n\t\treturn this.getCacheForTiddler(tiddler.fields.title,\"data\",function() {\n\t\t\t// Return the frozen value\n\t\t\tvar value = self.getTiddlerData(tiddler.fields.title,undefined);\n\t\t\t$tw.utils.deepFreeze(value);\n\t\t\treturn value;\n\t\t}) || defaultData;\n\t} else {\n\t\treturn defaultData;\n\t}\n};\n\n/*\nAlternative, uncached version of getTiddlerDataCached(). The return value can be mutated freely and reused\n*/\nexports.getTiddlerData = function(titleOrTiddler,defaultData) {\n\tvar tiddler = titleOrTiddler,\n\t\tdata;\n\tif(!(tiddler instanceof $tw.Tiddler)) {\n\t\ttiddler = this.getTiddler(tiddler);\t\n\t}\n\tif(tiddler && tiddler.fields.text) {\n\t\tswitch(tiddler.fields.type) {\n\t\t\tcase \"application/json\":\n\t\t\t\t// JSON tiddler\n\t\t\t\ttry {\n\t\t\t\t\tdata = JSON.parse(tiddler.fields.text);\n\t\t\t\t} catch(ex) {\n\t\t\t\t\treturn defaultData;\n\t\t\t\t}\n\t\t\t\treturn data;\n\t\t\tcase \"application/x-tiddler-dictionary\":\n\t\t\t\treturn $tw.utils.parseFields(tiddler.fields.text);\n\t\t}\n\t}\n\treturn defaultData;\n};\n\n/*\nExtract an indexed field from within a data tiddler\n*/\nexports.extractTiddlerDataItem = function(titleOrTiddler,index,defaultText) {\n\tvar data = this.getTiddlerDataCached(titleOrTiddler,Object.create(null)),\n\t\ttext;\n\tif(data && $tw.utils.hop(data,index)) {\n\t\ttext = data[index];\n\t}\n\tif(typeof text === \"string\" || typeof text === \"number\") {\n\t\treturn text.toString();\n\t} else {\n\t\treturn defaultText;\n\t}\n};\n\n/*\nSet a tiddlers content to a JavaScript object. Currently this is done by setting the tiddler's type to \"application/json\" and setting the text to the JSON text of the data.\ntitle: title of tiddler\ndata: object that can be serialised to JSON\nfields: optional hashmap of additional tiddler fields to be set\n*/\nexports.setTiddlerData = function(title,data,fields) {\n\tvar existingTiddler = this.getTiddler(title),\n\t\tnewFields = {\n\t\t\ttitle: title\n\t};\n\tif(existingTiddler && existingTiddler.fields.type === \"application/x-tiddler-dictionary\") {\n\t\tnewFields.text = $tw.utils.makeTiddlerDictionary(data);\n\t} else {\n\t\tnewFields.type = \"application/json\";\n\t\tnewFields.text = JSON.stringify(data,null,$tw.config.preferences.jsonSpaces);\n\t}\n\tthis.addTiddler(new $tw.Tiddler(this.getCreationFields(),existingTiddler,fields,newFields,this.getModificationFields()));\n};\n\n/*\nReturn the content of a tiddler as an array containing each line\n*/\nexports.getTiddlerList = function(title,field,index) {\n\tif(index) {\n\t\treturn $tw.utils.parseStringArray(this.extractTiddlerDataItem(title,index,\"\"));\n\t}\n\tfield = field || \"list\";\n\tvar tiddler = this.getTiddler(title);\n\tif(tiddler) {\n\t\treturn ($tw.utils.parseStringArray(tiddler.fields[field]) || []).slice(0);\n\t}\n\treturn [];\n};\n\n// Return a named global cache object. Global cache objects are cleared whenever a tiddler change occurs\nexports.getGlobalCache = function(cacheName,initializer) {\n\tthis.globalCache = this.globalCache || Object.create(null);\n\tif($tw.utils.hop(this.globalCache,cacheName)) {\n\t\treturn this.globalCache[cacheName];\n\t} else {\n\t\tthis.globalCache[cacheName] = initializer();\n\t\treturn this.globalCache[cacheName];\n\t}\n};\n\nexports.clearGlobalCache = function() {\n\tthis.globalCache = Object.create(null);\n};\n\n// Return the named cache object for a tiddler. If the cache doesn't exist then the initializer function is invoked to create it\nexports.getCacheForTiddler = function(title,cacheName,initializer) {\n\tthis.caches = this.caches || Object.create(null);\n\tvar caches = this.caches[title];\n\tif(caches && caches[cacheName]) {\n\t\treturn caches[cacheName];\n\t} else {\n\t\tif(!caches) {\n\t\t\tcaches = Object.create(null);\n\t\t\tthis.caches[title] = caches;\n\t\t}\n\t\tcaches[cacheName] = initializer();\n\t\treturn caches[cacheName];\n\t}\n};\n\n// Clear all caches associated with a particular tiddler, or, if the title is null, clear all the caches for all the tiddlers\nexports.clearCache = function(title) {\n\tif(title) {\n\t\tthis.caches = this.caches || Object.create(null);\n\t\tif($tw.utils.hop(this.caches,title)) {\n\t\t\tdelete this.caches[title];\n\t\t}\n\t} else {\n\t\tthis.caches = Object.create(null);\n\t}\n};\n\nexports.initParsers = function(moduleType) {\n\t// Install the parser modules\n\t$tw.Wiki.parsers = {};\n\tvar self = this;\n\t$tw.modules.forEachModuleOfType(\"parser\",function(title,module) {\n\t\tfor(var f in module) {\n\t\t\tif($tw.utils.hop(module,f)) {\n\t\t\t\t$tw.Wiki.parsers[f] = module[f]; // Store the parser class\n\t\t\t}\n\t\t}\n\t});\n\t// Use the generic binary parser for any binary types not registered so far\n\tif($tw.Wiki.parsers[\"application/octet-stream\"]) {\n\t\tObject.keys($tw.config.contentTypeInfo).forEach(function(type) {\n\t\t\tif(!$tw.utils.hop($tw.Wiki.parsers,type) && $tw.config.contentTypeInfo[type].encoding === \"base64\") {\n\t\t\t\t$tw.Wiki.parsers[type] = $tw.Wiki.parsers[\"application/octet-stream\"];\n\t\t\t}\n\t\t});\t\t\n\t}\n};\n\n/*\nParse a block of text of a specified MIME type\n\ttype: content type of text to be parsed\n\ttext: text\n\toptions: see below\nOptions include:\n\tparseAsInline: if true, the text of the tiddler will be parsed as an inline run\n\t_canonical_uri: optional string of the canonical URI of this content\n*/\nexports.parseText = function(type,text,options) {\n\ttext = text || \"\";\n\toptions = options || {};\n\t// Select a parser\n\tvar Parser = $tw.Wiki.parsers[type];\n\tif(!Parser && $tw.utils.getFileExtensionInfo(type)) {\n\t\tParser = $tw.Wiki.parsers[$tw.utils.getFileExtensionInfo(type).type];\n\t}\n\tif(!Parser) {\n\t\tParser = $tw.Wiki.parsers[options.defaultType || \"text/vnd.tiddlywiki\"];\n\t}\n\tif(!Parser) {\n\t\treturn null;\n\t}\n\t// Return the parser instance\n\treturn new Parser(type,text,{\n\t\tparseAsInline: options.parseAsInline,\n\t\twiki: this,\n\t\t_canonical_uri: options._canonical_uri\n\t});\n};\n\n/*\nParse a tiddler according to its MIME type\n*/\nexports.parseTiddler = function(title,options) {\n\toptions = $tw.utils.extend({},options);\n\tvar cacheType = options.parseAsInline ? \"inlineParseTree\" : \"blockParseTree\",\n\t\ttiddler = this.getTiddler(title),\n\t\tself = this;\n\treturn tiddler ? this.getCacheForTiddler(title,cacheType,function() {\n\t\t\tif(tiddler.hasField(\"_canonical_uri\")) {\n\t\t\t\toptions._canonical_uri = tiddler.fields._canonical_uri;\n\t\t\t}\n\t\t\treturn self.parseText(tiddler.fields.type,tiddler.fields.text,options);\n\t\t}) : null;\n};\n\nexports.parseTextReference = function(title,field,index,options) {\n\tvar tiddler,text;\n\tif(options.subTiddler) {\n\t\ttiddler = this.getSubTiddler(title,options.subTiddler);\n\t} else {\n\t\ttiddler = this.getTiddler(title);\n\t\tif(field === \"text\" || (!field && !index)) {\n\t\t\tthis.getTiddlerText(title); // Force the tiddler to be lazily loaded\n\t\t\treturn this.parseTiddler(title,options);\n\t\t}\n\t}\n\tif(field === \"text\" || (!field && !index)) {\n\t\tif(tiddler && tiddler.fields) {\n\t\t\treturn this.parseText(tiddler.fields.type,tiddler.fields.text,options);\t\t\t\n\t\t} else {\n\t\t\treturn null;\n\t\t}\n\t} else if(field) {\n\t\tif(field === \"title\") {\n\t\t\ttext = title;\n\t\t} else {\n\t\t\tif(!tiddler || !tiddler.hasField(field)) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\ttext = tiddler.fields[field];\n\t\t}\n\t\treturn this.parseText(\"text/vnd.tiddlywiki\",text.toString(),options);\n\t} else if(index) {\n\t\tthis.getTiddlerText(title); // Force the tiddler to be lazily loaded\n\t\ttext = this.extractTiddlerDataItem(tiddler,index,undefined);\n\t\tif(text === undefined) {\n\t\t\treturn null;\n\t\t}\n\t\treturn this.parseText(\"text/vnd.tiddlywiki\",text,options);\n\t}\n};\n\n/*\nMake a widget tree for a parse tree\nparser: parser object\noptions: see below\nOptions include:\ndocument: optional document to use\nvariables: hashmap of variables to set\nparentWidget: optional parent widget for the root node\n*/\nexports.makeWidget = function(parser,options) {\n\toptions = options || {};\n\tvar widgetNode = {\n\t\t\ttype: \"widget\",\n\t\t\tchildren: []\n\t\t},\n\t\tcurrWidgetNode = widgetNode;\n\t// Create set variable widgets for each variable\n\t$tw.utils.each(options.variables,function(value,name) {\n\t\tvar setVariableWidget = {\n\t\t\ttype: \"set\",\n\t\t\tattributes: {\n\t\t\t\tname: {type: \"string\", value: name},\n\t\t\t\tvalue: {type: \"string\", value: value}\n\t\t\t},\n\t\t\tchildren: []\n\t\t};\n\t\tcurrWidgetNode.children = [setVariableWidget];\n\t\tcurrWidgetNode = setVariableWidget;\n\t});\n\t// Add in the supplied parse tree nodes\n\tcurrWidgetNode.children = parser ? parser.tree : [];\n\t// Create the widget\n\treturn new widget.widget(widgetNode,{\n\t\twiki: this,\n\t\tdocument: options.document || $tw.fakeDocument,\n\t\tparentWidget: options.parentWidget\n\t});\n};\n\n/*\nMake a widget tree for transclusion\ntitle: target tiddler title\noptions: as for wiki.makeWidget() plus:\noptions.field: optional field to transclude (defaults to \"text\")\noptions.mode: transclusion mode \"inline\" or \"block\"\noptions.children: optional array of children for the transclude widget\noptions.importVariables: optional importvariables filter string for macros to be included\noptions.importPageMacros: optional boolean; if true, equivalent to passing \"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\" to options.importVariables\n*/\nexports.makeTranscludeWidget = function(title,options) {\n\toptions = options || {};\n\tvar parseTreeDiv = {tree: [{\n\t\t\ttype: \"element\",\n\t\t\ttag: \"div\",\n\t\t\tchildren: []}]},\n\t\tparseTreeImportVariables = {\n\t\t\ttype: \"importvariables\",\n\t\t\tattributes: {\n\t\t\t\tfilter: {\n\t\t\t\t\tname: \"filter\",\n\t\t\t\t\ttype: \"string\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tisBlock: false,\n\t\t\tchildren: []},\n\t\tparseTreeTransclude = {\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {\n\t\t\t\t\tname: \"tiddler\",\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tvalue: title}},\n\t\t\tisBlock: !options.parseAsInline};\n\tif(options.importVariables || options.importPageMacros) {\n\t\tif(options.importVariables) {\n\t\t\tparseTreeImportVariables.attributes.filter.value = options.importVariables;\n\t\t} else if(options.importPageMacros) {\n\t\t\tparseTreeImportVariables.attributes.filter.value = \"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\";\n\t\t}\n\t\tparseTreeDiv.tree[0].children.push(parseTreeImportVariables);\n\t\tparseTreeImportVariables.children.push(parseTreeTransclude);\n\t} else {\n\t\tparseTreeDiv.tree[0].children.push(parseTreeTransclude);\n\t}\n\tif(options.field) {\n\t\tparseTreeTransclude.attributes.field = {type: \"string\", value: options.field};\n\t}\n\tif(options.mode) {\n\t\tparseTreeTransclude.attributes.mode = {type: \"string\", value: options.mode};\n\t}\n\tif(options.children) {\n\t\tparseTreeTransclude.children = options.children;\n\t}\n\treturn $tw.wiki.makeWidget(parseTreeDiv,options);\n};\n\n/*\nParse text in a specified format and render it into another format\n\toutputType: content type for the output\n\ttextType: content type of the input text\n\ttext: input text\n\toptions: see below\nOptions include:\nvariables: hashmap of variables to set\nparentWidget: optional parent widget for the root node\n*/\nexports.renderText = function(outputType,textType,text,options) {\n\toptions = options || {};\n\tvar parser = this.parseText(textType,text,options),\n\t\twidgetNode = this.makeWidget(parser,options);\n\tvar container = $tw.fakeDocument.createElement(\"div\");\n\twidgetNode.render(container,null);\n\treturn outputType === \"text/html\" ? container.innerHTML : container.textContent;\n};\n\n/*\nParse text from a tiddler and render it into another format\n\toutputType: content type for the output\n\ttitle: title of the tiddler to be rendered\n\toptions: see below\nOptions include:\nvariables: hashmap of variables to set\nparentWidget: optional parent widget for the root node\n*/\nexports.renderTiddler = function(outputType,title,options) {\n\toptions = options || {};\n\tvar parser = this.parseTiddler(title,options),\n\t\twidgetNode = this.makeWidget(parser,options);\n\tvar container = $tw.fakeDocument.createElement(\"div\");\n\twidgetNode.render(container,null);\n\treturn outputType === \"text/html\" ? container.innerHTML : (outputType === \"text/plain-formatted\" ? container.formattedTextContent : container.textContent);\n};\n\n/*\nReturn an array of tiddler titles that match a search string\n\ttext: The text string to search for\n\toptions: see below\nOptions available:\n\tsource: an iterator function for the source tiddlers, called source(iterator), where iterator is called as iterator(tiddler,title)\n\texclude: An array of tiddler titles to exclude from the search\n\tinvert: If true returns tiddlers that do not contain the specified string\n\tcaseSensitive: If true forces a case sensitive search\n\tfield: If specified, restricts the search to the specified field, or an array of field names\n\tanchored: If true, forces all but regexp searches to be anchored to the start of text\n\texcludeField: If true, the field options are inverted to specify the fields that are not to be searched\n\tThe search mode is determined by the first of these boolean flags to be true\n\t\tliteral: searches for literal string\n\t\twhitespace: same as literal except runs of whitespace are treated as a single space\n\t\tregexp: treats the search term as a regular expression\n\t\twords: (default) treats search string as a list of tokens, and matches if all tokens are found, regardless of adjacency or ordering\n*/\nexports.search = function(text,options) {\n\toptions = options || {};\n\tvar self = this,\n\t\tt,\n\t\tinvert = !!options.invert;\n\t// Convert the search string into a regexp for each term\n\tvar terms, searchTermsRegExps,\n\t\tflags = options.caseSensitive ? \"\" : \"i\",\n\t\tanchor = options.anchored ? \"^\" : \"\";\n\tif(options.literal) {\n\t\tif(text.length === 0) {\n\t\t\tsearchTermsRegExps = null;\n\t\t} else {\n\t\t\tsearchTermsRegExps = [new RegExp(\"(\" + anchor + $tw.utils.escapeRegExp(text) + \")\",flags)];\n\t\t}\n\t} else if(options.whitespace) {\n\t\tterms = [];\n\t\t$tw.utils.each(text.split(/\\s+/g),function(term) {\n\t\t\tif(term) {\n\t\t\t\tterms.push($tw.utils.escapeRegExp(term));\n\t\t\t}\n\t\t});\n\t\tsearchTermsRegExps = [new RegExp(\"(\" + anchor + terms.join(\"\\\\s+\") + \")\",flags)];\n\t} else if(options.regexp) {\n\t\ttry {\n\t\t\tsearchTermsRegExps = [new RegExp(\"(\" + text + \")\",flags)];\t\t\t\n\t\t} catch(e) {\n\t\t\tsearchTermsRegExps = null;\n\t\t\tconsole.log(\"Regexp error parsing /(\" + text + \")/\" + flags + \": \",e);\n\t\t}\n\t} else {\n\t\tterms = text.split(/ +/);\n\t\tif(terms.length === 1 && terms[0] === \"\") {\n\t\t\tsearchTermsRegExps = null;\n\t\t} else {\n\t\t\tsearchTermsRegExps = [];\n\t\t\tfor(t=0; t<terms.length; t++) {\n\t\t\t\tsearchTermsRegExps.push(new RegExp(\"(\" + anchor + $tw.utils.escapeRegExp(terms[t]) + \")\",flags));\n\t\t\t}\n\t\t}\n\t}\n\t// Accumulate the array of fields to be searched or excluded from the search\n\tvar fields = [];\n\tif(options.field) {\n\t\tif($tw.utils.isArray(options.field)) {\n\t\t\t$tw.utils.each(options.field,function(fieldName) {\n\t\t\t\tif(fieldName) {\n\t\t\t\t\tfields.push(fieldName);\t\t\t\t\t\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tfields.push(options.field);\n\t\t}\n\t}\n\t// Use default fields if none specified and we're not excluding fields (excluding fields with an empty field array is the same as searching all fields)\n\tif(fields.length === 0 && !options.excludeField) {\n\t\tfields.push(\"title\");\n\t\tfields.push(\"tags\");\n\t\tfields.push(\"text\");\n\t}\n\t// Function to check a given tiddler for the search term\n\tvar searchTiddler = function(title) {\n\t\tif(!searchTermsRegExps) {\n\t\t\treturn true;\n\t\t}\n\t\tvar notYetFound = searchTermsRegExps.slice();\n\n\t\tvar tiddler = self.getTiddler(title);\n\t\tif(!tiddler) {\n\t\t\ttiddler = new $tw.Tiddler({title: title, text: \"\", type: \"text/vnd.tiddlywiki\"});\n\t\t}\n\t\tvar contentTypeInfo = $tw.config.contentTypeInfo[tiddler.fields.type] || $tw.config.contentTypeInfo[\"text/vnd.tiddlywiki\"],\n\t\t\tsearchFields;\n\t\t// Get the list of fields we're searching\n\t\tif(options.excludeField) {\n\t\t\tsearchFields = Object.keys(tiddler.fields);\n\t\t\t$tw.utils.each(fields,function(fieldName) {\n\t\t\t\tvar p = searchFields.indexOf(fieldName);\n\t\t\t\tif(p !== -1) {\n\t\t\t\t\tsearchFields.splice(p,1);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsearchFields = fields;\n\t\t}\n\t\tfor(var fieldIndex=0; notYetFound.length>0 && fieldIndex<searchFields.length; fieldIndex++) {\n\t\t\t// Don't search the text field if the content type is binary\n\t\t\tvar fieldName = searchFields[fieldIndex];\n\t\t\tif(fieldName === \"text\" && contentTypeInfo.encoding !== \"utf8\") {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tvar str = tiddler.fields[fieldName],\n\t\t\t\tt;\n\t\t\tif(str) {\n\t\t\t\tif($tw.utils.isArray(str)) {\n\t\t\t\t\t// If the field value is an array, test each regexp against each field array entry and fail if each regexp doesn't match at least one field array entry\n\t\t\t\t\tfor(var s=0; s<str.length; s++) {\n\t\t\t\t\t\tfor(t=0; t<notYetFound.length;) {\n\t\t\t\t\t\t\tif(notYetFound[t].test(str[s])) {\n\t\t\t\t\t\t\t\tnotYetFound.splice(t, 1);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tt++;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// If the field isn't an array, force it to a string and test each regexp against it and fail if any do not match\n\t\t\t\t\tstr = tiddler.getFieldString(fieldName);\n\t\t\t\t\tfor(t=0; t<notYetFound.length;) {\n\t\t\t\t\t\tif(notYetFound[t].test(str)) {\n\t\t\t\t\t\t\tnotYetFound.splice(t, 1);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tt++;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\treturn notYetFound.length == 0;\n\t};\n\t// Loop through all the tiddlers doing the search\n\tvar results = [],\n\t\tsource = options.source || this.each;\n\tsource(function(tiddler,title) {\n\t\tif(searchTiddler(title) !== options.invert) {\n\t\t\tresults.push(title);\n\t\t}\n\t});\n\t// Remove any of the results we have to exclude\n\tif(options.exclude) {\n\t\tfor(t=0; t<options.exclude.length; t++) {\n\t\t\tvar p = results.indexOf(options.exclude[t]);\n\t\t\tif(p !== -1) {\n\t\t\t\tresults.splice(p,1);\n\t\t\t}\n\t\t}\n\t}\n\treturn results;\n};\n\n/*\nTrigger a load for a tiddler if it is skinny. Returns the text, or undefined if the tiddler is missing, null if the tiddler is being lazily loaded.\n*/\nexports.getTiddlerText = function(title,defaultText) {\n\tvar tiddler = this.getTiddler(title);\n\t// Return undefined if the tiddler isn't found\n\tif(!tiddler) {\n\t\treturn defaultText;\n\t}\n\tif(tiddler.fields.text !== undefined) {\n\t\t// Just return the text if we've got it\n\t\treturn tiddler.fields.text;\n\t} else {\n\t\t// Tell any listeners about the need to lazily load this tiddler\n\t\tthis.dispatchEvent(\"lazyLoad\",title);\n\t\t// Indicate that the text is being loaded\n\t\treturn null;\n\t}\n};\n\n/*\nCheck whether the text of a tiddler matches a given value. By default, the comparison is case insensitive, and any spaces at either end of the tiddler text is trimmed\n*/\nexports.checkTiddlerText = function(title,targetText,options) {\n\toptions = options || {};\n\tvar text = this.getTiddlerText(title,\"\");\n\tif(!options.noTrim) {\n\t\ttext = text.trim();\n\t}\n\tif(!options.caseSensitive) {\n\t\ttext = text.toLowerCase();\n\t\ttargetText = targetText.toLowerCase();\n\t}\n\treturn text === targetText;\n}\n\n/*\nRead an array of browser File objects, invoking callback(tiddlerFieldsArray) once they're all read\n*/\nexports.readFiles = function(files,options) {\n\tvar callback;\n\tif(typeof options === \"function\") {\n\t\tcallback = options;\n\t\toptions = {};\n\t} else {\n\t\tcallback = options.callback;\n\t}\n\tvar result = [],\n\t\toutstanding = files.length,\n\t\treadFileCallback = function(tiddlerFieldsArray) {\n\t\t\tresult.push.apply(result,tiddlerFieldsArray);\n\t\t\tif(--outstanding === 0) {\n\t\t\t\tcallback(result);\n\t\t\t}\n\t\t};\n\tfor(var f=0; f<files.length; f++) {\n\t\tthis.readFile(files[f],$tw.utils.extend({},options,{callback: readFileCallback}));\n\t}\n\treturn files.length;\n};\n\n/*\nRead a browser File object, invoking callback(tiddlerFieldsArray) with an array of tiddler fields objects\n*/\nexports.readFile = function(file,options) {\n\tvar callback;\n\tif(typeof options === \"function\") {\n\t\tcallback = options;\n\t\toptions = {};\n\t} else {\n\t\tcallback = options.callback;\n\t}\n\t// Get the type, falling back to the filename extension\n\tvar self = this,\n\t\ttype = file.type;\n\tif(type === \"\" || !type) {\n\t\tvar dotPos = file.name.lastIndexOf(\".\");\n\t\tif(dotPos !== -1) {\n\t\t\tvar fileExtensionInfo = $tw.utils.getFileExtensionInfo(file.name.substr(dotPos));\n\t\t\tif(fileExtensionInfo) {\n\t\t\t\ttype = fileExtensionInfo.type;\n\t\t\t}\n\t\t}\n\t}\n\t// Figure out if we're reading a binary file\n\tvar contentTypeInfo = $tw.config.contentTypeInfo[type],\n\t\tisBinary = contentTypeInfo ? contentTypeInfo.encoding === \"base64\" : false;\n\t// Log some debugging information\n\tif($tw.log.IMPORT) {\n\t\tconsole.log(\"Importing file '\" + file.name + \"', type: '\" + type + \"', isBinary: \" + isBinary);\n\t}\n\t// Give the hook a chance to process the drag\n\tif($tw.hooks.invokeHook(\"th-importing-file\",{\n\t\tfile: file,\n\t\ttype: type,\n\t\tisBinary: isBinary,\n\t\tcallback: callback\n\t}) !== true) {\n\t\tthis.readFileContent(file,type,isBinary,options.deserializer,callback);\n\t}\n};\n\n/*\nLower level utility to read the content of a browser File object, invoking callback(tiddlerFieldsArray) with an array of tiddler fields objects\n*/\nexports.readFileContent = function(file,type,isBinary,deserializer,callback) {\n\tvar self = this;\n\t// Create the FileReader\n\tvar reader = new FileReader();\n\t// Onload\n\treader.onload = function(event) {\n\t\tvar text = event.target.result,\n\t\t\ttiddlerFields = {title: file.name || \"Untitled\", type: type};\n\t\tif(isBinary) {\n\t\t\tvar commaPos = text.indexOf(\",\");\n\t\t\tif(commaPos !== -1) {\n\t\t\t\ttext = text.substr(commaPos + 1);\n\t\t\t}\n\t\t}\n\t\t// Check whether this is an encrypted TiddlyWiki file\n\t\tvar encryptedJson = $tw.utils.extractEncryptedStoreArea(text);\n\t\tif(encryptedJson) {\n\t\t\t// If so, attempt to decrypt it with the current password\n\t\t\t$tw.utils.decryptStoreAreaInteractive(encryptedJson,function(tiddlers) {\n\t\t\t\tcallback(tiddlers);\n\t\t\t});\n\t\t} else {\n\t\t\t// Otherwise, just try to deserialise any tiddlers in the file\n\t\t\tcallback(self.deserializeTiddlers(type,text,tiddlerFields,{deserializer: deserializer}));\n\t\t}\n\t};\n\t// Kick off the read\n\tif(isBinary) {\n\t\treader.readAsDataURL(file);\n\t} else {\n\t\treader.readAsText(file);\n\t}\n};\n\n/*\nFind any existing draft of a specified tiddler\n*/\nexports.findDraft = function(targetTitle) {\n\tvar draftTitle = undefined;\n\tthis.forEachTiddler({includeSystem: true},function(title,tiddler) {\n\t\tif(tiddler.fields[\"draft.title\"] && tiddler.fields[\"draft.of\"] === targetTitle) {\n\t\t\tdraftTitle = title;\n\t\t}\n\t});\n\treturn draftTitle;\n}\n\n/*\nCheck whether the specified draft tiddler has been modified.\nIf the original tiddler doesn't exist, create  a vanilla tiddler variable,\nto check if additional fields have been added.\n*/\nexports.isDraftModified = function(title) {\n\tvar tiddler = this.getTiddler(title);\n\tif(!tiddler.isDraft()) {\n\t\treturn false;\n\t}\n\tvar ignoredFields = [\"created\", \"modified\", \"title\", \"draft.title\", \"draft.of\"],\n\t\torigTiddler = this.getTiddler(tiddler.fields[\"draft.of\"]) || new $tw.Tiddler({text:\"\", tags:[]}),\n\t\ttitleModified = tiddler.fields[\"draft.title\"] !== tiddler.fields[\"draft.of\"];\n\treturn titleModified || !tiddler.isEqual(origTiddler,ignoredFields);\n};\n\n/*\nAdd a new record to the top of the history stack\ntitle: a title string or an array of title strings\nfromPageRect: page coordinates of the origin of the navigation\nhistoryTitle: title of history tiddler (defaults to $:/HistoryList)\n*/\nexports.addToHistory = function(title,fromPageRect,historyTitle) {\n\tif(historyTitle) {\n\t\tvar story = new $tw.Story({wiki: this, historyTitle: historyTitle});\n\t\tstory.addToHistory(title,fromPageRect);\t\t\n\t}\n};\n\n/*\nAdd a new tiddler to the story river\ntitle: a title string or an array of title strings\nfromTitle: the title of the tiddler from which the navigation originated\nstoryTitle: title of story tiddler (defaults to $:/StoryList)\noptions: see story.js\n*/\nexports.addToStory = function(title,fromTitle,storyTitle,options) {\n\tif(storyTitle) {\n\t\tvar story = new $tw.Story({wiki: this, storyTitle: storyTitle});\n\t\tstory.addToStory(title,fromTitle,options);\t\t\n\t}\n};\n\n/*\nGenerate a title for the draft of a given tiddler\n*/\nexports.generateDraftTitle = function(title) {\n\tvar c = 0,\n\t\tdraftTitle,\n\t\tusername = this.getTiddlerText(\"$:/status/UserName\"),\n\t\tattribution = username ? \" by \" + username : \"\";\n\tdo {\n\t\tdraftTitle = \"Draft \" + (c ? (c + 1) + \" \" : \"\") + \"of '\" + title + \"'\" + attribution;\n\t\tc++;\n\t} while(this.tiddlerExists(draftTitle));\n\treturn draftTitle;\n};\n\n/*\nInvoke the available upgrader modules\ntitles: array of tiddler titles to be processed\ntiddlers: hashmap by title of tiddler fields of pending import tiddlers. These can be modified by the upgraders. An entry with no fields indicates a tiddler that was pending import has been suppressed. When entries are added to the pending import the tiddlers hashmap may have entries that are not present in the titles array\nReturns a hashmap of messages keyed by tiddler title.\n*/\nexports.invokeUpgraders = function(titles,tiddlers) {\n\t// Collect up the available upgrader modules\n\tvar self = this;\n\tif(!this.upgraderModules) {\n\t\tthis.upgraderModules = [];\n\t\t$tw.modules.forEachModuleOfType(\"upgrader\",function(title,module) {\n\t\t\tif(module.upgrade) {\n\t\t\t\tself.upgraderModules.push(module);\n\t\t\t}\n\t\t});\n\t}\n\t// Invoke each upgrader in turn\n\tvar messages = {};\n\tfor(var t=0; t<this.upgraderModules.length; t++) {\n\t\tvar upgrader = this.upgraderModules[t],\n\t\t\tupgraderMessages = upgrader.upgrade(this,titles,tiddlers);\n\t\t$tw.utils.extend(messages,upgraderMessages);\n\t}\n\treturn messages;\n};\n\n})();\n\n",
            "type": "application/javascript",
            "module-type": "wikimethod"
        },
        "$:/palettes/Blanca": {
            "title": "$:/palettes/Blanca",
            "name": "Blanca",
            "description": "A clean white palette to let you focus",
            "tags": "$:/tags/Palette",
            "type": "application/x-tiddler-dictionary",
            "text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #66cccc\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #999999\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #ffffff\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #7897f3\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #ccc\nsidebar-foreground-shadow: rgba(255,255,255, 0.8)\nsidebar-foreground: #acacac\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: #ffffff\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: #7897f3\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #eeeeee\ntab-border-selected: #cccccc\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #ffeedd\ntag-foreground: #000\ntiddler-background: <<colour background>>\ntiddler-border: #eee\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #ff9900\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
        },
        "$:/palettes/Blue": {
            "title": "$:/palettes/Blue",
            "name": "Blue",
            "description": "A blue theme",
            "tags": "$:/tags/Palette",
            "type": "application/x-tiddler-dictionary",
            "text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #fff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour foreground>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333353\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #999999\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #ddddff\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #5778d8\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #ffffff\nsidebar-foreground-shadow: rgba(255,255,255, 0.8)\nsidebar-foreground: #acacac\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: <<colour page-background>>\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: #5959c0\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: <<colour background>>\ntab-background: #ccccdd\ntab-border-selected: #ccccdd\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #eeeeff\ntag-foreground: #000\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #666666\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #ffffff\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #ffffff\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #5959c0\ntoolbar-new-button: #5eb95e\ntoolbar-options-button: rgb(128, 88, 165)\ntoolbar-save-button: #0e90d2\ntoolbar-info-button: #0e90d2\ntoolbar-edit-button: rgb(243, 123, 29)\ntoolbar-close-button: #dd514c\ntoolbar-delete-button: #dd514c\ntoolbar-cancel-button: rgb(243, 123, 29)\ntoolbar-done-button: #5eb95e\nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
        },
        "$:/palettes/Muted": {
            "title": "$:/palettes/Muted",
            "name": "Muted",
            "description": "Bright tiddlers on a muted background",
            "tags": "$:/tags/Palette",
            "type": "application/x-tiddler-dictionary",
            "text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #bbb\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #6f6f70\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #29a6ee\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #c2c1c2\nsidebar-foreground-shadow: rgba(255,255,255,0)\nsidebar-foreground: #d3d2d4\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: #6f6f70\nsidebar-tab-background: #666667\nsidebar-tab-border-selected: #999\nsidebar-tab-border: #515151\nsidebar-tab-divider: #999\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: #999\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: #d1d0d2\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #d5ad34\ntag-foreground: #ffffff\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #182955\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
        },
        "$:/palettes/ContrastLight": {
            "title": "$:/palettes/ContrastLight",
            "name": "Contrast (Light)",
            "description": "High contrast and unambiguous (light version)",
            "tags": "$:/tags/Palette",
            "type": "application/x-tiddler-dictionary",
            "text": "alert-background: #f00\nalert-border: <<colour background>>\nalert-highlight: <<colour foreground>>\nalert-muted-foreground: #800\nbackground: #fff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background: <<colour background>>\nbutton-foreground: <<colour foreground>>\nbutton-border: <<colour foreground>>\ncode-background: <<colour background>>\ncode-border: <<colour foreground>>\ncode-foreground: <<colour foreground>>\ndirty-indicator: #f00\ndownload-background: #080\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: <<colour foreground>>\ndropdown-tab-background: <<colour foreground>>\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #00a\nexternal-link-foreground: #00e\nforeground: #000\nmessage-background: <<colour foreground>>\nmessage-border: <<colour background>>\nmessage-foreground: <<colour background>>\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: <<colour foreground>>\nmodal-footer-background: <<colour background>>\nmodal-footer-border: <<colour foreground>>\nmodal-header-border: <<colour foreground>>\nmuted-foreground: <<colour foreground>>\nnotification-background: <<colour background>>\nnotification-border: <<colour foreground>>\npage-background: <<colour background>>\npre-background: <<colour background>>\npre-border: <<colour foreground>>\nprimary: #00f\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: <<colour background>>\nsidebar-controls-foreground: <<colour foreground>>\nsidebar-foreground-shadow: rgba(0,0,0, 0)\nsidebar-foreground: <<colour foreground>>\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: <<colour foreground>>\nsidebar-tab-background-selected: <<colour background>>\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: <<colour foreground>>\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: <<colour foreground>>\nsidebar-tiddler-link-foreground: <<colour primary>>\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: <<colour background>>\ntab-background: <<colour foreground>>\ntab-border-selected: <<colour foreground>>\ntab-border: <<colour foreground>>\ntab-divider: <<colour foreground>>\ntab-foreground-selected: <<colour foreground>>\ntab-foreground: <<colour background>>\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #000\ntag-foreground: #fff\ntiddler-background: <<colour background>>\ntiddler-border: <<colour foreground>>\ntiddler-controls-foreground-hover: #ddd\ntiddler-controls-foreground-selected: #fdd\ntiddler-controls-foreground: <<colour foreground>>\ntiddler-editor-background: <<colour background>>\ntiddler-editor-border-image: <<colour foreground>>\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: <<colour background>>\ntiddler-editor-fields-odd: <<colour background>>\ntiddler-info-background: <<colour background>>\ntiddler-info-border: <<colour foreground>>\ntiddler-info-tab-background: <<colour background>>\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: <<colour foreground>>\ntiddler-title-foreground: <<colour foreground>>\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: <<colour foreground>>\nvery-muted-foreground: #888888\n"
        },
        "$:/palettes/ContrastDark": {
            "title": "$:/palettes/ContrastDark",
            "name": "Contrast (Dark)",
            "description": "High contrast and unambiguous (dark version)",
            "tags": "$:/tags/Palette",
            "type": "application/x-tiddler-dictionary",
            "text": "alert-background: #f00\nalert-border: <<colour background>>\nalert-highlight: <<colour foreground>>\nalert-muted-foreground: #800\nbackground: #000\nblockquote-bar: <<colour muted-foreground>>\nbutton-background: <<colour background>>\nbutton-foreground: <<colour foreground>>\nbutton-border: <<colour foreground>>\ncode-background: <<colour background>>\ncode-border: <<colour foreground>>\ncode-foreground: <<colour foreground>>\ndirty-indicator: #f00\ndownload-background: #080\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: <<colour foreground>>\ndropdown-tab-background: <<colour foreground>>\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #00a\nexternal-link-foreground: #00e\nforeground: #fff\nmessage-background: <<colour foreground>>\nmessage-border: <<colour background>>\nmessage-foreground: <<colour background>>\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: <<colour foreground>>\nmodal-footer-background: <<colour background>>\nmodal-footer-border: <<colour foreground>>\nmodal-header-border: <<colour foreground>>\nmuted-foreground: <<colour foreground>>\nnotification-background: <<colour background>>\nnotification-border: <<colour foreground>>\npage-background: <<colour background>>\npre-background: <<colour background>>\npre-border: <<colour foreground>>\nprimary: #00f\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: <<colour background>>\nsidebar-controls-foreground: <<colour foreground>>\nsidebar-foreground-shadow: rgba(0,0,0, 0)\nsidebar-foreground: <<colour foreground>>\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: <<colour foreground>>\nsidebar-tab-background-selected: <<colour background>>\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: <<colour foreground>>\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: <<colour foreground>>\nsidebar-tiddler-link-foreground: <<colour primary>>\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: <<colour background>>\ntab-background: <<colour foreground>>\ntab-border-selected: <<colour foreground>>\ntab-border: <<colour foreground>>\ntab-divider: <<colour foreground>>\ntab-foreground-selected: <<colour foreground>>\ntab-foreground: <<colour background>>\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #fff\ntag-foreground: #000\ntiddler-background: <<colour background>>\ntiddler-border: <<colour foreground>>\ntiddler-controls-foreground-hover: #ddd\ntiddler-controls-foreground-selected: #fdd\ntiddler-controls-foreground: <<colour foreground>>\ntiddler-editor-background: <<colour background>>\ntiddler-editor-border-image: <<colour foreground>>\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: <<colour background>>\ntiddler-editor-fields-odd: <<colour background>>\ntiddler-info-background: <<colour background>>\ntiddler-info-border: <<colour foreground>>\ntiddler-info-tab-background: <<colour background>>\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: <<colour foreground>>\ntiddler-title-foreground: <<colour foreground>>\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: <<colour foreground>>\nvery-muted-foreground: #888888\n"
        },
        "$:/palettes/DarkPhotos": {
            "title": "$:/palettes/DarkPhotos",
            "created": "20150402111612188",
            "description": "Good with dark photo backgrounds",
            "modified": "20150402112344080",
            "name": "DarkPhotos",
            "tags": "$:/tags/Palette",
            "type": "application/x-tiddler-dictionary",
            "text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background: \nbutton-foreground: \nbutton-border: \ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #ddd\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #336438\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #5778d8\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #ccf\nsidebar-controls-foreground: #fff\nsidebar-foreground-shadow: rgba(0,0,0, 0.5)\nsidebar-foreground: #fff\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #eee\nsidebar-tab-background-selected: rgba(255,255,255, 0.8)\nsidebar-tab-background: rgba(255,255,255, 0.4)\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: rgba(255,255,255, 0.2)\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #aaf\nsidebar-tiddler-link-foreground: #ddf\nsite-title-foreground: #fff\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #ec6\ntag-foreground: #ffffff\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #182955\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
        },
        "$:/palettes/Nord": {
            "title": "$:/palettes/Nord",
            "name": "Nord",
            "description": "An arctic, north-bluish color palette.",
            "tags": "$:/tags/Palette",
            "type": "application/x-tiddler-dictionary",
            "license": "MIT, arcticicestudio, https://github.com/arcticicestudio/nord/blob/develop/LICENSE.md",
            "text": "alert-background: #D08770\nalert-border: #D08770\nalert-highlight: #B48EAD\nalert-muted-foreground: #4C566A\nbackground: #3b4252\nblockquote-bar: <<colour muted-foreground>>\nbutton-background: #4C566A\nbutton-foreground: #D8DEE9\nbutton-border: transparent\ncode-background: #2E3440\ncode-border: #2E3440\ncode-foreground: #BF616A\ndiff-delete-background: #BF616A\ndiff-delete-foreground: <<colour foreground>>\ndiff-equal-background: \ndiff-equal-foreground: <<colour foreground>>\ndiff-insert-background: #A3BE8C\ndiff-insert-foreground: <<colour foreground>>\ndiff-invisible-background: \ndiff-invisible-foreground: <<colour muted-foreground>>\ndirty-indicator: #BF616A\ndownload-background: #A3BE8C\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour background>>\ndropdown-tab-background-selected: #ECEFF4\ndropdown-tab-background: #4C566A\ndropzone-background: #A3BE8C\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #5E81AC\nexternal-link-foreground: #8FBCBB\nforeground: #d8dee9\nmessage-background: #2E3440\nmessage-border: #2E3440\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #3b4252\nmodal-footer-background: #3b4252\nmodal-footer-border: #3b4252\nmodal-header-border: #3b4252\nmuted-foreground: #4C566A\nnotification-background: <<colour primary>>\nnotification-border: #EBCB8B\npage-background: #2e3440\npre-background: #2E3440\npre-border: #2E3440\nprimary: #5E81AC\nselect-tag-background: #3b4252\nselect-tag-foreground: <<colour foreground>>\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #4C566A\nsidebar-controls-foreground: #3B4252\nsidebar-foreground-shadow: transparent\nsidebar-foreground: #D8DEE9\nsidebar-muted-foreground-hover: #4C566A\nsidebar-muted-foreground: #4C566A\nsidebar-tab-background-selected: #ECEFF4\nsidebar-tab-background: #4C566A\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: #4C566A\nsidebar-tab-divider: <<colour page-background>>\nsidebar-tab-foreground-selected: #4C566A\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #A3BE8C\nsidebar-tiddler-link-foreground: #81A1C1\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #B48EAD\ntab-background-selected: #ECEFF4\ntab-background: #4C566A\ntab-border-selected: #4C566A\ntab-border: #4C566A\ntab-divider: #4C566A\ntab-foreground-selected: #4C566A\ntab-foreground: #D8DEE9\ntable-border: #4C566A\ntable-footer-background: #2e3440\ntable-header-background: #2e3440\ntag-background: #A3BE8C\ntag-foreground: #4C566A\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: \ntiddler-controls-foreground-selected: #EBCB8B\ntiddler-controls-foreground: #4C566A\ntiddler-editor-background: #2e3440\ntiddler-editor-border-image: #2e3440\ntiddler-editor-border: #2e3440\ntiddler-editor-fields-even: #2e3440\ntiddler-editor-fields-odd: #2e3440\ntiddler-info-background: #2e3440\ntiddler-info-border: #2e3440\ntiddler-info-tab-background: #2e3440\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #4C566A\ntiddler-title-foreground: #81A1C1\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: #2d3038\nvery-muted-foreground: #2d3038\n"
        },
        "$:/palettes/Rocker": {
            "title": "$:/palettes/Rocker",
            "name": "Rocker",
            "description": "A dark theme",
            "tags": "$:/tags/Palette",
            "type": "application/x-tiddler-dictionary",
            "text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #999999\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #000\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #cc0000\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #ffffff\nsidebar-foreground-shadow: rgba(255,255,255, 0.0)\nsidebar-foreground: #acacac\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: #000\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #ffbb99\nsidebar-tiddler-link-foreground: #cc0000\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #ffbb99\ntag-foreground: #000\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #cc0000\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
        },
        "$:/palettes/SolarFlare": {
            "title": "$:/palettes/SolarFlare",
            "name": "Solar Flare",
            "description": "Warm, relaxing earth colours",
            "tags": "$:/tags/Palette",
            "type": "application/x-tiddler-dictionary",
            "text": ": Background Tones\n\nbase03: #002b36\nbase02: #073642\n\n: Content Tones\n\nbase01: #586e75\nbase00: #657b83\nbase0: #839496\nbase1: #93a1a1\n\n: Background Tones\n\nbase2: #eee8d5\nbase3: #fdf6e3\n\n: Accent Colors\n\nyellow: #b58900\norange: #cb4b16\nred: #dc322f\nmagenta: #d33682\nviolet: #6c71c4\nblue: #268bd2\ncyan: #2aa198\ngreen: #859900\n\n: Additional Tones (RA)\n\nbase10: #c0c4bb\nviolet-muted: #7c81b0\nblue-muted: #4e7baa\n\nyellow-hot: #ffcc44\norange-hot: #eb6d20\nred-hot: #ff2222\nblue-hot: #2298ee\ngreen-hot: #98ee22\n\n: Palette\n\n: Do not use colour macro for background and foreground\nbackground: #fdf6e3\n    download-foreground: <<colour background>>\n    dragger-foreground: <<colour background>>\n    dropdown-background: <<colour background>>\n    modal-background: <<colour background>>\n    sidebar-foreground-shadow: <<colour background>>\n    tiddler-background: <<colour background>>\n    tiddler-border: <<colour background>>\n    tiddler-link-background: <<colour background>>\n    tab-background-selected: <<colour background>>\n        dropdown-tab-background-selected: <<colour tab-background-selected>>\nforeground: #657b83\n    dragger-background: <<colour foreground>>\n    tab-foreground: <<colour foreground>>\n        tab-foreground-selected: <<colour tab-foreground>>\n            sidebar-tab-foreground-selected: <<colour tab-foreground-selected>>\n        sidebar-tab-foreground: <<colour tab-foreground>>\n    sidebar-button-foreground: <<colour foreground>>\n    sidebar-controls-foreground: <<colour foreground>>\n    sidebar-foreground: <<colour foreground>>\n: base03\n: base02\n: base01\n    alert-muted-foreground: <<colour base01>>\n: base00\n    code-foreground: <<colour base00>>\n    message-foreground: <<colour base00>>\n    tag-foreground: <<colour base00>>\n: base0\n    sidebar-tiddler-link-foreground: <<colour base0>>\n: base1\n    muted-foreground: <<colour base1>>\n        blockquote-bar: <<colour muted-foreground>>\n        dropdown-border: <<colour muted-foreground>>\n        sidebar-muted-foreground: <<colour muted-foreground>>\n        tiddler-title-foreground: <<colour muted-foreground>>\n            site-title-foreground: <<colour tiddler-title-foreground>>\n: base2\n    modal-footer-background: <<colour base2>>\n    page-background: <<colour base2>>\n        modal-backdrop: <<colour page-background>>\n        notification-background: <<colour page-background>>\n        code-background: <<colour page-background>>\n            code-border: <<colour code-background>>\n        pre-background: <<colour page-background>>\n            pre-border: <<colour pre-background>>\n        sidebar-tab-background-selected: <<colour page-background>>\n    table-header-background: <<colour base2>>\n    tag-background: <<colour base2>>\n    tiddler-editor-background: <<colour base2>>\n    tiddler-info-background: <<colour base2>>\n    tiddler-info-tab-background: <<colour base2>>\n    tab-background: <<colour base2>>\n        dropdown-tab-background: <<colour tab-background>>\n: base3\n    alert-background: <<colour base3>>\n    message-background: <<colour base3>>\n: yellow\n: orange\n: red\n: magenta\n    alert-highlight: <<colour magenta>>\n: violet\n    external-link-foreground: <<colour violet>>\n: blue\n: cyan\n: green\n: base10\n    tiddler-controls-foreground: <<colour base10>>\n: violet-muted\n    external-link-foreground-visited: <<colour violet-muted>>\n: blue-muted\n    primary: <<colour blue-muted>>\n        download-background: <<colour primary>>\n        tiddler-link-foreground: <<colour primary>>\n\nalert-border: #b99e2f\ndirty-indicator: #ff0000\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nmessage-border: #cfd6e6\nmodal-border: #999999\nselect-tag-background:\nselect-tag-foreground:\nsidebar-controls-foreground-hover:\nsidebar-muted-foreground-hover:\nsidebar-tab-background: #ded8c5\nsidebar-tiddler-link-foreground-hover:\nstatic-alert-foreground: #aaaaaa\ntab-border: #cccccc\n    modal-footer-border: <<colour tab-border>>\n    modal-header-border: <<colour tab-border>>\n    notification-border: <<colour tab-border>>\n    sidebar-tab-border: <<colour tab-border>>\n    tab-border-selected: <<colour tab-border>>\n        sidebar-tab-border-selected: <<colour tab-border-selected>>\ntab-divider: #d8d8d8\n    sidebar-tab-divider: <<colour tab-divider>>\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-border: #dddddd\ntiddler-subtitle-foreground: #c0c0c0\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
        },
        "$:/palettes/SolarizedLight": {
            "title": "$:/palettes/SolarizedLight",
            "tags": "$:/tags/Palette",
            "type": "application/x-tiddler-dictionary",
            "description": "Precision colors for machines and people",
            "license": "MIT, Ethan Schoonover, https://github.com/altercation/solarized/blob/master/LICENSE",
            "name": "SolarizedLight",
            "text": "alert-background: #eee8d5\nalert-border: #073642\nalert-highlight: #cb4b16\nalert-muted-foreground: #586e75\nbackground: #fdf6e3\nblockquote-bar: <<colour muted-foreground>>\nbutton-background: #cb4b16\nbutton-foreground: #fdf6e3\nbutton-border: transparent\ncode-background: #eee8d5\ncode-border: #93a1a1\ncode-foreground: #d33682\ndiff-delete-background: #BF616A\ndiff-delete-foreground: <<colour foreground>>\ndiff-equal-background: \ndiff-equal-foreground: <<colour foreground>>\ndiff-insert-background: #859900\ndiff-insert-foreground: <<colour foreground>>\ndiff-invisible-background: \ndiff-invisible-foreground: <<colour muted-foreground>>\ndirty-indicator: #D08770\ndownload-background: #859900\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour background>>\ndropdown-tab-background-selected: #fdf6e3\ndropdown-tab-background: #93a1a1\ndropzone-background: #859900\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: #d33682\nexternal-link-foreground-visited: #b58900\nexternal-link-foreground: #cb4b16\nforeground: #839496\nmessage-background: #586e75\nmessage-border: #586e75\nmessage-foreground: #eee8d5\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #eee8d5\nmodal-footer-background: #eee8d5\nmodal-footer-border: #eee8d5\nmodal-header-border: #eee8d5\nmuted-foreground: #93a1a1\nnotification-background: #EBCB8B\nnotification-border: #D08770\npage-background: #eee8d5\npre-background: #eee8d5\npre-border: #93a1a1\nprimary: #2aa198\nselect-tag-background: #eee8d5\nselect-tag-foreground: <<colour foreground>>\nsidebar-button-foreground: #eee8d5\nsidebar-controls-foreground-hover: #268bd2\nsidebar-controls-foreground: #586e75\nsidebar-foreground-shadow: transparent\nsidebar-foreground: #839496\nsidebar-muted-foreground-hover: #657b83\nsidebar-muted-foreground: #93a1a1\nsidebar-tab-background-selected: #eee8d5\nsidebar-tab-background: #839496\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: #657b83\nsidebar-tab-divider: <<colour page-background>>\nsidebar-tab-foreground-selected: #839496\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #859900\nsidebar-tiddler-link-foreground: #268bd2\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #dc322f\ntab-background-selected: #fdf6e3\ntab-background: #839496\ntab-border-selected: #93a1a1\ntab-border: #93a1a1\ntab-divider: #fdf6e3\ntab-foreground-selected: #839496\ntab-foreground: #eee8d5\ntable-border: #657b83\ntable-footer-background: #657b83\ntable-header-background: #93a1a1\ntag-background: #6c71c4\ntag-foreground: #eee8d5\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #b58900\ntiddler-controls-foreground-selected: #b58900\ntiddler-controls-foreground: #073642\ntiddler-editor-background: #eee8d5\ntiddler-editor-border-image: #eee8d5\ntiddler-editor-border: #eee8d5\ntiddler-editor-fields-even: #eee8d5\ntiddler-editor-fields-odd: #fdf6e3\ntiddler-info-background: #eee8d5\ntiddler-info-border: #eee8d5\ntiddler-info-tab-background: #586e75\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #586e75\ntiddler-title-foreground: #073642\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: #839496\nvery-muted-foreground: #93a1a1\n"
        },
        "$:/palettes/SpartanDay": {
            "title": "$:/palettes/SpartanDay",
            "tags": "$:/tags/Palette",
            "type": "application/x-tiddler-dictionary",
            "description": "Cold, spartan day colors",
            "name": "Spartan Day",
            "text": "alert-background: <<colour background>>\nalert-border: <<colour very-muted-foreground>>\nalert-highlight: <<colour very-muted-foreground>>\nalert-muted-foreground: <<colour muted-foreground>>\nbackground: #FAFAFA\nblockquote-bar: <<colour page-background>>\nbutton-background: transparent\nbutton-foreground: inherit\nbutton-border: <<colour tag-background>>\ncode-background: #ececec\ncode-border: #ececec\ncode-foreground: \ndirty-indicator: #c80000\ndownload-background: <<colour primary>>\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: #FFFFFF\ndropdown-border: <<colour dropdown-background>>\ndropdown-tab-background-selected: <<colour dropdown-background>>\ndropdown-tab-background: #F5F5F5\ndropzone-background: <<colour tag-background>>\nexternal-link-background-hover: transparent\nexternal-link-background-visited: transparent\nexternal-link-background: transparent\nexternal-link-foreground-hover: \nexternal-link-foreground-visited: \nexternal-link-foreground: \nforeground: rgba(0, 0, 0, 0.87)\nmessage-background: <<colour background>>\nmessage-border: <<colour very-muted-foreground>>\nmessage-foreground: rgba(0, 0, 0, 0.54)\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: <<colour very-muted-foreground>>\nmodal-footer-background: <<colour background>>\nmodal-footer-border: <<colour very-muted-foreground>>\nmodal-header-border: <<colour very-muted-foreground>>\nmuted-foreground: rgba(0, 0, 0, 0.54)\nnotification-background: <<colour dropdown-background>>\nnotification-border: <<colour dropdown-background>>\npage-background: #f4f4f4\npre-background: #ececec\npre-border: #ececec\nprimary: #3949ab\nselect-tag-background: <<colour background>>\nselect-tag-foreground: <<colour foreground>>\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #aeaeae\nsidebar-controls-foreground: #c6c6c6\nsidebar-foreground-shadow: transparent\nsidebar-foreground: rgba(0, 0, 0, 0.54)\nsidebar-muted-foreground-hover: rgba(0, 0, 0, 0.54)\nsidebar-muted-foreground: rgba(0, 0, 0, 0.38)\nsidebar-tab-background-selected: <<colour page-background>>\nsidebar-tab-background: transparent\nsidebar-tab-border-selected: <<colour table-border>>\nsidebar-tab-border: transparent\nsidebar-tab-divider: <<colour table-border>>\nsidebar-tab-foreground-selected: rgba(0, 0, 0, 0.87)\nsidebar-tab-foreground: rgba(0, 0, 0, 0.54)\nsidebar-tiddler-link-foreground-hover: rgba(0, 0, 0, 0.87)\nsidebar-tiddler-link-foreground: rgba(0, 0, 0, 0.54)\nsite-title-foreground: rgba(0, 0, 0, 0.87)\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: <<colour background>>\ntab-background: transparent\ntab-border-selected: <<colour table-border>>\ntab-border: transparent\ntab-divider: <<colour table-border>>\ntab-foreground-selected: rgba(0, 0, 0, 0.87)\ntab-foreground: rgba(0, 0, 0, 0.54)\ntable-border: #d8d8d8\ntable-footer-background: <<colour tiddler-editor-fields-odd>>\ntable-header-background: <<colour tiddler-editor-fields-even>>\ntag-background: #ec6\ntag-foreground: <<colour button-foreground>>\ntiddler-background: <<colour background>>\ntiddler-border: #f9f9f9\ntiddler-controls-foreground-hover: <<colour sidebar-controls-foreground-hover>>\ntiddler-controls-foreground-selected: <<colour sidebar-controls-foreground-hover>>\ntiddler-controls-foreground: <<colour sidebar-controls-foreground>>\ntiddler-editor-background: transparent\ntiddler-editor-border-image: \ntiddler-editor-border: #e8e7e7\ntiddler-editor-fields-even: rgba(0, 0, 0, 0.1)\ntiddler-editor-fields-odd: rgba(0, 0, 0, 0.04)\ntiddler-info-background: #F5F5F5\ntiddler-info-border: #F5F5F5\ntiddler-info-tab-background: <<colour tiddler-editor-fields-odd>>\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: <<colour muted-foreground>>\ntiddler-title-foreground: #000000\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: <<colour very-muted-foreground>>\nvery-muted-foreground: rgba(0, 0, 0, 0.12)\n"
        },
        "$:/palettes/SpartanNight": {
            "title": "$:/palettes/SpartanNight",
            "tags": "$:/tags/Palette",
            "type": "application/x-tiddler-dictionary",
            "description": "Dark spartan colors",
            "name": "Spartan Night",
            "text": "alert-background: <<colour background>>\nalert-border: <<colour very-muted-foreground>>\nalert-highlight: <<colour very-muted-foreground>>\nalert-muted-foreground: <<colour muted-foreground>>\nbackground: #303030\nblockquote-bar: <<colour page-background>>\nbutton-background: transparent\nbutton-foreground: inherit\nbutton-border: <<colour tag-background>>\ncode-background: <<colour pre-background>>\ncode-border: <<colour pre-border>>\ncode-foreground: rgba(255, 255, 255, 0.54)\ndirty-indicator: #c80000\ndownload-background: <<colour primary>>\ndownload-foreground: <<colour foreground>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: #424242\ndropdown-border: <<colour dropdown-background>>\ndropdown-tab-background-selected: <<colour dropdown-background>>\ndropdown-tab-background: #050505\ndropzone-background: <<colour tag-background>>\nexternal-link-background-hover: transparent\nexternal-link-background-visited: transparent\nexternal-link-background: transparent\nexternal-link-foreground-hover: \nexternal-link-foreground-visited: #7c318c\nexternal-link-foreground: #9e3eb3\nforeground: rgba(255, 255, 255, 0.7)\nmessage-background: <<colour background>>\nmessage-border: <<colour very-muted-foreground>>\nmessage-foreground: rgba(255, 255, 255, 0.54)\nmodal-backdrop: <<colour page-background>>\nmodal-background: <<colour background>>\nmodal-border: <<colour very-muted-foreground>>\nmodal-footer-background: <<colour background>>\nmodal-footer-border: <<colour background>>\nmodal-header-border: <<colour very-muted-foreground>>\nmuted-foreground: rgba(255, 255, 255, 0.54)\nnotification-background: <<colour dropdown-background>>\nnotification-border: <<colour dropdown-background>>\npage-background: #212121\npre-background: #2a2a2a\npre-border: transparent\nprimary: #5656f3\nselect-tag-background: <<colour background>>\nselect-tag-foreground: <<colour foreground>>\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #494949\nsidebar-controls-foreground: #5d5d5d\nsidebar-foreground-shadow: transparent\nsidebar-foreground: rgba(255, 255, 255, 0.54)\nsidebar-muted-foreground-hover: rgba(255, 255, 255, 0.54)\nsidebar-muted-foreground: rgba(255, 255, 255, 0.38)\nsidebar-tab-background-selected: <<colour page-background>>\nsidebar-tab-background: transparent\nsidebar-tab-border-selected: <<colour table-border>>\nsidebar-tab-border: transparent\nsidebar-tab-divider: <<colour table-border>>\nsidebar-tab-foreground-selected: rgba(255, 255, 255, 0.87)\nsidebar-tab-foreground: rgba(255, 255, 255, 0.54)\nsidebar-tiddler-link-foreground-hover: rgba(255, 255, 255, 0.7)\nsidebar-tiddler-link-foreground: rgba(255, 255, 255, 0.54)\nsite-title-foreground: rgba(255, 255, 255, 0.7)\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: <<colour background>>\ntab-background: transparent\ntab-border-selected: <<colour table-border>>\ntab-border: transparent\ntab-divider: <<colour table-border>>\ntab-foreground-selected: rgba(255, 255, 255, 0.87)\ntab-foreground: rgba(255, 255, 255, 0.54)\ntable-border: #3a3a3a\ntable-footer-background: <<colour tiddler-editor-fields-odd>>\ntable-header-background: <<colour tiddler-editor-fields-even>>\ntag-background: #ec6\ntag-foreground: <<colour button-foreground>>\ntiddler-background: <<colour background>>\ntiddler-border: rgb(55,55,55)\ntiddler-controls-foreground-hover: <<colour sidebar-controls-foreground-hover>>\ntiddler-controls-foreground-selected: <<colour sidebar-controls-foreground-hover>>\ntiddler-controls-foreground: <<colour sidebar-controls-foreground>>\ntiddler-editor-background: transparent\ntiddler-editor-border-image: \ntiddler-editor-border: rgba(255, 255, 255, 0.08)\ntiddler-editor-fields-even: rgba(255, 255, 255, 0.1)\ntiddler-editor-fields-odd: rgba(255, 255, 255, 0.04)\ntiddler-info-background: #454545\ntiddler-info-border: #454545\ntiddler-info-tab-background: <<colour tiddler-editor-fields-odd>>\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: <<colour muted-foreground>>\ntiddler-title-foreground: #FFFFFF\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: <<colour very-muted-foreground>>\nvery-muted-foreground: rgba(255, 255, 255, 0.12)\n"
        },
        "$:/palettes/Twilight": {
            "title": "$:/palettes/Twilight",
            "tags": "$:/tags/Palette",
            "author": "Thomas Elmiger",
            "type": "application/x-tiddler-dictionary",
            "name": "Twilight",
            "description": "Delightful, soft darkness.",
            "text": "alert-background: rgb(255, 255, 102)\nalert-border: rgb(232, 232, 125)\nalert-highlight: rgb(255, 51, 51)\nalert-muted-foreground: rgb(224, 82, 82)\nbackground: rgb(38, 38, 38)\nblockquote-bar: rgba(240, 196, 117, 0.7)\nbutton-background: rgb(63, 63, 63)\nbutton-border: rgb(127, 127, 127)\nbutton-foreground: rgb(179, 179, 179)\ncode-background: rgba(0,0,0,0.03)\ncode-border: rgba(0,0,0,0.08)\ncode-foreground: rgb(255, 94, 94)\ndiff-delete-background: #ffc9c9\ndiff-delete-foreground: <<colour foreground>>\ndiff-equal-background: \ndiff-equal-foreground: <<colour foreground>>\ndiff-insert-background: #aaefad\ndiff-insert-foreground: <<colour foreground>>\ndiff-invisible-background: \ndiff-invisible-foreground: <<colour muted-foreground>>\ndirty-indicator: rgb(255, 94, 94)\ndownload-background: #19a974\ndownload-foreground: rgb(38, 38, 38)\ndragger-background: rgb(179, 179, 179)\ndragger-foreground: rgb(38, 38, 38)\ndropdown-background: rgb(38, 38, 38)\ndropdown-border: rgb(255, 255, 255)\ndropdown-tab-background: rgba(0,0,0,.1)\ndropdown-tab-background-selected: rgba(255,255,255,1)\ndropzone-background: #9eebcf\nexternal-link-background: inherit\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-foreground: rgb(179, 179, 255)\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: rgb(153, 153, 255)\nforeground: rgb(179, 179, 179)\nmessage-background: <<colour tag-foreground>>\nmessage-border: #96ccff\nmessage-foreground: <<colour tag-background>>\nmodal-backdrop: rgb(179, 179, 179)\nmodal-background: rgb(38, 38, 38)\nmodal-border: rgba(0,0,0,.5)\nmodal-footer-background: #f4f4f4\nmodal-footer-border: rgba(0,0,0,.1)\nmodal-header-border: rgba(0,0,0,.2)\nmuted-foreground: rgb(255, 255, 255)\nnotification-background: <<colour tag-foreground>>\nnotification-border: <<colour tag-background>>\npage-background: rgb(26, 26, 26)\npre-background: rgb(25, 25, 25)\npre-border: rgba(0,0,0,.2)\nprimary: rgb(255, 201, 102)\nselect-tag-background: \nselect-tag-foreground: \nsidebar-button-foreground: rgb(179, 179, 179)\nsidebar-controls-foreground: rgb(153, 153, 153)\nsidebar-controls-foreground-hover: <<colour tiddler-controls-foreground-hover>>\nsidebar-foreground: rgb(141, 141, 141)\nsidebar-foreground-shadow: transparent\nsidebar-muted-foreground: rgba(0, 0, 0, 0.5)\nsidebar-muted-foreground-hover: rgb(141, 141, 141)\nsidebar-tab-background: rgba(141, 141, 141, 0.2)\nsidebar-tab-background-selected: rgb(26, 26, 26)\nsidebar-tab-border: rgb(127, 127, 127)\nsidebar-tab-border-selected: rgb(127, 127, 127)\nsidebar-tab-divider: rgb(127, 127, 127)\nsidebar-tab-foreground: rgb(179, 179, 179)\nsidebar-tab-foreground-selected: rgb(179, 179, 179)\nsidebar-tiddler-link-foreground: rgb(179, 179, 179)\nsidebar-tiddler-link-foreground-hover: rgb(115, 115, 115)\nsite-title-foreground: rgb(255, 201, 102)\nstatic-alert-foreground: rgba(0,0,0,.3)\ntab-background: rgba(0,0,0,0.125)\ntab-background-selected: rgb(38, 38, 38)\ntab-border: rgb(255, 201, 102)\ntab-border-selected: rgb(255, 201, 102)\ntab-divider: rgb(255, 201, 102)\ntab-foreground: rgb(179, 179, 179)\ntab-foreground-selected: rgb(179, 179, 179)\ntable-border: rgba(255,255,255,.3)\ntable-footer-background: rgba(0,0,0,.4)\ntable-header-background: rgba(0,0,0,.1)\ntag-background: rgb(255, 201, 102)\ntag-foreground: rgb(25, 25, 25)\ntiddler-background: rgb(38, 38, 38)\ntiddler-border: rgba(240, 196, 117, 0.7)\ntiddler-controls-foreground: rgb(128, 128, 128)\ntiddler-controls-foreground-hover: rgba(255, 255, 255, 0.8)\ntiddler-controls-foreground-selected: rgba(255, 255, 255, 0.9)\ntiddler-editor-background: rgb(33, 33, 33)\ntiddler-editor-border: rgb(63, 63, 63)\ntiddler-editor-border-image: rgb(25, 25, 25)\ntiddler-editor-fields-even: rgb(33, 33, 33)\ntiddler-editor-fields-odd: rgb(28, 28, 28)\ntiddler-info-background: rgb(43, 43, 43)\ntiddler-info-border: rgb(25, 25, 25)\ntiddler-info-tab-background: rgb(43, 43, 43)\ntiddler-link-background: rgb(38, 38, 38)\ntiddler-link-foreground: rgb(204, 204, 255)\ntiddler-subtitle-foreground: rgb(255, 255, 255)\ntiddler-title-foreground: rgb(255, 192, 76)\ntoolbar-cancel-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-done-button: \ntoolbar-edit-button: \ntoolbar-info-button: \ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \nuntagged-background: rgb(255, 255, 255)\nvery-muted-foreground: rgba(240, 196, 117, 0.7)\n"
        },
        "$:/palettes/Vanilla": {
            "title": "$:/palettes/Vanilla",
            "name": "Vanilla",
            "description": "Pale and unobtrusive",
            "tags": "$:/tags/Palette",
            "type": "application/x-tiddler-dictionary",
            "text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndiff-delete-background: #ffc9c9\ndiff-delete-foreground: <<colour foreground>>\ndiff-equal-background: \ndiff-equal-foreground: <<colour foreground>>\ndiff-insert-background: #aaefad\ndiff-insert-foreground: <<colour foreground>>\ndiff-invisible-background: \ndiff-invisible-foreground: <<colour muted-foreground>>\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #bbb\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #f4f4f4\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #5778d8\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #aaaaaa\nsidebar-foreground-shadow: rgba(255,255,255, 0.8)\nsidebar-foreground: #acacac\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: #f4f4f4\nsidebar-tab-background: #e0e0e0\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: #e4e4e4\nsidebar-tab-foreground-selected:\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: #999999\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #ec6\ntag-foreground: #ffffff\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #182955\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
        },
        "$:/core/readme": {
            "title": "$:/core/readme",
            "text": "This plugin contains TiddlyWiki's core components, comprising:\n\n* JavaScript code modules\n* Icons\n* Templates needed to create TiddlyWiki's user interface\n* British English (''en-GB'') translations of the localisable strings used by the core\n"
        },
        "$:/library/sjcl.js/license": {
            "title": "$:/library/sjcl.js/license",
            "type": "text/plain",
            "text": "SJCL is open. You can use, modify and redistribute it under a BSD\nlicense or under the GNU GPL, version 2.0.\n\n---------------------------------------------------------------------\n\nhttp://opensource.org/licenses/BSD-2-Clause\n\nCopyright (c) 2009-2015, Emily Stark, Mike Hamburg and Dan Boneh at\nStanford University. All rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n1. Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n\n2. Redistributions in binary form must reproduce the above copyright\nnotice, this list of conditions and the following disclaimer in the\ndocumentation and/or other materials provided with the distribution.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS\nIS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED\nTO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A\nPARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nHOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED\nTO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\nPROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\nLIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\nNEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n---------------------------------------------------------------------\n\nhttp://opensource.org/licenses/GPL-2.0\n\nThe Stanford Javascript Crypto Library (hosted here on GitHub) is a\nproject by the Stanford Computer Security Lab to build a secure,\npowerful, fast, small, easy-to-use, cross-browser library for\ncryptography in Javascript.\n\nCopyright (c) 2009-2015, Emily Stark, Mike Hamburg and Dan Boneh at\nStanford University.\n\nThis program is free software; you can redistribute it and/or modify it\nunder the terms of the GNU General Public License as published by the\nFree Software Foundation; either version 2 of the License, or (at your\noption) any later version.\n\nThis program is distributed in the hope that it will be useful, but\nWITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General\nPublic License for more details.\n\nYou should have received a copy of the GNU General Public License along\nwith this program; if not, write to the Free Software Foundation, Inc.,\n59 Temple Place, Suite 330, Boston, MA 02111-1307 USA"
        },
        "$:/core/templates/MOTW.html": {
            "title": "$:/core/templates/MOTW.html",
            "text": "\\rules only filteredtranscludeinline transcludeinline entity\n<!-- The following comment is called a MOTW comment and is necessary for the TiddlyIE Internet Explorer extension -->\n<!-- saved from url=(0021)https://tiddlywiki.com -->&#13;&#10;"
        },
        "$:/core/templates/alltiddlers.template.html": {
            "title": "$:/core/templates/alltiddlers.template.html",
            "type": "text/vnd.tiddlywiki-html",
            "text": "<!-- This template is provided for backwards compatibility with older versions of TiddlyWiki -->\n\n<$set name=\"exportFilter\" value=\"[!is[system]sort[title]]\">\n\n{{$:/core/templates/exporters/StaticRiver}}\n\n</$set>\n"
        },
        "$:/core/templates/canonical-uri-external-image": {
            "title": "$:/core/templates/canonical-uri-external-image",
            "text": "<!--\n\nThis template is used to assign the ''_canonical_uri'' field to external images.\n\nChange the `./images/` part to a different base URI. The URI can be relative or absolute.\n\n-->\n./images/<$view field=\"title\" format=\"doubleurlencoded\"/>"
        },
        "$:/core/templates/canonical-uri-external-raw": {
            "title": "$:/core/templates/canonical-uri-external-raw",
            "text": "<!--\n\nThis template is used to assign the ''_canonical_uri'' field to external raw files that are stored in the same directory\n\n-->\n<$view field=\"title\" format=\"doubleurlencoded\"/>"
        },
        "$:/core/templates/canonical-uri-external-text": {
            "title": "$:/core/templates/canonical-uri-external-text",
            "text": "<!--\n\nThis template is used to assign the ''_canonical_uri'' field to external text files.\n\nChange the `./text/` part to a different base URI. The URI can be relative or absolute.\n\n-->\n./text/<$view field=\"title\" format=\"doubleurlencoded\"/>.tid"
        },
        "$:/core/templates/css-tiddler": {
            "title": "$:/core/templates/css-tiddler",
            "text": "<!--\n\nThis template is used for saving CSS tiddlers as a style tag with data attributes representing the tiddler fields.\n\n-->`<style`<$fields template=' data-tiddler-$name$=\"$encoded_value$\"'></$fields>` type=\"text/css\">`<$view field=\"text\" format=\"text\" />`</style>`"
        },
        "$:/core/templates/exporters/CsvFile": {
            "title": "$:/core/templates/exporters/CsvFile",
            "tags": "$:/tags/Exporter",
            "description": "{{$:/language/Exporters/CsvFile}}",
            "extension": ".csv",
            "text": "\\define renderContent()\n<$text text=<<csvtiddlers filter:\"\"\"$(exportFilter)$\"\"\" format:\"quoted-comma-sep\">>/>\n\\end\n<<renderContent>>\n"
        },
        "$:/core/templates/exporters/JsonFile": {
            "title": "$:/core/templates/exporters/JsonFile",
            "tags": "$:/tags/Exporter",
            "description": "{{$:/language/Exporters/JsonFile}}",
            "extension": ".json",
            "text": "\\define renderContent()\n<$text text=<<jsontiddlers filter:\"\"\"$(exportFilter)$\"\"\">>/>\n\\end\n<<renderContent>>\n"
        },
        "$:/core/templates/exporters/StaticRiver": {
            "title": "$:/core/templates/exporters/StaticRiver",
            "tags": "$:/tags/Exporter",
            "description": "{{$:/language/Exporters/StaticRiver}}",
            "extension": ".html",
            "text": "\\define tv-wikilink-template() #$uri_encoded$\n\\define tv-config-toolbar-icons() no\n\\define tv-config-toolbar-text() no\n\\define tv-config-toolbar-class() tc-btn-invisible\n\\rules only filteredtranscludeinline transcludeinline\n<!doctype html>\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"{{$:/core/templates/version}}\" />\n<meta name=\"format-detection\" content=\"telephone=no\">\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<title>{{$:/core/wiki/title}}</title>\n<div id=\"styleArea\">\n{{$:/boot/boot.css||$:/core/templates/css-tiddler}}\n</div>\n<style type=\"text/css\">\n{{$:/core/ui/PageStylesheet||$:/core/templates/wikified-tiddler}}\n</style>\n</head>\n<body class=\"tc-body\">\n{{$:/StaticBanner||$:/core/templates/html-tiddler}}\n<section class=\"tc-story-river\">\n{{$:/core/templates/exporters/StaticRiver/Content||$:/core/templates/html-tiddler}}\n</section>\n</body>\n</html>\n"
        },
        "$:/core/templates/exporters/StaticRiver/Content": {
            "title": "$:/core/templates/exporters/StaticRiver/Content",
            "text": "\\define renderContent()\n{{{ $(exportFilter)$ ||$:/core/templates/static-tiddler}}}\n\\end\n\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n<<renderContent>>\n"
        },
        "$:/core/templates/exporters/TidFile": {
            "title": "$:/core/templates/exporters/TidFile",
            "tags": "$:/tags/Exporter",
            "description": "{{$:/language/Exporters/TidFile}}",
            "extension": ".tid",
            "text": "\\define renderContent()\n{{{ $(exportFilter)$ +[limit[1]] ||$:/core/templates/tid-tiddler}}}\n\\end\n\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n<<renderContent>>"
        },
        "$:/core/save/all-external-js": {
            "title": "$:/core/save/all-external-js",
            "text": "\\define saveTiddlerFilter()\n[is[tiddler]] -[prefix[$:/state/popup/]] -[[$:/HistoryList]] -[[$:/core]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]] $(publishFilter)$\n\\end\n{{$:/core/templates/tiddlywiki5-external-js.html}}\n"
        },
        "$:/core/templates/tiddlywiki5.js": {
            "title": "$:/core/templates/tiddlywiki5.js",
            "text": "\\rules only filteredtranscludeinline transcludeinline codeinline\n\n/*\n{{ $:/core/copyright.txt ||$:/core/templates/plain-text-tiddler}}\n`*/\n`<!--~~ Library modules ~~-->\n{{{ [is[system]type[application/javascript]library[yes]] ||$:/core/templates/plain-text-tiddler}}}\n<!--~~ Boot prefix ~~-->\n{{ $:/boot/bootprefix.js ||$:/core/templates/plain-text-tiddler}}\n<!--~~ Core plugin ~~-->\n{{$:/core/templates/tiddlywiki5.js/tiddlers}}\n<!--~~ Boot kernel ~~-->\n{{ $:/boot/boot.js ||$:/core/templates/plain-text-tiddler}}\n"
        },
        "$:/core/templates/tiddlywiki5.js/tiddlers": {
            "title": "$:/core/templates/tiddlywiki5.js/tiddlers",
            "text": "`\n$tw.preloadTiddlerArray(`<$text text=<<jsontiddlers \"[[$:/core]]\">>/>`);\n$tw.preloadTiddlerArray([{\n\ttitle: \"$:/config/SaveWikiButton/Template\",\n\ttext: \"$:/core/save/all-external-js\"\n}]);\n`\n"
        },
        "$:/core/templates/tiddlywiki5-external-js.html": {
            "title": "$:/core/templates/tiddlywiki5-external-js.html",
            "text": "\\rules only filteredtranscludeinline transcludeinline\n<!doctype html>\n{{$:/core/templates/MOTW.html}}<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<!--~~ Raw markup for the top of the head section ~~-->\n{{{ [all[shadows+tiddlers]tag[$:/tags/RawMarkupWikified/TopHead]] ||$:/core/templates/raw-static-tiddler}}}\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=Edge\"/>\n<meta name=\"application-name\" content=\"TiddlyWiki\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"{{$:/core/templates/version}}\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"mobile-web-app-capable\" content=\"yes\"/>\n<meta name=\"format-detection\" content=\"telephone=no\" />\n<meta name=\"copyright\" content=\"{{$:/core/copyright.txt}}\" />\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<title>{{$:/core/wiki/title}}</title>\n<!--~~ This is a Tiddlywiki file. The points of interest in the file are marked with this pattern ~~-->\n\n<!--~~ Raw markup ~~-->\n{{{ [all[shadows+tiddlers]tag[$:/core/wiki/rawmarkup]] [all[shadows+tiddlers]tag[$:/tags/RawMarkup]] ||$:/core/templates/plain-text-tiddler}}}\n{{{ [all[shadows+tiddlers]tag[$:/tags/RawMarkupWikified]] ||$:/core/templates/raw-static-tiddler}}}\n</head>\n<body class=\"tc-body\">\n<!--~~ Raw markup for the top of the body section ~~-->\n{{{ [all[shadows+tiddlers]tag[$:/tags/RawMarkupWikified/TopBody]] ||$:/core/templates/raw-static-tiddler}}}\n<!--~~ Static styles ~~-->\n<div id=\"styleArea\">\n{{$:/boot/boot.css||$:/core/templates/css-tiddler}}\n</div>\n<!--~~ Static content for Google and browsers without JavaScript ~~-->\n<noscript>\n<div id=\"splashArea\">\n{{$:/core/templates/static.area}}\n</div>\n</noscript>\n<!--~~ Ordinary tiddlers ~~-->\n{{$:/core/templates/store.area.template.html}}\n<!--~~ Raw markup for the bottom of the body section ~~-->\n{{{ [all[shadows+tiddlers]tag[$:/tags/RawMarkupWikified/BottomBody]] ||$:/core/templates/raw-static-tiddler}}}\n</body>\n<script src=\"%24%3A%2Fcore%2Ftemplates%2Ftiddlywiki5.js\" onerror=\"alert('Error: Cannot load tiddlywiki.js');\"></script>\n</html>\n"
        },
        "$:/core/templates/html-div-tiddler": {
            "title": "$:/core/templates/html-div-tiddler",
            "text": "<!--\n\nThis template is used for saving tiddlers as an HTML DIV tag with attributes representing the tiddler fields.\n\n-->`<div`<$fields template=' $name$=\"$encoded_value$\"'></$fields>`>\n<pre>`<$view field=\"text\" format=\"htmlencoded\" />`</pre>\n</div>`\n"
        },
        "$:/core/templates/html-tiddler": {
            "title": "$:/core/templates/html-tiddler",
            "text": "<!--\n\nThis template is used for saving tiddlers as raw HTML\n\n--><$view field=\"text\" format=\"htmlwikified\" />"
        },
        "$:/core/templates/javascript-tiddler": {
            "title": "$:/core/templates/javascript-tiddler",
            "text": "<!--\n\nThis template is used for saving JavaScript tiddlers as a script tag with data attributes representing the tiddler fields.\n\n-->`<script`<$fields template=' data-tiddler-$name$=\"$encoded_value$\"'></$fields>` type=\"text/javascript\">`<$view field=\"text\" format=\"text\" />`</script>`"
        },
        "$:/core/templates/json-tiddler": {
            "title": "$:/core/templates/json-tiddler",
            "text": "<!--\n\nThis template is used for saving tiddlers as raw JSON\n\n--><$text text=<<jsontiddler>>/>"
        },
        "$:/core/templates/module-tiddler": {
            "title": "$:/core/templates/module-tiddler",
            "text": "<!--\n\nThis template is used for saving JavaScript tiddlers as a script tag with data attributes representing the tiddler fields. The body of the tiddler is wrapped in a call to the `$tw.modules.define` function in order to define the body of the tiddler as a module\n\n-->`<script`<$fields template=' data-tiddler-$name$=\"$encoded_value$\"'></$fields>` type=\"text/javascript\" data-module=\"yes\">$tw.modules.define(\"`<$view field=\"title\" format=\"jsencoded\" />`\",\"`<$view field=\"module-type\" format=\"jsencoded\" />`\",function(module,exports,require) {`<$view field=\"text\" format=\"text\" />`});\n</script>`"
        },
        "$:/core/templates/plain-text-tiddler": {
            "title": "$:/core/templates/plain-text-tiddler",
            "text": "<$view field=\"text\" format=\"text\" />"
        },
        "$:/core/templates/raw-static-tiddler": {
            "title": "$:/core/templates/raw-static-tiddler",
            "text": "<!--\n\nThis template is used for saving tiddlers as static HTML\n\n--><$view field=\"text\" format=\"plainwikified\" />"
        },
        "$:/core/save/all": {
            "title": "$:/core/save/all",
            "text": "\\define saveTiddlerFilter()\n[is[tiddler]] -[prefix[$:/state/popup/]] -[[$:/HistoryList]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]] $(publishFilter)$\n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"
        },
        "$:/core/save/empty": {
            "title": "$:/core/save/empty",
            "text": "\\define saveTiddlerFilter()\n[is[system]] -[prefix[$:/state/popup/]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]]\n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"
        },
        "$:/core/save/lazy-all": {
            "title": "$:/core/save/lazy-all",
            "text": "\\define saveTiddlerFilter()\n[is[system]] -[prefix[$:/state/popup/]] -[[$:/HistoryList]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]] \n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"
        },
        "$:/core/save/lazy-images": {
            "title": "$:/core/save/lazy-images",
            "text": "\\define saveTiddlerFilter()\n[is[tiddler]] -[prefix[$:/state/popup/]] -[[$:/HistoryList]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] -[!is[system]is[image]] +[sort[title]] \n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"
        },
        "$:/core/templates/server/static.sidebar.wikitext": {
            "title": "$:/core/templates/server/static.sidebar.wikitext",
            "text": "\\whitespace trim\n<div class=\"tc-sidebar-scrollable\" style=\"overflow: auto;\">\n<div class=\"tc-sidebar-header\">\n<h1 class=\"tc-site-title\">\n<$transclude tiddler=\"$:/SiteTitle\"/>\n</h1>\n<div class=\"tc-site-subtitle\">\n<$transclude tiddler=\"$:/SiteSubtitle\"/>\n</div>\n<h2>\n</h2>\n<div class=\"tc-sidebar-lists\">\n<$list filter={{$:/DefaultTiddlers}}>\n<div class=\"tc-menu-list-subitem\">\n<$link><$text text=<<currentTiddler>>/></$link>\n</div>\n</$list>\n</div>\n<!-- Currently disabled the recent list as it is unweildy when the responsive narrow view kicks in\n<h2>\n{{$:/language/SideBar/Recent/Caption}}\n</h2>\n<div class=\"tc-sidebar-lists\">\n<$macrocall $name=\"timeline\" format={{$:/language/RecentChanges/DateFormat}}/>\n</div>\n</div>\n</div>\n-->\n"
        },
        "$:/core/templates/server/static.tiddler.html": {
            "title": "$:/core/templates/server/static.tiddler.html",
            "text": "\\whitespace trim\n\\define tv-wikilink-template() $uri_encoded$\n\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content={{$:/core/templates/version}} />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"mobile-web-app-capable\" content=\"yes\"/>\n<meta name=\"format-detection\" content=\"telephone=no\">\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<link rel=\"stylesheet\" href=\"%24%3A%2Fcore%2Ftemplates%2Fstatic.template.css\">\n<title><$view field=\"caption\" format=\"plainwikified\"><$view field=\"title\"/></$view>: <$view tiddler=\"$:/core/wiki/title\" format=\"plainwikified\"/></title>\n</head>\n<body class=\"tc-body\">\n<$transclude tiddler=\"$:/core/templates/server/static.sidebar.wikitext\" mode=\"inline\"/>\n<section class=\"tc-story-river\">\n<div class=\"tc-tiddler-frame\">\n<$transclude tiddler=\"$:/core/templates/server/static.tiddler.wikitext\" mode=\"inline\"/>\n</div>\n</section>\n</body>\n</html>"
        },
        "$:/core/templates/server/static.tiddler.wikitext": {
            "title": "$:/core/templates/server/static.tiddler.wikitext",
            "text": "\\whitespace trim\n<div class=\"tc-tiddler-title\">\n<div class=\"tc-titlebar\">\n<h2><$text text=<<currentTiddler>>/></h2>\n</div>\n</div>\n<div class=\"tc-subtitle\">\n<$link to={{!!modifier}}>\n<$view field=\"modifier\"/>\n</$link> <$view field=\"modified\" format=\"date\" template={{$:/language/Tiddler/DateFormat}}/>\n</div>\n<div class=\"tc-tags-wrapper\">\n<$list filter=\"[all[current]tags[]sort[title]]\">\n<a href={{{ [<currentTiddler>encodeuricomponent[]] }}}>\n<$macrocall $name=\"tag-pill\" tag=<<currentTiddler>>/>\n</a>\n</$list>\n</div>\n<div class=\"tc-tiddler-body\">\n<$transclude mode=\"block\"/>\n</div>\n"
        },
        "$:/core/templates/single.tiddler.window": {
            "title": "$:/core/templates/single.tiddler.window",
            "text": "<$set name=\"themeTitle\" value={{$:/view}}>\n\n<$set name=\"tempCurrentTiddler\" value=<<currentTiddler>>>\n\n<$set name=\"currentTiddler\" value={{$:/language}}>\n\n<$set name=\"languageTitle\" value={{!!name}}>\n\n<$set name=\"currentTiddler\" value=<<tempCurrentTiddler>>>\n\n<$importvariables filter=\"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\">\n\n<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\">\n\n<$transclude mode=\"block\"/>\n\n</$navigator>\n\n</$importvariables>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$set>\n\n"
        },
        "$:/core/templates/split-recipe": {
            "title": "$:/core/templates/split-recipe",
            "text": "<$list filter=\"[!is[system]]\">\ntiddler: <$view field=\"title\" format=\"urlencoded\"/>.tid\n</$list>\n"
        },
        "$:/core/templates/static-tiddler": {
            "title": "$:/core/templates/static-tiddler",
            "text": "<a name=<<currentTiddler>>>\n<$transclude tiddler=\"$:/core/ui/ViewTemplate\"/>\n</a>"
        },
        "$:/core/templates/static.area": {
            "title": "$:/core/templates/static.area",
            "text": "<$reveal type=\"nomatch\" state=\"$:/isEncrypted\" text=\"yes\">\n{{{ [all[shadows+tiddlers]tag[$:/tags/RawStaticContent]!has[draft.of]] ||$:/core/templates/raw-static-tiddler}}}\n{{$:/core/templates/static.content||$:/core/templates/html-tiddler}}\n</$reveal>\n<$reveal type=\"match\" state=\"$:/isEncrypted\" text=\"yes\">\nThis file contains an encrypted ~TiddlyWiki. Enable ~JavaScript and enter the decryption password when prompted.\n</$reveal>\n"
        },
        "$:/core/templates/static.content": {
            "title": "$:/core/templates/static.content",
            "text": "<!-- For Google, and people without JavaScript-->\nThis [[TiddlyWiki|https://tiddlywiki.com]] contains the following tiddlers:\n\n<ul>\n<$list filter=<<saveTiddlerFilter>>>\n<li><$view field=\"title\" format=\"text\"></$view></li>\n</$list>\n</ul>\n"
        },
        "$:/core/templates/static.template.css": {
            "title": "$:/core/templates/static.template.css",
            "text": "{{$:/boot/boot.css||$:/core/templates/plain-text-tiddler}}\n\n{{$:/core/ui/PageStylesheet||$:/core/templates/wikified-tiddler}}\n"
        },
        "$:/core/templates/static.template.html": {
            "title": "$:/core/templates/static.template.html",
            "type": "text/vnd.tiddlywiki-html",
            "text": "\\define tv-wikilink-template() static/$uri_doubleencoded$.html\n\\define tv-config-toolbar-icons() no\n\\define tv-config-toolbar-text() no\n\\define tv-config-toolbar-class() tc-btn-invisible\n\\rules only filteredtranscludeinline transcludeinline\n<!doctype html>\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"{{$:/core/templates/version}}\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"mobile-web-app-capable\" content=\"yes\"/>\n<meta name=\"format-detection\" content=\"telephone=no\">\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<title>{{$:/core/wiki/title}}</title>\n<div id=\"styleArea\">\n{{$:/boot/boot.css||$:/core/templates/css-tiddler}}\n</div>\n<style type=\"text/css\">\n{{$:/core/ui/PageStylesheet||$:/core/templates/wikified-tiddler}}\n</style>\n</head>\n<body class=\"tc-body\">\n{{$:/StaticBanner||$:/core/templates/html-tiddler}}\n{{$:/core/ui/PageTemplate||$:/core/templates/html-tiddler}}\n</body>\n</html>\n"
        },
        "$:/core/templates/static.tiddler.html": {
            "title": "$:/core/templates/static.tiddler.html",
            "text": "\\define tv-wikilink-template() $uri_doubleencoded$.html\n\\define tv-config-toolbar-icons() no\n\\define tv-config-toolbar-text() no\n\\define tv-config-toolbar-class() tc-btn-invisible\n\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n`<!doctype html>\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"`{{$:/core/templates/version}}`\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"mobile-web-app-capable\" content=\"yes\"/>\n<meta name=\"format-detection\" content=\"telephone=no\">\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<link rel=\"stylesheet\" href=\"static.css\">\n<title>`<$view field=\"caption\"><$view field=\"title\"/></$view>: {{$:/core/wiki/title}}`</title>\n</head>\n<body class=\"tc-body\">\n`{{$:/StaticBanner||$:/core/templates/html-tiddler}}`\n<section class=\"tc-story-river\">\n`<$view tiddler=\"$:/core/ui/ViewTemplate\" format=\"htmlwikified\"/>`\n</section>\n</body>\n</html>\n`"
        },
        "$:/core/templates/store.area.template.html": {
            "title": "$:/core/templates/store.area.template.html",
            "text": "<$reveal type=\"nomatch\" state=\"$:/isEncrypted\" text=\"yes\">\n`<div id=\"storeArea\" style=\"display:none;\">`\n<$list filter=<<saveTiddlerFilter>> template=\"$:/core/templates/html-div-tiddler\"/>\n`</div>`\n</$reveal>\n<$reveal type=\"match\" state=\"$:/isEncrypted\" text=\"yes\">\n`<!--~~ Encrypted tiddlers ~~-->`\n`<pre id=\"encryptedStoreArea\" type=\"text/plain\" style=\"display:none;\">`\n<$encrypt filter=<<saveTiddlerFilter>>/>\n`</pre>`\n</$reveal>"
        },
        "$:/core/templates/tid-tiddler": {
            "title": "$:/core/templates/tid-tiddler",
            "text": "<!--\n\nThis template is used for saving tiddlers in TiddlyWeb *.tid format\n\n--><$fields exclude='text bag' template='$name$: $value$\n'></$fields>`\n`<$view field=\"text\" format=\"text\" />"
        },
        "$:/core/templates/tiddler-metadata": {
            "title": "$:/core/templates/tiddler-metadata",
            "text": "<!--\n\nThis template is used for saving tiddler metadata *.meta files\n\n--><$fields exclude='text bag' template='$name$: $value$\n'></$fields>"
        },
        "$:/core/templates/tiddlywiki5.html": {
            "title": "$:/core/templates/tiddlywiki5.html",
            "text": "<$set name=\"saveTiddlerAndShadowsFilter\" filter=\"[subfilter<saveTiddlerFilter>] [subfilter<saveTiddlerFilter>plugintiddlers[]]\">\n`<!doctype html>\n`{{$:/core/templates/MOTW.html}}`<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<!--~~ Raw markup for the top of the head section ~~-->\n`{{{ [<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkupWikified/TopHead]] ||$:/core/templates/raw-static-tiddler}}}`\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=Edge\"/>\n<meta name=\"application-name\" content=\"TiddlyWiki\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"`{{$:/core/templates/version}}`\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"mobile-web-app-capable\" content=\"yes\"/>\n<meta name=\"format-detection\" content=\"telephone=no\" />\n<meta name=\"copyright\" content=\"`{{$:/core/copyright.txt}}`\" />\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<title>`{{$:/core/wiki/title}}`</title>\n<!--~~ This is a Tiddlywiki file. The points of interest in the file are marked with this pattern ~~-->\n\n<!--~~ Raw markup ~~-->\n`{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/core/wiki/rawmarkup]] ||$:/core/templates/plain-text-tiddler}}}\n{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkup]] ||$:/core/templates/plain-text-tiddler}}}\n{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkupWikified]] ||$:/core/templates/raw-static-tiddler}}}`\n</head>\n<body class=\"tc-body\">\n<!--~~ Raw markup for the top of the body section ~~-->\n`{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkupWikified/TopBody]] ||$:/core/templates/raw-static-tiddler}}}`\n<!--~~ Static styles ~~-->\n<div id=\"styleArea\">\n`{{$:/boot/boot.css||$:/core/templates/css-tiddler}}`\n</div>\n<!--~~ Static content for Google and browsers without JavaScript ~~-->\n<noscript>\n<div id=\"splashArea\">\n`{{$:/core/templates/static.area}}`\n</div>\n</noscript>\n<!--~~ Ordinary tiddlers ~~-->\n`{{$:/core/templates/store.area.template.html}}`\n<!--~~ Library modules ~~-->\n<div id=\"libraryModules\" style=\"display:none;\">\n`{{{ [is[system]type[application/javascript]library[yes]] ||$:/core/templates/javascript-tiddler}}}`\n</div>\n<!--~~ Boot kernel prologue ~~-->\n<div id=\"bootKernelPrefix\" style=\"display:none;\">\n`{{ $:/boot/bootprefix.js ||$:/core/templates/javascript-tiddler}}`\n</div>\n<!--~~ Boot kernel ~~-->\n<div id=\"bootKernel\" style=\"display:none;\">\n`{{ $:/boot/boot.js ||$:/core/templates/javascript-tiddler}}`\n</div>\n<!--~~ Raw markup for the bottom of the body section ~~-->\n`{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkupWikified/BottomBody]] ||$:/core/templates/raw-static-tiddler}}}`\n</body>\n</html>`\n"
        },
        "$:/core/templates/version": {
            "title": "$:/core/templates/version",
            "text": "<<version>>"
        },
        "$:/core/templates/wikified-tiddler": {
            "title": "$:/core/templates/wikified-tiddler",
            "text": "<$transclude />"
        },
        "$:/core/ui/AboveStory/tw2-plugin-check": {
            "title": "$:/core/ui/AboveStory/tw2-plugin-check",
            "tags": "$:/tags/AboveStory",
            "text": "\\define lingo-base() $:/language/AboveStory/ClassicPlugin/\n<$list filter=\"[all[system+tiddlers]tag[systemConfig]limit[1]]\">\n\n<div class=\"tc-message-box\">\n\n<<lingo Warning>>\n\n<ul>\n\n<$list filter=\"[all[system+tiddlers]tag[systemConfig]]\">\n\n<li>\n\n<$link><$view field=\"title\"/></$link>\n\n</li>\n\n</$list>\n\n</ul>\n\n</div>\n\n</$list>\n"
        },
        "$:/core/ui/Actions/new-image": {
            "title": "$:/core/ui/Actions/new-image",
            "tags": "$:/tags/Actions",
            "description": "create a new image tiddler",
            "text": "\\define get-type()\nimage/$(imageType)$\n\\end\n<$vars imageType={{$:/config/NewImageType}}>\n<$action-sendmessage $message=\"tm-new-tiddler\" type=<<get-type>>/>\n</$vars>\n"
        },
        "$:/core/ui/Actions/new-journal": {
            "title": "$:/core/ui/Actions/new-journal",
            "tags": "$:/tags/Actions",
            "description": "create a new journal tiddler",
            "text": "<$vars journalTitleTemplate={{$:/config/NewJournal/Title}} journalTags={{$:/config/NewJournal/Tags}} journalText={{$:/config/NewJournal/Text}}>\n<$wikify name=\"journalTitle\" text=\"\"\"<$macrocall $name=\"now\" format=<<journalTitleTemplate>>/>\"\"\">\n<$reveal type=\"nomatch\" state=<<journalTitle>> text=\"\">\n<$action-sendmessage $message=\"tm-new-tiddler\" title=<<journalTitle>> tags=<<journalTags>> text={{{ [<journalTitle>get[]] }}}/>\n</$reveal>\n<$reveal type=\"match\" state=<<journalTitle>> text=\"\">\n<$action-sendmessage $message=\"tm-new-tiddler\" title=<<journalTitle>> tags=<<journalTags>> text=<<journalText>>/>\n</$reveal>\n</$wikify>\n</$vars>\n"
        },
        "$:/core/ui/Actions/new-tiddler": {
            "title": "$:/core/ui/Actions/new-tiddler",
            "tags": "$:/tags/Actions",
            "description": "create a new empty tiddler",
            "text": "<$action-sendmessage $message=\"tm-new-tiddler\"/>\n"
        },
        "$:/core/ui/AdvancedSearch/Filter": {
            "title": "$:/core/ui/AdvancedSearch/Filter",
            "tags": "$:/tags/AdvancedSearch",
            "caption": "{{$:/language/Search/Filter/Caption}}",
            "text": "\\define lingo-base() $:/language/Search/\n<<lingo Filter/Hint>>\n\n<div class=\"tc-search tc-advanced-search\">\n<$edit-text tiddler=\"$:/temp/advancedsearch\" type=\"search\" tag=\"input\" focus={{$:/config/Search/AutoFocus}}/>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/AdvancedSearch/FilterButton]!has[draft.of]]\"><$transclude/></$list>\n</div>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$set name=\"resultCount\" value=\"\"\"<$count filter={{$:/temp/advancedsearch}}/>\"\"\">\n<div class=\"tc-search-results\">\n<<lingo Filter/Matches>>\n<$list filter={{$:/temp/advancedsearch}} template=\"$:/core/ui/ListItemTemplate\"/>\n</div>\n</$set>\n</$reveal>\n"
        },
        "$:/core/ui/AdvancedSearch/Filter/FilterButtons/clear": {
            "title": "$:/core/ui/AdvancedSearch/Filter/FilterButtons/clear",
            "tags": "$:/tags/AdvancedSearch/FilterButton",
            "text": "<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" $field=\"text\" $value=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n"
        },
        "$:/core/ui/AdvancedSearch/Filter/FilterButtons/delete": {
            "title": "$:/core/ui/AdvancedSearch/Filter/FilterButtons/delete",
            "tags": "$:/tags/AdvancedSearch/FilterButton",
            "text": "<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button popup=<<qualify \"$:/state/filterDeleteDropdown\">> class=\"tc-btn-invisible\">\n{{$:/core/images/delete-button}}\n</$button>\n</$reveal>\n\n<$reveal state=<<qualify \"$:/state/filterDeleteDropdown\">> type=\"popup\" position=\"belowleft\" animate=\"yes\">\n<div class=\"tc-block-dropdown-wrapper\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<div class=\"tc-dropdown-item-plain\">\n<$set name=\"resultCount\" value=\"\"\"<$count filter={{$:/temp/advancedsearch}}/>\"\"\">\nAre you sure you wish to delete <<resultCount>> tiddler(s)?\n</$set>\n</div>\n<div class=\"tc-dropdown-item-plain\">\n<$button class=\"tc-btn\">\n<$action-deletetiddler $filter={{$:/temp/advancedsearch}}/>\nDelete these tiddlers\n</$button>\n</div>\n</div>\n</div>\n</$reveal>\n"
        },
        "$:/core/ui/AdvancedSearch/Filter/FilterButtons/dropdown": {
            "title": "$:/core/ui/AdvancedSearch/Filter/FilterButtons/dropdown",
            "tags": "$:/tags/AdvancedSearch/FilterButton",
            "text": "<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/filterDropdown\">> class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n</$button>\n</span>\n\n<$reveal state=<<qualify \"$:/state/filterDropdown\">> type=\"popup\" position=\"belowleft\" animate=\"yes\">\n<$set name=\"tv-show-missing-links\" value=\"yes\">\n<$linkcatcher to=\"$:/temp/advancedsearch\">\n<div class=\"tc-block-dropdown-wrapper\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Filter]]\"><$link to={{!!filter}}><$transclude field=\"description\"/></$link>\n</$list>\n</div>\n</div>\n</$linkcatcher>\n</$set>\n</$reveal>\n"
        },
        "$:/core/ui/AdvancedSearch/Filter/FilterButtons/export": {
            "title": "$:/core/ui/AdvancedSearch/Filter/FilterButtons/export",
            "tags": "$:/tags/AdvancedSearch/FilterButton",
            "text": "<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$macrocall $name=\"exportButton\" exportFilter={{$:/temp/advancedsearch}} lingoBase=\"$:/language/Buttons/ExportTiddlers/\"/>\n</$reveal>\n"
        },
        "$:/core/ui/AdvancedSearch/Shadows": {
            "title": "$:/core/ui/AdvancedSearch/Shadows",
            "tags": "$:/tags/AdvancedSearch",
            "caption": "{{$:/language/Search/Shadows/Caption}}",
            "text": "\\define lingo-base() $:/language/Search/\n<$linkcatcher to=\"$:/temp/advancedsearch\">\n\n<<lingo Shadows/Hint>>\n\n<div class=\"tc-search\">\n<$edit-text tiddler=\"$:/temp/advancedsearch\" type=\"search\" tag=\"input\" focus={{$:/config/Search/AutoFocus}}/>\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" $field=\"text\" $value=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</div>\n\n</$linkcatcher>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n\n<$list filter=\"[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n\n<$set name=\"resultCount\" value=\"\"\"<$count filter=\"[all[shadows]search{$:/temp/advancedsearch}] -[[$:/temp/advancedsearch]]\"/>\"\"\">\n\n<div class=\"tc-search-results\">\n\n<<lingo Shadows/Matches>>\n\n<$list filter=\"[all[shadows]search{$:/temp/advancedsearch}sort[title]limit[250]] -[[$:/temp/advancedsearch]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n\n</div>\n\n</$set>\n\n</$list>\n\n</$reveal>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"match\" text=\"\">\n\n</$reveal>\n"
        },
        "$:/core/ui/AdvancedSearch/Standard": {
            "title": "$:/core/ui/AdvancedSearch/Standard",
            "tags": "$:/tags/AdvancedSearch",
            "caption": "{{$:/language/Search/Standard/Caption}}",
            "text": "\\define lingo-base() $:/language/Search/\n<$linkcatcher to=\"$:/temp/advancedsearch\">\n\n<<lingo Standard/Hint>>\n\n<div class=\"tc-search\">\n<$edit-text tiddler=\"$:/temp/advancedsearch\" type=\"search\" tag=\"input\" focus={{$:/config/Search/AutoFocus}}/>\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" $field=\"text\" $value=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</div>\n\n</$linkcatcher>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$list filter=\"[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n<$set name=\"searchTiddler\" value=\"$:/temp/advancedsearch\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]butfirst[]limit[1]]\" emptyMessage=\"\"\"\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\">\n<$transclude/>\n</$list>\n\"\"\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\" default={{$:/config/SearchResults/Default}}/>\n</$list>\n</$set>\n</$list>\n</$reveal>\n"
        },
        "$:/core/ui/AdvancedSearch/System": {
            "title": "$:/core/ui/AdvancedSearch/System",
            "tags": "$:/tags/AdvancedSearch",
            "caption": "{{$:/language/Search/System/Caption}}",
            "text": "\\define lingo-base() $:/language/Search/\n<$linkcatcher to=\"$:/temp/advancedsearch\">\n\n<<lingo System/Hint>>\n\n<div class=\"tc-search\">\n<$edit-text tiddler=\"$:/temp/advancedsearch\" type=\"search\" tag=\"input\" focus={{$:/config/Search/AutoFocus}}/>\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" $field=\"text\" $value=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</div>\n\n</$linkcatcher>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n\n<$list filter=\"[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n\n<$set name=\"resultCount\" value=\"\"\"<$count filter=\"[is[system]search{$:/temp/advancedsearch}] -[[$:/temp/advancedsearch]]\"/>\"\"\">\n\n<div class=\"tc-search-results\">\n\n<<lingo System/Matches>>\n\n<$list filter=\"[is[system]search{$:/temp/advancedsearch}sort[title]limit[250]] -[[$:/temp/advancedsearch]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n\n</div>\n\n</$set>\n\n</$list>\n\n</$reveal>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"match\" text=\"\">\n\n</$reveal>\n"
        },
        "$:/AdvancedSearch": {
            "title": "$:/AdvancedSearch",
            "icon": "$:/core/images/advanced-search-button",
            "color": "#bbb",
            "text": "<div class=\"tc-advanced-search\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/AdvancedSearch]!has[draft.of]]\" \"$:/core/ui/AdvancedSearch/System\">>\n</div>\n"
        },
        "$:/core/ui/AlertTemplate": {
            "title": "$:/core/ui/AlertTemplate",
            "text": "<div class=\"tc-alert\">\n<div class=\"tc-alert-toolbar\">\n<$button class=\"tc-btn-invisible\"><$action-deletetiddler $tiddler=<<currentTiddler>>/>{{$:/core/images/delete-button}}</$button>\n</div>\n<div class=\"tc-alert-subtitle\">\n<$view field=\"component\"/> - <$view field=\"modified\" format=\"date\" template=\"0hh:0mm:0ss DD MM YYYY\"/> <$reveal type=\"nomatch\" state=\"!!count\" text=\"\"><span class=\"tc-alert-highlight\">({{$:/language/Count}}: <$view field=\"count\"/>)</span></$reveal>\n</div>\n<div class=\"tc-alert-body\">\n\n<$transclude/>\n\n</div>\n</div>\n"
        },
        "$:/core/ui/BinaryWarning": {
            "title": "$:/core/ui/BinaryWarning",
            "text": "\\define lingo-base() $:/language/BinaryWarning/\n<div class=\"tc-binary-warning\">\n\n<<lingo Prompt>>\n\n</div>\n"
        },
        "$:/core/ui/Components/plugin-info": {
            "title": "$:/core/ui/Components/plugin-info",
            "text": "\\define lingo-base() $:/language/ControlPanel/Plugins/\n\n\\define popup-state-macro()\n$(qualified-state)$-$(currentTiddler)$\n\\end\n\n\\define tabs-state-macro()\n$(popup-state)$-$(pluginInfoType)$\n\\end\n\n\\define plugin-icon-title()\n$(currentTiddler)$/icon\n\\end\n\n\\define plugin-disable-title()\n$:/config/Plugins/Disabled/$(currentTiddler)$\n\\end\n\n\\define plugin-table-body(type,disabledMessage,default-popup-state)\n<div class=\"tc-plugin-info-chunk tc-small-icon\">\n<$reveal type=\"nomatch\" state=<<popup-state>> text=\"yes\" default=\"\"\"$default-popup-state$\"\"\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<popup-state>> setTo=\"yes\">\n{{$:/core/images/right-arrow}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<popup-state>> text=\"yes\" default=\"\"\"$default-popup-state$\"\"\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<popup-state>> setTo=\"no\">\n{{$:/core/images/down-arrow}}\n</$button>\n</$reveal>\n</div>\n<div class=\"tc-plugin-info-chunk\">\n<$transclude tiddler=<<currentTiddler>> subtiddler=<<plugin-icon-title>>>\n<$transclude tiddler=\"$:/core/images/plugin-generic-$type$\"/>\n</$transclude>\n</div>\n<div class=\"tc-plugin-info-chunk\">\n<h1>\n''<$view field=\"description\"><$view field=\"title\"/></$view>'' $disabledMessage$\n</h1>\n<h2>\n<$view field=\"title\"/>\n</h2>\n<h2>\n<div><em><$view field=\"version\"/></em></div>\n</h2>\n</div>\n\\end\n\n\\define plugin-info(type,default-popup-state)\n<$set name=\"popup-state\" value=<<popup-state-macro>>>\n<$reveal type=\"nomatch\" state=<<plugin-disable-title>> text=\"yes\">\n<$link to={{!!title}} class=\"tc-plugin-info\">\n<<plugin-table-body type:\"$type$\" default-popup-state:\"\"\"$default-popup-state$\"\"\">>\n</$link>\n</$reveal>\n<$reveal type=\"match\" state=<<plugin-disable-title>> text=\"yes\">\n<$link to={{!!title}} class=\"tc-plugin-info tc-plugin-info-disabled\">\n<<plugin-table-body type:\"$type$\" default-popup-state:\"\"\"$default-popup-state$\"\"\" disabledMessage:\"<$macrocall $name='lingo' title='Disabled/Status'/>\">>\n</$link>\n</$reveal>\n<$reveal type=\"match\" text=\"yes\" state=<<popup-state>> default=\"\"\"$default-popup-state$\"\"\">\n<div class=\"tc-plugin-info-dropdown\">\n<div class=\"tc-plugin-info-dropdown-body\">\n<$list filter=\"[all[current]] -[[$:/core]]\">\n<div style=\"float:right;\">\n<$reveal type=\"nomatch\" state=<<plugin-disable-title>> text=\"yes\">\n<$button set=<<plugin-disable-title>> setTo=\"yes\" tooltip={{$:/language/ControlPanel/Plugins/Disable/Hint}} aria-label={{$:/language/ControlPanel/Plugins/Disable/Caption}}>\n<<lingo Disable/Caption>>\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<plugin-disable-title>> text=\"yes\">\n<$button set=<<plugin-disable-title>> setTo=\"no\" tooltip={{$:/language/ControlPanel/Plugins/Enable/Hint}} aria-label={{$:/language/ControlPanel/Plugins/Enable/Caption}}>\n<<lingo Enable/Caption>>\n</$button>\n</$reveal>\n</div>\n</$list>\n<$set name=\"tabsList\" filter=\"[<currentTiddler>list[]] contents\">\n<$macrocall $name=\"tabs\" state=<<tabs-state-macro>> tabsList=<<tabsList>> default={{{ [enlist<tabsList>] }}} template=\"$:/core/ui/PluginInfo\"/>\n</$set>\n</div>\n</div>\n</$reveal>\n</$set>\n\\end\n\n<$macrocall $name=\"plugin-info\" type=<<plugin-type>> default-popup-state=<<default-popup-state>>/>\n"
        },
        "$:/core/ui/Components/tag-link": {
            "title": "$:/core/ui/Components/tag-link",
            "text": "<$link>\n<$set name=\"backgroundColor\" value={{!!color}}>\n<span style=<<tag-styles>> class=\"tc-tag-label\">\n<$view field=\"title\" format=\"text\"/>\n</span>\n</$set>\n</$link>"
        },
        "$:/core/ui/ControlPanel/Advanced": {
            "title": "$:/core/ui/ControlPanel/Advanced",
            "tags": "$:/tags/ControlPanel/Info",
            "caption": "{{$:/language/ControlPanel/Advanced/Caption}}",
            "text": "{{$:/language/ControlPanel/Advanced/Hint}}\n\n<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Advanced]!has[draft.of]]\" \"$:/core/ui/ControlPanel/TiddlerFields\">>\n</div>\n"
        },
        "$:/core/ui/ControlPanel/Appearance": {
            "title": "$:/core/ui/ControlPanel/Appearance",
            "tags": "$:/tags/ControlPanel",
            "caption": "{{$:/language/ControlPanel/Appearance/Caption}}",
            "text": "{{$:/language/ControlPanel/Appearance/Hint}}\n\n<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Appearance]!has[draft.of]]\" \"$:/core/ui/ControlPanel/Theme\">>\n</div>\n"
        },
        "$:/core/ui/ControlPanel/Basics": {
            "title": "$:/core/ui/ControlPanel/Basics",
            "tags": "$:/tags/ControlPanel/Info",
            "caption": "{{$:/language/ControlPanel/Basics/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Basics/\n\n\\define show-filter-count(filter)\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" $value=\"\"\"$filter$\"\"\"/>\n<$action-setfield $tiddler=\"$:/state/tab--1498284803\" $value=\"$:/core/ui/AdvancedSearch/Filter\"/>\n<$action-navigate $to=\"$:/AdvancedSearch\"/>\n''<$count filter=\"\"\"$filter$\"\"\"/>''\n{{$:/core/images/advanced-search-button}}\n</$button>\n\\end\n\n|<<lingo Version/Prompt>> |''<<version>>'' |\n|<$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/status/UserName\"><<lingo Username/Prompt>></$link> |<$edit-text tiddler=\"$:/status/UserName\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/config/AnimationDuration\"><<lingo AnimDuration/Prompt>></$link> |<$edit-text tiddler=\"$:/config/AnimationDuration\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link> |<<lingo DefaultTiddlers/TopHint>><br> <$edit tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\" class=\"tc-edit-texteditor\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n|<$link to=\"$:/language/DefaultNewTiddlerTitle\"><<lingo NewTiddler/Title/Prompt>></$link> |<$edit-text tiddler=\"$:/language/DefaultNewTiddlerTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/config/NewJournal/Title\"><<lingo NewJournal/Title/Prompt>></$link> |<$edit-text tiddler=\"$:/config/NewJournal/Title\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/config/NewJournal/Text\"><<lingo NewJournal/Text/Prompt>></$link> |<$edit tiddler=\"$:/config/NewJournal/Text\" tag=\"textarea\" class=\"tc-edit-texteditor\" default=\"\"/> |\n|<$link to=\"$:/config/NewJournal/Tags\"><<lingo NewJournal/Tags/Prompt>></$link> |<$edit-text tiddler=\"$:/config/NewJournal/Tags\" default=\"\" tag=\"input\"/> |\n|<<lingo Language/Prompt>> |{{$:/snippets/minilanguageswitcher}} |\n|<<lingo Tiddlers/Prompt>> |<<show-filter-count \"[!is[system]sort[title]]\">> |\n|<<lingo Tags/Prompt>> |<<show-filter-count \"[tags[]sort[title]]\">> |\n|<<lingo SystemTiddlers/Prompt>> |<<show-filter-count \"[is[system]sort[title]]\">> |\n|<<lingo ShadowTiddlers/Prompt>> |<<show-filter-count \"[all[shadows]sort[title]]\">> |\n|<<lingo OverriddenShadowTiddlers/Prompt>> |<<show-filter-count \"[is[tiddler]is[shadow]sort[title]]\">> |\n"
        },
        "$:/core/ui/ControlPanel/EditorTypes": {
            "title": "$:/core/ui/ControlPanel/EditorTypes",
            "tags": "$:/tags/ControlPanel/Advanced",
            "caption": "{{$:/language/ControlPanel/EditorTypes/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/EditorTypes/\n\n<<lingo Hint>>\n\n<table>\n<tbody>\n<tr>\n<th><<lingo Type/Caption>></th>\n<th><<lingo Editor/Caption>></th>\n</tr>\n<$list filter=\"[all[shadows+tiddlers]prefix[$:/config/EditorTypeMappings/]sort[title]]\">\n<tr>\n<td>\n<$link>\n<$list filter=\"[all[current]removeprefix[$:/config/EditorTypeMappings/]]\">\n<$text text={{!!title}}/>\n</$list>\n</$link>\n</td>\n<td>\n<$view field=\"text\"/>\n</td>\n</tr>\n</$list>\n</tbody>\n</table>\n"
        },
        "$:/core/ui/ControlPanel/Info": {
            "title": "$:/core/ui/ControlPanel/Info",
            "tags": "$:/tags/ControlPanel",
            "caption": "{{$:/language/ControlPanel/Info/Caption}}",
            "text": "{{$:/language/ControlPanel/Info/Hint}}\n\n<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Info]!has[draft.of]]\" \"$:/core/ui/ControlPanel/Basics\">>\n</div>\n"
        },
        "$:/core/ui/ControlPanel/KeyboardShortcuts": {
            "title": "$:/core/ui/ControlPanel/KeyboardShortcuts",
            "tags": "$:/tags/ControlPanel",
            "caption": "{{$:/language/ControlPanel/KeyboardShortcuts/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/KeyboardShortcuts/\n\n\\define new-shortcut(title)\n<div class=\"tc-dropdown-item-plain\">\n<$edit-shortcut tiddler=\"$title$\" placeholder={{$:/language/ControlPanel/KeyboardShortcuts/Add/Prompt}} focus=\"true\" style=\"width:auto;\"/> <$button>\n<<lingo Add/Caption>>\n<$action-listops\n\t$tiddler=\"$(shortcutTitle)$\"\n\t$field=\"text\"\n\t$subfilter=\"[{$title$}]\"\n/>\n<$action-deletetiddler\n\t$tiddler=\"$title$\"\n/>\n</$button>\n</div>\n\\end\n\n\\define shortcut-list-item(caption)\n<td>\n</td>\n<td style=\"text-align:right;font-size:0.7em;\">\n<<lingo Platform/$caption$>>\n</td>\n<td>\n<div style=\"position:relative;\">\n<$button popup=<<qualify \"$:/state/dropdown/$(shortcutTitle)$\">> class=\"tc-btn-invisible\">\n{{$:/core/images/edit-button}}\n</$button>\n<$macrocall $name=\"displayshortcuts\" $output=\"text/html\" shortcuts={{$(shortcutTitle)$}} prefix=\"<kbd>\" separator=\"</kbd> <kbd>\" suffix=\"</kbd>\"/>\n\n<$reveal state=<<qualify \"$:/state/dropdown/$(shortcutTitle)$\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-block-dropdown-wrapper\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown tc-popup-keep\">\n<$list filter=\"[list[$(shortcutTitle)$!!text]sort[title]]\" variable=\"shortcut\" emptyMessage=\"\"\"\n<div class=\"tc-dropdown-item-plain\">\n//<<lingo NoShortcuts/Caption>>//\n</div>\n\"\"\">\n<div class=\"tc-dropdown-item-plain\">\n<$button class=\"tc-btn-invisible\" tooltip=<<lingo Remove/Hint>>>\n<$action-listops\n\t$tiddler=\"$(shortcutTitle)$\"\n\t$field=\"text\"\n\t$subfilter=\"+[remove<shortcut>]\"\n/>\n&times;\n</$button>\n<kbd>\n<$macrocall $name=\"displayshortcuts\" $output=\"text/html\" shortcuts=<<shortcut>>/>\n</kbd>\n</div>\n</$list>\n<hr/>\n<$macrocall $name=\"new-shortcut\" title=<<qualify \"$:/state/new-shortcut/$(shortcutTitle)$\">>/>\n</div>\n</div>\n</$reveal>\n</div>\n</td>\n\\end\n\n\\define shortcut-list(caption,prefix)\n<tr>\n<$list filter=\"[[$prefix$$(shortcutName)$]]\" variable=\"shortcutTitle\">\n<<shortcut-list-item \"$caption$\">>\n</$list>\n</tr>\n\\end\n\n\\define shortcut-editor()\n<<shortcut-list \"All\" \"$:/config/shortcuts/\">>\n<<shortcut-list \"Mac\" \"$:/config/shortcuts-mac/\">>\n<<shortcut-list \"NonMac\" \"$:/config/shortcuts-not-mac/\">>\n<<shortcut-list \"Linux\" \"$:/config/shortcuts-linux/\">>\n<<shortcut-list \"NonLinux\" \"$:/config/shortcuts-not-linux/\">>\n<<shortcut-list \"Windows\" \"$:/config/shortcuts-windows/\">>\n<<shortcut-list \"NonWindows\" \"$:/config/shortcuts-not-windows/\">>\n\\end\n\n\\define shortcut-preview()\n<$macrocall $name=\"displayshortcuts\" $output=\"text/html\" shortcuts={{$(shortcutPrefix)$$(shortcutName)$}} prefix=\"<kbd>\" separator=\"</kbd> <kbd>\" suffix=\"</kbd>\"/>\n\\end\n\n\\define shortcut-item-inner()\n<tr>\n<td>\n<$reveal type=\"nomatch\" state=<<dropdownStateTitle>> text=\"open\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield\n\t$tiddler=<<dropdownStateTitle>>\n\t$value=\"open\"\n/>\n{{$:/core/images/right-arrow}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<dropdownStateTitle>> text=\"open\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield\n\t$tiddler=<<dropdownStateTitle>>\n\t$value=\"close\"\n/>\n{{$:/core/images/down-arrow}}\n</$button>\n</$reveal>\n''<$text text=<<shortcutName>>/>''\n</td>\n<td>\n<$transclude tiddler=\"$:/config/ShortcutInfo/$(shortcutName)$\"/>\n</td>\n<td>\n<$list filter=\"$:/config/shortcuts/ $:/config/shortcuts-mac/ $:/config/shortcuts-not-mac/ $:/config/shortcuts-linux/ $:/config/shortcuts-not-linux/ $:/config/shortcuts-windows/ $:/config/shortcuts-not-windows/\" variable=\"shortcutPrefix\">\n<<shortcut-preview>>\n</$list>\n</td>\n</tr>\n<$set name=\"dropdownState\" value={{$(dropdownStateTitle)$}}>\n<$list filter=\"[<dropdownState>match[open]]\" variable=\"listItem\">\n<<shortcut-editor>>\n</$list>\n</$set>\n\\end\n\n\\define shortcut-item()\n<$set name=\"dropdownStateTitle\" value=<<qualify \"$:/state/dropdown/keyboardshortcut/$(shortcutName)$\">>>\n<<shortcut-item-inner>>\n</$set>\n\\end\n\n<table>\n<tbody>\n<$list filter=\"[all[shadows+tiddlers]removeprefix[$:/config/ShortcutInfo/]]\" variable=\"shortcutName\">\n<<shortcut-item>>\n</$list>\n</tbody>\n</table>\n"
        },
        "$:/core/ui/ControlPanel/LoadedModules": {
            "title": "$:/core/ui/ControlPanel/LoadedModules",
            "tags": "$:/tags/ControlPanel/Advanced",
            "caption": "{{$:/language/ControlPanel/LoadedModules/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/\n<<lingo LoadedModules/Hint>>\n\n{{$:/snippets/modules}}\n"
        },
        "$:/core/ui/ControlPanel/Modals/AddPlugins": {
            "title": "$:/core/ui/ControlPanel/Modals/AddPlugins",
            "subtitle": "{{$:/core/images/download-button}} {{$:/language/ControlPanel/Plugins/Add/Caption}}",
            "text": "\\define install-plugin-button()\n<$button>\n<$action-sendmessage $message=\"tm-load-plugin-from-library\" url={{!!url}} title={{$(assetInfo)$!!original-title}}/>\n<$list filter=\"[<assetInfo>get[original-title]get[version]]\" variable=\"installedVersion\" emptyMessage=\"\"\"{{$:/language/ControlPanel/Plugins/Install/Caption}}\"\"\">\n{{$:/language/ControlPanel/Plugins/Reinstall/Caption}}\n</$list>\n</$button>\n\\end\n\n\\define popup-state-macro()\n$:/state/add-plugin-info/$(connectionTiddler)$/$(assetInfo)$\n\\end\n\n\\define display-plugin-info(type)\n<$set name=\"popup-state\" value=<<popup-state-macro>>>\n<div class=\"tc-plugin-info\">\n<div class=\"tc-plugin-info-chunk tc-small-icon\">\n<$reveal type=\"nomatch\" state=<<popup-state>> text=\"yes\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<popup-state>> setTo=\"yes\">\n{{$:/core/images/right-arrow}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<popup-state>> text=\"yes\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<popup-state>> setTo=\"no\">\n{{$:/core/images/down-arrow}}\n</$button>\n</$reveal>\n</div>\n<div class=\"tc-plugin-info-chunk\">\n<$list filter=\"[<assetInfo>has[icon]]\" emptyMessage=\"\"\"<$transclude tiddler=\"$:/core/images/plugin-generic-$type$\"/>\"\"\">\n<img src={{$(assetInfo)$!!icon}}/>\n</$list>\n</div>\n<div class=\"tc-plugin-info-chunk\">\n<h1><$view tiddler=<<assetInfo>> field=\"description\"/></h1>\n<h2><$view tiddler=<<assetInfo>> field=\"original-title\"/></h2>\n<div><em><$view tiddler=<<assetInfo>> field=\"version\"/></em></div>\n</div>\n<div class=\"tc-plugin-info-chunk\">\n<<install-plugin-button>>\n</div>\n</div>\n<$reveal type=\"match\" text=\"yes\" state=<<popup-state>>>\n<div class=\"tc-plugin-info-dropdown\">\n<div class=\"tc-plugin-info-dropdown-message\">\n<$list filter=\"[<assetInfo>get[original-title]get[version]]\" variable=\"installedVersion\" emptyMessage=\"\"\"{{$:/language/ControlPanel/Plugins/NotInstalled/Hint}}\"\"\">\n<em>\n{{$:/language/ControlPanel/Plugins/AlreadyInstalled/Hint}}\n</em>\n</$list>\n</div>\n<div class=\"tc-plugin-info-dropdown-body\">\n<$transclude tiddler=<<assetInfo>> field=\"readme\" mode=\"block\"/>\n</div>\n</div>\n</$reveal>\n</$set>\n\\end\n\n\\define load-plugin-library-button()\n<$button class=\"tc-btn-big-green\">\n<$action-sendmessage $message=\"tm-load-plugin-library\" url={{!!url}} infoTitlePrefix=\"$:/temp/RemoteAssetInfo/\"/>\n{{$:/core/images/chevron-right}} {{$:/language/ControlPanel/Plugins/OpenPluginLibrary}}\n</$button>\n\\end\n\n\\define display-server-assets(type)\n{{$:/language/Search/Search}}: <$edit-text tiddler=\"\"\"$:/temp/RemoteAssetSearch/$(currentTiddler)$\"\"\" default=\"\" type=\"search\" tag=\"input\"/>\n<$reveal state=\"\"\"$:/temp/RemoteAssetSearch/$(currentTiddler)$\"\"\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"\"\"$:/temp/RemoteAssetSearch/$(currentTiddler)$\"\"\" $field=\"text\" $value=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n<div class=\"tc-plugin-library-listing\">\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]search:author,description,original-title,readme,title{$:/temp/RemoteAssetSearch/$(currentTiddler)$}sort[description]]\" variable=\"assetInfo\">\n<<display-plugin-info \"$type$\">>\n</$list>\n</div>\n\\end\n\n\\define display-server-connection()\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/ServerConnection]suffix{!!url}]\" variable=\"connectionTiddler\" emptyMessage=<<load-plugin-library-button>>>\n\n<<tabs \"[[$:/core/ui/ControlPanel/Plugins/Add/Plugins]] [[$:/core/ui/ControlPanel/Plugins/Add/Themes]] [[$:/core/ui/ControlPanel/Plugins/Add/Languages]]\" \"$:/core/ui/ControlPanel/Plugins/Add/Plugins\">>\n\n</$list>\n\\end\n\n\\define close-library-button()\n<$reveal type='nomatch' state='$:/temp/ServerConnection/$(PluginLibraryURL)$' text=''>\n<$button class='tc-btn-big-green'>\n<$action-sendmessage $message=\"tm-unload-plugin-library\" url={{!!url}}/>\n{{$:/core/images/chevron-left}} {{$:/language/ControlPanel/Plugins/ClosePluginLibrary}}\n<$action-deletetiddler $filter=\"[prefix[$:/temp/ServerConnection/$(PluginLibraryURL)$]][prefix[$:/temp/RemoteAssetInfo/$(PluginLibraryURL)$]]\"/>\n</$button>\n</$reveal>\n\\end\n\n\\define plugin-library-listing()\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/PluginLibrary]]\">\n<div class=\"tc-plugin-library\">\n\n!! <$link><$transclude field=\"caption\"><$view field=\"title\"/></$transclude></$link>\n\n//<$view field=\"url\"/>//\n\n<$transclude/>\n\n<$set name=PluginLibraryURL value={{!!url}}>\n<<close-library-button>>\n</$set>\n\n<<display-server-connection>>\n</div>\n</$list>\n\\end\n\n\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n\n<div>\n<<plugin-library-listing>>\n</div>\n"
        },
        "$:/core/ui/ControlPanel/Palette": {
            "title": "$:/core/ui/ControlPanel/Palette",
            "tags": "$:/tags/ControlPanel/Appearance",
            "caption": "{{$:/language/ControlPanel/Palette/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Palette/\n\n{{$:/snippets/paletteswitcher}}\n\n<$reveal type=\"nomatch\" state=\"$:/state/ShowPaletteEditor\" text=\"yes\">\n\n<$button set=\"$:/state/ShowPaletteEditor\" setTo=\"yes\"><<lingo ShowEditor/Caption>></$button>\n\n</$reveal>\n\n<$reveal type=\"match\" state=\"$:/state/ShowPaletteEditor\" text=\"yes\">\n\n<$button set=\"$:/state/ShowPaletteEditor\" setTo=\"no\"><<lingo HideEditor/Caption>></$button>\n{{$:/PaletteManager}}\n\n</$reveal>\n\n"
        },
        "$:/core/ui/ControlPanel/Parsing": {
            "title": "$:/core/ui/ControlPanel/Parsing",
            "tags": "$:/tags/ControlPanel/Advanced",
            "caption": "{{$:/language/ControlPanel/Parsing/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Parsing/\n\n\\define toggle(Type)\n<$checkbox\ntiddler=\"\"\"$:/config/WikiParserRules/$Type$/$(rule)$\"\"\"\nfield=\"text\"\nchecked=\"enable\"\nunchecked=\"disable\"\ndefault=\"enable\">\n<<rule>>\n</$checkbox>\n\\end\n\n\\define rules(type,Type)\n<$list filter=\"[wikiparserrules[$type$]]\" variable=\"rule\">\n<dd><<toggle $Type$>></dd>\n</$list>\n\\end\n\n<<lingo Hint>>\n\n<dl>\n<dt><<lingo Pragma/Caption>></dt>\n<<rules pragma Pragma>>\n<dt><<lingo Inline/Caption>></dt>\n<<rules inline Inline>>\n<dt><<lingo Block/Caption>></dt>\n<<rules block Block>>\n</dl>"
        },
        "$:/core/ui/ControlPanel/Plugins/Add/Languages": {
            "title": "$:/core/ui/ControlPanel/Plugins/Add/Languages",
            "caption": "{{$:/language/ControlPanel/Plugins/Languages/Caption}} (<$count filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[language]]\"/>)",
            "text": "<<display-server-assets language>>\n"
        },
        "$:/core/ui/ControlPanel/Plugins/Add/Plugins": {
            "title": "$:/core/ui/ControlPanel/Plugins/Add/Plugins",
            "caption": "{{$:/language/ControlPanel/Plugins/Plugins/Caption}}  (<$count filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[plugin]]\"/>)",
            "text": "<<display-server-assets plugin>>\n"
        },
        "$:/core/ui/ControlPanel/Plugins/Add/Themes": {
            "title": "$:/core/ui/ControlPanel/Plugins/Add/Themes",
            "caption": "{{$:/language/ControlPanel/Plugins/Themes/Caption}}  (<$count filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[theme]]\"/>)",
            "text": "<<display-server-assets theme>>\n"
        },
        "$:/core/ui/ControlPanel/Plugins/AddPlugins": {
            "title": "$:/core/ui/ControlPanel/Plugins/AddPlugins",
            "text": "\\define lingo-base() $:/language/ControlPanel/Plugins/\n\n<$button message=\"tm-modal\" param=\"$:/core/ui/ControlPanel/Modals/AddPlugins\" tooltip={{$:/language/ControlPanel/Plugins/Add/Hint}} class=\"tc-btn-big-green tc-primary-btn\">\n{{$:/core/images/download-button}} <<lingo Add/Caption>>\n</$button>\n"
        },
        "$:/core/ui/ControlPanel/Plugins/Installed/Languages": {
            "title": "$:/core/ui/ControlPanel/Plugins/Installed/Languages",
            "caption": "{{$:/language/ControlPanel/Plugins/Languages/Caption}} (<$count filter=\"[!has[draft.of]plugin-type[language]]\"/>)",
            "text": "<<plugin-table language>>\n"
        },
        "$:/core/ui/ControlPanel/Plugins/Installed/Plugins": {
            "title": "$:/core/ui/ControlPanel/Plugins/Installed/Plugins",
            "caption": "{{$:/language/ControlPanel/Plugins/Plugins/Caption}} (<$count filter=\"[!has[draft.of]plugin-type[plugin]]\"/>)",
            "text": "<<plugin-table plugin>>\n"
        },
        "$:/core/ui/ControlPanel/Plugins/Installed/Themes": {
            "title": "$:/core/ui/ControlPanel/Plugins/Installed/Themes",
            "caption": "{{$:/language/ControlPanel/Plugins/Themes/Caption}} (<$count filter=\"[!has[draft.of]plugin-type[theme]]\"/>)",
            "text": "<<plugin-table theme>>\n"
        },
        "$:/core/ui/ControlPanel/Plugins": {
            "title": "$:/core/ui/ControlPanel/Plugins",
            "tags": "$:/tags/ControlPanel",
            "caption": "{{$:/language/ControlPanel/Plugins/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Plugins/\n\n\\define plugin-table(type)\n<$set name=\"plugin-type\" value=\"\"\"$type$\"\"\">\n<$set name=\"qualified-state\" value=<<qualify \"$:/state/plugin-info\">>>\n<$list filter=\"[!has[draft.of]plugin-type[$type$]sort[description]]\" emptyMessage=<<lingo \"Empty/Hint\">> template=\"$:/core/ui/Components/plugin-info\"/>\n</$set>\n</$set>\n\\end\n\n{{$:/core/ui/ControlPanel/Plugins/AddPlugins}}\n\n<<lingo Installed/Hint>>\n\n<<tabs \"[[$:/core/ui/ControlPanel/Plugins/Installed/Plugins]] [[$:/core/ui/ControlPanel/Plugins/Installed/Themes]] [[$:/core/ui/ControlPanel/Plugins/Installed/Languages]]\" \"$:/core/ui/ControlPanel/Plugins/Installed/Plugins\">>\n"
        },
        "$:/core/ui/ControlPanel/Saving/DownloadSaver": {
            "title": "$:/core/ui/ControlPanel/Saving/DownloadSaver",
            "tags": "$:/tags/ControlPanel/Saving",
            "caption": "{{$:/language/ControlPanel/Saving/DownloadSaver/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Saving/DownloadSaver/\n\n<<lingo Hint>>\n\n!! <$link to=\"$:/config/DownloadSaver/AutoSave\"><<lingo AutoSave/Hint>></$link>\n\n<$checkbox tiddler=\"$:/config/DownloadSaver/AutoSave\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> <<lingo AutoSave/Description>> </$checkbox>\n"
        },
        "$:/core/ui/ControlPanel/Saving/General": {
            "title": "$:/core/ui/ControlPanel/Saving/General",
            "tags": "$:/tags/ControlPanel/Saving",
            "caption": "{{$:/language/ControlPanel/Saving/General/Caption}}",
            "list-before": "",
            "text": "\\define lingo-base() $:/language/ControlPanel/Settings/\n\n{{$:/language/ControlPanel/Saving/General/Hint}}\n\n!! <$link to=\"$:/config/AutoSave\"><<lingo AutoSave/Caption>></$link>\n\n<<lingo AutoSave/Hint>>\n\n<$radio tiddler=\"$:/config/AutoSave\" value=\"yes\"> <<lingo AutoSave/Enabled/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/AutoSave\" value=\"no\"> <<lingo AutoSave/Disabled/Description>> </$radio>\n"
        },
        "$:/core/ui/ControlPanel/Saving/GitHub": {
            "title": "$:/core/ui/ControlPanel/Saving/GitHub",
            "tags": "$:/tags/ControlPanel/Saving",
            "caption": "{{$:/language/ControlPanel/Saving/GitService/GitHub/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Saving/GitService/\n\\define service-name() ~GitHub\n\n<<lingo Description>>\n\n|<<lingo UserName>> |<$edit-text tiddler=\"$:/GitHub/Username\" default=\"\" tag=\"input\"/> |\n|<<lingo GitHub/Password>> |<$password name=\"github\"/> |\n|<<lingo Repo>> |<$edit-text tiddler=\"$:/GitHub/Repo\" default=\"\" tag=\"input\"/> |\n|<<lingo Branch>> |<$edit-text tiddler=\"$:/GitHub/Branch\" default=\"master\" tag=\"input\"/> |\n|<<lingo Path>> |<$edit-text tiddler=\"$:/GitHub/Path\" default=\"\" tag=\"input\"/> |\n|<<lingo Filename>> |<$edit-text tiddler=\"$:/GitHub/Filename\" default=\"\" tag=\"input\"/> |\n|<<lingo ServerURL>> |<$edit-text tiddler=\"$:/GitHub/ServerURL\" default=\"https://api.github.com\" tag=\"input\"/> |"
        },
        "$:/core/ui/ControlPanel/Saving/GitLab": {
            "title": "$:/core/ui/ControlPanel/Saving/GitLab",
            "tags": "$:/tags/ControlPanel/Saving",
            "caption": "{{$:/language/ControlPanel/Saving/GitService/GitLab/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Saving/GitService/\n\\define service-name() ~GitLab\n\n<<lingo Description>>\n\n|<<lingo UserName>> |<$edit-text tiddler=\"$:/GitLab/Username\" default=\"\" tag=\"input\"/> |\n|<<lingo GitLab/Password>> |<$password name=\"gitlab\"/> |\n|<<lingo Repo>> |<$edit-text tiddler=\"$:/GitLab/Repo\" default=\"\" tag=\"input\"/> |\n|<<lingo Branch>> |<$edit-text tiddler=\"$:/GitLab/Branch\" default=\"master\" tag=\"input\"/> |\n|<<lingo Path>> |<$edit-text tiddler=\"$:/GitLab/Path\" default=\"\" tag=\"input\"/> |\n|<<lingo Filename>> |<$edit-text tiddler=\"$:/GitLab/Filename\" default=\"\" tag=\"input\"/> |\n|<<lingo ServerURL>> |<$edit-text tiddler=\"$:/GitLab/ServerURL\" default=\"https://gitlab.com/api/v4\" tag=\"input\"/> |"
        },
        "$:/core/ui/ControlPanel/Saving/TiddlySpot": {
            "title": "$:/core/ui/ControlPanel/Saving/TiddlySpot",
            "tags": "$:/tags/ControlPanel/Saving",
            "caption": "{{$:/language/ControlPanel/Saving/TiddlySpot/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Saving/TiddlySpot/\n\n\\define backupURL()\nhttp://$(userName)$.tiddlyspot.com/backup/\n\\end\n\\define backupLink()\n<$reveal type=\"nomatch\" state=\"$:/UploadName\" text=\"\">\n<$set name=\"userName\" value={{$:/UploadName}}>\n<$reveal type=\"match\" state=\"$:/UploadURL\" text=\"\">\n<<backupURL>>\n</$reveal>\n<$reveal type=\"nomatch\" state=\"$:/UploadURL\" text=\"\">\n<$macrocall $name=resolvePath source={{$:/UploadBackupDir}} root={{$:/UploadURL}}>>\n</$reveal>\n</$set>\n</$reveal>\n\\end\n\n<<lingo Description>>\n\n|<<lingo UserName>> |<$edit-text tiddler=\"$:/UploadName\" default=\"\" tag=\"input\"/> |\n|<<lingo Password>> |<$password name=\"upload\"/> |\n|<<lingo Backups>> |<<backupLink>> |\n\n''<<lingo Advanced/Heading>>''\n\n|<<lingo ServerURL>>  |<$edit-text tiddler=\"$:/UploadURL\" default=\"\" tag=\"input\"/> |\n|<<lingo Filename>> |<$edit-text tiddler=\"$:/UploadFilename\" default=\"index.html\" tag=\"input\"/> |\n|<<lingo UploadDir>> |<$edit-text tiddler=\"$:/UploadDir\" default=\".\" tag=\"input\"/> |\n|<<lingo BackupDir>> |<$edit-text tiddler=\"$:/UploadBackupDir\" default=\".\" tag=\"input\"/> |\n\n<<lingo TiddlySpot/Hint>>"
        },
        "$:/core/ui/ControlPanel/Saving": {
            "title": "$:/core/ui/ControlPanel/Saving",
            "tags": "$:/tags/ControlPanel",
            "caption": "{{$:/language/ControlPanel/Saving/Caption}}",
            "text": "{{$:/language/ControlPanel/Saving/Hint}}\n\n<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Saving]!has[draft.of]]\" \"$:/core/ui/ControlPanel/Saving/General\">>\n</div>\n"
        },
        "$:/core/buttonstyles/Borderless": {
            "title": "$:/core/buttonstyles/Borderless",
            "tags": "$:/tags/ToolbarButtonStyle",
            "caption": "{{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Borderless}}",
            "text": "tc-btn-invisible"
        },
        "$:/core/buttonstyles/Boxed": {
            "title": "$:/core/buttonstyles/Boxed",
            "tags": "$:/tags/ToolbarButtonStyle",
            "caption": "{{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Boxed}}",
            "text": "tc-btn-boxed"
        },
        "$:/core/buttonstyles/Rounded": {
            "title": "$:/core/buttonstyles/Rounded",
            "tags": "$:/tags/ToolbarButtonStyle",
            "caption": "{{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Rounded}}",
            "text": "tc-btn-rounded"
        },
        "$:/core/ui/ControlPanel/Settings/CamelCase": {
            "title": "$:/core/ui/ControlPanel/Settings/CamelCase",
            "tags": "$:/tags/ControlPanel/Settings",
            "caption": "{{$:/language/ControlPanel/Settings/CamelCase/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Settings/CamelCase/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/WikiParserRules/Inline/wikilink\" field=\"text\" checked=\"enable\" unchecked=\"disable\" default=\"enable\"> <$link to=\"$:/config/WikiParserRules/Inline/wikilink\"><<lingo Description>></$link> </$checkbox>\n"
        },
        "$:/core/ui/ControlPanel/Settings/DefaultMoreSidebarTab": {
            "title": "$:/core/ui/ControlPanel/Settings/DefaultMoreSidebarTab",
            "caption": "{{$:/language/ControlPanel/Settings/DefaultMoreSidebarTab/Caption}}",
            "tags": "$:/tags/ControlPanel/Settings",
            "text": "\\define lingo-base() $:/language/ControlPanel/Settings/DefaultMoreSidebarTab/\n\n<$link to=\"$:/config/DefaultMoreSidebarTab\"><<lingo Hint>></$link>\n\n<$select tiddler=\"$:/config/DefaultMoreSidebarTab\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/MoreSideBar]!has[draft.of]]\">\n<option value=<<currentTiddler>>><$transclude field=\"caption\"><$text text=<<currentTiddler>>/></$transclude></option>\n</$list>\n</$select>\n"
        },
        "$:/core/ui/ControlPanel/Settings/DefaultSidebarTab": {
            "title": "$:/core/ui/ControlPanel/Settings/DefaultSidebarTab",
            "caption": "{{$:/language/ControlPanel/Settings/DefaultSidebarTab/Caption}}",
            "tags": "$:/tags/ControlPanel/Settings",
            "text": "\\define lingo-base() $:/language/ControlPanel/Settings/DefaultSidebarTab/\n\n<$link to=\"$:/config/DefaultSidebarTab\"><<lingo Hint>></$link>\n\n<$select tiddler=\"$:/config/DefaultSidebarTab\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SideBar]!has[draft.of]]\">\n<option value=<<currentTiddler>>><$transclude field=\"caption\"><$text text=<<currentTiddler>>/></$transclude></option>\n</$list>\n</$select>\n"
        },
        "$:/core/ui/ControlPanel/Settings/EditorToolbar": {
            "title": "$:/core/ui/ControlPanel/Settings/EditorToolbar",
            "tags": "$:/tags/ControlPanel/Settings",
            "caption": "{{$:/language/ControlPanel/Settings/EditorToolbar/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Settings/EditorToolbar/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/TextEditor/EnableToolbar\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\"> <$link to=\"$:/config/TextEditor/EnableToolbar\"><<lingo Description>></$link> </$checkbox>\n\n"
        },
        "$:/core/ui/ControlPanel/Settings/InfoPanelMode": {
            "title": "$:/core/ui/ControlPanel/Settings/InfoPanelMode",
            "tags": "$:/tags/ControlPanel/Settings",
            "caption": "{{$:/language/ControlPanel/Settings/InfoPanelMode/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Settings/InfoPanelMode/\n<$link to=\"$:/config/TiddlerInfo/Mode\"><<lingo Hint>></$link>\n\n<$radio tiddler=\"$:/config/TiddlerInfo/Mode\" value=\"popup\"> <<lingo Popup/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/TiddlerInfo/Mode\" value=\"sticky\"> <<lingo Sticky/Description>> </$radio>\n"
        },
        "$:/core/ui/ControlPanel/Settings/LinkToBehaviour": {
            "title": "$:/core/ui/ControlPanel/Settings/LinkToBehaviour",
            "tags": "$:/tags/ControlPanel/Settings",
            "caption": "{{$:/language/ControlPanel/Settings/LinkToBehaviour/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Settings/LinkToBehaviour/\n\n<$link to=\"$:/config/Navigation/openLinkFromInsideRiver\"><<lingo \"InsideRiver/Hint\">></$link>\n\n<$select tiddler=\"$:/config/Navigation/openLinkFromInsideRiver\">\n  <option value=\"above\"><<lingo \"OpenAbove\">></option>\n  <option value=\"below\"><<lingo \"OpenBelow\">></option>\n  <option value=\"top\"><<lingo \"OpenAtTop\">></option>\n  <option value=\"bottom\"><<lingo \"OpenAtBottom\">></option>\n</$select>\n\n<$link to=\"$:/config/Navigation/openLinkFromOutsideRiver\"><<lingo \"OutsideRiver/Hint\">></$link>\n\n<$select tiddler=\"$:/config/Navigation/openLinkFromOutsideRiver\">\n  <option value=\"top\"><<lingo \"OpenAtTop\">></option>\n  <option value=\"bottom\"><<lingo \"OpenAtBottom\">></option>\n</$select>\n"
        },
        "$:/core/ui/ControlPanel/Settings/MissingLinks": {
            "title": "$:/core/ui/ControlPanel/Settings/MissingLinks",
            "tags": "$:/tags/ControlPanel/Settings",
            "caption": "{{$:/language/ControlPanel/Settings/MissingLinks/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Settings/MissingLinks/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/MissingLinks\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\"> <$link to=\"$:/config/MissingLinks\"><<lingo Description>></$link> </$checkbox>\n\n"
        },
        "$:/core/ui/ControlPanel/Settings/NavigationAddressBar": {
            "title": "$:/core/ui/ControlPanel/Settings/NavigationAddressBar",
            "tags": "$:/tags/ControlPanel/Settings",
            "caption": "{{$:/language/ControlPanel/Settings/NavigationAddressBar/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Settings/NavigationAddressBar/\n\n<$link to=\"$:/config/Navigation/UpdateAddressBar\"><<lingo Hint>></$link>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateAddressBar\" value=\"permaview\"> <<lingo Permaview/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateAddressBar\" value=\"permalink\"> <<lingo Permalink/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateAddressBar\" value=\"no\"> <<lingo No/Description>> </$radio>\n"
        },
        "$:/core/ui/ControlPanel/Settings/NavigationHistory": {
            "title": "$:/core/ui/ControlPanel/Settings/NavigationHistory",
            "tags": "$:/tags/ControlPanel/Settings",
            "caption": "{{$:/language/ControlPanel/Settings/NavigationHistory/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Settings/NavigationHistory/\n<$link to=\"$:/config/Navigation/UpdateHistory\"><<lingo Hint>></$link>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateHistory\" value=\"yes\"> <<lingo Yes/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateHistory\" value=\"no\"> <<lingo No/Description>> </$radio>\n"
        },
        "$:/core/ui/ControlPanel/Settings/NavigationPermalinkviewMode": {
            "title": "$:/core/ui/ControlPanel/Settings/NavigationPermalinkviewMode",
            "tags": "$:/tags/ControlPanel/Settings",
            "caption": "{{$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Settings/NavigationPermalinkviewMode/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/Navigation/Permalinkview/CopyToClipboard\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\"> <$link to=\"$:/config/Navigation/Permalinkview/CopyToClipboard\"><<lingo CopyToClipboard/Description>></$link> </$checkbox>\n\n<$checkbox tiddler=\"$:/config/Navigation/Permalinkview/UpdateAddressBar\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\"> <$link to=\"$:/config/Navigation/Permalinkview/UpdateAddressBar\"><<lingo UpdateAddressBar/Description>></$link> </$checkbox>\n"
        },
        "$:/core/ui/ControlPanel/Settings/PerformanceInstrumentation": {
            "title": "$:/core/ui/ControlPanel/Settings/PerformanceInstrumentation",
            "tags": "$:/tags/ControlPanel/Settings",
            "caption": "{{$:/language/ControlPanel/Settings/PerformanceInstrumentation/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Settings/PerformanceInstrumentation/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/Performance/Instrumentation\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> <$link to=\"$:/config/Performance/Instrumentation\"><<lingo Description>></$link> </$checkbox>\n"
        },
        "$:/core/ui/ControlPanel/Settings/TitleLinks": {
            "title": "$:/core/ui/ControlPanel/Settings/TitleLinks",
            "tags": "$:/tags/ControlPanel/Settings",
            "caption": "{{$:/language/ControlPanel/Settings/TitleLinks/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Settings/TitleLinks/\n<$link to=\"$:/config/Tiddlers/TitleLinks\"><<lingo Hint>></$link>\n\n<$radio tiddler=\"$:/config/Tiddlers/TitleLinks\" value=\"yes\"> <<lingo Yes/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/Tiddlers/TitleLinks\" value=\"no\"> <<lingo No/Description>> </$radio>\n"
        },
        "$:/core/ui/ControlPanel/Settings/ToolbarButtonStyle": {
            "title": "$:/core/ui/ControlPanel/Settings/ToolbarButtonStyle",
            "tags": "$:/tags/ControlPanel/Settings",
            "caption": "{{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Settings/ToolbarButtonStyle/\n<$link to=\"$:/config/Toolbar/ButtonClass\"><<lingo \"Hint\">></$link>\n\n<$select tiddler=\"$:/config/Toolbar/ButtonClass\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ToolbarButtonStyle]]\">\n<option value={{!!text}}>{{!!caption}}</option>\n</$list>\n</$select>\n"
        },
        "$:/core/ui/ControlPanel/Settings/ToolbarButtons": {
            "title": "$:/core/ui/ControlPanel/Settings/ToolbarButtons",
            "tags": "$:/tags/ControlPanel/Settings",
            "caption": "{{$:/language/ControlPanel/Settings/ToolbarButtons/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Settings/ToolbarButtons/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/Toolbar/Icons\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\"> <$link to=\"$:/config/Toolbar/Icons\"><<lingo Icons/Description>></$link> </$checkbox>\n\n<$checkbox tiddler=\"$:/config/Toolbar/Text\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> <$link to=\"$:/config/Toolbar/Text\"><<lingo Text/Description>></$link> </$checkbox>\n"
        },
        "$:/core/ui/ControlPanel/Settings": {
            "title": "$:/core/ui/ControlPanel/Settings",
            "tags": "$:/tags/ControlPanel",
            "caption": "{{$:/language/ControlPanel/Settings/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Settings/\n\n<<lingo Hint>>\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Settings]]\">\n\n<div style=\"border-top:1px solid #eee;\">\n\n!! <$link><$transclude field=\"caption\"/></$link>\n\n<$transclude/>\n\n</div>\n\n</$list>\n"
        },
        "$:/core/ui/ControlPanel/StoryView": {
            "title": "$:/core/ui/ControlPanel/StoryView",
            "tags": "$:/tags/ControlPanel/Appearance",
            "caption": "{{$:/language/ControlPanel/StoryView/Caption}}",
            "text": "{{$:/snippets/viewswitcher}}\n"
        },
        "$:/core/ui/ControlPanel/Stylesheets": {
            "title": "$:/core/ui/ControlPanel/Stylesheets",
            "tags": "$:/tags/ControlPanel/Advanced",
            "caption": "{{$:/language/ControlPanel/Stylesheets/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/\n\n<<lingo Stylesheets/Hint>>\n\n{{$:/snippets/peek-stylesheets}}\n"
        },
        "$:/core/ui/ControlPanel/Theme": {
            "title": "$:/core/ui/ControlPanel/Theme",
            "tags": "$:/tags/ControlPanel/Appearance",
            "caption": "{{$:/language/ControlPanel/Theme/Caption}}",
            "text": "{{$:/snippets/themeswitcher}}\n"
        },
        "$:/core/ui/ControlPanel/TiddlerFields": {
            "title": "$:/core/ui/ControlPanel/TiddlerFields",
            "tags": "$:/tags/ControlPanel/Advanced",
            "caption": "{{$:/language/ControlPanel/TiddlerFields/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/\n\n<<lingo TiddlerFields/Hint>>\n\n{{$:/snippets/allfields}}"
        },
        "$:/core/ui/ControlPanel/Toolbars/EditToolbar": {
            "title": "$:/core/ui/ControlPanel/Toolbars/EditToolbar",
            "tags": "$:/tags/ControlPanel/Toolbars",
            "caption": "{{$:/language/ControlPanel/Toolbars/EditToolbar/Caption}}",
            "text": "\\define lingo-base() $:/language/TiddlerInfo/\n\n\\define config-base() $:/config/EditToolbarButtons/Visibility/\n\n{{$:/language/ControlPanel/Toolbars/EditToolbar/Hint}}\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$macrocall $name=\"list-tagged-draggable\" tag=\"$:/tags/EditToolbar\" itemTemplate=\"$:/core/ui/ControlPanel/Toolbars/ItemTemplate\"/>\n\n</$set>\n\n</$set>"
        },
        "$:/core/ui/ControlPanel/Toolbars/EditorItemTemplate": {
            "title": "$:/core/ui/ControlPanel/Toolbars/EditorItemTemplate",
            "text": "\\define config-title()\n$(config-base)$$(currentTiddler)$\n\\end\n\n<$draggable tiddler=<<currentTiddler>>>\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/> <span class=\"tc-icon-wrapper\"><$transclude tiddler={{!!icon}}/></span> <$transclude field=\"caption\"/> -- <i class=\"tc-muted\"><$transclude field=\"description\"/></i>\n</$draggable>\n"
        },
        "$:/core/ui/ControlPanel/Toolbars/EditorToolbar": {
            "title": "$:/core/ui/ControlPanel/Toolbars/EditorToolbar",
            "tags": "$:/tags/ControlPanel/Toolbars",
            "caption": "{{$:/language/ControlPanel/Toolbars/EditorToolbar/Caption}}",
            "text": "\\define lingo-base() $:/language/TiddlerInfo/\n\n\\define config-base() $:/config/EditorToolbarButtons/Visibility/\n\n{{$:/language/ControlPanel/Toolbars/EditorToolbar/Hint}}\n\n<$macrocall $name=\"list-tagged-draggable\" tag=\"$:/tags/EditorToolbar\" itemTemplate=\"$:/core/ui/ControlPanel/Toolbars/EditorItemTemplate\"/>\n"
        },
        "$:/core/ui/ControlPanel/Toolbars/ItemTemplate": {
            "title": "$:/core/ui/ControlPanel/Toolbars/ItemTemplate",
            "text": "\\define config-title()\n$(config-base)$$(currentTiddler)$\n\\end\n\n<$draggable tiddler=<<currentTiddler>>>\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/> <span class=\"tc-icon-wrapper\"> <$transclude field=\"caption\"/> <i class=\"tc-muted\">-- <$transclude field=\"description\"/></i></span>\n</$draggable>\n"
        },
        "$:/core/ui/ControlPanel/Toolbars/PageControls": {
            "title": "$:/core/ui/ControlPanel/Toolbars/PageControls",
            "tags": "$:/tags/ControlPanel/Toolbars",
            "caption": "{{$:/language/ControlPanel/Toolbars/PageControls/Caption}}",
            "text": "\\define lingo-base() $:/language/TiddlerInfo/\n\n\\define config-base() $:/config/PageControlButtons/Visibility/\n\n{{$:/language/ControlPanel/Toolbars/PageControls/Hint}}\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$macrocall $name=\"list-tagged-draggable\" tag=\"$:/tags/PageControls\" itemTemplate=\"$:/core/ui/ControlPanel/Toolbars/ItemTemplate\"/>\n\n</$set>\n\n</$set>\n"
        },
        "$:/core/ui/ControlPanel/Toolbars/ViewToolbar": {
            "title": "$:/core/ui/ControlPanel/Toolbars/ViewToolbar",
            "tags": "$:/tags/ControlPanel/Toolbars",
            "caption": "{{$:/language/ControlPanel/Toolbars/ViewToolbar/Caption}}",
            "text": "\\define lingo-base() $:/language/TiddlerInfo/\n\n\\define config-base() $:/config/ViewToolbarButtons/Visibility/\n\n{{$:/language/ControlPanel/Toolbars/ViewToolbar/Hint}}\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$macrocall $name=\"list-tagged-draggable\" tag=\"$:/tags/ViewToolbar\" itemTemplate=\"$:/core/ui/ControlPanel/Toolbars/ItemTemplate\"/>\n\n</$set>\n\n</$set>\n"
        },
        "$:/core/ui/ControlPanel/Toolbars": {
            "title": "$:/core/ui/ControlPanel/Toolbars",
            "tags": "$:/tags/ControlPanel/Appearance",
            "caption": "{{$:/language/ControlPanel/Toolbars/Caption}}",
            "text": "{{$:/language/ControlPanel/Toolbars/Hint}}\n\n<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Toolbars]!has[draft.of]]\" \"$:/core/ui/ControlPanel/Toolbars/ViewToolbar\" \"$:/state/tabs/controlpanel/toolbars\" \"tc-vertical\">>\n</div>\n"
        },
        "$:/ControlPanel": {
            "title": "$:/ControlPanel",
            "icon": "$:/core/images/options-button",
            "color": "#bbb",
            "text": "<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/ControlPanel]!has[draft.of]]\" \"$:/core/ui/ControlPanel/Info\">>\n</div>\n"
        },
        "$:/core/ui/DefaultSearchResultList": {
            "title": "$:/core/ui/DefaultSearchResultList",
            "tags": "$:/tags/SearchResults",
            "caption": "{{$:/language/Search/DefaultResults/Caption}}",
            "text": "\\define searchResultList()\n//<small>{{$:/language/Search/Matches/Title}}</small>//\n\n<$list filter=\"[!is[system]search:title{$(searchTiddler)$}sort[title]limit[250]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n\n//<small>{{$:/language/Search/Matches/All}}</small>//\n\n<$list filter=\"[!is[system]search{$(searchTiddler)$}sort[title]limit[250]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n\n\\end\n<<searchResultList>>\n"
        },
        "$:/core/ui/EditTemplate/body/preview/diffs-current": {
            "title": "$:/core/ui/EditTemplate/body/preview/diffs-current",
            "tags": "$:/tags/EditPreview",
            "caption": "differences from current",
            "list-after": "$:/core/ui/EditTemplate/body/preview/output",
            "text": "<$list filter=\"[<currentTiddler>!is[image]]\" emptyMessage={{$:/core/ui/EditTemplate/body/preview/output}}>\n\n<$macrocall $name=\"compareTiddlerText\" sourceTiddlerTitle={{!!draft.of}} destTiddlerTitle=<<currentTiddler>>/>\n\n</$list>\n\n"
        },
        "$:/core/ui/EditTemplate/body/preview/diffs-shadow": {
            "title": "$:/core/ui/EditTemplate/body/preview/diffs-shadow",
            "tags": "$:/tags/EditPreview",
            "caption": "differences from shadow (if any)",
            "list-after": "$:/core/ui/EditTemplate/body/preview/output",
            "text": "<$list filter=\"[<currentTiddler>!is[image]]\" emptyMessage={{$:/core/ui/EditTemplate/body/preview/output}}>\n\n<$macrocall $name=\"compareTiddlerText\" sourceTiddlerTitle={{{ [{!!draft.of}shadowsource[]] }}} sourceSubTiddlerTitle={{!!draft.of}} destTiddlerTitle=<<currentTiddler>>/>\n\n</$list>\n\n"
        },
        "$:/core/ui/EditTemplate/body/preview/output": {
            "title": "$:/core/ui/EditTemplate/body/preview/output",
            "tags": "$:/tags/EditPreview",
            "caption": "{{$:/language/EditTemplate/Body/Preview/Type/Output}}",
            "text": "<$set name=\"tv-tiddler-preview\" value=\"yes\">\n\n<$transclude />\n\n</$set>\n"
        },
        "$:/state/showeditpreview": {
            "title": "$:/state/showeditpreview",
            "text": "no"
        },
        "$:/core/ui/EditTemplate/body/editor": {
            "title": "$:/core/ui/EditTemplate/body/editor",
            "text": "<$edit\n\n  field=\"text\"\n  class=\"tc-edit-texteditor\"\n  placeholder={{$:/language/EditTemplate/Body/Placeholder}}\n  tabindex={{$:/config/EditTabIndex}}\n\n><$set\n\n  name=\"targetTiddler\"\n  value=<<currentTiddler>>\n\n><$list\n\n  filter=\"[all[shadows+tiddlers]tag[$:/tags/EditorToolbar]!has[draft.of]]\"\n\n><$reveal\n\n  type=\"nomatch\"\n  state=<<config-visibility-title>>\n  text=\"hide\"\n  class=\"tc-text-editor-toolbar-item-wrapper\"\n\n><$transclude\n\n  tiddler=\"$:/core/ui/EditTemplate/body/toolbar/button\"\n  mode=\"inline\"\n\n/></$reveal></$list></$set></$edit>\n"
        },
        "$:/core/ui/EditTemplate/body/toolbar/button": {
            "title": "$:/core/ui/EditTemplate/body/toolbar/button",
            "text": "\\define toolbar-button-icon()\n<$list\n\n  filter=\"[all[current]!has[custom-icon]]\"\n  variable=\"no-custom-icon\"\n\n><$transclude\n\n  tiddler={{!!icon}}\n\n/></$list>\n\\end\n\n\\define toolbar-button-tooltip()\n{{!!description}}<$macrocall $name=\"displayshortcuts\" $output=\"text/plain\" shortcuts={{!!shortcuts}} prefix=\"` - [\" separator=\"] [\" suffix=\"]`\"/>\n\\end\n\n\\define toolbar-button()\n<$list\n\n  filter={{!!condition}}\n  variable=\"list-condition\"\n\n><$wikify\n\n  name=\"tooltip-text\"\n  text=<<toolbar-button-tooltip>>\n  mode=\"inline\"\n  output=\"text\"\n\n><$list\n\n  filter=\"[all[current]!has[dropdown]]\"\n  variable=\"no-dropdown\"\n\n><$button\n\n  class=\"tc-btn-invisible $(buttonClasses)$\"\n  tooltip=<<tooltip-text>>\n  actions={{!!actions}}\n\n><span\n\n  data-tw-keyboard-shortcut={{!!shortcuts}}\n\n/><<toolbar-button-icon>><$transclude\n\n  tiddler=<<currentTiddler>>\n  field=\"text\"\n\n/></$button></$list><$list\n\n  filter=\"[all[current]has[dropdown]]\"\n  variable=\"dropdown\"\n\n><$set\n\n  name=\"dropdown-state\"\n  value=<<qualify \"$:/state/EditorToolbarDropdown\">>\n\n><$button\n\n  popup=<<dropdown-state>>\n  class=\"tc-popup-keep tc-btn-invisible $(buttonClasses)$\"\n  selectedClass=\"tc-selected\"\n  tooltip=<<tooltip-text>>\n  actions={{!!actions}}\n\n><span\n\n  data-tw-keyboard-shortcut={{!!shortcuts}}\n\n/><<toolbar-button-icon>><$transclude\n\n  tiddler=<<currentTiddler>>\n  field=\"text\"\n\n/></$button><$reveal\n\n  state=<<dropdown-state>>\n  type=\"popup\"\n  position=\"below\"\n  animate=\"yes\"\n  tag=\"span\"\n\n><div\n\n  class=\"tc-drop-down tc-popup-keep\"\n\n><$transclude\n\n  tiddler={{!!dropdown}}\n  mode=\"block\"\n\n/></div></$reveal></$set></$list></$wikify></$list>\n\\end\n\n\\define toolbar-button-outer()\n<$set\n\n  name=\"buttonClasses\"\n  value={{!!button-classes}}\n\n><<toolbar-button>></$set>\n\\end\n\n<<toolbar-button-outer>>"
        },
        "$:/core/ui/EditTemplate/body": {
            "title": "$:/core/ui/EditTemplate/body",
            "tags": "$:/tags/EditTemplate",
            "text": "\\define lingo-base() $:/language/EditTemplate/Body/\n\\define config-visibility-title()\n$:/config/EditorToolbarButtons/Visibility/$(currentTiddler)$\n\\end\n<$list filter=\"[all[current]has[_canonical_uri]]\">\n\n<div class=\"tc-message-box\">\n\n<<lingo External/Hint>>\n\n<a href={{!!_canonical_uri}}><$text text={{!!_canonical_uri}}/></a>\n\n<$edit-text field=\"_canonical_uri\" class=\"tc-edit-fields\" tabindex={{$:/config/EditTabIndex}}></$edit-text>\n\n</div>\n\n</$list>\n\n<$list filter=\"[all[current]!has[_canonical_uri]]\">\n\n<$reveal state=\"$:/state/showeditpreview\" type=\"match\" text=\"yes\">\n\n<div class=\"tc-tiddler-preview\">\n\n<$transclude tiddler=\"$:/core/ui/EditTemplate/body/editor\" mode=\"inline\"/>\n\n<div class=\"tc-tiddler-preview-preview\">\n\n<$transclude tiddler={{$:/state/editpreviewtype}} mode=\"inline\">\n\n<$transclude tiddler=\"$:/core/ui/EditTemplate/body/preview/output\" mode=\"inline\"/>\n\n</$transclude>\n\n</div>\n\n</div>\n\n</$reveal>\n\n<$reveal state=\"$:/state/showeditpreview\" type=\"nomatch\" text=\"yes\">\n\n<$transclude tiddler=\"$:/core/ui/EditTemplate/body/editor\" mode=\"inline\"/>\n\n</$reveal>\n\n</$list>\n"
        },
        "$:/core/ui/EditTemplate/controls": {
            "title": "$:/core/ui/EditTemplate/controls",
            "tags": "$:/tags/EditTemplate",
            "text": "\\define config-title()\n$:/config/EditToolbarButtons/Visibility/$(listItem)$\n\\end\n<div class=\"tc-tiddler-title tc-tiddler-edit-title\">\n<$view field=\"title\"/>\n<span class=\"tc-tiddler-controls tc-titlebar\"><$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditToolbar]!has[draft.of]]\" variable=\"listItem\"><$reveal type=\"nomatch\" state=<<config-title>> text=\"hide\"><$transclude tiddler=<<listItem>>/></$reveal></$list></span>\n<div style=\"clear: both;\"></div>\n</div>\n"
        },
        "$:/core/ui/EditTemplate/fields": {
            "title": "$:/core/ui/EditTemplate/fields",
            "tags": "$:/tags/EditTemplate",
            "text": "\\define lingo-base() $:/language/EditTemplate/\n\\define config-title()\n$:/config/EditTemplateFields/Visibility/$(currentField)$\n\\end\n\n\\define config-filter()\n[[hide]] -[title{$(config-title)$}]\n\\end\n\n\\define new-field()\n<$vars name={{$:/temp/newfieldname}}>\n<$reveal type=\"nomatch\" text=\"\" default=<<name>>>\n<$button>\n<$action-sendmessage $message=\"tm-add-field\"\n$name=<<name>>\n$value={{$:/temp/newfieldvalue}}/>\n<$action-deletetiddler $tiddler=\"$:/temp/newfieldname\"/>\n<$action-deletetiddler $tiddler=\"$:/temp/newfieldvalue\"/>\n<<lingo Fields/Add/Button>>\n</$button>\n</$reveal>\n<$reveal type=\"match\" text=\"\" default=<<name>>>\n<$button>\n<<lingo Fields/Add/Button>>\n</$button>\n</$reveal>\n</$vars>\n\\end\n\\whitespace trim\n\n<div class=\"tc-edit-fields\">\n<table class=\"tc-edit-fields\">\n<tbody>\n<$list filter=\"[all[current]fields[]] +[sort[title]]\" variable=\"currentField\" storyview=\"pop\">\n<$list filter=<<config-filter>> variable=\"temp\">\n<tr class=\"tc-edit-field\">\n<td class=\"tc-edit-field-name\">\n<$text text=<<currentField>>/>:</td>\n<td class=\"tc-edit-field-value\">\n<$edit-text tiddler=<<currentTiddler>> field=<<currentField>> placeholder={{$:/language/EditTemplate/Fields/Add/Value/Placeholder}} tabindex={{$:/config/EditTabIndex}}/>\n</td>\n<td class=\"tc-edit-field-remove\">\n<$button class=\"tc-btn-invisible\" tooltip={{$:/language/EditTemplate/Field/Remove/Hint}} aria-label={{$:/language/EditTemplate/Field/Remove/Caption}}>\n<$action-deletefield $field=<<currentField>>/>\n{{$:/core/images/delete-button}}\n</$button>\n</td>\n</tr>\n</$list>\n</$list>\n</tbody>\n</table>\n</div>\n\n<$fieldmangler>\n<div class=\"tc-edit-field-add\">\n<em class=\"tc-edit\">\n<<lingo Fields/Add/Prompt>>&nbsp;\n</em>\n<span class=\"tc-edit-field-add-name\">\n<$edit-text tiddler=\"$:/temp/newfieldname\" tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Fields/Add/Name/Placeholder}} focusPopup=<<qualify \"$:/state/popup/field-dropdown\">> class=\"tc-edit-texteditor tc-popup-handle\" tabindex={{$:/config/EditTabIndex}}/>\n</span>&nbsp;\n<$button popup=<<qualify \"$:/state/popup/field-dropdown\">> class=\"tc-btn-invisible tc-btn-dropdown\" tooltip={{$:/language/EditTemplate/Field/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Field/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button>&nbsp;\n<$reveal state=<<qualify \"$:/state/popup/field-dropdown\">> type=\"nomatch\" text=\"\" default=\"\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<$set name=\"tv-show-missing-links\" value=\"yes\">\n<$linkcatcher to=\"$:/temp/newfieldname\">\n<div class=\"tc-dropdown-item\">\n<<lingo Fields/Add/Dropdown/User>>\n</div>\n<$list filter=\"[!is[shadow]!is[system]fields[]search:title{$:/temp/newfieldname}sort[]] -created -creator -draft.of -draft.title -modified -modifier -tags -text -title -type\"  variable=\"currentField\">\n<$link to=<<currentField>>>\n<$text text=<<currentField>>/>\n</$link>\n</$list>\n<div class=\"tc-dropdown-item\">\n<<lingo Fields/Add/Dropdown/System>>\n</div>\n<$list filter=\"[fields[]search:title{$:/temp/newfieldname}sort[]] -[!is[shadow]!is[system]fields[]]\" variable=\"currentField\">\n<$link to=<<currentField>>>\n<$text text=<<currentField>>/>\n</$link>\n</$list>\n</$linkcatcher>\n</$set>\n</div>\n</$reveal>\n<span class=\"tc-edit-field-add-value\">\n<$edit-text tiddler=\"$:/temp/newfieldvalue\" tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Fields/Add/Value/Placeholder}} class=\"tc-edit-texteditor\" tabindex={{$:/config/EditTabIndex}}/>\n</span>&nbsp;\n<span class=\"tc-edit-field-add-button\">\n<$macrocall $name=\"new-field\"/>\n</span>\n</div>\n</$fieldmangler>\n"
        },
        "$:/core/ui/EditTemplate/shadow": {
            "title": "$:/core/ui/EditTemplate/shadow",
            "tags": "$:/tags/EditTemplate",
            "text": "\\define lingo-base() $:/language/EditTemplate/Shadow/\n\\define pluginLinkBody()\n<$link to=\"\"\"$(pluginTitle)$\"\"\">\n<$text text=\"\"\"$(pluginTitle)$\"\"\"/>\n</$link>\n\\end\n<$list filter=\"[all[current]get[draft.of]is[shadow]!is[tiddler]]\">\n\n<$list filter=\"[all[current]shadowsource[]]\" variable=\"pluginTitle\">\n\n<$set name=\"pluginLink\" value=<<pluginLinkBody>>>\n<div class=\"tc-message-box\">\n\n<<lingo Warning>>\n\n</div>\n</$set>\n</$list>\n\n</$list>\n\n<$list filter=\"[all[current]get[draft.of]is[shadow]is[tiddler]]\">\n\n<$list filter=\"[all[current]shadowsource[]]\" variable=\"pluginTitle\">\n\n<$set name=\"pluginLink\" value=<<pluginLinkBody>>>\n<div class=\"tc-message-box\">\n\n<<lingo OverriddenWarning>>\n\n</div>\n</$set>\n</$list>\n\n</$list>"
        },
        "$:/core/ui/EditTemplate/tags": {
            "title": "$:/core/ui/EditTemplate/tags",
            "tags": "$:/tags/EditTemplate",
            "text": "\\whitespace trim\n\n\\define lingo-base() $:/language/EditTemplate/\n\n\\define tag-styles()\nbackground-color:$(backgroundColor)$;\nfill:$(foregroundColor)$;\ncolor:$(foregroundColor)$;\n\\end\n\n\\define tag-body-inner(colour,fallbackTarget,colourA,colourB,icon)\n\\whitespace trim\n<$vars foregroundColor=<<contrastcolour target:\"\"\"$colour$\"\"\" fallbackTarget:\"\"\"$fallbackTarget$\"\"\" colourA:\"\"\"$colourA$\"\"\" colourB:\"\"\"$colourB$\"\"\">> backgroundColor=\"\"\"$colour$\"\"\">\n<span style=<<tag-styles>> class=\"tc-tag-label tc-tag-list-item\">\n<$transclude tiddler=\"\"\"$icon$\"\"\"/>&nbsp;<$view field=\"title\" format=\"text\" />\n<$button message=\"tm-remove-tag\" param={{!!title}} class=\"tc-btn-invisible tc-remove-tag-button\">{{$:/core/images/close-button}}</$button>\n</span>\n</$vars>\n\\end\n\n\\define tag-body(colour,palette,icon)\n<$macrocall $name=\"tag-body-inner\" colour=\"\"\"$colour$\"\"\" fallbackTarget={{$palette$##tag-background}} colourA={{$palette$##foreground}} colourB={{$palette$##background}} icon=\"\"\"$icon$\"\"\"/>\n\\end\n\n\\define tag-picker-actions()\n<$action-listops\n\t$tiddler=<<currentTiddler>>\n\t$field=\"tags\"\n\t$subfilter=\"[<tag>] [all[current]tags[]]\"\n/>\n\\end\n\n<div class=\"tc-edit-tags\">\n<$fieldmangler>\n<$list filter=\"[all[current]tags[]sort[title]]\" storyview=\"pop\">\n<$macrocall $name=\"tag-body\" colour={{!!color}} palette={{$:/palette}} icon={{!!icon}}/>\n</$list>\n</$fieldmangler>\n<$set name=\"tabIndex\" value={{$:/config/EditTabIndex}}>\n<$macrocall $name=\"tag-picker\" actions=<<tag-picker-actions>>/>\n</$set>\n</div>\n"
        },
        "$:/core/ui/EditTemplate/title": {
            "title": "$:/core/ui/EditTemplate/title",
            "tags": "$:/tags/EditTemplate",
            "text": "<$edit-text field=\"draft.title\" class=\"tc-titlebar tc-edit-texteditor\" focus=\"true\" tabindex={{$:/config/EditTabIndex}}/>\n\n<$vars pattern=\"\"\"[\\|\\[\\]{}]\"\"\" bad-chars=\"\"\"`| [ ] { }`\"\"\">\n\n<$list filter=\"[all[current]regexp:draft.title<pattern>]\" variable=\"listItem\">\n\n<div class=\"tc-message-box\">\n\n{{$:/core/images/warning}} {{$:/language/EditTemplate/Title/BadCharacterWarning}}\n\n</div>\n\n</$list>\n\n</$vars>\n\n<$reveal state=\"!!draft.title\" type=\"nomatch\" text={{!!draft.of}} tag=\"div\">\n\n<$list filter=\"[{!!draft.title}!is[missing]]\" variable=\"listItem\">\n\n<div class=\"tc-message-box\">\n\n{{$:/core/images/warning}} {{$:/language/EditTemplate/Title/Exists/Prompt}}\n\n</div>\n\n</$list>\n\n<$list filter=\"[{!!draft.of}!is[missing]]\" variable=\"listItem\">\n\n<$vars fromTitle={{!!draft.of}} toTitle={{!!draft.title}}>\n\n<$checkbox tiddler=\"$:/config/RelinkOnRename\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> {{$:/language/EditTemplate/Title/Relink/Prompt}}</$checkbox>\n\n<$list filter=\"[title<fromTitle>backlinks[]limit[1]]\" variable=\"listItem\">\n\n<$vars stateTiddler=<<qualify \"$:/state/edit/references\">> >\n\n<$reveal type=\"nomatch\" state=<<stateTiddler>> text=\"show\">\n<$button set=<<stateTiddler>> setTo=\"show\" class=\"tc-btn-invisible\">{{$:/core/images/right-arrow}} \n<<lingo EditTemplate/Title/References/Prompt>></$button>\n</$reveal>\n<$reveal type=\"match\" state=<<stateTiddler>> text=\"show\">\n<$button set=<<stateTiddler>> setTo=\"hide\" class=\"tc-btn-invisible\">{{$:/core/images/down-arrow}} \n<<lingo EditTemplate/Title/References/Prompt>></$button>\n</$reveal>\n\n<$reveal type=\"match\" state=<<stateTiddler>> text=\"show\">\n<$tiddler tiddler=<<fromTitle>> >\n<$transclude tiddler=\"$:/core/ui/TiddlerInfo/References\"/>\n</$tiddler>\n</$reveal>\n\n</$vars>\n\n</$list>\n\n</$vars>\n\n</$list>\n\n</$reveal>\n"
        },
        "$:/core/ui/EditTemplate/type": {
            "title": "$:/core/ui/EditTemplate/type",
            "tags": "$:/tags/EditTemplate",
            "text": "\\define lingo-base() $:/language/EditTemplate/\n<div class=\"tc-type-selector\"><$fieldmangler>\n<em class=\"tc-edit\"><<lingo Type/Prompt>></em> <$edit-text field=\"type\" tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Type/Placeholder}} focusPopup=<<qualify \"$:/state/popup/type-dropdown\">> class=\"tc-edit-typeeditor tc-popup-handle\" tabindex={{$:/config/EditTabIndex}}/> <$button popup=<<qualify \"$:/state/popup/type-dropdown\">> class=\"tc-btn-invisible tc-btn-dropdown\" tooltip={{$:/language/EditTemplate/Type/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Type/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button> <$button message=\"tm-remove-field\" param=\"type\" class=\"tc-btn-invisible tc-btn-icon\" tooltip={{$:/language/EditTemplate/Type/Delete/Hint}} aria-label={{$:/language/EditTemplate/Type/Delete/Caption}}>{{$:/core/images/delete-button}}</$button>\n</$fieldmangler></div>\n\n<div class=\"tc-block-dropdown-wrapper\">\n<$set name=\"tv-show-missing-links\" value=\"yes\">\n<$reveal state=<<qualify \"$:/state/popup/type-dropdown\">> type=\"nomatch\" text=\"\" default=\"\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<$linkcatcher to=\"!!type\">\n<$list filter='[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]each[group]sort[group-sort]]'>\n<div class=\"tc-dropdown-item\">\n<$text text={{!!group}}/>\n</div>\n<$list filter=\"[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]group{!!group}] +[sort[description]]\"><$link to={{!!name}}><$view field=\"description\"/> (<$view field=\"name\"/>)</$link>\n</$list>\n</$list>\n</$linkcatcher>\n</div>\n</$reveal>\n</$set>\n</div>\n"
        },
        "$:/core/ui/EditTemplate": {
            "title": "$:/core/ui/EditTemplate",
            "text": "\\define actions()\n<$action-sendmessage $message=\"tm-add-tag\" $param={{$:/temp/NewTagName}}/>\n<$action-deletetiddler $tiddler=\"$:/temp/NewTagName\"/>\n<$action-sendmessage $message=\"tm-add-field\" $name={{$:/temp/newfieldname}} $value={{$:/temp/newfieldvalue}}/>\n<$action-deletetiddler $tiddler=\"$:/temp/newfieldname\"/>\n<$action-deletetiddler $tiddler=\"$:/temp/newfieldvalue\"/>\n<$action-sendmessage $message=\"tm-save-tiddler\"/>\n\\end\n\\define frame-classes()\ntc-tiddler-frame tc-tiddler-edit-frame $(missingTiddlerClass)$ $(shadowTiddlerClass)$ $(systemTiddlerClass)$\n\\end\n<div class=<<frame-classes>> data-tiddler-title=<<currentTiddler>>>\n<$fieldmangler>\n<$set name=\"storyTiddler\" value=<<currentTiddler>>>\n<$keyboard key=\"((cancel-edit-tiddler))\" message=\"tm-cancel-tiddler\">\n<$keyboard key=\"((save-tiddler))\" actions=<<actions>>>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditTemplate]!has[draft.of]]\" variable=\"listItem\">\n<$set name=\"tv-config-toolbar-class\" filter=\"[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]\">\n<$transclude tiddler=<<listItem>>/>\n</$set>\n</$list>\n</$keyboard>\n</$keyboard>\n</$set>\n</$fieldmangler>\n</div>\n"
        },
        "$:/core/ui/Buttons/cancel": {
            "title": "$:/core/ui/Buttons/cancel",
            "tags": "$:/tags/EditToolbar",
            "caption": "{{$:/core/images/cancel-button}} {{$:/language/Buttons/Cancel/Caption}}",
            "description": "{{$:/language/Buttons/Cancel/Hint}}",
            "text": "<$button message=\"tm-cancel-tiddler\" tooltip={{$:/language/Buttons/Cancel/Hint}} aria-label={{$:/language/Buttons/Cancel/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/cancel-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Cancel/Caption}}/></span>\n</$list>\n</$button>"
        },
        "$:/core/ui/Buttons/delete": {
            "title": "$:/core/ui/Buttons/delete",
            "tags": "$:/tags/EditToolbar $:/tags/ViewToolbar",
            "caption": "{{$:/core/images/delete-button}} {{$:/language/Buttons/Delete/Caption}}",
            "description": "{{$:/language/Buttons/Delete/Hint}}",
            "text": "<$button message=\"tm-delete-tiddler\" tooltip={{$:/language/Buttons/Delete/Hint}} aria-label={{$:/language/Buttons/Delete/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/delete-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Delete/Caption}}/></span>\n</$list>\n</$button>"
        },
        "$:/core/ui/Buttons/save": {
            "title": "$:/core/ui/Buttons/save",
            "tags": "$:/tags/EditToolbar",
            "caption": "{{$:/core/images/done-button}} {{$:/language/Buttons/Save/Caption}}",
            "description": "{{$:/language/Buttons/Save/Hint}}",
            "text": "<$fieldmangler><$button tooltip={{$:/language/Buttons/Save/Hint}} aria-label={{$:/language/Buttons/Save/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-add-tag\" $param={{$:/temp/NewTagName}}/>\n<$action-deletetiddler $tiddler=\"$:/temp/NewTagName\"/>\n<$action-sendmessage $message=\"tm-add-field\" $name={{$:/temp/newfieldname}} $value={{$:/temp/newfieldvalue}}/>\n<$action-deletetiddler $tiddler=\"$:/temp/newfieldname\"/>\n<$action-deletetiddler $tiddler=\"$:/temp/newfieldvalue\"/>\n<$action-sendmessage $message=\"tm-save-tiddler\"/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/done-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Save/Caption}}/></span>\n</$list>\n</$button></$fieldmangler>\n"
        },
        "$:/core/ui/EditorToolbar/bold": {
            "title": "$:/core/ui/EditorToolbar/bold",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/bold",
            "caption": "{{$:/language/Buttons/Bold/Caption}}",
            "description": "{{$:/language/Buttons/Bold/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "shortcuts": "((bold))",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"''\"\n\tsuffix=\"''\"\n/>\n"
        },
        "$:/core/ui/EditorToolbar/clear-dropdown": {
            "title": "$:/core/ui/EditorToolbar/clear-dropdown",
            "text": "''{{$:/language/Buttons/Clear/Hint}}''\n\n<div class=\"tc-colour-chooser\">\n\n<$macrocall $name=\"colour-picker\" actions=\"\"\"\n\n<$action-sendmessage\n\t$message=\"tm-edit-bitmap-operation\"\n\t$param=\"clear\"\n\tcolour=<<colour-picker-value>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n\"\"\"/>\n\n</div>\n"
        },
        "$:/core/ui/EditorToolbar/clear": {
            "title": "$:/core/ui/EditorToolbar/clear",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/erase",
            "caption": "{{$:/language/Buttons/Clear/Caption}}",
            "description": "{{$:/language/Buttons/Clear/Hint}}",
            "condition": "[<targetTiddler>is[image]]",
            "dropdown": "$:/core/ui/EditorToolbar/clear-dropdown",
            "text": ""
        },
        "$:/core/ui/EditorToolbar/editor-height-dropdown": {
            "title": "$:/core/ui/EditorToolbar/editor-height-dropdown",
            "text": "\\define lingo-base() $:/language/Buttons/EditorHeight/\n''<<lingo Hint>>''\n\n<$radio tiddler=\"$:/config/TextEditor/EditorHeight/Mode\" value=\"auto\"> {{$:/core/images/auto-height}} <<lingo Caption/Auto>></$radio>\n\n<$radio tiddler=\"$:/config/TextEditor/EditorHeight/Mode\" value=\"fixed\"> {{$:/core/images/fixed-height}} <<lingo Caption/Fixed>> <$edit-text tag=\"input\" tiddler=\"$:/config/TextEditor/EditorHeight/Height\" default=\"100px\"/></$radio>\n"
        },
        "$:/core/ui/EditorToolbar/editor-height": {
            "title": "$:/core/ui/EditorToolbar/editor-height",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/fixed-height",
            "custom-icon": "yes",
            "caption": "{{$:/language/Buttons/EditorHeight/Caption}}",
            "description": "{{$:/language/Buttons/EditorHeight/Hint}}",
            "condition": "[<targetTiddler>type[]] [<targetTiddler>get[type]prefix[text/]] +[first[]]",
            "dropdown": "$:/core/ui/EditorToolbar/editor-height-dropdown",
            "text": "<$reveal tag=\"span\" state=\"$:/config/TextEditor/EditorHeight/Mode\" type=\"match\" text=\"fixed\">\n{{$:/core/images/fixed-height}}\n</$reveal>\n<$reveal tag=\"span\" state=\"$:/config/TextEditor/EditorHeight/Mode\" type=\"match\" text=\"auto\">\n{{$:/core/images/auto-height}}\n</$reveal>\n"
        },
        "$:/core/ui/EditorToolbar/excise-dropdown": {
            "title": "$:/core/ui/EditorToolbar/excise-dropdown",
            "text": "\\define lingo-base() $:/language/Buttons/Excise/\n\n\\define body(config-title)\n''<<lingo Hint>>''\n\n<<lingo Caption/NewTitle>> <$edit-text tag=\"input\" tiddler=\"$config-title$/new-title\" default=\"\" focus=\"true\"/>\n\n<$set name=\"new-title\" value={{$config-title$/new-title}}>\n<$list filter=\"\"\"[<new-title>is[tiddler]]\"\"\">\n<div class=\"tc-error\">\n<<lingo Caption/TiddlerExists>>\n</div>\n</$list>\n</$set>\n\n<$checkbox tiddler=\"\"\"$config-title$/tagnew\"\"\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"false\"> <<lingo Caption/Tag>></$checkbox>\n\n<<lingo Caption/Replace>> <$select tiddler=\"\"\"$config-title$/type\"\"\" default=\"transclude\">\n<option value=\"link\"><<lingo Caption/Replace/Link>></option>\n<option value=\"transclude\"><<lingo Caption/Replace/Transclusion>></option>\n<option value=\"macro\"><<lingo Caption/Replace/Macro>></option>\n</$select>\n\n<$reveal state=\"\"\"$config-title$/type\"\"\" type=\"match\" text=\"macro\">\n<<lingo Caption/MacroName>> <$edit-text tag=\"input\" tiddler=\"\"\"$config-title$/macro-title\"\"\" default=\"translink\"/>\n</$reveal>\n\n<$button>\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"excise\"\n\ttitle={{$config-title$/new-title}}\n\ttype={{$config-title$/type}}\n\tmacro={{$config-title$/macro-title}}\n\ttagnew={{$config-title$/tagnew}}\n/>\n<$action-deletetiddler\n\t$tiddler=\"$config-title$/new-title\"\n/>\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n<<lingo Caption/Excise>>\n</$button>\n\\end\n\n<$macrocall $name=\"body\" config-title=<<qualify \"$:/state/Excise/\">>/>\n"
        },
        "$:/core/ui/EditorToolbar/excise": {
            "title": "$:/core/ui/EditorToolbar/excise",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/excise",
            "caption": "{{$:/language/Buttons/Excise/Caption}}",
            "description": "{{$:/language/Buttons/Excise/Hint}}",
            "condition": "[<targetTiddler>type[]] [<targetTiddler>type[text/vnd.tiddlywiki]] +[first[]]",
            "shortcuts": "((excise))",
            "dropdown": "$:/core/ui/EditorToolbar/excise-dropdown",
            "text": ""
        },
        "$:/core/ui/EditorToolbar/heading-1": {
            "title": "$:/core/ui/EditorToolbar/heading-1",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/heading-1",
            "caption": "{{$:/language/Buttons/Heading1/Caption}}",
            "description": "{{$:/language/Buttons/Heading1/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "button-classes": "tc-text-editor-toolbar-item-start-group",
            "shortcuts": "((heading-1))",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"1\"\n/>\n"
        },
        "$:/core/ui/EditorToolbar/heading-2": {
            "title": "$:/core/ui/EditorToolbar/heading-2",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/heading-2",
            "caption": "{{$:/language/Buttons/Heading2/Caption}}",
            "description": "{{$:/language/Buttons/Heading2/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "shortcuts": "((heading-2))",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"2\"\n/>\n"
        },
        "$:/core/ui/EditorToolbar/heading-3": {
            "title": "$:/core/ui/EditorToolbar/heading-3",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/heading-3",
            "caption": "{{$:/language/Buttons/Heading3/Caption}}",
            "description": "{{$:/language/Buttons/Heading3/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "shortcuts": "((heading-3))",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"3\"\n/>\n"
        },
        "$:/core/ui/EditorToolbar/heading-4": {
            "title": "$:/core/ui/EditorToolbar/heading-4",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/heading-4",
            "caption": "{{$:/language/Buttons/Heading4/Caption}}",
            "description": "{{$:/language/Buttons/Heading4/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "shortcuts": "((heading-4))",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"4\"\n/>\n"
        },
        "$:/core/ui/EditorToolbar/heading-5": {
            "title": "$:/core/ui/EditorToolbar/heading-5",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/heading-5",
            "caption": "{{$:/language/Buttons/Heading5/Caption}}",
            "description": "{{$:/language/Buttons/Heading5/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "shortcuts": "((heading-5))",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"5\"\n/>\n"
        },
        "$:/core/ui/EditorToolbar/heading-6": {
            "title": "$:/core/ui/EditorToolbar/heading-6",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/heading-6",
            "caption": "{{$:/language/Buttons/Heading6/Caption}}",
            "description": "{{$:/language/Buttons/Heading6/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "shortcuts": "((heading-6))",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"6\"\n/>\n"
        },
        "$:/core/ui/EditorToolbar/italic": {
            "title": "$:/core/ui/EditorToolbar/italic",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/italic",
            "caption": "{{$:/language/Buttons/Italic/Caption}}",
            "description": "{{$:/language/Buttons/Italic/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "shortcuts": "((italic))",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"//\"\n\tsuffix=\"//\"\n/>\n"
        },
        "$:/core/ui/EditorToolbar/line-width-dropdown": {
            "title": "$:/core/ui/EditorToolbar/line-width-dropdown",
            "text": "\\define lingo-base() $:/language/Buttons/LineWidth/\n\n\\define toolbar-line-width-inner()\n<$button tag=\"a\" tooltip=\"\"\"$(line-width)$\"\"\">\n\n<$action-setfield\n\t$tiddler=\"$:/config/BitmapEditor/LineWidth\"\n\t$value=\"$(line-width)$\"\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<div style=\"display: inline-block; margin: 4px calc(80px - $(line-width)$); background-color: #000; width: calc(100px + $(line-width)$ * 2); height: $(line-width)$; border-radius: 120px; vertical-align: middle;\"/>\n\n<span style=\"margin-left: 8px;\">\n\n<$text text=\"\"\"$(line-width)$\"\"\"/>\n\n<$reveal state=\"$:/config/BitmapEditor/LineWidth\" type=\"match\" text=\"\"\"$(line-width)$\"\"\" tag=\"span\">\n\n<$entity entity=\"&nbsp;\"/>\n\n<$entity entity=\"&#x2713;\"/>\n\n</$reveal>\n\n</span>\n\n</$button>\n\\end\n\n''<<lingo Hint>>''\n\n<$list filter={{$:/config/BitmapEditor/LineWidths}} variable=\"line-width\">\n\n<<toolbar-line-width-inner>>\n\n</$list>\n"
        },
        "$:/core/ui/EditorToolbar/line-width": {
            "title": "$:/core/ui/EditorToolbar/line-width",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/line-width",
            "caption": "{{$:/language/Buttons/LineWidth/Caption}}",
            "description": "{{$:/language/Buttons/LineWidth/Hint}}",
            "condition": "[<targetTiddler>is[image]]",
            "dropdown": "$:/core/ui/EditorToolbar/line-width-dropdown",
            "text": "<$text text={{$:/config/BitmapEditor/LineWidth}}/>"
        },
        "$:/core/ui/EditorToolbar/link-dropdown": {
            "title": "$:/core/ui/EditorToolbar/link-dropdown",
            "text": "\\define lingo-base() $:/language/Buttons/Link/\n\n\\define add-link-actions()\n<$action-sendmessage $message=\"tm-edit-text-operation\" $param=\"make-link\" text={{$(linkTiddler)$}} />\n<$action-deletetiddler $tiddler=<<dropdown-state>> />\n<$action-deletetiddler $tiddler=<<searchTiddler>> />\n<$action-deletetiddler $tiddler=<<linkTiddler>> />\n\\end\n\n\\define external-link()\n<$button class=\"tc-btn-invisible\" style=\"width: auto; display: inline-block; background-colour: inherit;\" actions=<<add-link-actions>>>\n{{$:/core/images/chevron-right}}\n</$button>\n\\end\n\n\\define body(config-title)\n''<<lingo Hint>>''\n\n<$vars searchTiddler=\"\"\"$config-title$/search\"\"\" linkTiddler=\"\"\"$config-title$/link\"\"\" linktext=\"\" >\n\n<$vars linkTiddler=<<searchTiddler>>>\n<$keyboard key=\"ENTER\" actions=<<add-link-actions>>>\n<$edit-text tiddler=<<searchTiddler>> type=\"search\" tag=\"input\" focus=\"true\" placeholder={{$:/language/Search/Search}} default=\"\"/>\n<$reveal tag=\"span\" state=<<searchTiddler>> type=\"nomatch\" text=\"\">\n<<external-link>>\n<$button class=\"tc-btn-invisible\" style=\"width: auto; display: inline-block; background-colour: inherit;\">\n<$action-setfield $tiddler=<<searchTiddler>> text=\"\" />\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</$keyboard>\n</$vars>\n\n<$reveal tag=\"div\" state=<<searchTiddler>> type=\"nomatch\" text=\"\">\n\n<$linkcatcher actions=<<add-link-actions>> to=<<linkTiddler>>>\n\n{{$:/core/ui/SearchResults}}\n\n</$linkcatcher>\n\n</$reveal>\n\n</$vars>\n\n\\end\n\n<$macrocall $name=\"body\" config-title=<<qualify \"$:/state/Link/\">>/>"
        },
        "$:/core/ui/EditorToolbar/link": {
            "title": "$:/core/ui/EditorToolbar/link",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/link",
            "caption": "{{$:/language/Buttons/Link/Caption}}",
            "description": "{{$:/language/Buttons/Link/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "button-classes": "tc-text-editor-toolbar-item-start-group",
            "shortcuts": "((link))",
            "dropdown": "$:/core/ui/EditorToolbar/link-dropdown",
            "text": ""
        },
        "$:/core/ui/EditorToolbar/linkify": {
            "title": "$:/core/ui/EditorToolbar/linkify",
            "caption": "{{$:/language/Buttons/Linkify/Caption}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "description": "{{$:/language/Buttons/Linkify/Hint}}",
            "icon": "$:/core/images/linkify",
            "list-before": "$:/core/ui/EditorToolbar/mono-block",
            "shortcuts": "((linkify))",
            "tags": "$:/tags/EditorToolbar",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"[[\"\n\tsuffix=\"]]\"\n/>\n"
        },
        "$:/core/ui/EditorToolbar/list-bullet": {
            "title": "$:/core/ui/EditorToolbar/list-bullet",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/list-bullet",
            "caption": "{{$:/language/Buttons/ListBullet/Caption}}",
            "description": "{{$:/language/Buttons/ListBullet/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "shortcuts": "((list-bullet))",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"*\"\n\tcount=\"1\"\n/>\n"
        },
        "$:/core/ui/EditorToolbar/list-number": {
            "title": "$:/core/ui/EditorToolbar/list-number",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/list-number",
            "caption": "{{$:/language/Buttons/ListNumber/Caption}}",
            "description": "{{$:/language/Buttons/ListNumber/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "shortcuts": "((list-number))",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"#\"\n\tcount=\"1\"\n/>\n"
        },
        "$:/core/ui/EditorToolbar/mono-block": {
            "title": "$:/core/ui/EditorToolbar/mono-block",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/mono-block",
            "caption": "{{$:/language/Buttons/MonoBlock/Caption}}",
            "description": "{{$:/language/Buttons/MonoBlock/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "button-classes": "tc-text-editor-toolbar-item-start-group",
            "shortcuts": "((mono-block))",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-lines\"\n\tprefix=\"\n```\"\n\tsuffix=\"```\"\n/>\n"
        },
        "$:/core/ui/EditorToolbar/mono-line": {
            "title": "$:/core/ui/EditorToolbar/mono-line",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/mono-line",
            "caption": "{{$:/language/Buttons/MonoLine/Caption}}",
            "description": "{{$:/language/Buttons/MonoLine/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "shortcuts": "((mono-line))",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"`\"\n\tsuffix=\"`\"\n/>\n"
        },
        "$:/core/ui/EditorToolbar/more-dropdown": {
            "title": "$:/core/ui/EditorToolbar/more-dropdown",
            "text": "\\define config-title()\n$:/config/EditorToolbarButtons/Visibility/$(toolbarItem)$\n\\end\n\n\\define conditional-button()\n<$list filter={{$(toolbarItem)$!!condition}} variable=\"condition\">\n<$transclude tiddler=\"$:/core/ui/EditTemplate/body/toolbar/button\" mode=\"inline\"/> <$transclude tiddler=<<toolbarItem>> field=\"description\"/>\n</$list>\n\\end\n\n<div class=\"tc-text-editor-toolbar-more\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditorToolbar]!has[draft.of]] -[[$:/core/ui/EditorToolbar/more]]\">\n<$reveal type=\"match\" state=<<config-visibility-title>> text=\"hide\" tag=\"div\">\n<<conditional-button>>\n</$reveal>\n</$list>\n</div>\n"
        },
        "$:/core/ui/EditorToolbar/more": {
            "title": "$:/core/ui/EditorToolbar/more",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/down-arrow",
            "caption": "{{$:/language/Buttons/More/Caption}}",
            "description": "{{$:/language/Buttons/More/Hint}}",
            "condition": "[<targetTiddler>]",
            "dropdown": "$:/core/ui/EditorToolbar/more-dropdown",
            "text": ""
        },
        "$:/core/ui/EditorToolbar/opacity-dropdown": {
            "title": "$:/core/ui/EditorToolbar/opacity-dropdown",
            "text": "\\define lingo-base() $:/language/Buttons/Opacity/\n\n\\define toolbar-opacity-inner()\n<$button tag=\"a\" tooltip=\"\"\"$(opacity)$\"\"\">\n\n<$action-setfield\n\t$tiddler=\"$:/config/BitmapEditor/Opacity\"\n\t$value=\"$(opacity)$\"\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<div style=\"display: inline-block; vertical-align: middle; background-color: $(current-paint-colour)$; opacity: $(opacity)$; width: 1em; height: 1em; border-radius: 50%;\"/>\n\n<span style=\"margin-left: 8px;\">\n\n<$text text=\"\"\"$(opacity)$\"\"\"/>\n\n<$reveal state=\"$:/config/BitmapEditor/Opacity\" type=\"match\" text=\"\"\"$(opacity)$\"\"\" tag=\"span\">\n\n<$entity entity=\"&nbsp;\"/>\n\n<$entity entity=\"&#x2713;\"/>\n\n</$reveal>\n\n</span>\n\n</$button>\n\\end\n\n\\define toolbar-opacity()\n''<<lingo Hint>>''\n\n<$list filter={{$:/config/BitmapEditor/Opacities}} variable=\"opacity\">\n\n<<toolbar-opacity-inner>>\n\n</$list>\n\\end\n\n<$set name=\"current-paint-colour\" value={{$:/config/BitmapEditor/Colour}}>\n\n<$set name=\"current-opacity\" value={{$:/config/BitmapEditor/Opacity}}>\n\n<<toolbar-opacity>>\n\n</$set>\n\n</$set>\n"
        },
        "$:/core/ui/EditorToolbar/opacity": {
            "title": "$:/core/ui/EditorToolbar/opacity",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/opacity",
            "caption": "{{$:/language/Buttons/Opacity/Caption}}",
            "description": "{{$:/language/Buttons/Opacity/Hint}}",
            "condition": "[<targetTiddler>is[image]]",
            "dropdown": "$:/core/ui/EditorToolbar/opacity-dropdown",
            "text": "<$text text={{$:/config/BitmapEditor/Opacity}}/>\n"
        },
        "$:/core/ui/EditorToolbar/paint-dropdown": {
            "title": "$:/core/ui/EditorToolbar/paint-dropdown",
            "text": "''{{$:/language/Buttons/Paint/Hint}}''\n\n<$macrocall $name=\"colour-picker\" actions=\"\"\"\n\n<$action-setfield\n\t$tiddler=\"$:/config/BitmapEditor/Colour\"\n\t$value=<<colour-picker-value>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n\"\"\"/>\n"
        },
        "$:/core/ui/EditorToolbar/paint": {
            "title": "$:/core/ui/EditorToolbar/paint",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/paint",
            "caption": "{{$:/language/Buttons/Paint/Caption}}",
            "description": "{{$:/language/Buttons/Paint/Hint}}",
            "condition": "[<targetTiddler>is[image]]",
            "dropdown": "$:/core/ui/EditorToolbar/paint-dropdown",
            "text": "\\define toolbar-paint()\n<div style=\"display: inline-block; vertical-align: middle; background-color: $(colour-picker-value)$; width: 1em; height: 1em; border-radius: 50%;\"/>\n\\end\n<$set name=\"colour-picker-value\" value={{$:/config/BitmapEditor/Colour}}>\n<<toolbar-paint>>\n</$set>\n"
        },
        "$:/core/ui/EditorToolbar/picture-dropdown": {
            "title": "$:/core/ui/EditorToolbar/picture-dropdown",
            "text": "\\define replacement-text()\n[img[$(imageTitle)$]]\n\\end\n\n''{{$:/language/Buttons/Picture/Hint}}''\n\n<$macrocall $name=\"image-picker\" actions=\"\"\"\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"replace-selection\"\n\ttext=<<replacement-text>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n\"\"\"/>\n"
        },
        "$:/core/ui/EditorToolbar/picture": {
            "title": "$:/core/ui/EditorToolbar/picture",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/picture",
            "caption": "{{$:/language/Buttons/Picture/Caption}}",
            "description": "{{$:/language/Buttons/Picture/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "shortcuts": "((picture))",
            "dropdown": "$:/core/ui/EditorToolbar/picture-dropdown",
            "text": ""
        },
        "$:/core/ui/EditorToolbar/preview-type-dropdown": {
            "title": "$:/core/ui/EditorToolbar/preview-type-dropdown",
            "text": "\\define preview-type-button()\n<$button tag=\"a\">\n\n<$action-setfield $tiddler=\"$:/state/editpreviewtype\" $value=\"$(previewType)$\"/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<$transclude tiddler=<<previewType>> field=\"caption\" mode=\"inline\">\n\n<$view tiddler=<<previewType>> field=\"title\" mode=\"inline\"/>\n\n</$transclude> \n\n<$reveal tag=\"span\" state=\"$:/state/editpreviewtype\" type=\"match\" text=<<previewType>> default=\"$:/core/ui/EditTemplate/body/preview/output\">\n\n<$entity entity=\"&nbsp;\"/>\n\n<$entity entity=\"&#x2713;\"/>\n\n</$reveal>\n\n</$button>\n\\end\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditPreview]!has[draft.of]]\" variable=\"previewType\">\n\n<<preview-type-button>>\n\n</$list>\n"
        },
        "$:/core/ui/EditorToolbar/preview-type": {
            "title": "$:/core/ui/EditorToolbar/preview-type",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/chevron-down",
            "caption": "{{$:/language/Buttons/PreviewType/Caption}}",
            "description": "{{$:/language/Buttons/PreviewType/Hint}}",
            "condition": "[all[shadows+tiddlers]tag[$:/tags/EditPreview]!has[draft.of]butfirst[]limit[1]]",
            "button-classes": "tc-text-editor-toolbar-item-adjunct",
            "dropdown": "$:/core/ui/EditorToolbar/preview-type-dropdown"
        },
        "$:/core/ui/EditorToolbar/preview": {
            "title": "$:/core/ui/EditorToolbar/preview",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/preview-open",
            "custom-icon": "yes",
            "caption": "{{$:/language/Buttons/Preview/Caption}}",
            "description": "{{$:/language/Buttons/Preview/Hint}}",
            "condition": "[<targetTiddler>]",
            "button-classes": "tc-text-editor-toolbar-item-start-group",
            "shortcuts": "((preview))",
            "text": "<$reveal state=\"$:/state/showeditpreview\" type=\"match\" text=\"yes\" tag=\"span\">\n{{$:/core/images/preview-open}}\n<$action-setfield $tiddler=\"$:/state/showeditpreview\" $value=\"no\"/>\n</$reveal>\n<$reveal state=\"$:/state/showeditpreview\" type=\"nomatch\" text=\"yes\" tag=\"span\">\n{{$:/core/images/preview-closed}}\n<$action-setfield $tiddler=\"$:/state/showeditpreview\" $value=\"yes\"/>\n</$reveal>\n"
        },
        "$:/core/ui/EditorToolbar/quote": {
            "title": "$:/core/ui/EditorToolbar/quote",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/quote",
            "caption": "{{$:/language/Buttons/Quote/Caption}}",
            "description": "{{$:/language/Buttons/Quote/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "shortcuts": "((quote))",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-lines\"\n\tprefix=\"\n<<<\"\n\tsuffix=\"<<<\"\n/>\n"
        },
        "$:/core/ui/EditorToolbar/rotate-left": {
            "title": "$:/core/ui/EditorToolbar/rotate-left",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/rotate-left",
            "caption": "{{$:/language/Buttons/RotateLeft/Caption}}",
            "description": "{{$:/language/Buttons/RotateLeft/Hint}}",
            "condition": "[<targetTiddler>is[image]]",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-bitmap-operation\"\n\t$param=\"rotate-left\"\n/>\n"
        },
        "$:/core/ui/EditorToolbar/size-dropdown": {
            "title": "$:/core/ui/EditorToolbar/size-dropdown",
            "text": "\\define lingo-base() $:/language/Buttons/Size/\n\n\\define toolbar-button-size-preset(config-title)\n<$set name=\"width\" filter=\"$(sizePair)$ +[first[]]\">\n\n<$set name=\"height\" filter=\"$(sizePair)$ +[last[]]\">\n\n<$button tag=\"a\">\n\n<$action-setfield\n\t$tiddler=\"\"\"$config-title$/new-width\"\"\"\n\t$value=<<width>>\n/>\n\n<$action-setfield\n\t$tiddler=\"\"\"$config-title$/new-height\"\"\"\n\t$value=<<height>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=\"\"\"$config-title$/presets-popup\"\"\"\n/>\n\n<$text text=<<width>>/> &times; <$text text=<<height>>/>\n\n</$button>\n\n</$set>\n\n</$set>\n\\end\n\n\\define toolbar-button-size(config-title)\n''{{$:/language/Buttons/Size/Hint}}''\n\n<<lingo Caption/Width>> <$edit-text tag=\"input\" tiddler=\"\"\"$config-title$/new-width\"\"\" default=<<tv-bitmap-editor-width>> focus=\"true\" size=\"8\"/> <<lingo Caption/Height>> <$edit-text tag=\"input\" tiddler=\"\"\"$config-title$/new-height\"\"\" default=<<tv-bitmap-editor-height>> size=\"8\"/> <$button popup=\"\"\"$config-title$/presets-popup\"\"\" class=\"tc-btn-invisible tc-popup-keep\" style=\"width: auto; display: inline-block; background-colour: inherit;\" selectedClass=\"tc-selected\">\n{{$:/core/images/down-arrow}}\n</$button>\n\n<$reveal tag=\"span\" state=\"\"\"$config-title$/presets-popup\"\"\" type=\"popup\" position=\"belowleft\" animate=\"yes\">\n\n<div class=\"tc-drop-down tc-popup-keep\">\n\n<$list filter={{$:/config/BitmapEditor/ImageSizes}} variable=\"sizePair\">\n\n<$macrocall $name=\"toolbar-button-size-preset\" config-title=\"$config-title$\"/>\n\n</$list>\n\n</div>\n\n</$reveal>\n\n<$button>\n<$action-sendmessage\n\t$message=\"tm-edit-bitmap-operation\"\n\t$param=\"resize\"\n\twidth={{$config-title$/new-width}}\n\theight={{$config-title$/new-height}}\n/>\n<$action-deletetiddler\n\t$tiddler=\"\"\"$config-title$/new-width\"\"\"\n/>\n<$action-deletetiddler\n\t$tiddler=\"\"\"$config-title$/new-height\"\"\"\n/>\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n<<lingo Caption/Resize>>\n</$button>\n\\end\n\n<$macrocall $name=\"toolbar-button-size\" config-title=<<qualify \"$:/state/Size/\">>/>\n"
        },
        "$:/core/ui/EditorToolbar/size": {
            "title": "$:/core/ui/EditorToolbar/size",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/size",
            "caption": "{{$:/language/Buttons/Size/Caption}}",
            "description": "{{$:/language/Buttons/Size/Hint}}",
            "condition": "[<targetTiddler>is[image]]",
            "dropdown": "$:/core/ui/EditorToolbar/size-dropdown",
            "text": ""
        },
        "$:/core/ui/EditorToolbar/stamp-dropdown": {
            "title": "$:/core/ui/EditorToolbar/stamp-dropdown",
            "text": "\\define toolbar-button-stamp-inner()\n<$button tag=\"a\">\n\n<$list filter=\"[[$(snippetTitle)$]addsuffix[/prefix]is[missing]removesuffix[/prefix]addsuffix[/suffix]is[missing]]\">\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"replace-selection\"\n\ttext={{$(snippetTitle)$}}\n/>\n\n</$list>\n\n\n<$list filter=\"[[$(snippetTitle)$]addsuffix[/prefix]is[missing]removesuffix[/prefix]addsuffix[/suffix]!is[missing]] [[$(snippetTitle)$]addsuffix[/prefix]!is[missing]removesuffix[/prefix]addsuffix[/suffix]is[missing]] [[$(snippetTitle)$]addsuffix[/prefix]!is[missing]removesuffix[/prefix]addsuffix[/suffix]!is[missing]]\">\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix={{{ [[$(snippetTitle)$]addsuffix[/prefix]get[text]] }}}\nsuffix={{{ [[$(snippetTitle)$]addsuffix[/suffix]get[text]] }}}\n/>\n\n</$list>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<$view tiddler=<<snippetTitle>> field=\"caption\" mode=\"inline\">\n\n<$view tiddler=<<snippetTitle>> field=\"title\" mode=\"inline\"/>\n\n</$view>\n\n</$button>\n\\end\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TextEditor/Snippet]!has[draft.of]sort[caption]]\" variable=\"snippetTitle\">\n\n<<toolbar-button-stamp-inner>>\n\n</$list>\n\n----\n\n<$button tag=\"a\">\n\n<$action-sendmessage\n\t$message=\"tm-new-tiddler\"\n\ttags=\"$:/tags/TextEditor/Snippet\"\n\tcaption={{$:/language/Buttons/Stamp/New/Title}}\n\ttext={{$:/language/Buttons/Stamp/New/Text}}\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<em>\n\n<$text text={{$:/language/Buttons/Stamp/Caption/New}}/>\n\n</em>\n\n</$button>\n"
        },
        "$:/core/ui/EditorToolbar/stamp": {
            "title": "$:/core/ui/EditorToolbar/stamp",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/stamp",
            "caption": "{{$:/language/Buttons/Stamp/Caption}}",
            "description": "{{$:/language/Buttons/Stamp/Hint}}",
            "condition": "[<targetTiddler>type[]] [<targetTiddler>get[type]prefix[text/]] +[first[]]",
            "shortcuts": "((stamp))",
            "dropdown": "$:/core/ui/EditorToolbar/stamp-dropdown",
            "text": ""
        },
        "$:/core/ui/EditorToolbar/strikethrough": {
            "title": "$:/core/ui/EditorToolbar/strikethrough",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/strikethrough",
            "caption": "{{$:/language/Buttons/Strikethrough/Caption}}",
            "description": "{{$:/language/Buttons/Strikethrough/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "shortcuts": "((strikethrough))",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"~~\"\n\tsuffix=\"~~\"\n/>\n"
        },
        "$:/core/ui/EditorToolbar/subscript": {
            "title": "$:/core/ui/EditorToolbar/subscript",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/subscript",
            "caption": "{{$:/language/Buttons/Subscript/Caption}}",
            "description": "{{$:/language/Buttons/Subscript/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "shortcuts": "((subscript))",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\",,\"\n\tsuffix=\",,\"\n/>\n"
        },
        "$:/core/ui/EditorToolbar/superscript": {
            "title": "$:/core/ui/EditorToolbar/superscript",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/superscript",
            "caption": "{{$:/language/Buttons/Superscript/Caption}}",
            "description": "{{$:/language/Buttons/Superscript/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "shortcuts": "((superscript))",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"^^\"\n\tsuffix=\"^^\"\n/>\n"
        },
        "$:/core/ui/EditorToolbar/transcludify": {
            "title": "$:/core/ui/EditorToolbar/transcludify",
            "caption": "{{$:/language/Buttons/Transcludify/Caption}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "description": "{{$:/language/Buttons/Transcludify/Hint}}",
            "icon": "$:/core/images/transcludify",
            "list-before": "$:/core/ui/EditorToolbar/mono-block",
            "shortcuts": "((transcludify))",
            "tags": "$:/tags/EditorToolbar",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"{{\"\n\tsuffix=\"}}\"\n/>\n"
        },
        "$:/core/ui/EditorToolbar/underline": {
            "title": "$:/core/ui/EditorToolbar/underline",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/underline",
            "caption": "{{$:/language/Buttons/Underline/Caption}}",
            "description": "{{$:/language/Buttons/Underline/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "shortcuts": "((underline))",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"__\"\n\tsuffix=\"__\"\n/>\n"
        },
        "$:/core/Filters/AllTags": {
            "title": "$:/core/Filters/AllTags",
            "tags": "$:/tags/Filter",
            "filter": "[tags[]!is[system]sort[title]]",
            "description": "{{$:/language/Filters/AllTags}}",
            "text": ""
        },
        "$:/core/Filters/AllTiddlers": {
            "title": "$:/core/Filters/AllTiddlers",
            "tags": "$:/tags/Filter",
            "filter": "[!is[system]sort[title]]",
            "description": "{{$:/language/Filters/AllTiddlers}}",
            "text": ""
        },
        "$:/core/Filters/Drafts": {
            "title": "$:/core/Filters/Drafts",
            "tags": "$:/tags/Filter",
            "filter": "[has[draft.of]sort[title]]",
            "description": "{{$:/language/Filters/Drafts}}",
            "text": ""
        },
        "$:/core/Filters/Missing": {
            "title": "$:/core/Filters/Missing",
            "tags": "$:/tags/Filter",
            "filter": "[all[missing]sort[title]]",
            "description": "{{$:/language/Filters/Missing}}",
            "text": ""
        },
        "$:/core/Filters/Orphans": {
            "title": "$:/core/Filters/Orphans",
            "tags": "$:/tags/Filter",
            "filter": "[all[orphans]sort[title]]",
            "description": "{{$:/language/Filters/Orphans}}",
            "text": ""
        },
        "$:/core/Filters/OverriddenShadowTiddlers": {
            "title": "$:/core/Filters/OverriddenShadowTiddlers",
            "tags": "$:/tags/Filter",
            "filter": "[is[shadow]]",
            "description": "{{$:/language/Filters/OverriddenShadowTiddlers}}",
            "text": ""
        },
        "$:/core/Filters/RecentSystemTiddlers": {
            "title": "$:/core/Filters/RecentSystemTiddlers",
            "tags": "$:/tags/Filter",
            "filter": "[has[modified]!sort[modified]limit[50]]",
            "description": "{{$:/language/Filters/RecentSystemTiddlers}}",
            "text": ""
        },
        "$:/core/Filters/RecentTiddlers": {
            "title": "$:/core/Filters/RecentTiddlers",
            "tags": "$:/tags/Filter",
            "filter": "[!is[system]has[modified]!sort[modified]limit[50]]",
            "description": "{{$:/language/Filters/RecentTiddlers}}",
            "text": ""
        },
        "$:/core/Filters/SessionTiddlers": {
            "title": "$:/core/Filters/SessionTiddlers",
            "tags": "$:/tags/Filter",
            "filter": "[haschanged[]]",
            "description": "{{$:/language/Filters/SessionTiddlers}}",
            "text": ""
        },
        "$:/core/Filters/ShadowTiddlers": {
            "title": "$:/core/Filters/ShadowTiddlers",
            "tags": "$:/tags/Filter",
            "filter": "[all[shadows]sort[title]]",
            "description": "{{$:/language/Filters/ShadowTiddlers}}",
            "text": ""
        },
        "$:/core/Filters/StoryList": {
            "title": "$:/core/Filters/StoryList",
            "tags": "$:/tags/Filter",
            "filter": "[list[$:/StoryList]] -$:/AdvancedSearch",
            "description": "{{$:/language/Filters/StoryList}}",
            "text": ""
        },
        "$:/core/Filters/SystemTags": {
            "title": "$:/core/Filters/SystemTags",
            "tags": "$:/tags/Filter",
            "filter": "[all[shadows+tiddlers]tags[]is[system]sort[title]]",
            "description": "{{$:/language/Filters/SystemTags}}",
            "text": ""
        },
        "$:/core/Filters/SystemTiddlers": {
            "title": "$:/core/Filters/SystemTiddlers",
            "tags": "$:/tags/Filter",
            "filter": "[is[system]sort[title]]",
            "description": "{{$:/language/Filters/SystemTiddlers}}",
            "text": ""
        },
        "$:/core/Filters/TypedTiddlers": {
            "title": "$:/core/Filters/TypedTiddlers",
            "tags": "$:/tags/Filter",
            "filter": "[!is[system]has[type]each[type]sort[type]] -[type[text/vnd.tiddlywiki]]",
            "description": "{{$:/language/Filters/TypedTiddlers}}",
            "text": ""
        },
        "$:/core/ui/ImportListing": {
            "title": "$:/core/ui/ImportListing",
            "text": "\\define lingo-base() $:/language/Import/\n\n\\define messageField()\nmessage-$(payloadTiddler)$\n\\end\n\n\\define selectionField()\nselection-$(payloadTiddler)$\n\\end\n\n\\define previewPopupState()\n$(currentTiddler)$!!popup-$(payloadTiddler)$\n\\end\n\n\\define select-all-actions()\n<$list filter=\"[all[current]plugintiddlers[]sort[title]]\" variable=\"payloadTiddler\">\n<$action-setfield $field={{{ [<payloadTiddler>addprefix[selection-]] }}} $value={{$:/state/import/select-all}}/>\n</$list>\n\\end\n\n<table>\n<tbody>\n<tr>\n<th>\n<$checkbox tiddler=\"$:/state/import/select-all\" field=\"text\" checked=\"checked\" unchecked=\"unchecked\" default=\"checked\" actions=<<select-all-actions>>>\n<<lingo Listing/Select/Caption>>\n</$checkbox>\n</th>\n<th>\n<<lingo Listing/Title/Caption>>\n</th>\n<th>\n<<lingo Listing/Status/Caption>>\n</th>\n</tr>\n<$list filter=\"[all[current]plugintiddlers[]sort[title]]\" variable=\"payloadTiddler\">\n<tr>\n<td>\n<$checkbox field=<<selectionField>> checked=\"checked\" unchecked=\"unchecked\" default=\"checked\"/>\n</td>\n<td>\n<$reveal type=\"nomatch\" stateTitle=<<previewPopupState>> text=\"yes\" tag=\"div\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" setTitle=<<previewPopupState>> setTo=\"yes\">\n{{$:/core/images/right-arrow}}&nbsp;<$text text=<<payloadTiddler>>/>\n</$button>\n</$reveal>\n<$reveal type=\"match\" stateTitle=<<previewPopupState>> text=\"yes\" tag=\"div\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" setTitle=<<previewPopupState>> setTo=\"no\">\n{{$:/core/images/down-arrow}}&nbsp;<$text text=<<payloadTiddler>>/>\n</$button>\n</$reveal>\n</td>\n<td>\n<$view field=<<messageField>>/>\n</td>\n</tr>\n<tr>\n<td colspan=\"3\">\n<$reveal type=\"match\" text=\"yes\" stateTitle=<<previewPopupState>> tag=\"div\">\n<$list filter=\"[{$:/state/importpreviewtype}has[text]]\" variable=\"listItem\" emptyMessage={{$:/core/ui/ImportPreviews/Text}}>\n<$transclude tiddler={{$:/state/importpreviewtype}}/>\n</$list>\n</$reveal>\n</td>\n</tr>\n</$list>\n</tbody>\n</table>\n"
        },
        "$:/core/ui/ImportPreviews/Diff": {
            "title": "$:/core/ui/ImportPreviews/Diff",
            "tags": "$:/tags/ImportPreview",
            "caption": "{{$:/language/Import/Listing/Preview/Diff}}",
            "text": "<$macrocall $name=\"compareTiddlerText\" sourceTiddlerTitle=<<payloadTiddler>> destTiddlerTitle=<<currentTiddler>> destSubTiddlerTitle=<<payloadTiddler>>/>\n"
        },
        "$:/core/ui/ImportPreviews/DiffFields": {
            "title": "$:/core/ui/ImportPreviews/DiffFields",
            "tags": "$:/tags/ImportPreview",
            "caption": "{{$:/language/Import/Listing/Preview/DiffFields}}",
            "text": "<$macrocall $name=\"compareTiddlers\" sourceTiddlerTitle=<<payloadTiddler>> destTiddlerTitle=<<currentTiddler>> destSubTiddlerTitle=<<payloadTiddler>> exclude=\"text\"/>\n"
        },
        "$:/core/ui/ImportPreviews/Fields": {
            "title": "$:/core/ui/ImportPreviews/Fields",
            "tags": "$:/tags/ImportPreview",
            "caption": "{{$:/language/Import/Listing/Preview/Fields}}",
            "text": "<table class=\"tc-view-field-table\">\n<tbody>\n<$list filter=\"[<payloadTiddler>subtiddlerfields<currentTiddler>sort[]] -text\" variable=\"fieldName\">\n<tr class=\"tc-view-field\">\n<td class=\"tc-view-field-name\">\n<$text text=<<fieldName>>/>\n</td>\n<td class=\"tc-view-field-value\">\n<$view field=<<fieldName>> tiddler=<<currentTiddler>> subtiddler=<<payloadTiddler>>/>\n</td>\n</tr>\n</$list>\n</tbody>\n</table>\n"
        },
        "$:/core/ui/ImportPreviews/Text": {
            "title": "$:/core/ui/ImportPreviews/Text",
            "tags": "$:/tags/ImportPreview",
            "caption": "{{$:/language/Import/Listing/Preview/Text}}",
            "text": "<$transclude tiddler=<<currentTiddler>> subtiddler=<<payloadTiddler>> mode=\"block\"/>\n"
        },
        "$:/core/ui/ImportPreviews/TextRaw": {
            "title": "$:/core/ui/ImportPreviews/TextRaw",
            "tags": "$:/tags/ImportPreview",
            "caption": "{{$:/language/Import/Listing/Preview/TextRaw}}",
            "text": "<pre><code><$view tiddler=<<currentTiddler>> subtiddler=<<payloadTiddler>> /></code></pre>"
        },
        "$:/core/ui/KeyboardShortcuts/advanced-search": {
            "title": "$:/core/ui/KeyboardShortcuts/advanced-search",
            "tags": "$:/tags/KeyboardShortcut",
            "key": "((advanced-search))",
            "text": "<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\">\n<$action-navigate $to=\"$:/AdvancedSearch\"/>\n<$action-sendmessage $message=\"tm-focus-selector\" $param=\"\"\"[data-tiddler-title=\"$:/AdvancedSearch\"] .tc-search input\"\"\"/>\n</$navigator>\n"
        },
        "$:/core/ui/KeyboardShortcuts/new-image": {
            "title": "$:/core/ui/KeyboardShortcuts/new-image",
            "tags": "$:/tags/KeyboardShortcut",
            "key": "((new-image))",
            "text": "<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\n{{$:/core/ui/Actions/new-image}}\n</$navigator>\n"
        },
        "$:/core/ui/KeyboardShortcuts/new-journal": {
            "title": "$:/core/ui/KeyboardShortcuts/new-journal",
            "tags": "$:/tags/KeyboardShortcut",
            "key": "((new-journal))",
            "text": "<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\n{{$:/core/ui/Actions/new-journal}}\n</$navigator>\n"
        },
        "$:/core/ui/KeyboardShortcuts/new-tiddler": {
            "title": "$:/core/ui/KeyboardShortcuts/new-tiddler",
            "tags": "$:/tags/KeyboardShortcut",
            "key": "((new-tiddler))",
            "text": "<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\n{{$:/core/ui/Actions/new-tiddler}}\n</$navigator>\n"
        },
        "$:/core/ui/KeyboardShortcuts/sidebar-search": {
            "title": "$:/core/ui/KeyboardShortcuts/sidebar-search",
            "tags": "$:/tags/KeyboardShortcut",
            "key": "((sidebar-search))",
            "text": "<$action-sendmessage $message=\"tm-focus-selector\" $param=\".tc-search input\"/>\n"
        },
        "$:/core/ui/KeyboardShortcut/toggle-sidebar": {
            "title": "$:/core/ui/KeyboardShortcut/toggle-sidebar",
            "tags": "$:/tags/KeyboardShortcut",
            "key": "((toggle-sidebar))",
            "text": "<$list filter=\"[[$:/state/sidebar]is[missing]] [{$:/state/sidebar}removeprefix[yes]]\" emptyMessage=\"\"\"\n<$action-setfield $tiddler=\"$:/state/sidebar\" text=\"yes\"/>\n\"\"\">\n<$action-setfield $tiddler=\"$:/state/sidebar\" text=\"no\"/>\n</$list>\n"
        },
        "$:/core/ui/ListItemTemplate": {
            "title": "$:/core/ui/ListItemTemplate",
            "text": "<div class=\"tc-menu-list-item\">\n<$link to={{!!title}}>\n<$view field=\"title\"/>\n</$link>\n</div>"
        },
        "$:/Manager/ItemMain/Fields": {
            "title": "$:/Manager/ItemMain/Fields",
            "tags": "$:/tags/Manager/ItemMain",
            "caption": "{{$:/language/Manager/Item/Fields}}",
            "text": "<table>\n<tbody>\n<$list filter=\"[all[current]fields[]sort[title]] -text\" template=\"$:/core/ui/TiddlerFieldTemplate\" variable=\"listItem\"/>\n</tbody>\n</table>\n"
        },
        "$:/Manager/ItemMain/RawText": {
            "title": "$:/Manager/ItemMain/RawText",
            "tags": "$:/tags/Manager/ItemMain",
            "caption": "{{$:/language/Manager/Item/RawText}}",
            "text": "<pre><code><$view/></code></pre>\n"
        },
        "$:/Manager/ItemMain/WikifiedText": {
            "title": "$:/Manager/ItemMain/WikifiedText",
            "tags": "$:/tags/Manager/ItemMain",
            "caption": "{{$:/language/Manager/Item/WikifiedText}}",
            "text": "<$transclude mode=\"block\"/>\n"
        },
        "$:/Manager/ItemSidebar/Colour": {
            "title": "$:/Manager/ItemSidebar/Colour",
            "tags": "$:/tags/Manager/ItemSidebar",
            "caption": "{{$:/language/Manager/Item/Colour}}",
            "text": "\\define swatch-styles()\nheight: 1em;\nbackground-color: $(colour)$\n\\end\n\n<$vars colour={{!!color}}>\n<p style=<<swatch-styles>>/>\n</$vars>\n<p>\n<$edit-text field=\"color\" tag=\"input\" type=\"color\"/> / <$edit-text field=\"color\" tag=\"input\" type=\"text\" size=\"9\"/>\n</p>\n"
        },
        "$:/Manager/ItemSidebar/Icon": {
            "title": "$:/Manager/ItemSidebar/Icon",
            "tags": "$:/tags/Manager/ItemSidebar",
            "caption": "{{$:/language/Manager/Item/Icon}}",
            "text": "<p>\n<div class=\"tc-manager-icon-editor\">\n<$button popup=<<qualify \"$:/state/popup/image-picker\">> class=\"tc-btn-invisible\">\n<$transclude tiddler={{!!icon}}>\n{{$:/language/Manager/Item/Icon/None}}\n</$transclude>\n</$button>\n<div class=\"tc-block-dropdown-wrapper\" style=\"position: static;\">\n<$reveal state=<<qualify \"$:/state/popup/image-picker\">> type=\"nomatch\" text=\"\" default=\"\" tag=\"div\" class=\"tc-popup\">\n<div class=\"tc-block-dropdown tc-popup-keep\" style=\"width: 80%; left: 10%; right: 10%; padding: 0.5em;\">\n<$macrocall $name=\"image-picker-include-tagged-images\" actions=\"\"\"\n<$action-setfield $field=\"icon\" $value=<<imageTitle>>/>\n<$action-deletetiddler $tiddler=<<qualify \"$:/state/popup/image-picker\">>/>\n\"\"\"/>\n</div>\n</$reveal>\n</div>\n</div>\n</p>\n"
        },
        "$:/Manager/ItemSidebar/Tags": {
            "title": "$:/Manager/ItemSidebar/Tags",
            "tags": "$:/tags/Manager/ItemSidebar",
            "caption": "{{$:/language/Manager/Item/Tags}}",
            "text": "\\define tag-checkbox-actions()\n<$action-listops\n\t$tiddler=\"$:/config/Manager/RecentTags\"\n\t$subfilter=\"[<tag>] [list[$:/config/Manager/RecentTags]] +[limit[12]]\"\n/>\n\\end\n\n\\define tag-picker-actions()\n<<tag-checkbox-actions>>\n<$action-listops\n\t$tiddler=<<currentTiddler>>\n\t$field=\"tags\"\n\t$subfilter=\"[<tag>] [all[current]tags[]]\"\n/>\n\\end\n\n<p>\n<$list filter=\"[all[current]tags[]] [list[$:/config/Manager/RecentTags]] +[sort[title]] \" variable=\"tag\">\n<div>\n<$checkbox tiddler=<<currentTiddler>> tag=<<tag>> actions=<<tag-checkbox-actions>>>\n<$macrocall $name=\"tag-pill\" tag=<<tag>>/>\n</$checkbox>\n</div>\n</$list>\n</p>\n<p>\n<$macrocall $name=\"tag-picker\" actions=<<tag-picker-actions>>/>\n</p>\n"
        },
        "$:/Manager/ItemSidebar/Tools": {
            "title": "$:/Manager/ItemSidebar/Tools",
            "tags": "$:/tags/Manager/ItemSidebar",
            "caption": "{{$:/language/Manager/Item/Tools}}",
            "text": "<p>\n<$button to=<<currentTiddler>>>{{$:/core/images/link}} open</$button>\n</p>\n<p>\n<$button message=\"tm-edit-tiddler\" param=<<currentTiddler>>>{{$:/core/images/edit-button}} edit</$button>\n</p>\n"
        },
        "$:/Manager": {
            "title": "$:/Manager",
            "icon": "$:/core/images/list",
            "color": "#bbb",
            "text": "\\define lingo-base() $:/language/Manager/\n\n\\define list-item-content-item()\n<div class=\"tc-manager-list-item-content-item\">\n\t<$vars state-title=\"\"\"$:/state/popup/manager/item/$(listItem)$\"\"\">\n\t\t<$reveal state=<<state-title>> type=\"match\" text=\"show\" default=\"show\" tag=\"div\">\n\t\t\t<$button set=<<state-title>> setTo=\"hide\" class=\"tc-btn-invisible tc-manager-list-item-content-item-heading\">\n\t\t\t\t{{$:/core/images/down-arrow}} <$transclude tiddler=<<listItem>> field=\"caption\"/>\n\t\t\t</$button>\n\t\t</$reveal>\n\t\t<$reveal state=<<state-title>> type=\"nomatch\" text=\"show\" default=\"show\" tag=\"div\">\n\t\t\t<$button set=<<state-title>> setTo=\"show\" class=\"tc-btn-invisible tc-manager-list-item-content-item-heading\">\n\t\t\t\t{{$:/core/images/right-arrow}} <$transclude tiddler=<<listItem>> field=\"caption\"/>\n\t\t\t</$button>\n\t\t</$reveal>\n\t\t<$reveal state=<<state-title>> type=\"match\" text=\"show\" default=\"show\" tag=\"div\" class=\"tc-manager-list-item-content-item-body\">\n\t\t\t<$transclude tiddler=<<listItem>>/>\n\t\t</$reveal>\n\t</$vars>\n</div>\n\\end\n\n<div class=\"tc-manager-wrapper\">\n\t<div class=\"tc-manager-controls\">\n\t\t<div class=\"tc-manager-control\">\n\t\t\t<<lingo Controls/Show/Prompt>> <$select tiddler=\"$:/config/Manager/Show\" default=\"tiddlers\">\n\t\t\t\t<option value=\"tiddlers\"><<lingo Controls/Show/Option/Tiddlers>></option>\n\t\t\t\t<option value=\"tags\"><<lingo Controls/Show/Option/Tags>></option>\n\t\t\t</$select>\n\t\t</div>\n\t\t<div class=\"tc-manager-control\">\n\t\t\t<<lingo Controls/Search/Prompt>> <$edit-text tiddler=\"$:/config/Manager/Filter\" tag=\"input\" default=\"\" placeholder={{$:/language/Manager/Controls/Search/Placeholder}}/>\n\t\t</div>\n\t\t<div class=\"tc-manager-control\">\n\t\t\t<<lingo Controls/FilterByTag/Prompt>> <$select tiddler=\"$:/config/Manager/Tag\" default=\"\">\n\t\t\t\t<option value=\"\"><<lingo Controls/FilterByTag/None>></option>\n\t\t\t\t<$list filter=\"[!is{$:/config/Manager/System}tags[]!is[system]sort[title]]\" variable=\"tag\">\n\t\t\t\t\t<option value=<<tag>>><$text text=<<tag>>/></option>\n\t\t\t\t</$list>\n\t\t\t</$select>\n\t\t</div>\n\t\t<div class=\"tc-manager-control\">\n\t\t\t<<lingo Controls/Sort/Prompt>> <$select tiddler=\"$:/config/Manager/Sort\" default=\"title\">\n\t\t\t\t<optgroup label=\"Common\">\n\t\t\t\t\t<$list filter=\"title modified modifier created creator created\" variable=\"field\">\n\t\t\t\t\t\t<option value=<<field>>><$text text=<<field>>/></option>\n\t\t\t\t\t</$list>\n\t\t\t\t</optgroup>\n\t\t\t\t<optgroup label=\"All\">\n\t\t\t\t\t<$list filter=\"[all{$:/config/Manager/Show}!is{$:/config/Manager/System}fields[]sort[title]] -title -modified -modifier -created -creator -created\" variable=\"field\">\n\t\t\t\t\t\t<option value=<<field>>><$text text=<<field>>/></option>\n\t\t\t\t\t</$list>\n\t\t\t\t</optgroup>\n\t\t\t</$select>\n\t\t\t<$checkbox tiddler=\"$:/config/Manager/Order\" field=\"text\" checked=\"reverse\" unchecked=\"forward\" default=\"forward\">\n\t\t\t\t<<lingo Controls/Order/Prompt>>\n\t\t\t</$checkbox>\n\t\t</div>\n\t\t<div class=\"tc-manager-control\">\n\t\t\t<$checkbox tiddler=\"$:/config/Manager/System\" field=\"text\" checked=\"\" unchecked=\"system\" default=\"system\">\n\t\t\t\t{{$:/language/SystemTiddlers/Include/Prompt}}\n\t\t\t</$checkbox>\n\t\t</div>\n\t</div>\n\t<div class=\"tc-manager-list\">\n\t\t<$list filter=\"[all{$:/config/Manager/Show}!is{$:/config/Manager/System}search{$:/config/Manager/Filter}tag:strict{$:/config/Manager/Tag}sort{$:/config/Manager/Sort}order{$:/config/Manager/Order}]\">\n\t\t\t<$vars transclusion=<<currentTiddler>>>\n\t\t\t\t<div style=\"tc-manager-list-item\">\n\t\t\t\t\t<$button popup=<<qualify \"$:/state/manager/popup\">> class=\"tc-btn-invisible tc-manager-list-item-heading\" selectedClass=\"tc-manager-list-item-heading-selected\">\n\t\t\t\t\t\t<$text text=<<currentTiddler>>/>\n\t\t\t\t\t</$button>\n\t\t\t\t\t<$reveal state=<<qualify \"$:/state/manager/popup\">> type=\"nomatch\" text=\"\" default=\"\" tag=\"div\" class=\"tc-manager-list-item-content tc-popup-handle\">\n\t\t\t\t\t\t<div class=\"tc-manager-list-item-content-tiddler\">\n\t\t\t\t\t\t\t<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Manager/ItemMain]!has[draft.of]]\" variable=\"listItem\">\n\t\t\t\t\t\t\t\t<<list-item-content-item>>\n\t\t\t\t\t\t\t</$list>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"tc-manager-list-item-content-sidebar\">\n\t\t\t\t\t\t\t<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Manager/ItemSidebar]!has[draft.of]]\" variable=\"listItem\">\n\t\t\t\t\t\t\t\t<<list-item-content-item>>\n\t\t\t\t\t\t\t</$list>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</$reveal>\n\t\t\t\t</div>\n\t\t\t</$vars>\n\t\t</$list>\n\t</div>\n</div>\n"
        },
        "$:/core/ui/MissingTemplate": {
            "title": "$:/core/ui/MissingTemplate",
            "text": "<div class=\"tc-tiddler-missing\">\n<$button popup=<<qualify \"$:/state/popup/missing\">> class=\"tc-btn-invisible tc-missing-tiddler-label\">\n<$view field=\"title\" format=\"text\" />\n</$button>\n<$reveal state=<<qualify \"$:/state/popup/missing\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n<$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n<hr>\n<$list filter=\"[all[current]backlinks[]sort[title]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n</div>\n</$reveal>\n</div>\n"
        },
        "$:/core/ui/MoreSideBar/All": {
            "title": "$:/core/ui/MoreSideBar/All",
            "tags": "$:/tags/MoreSideBar",
            "caption": "{{$:/language/SideBar/All/Caption}}",
            "text": "<$list filter={{$:/core/Filters/AllTiddlers!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"
        },
        "$:/core/ui/MoreSideBar/Drafts": {
            "title": "$:/core/ui/MoreSideBar/Drafts",
            "tags": "$:/tags/MoreSideBar",
            "caption": "{{$:/language/SideBar/Drafts/Caption}}",
            "text": "<$list filter={{$:/core/Filters/Drafts!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"
        },
        "$:/core/ui/MoreSideBar/Explorer": {
            "title": "$:/core/ui/MoreSideBar/Explorer",
            "tags": "$:/tags/MoreSideBar",
            "caption": "{{$:/language/SideBar/Explorer/Caption}}",
            "text": "<<tree \"$:/\">>\n"
        },
        "$:/core/ui/MoreSideBar/Missing": {
            "title": "$:/core/ui/MoreSideBar/Missing",
            "tags": "$:/tags/MoreSideBar",
            "caption": "{{$:/language/SideBar/Missing/Caption}}",
            "text": "<$list filter={{$:/core/Filters/Missing!!filter}} template=\"$:/core/ui/MissingTemplate\"/>\n"
        },
        "$:/core/ui/MoreSideBar/Orphans": {
            "title": "$:/core/ui/MoreSideBar/Orphans",
            "tags": "$:/tags/MoreSideBar",
            "caption": "{{$:/language/SideBar/Orphans/Caption}}",
            "text": "<$list filter={{$:/core/Filters/Orphans!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"
        },
        "$:/core/ui/MoreSideBar/Plugins": {
            "title": "$:/core/ui/MoreSideBar/Plugins",
            "tags": "$:/tags/MoreSideBar",
            "caption": "{{$:/language/ControlPanel/Plugins/Caption}}",
            "text": "\n{{$:/language/ControlPanel/Plugins/Installed/Hint}}\n\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/MoreSideBar/Plugins]!has[draft.of]]\" \"$:/core/ui/MoreSideBar/Plugins/Plugins\">>\n"
        },
        "$:/core/ui/MoreSideBar/Recent": {
            "title": "$:/core/ui/MoreSideBar/Recent",
            "tags": "$:/tags/MoreSideBar",
            "caption": "{{$:/language/SideBar/Recent/Caption}}",
            "text": "<$macrocall $name=\"timeline\" format={{$:/language/RecentChanges/DateFormat}}/>\n"
        },
        "$:/core/ui/MoreSideBar/Shadows": {
            "title": "$:/core/ui/MoreSideBar/Shadows",
            "tags": "$:/tags/MoreSideBar",
            "caption": "{{$:/language/SideBar/Shadows/Caption}}",
            "text": "<$list filter={{$:/core/Filters/ShadowTiddlers!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"
        },
        "$:/core/ui/MoreSideBar/System": {
            "title": "$:/core/ui/MoreSideBar/System",
            "tags": "$:/tags/MoreSideBar",
            "caption": "{{$:/language/SideBar/System/Caption}}",
            "text": "<$list filter={{$:/core/Filters/SystemTiddlers!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"
        },
        "$:/core/ui/MoreSideBar/Tags": {
            "title": "$:/core/ui/MoreSideBar/Tags",
            "tags": "$:/tags/MoreSideBar",
            "caption": "{{$:/language/SideBar/Tags/Caption}}",
            "text": "<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"\">\n\n{{$:/core/ui/Buttons/tag-manager}}\n\n</$set>\n\n</$set>\n\n</$set>\n\n<$list filter={{$:/core/Filters/AllTags!!filter}}>\n\n<$transclude tiddler=\"$:/core/ui/TagTemplate\"/>\n\n</$list>\n\n<hr class=\"tc-untagged-separator\">\n\n{{$:/core/ui/UntaggedTemplate}}\n"
        },
        "$:/core/ui/MoreSideBar/Types": {
            "title": "$:/core/ui/MoreSideBar/Types",
            "tags": "$:/tags/MoreSideBar",
            "caption": "{{$:/language/SideBar/Types/Caption}}",
            "text": "<$list filter={{$:/core/Filters/TypedTiddlers!!filter}}>\n<div class=\"tc-menu-list-item\">\n<$view field=\"type\"/>\n<$list filter=\"[type{!!type}!is[system]sort[title]]\">\n<div class=\"tc-menu-list-subitem\">\n<$link to={{!!title}}><$view field=\"title\"/></$link>\n</div>\n</$list>\n</div>\n</$list>\n"
        },
        "$:/core/ui/MoreSideBar/Plugins/Languages": {
            "title": "$:/core/ui/MoreSideBar/Plugins/Languages",
            "tags": "$:/tags/MoreSideBar/Plugins",
            "caption": "{{$:/language/ControlPanel/Plugins/Languages/Caption}}",
            "text": "<$list filter=\"[!has[draft.of]plugin-type[language]sort[description]]\" template=\"$:/core/ui/PluginListItemTemplate\" emptyMessage={{$:/language/ControlPanel/Plugins/Empty/Hint}}/>\n"
        },
        "$:/core/ui/MoreSideBar/Plugins/Plugins": {
            "title": "$:/core/ui/MoreSideBar/Plugins/Plugins",
            "tags": "$:/tags/MoreSideBar/Plugins",
            "caption": "{{$:/language/ControlPanel/Plugins/Plugins/Caption}}",
            "text": "<$list filter=\"[!has[draft.of]plugin-type[plugin]sort[description]]\" template=\"$:/core/ui/PluginListItemTemplate\" emptyMessage={{$:/language/ControlPanel/Plugins/Empty/Hint}}>>/>\n"
        },
        "$:/core/ui/MoreSideBar/Plugins/Theme": {
            "title": "$:/core/ui/MoreSideBar/Plugins/Theme",
            "tags": "$:/tags/MoreSideBar/Plugins",
            "caption": "{{$:/language/ControlPanel/Plugins/Themes/Caption}}",
            "text": "<$list filter=\"[!has[draft.of]plugin-type[theme]sort[description]]\" template=\"$:/core/ui/PluginListItemTemplate\" emptyMessage={{$:/language/ControlPanel/Plugins/Empty/Hint}}/>\n"
        },
        "$:/core/ui/Buttons/advanced-search": {
            "title": "$:/core/ui/Buttons/advanced-search",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/advanced-search-button}} {{$:/language/Buttons/AdvancedSearch/Caption}}",
            "description": "{{$:/language/Buttons/AdvancedSearch/Hint}}",
            "text": "\\define control-panel-button(class)\n<$button to=\"$:/AdvancedSearch\" tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class=\"\"\"$(tv-config-toolbar-class)$ $class$\"\"\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/advanced-search-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/AdvancedSearch/Caption}}/></span>\n</$list>\n</$button>\n\\end\n\n<$list filter=\"[list[$:/StoryList]] +[field:title[$:/AdvancedSearch]]\" emptyMessage=<<control-panel-button>>>\n<<control-panel-button \"tc-selected\">>\n</$list>\n"
        },
        "$:/core/ui/Buttons/close-all": {
            "title": "$:/core/ui/Buttons/close-all",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/close-all-button}} {{$:/language/Buttons/CloseAll/Caption}}",
            "description": "{{$:/language/Buttons/CloseAll/Hint}}",
            "text": "<$button message=\"tm-close-all-tiddlers\" tooltip={{$:/language/Buttons/CloseAll/Hint}} aria-label={{$:/language/Buttons/CloseAll/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/close-all-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/CloseAll/Caption}}/></span>\n</$list>\n</$button>"
        },
        "$:/core/ui/Buttons/control-panel": {
            "title": "$:/core/ui/Buttons/control-panel",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/options-button}} {{$:/language/Buttons/ControlPanel/Caption}}",
            "description": "{{$:/language/Buttons/ControlPanel/Hint}}",
            "text": "\\define control-panel-button(class)\n<$button to=\"$:/ControlPanel\" tooltip={{$:/language/Buttons/ControlPanel/Hint}} aria-label={{$:/language/Buttons/ControlPanel/Caption}} class=\"\"\"$(tv-config-toolbar-class)$ $class$\"\"\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/options-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/ControlPanel/Caption}}/></span>\n</$list>\n</$button>\n\\end\n\n<$list filter=\"[list[$:/StoryList]] +[field:title[$:/ControlPanel]]\" emptyMessage=<<control-panel-button>>>\n<<control-panel-button \"tc-selected\">>\n</$list>\n"
        },
        "$:/core/ui/Buttons/encryption": {
            "title": "$:/core/ui/Buttons/encryption",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/locked-padlock}} {{$:/language/Buttons/Encryption/Caption}}",
            "description": "{{$:/language/Buttons/Encryption/Hint}}",
            "text": "<$reveal type=\"match\" state=\"$:/isEncrypted\" text=\"yes\">\n<$button message=\"tm-clear-password\" tooltip={{$:/language/Buttons/Encryption/ClearPassword/Hint}} aria-label={{$:/language/Buttons/Encryption/ClearPassword/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/locked-padlock}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Encryption/ClearPassword/Caption}}/></span>\n</$list>\n</$button>\n</$reveal>\n<$reveal type=\"nomatch\" state=\"$:/isEncrypted\" text=\"yes\">\n<$button message=\"tm-set-password\" tooltip={{$:/language/Buttons/Encryption/SetPassword/Hint}} aria-label={{$:/language/Buttons/Encryption/SetPassword/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/unlocked-padlock}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Encryption/SetPassword/Caption}}/></span>\n</$list>\n</$button>\n</$reveal>"
        },
        "$:/core/ui/Buttons/export-page": {
            "title": "$:/core/ui/Buttons/export-page",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/export-button}} {{$:/language/Buttons/ExportPage/Caption}}",
            "description": "{{$:/language/Buttons/ExportPage/Hint}}",
            "text": "<$macrocall $name=\"exportButton\" exportFilter=\"[!is[system]sort[title]]\" lingoBase=\"$:/language/Buttons/ExportPage/\"/>"
        },
        "$:/core/ui/Buttons/fold-all": {
            "title": "$:/core/ui/Buttons/fold-all",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/fold-all-button}} {{$:/language/Buttons/FoldAll/Caption}}",
            "description": "{{$:/language/Buttons/FoldAll/Hint}}",
            "text": "<$button tooltip={{$:/language/Buttons/FoldAll/Hint}} aria-label={{$:/language/Buttons/FoldAll/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-fold-all-tiddlers\" $param=<<currentTiddler>> foldedStatePrefix=\"$:/state/folded/\"/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\" variable=\"listItem\">\n{{$:/core/images/fold-all-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/FoldAll/Caption}}/></span>\n</$list>\n</$button>"
        },
        "$:/core/ui/Buttons/full-screen": {
            "title": "$:/core/ui/Buttons/full-screen",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/full-screen-button}} {{$:/language/Buttons/FullScreen/Caption}}",
            "description": "{{$:/language/Buttons/FullScreen/Hint}}",
            "text": "<$button message=\"tm-full-screen\" tooltip={{$:/language/Buttons/FullScreen/Hint}} aria-label={{$:/language/Buttons/FullScreen/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/full-screen-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/FullScreen/Caption}}/></span>\n</$list>\n</$button>"
        },
        "$:/core/ui/Buttons/home": {
            "title": "$:/core/ui/Buttons/home",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/home-button}} {{$:/language/Buttons/Home/Caption}}",
            "description": "{{$:/language/Buttons/Home/Hint}}",
            "text": "<$button message=\"tm-home\" tooltip={{$:/language/Buttons/Home/Hint}} aria-label={{$:/language/Buttons/Home/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/home-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Home/Caption}}/></span>\n</$list>\n</$button>"
        },
        "$:/core/ui/Buttons/import": {
            "title": "$:/core/ui/Buttons/import",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/import-button}} {{$:/language/Buttons/Import/Caption}}",
            "description": "{{$:/language/Buttons/Import/Hint}}",
            "text": "<div class=\"tc-file-input-wrapper\">\n<$button tooltip={{$:/language/Buttons/Import/Hint}} aria-label={{$:/language/Buttons/Import/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/import-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Import/Caption}}/></span>\n</$list>\n</$button>\n<$browse tooltip={{$:/language/Buttons/Import/Hint}}/>\n</div>"
        },
        "$:/core/ui/Buttons/language": {
            "title": "$:/core/ui/Buttons/language",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/globe}} {{$:/language/Buttons/Language/Caption}}",
            "description": "{{$:/language/Buttons/Language/Hint}}",
            "text": "\\define flag-title()\n$(languagePluginTitle)$/icon\n\\end\n<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/language\">> tooltip={{$:/language/Buttons/Language/Hint}} aria-label={{$:/language/Buttons/Language/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n<span class=\"tc-image-button\">\n<$set name=\"languagePluginTitle\" value={{$:/language}}>\n<$image source=<<flag-title>>/>\n</$set>\n</span>\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Language/Caption}}/></span>\n</$list>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/language\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n{{$:/snippets/languageswitcher}}\n</div>\n</$reveal>"
        },
        "$:/core/ui/Buttons/manager": {
            "title": "$:/core/ui/Buttons/manager",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/list}} {{$:/language/Buttons/Manager/Caption}}",
            "description": "{{$:/language/Buttons/Manager/Hint}}",
            "text": "\\define manager-button(class)\n<$button to=\"$:/Manager\" tooltip={{$:/language/Buttons/Manager/Hint}} aria-label={{$:/language/Buttons/Manager/Caption}} class=\"\"\"$(tv-config-toolbar-class)$ $class$\"\"\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/list}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Manager/Caption}}/></span>\n</$list>\n</$button>\n\\end\n\n<$list filter=\"[list[$:/StoryList]] +[field:title[$:/Manager]]\" emptyMessage=<<manager-button>>>\n<<manager-button \"tc-selected\">>\n</$list>\n"
        },
        "$:/core/ui/Buttons/more-page-actions": {
            "title": "$:/core/ui/Buttons/more-page-actions",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/down-arrow}} {{$:/language/Buttons/More/Caption}}",
            "description": "{{$:/language/Buttons/More/Hint}}",
            "text": "\\define config-title()\n$:/config/PageControlButtons/Visibility/$(listItem)$\n\\end\n<$button popup=<<qualify \"$:/state/popup/more\">> tooltip={{$:/language/Buttons/More/Hint}} aria-label={{$:/language/Buttons/More/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/down-arrow}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/More/Caption}}/></span>\n</$list>\n</$button><$reveal state=<<qualify \"$:/state/popup/more\">> type=\"popup\" position=\"below\" animate=\"yes\">\n\n<div class=\"tc-drop-down\">\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"tc-btn-invisible\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]] -[[$:/core/ui/Buttons/more-page-actions]]\" variable=\"listItem\">\n\n<$reveal type=\"match\" state=<<config-title>> text=\"hide\">\n\n<$set name=\"tv-config-toolbar-class\" filter=\"[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$set>\n\n</$reveal>\n\n</$list>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</div>\n\n</$reveal>"
        },
        "$:/core/ui/Buttons/new-image": {
            "title": "$:/core/ui/Buttons/new-image",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/new-image-button}} {{$:/language/Buttons/NewImage/Caption}}",
            "description": "{{$:/language/Buttons/NewImage/Hint}}",
            "text": "<$button tooltip={{$:/language/Buttons/NewImage/Hint}} aria-label={{$:/language/Buttons/NewImage/Caption}} class=<<tv-config-toolbar-class>> actions={{$:/core/ui/Actions/new-image}}>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/new-image-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/NewImage/Caption}}/></span>\n</$list>\n</$button>\n"
        },
        "$:/core/ui/Buttons/new-journal": {
            "title": "$:/core/ui/Buttons/new-journal",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/new-journal-button}} {{$:/language/Buttons/NewJournal/Caption}}",
            "description": "{{$:/language/Buttons/NewJournal/Hint}}",
            "text": "\\define journalButton()\n<$button tooltip={{$:/language/Buttons/NewJournal/Hint}} aria-label={{$:/language/Buttons/NewJournal/Caption}} class=<<tv-config-toolbar-class>> actions={{$:/core/ui/Actions/new-journal}}>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/new-journal-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/NewJournal/Caption}}/></span>\n</$list>\n</$button>\n\\end\n<<journalButton>>\n"
        },
        "$:/core/ui/Buttons/new-tiddler": {
            "title": "$:/core/ui/Buttons/new-tiddler",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/new-button}} {{$:/language/Buttons/NewTiddler/Caption}}",
            "description": "{{$:/language/Buttons/NewTiddler/Hint}}",
            "text": "<$button actions={{$:/core/ui/Actions/new-tiddler}} tooltip={{$:/language/Buttons/NewTiddler/Hint}} aria-label={{$:/language/Buttons/NewTiddler/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/new-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/NewTiddler/Caption}}/></span>\n</$list>\n</$button>\n"
        },
        "$:/core/ui/Buttons/palette": {
            "title": "$:/core/ui/Buttons/palette",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/palette}} {{$:/language/Buttons/Palette/Caption}}",
            "description": "{{$:/language/Buttons/Palette/Hint}}",
            "text": "<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/palette\">> tooltip={{$:/language/Buttons/Palette/Hint}} aria-label={{$:/language/Buttons/Palette/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/palette}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Palette/Caption}}/></span>\n</$list>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/palette\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\" style=\"font-size:0.7em;\">\n{{$:/snippets/paletteswitcher}}\n</div>\n</$reveal>"
        },
        "$:/core/ui/Buttons/print": {
            "title": "$:/core/ui/Buttons/print",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/print-button}} {{$:/language/Buttons/Print/Caption}}",
            "description": "{{$:/language/Buttons/Print/Hint}}",
            "text": "<$button message=\"tm-print\" tooltip={{$:/language/Buttons/Print/Hint}} aria-label={{$:/language/Buttons/Print/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/print-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Print/Caption}}/></span>\n</$list>\n</$button>"
        },
        "$:/core/ui/Buttons/refresh": {
            "title": "$:/core/ui/Buttons/refresh",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/refresh-button}} {{$:/language/Buttons/Refresh/Caption}}",
            "description": "{{$:/language/Buttons/Refresh/Hint}}",
            "text": "<$button message=\"tm-browser-refresh\" tooltip={{$:/language/Buttons/Refresh/Hint}} aria-label={{$:/language/Buttons/Refresh/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/refresh-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Refresh/Caption}}/></span>\n</$list>\n</$button>"
        },
        "$:/core/ui/Buttons/save-wiki": {
            "title": "$:/core/ui/Buttons/save-wiki",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/save-button}} {{$:/language/Buttons/SaveWiki/Caption}}",
            "description": "{{$:/language/Buttons/SaveWiki/Hint}}",
            "text": "<$button tooltip={{$:/language/Buttons/SaveWiki/Hint}} aria-label={{$:/language/Buttons/SaveWiki/Caption}} class=<<tv-config-toolbar-class>>>\n<$wikify name=\"site-title\" text={{$:/config/SaveWikiButton/Filename}}>\n<$action-sendmessage $message=\"tm-save-wiki\" $param={{$:/config/SaveWikiButton/Template}} filename=<<site-title>>/>\n</$wikify>\n<span class=\"tc-dirty-indicator\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/save-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/SaveWiki/Caption}}/></span>\n</$list>\n</span>\n</$button>"
        },
        "$:/core/ui/Buttons/storyview": {
            "title": "$:/core/ui/Buttons/storyview",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/storyview-classic}} {{$:/language/Buttons/StoryView/Caption}}",
            "description": "{{$:/language/Buttons/StoryView/Hint}}",
            "text": "\\define icon()\n$:/core/images/storyview-$(storyview)$\n\\end\n<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/storyview\">> tooltip={{$:/language/Buttons/StoryView/Hint}} aria-label={{$:/language/Buttons/StoryView/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n<$set name=\"storyview\" value={{$:/view}}>\n<$transclude tiddler=<<icon>>/>\n</$set>\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/StoryView/Caption}}/></span>\n</$list>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/storyview\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n{{$:/snippets/viewswitcher}}\n</div>\n</$reveal>"
        },
        "$:/core/ui/Buttons/tag-manager": {
            "title": "$:/core/ui/Buttons/tag-manager",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/tag-button}} {{$:/language/Buttons/TagManager/Caption}}",
            "description": "{{$:/language/Buttons/TagManager/Hint}}",
            "text": "\\define control-panel-button(class)\n<$button to=\"$:/TagManager\" tooltip={{$:/language/Buttons/TagManager/Hint}} aria-label={{$:/language/Buttons/TagManager/Caption}} class=\"\"\"$(tv-config-toolbar-class)$ $class$\"\"\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/tag-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/TagManager/Caption}}/></span>\n</$list>\n</$button>\n\\end\n\n<$list filter=\"[list[$:/StoryList]] +[field:title[$:/TagManager]]\" emptyMessage=<<control-panel-button>>>\n<<control-panel-button \"tc-selected\">>\n</$list>\n"
        },
        "$:/core/ui/Buttons/theme": {
            "title": "$:/core/ui/Buttons/theme",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/theme-button}} {{$:/language/Buttons/Theme/Caption}}",
            "description": "{{$:/language/Buttons/Theme/Hint}}",
            "text": "<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/theme\">> tooltip={{$:/language/Buttons/Theme/Hint}} aria-label={{$:/language/Buttons/Theme/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/theme-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Theme/Caption}}/></span>\n</$list>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/theme\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n<$linkcatcher to=\"$:/theme\">\n{{$:/snippets/themeswitcher}}\n</$linkcatcher>\n</div>\n</$reveal>"
        },
        "$:/core/ui/Buttons/timestamp": {
            "title": "$:/core/ui/Buttons/timestamp",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/timestamp-on}} {{$:/language/Buttons/Timestamp/Caption}}",
            "description": "{{$:/language/Buttons/Timestamp/Hint}}",
            "text": "<$reveal type=\"nomatch\" state=\"$:/config/TimestampDisable\" text=\"yes\">\n<$button tooltip={{$:/language/Buttons/Timestamp/On/Hint}} aria-label={{$:/language/Buttons/Timestamp/On/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-setfield $tiddler=\"$:/config/TimestampDisable\" $value=\"yes\"/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/timestamp-on}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Timestamp/On/Caption}}/></span>\n</$list>\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=\"$:/config/TimestampDisable\" text=\"yes\">\n<$button tooltip={{$:/language/Buttons/Timestamp/Off/Hint}} aria-label={{$:/language/Buttons/Timestamp/Off/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-setfield $tiddler=\"$:/config/TimestampDisable\" $value=\"no\"/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/timestamp-off}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Timestamp/Off/Caption}}/></span>\n</$list>\n</$button>\n</$reveal>"
        },
        "$:/core/ui/Buttons/unfold-all": {
            "title": "$:/core/ui/Buttons/unfold-all",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/unfold-all-button}} {{$:/language/Buttons/UnfoldAll/Caption}}",
            "description": "{{$:/language/Buttons/UnfoldAll/Hint}}",
            "text": "<$button tooltip={{$:/language/Buttons/UnfoldAll/Hint}} aria-label={{$:/language/Buttons/UnfoldAll/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-unfold-all-tiddlers\" $param=<<currentTiddler>> foldedStatePrefix=\"$:/state/folded/\"/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\" variable=\"listItem\">\n{{$:/core/images/unfold-all-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/UnfoldAll/Caption}}/></span>\n</$list>\n</$button>"
        },
        "$:/core/ui/PageTemplate/pagecontrols": {
            "title": "$:/core/ui/PageTemplate/pagecontrols",
            "text": "\\whitespace trim\n\\define config-title()\n$:/config/PageControlButtons/Visibility/$(listItem)$\n\\end\n<div class=\"tc-page-controls\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]]\" variable=\"listItem\">\n<$set name=\"hidden\" value=<<config-title>>>\n<$list filter=\"[<hidden>!text[hide]]\" storyview=\"pop\">\n<$set name=\"tv-config-toolbar-class\" filter=\"[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]\">\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n</$set>\n</$list>\n</$set>\n</$list>\n</div>\n"
        },
        "$:/core/ui/PageStylesheet": {
            "title": "$:/core/ui/PageStylesheet",
            "text": "\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n\n<$set name=\"currentTiddler\" value={{$:/language}}>\n\n<$set name=\"languageTitle\" value={{!!name}}>\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Stylesheet]!has[draft.of]]\">\n<$transclude mode=\"block\"/>\n</$list>\n\n</$set>\n\n</$set>\n"
        },
        "$:/core/ui/PageTemplate/alerts": {
            "title": "$:/core/ui/PageTemplate/alerts",
            "tags": "$:/tags/PageTemplate",
            "text": "<div class=\"tc-alerts\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Alert]!has[draft.of]]\" template=\"$:/core/ui/AlertTemplate\" storyview=\"pop\"/>\n\n</div>\n"
        },
        "$:/core/ui/PageTemplate/drafts": {
            "title": "$:/core/ui/PageTemplate/drafts",
            "tags": "$:/tags/PageTemplate",
            "text": "\\whitespace trim\n<$reveal state=\"$:/status/IsReadOnly\" type=\"nomatch\" text=\"yes\" tag=\"div\" class=\"tc-drafts-list\">\n<$list filter=\"[has[draft.of]!sort[modified]] -[list[$:/StoryList]]\">\n<$link>\n{{$:/core/images/edit-button}} <$text text=<<currentTiddler>>/>\n</$link>\n</$list>\n</$reveal>\n"
        },
        "$:/core/ui/PageTemplate/pluginreloadwarning": {
            "title": "$:/core/ui/PageTemplate/pluginreloadwarning",
            "tags": "$:/tags/PageTemplate",
            "text": "\\define lingo-base() $:/language/\n\n<$list filter=\"[has[plugin-type]haschanged[]!plugin-type[import]limit[1]]\">\n\n<$reveal type=\"nomatch\" state=\"$:/temp/HidePluginWarning\" text=\"yes\">\n\n<div class=\"tc-plugin-reload-warning\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"\">\n\n<<lingo PluginReloadWarning>> <$button set=\"$:/temp/HidePluginWarning\" setTo=\"yes\" class=\"tc-btn-invisible\">{{$:/core/images/close-button}}</$button>\n\n</$set>\n\n</div>\n\n</$reveal>\n\n</$list>\n"
        },
        "$:/core/ui/PageTemplate/sidebar": {
            "title": "$:/core/ui/PageTemplate/sidebar",
            "tags": "$:/tags/PageTemplate",
            "text": "\\whitespace trim\n\\define config-title()\n$:/config/SideBarSegments/Visibility/$(listItem)$\n\\end\n\n<$scrollable fallthrough=\"no\" class=\"tc-sidebar-scrollable\">\n\n<div class=\"tc-sidebar-header\">\n\n<$reveal state=\"$:/state/sidebar\" type=\"match\" text=\"yes\" default=\"yes\" retain=\"yes\" animate=\"yes\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SideBarSegment]!has[draft.of]]\" variable=\"listItem\">\n\n<$reveal type=\"nomatch\" state=<<config-title>> text=\"hide\"  tag=\"div\">\n\n<$transclude tiddler=<<listItem>> mode=\"block\"/>\n\n</$reveal>\n\n</$list>\n\n</$reveal>\n\n</div>\n\n</$scrollable>\n"
        },
        "$:/core/ui/PageTemplate/story": {
            "title": "$:/core/ui/PageTemplate/story",
            "tags": "$:/tags/PageTemplate",
            "text": "\\whitespace trim\n<section class=\"tc-story-river\">\n\n<section class=\"story-backdrop\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/AboveStory]!has[draft.of]]\">\n\n<$transclude/>\n\n</$list>\n\n</section>\n\n<$list filter=\"[list[$:/StoryList]]\" history=\"$:/HistoryList\" template={{$:/config/ui/ViewTemplate}} editTemplate={{$:/config/ui/EditTemplate}} storyview={{$:/view}} emptyMessage={{$:/config/EmptyStoryMessage}}/>\n\n<section class=\"story-frontdrop\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/BelowStory]!has[draft.of]]\">\n\n<$transclude/>\n\n</$list>\n\n</section>\n\n</section>\n"
        },
        "$:/core/ui/PageTemplate/topleftbar": {
            "title": "$:/core/ui/PageTemplate/topleftbar",
            "tags": "$:/tags/PageTemplate",
            "text": "<span class=\"tc-topbar tc-topbar-left\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TopLeftBar]!has[draft.of]]\" variable=\"listItem\" storyview=\"pop\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$list>\n\n</span>\n"
        },
        "$:/core/ui/PageTemplate/toprightbar": {
            "title": "$:/core/ui/PageTemplate/toprightbar",
            "tags": "$:/tags/PageTemplate",
            "text": "<span class=\"tc-topbar tc-topbar-right\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TopRightBar]!has[draft.of]]\" variable=\"listItem\" storyview=\"pop\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$list>\n\n</span>\n"
        },
        "$:/core/ui/PageTemplate": {
            "title": "$:/core/ui/PageTemplate",
            "text": "\\whitespace trim\n\\define containerClasses()\ntc-page-container tc-page-view-$(storyviewTitle)$ tc-language-$(languageTitle)$\n\\end\n\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n\n<$set name=\"tv-config-toolbar-icons\" value={{$:/config/Toolbar/Icons}}>\n\n<$set name=\"tv-config-toolbar-text\" value={{$:/config/Toolbar/Text}}>\n\n<$set name=\"tv-config-toolbar-class\" value={{$:/config/Toolbar/ButtonClass}}>\n\n<$set name=\"tv-show-missing-links\" value={{$:/config/MissingLinks}}>\n\n<$set name=\"storyviewTitle\" value={{$:/view}}>\n\n<$set name=\"languageTitle\" value={{{ [{$:/language}get[name]] }}}>\n\n<div class=<<containerClasses>>>\n\n<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\n\n<$dropzone>\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageTemplate]!has[draft.of]]\" variable=\"listItem\">\n\n<$transclude tiddler=<<listItem>>/>\n\n</$list>\n\n</$dropzone>\n\n</$navigator>\n\n</div>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$set>\n"
        },
        "$:/PaletteManager": {
            "title": "$:/PaletteManager",
            "text": "\\define lingo-base() $:/language/ControlPanel/Palette/Editor/\n\\define describePaletteColour(colour)\n<$transclude tiddler=\"$:/language/Docs/PaletteColours/$colour$\"><$text text=\"$colour$\"/></$transclude>\n\\end\n\\define edit-colour-placeholder()\n edit $(colourName)$\n\\end\n\\define colour-tooltip(showhide) $showhide$ editor for $(newColourName)$ \n\\define resolve-colour(macrocall)\n\\import $:/core/macros/utils\n\\whitespace trim\n<$wikify name=\"name\" text=\"\"\"$macrocall$\"\"\">\n<<name>>\n</$wikify>\n\\end\n\\define delete-colour-index-actions() <$action-setfield $index=<<colourName>>/>\n\\define palette-manager-colour-row-segment()\n\\whitespace trim\n<$edit-text index=<<colourName>> tag=\"input\" placeholder=<<edit-colour-placeholder>> default=\"\"/>\n<br>\n<$edit-text index=<<colourName>> type=\"color\" tag=\"input\" class=\"tc-palette-manager-colour-input\"/>\n<$list filter=\"[<currentTiddler>getindex<colourName>removeprefix[<<]removesuffix[>>]] [<currentTiddler>getindex<colourName>removeprefix[<$]removesuffix[/>]]\" variable=\"ignore\">\n<$set name=\"state\" value={{{ [[$:/state/palettemanager/]addsuffix<currentTiddler>addsuffix[/]addsuffix<colourName>] }}}>\n<$wikify name=\"newColourName\" text=\"\"\"<$macrocall $name=\"resolve-colour\" macrocall={{{ [<currentTiddler>getindex<colourName>] }}}/>\"\"\">\n<$reveal state=<<state>> type=\"nomatch\" text=\"show\">\n<$button tooltip=<<colour-tooltip show>> aria-label=<<colour-tooltip show>> class=\"tc-btn-invisible\" set=<<state>> setTo=\"show\">{{$:/core/images/down-arrow}}&nbsp;<$text text=<<newColourName>>/></$button><br>\n</$reveal>\n<$reveal state=<<state>> type=\"match\" text=\"show\">\n<$button tooltip=<<colour-tooltip hide>> aria-label=<<colour-tooltip show>> class=\"tc-btn-invisible\" actions=\"\"\"<$action-deletetiddler $tiddler=<<state>>/>\"\"\">{{$:/core/images/up-arrow}}&nbsp;<$text text=<<newColourName>>/></$button><br>\n</$reveal>\n<$reveal state=<<state>> type=\"match\" text=\"show\">\n<$set name=\"colourName\" value=<<newColourName>>>\n<br>\n<<palette-manager-colour-row-segment>>\n<br><br>\n</$set>\n</$reveal>\n</$wikify>\n</$set>\n</$list>\n\\end\n\\define palette-manager-colour-row()\n\\whitespace trim\n<tr>\n<td>\n<span style=\"float:right;\">\n<$button tooltip=<<lingo Delete/Hint>> aria-label=<<lingo Delete/Hint>> class=\"tc-btn-invisible\" actions=<<delete-colour-index-actions>>>\n{{$:/core/images/delete-button}}</$button>\n</span>\n''<$macrocall $name=\"describePaletteColour\" colour=<<colourName>>/>''<br/>\n<$macrocall $name=\"colourName\" $output=\"text/plain\"/>\n</td>\n<td>\n<<palette-manager-colour-row-segment>>\n</td>\n</tr>\n\\end\n\\define palette-manager-table()\n\\whitespace trim\n<table>\n<tbody>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Palette]indexes[]]\" variable=\"colourName\">\n<$list filter=\"[<currentTiddler>indexes[]removeprefix<colourName>suffix[]]\" variable=\"ignore\" emptyMessage=\"\"\"\n<$list filter=\"[{$:/state/palettemanager/showexternal}removeprefix[yes]suffix[]]\" variable=\"ignore\">\n<<palette-manager-colour-row>>\n</$list>\n\"\"\">\n<<palette-manager-colour-row>>\n</$list>\n</$list>\n</tbody>\n</table>\n\\end\n<$set name=\"currentTiddler\" value={{$:/palette}}>\n\n<<lingo Prompt>> <$link to={{$:/palette}}><$macrocall $name=\"currentTiddler\" $output=\"text/plain\"/></$link>\n\n<$list filter=\"[all[current]is[shadow]is[tiddler]]\" variable=\"listItem\">\n<<lingo Prompt/Modified>>\n<$button message=\"tm-delete-tiddler\" param={{$:/palette}}><<lingo Reset/Caption>></$button>\n</$list>\n\n<$list filter=\"[all[current]is[shadow]!is[tiddler]]\" variable=\"listItem\">\n<<lingo Clone/Prompt>>\n</$list>\n\n<$button message=\"tm-new-tiddler\" param={{$:/palette}}><<lingo Clone/Caption>></$button>\n\n<$checkbox tiddler=\"$:/state/palettemanager/showexternal\" field=\"text\" checked=\"yes\" unchecked=\"no\">&nbsp;<<lingo Names/External/Show>></$checkbox>\n\n<<palette-manager-table>>\n"
        },
        "$:/core/ui/PluginInfo": {
            "title": "$:/core/ui/PluginInfo",
            "text": "\\define localised-info-tiddler-title()\n$(currentTiddler)$/$(languageTitle)$/$(currentTab)$\n\\end\n\\define info-tiddler-title()\n$(currentTiddler)$/$(currentTab)$\n\\end\n\\define default-tiddler-title()\n$:/core/ui/PluginInfo/Default/$(currentTab)$\n\\end\n<$transclude tiddler=<<localised-info-tiddler-title>> mode=\"block\">\n<$transclude tiddler=<<currentTiddler>> subtiddler=<<localised-info-tiddler-title>> mode=\"block\">\n<$transclude tiddler=<<currentTiddler>> subtiddler=<<info-tiddler-title>> mode=\"block\">\n<$transclude tiddler=<<default-tiddler-title>> mode=\"block\">\n{{$:/language/ControlPanel/Plugin/NoInfoFound/Hint}}\n</$transclude>\n</$transclude>\n</$transclude>\n</$transclude>\n"
        },
        "$:/core/ui/PluginInfo/Default/contents": {
            "title": "$:/core/ui/PluginInfo/Default/contents",
            "text": "\\define lingo-base() $:/language/TiddlerInfo/Advanced/PluginInfo/\n<<lingo Hint>>\n<ul>\n<$list filter=\"[all[current]plugintiddlers[]sort[title]]\" emptyMessage=<<lingo Empty/Hint>>>\n<li>\n<$link to={{!!title}}>\n<$view field=\"title\"/>\n</$link>\n</li>\n</$list>\n</ul>\n"
        },
        "$:/core/ui/PluginListItemTemplate": {
            "title": "$:/core/ui/PluginListItemTemplate",
            "text": "<div class=\"tc-menu-list-item\">\n<$link to={{!!title}}>\n<$view field=\"description\">\n<$view field=\"title\"/>\n</$view>\n</$link>\n</div>"
        },
        "$:/core/ui/SearchResults": {
            "title": "$:/core/ui/SearchResults",
            "text": "<div class=\"tc-search-results\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]butfirst[]limit[1]]\" emptyMessage=\"\"\"\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\">\n<$transclude mode=\"block\"/>\n</$list>\n\"\"\">\n\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\" default={{$:/config/SearchResults/Default}}/>\n\n</$list>\n\n</div>\n"
        },
        "$:/core/ui/SideBar/More": {
            "title": "$:/core/ui/SideBar/More",
            "tags": "$:/tags/SideBar",
            "caption": "{{$:/language/SideBar/More/Caption}}",
            "text": "<div class=\"tc-more-sidebar\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/MoreSideBar]!has[draft.of]]\" default={{$:/config/DefaultMoreSidebarTab}} state=\"$:/state/tab/moresidebar\" class=\"tc-vertical\" />\n</div>"
        },
        "$:/core/ui/SideBar/Open": {
            "title": "$:/core/ui/SideBar/Open",
            "tags": "$:/tags/SideBar",
            "caption": "{{$:/language/SideBar/Open/Caption}}",
            "text": "\\whitespace trim\n\\define lingo-base() $:/language/CloseAll/\n\n\\define drop-actions()\n<$action-listops $tiddler=<<tv-story-list>> $subfilter=\"+[insertbefore:currentTiddler<actionTiddler>]\"/>\n\\end\n\n\\define placeholder()\n<div class=\"tc-droppable-placeholder\"/>\n\\end\n\n\\define droppable-item(button)\n\\whitespace trim\n<$droppable actions=<<drop-actions>>>\n<<placeholder>>\n<div>\n$button$\n</div>\n</$droppable>\n\\end\n\n<div class=\"tc-sidebar-tab-open\">\n<$list filter=\"[list<tv-story-list>]\" history=<<tv-history-list>> storyview=\"pop\">\n<div class=\"tc-sidebar-tab-open-item\">\n<$macrocall $name=\"droppable-item\" button=\"\"\"<$button message=\"tm-close-tiddler\" tooltip={{$:/language/Buttons/Close/Hint}} aria-label={{$:/language/Buttons/Close/Caption}} class=\"tc-btn-invisible tc-btn-mini\">{{$:/core/images/close-button}}</$button>&nbsp;<$link to={{!!title}}><$view field=\"title\"/></$link>\"\"\"/>\n</div>\n</$list>\n<$tiddler tiddler=\"\">\n<div>\n<$macrocall $name=\"droppable-item\" button=\"\"\"<$button message=\"tm-close-all-tiddlers\" class=\"tc-btn-invisible tc-btn-mini\"><<lingo Button>></$button>\"\"\"/>\n</div>\n</$tiddler>\n</div>\n"
        },
        "$:/core/ui/SideBar/Recent": {
            "title": "$:/core/ui/SideBar/Recent",
            "tags": "$:/tags/SideBar",
            "caption": "{{$:/language/SideBar/Recent/Caption}}",
            "text": "<$macrocall $name=\"timeline\" format={{$:/language/RecentChanges/DateFormat}}/>\n"
        },
        "$:/core/ui/SideBar/Tools": {
            "title": "$:/core/ui/SideBar/Tools",
            "tags": "$:/tags/SideBar",
            "caption": "{{$:/language/SideBar/Tools/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/\n\\define config-title()\n$:/config/PageControlButtons/Visibility/$(listItem)$\n\\end\n\n<<lingo Basics/Version/Prompt>> <<version>>\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]]\" variable=\"listItem\">\n\n<div style=\"position:relative;\" class={{{ [<listItem>encodeuricomponent[]addprefix[tc-btn-]] }}}>\n\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/> <$transclude tiddler=<<listItem>>/> <i class=\"tc-muted\"><$transclude tiddler=<<listItem>> field=\"description\"/></i>\n\n</div>\n\n</$list>\n\n</$set>\n\n</$set>\n\n</$set>\n"
        },
        "$:/core/ui/SideBarLists": {
            "title": "$:/core/ui/SideBarLists",
            "text": "<$transclude tiddler=\"$:/core/ui/SideBarSegments/search\"/>\n\n<$transclude tiddler=\"$:/core/ui/SideBarSegments/tabs\"/>\n\n"
        },
        "$:/core/ui/SideBarSegments/page-controls": {
            "title": "$:/core/ui/SideBarSegments/page-controls",
            "tags": "$:/tags/SideBarSegment",
            "text": "{{||$:/core/ui/PageTemplate/pagecontrols}}\n"
        },
        "$:/core/ui/SideBarSegments/search": {
            "title": "$:/core/ui/SideBarSegments/search",
            "tags": "$:/tags/SideBarSegment",
            "text": "<div class=\"tc-sidebar-lists tc-sidebar-search\">\n\n<$set name=\"searchTiddler\" value=\"$:/temp/search\">\n<div class=\"tc-search\">\n<$edit-text tiddler=\"$:/temp/search\" type=\"search\" tag=\"input\" focus={{$:/config/Search/AutoFocus}} focusPopup=<<qualify \"$:/state/popup/search-dropdown\">> class=\"tc-popup-handle\"/>\n<$reveal state=\"$:/temp/search\" type=\"nomatch\" text=\"\">\n<$button tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" text={{$:/temp/search}}/>\n<$action-setfield $tiddler=\"$:/temp/search\" text=\"\"/>\n<$action-navigate $to=\"$:/AdvancedSearch\"/>\n{{$:/core/images/advanced-search-button}}\n</$button>\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/search\" text=\"\" />\n{{$:/core/images/close-button}}\n</$button>\n<$button popup=<<qualify \"$:/state/popup/search-dropdown\">> class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n<$list filter=\"[{$:/temp/search}minlength{$:/config/Search/MinLength}limit[1]]\" variable=\"listItem\">\n<$set name=\"searchTerm\" value={{{ [<searchTiddler>get[text]] }}}>\n<$set name=\"resultCount\" value=\"\"\"<$count filter=\"[!is[system]search<searchTerm>]\"/>\"\"\">\n{{$:/language/Search/Matches}}\n</$set>\n</$set>\n</$list>\n</$button>\n</$reveal>\n<$reveal state=\"$:/temp/search\" type=\"match\" text=\"\">\n<$button to=\"$:/AdvancedSearch\" tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class=\"tc-btn-invisible\">\n{{$:/core/images/advanced-search-button}}\n</$button>\n</$reveal>\n</div>\n\n<$reveal tag=\"div\" class=\"tc-block-dropdown-wrapper\" state=\"$:/temp/search\" type=\"nomatch\" text=\"\">\n\n<$reveal tag=\"div\" class=\"tc-block-dropdown tc-search-drop-down tc-popup-handle\" state=<<qualify \"$:/state/popup/search-dropdown\">> type=\"nomatch\" text=\"\" default=\"\">\n\n<$list filter=\"[{$:/temp/search}minlength{$:/config/Search/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n\n{{$:/core/ui/SearchResults}}\n\n</$list>\n\n</$reveal>\n\n</$reveal>\n\n</$set>\n\n</div>\n"
        },
        "$:/core/ui/SideBarSegments/site-subtitle": {
            "title": "$:/core/ui/SideBarSegments/site-subtitle",
            "tags": "$:/tags/SideBarSegment",
            "text": "<div class=\"tc-site-subtitle\">\n\n<$transclude tiddler=\"$:/SiteSubtitle\" mode=\"inline\"/>\n\n</div>\n"
        },
        "$:/core/ui/SideBarSegments/site-title": {
            "title": "$:/core/ui/SideBarSegments/site-title",
            "tags": "$:/tags/SideBarSegment",
            "text": "<h1 class=\"tc-site-title\">\n\n<$transclude tiddler=\"$:/SiteTitle\" mode=\"inline\"/>\n\n</h1>\n"
        },
        "$:/core/ui/SideBarSegments/tabs": {
            "title": "$:/core/ui/SideBarSegments/tabs",
            "tags": "$:/tags/SideBarSegment",
            "text": "<div class=\"tc-sidebar-lists tc-sidebar-tabs\">\n\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/SideBar]!has[draft.of]]\" default={{$:/config/DefaultSidebarTab}} state=\"$:/state/tab/sidebar\" />\n\n</div>\n"
        },
        "$:/TagManager": {
            "title": "$:/TagManager",
            "icon": "$:/core/images/tag-button",
            "color": "#bbb",
            "text": "\\define lingo-base() $:/language/TagManager/\n\\define iconEditorTab(type)\n<$list filter=\"[all[shadows+tiddlers]is[image]] [all[shadows+tiddlers]tag[$:/tags/Image]] -[type[application/pdf]] +[sort[title]] +[$type$is[system]]\">\n<$link to={{!!title}}>\n<$transclude/> <$view field=\"title\"/>\n</$link>\n</$list>\n\\end\n\\define iconEditor(title)\n<div class=\"tc-drop-down-wrapper\">\n<$button popupTitle={{{ [[$:/state/popup/icon/]addsuffix<__title__>] }}} class=\"tc-btn-invisible tc-btn-dropdown\">{{$:/core/images/down-arrow}}</$button>\n<$reveal stateTitle={{{ [[$:/state/popup/icon/]addsuffix<__title__>] }}} type=\"popup\" position=\"belowleft\" text=\"\" default=\"\">\n<div class=\"tc-drop-down\">\n<$linkcatcher actions=\"\"\"<$action-setfield $tiddler=<<__title__>> icon=<<navigateTo>>/>\"\"\">\n<<iconEditorTab type:\"!\">>\n<hr/>\n<<iconEditorTab type:\"\">>\n</$linkcatcher>\n</div>\n</$reveal>\n</div>\n\\end\n\\define toggleButton(state)\n<$reveal stateTitle=<<__state__>> type=\"match\" text=\"closed\" default=\"closed\">\n<$button setTitle=<<__state__>> setTo=\"open\" class=\"tc-btn-invisible tc-btn-dropdown\" selectedClass=\"tc-selected\">\n{{$:/core/images/info-button}}\n</$button>\n</$reveal>\n<$reveal stateTitle=<<__state__>> type=\"match\" text=\"open\" default=\"closed\">\n<$button setTitle=<<__state__>> setTo=\"closed\" class=\"tc-btn-invisible tc-btn-dropdown\" selectedClass=\"tc-selected\">\n{{$:/core/images/info-button}}\n</$button>\n</$reveal>\n\\end\n<table class=\"tc-tag-manager-table\">\n<tbody>\n<tr>\n<th><<lingo Colour/Heading>></th>\n<th class=\"tc-tag-manager-tag\"><<lingo Tag/Heading>></th>\n<th><<lingo Count/Heading>></th>\n<th><<lingo Icon/Heading>></th>\n<th><<lingo Info/Heading>></th>\n</tr>\n<$list filter=\"[tags[]!is[system]sort[title]]\">\n<tr>\n<td><$edit-text field=\"color\" tag=\"input\" type=\"color\"/></td>\n<td>{{||$:/core/ui/TagTemplate}}</td>\n<td><$count filter=\"[all[current]tagging[]]\"/></td>\n<td>\n<$macrocall $name=\"iconEditor\" title={{!!title}}/>\n</td>\n<td>\n<$macrocall $name=\"toggleButton\" state={{{ [[$:/state/tag-manager/]addsuffix<currentTiddler>] }}} /> \n</td>\n</tr>\n<tr>\n<td></td>\n<td colspan=\"4\">\n<$reveal stateTitle={{{ [[$:/state/tag-manager/]addsuffix<currentTiddler>] }}} type=\"match\" text=\"open\" default=\"\">\n<table>\n<tbody>\n<tr><td><<lingo Colour/Heading>></td><td><$edit-text field=\"color\" tag=\"input\" type=\"text\" size=\"9\"/></td></tr>\n<tr><td><<lingo Icon/Heading>></td><td><$edit-text field=\"icon\" tag=\"input\" size=\"45\"/></td></tr>\n</tbody>\n</table>\n</$reveal>\n</td>\n</tr>\n</$list>\n<tr>\n<td></td>\n<td style=\"position:relative;\">\n{{$:/core/ui/UntaggedTemplate}}\n</td>\n<td>\n<small class=\"tc-menu-list-count\"><$count filter=\"[untagged[]!is[system]] -[tags[]]\"/></small>\n</td>\n<td></td>\n<td></td>\n</tr>\n</tbody>\n</table>\n"
        },
        "$:/core/ui/TagTemplate": {
            "title": "$:/core/ui/TagTemplate",
            "text": "\\whitespace trim\n<span class=\"tc-tag-list-item\">\n<$set name=\"transclusion\" value=<<currentTiddler>>>\n<$macrocall $name=\"tag-pill-body\" tag=<<currentTiddler>> icon={{!!icon}} colour={{!!color}} palette={{$:/palette}} element-tag=\"\"\"$button\"\"\" element-attributes=\"\"\"popup=<<qualify \"$:/state/popup/tag\">> dragFilter='[all[current]tagging[]]' tag='span'\"\"\"/>\n<$reveal state=<<qualify \"$:/state/popup/tag\">> type=\"popup\" position=\"below\" animate=\"yes\" class=\"tc-drop-down\">\n<$set name=\"tv-show-missing-links\" value=\"yes\">\n<$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n</$set>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TagDropdown]!has[draft.of]]\" variable=\"listItem\"> \n<$transclude tiddler=<<listItem>>/> \n</$list>\n<hr>\n<$macrocall $name=\"list-tagged-draggable\" tag=<<currentTiddler>>/>\n</$reveal>\n</$set>\n</span>\n"
        },
        "$:/core/ui/TiddlerFieldTemplate": {
            "title": "$:/core/ui/TiddlerFieldTemplate",
            "text": "<tr class=\"tc-view-field\">\n<td class=\"tc-view-field-name\">\n<$text text=<<listItem>>/>\n</td>\n<td class=\"tc-view-field-value\">\n<$view field=<<listItem>>/>\n</td>\n</tr>"
        },
        "$:/core/ui/TiddlerFields": {
            "title": "$:/core/ui/TiddlerFields",
            "text": "<table class=\"tc-view-field-table\">\n<tbody>\n<$list filter=\"[all[current]fields[]sort[title]] -text\" template=\"$:/core/ui/TiddlerFieldTemplate\" variable=\"listItem\"/>\n</tbody>\n</table>\n"
        },
        "$:/core/ui/TiddlerInfo/Advanced/PluginInfo": {
            "title": "$:/core/ui/TiddlerInfo/Advanced/PluginInfo",
            "tags": "$:/tags/TiddlerInfo/Advanced",
            "text": "\\define lingo-base() $:/language/TiddlerInfo/Advanced/PluginInfo/\n<$list filter=\"[all[current]has[plugin-type]]\">\n\n! <<lingo Heading>>\n\n<<lingo Hint>>\n<ul>\n<$list filter=\"[all[current]plugintiddlers[]sort[title]]\" emptyMessage=<<lingo Empty/Hint>>>\n<li>\n<$link to={{!!title}}>\n<$view field=\"title\"/>\n</$link>\n</li>\n</$list>\n</ul>\n\n</$list>\n"
        },
        "$:/core/ui/TiddlerInfo/Advanced/ShadowInfo": {
            "title": "$:/core/ui/TiddlerInfo/Advanced/ShadowInfo",
            "tags": "$:/tags/TiddlerInfo/Advanced",
            "text": "\\define lingo-base() $:/language/TiddlerInfo/Advanced/ShadowInfo/\n<$set name=\"infoTiddler\" value=<<currentTiddler>>>\n\n''<<lingo Heading>>''\n\n<$list filter=\"[all[current]!is[shadow]]\">\n\n<<lingo NotShadow/Hint>>\n\n</$list>\n\n<$list filter=\"[all[current]is[shadow]]\">\n\n<<lingo Shadow/Hint>>\n\n<$list filter=\"[all[current]shadowsource[]]\">\n\n<$set name=\"pluginTiddler\" value=<<currentTiddler>>>\n<<lingo Shadow/Source>>\n</$set>\n\n</$list>\n\n<$list filter=\"[all[current]is[shadow]is[tiddler]]\">\n\n<<lingo OverriddenShadow/Hint>>\n\n</$list>\n\n\n</$list>\n</$set>\n"
        },
        "$:/core/ui/TiddlerInfo/Advanced": {
            "title": "$:/core/ui/TiddlerInfo/Advanced",
            "tags": "$:/tags/TiddlerInfo",
            "caption": "{{$:/language/TiddlerInfo/Advanced/Caption}}",
            "text": "<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TiddlerInfo/Advanced]!has[draft.of]]\" variable=\"listItem\">\n<$transclude tiddler=<<listItem>>/>\n\n</$list>\n"
        },
        "$:/core/ui/TiddlerInfo/Fields": {
            "title": "$:/core/ui/TiddlerInfo/Fields",
            "tags": "$:/tags/TiddlerInfo",
            "caption": "{{$:/language/TiddlerInfo/Fields/Caption}}",
            "text": "<$transclude tiddler=\"$:/core/ui/TiddlerFields\"/>\n"
        },
        "$:/core/ui/TiddlerInfo/List": {
            "title": "$:/core/ui/TiddlerInfo/List",
            "tags": "$:/tags/TiddlerInfo",
            "caption": "{{$:/language/TiddlerInfo/List/Caption}}",
            "text": "\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[list{!!title}]\" emptyMessage=<<lingo List/Empty>> template=\"$:/core/ui/ListItemTemplate\"/>\n"
        },
        "$:/core/ui/TiddlerInfo/Listed": {
            "title": "$:/core/ui/TiddlerInfo/Listed",
            "tags": "$:/tags/TiddlerInfo",
            "caption": "{{$:/language/TiddlerInfo/Listed/Caption}}",
            "text": "\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[all[current]listed[]!is[system]]\" emptyMessage=<<lingo Listed/Empty>> template=\"$:/core/ui/ListItemTemplate\"/>\n"
        },
        "$:/core/ui/TiddlerInfo/References": {
            "title": "$:/core/ui/TiddlerInfo/References",
            "tags": "$:/tags/TiddlerInfo",
            "caption": "{{$:/language/TiddlerInfo/References/Caption}}",
            "text": "\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[all[current]backlinks[]sort[title]]\" emptyMessage=<<lingo References/Empty>> template=\"$:/core/ui/ListItemTemplate\">\n</$list>"
        },
        "$:/core/ui/TiddlerInfo/Tagging": {
            "title": "$:/core/ui/TiddlerInfo/Tagging",
            "tags": "$:/tags/TiddlerInfo",
            "caption": "{{$:/language/TiddlerInfo/Tagging/Caption}}",
            "text": "\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[all[current]tagging[]]\" emptyMessage=<<lingo Tagging/Empty>> template=\"$:/core/ui/ListItemTemplate\"/>\n"
        },
        "$:/core/ui/TiddlerInfo/Tools": {
            "title": "$:/core/ui/TiddlerInfo/Tools",
            "tags": "$:/tags/TiddlerInfo",
            "caption": "{{$:/language/TiddlerInfo/Tools/Caption}}",
            "text": "\\define lingo-base() $:/language/TiddlerInfo/\n\\define config-title()\n$:/config/ViewToolbarButtons/Visibility/$(listItem)$\n\\end\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]]\" variable=\"listItem\">\n\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/> <$transclude tiddler=<<listItem>>/> <i class=\"tc-muted\"><$transclude tiddler=<<listItem>> field=\"description\"/></i>\n\n</$list>\n\n</$set>\n\n</$set>\n\n</$set>\n"
        },
        "$:/core/ui/TiddlerInfo": {
            "title": "$:/core/ui/TiddlerInfo",
            "text": "<div style=\"position:relative;\">\n<div class=\"tc-tiddler-controls\" style=\"position:absolute;right:0;\">\n<$reveal state=\"$:/config/TiddlerInfo/Mode\" type=\"match\" text=\"sticky\">\n<$button set=<<tiddlerInfoState>> setTo=\"\" tooltip={{$:/language/Buttons/Info/Hint}} aria-label={{$:/language/Buttons/Info/Caption}} class=\"tc-btn-invisible\">\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</div>\n</div>\n\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/TiddlerInfo]!has[draft.of]]\" default={{$:/config/TiddlerInfo/Default}}/>"
        },
        "$:/core/ui/TopBar/menu": {
            "title": "$:/core/ui/TopBar/menu",
            "tags": "$:/tags/TopRightBar",
            "text": "<$reveal state=\"$:/state/sidebar\" type=\"nomatch\" text=\"no\">\n<$button set=\"$:/state/sidebar\" setTo=\"no\" tooltip={{$:/language/Buttons/HideSideBar/Hint}} aria-label={{$:/language/Buttons/HideSideBar/Caption}} class=\"tc-btn-invisible\">{{$:/core/images/chevron-right}}</$button>\n</$reveal>\n<$reveal state=\"$:/state/sidebar\" type=\"match\" text=\"no\">\n<$button set=\"$:/state/sidebar\" setTo=\"yes\" tooltip={{$:/language/Buttons/ShowSideBar/Hint}} aria-label={{$:/language/Buttons/ShowSideBar/Caption}} class=\"tc-btn-invisible\">{{$:/core/images/chevron-left}}</$button>\n</$reveal>\n"
        },
        "$:/core/ui/UntaggedTemplate": {
            "title": "$:/core/ui/UntaggedTemplate",
            "text": "\\define lingo-base() $:/language/SideBar/\n<$button popup=<<qualify \"$:/state/popup/tag\">> class=\"tc-btn-invisible tc-untagged-label tc-tag-label\">\n<<lingo Tags/Untagged/Caption>>\n</$button>\n<$reveal state=<<qualify \"$:/state/popup/tag\">> type=\"popup\" position=\"below\">\n<div class=\"tc-drop-down\">\n<$list filter=\"[untagged[]!is[system]] -[tags[]] +[sort[title]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n</div>\n</$reveal>\n"
        },
        "$:/core/ui/ViewTemplate/body": {
            "title": "$:/core/ui/ViewTemplate/body",
            "tags": "$:/tags/ViewTemplate",
            "text": "<$reveal tag=\"div\" class=\"tc-tiddler-body\" type=\"nomatch\" stateTitle=<<folded-state>> text=\"hide\" retain=\"yes\" animate=\"yes\">\n\n<$list filter=\"[all[current]!has[plugin-type]!field:hide-body[yes]]\">\n\n<$transclude>\n\n<$transclude tiddler=\"$:/language/MissingTiddler/Hint\"/>\n\n</$transclude>\n\n</$list>\n\n</$reveal>\n"
        },
        "$:/core/ui/ViewTemplate/classic": {
            "title": "$:/core/ui/ViewTemplate/classic",
            "tags": "$:/tags/ViewTemplate $:/tags/EditTemplate",
            "text": "\\define lingo-base() $:/language/ClassicWarning/\n<$list filter=\"[all[current]type[text/x-tiddlywiki]]\">\n<div class=\"tc-message-box\">\n\n<<lingo Hint>>\n\n<$button set=\"!!type\" setTo=\"text/vnd.tiddlywiki\"><<lingo Upgrade/Caption>></$button>\n\n</div>\n</$list>\n"
        },
        "$:/core/ui/ViewTemplate/import": {
            "title": "$:/core/ui/ViewTemplate/import",
            "tags": "$:/tags/ViewTemplate",
            "text": "\\define lingo-base() $:/language/Import/\n\n\\define buttons()\n<$button message=\"tm-delete-tiddler\" param=<<currentTiddler>>><<lingo Listing/Cancel/Caption>></$button>\n<$button message=\"tm-perform-import\" param=<<currentTiddler>>><<lingo Listing/Import/Caption>></$button>\n<<lingo Listing/Preview>> <$select tiddler=\"$:/state/importpreviewtype\" default=\"$:/core/ui/ImportPreviews/Text\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ImportPreview]!has[draft.of]]\">\n<option value=<<currentTiddler>>>{{!!caption}}</option>\n</$list>\n</$select>\n\\end\n\n<$list filter=\"[all[current]field:plugin-type[import]]\">\n\n<div class=\"tc-import\">\n\n<<lingo Listing/Hint>>\n\n<<buttons>>\n\n{{||$:/core/ui/ImportListing}}\n\n<<buttons>>\n\n</div>\n\n</$list>\n"
        },
        "$:/core/ui/ViewTemplate/plugin": {
            "title": "$:/core/ui/ViewTemplate/plugin",
            "tags": "$:/tags/ViewTemplate",
            "text": "<$list filter=\"[all[current]has[plugin-type]] -[all[current]field:plugin-type[import]]\">\n<$set name=\"plugin-type\" value={{!!plugin-type}}>\n<$set name=\"default-popup-state\" value=\"yes\">\n<$set name=\"qualified-state\" value=<<qualify \"$:/state/plugin-info\">>>\n{{||$:/core/ui/Components/plugin-info}}\n</$set>\n</$set>\n</$set>\n</$list>\n"
        },
        "$:/core/ui/ViewTemplate/subtitle": {
            "title": "$:/core/ui/ViewTemplate/subtitle",
            "tags": "$:/tags/ViewTemplate",
            "text": "<$reveal type=\"nomatch\" stateTitle=<<folded-state>> text=\"hide\" tag=\"div\" retain=\"yes\" animate=\"yes\">\n<div class=\"tc-subtitle\">\n<$link to={{!!modifier}}>\n<$view field=\"modifier\"/>\n</$link> <$view field=\"modified\" format=\"date\" template={{$:/language/Tiddler/DateFormat}}/>\n</div>\n</$reveal>\n"
        },
        "$:/core/ui/ViewTemplate/tags": {
            "title": "$:/core/ui/ViewTemplate/tags",
            "tags": "$:/tags/ViewTemplate",
            "text": "<$reveal type=\"nomatch\" stateTitle=<<folded-state>> text=\"hide\" tag=\"div\" retain=\"yes\" animate=\"yes\">\n<div class=\"tc-tags-wrapper\"><$list filter=\"[all[current]tags[]sort[title]]\" template=\"$:/core/ui/TagTemplate\" storyview=\"pop\"/></div>\n</$reveal>\n"
        },
        "$:/core/ui/ViewTemplate/title": {
            "title": "$:/core/ui/ViewTemplate/title",
            "tags": "$:/tags/ViewTemplate",
            "text": "\\define title-styles()\nfill:$(foregroundColor)$;\n\\end\n\\define config-title()\n$:/config/ViewToolbarButtons/Visibility/$(listItem)$\n\\end\n<div class=\"tc-tiddler-title\">\n<div class=\"tc-titlebar\">\n<span class=\"tc-tiddler-controls\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]]\" variable=\"listItem\"><$reveal type=\"nomatch\" state=<<config-title>> text=\"hide\"><$set name=\"tv-config-toolbar-class\" filter=\"[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]\"><$transclude tiddler=<<listItem>>/></$set></$reveal></$list>\n</span>\n<$set name=\"tv-wikilinks\" value={{$:/config/Tiddlers/TitleLinks}}>\n<$link>\n<$set name=\"foregroundColor\" value={{!!color}}>\n<span class=\"tc-tiddler-title-icon\" style=<<title-styles>>>\n<$transclude tiddler={{!!icon}}/>\n</span>\n</$set>\n<$list filter=\"[all[current]removeprefix[$:/]]\">\n<h2 class=\"tc-title\" title={{$:/language/SystemTiddler/Tooltip}}>\n<span class=\"tc-system-title-prefix\">$:/</span><$text text=<<currentTiddler>>/>\n</h2>\n</$list>\n<$list filter=\"[all[current]!prefix[$:/]]\">\n<h2 class=\"tc-title\">\n<$view field=\"title\"/>\n</h2>\n</$list>\n</$link>\n</$set>\n</div>\n\n<$reveal type=\"nomatch\" text=\"\" default=\"\" state=<<tiddlerInfoState>> class=\"tc-tiddler-info tc-popup-handle\" animate=\"yes\" retain=\"yes\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TiddlerInfoSegment]!has[draft.of]] [[$:/core/ui/TiddlerInfo]]\" variable=\"listItem\"><$transclude tiddler=<<listItem>> mode=\"block\"/></$list>\n\n</$reveal>\n</div>"
        },
        "$:/core/ui/ViewTemplate/unfold": {
            "title": "$:/core/ui/ViewTemplate/unfold",
            "tags": "$:/tags/ViewTemplate",
            "text": "<$reveal tag=\"div\" type=\"nomatch\" state=\"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-bar\" text=\"hide\">\n<$reveal tag=\"div\" type=\"nomatch\" stateTitle=<<folded-state>> text=\"hide\" default=\"show\" retain=\"yes\" animate=\"yes\">\n<$button tooltip={{$:/language/Buttons/Fold/Hint}} aria-label={{$:/language/Buttons/Fold/Caption}} class=\"tc-fold-banner\">\n<$action-sendmessage $message=\"tm-fold-tiddler\" $param=<<currentTiddler>> foldedState=<<folded-state>>/>\n{{$:/core/images/chevron-up}}\n</$button>\n</$reveal>\n<$reveal tag=\"div\" type=\"nomatch\" stateTitle=<<folded-state>> text=\"show\" default=\"show\" retain=\"yes\" animate=\"yes\">\n<$button tooltip={{$:/language/Buttons/Unfold/Hint}} aria-label={{$:/language/Buttons/Unfold/Caption}} class=\"tc-unfold-banner\">\n<$action-sendmessage $message=\"tm-fold-tiddler\" $param=<<currentTiddler>> foldedState=<<folded-state>>/>\n{{$:/core/images/chevron-down}}\n</$button>\n</$reveal>\n</$reveal>\n"
        },
        "$:/core/ui/ViewTemplate": {
            "title": "$:/core/ui/ViewTemplate",
            "text": "\\define folded-state()\n$:/state/folded/$(currentTiddler)$\n\\end\n<$vars storyTiddler=<<currentTiddler>> tiddlerInfoState=<<qualify \"$:/state/popup/tiddler-info\">>><div data-tiddler-title=<<currentTiddler>> data-tags={{!!tags}} class={{{ tc-tiddler-frame tc-tiddler-view-frame [<currentTiddler>is[tiddler]then[tc-tiddler-exists]] [<currentTiddler>is[missing]!is[shadow]then[tc-tiddler-missing]] [<currentTiddler>is[shadow]then[tc-tiddler-exists tc-tiddler-shadow]] [<currentTiddler>is[system]then[tc-tiddler-system]] [{!!class}] [<currentTiddler>tags[]encodeuricomponent[]addprefix[tc-tagged-]] +[join[ ]] }}}><$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewTemplate]!has[draft.of]]\" variable=\"listItem\"><$transclude tiddler=<<listItem>>/></$list>\n</div>\n</$vars>\n"
        },
        "$:/core/ui/Buttons/clone": {
            "title": "$:/core/ui/Buttons/clone",
            "tags": "$:/tags/ViewToolbar",
            "caption": "{{$:/core/images/clone-button}} {{$:/language/Buttons/Clone/Caption}}",
            "description": "{{$:/language/Buttons/Clone/Hint}}",
            "text": "\\whitespace trim\n<$button message=\"tm-new-tiddler\" param=<<currentTiddler>> tooltip={{$:/language/Buttons/Clone/Hint}} aria-label={{$:/language/Buttons/Clone/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/clone-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/Clone/Caption}}/>\n</span>\n</$list>\n</$button>"
        },
        "$:/core/ui/Buttons/close-others": {
            "title": "$:/core/ui/Buttons/close-others",
            "tags": "$:/tags/ViewToolbar",
            "caption": "{{$:/core/images/close-others-button}} {{$:/language/Buttons/CloseOthers/Caption}}",
            "description": "{{$:/language/Buttons/CloseOthers/Hint}}",
            "text": "\\whitespace trim\n<$button message=\"tm-close-other-tiddlers\" param=<<currentTiddler>> tooltip={{$:/language/Buttons/CloseOthers/Hint}} aria-label={{$:/language/Buttons/CloseOthers/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/close-others-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/CloseOthers/Caption}}/>\n</span>\n</$list>\n</$button>"
        },
        "$:/core/ui/Buttons/close": {
            "title": "$:/core/ui/Buttons/close",
            "tags": "$:/tags/ViewToolbar",
            "caption": "{{$:/core/images/close-button}} {{$:/language/Buttons/Close/Caption}}",
            "description": "{{$:/language/Buttons/Close/Hint}}",
            "text": "\\whitespace trim\n<$button message=\"tm-close-tiddler\" tooltip={{$:/language/Buttons/Close/Hint}} aria-label={{$:/language/Buttons/Close/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/close-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/Close/Caption}}/>\n</span>\n</$list>\n</$button>"
        },
        "$:/core/ui/Buttons/edit": {
            "title": "$:/core/ui/Buttons/edit",
            "tags": "$:/tags/ViewToolbar",
            "caption": "{{$:/core/images/edit-button}} {{$:/language/Buttons/Edit/Caption}}",
            "description": "{{$:/language/Buttons/Edit/Hint}}",
            "text": "\\whitespace trim\n<$button message=\"tm-edit-tiddler\" tooltip={{$:/language/Buttons/Edit/Hint}} aria-label={{$:/language/Buttons/Edit/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/edit-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/Edit/Caption}}/>\n</span>\n</$list>\n</$button>"
        },
        "$:/core/ui/Buttons/export-tiddler": {
            "title": "$:/core/ui/Buttons/export-tiddler",
            "tags": "$:/tags/ViewToolbar",
            "caption": "{{$:/core/images/export-button}} {{$:/language/Buttons/ExportTiddler/Caption}}",
            "description": "{{$:/language/Buttons/ExportTiddler/Hint}}",
            "text": "\\define makeExportFilter()\n[[$(currentTiddler)$]]\n\\end\n<$macrocall $name=\"exportButton\" exportFilter=<<makeExportFilter>> lingoBase=\"$:/language/Buttons/ExportTiddler/\" baseFilename=<<currentTiddler>>/>"
        },
        "$:/core/ui/Buttons/fold-bar": {
            "title": "$:/core/ui/Buttons/fold-bar",
            "tags": "$:/tags/ViewToolbar",
            "caption": "{{$:/core/images/chevron-up}} {{$:/language/Buttons/Fold/FoldBar/Caption}}",
            "description": "{{$:/language/Buttons/Fold/FoldBar/Hint}}",
            "text": "<!-- This dummy toolbar button is here to allow visibility of the fold-bar to be controlled as if it were a toolbar button -->"
        },
        "$:/core/ui/Buttons/fold-others": {
            "title": "$:/core/ui/Buttons/fold-others",
            "tags": "$:/tags/ViewToolbar",
            "caption": "{{$:/core/images/fold-others-button}} {{$:/language/Buttons/FoldOthers/Caption}}",
            "description": "{{$:/language/Buttons/FoldOthers/Hint}}",
            "text": "\\whitespace trim\n<$button tooltip={{$:/language/Buttons/FoldOthers/Hint}} aria-label={{$:/language/Buttons/FoldOthers/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-fold-other-tiddlers\" $param=<<currentTiddler>> foldedStatePrefix=\"$:/state/folded/\"/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\" variable=\"listItem\">\n{{$:/core/images/fold-others-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/FoldOthers/Caption}}/>\n</span>\n</$list>\n</$button>"
        },
        "$:/core/ui/Buttons/fold": {
            "title": "$:/core/ui/Buttons/fold",
            "tags": "$:/tags/ViewToolbar",
            "caption": "{{$:/core/images/fold-button}} {{$:/language/Buttons/Fold/Caption}}",
            "description": "{{$:/language/Buttons/Fold/Hint}}",
            "text": "\\whitespace trim\n<$reveal type=\"nomatch\" stateTitle=<<folded-state>> text=\"hide\" default=\"show\">\n<$button tooltip={{$:/language/Buttons/Fold/Hint}} aria-label={{$:/language/Buttons/Fold/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-fold-tiddler\" $param=<<currentTiddler>> foldedState=<<folded-state>>/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\" variable=\"listItem\">\n{{$:/core/images/fold-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/Fold/Caption}}/>\n</span>\n</$list>\n</$button>\n</$reveal>\n<$reveal type=\"match\" stateTitle=<<folded-state>> text=\"hide\" default=\"show\">\n<$button tooltip={{$:/language/Buttons/Unfold/Hint}} aria-label={{$:/language/Buttons/Unfold/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-fold-tiddler\" $param=<<currentTiddler>> foldedState=<<folded-state>>/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\" variable=\"listItem\">\n{{$:/core/images/unfold-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/Unfold/Caption}}/>\n</span>\n</$list>\n</$button>\n</$reveal>\n"
        },
        "$:/core/ui/Buttons/info": {
            "title": "$:/core/ui/Buttons/info",
            "tags": "$:/tags/ViewToolbar",
            "caption": "{{$:/core/images/info-button}} {{$:/language/Buttons/Info/Caption}}",
            "description": "{{$:/language/Buttons/Info/Hint}}",
            "text": "\\whitespace trim\n\\define button-content()\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/info-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/Info/Caption}}/>\n</span>\n</$list>\n\\end\n<$reveal state=\"$:/config/TiddlerInfo/Mode\" type=\"match\" text=\"popup\">\n<$button popup=<<tiddlerInfoState>> tooltip={{$:/language/Buttons/Info/Hint}} aria-label={{$:/language/Buttons/Info/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$macrocall $name=\"button-content\" mode=\"inline\"/>\n</$button>\n</$reveal>\n<$reveal state=\"$:/config/TiddlerInfo/Mode\" type=\"match\" text=\"sticky\">\n<$reveal state=<<tiddlerInfoState>> type=\"match\" text=\"\" default=\"\">\n<$button set=<<tiddlerInfoState>> setTo=\"yes\" tooltip={{$:/language/Buttons/Info/Hint}} aria-label={{$:/language/Buttons/Info/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$macrocall $name=\"button-content\" mode=\"inline\"/>\n</$button>\n</$reveal>\n<$reveal state=<<tiddlerInfoState>> type=\"nomatch\" text=\"\" default=\"\">\n<$button set=<<tiddlerInfoState>> setTo=\"\" tooltip={{$:/language/Buttons/Info/Hint}} aria-label={{$:/language/Buttons/Info/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$macrocall $name=\"button-content\" mode=\"inline\"/>\n</$button>\n</$reveal>\n</$reveal>"
        },
        "$:/core/ui/Buttons/more-tiddler-actions": {
            "title": "$:/core/ui/Buttons/more-tiddler-actions",
            "tags": "$:/tags/ViewToolbar",
            "caption": "{{$:/core/images/down-arrow}} {{$:/language/Buttons/More/Caption}}",
            "description": "{{$:/language/Buttons/More/Hint}}",
            "text": "\\whitespace trim\n\\define config-title()\n$:/config/ViewToolbarButtons/Visibility/$(listItem)$\n\\end\n<$button popup=<<qualify \"$:/state/popup/more\">> tooltip={{$:/language/Buttons/More/Hint}} aria-label={{$:/language/Buttons/More/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/down-arrow}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/More/Caption}}/>\n</span>\n</$list>\n</$button>\n<$reveal state=<<qualify \"$:/state/popup/more\">> type=\"popup\" position=\"belowleft\" animate=\"yes\">\n\n<div class=\"tc-drop-down\">\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"tc-btn-invisible\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]] -[[$:/core/ui/Buttons/more-tiddler-actions]]\" variable=\"listItem\">\n\n<$reveal type=\"match\" state=<<config-title>> text=\"hide\">\n\n<$set name=\"tv-config-toolbar-class\" filter=\"[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$set>\n\n</$reveal>\n\n</$list>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</div>\n\n</$reveal>"
        },
        "$:/core/ui/Buttons/new-here": {
            "title": "$:/core/ui/Buttons/new-here",
            "tags": "$:/tags/ViewToolbar",
            "caption": "{{$:/core/images/new-here-button}} {{$:/language/Buttons/NewHere/Caption}}",
            "description": "{{$:/language/Buttons/NewHere/Hint}}",
            "text": "\\whitespace trim\n\\define newHereActions()\n<$set name=\"tags\" filter=\"[<currentTiddler>]\">\n<$action-sendmessage $message=\"tm-new-tiddler\" tags=<<tags>>/>\n</$set>\n\\end\n\\define newHereButton()\n<$button actions=<<newHereActions>> tooltip={{$:/language/Buttons/NewHere/Hint}} aria-label={{$:/language/Buttons/NewHere/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/new-here-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/NewHere/Caption}}/>\n</span>\n</$list>\n</$button>\n\\end\n<<newHereButton>>"
        },
        "$:/core/ui/Buttons/new-journal-here": {
            "title": "$:/core/ui/Buttons/new-journal-here",
            "tags": "$:/tags/ViewToolbar",
            "caption": "{{$:/core/images/new-journal-button}} {{$:/language/Buttons/NewJournalHere/Caption}}",
            "description": "{{$:/language/Buttons/NewJournalHere/Hint}}",
            "text": "\\whitespace trim\n\\define journalButtonTags()\n[[$(currentTiddlerTag)$]] $(journalTags)$\n\\end\n\\define journalButton()\n<$button tooltip={{$:/language/Buttons/NewJournalHere/Hint}} aria-label={{$:/language/Buttons/NewJournalHere/Caption}} class=<<tv-config-toolbar-class>>>\n<$wikify name=\"journalTitle\" text=\"\"\"<$macrocall $name=\"now\" format=<<journalTitleTemplate>>/>\"\"\">\n<$action-sendmessage $message=\"tm-new-tiddler\" title=<<journalTitle>> tags=<<journalButtonTags>>/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/new-journal-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/NewJournalHere/Caption}}/>\n</span>\n</$list>\n</$wikify>\n</$button>\n\\end\n<$set name=\"journalTitleTemplate\" value={{$:/config/NewJournal/Title}}>\n<$set name=\"journalTags\" value={{$:/config/NewJournal/Tags}}>\n<$set name=\"currentTiddlerTag\" value=<<currentTiddler>>>\n<<journalButton>>\n</$set>\n</$set>\n</$set>"
        },
        "$:/core/ui/Buttons/open-window": {
            "title": "$:/core/ui/Buttons/open-window",
            "tags": "$:/tags/ViewToolbar",
            "caption": "{{$:/core/images/open-window}} {{$:/language/Buttons/OpenWindow/Caption}}",
            "description": "{{$:/language/Buttons/OpenWindow/Hint}}",
            "text": "\\whitespace trim\n<$button message=\"tm-open-window\" tooltip={{$:/language/Buttons/OpenWindow/Hint}} aria-label={{$:/language/Buttons/OpenWindow/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/open-window}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/OpenWindow/Caption}}/>\n</span>\n</$list>\n</$button>"
        },
        "$:/core/ui/Buttons/permalink": {
            "title": "$:/core/ui/Buttons/permalink",
            "tags": "$:/tags/ViewToolbar",
            "caption": "{{$:/core/images/permalink-button}} {{$:/language/Buttons/Permalink/Caption}}",
            "description": "{{$:/language/Buttons/Permalink/Hint}}",
            "text": "\\whitespace trim\n<$button message=\"tm-permalink\" tooltip={{$:/language/Buttons/Permalink/Hint}} aria-label={{$:/language/Buttons/Permalink/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/permalink-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/Permalink/Caption}}/>\n</span>\n</$list>\n</$button>"
        },
        "$:/core/ui/Buttons/permaview": {
            "title": "$:/core/ui/Buttons/permaview",
            "tags": "$:/tags/ViewToolbar $:/tags/PageControls",
            "caption": "{{$:/core/images/permaview-button}} {{$:/language/Buttons/Permaview/Caption}}",
            "description": "{{$:/language/Buttons/Permaview/Hint}}",
            "text": "\\whitespace trim\n<$button message=\"tm-permaview\" tooltip={{$:/language/Buttons/Permaview/Hint}} aria-label={{$:/language/Buttons/Permaview/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/permaview-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/Permaview/Caption}}/>\n</span>\n</$list>\n</$button>"
        },
        "$:/DefaultTiddlers": {
            "title": "$:/DefaultTiddlers",
            "text": "GettingStarted\n"
        },
        "$:/temp/advancedsearch": {
            "title": "$:/temp/advancedsearch",
            "text": ""
        },
        "$:/snippets/allfields": {
            "title": "$:/snippets/allfields",
            "text": "\\define renderfield(title)\n<tr class=\"tc-view-field\"><td class=\"tc-view-field-name\">''$title$'':</td><td class=\"tc-view-field-value\">//{{$:/language/Docs/Fields/$title$}}//</td></tr>\n\\end\n<table class=\"tc-view-field-table\"><tbody><$list filter=\"[fields[]sort[title]]\" variable=\"listItem\"><$macrocall $name=\"renderfield\" title=<<listItem>>/></$list>\n</tbody></table>\n"
        },
        "$:/config/AnimationDuration": {
            "title": "$:/config/AnimationDuration",
            "text": "400"
        },
        "$:/config/AutoSave": {
            "title": "$:/config/AutoSave",
            "text": "yes"
        },
        "$:/config/BitmapEditor/Colour": {
            "title": "$:/config/BitmapEditor/Colour",
            "text": "#444"
        },
        "$:/config/BitmapEditor/ImageSizes": {
            "title": "$:/config/BitmapEditor/ImageSizes",
            "text": "[[62px 100px]] [[100px 62px]] [[124px 200px]] [[200px 124px]] [[248px 400px]] [[371px 600px]] [[400px 248px]] [[556px 900px]] [[600px 371px]] [[742px 1200px]] [[900px 556px]] [[1200px 742px]]"
        },
        "$:/config/BitmapEditor/LineWidth": {
            "title": "$:/config/BitmapEditor/LineWidth",
            "text": "3px"
        },
        "$:/config/BitmapEditor/LineWidths": {
            "title": "$:/config/BitmapEditor/LineWidths",
            "text": "0.25px 0.5px 1px 2px 3px 4px 6px 8px 10px 16px 20px 28px 40px 56px 80px"
        },
        "$:/config/BitmapEditor/Opacities": {
            "title": "$:/config/BitmapEditor/Opacities",
            "text": "0.01 0.025 0.05 0.075 0.1 0.15 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0"
        },
        "$:/config/BitmapEditor/Opacity": {
            "title": "$:/config/BitmapEditor/Opacity",
            "text": "1.0"
        },
        "$:/config/DefaultMoreSidebarTab": {
            "title": "$:/config/DefaultMoreSidebarTab",
            "text": "$:/core/ui/MoreSideBar/Tags"
        },
        "$:/config/DefaultSidebarTab": {
            "title": "$:/config/DefaultSidebarTab",
            "text": "$:/core/ui/SideBar/Open"
        },
        "$:/config/DownloadSaver/AutoSave": {
            "title": "$:/config/DownloadSaver/AutoSave",
            "text": "no"
        },
        "$:/config/Drafts/TypingTimeout": {
            "title": "$:/config/Drafts/TypingTimeout",
            "text": "400"
        },
        "$:/config/EditTemplateFields/Visibility/title": {
            "title": "$:/config/EditTemplateFields/Visibility/title",
            "text": "hide"
        },
        "$:/config/EditTemplateFields/Visibility/tags": {
            "title": "$:/config/EditTemplateFields/Visibility/tags",
            "text": "hide"
        },
        "$:/config/EditTemplateFields/Visibility/text": {
            "title": "$:/config/EditTemplateFields/Visibility/text",
            "text": "hide"
        },
        "$:/config/EditTemplateFields/Visibility/creator": {
            "title": "$:/config/EditTemplateFields/Visibility/creator",
            "text": "hide"
        },
        "$:/config/EditTemplateFields/Visibility/created": {
            "title": "$:/config/EditTemplateFields/Visibility/created",
            "text": "hide"
        },
        "$:/config/EditTemplateFields/Visibility/modified": {
            "title": "$:/config/EditTemplateFields/Visibility/modified",
            "text": "hide"
        },
        "$:/config/EditTemplateFields/Visibility/modifier": {
            "title": "$:/config/EditTemplateFields/Visibility/modifier",
            "text": "hide"
        },
        "$:/config/EditTemplateFields/Visibility/type": {
            "title": "$:/config/EditTemplateFields/Visibility/type",
            "text": "hide"
        },
        "$:/config/EditTemplateFields/Visibility/draft.title": {
            "title": "$:/config/EditTemplateFields/Visibility/draft.title",
            "text": "hide"
        },
        "$:/config/EditTemplateFields/Visibility/draft.of": {
            "title": "$:/config/EditTemplateFields/Visibility/draft.of",
            "text": "hide"
        },
        "$:/config/EditTemplateFields/Visibility/revision": {
            "title": "$:/config/EditTemplateFields/Visibility/revision",
            "text": "hide"
        },
        "$:/config/EditTemplateFields/Visibility/bag": {
            "title": "$:/config/EditTemplateFields/Visibility/bag",
            "text": "hide"
        },
        "$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-4": {
            "title": "$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-4",
            "text": "hide"
        },
        "$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-5": {
            "title": "$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-5",
            "text": "hide"
        },
        "$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-6": {
            "title": "$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-6",
            "text": "hide"
        },
        "$:/config/EditorTypeMappings/image/gif": {
            "title": "$:/config/EditorTypeMappings/image/gif",
            "text": "bitmap"
        },
        "$:/config/EditorTypeMappings/image/webp": {
            "title": "$:/config/EditorTypeMappings/image/webp",
            "text": "bitmap"
        },
        "$:/config/EditorTypeMappings/image/heic": {
            "title": "$:/config/EditorTypeMappings/image/heic",
            "text": "bitmap"
        },
        "$:/config/EditorTypeMappings/image/heif": {
            "title": "$:/config/EditorTypeMappings/image/heif",
            "text": "bitmap"
        },
        "$:/config/EditorTypeMappings/image/jpeg": {
            "title": "$:/config/EditorTypeMappings/image/jpeg",
            "text": "bitmap"
        },
        "$:/config/EditorTypeMappings/image/jpg": {
            "title": "$:/config/EditorTypeMappings/image/jpg",
            "text": "bitmap"
        },
        "$:/config/EditorTypeMappings/image/png": {
            "title": "$:/config/EditorTypeMappings/image/png",
            "text": "bitmap"
        },
        "$:/config/EditorTypeMappings/image/x-icon": {
            "title": "$:/config/EditorTypeMappings/image/x-icon",
            "text": "bitmap"
        },
        "$:/config/EditorTypeMappings/text/vnd.tiddlywiki": {
            "title": "$:/config/EditorTypeMappings/text/vnd.tiddlywiki",
            "text": "text"
        },
        "$:/config/Manager/Show": {
            "title": "$:/config/Manager/Show",
            "text": "tiddlers"
        },
        "$:/config/Manager/Filter": {
            "title": "$:/config/Manager/Filter",
            "text": ""
        },
        "$:/config/Manager/Order": {
            "title": "$:/config/Manager/Order",
            "text": "forward"
        },
        "$:/config/Manager/Sort": {
            "title": "$:/config/Manager/Sort",
            "text": "title"
        },
        "$:/config/Manager/System": {
            "title": "$:/config/Manager/System",
            "text": "system"
        },
        "$:/config/Manager/Tag": {
            "title": "$:/config/Manager/Tag",
            "text": ""
        },
        "$:/state/popup/manager/item/$:/Manager/ItemMain/RawText": {
            "title": "$:/state/popup/manager/item/$:/Manager/ItemMain/RawText",
            "text": "hide"
        },
        "$:/config/MissingLinks": {
            "title": "$:/config/MissingLinks",
            "text": "yes"
        },
        "$:/config/Navigation/UpdateAddressBar": {
            "title": "$:/config/Navigation/UpdateAddressBar",
            "text": "no"
        },
        "$:/config/Navigation/UpdateHistory": {
            "title": "$:/config/Navigation/UpdateHistory",
            "text": "no"
        },
        "$:/config/NewImageType": {
            "title": "$:/config/NewImageType",
            "text": "jpeg"
        },
        "$:/config/OfficialPluginLibrary": {
            "title": "$:/config/OfficialPluginLibrary",
            "tags": "$:/tags/PluginLibrary",
            "url": "https://tiddlywiki.com/library/v5.1.21/index.html",
            "caption": "{{$:/language/OfficialPluginLibrary}}",
            "text": "{{$:/language/OfficialPluginLibrary/Hint}}\n"
        },
        "$:/config/Navigation/openLinkFromInsideRiver": {
            "title": "$:/config/Navigation/openLinkFromInsideRiver",
            "text": "below"
        },
        "$:/config/Navigation/openLinkFromOutsideRiver": {
            "title": "$:/config/Navigation/openLinkFromOutsideRiver",
            "text": "top"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/advanced-search": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/advanced-search",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/close-all": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/close-all",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/encryption": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/encryption",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/export-page": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/export-page",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/fold-all": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/fold-all",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/full-screen": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/full-screen",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/home": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/home",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/refresh": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/refresh",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/import": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/import",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/language": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/language",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/tag-manager": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/tag-manager",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/manager": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/manager",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/more-page-actions": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/more-page-actions",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/new-journal": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/new-journal",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/new-image": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/new-image",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/palette": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/palette",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/permaview": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/permaview",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/print": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/print",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/storyview": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/storyview",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/timestamp": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/timestamp",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/theme": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/theme",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/unfold-all": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/unfold-all",
            "text": "hide"
        },
        "$:/config/Performance/Instrumentation": {
            "title": "$:/config/Performance/Instrumentation",
            "text": "no"
        },
        "$:/config/SaveWikiButton/Template": {
            "title": "$:/config/SaveWikiButton/Template",
            "text": "$:/core/save/all"
        },
        "$:/config/SaverFilter": {
            "title": "$:/config/SaverFilter",
            "text": "[all[]] -[[$:/HistoryList]] -[[$:/StoryList]] -[[$:/Import]] -[[$:/isEncrypted]] -[[$:/UploadName]] -[prefix[$:/state/]] -[prefix[$:/temp/]]"
        },
        "$:/config/Search/AutoFocus": {
            "title": "$:/config/Search/AutoFocus",
            "text": "true"
        },
        "$:/config/Search/MinLength": {
            "title": "$:/config/Search/MinLength",
            "text": "3"
        },
        "$:/config/SearchResults/Default": {
            "title": "$:/config/SearchResults/Default",
            "text": "$:/core/ui/DefaultSearchResultList"
        },
        "$:/config/ShortcutInfo/advanced-search": {
            "title": "$:/config/ShortcutInfo/advanced-search",
            "text": "{{$:/language/Buttons/AdvancedSearch/Hint}}"
        },
        "$:/config/ShortcutInfo/bold": {
            "title": "$:/config/ShortcutInfo/bold",
            "text": "{{$:/language/Buttons/Bold/Hint}}"
        },
        "$:/config/ShortcutInfo/cancel-edit-tiddler": {
            "title": "$:/config/ShortcutInfo/cancel-edit-tiddler",
            "text": "{{$:/language/Buttons/Cancel/Hint}}"
        },
        "$:/config/ShortcutInfo/excise": {
            "title": "$:/config/ShortcutInfo/excise",
            "text": "{{$:/language/Buttons/Excise/Hint}}"
        },
        "$:/config/ShortcutInfo/heading-1": {
            "title": "$:/config/ShortcutInfo/heading-1",
            "text": "{{$:/language/Buttons/Heading1/Hint}}"
        },
        "$:/config/ShortcutInfo/heading-2": {
            "title": "$:/config/ShortcutInfo/heading-2",
            "text": "{{$:/language/Buttons/Heading2/Hint}}"
        },
        "$:/config/ShortcutInfo/heading-3": {
            "title": "$:/config/ShortcutInfo/heading-3",
            "text": "{{$:/language/Buttons/Heading3/Hint}}"
        },
        "$:/config/ShortcutInfo/heading-4": {
            "title": "$:/config/ShortcutInfo/heading-4",
            "text": "{{$:/language/Buttons/Heading4/Hint}}"
        },
        "$:/config/ShortcutInfo/heading-5": {
            "title": "$:/config/ShortcutInfo/heading-5",
            "text": "{{$:/language/Buttons/Heading5/Hint}}"
        },
        "$:/config/ShortcutInfo/heading-6": {
            "title": "$:/config/ShortcutInfo/heading-6",
            "text": "{{$:/language/Buttons/Heading6/Hint}}"
        },
        "$:/config/ShortcutInfo/italic": {
            "title": "$:/config/ShortcutInfo/italic",
            "text": "{{$:/language/Buttons/Italic/Hint}}"
        },
        "$:/config/ShortcutInfo/link": {
            "title": "$:/config/ShortcutInfo/link",
            "text": "{{$:/language/Buttons/Link/Hint}}"
        },
        "$:/config/ShortcutInfo/list-bullet": {
            "title": "$:/config/ShortcutInfo/list-bullet",
            "text": "{{$:/language/Buttons/ListBullet/Hint}}"
        },
        "$:/config/ShortcutInfo/list-number": {
            "title": "$:/config/ShortcutInfo/list-number",
            "text": "{{$:/language/Buttons/ListNumber/Hint}}"
        },
        "$:/config/ShortcutInfo/mono-block": {
            "title": "$:/config/ShortcutInfo/mono-block",
            "text": "{{$:/language/Buttons/MonoBlock/Hint}}"
        },
        "$:/config/ShortcutInfo/mono-line": {
            "title": "$:/config/ShortcutInfo/mono-line",
            "text": "{{$:/language/Buttons/MonoLine/Hint}}"
        },
        "$:/config/ShortcutInfo/new-image": {
            "title": "$:/config/ShortcutInfo/new-image",
            "text": "{{$:/language/Buttons/NewImage/Hint}}"
        },
        "$:/config/ShortcutInfo/new-journal": {
            "title": "$:/config/ShortcutInfo/new-journal",
            "text": "{{$:/language/Buttons/NewJournal/Hint}}"
        },
        "$:/config/ShortcutInfo/new-tiddler": {
            "title": "$:/config/ShortcutInfo/new-tiddler",
            "text": "{{$:/language/Buttons/NewTiddler/Hint}}"
        },
        "$:/config/ShortcutInfo/picture": {
            "title": "$:/config/ShortcutInfo/picture",
            "text": "{{$:/language/Buttons/Picture/Hint}}"
        },
        "$:/config/ShortcutInfo/preview": {
            "title": "$:/config/ShortcutInfo/preview",
            "text": "{{$:/language/Buttons/Preview/Hint}}"
        },
        "$:/config/ShortcutInfo/quote": {
            "title": "$:/config/ShortcutInfo/quote",
            "text": "{{$:/language/Buttons/Quote/Hint}}"
        },
        "$:/config/ShortcutInfo/save-tiddler": {
            "title": "$:/config/ShortcutInfo/save-tiddler",
            "text": "{{$:/language/Buttons/Save/Hint}}"
        },
        "$:/config/ShortcutInfo/sidebar-search": {
            "title": "$:/config/ShortcutInfo/sidebar-search",
            "text": "{{$:/language/Buttons/SidebarSearch/Hint}}"
        },
        "$:/config/ShortcutInfo/stamp": {
            "title": "$:/config/ShortcutInfo/stamp",
            "text": "{{$:/language/Buttons/Stamp/Hint}}"
        },
        "$:/config/ShortcutInfo/strikethrough": {
            "title": "$:/config/ShortcutInfo/strikethrough",
            "text": "{{$:/language/Buttons/Strikethrough/Hint}}"
        },
        "$:/config/ShortcutInfo/subscript": {
            "title": "$:/config/ShortcutInfo/subscript",
            "text": "{{$:/language/Buttons/Subscript/Hint}}"
        },
        "$:/config/ShortcutInfo/superscript": {
            "title": "$:/config/ShortcutInfo/superscript",
            "text": "{{$:/language/Buttons/Superscript/Hint}}"
        },
        "$:/config/ShortcutInfo/toggle-sidebar": {
            "title": "$:/config/ShortcutInfo/toggle-sidebar",
            "text": "{{$:/language/Buttons/ToggleSidebar/Hint}}"
        },
        "$:/config/ShortcutInfo/underline": {
            "title": "$:/config/ShortcutInfo/underline",
            "text": "{{$:/language/Buttons/Underline/Hint}}"
        },
        "$:/config/SyncFilter": {
            "title": "$:/config/SyncFilter",
            "text": "[is[tiddler]] -[[$:/HistoryList]] -[[$:/Import]] -[[$:/isEncrypted]] -[prefix[$:/status/]] -[prefix[$:/state/]] -[prefix[$:/temp/]]"
        },
        "$:/config/Tags/MinLength": {
            "title": "$:/config/Tags/MinLength",
            "text": "0"
        },
        "$:/config/TextEditor/EditorHeight/Height": {
            "title": "$:/config/TextEditor/EditorHeight/Height",
            "text": "400px"
        },
        "$:/config/TextEditor/EditorHeight/Mode": {
            "title": "$:/config/TextEditor/EditorHeight/Mode",
            "text": "auto"
        },
        "$:/config/TiddlerInfo/Default": {
            "title": "$:/config/TiddlerInfo/Default",
            "text": "$:/core/ui/TiddlerInfo/Fields"
        },
        "$:/config/TiddlerInfo/Mode": {
            "title": "$:/config/TiddlerInfo/Mode",
            "text": "popup"
        },
        "$:/config/Tiddlers/TitleLinks": {
            "title": "$:/config/Tiddlers/TitleLinks",
            "text": "no"
        },
        "$:/config/Toolbar/ButtonClass": {
            "title": "$:/config/Toolbar/ButtonClass",
            "text": "tc-btn-invisible"
        },
        "$:/config/Toolbar/Icons": {
            "title": "$:/config/Toolbar/Icons",
            "text": "yes"
        },
        "$:/config/Toolbar/Text": {
            "title": "$:/config/Toolbar/Text",
            "text": "no"
        },
        "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/clone": {
            "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/clone",
            "text": "hide"
        },
        "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/close-others": {
            "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/close-others",
            "text": "hide"
        },
        "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/export-tiddler": {
            "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/export-tiddler",
            "text": "hide"
        },
        "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/info": {
            "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/info",
            "text": "hide"
        },
        "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/more-tiddler-actions": {
            "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/more-tiddler-actions",
            "text": "show"
        },
        "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/new-here": {
            "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/new-here",
            "text": "hide"
        },
        "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/new-journal-here": {
            "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/new-journal-here",
            "text": "hide"
        },
        "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/open-window": {
            "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/open-window",
            "text": "hide"
        },
        "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/permalink": {
            "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/permalink",
            "text": "hide"
        },
        "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/permaview": {
            "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/permaview",
            "text": "hide"
        },
        "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/delete": {
            "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/delete",
            "text": "hide"
        },
        "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold": {
            "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold",
            "text": "hide"
        },
        "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-bar": {
            "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-bar",
            "text": "hide"
        },
        "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-others": {
            "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-others",
            "text": "hide"
        },
        "$:/config/shortcuts-mac/bold": {
            "title": "$:/config/shortcuts-mac/bold",
            "text": "meta-B"
        },
        "$:/config/shortcuts-mac/italic": {
            "title": "$:/config/shortcuts-mac/italic",
            "text": "meta-I"
        },
        "$:/config/shortcuts-mac/underline": {
            "title": "$:/config/shortcuts-mac/underline",
            "text": "meta-U"
        },
        "$:/config/shortcuts-mac/new-image": {
            "title": "$:/config/shortcuts-mac/new-image",
            "text": "ctrl-I"
        },
        "$:/config/shortcuts-mac/new-journal": {
            "title": "$:/config/shortcuts-mac/new-journal",
            "text": "ctrl-J"
        },
        "$:/config/shortcuts-mac/new-tiddler": {
            "title": "$:/config/shortcuts-mac/new-tiddler",
            "text": "ctrl-N"
        },
        "$:/config/shortcuts-not-mac/bold": {
            "title": "$:/config/shortcuts-not-mac/bold",
            "text": "ctrl-B"
        },
        "$:/config/shortcuts-not-mac/italic": {
            "title": "$:/config/shortcuts-not-mac/italic",
            "text": "ctrl-I"
        },
        "$:/config/shortcuts-not-mac/underline": {
            "title": "$:/config/shortcuts-not-mac/underline",
            "text": "ctrl-U"
        },
        "$:/config/shortcuts-not-mac/new-image": {
            "title": "$:/config/shortcuts-not-mac/new-image",
            "text": "alt-I"
        },
        "$:/config/shortcuts-not-mac/new-journal": {
            "title": "$:/config/shortcuts-not-mac/new-journal",
            "text": "alt-J"
        },
        "$:/config/shortcuts-not-mac/new-tiddler": {
            "title": "$:/config/shortcuts-not-mac/new-tiddler",
            "text": "alt-N"
        },
        "$:/config/shortcuts/advanced-search": {
            "title": "$:/config/shortcuts/advanced-search",
            "text": "ctrl-shift-A"
        },
        "$:/config/shortcuts/cancel-edit-tiddler": {
            "title": "$:/config/shortcuts/cancel-edit-tiddler",
            "text": "escape"
        },
        "$:/config/shortcuts/excise": {
            "title": "$:/config/shortcuts/excise",
            "text": "ctrl-E"
        },
        "$:/config/shortcuts/sidebar-search": {
            "title": "$:/config/shortcuts/sidebar-search",
            "text": "ctrl-shift-F"
        },
        "$:/config/shortcuts/heading-1": {
            "title": "$:/config/shortcuts/heading-1",
            "text": "ctrl-1"
        },
        "$:/config/shortcuts/heading-2": {
            "title": "$:/config/shortcuts/heading-2",
            "text": "ctrl-2"
        },
        "$:/config/shortcuts/heading-3": {
            "title": "$:/config/shortcuts/heading-3",
            "text": "ctrl-3"
        },
        "$:/config/shortcuts/heading-4": {
            "title": "$:/config/shortcuts/heading-4",
            "text": "ctrl-4"
        },
        "$:/config/shortcuts/heading-5": {
            "title": "$:/config/shortcuts/heading-5",
            "text": "ctrl-5"
        },
        "$:/config/shortcuts/heading-6": {
            "title": "$:/config/shortcuts/heading-6",
            "text": "ctrl-6"
        },
        "$:/config/shortcuts/link": {
            "title": "$:/config/shortcuts/link",
            "text": "ctrl-L"
        },
        "$:/config/shortcuts/linkify": {
            "title": "$:/config/shortcuts/linkify",
            "text": "alt-shift-L"
        },
        "$:/config/shortcuts/list-bullet": {
            "title": "$:/config/shortcuts/list-bullet",
            "text": "ctrl-shift-L"
        },
        "$:/config/shortcuts/list-number": {
            "title": "$:/config/shortcuts/list-number",
            "text": "ctrl-shift-N"
        },
        "$:/config/shortcuts/mono-block": {
            "title": "$:/config/shortcuts/mono-block",
            "text": "ctrl-shift-M"
        },
        "$:/config/shortcuts/mono-line": {
            "title": "$:/config/shortcuts/mono-line",
            "text": "ctrl-M"
        },
        "$:/config/shortcuts/picture": {
            "title": "$:/config/shortcuts/picture",
            "text": "ctrl-shift-I"
        },
        "$:/config/shortcuts/preview": {
            "title": "$:/config/shortcuts/preview",
            "text": "alt-P"
        },
        "$:/config/shortcuts/quote": {
            "title": "$:/config/shortcuts/quote",
            "text": "ctrl-Q"
        },
        "$:/config/shortcuts/save-tiddler": {
            "title": "$:/config/shortcuts/save-tiddler",
            "text": "ctrl+enter"
        },
        "$:/config/shortcuts/stamp": {
            "title": "$:/config/shortcuts/stamp",
            "text": "ctrl-S"
        },
        "$:/config/shortcuts/strikethrough": {
            "title": "$:/config/shortcuts/strikethrough",
            "text": "ctrl-T"
        },
        "$:/config/shortcuts/subscript": {
            "title": "$:/config/shortcuts/subscript",
            "text": "ctrl-shift-B"
        },
        "$:/config/shortcuts/superscript": {
            "title": "$:/config/shortcuts/superscript",
            "text": "ctrl-shift-P"
        },
        "$:/config/shortcuts/toggle-sidebar": {
            "title": "$:/config/shortcuts/toggle-sidebar",
            "text": "alt-shift-S"
        },
        "$:/config/shortcuts/transcludify": {
            "title": "$:/config/shortcuts/transcludify",
            "text": "alt-shift-T"
        },
        "$:/config/ui/EditTemplate": {
            "title": "$:/config/ui/EditTemplate",
            "text": "$:/core/ui/EditTemplate"
        },
        "$:/config/ui/ViewTemplate": {
            "title": "$:/config/ui/ViewTemplate",
            "text": "$:/core/ui/ViewTemplate"
        },
        "$:/config/WikiParserRules/Inline/wikilink": {
            "title": "$:/config/WikiParserRules/Inline/wikilink",
            "text": "enable"
        },
        "$:/snippets/currpalettepreview": {
            "title": "$:/snippets/currpalettepreview",
            "text": "\\define swatchStyle()\nbackground-color: $(swatchColour)$;\n\\end\n\\define swatch()\n<$set name=\"swatchColour\" value={{##$(colour)$}}\n><div class=\"tc-swatch\" style=<<swatchStyle>> title=<<colour>>/></$set>\n\\end\n<div class=\"tc-swatches-horiz\"><$list filter=\"\nforeground\nbackground\nmuted-foreground\nprimary\npage-background\ntab-background\ntiddler-info-background\n\" variable=\"colour\"><<swatch>></$list></div>"
        },
        "$:/snippets/download-wiki-button": {
            "title": "$:/snippets/download-wiki-button",
            "text": "\\define lingo-base() $:/language/ControlPanel/Tools/Download/\n<$button class=\"tc-btn-big-green\">\n<$action-sendmessage $message=\"tm-download-file\" $param=\"$:/core/save/all\" filename=\"index.html\"/>\n<<lingo Full/Caption>> {{$:/core/images/save-button}}\n</$button>"
        },
        "$:/language": {
            "title": "$:/language",
            "text": "$:/languages/en-GB"
        },
        "$:/snippets/languageswitcher": {
            "title": "$:/snippets/languageswitcher",
            "text": "\\define flag-title()\n$(languagePluginTitle)$/icon\n\\end\n\n<$linkcatcher to=\"$:/language\">\n<div class=\"tc-chooser tc-language-chooser\">\n<$list filter=\"[[$:/languages/en-GB]] [plugin-type[language]sort[description]]\">\n<$set name=\"cls\" filter=\"[all[current]field:title{$:/language}]\" value=\"tc-chooser-item tc-chosen\" emptyValue=\"tc-chooser-item\"><div class=<<cls>>>\n<$link>\n<span class=\"tc-image-button\">\n<$set name=\"languagePluginTitle\" value=<<currentTiddler>>>\n<$transclude subtiddler=<<flag-title>>>\n<$list filter=\"[all[current]field:title[$:/languages/en-GB]]\">\n<$transclude tiddler=\"$:/languages/en-GB/icon\"/>\n</$list>\n</$transclude>\n</$set>\n</span>\n<$view field=\"description\">\n<$view field=\"name\">\n<$view field=\"title\"/>\n</$view>\n</$view>\n</$link>\n</div>\n</$set>\n</$list>\n</div>\n</$linkcatcher>"
        },
        "$:/core/macros/CSS": {
            "title": "$:/core/macros/CSS",
            "tags": "$:/tags/Macro",
            "text": "\\define colour(name)\n<$transclude tiddler={{$:/palette}} index=\"$name$\"><$transclude tiddler=\"$:/palettes/Vanilla\" index=\"$name$\"/></$transclude>\n\\end\n\n\\define color(name)\n<<colour $name$>>\n\\end\n\n\\define box-shadow(shadow)\n``\n  -webkit-box-shadow: $shadow$;\n     -moz-box-shadow: $shadow$;\n          box-shadow: $shadow$;\n``\n\\end\n\n\\define filter(filter)\n``\n  -webkit-filter: $filter$;\n     -moz-filter: $filter$;\n          filter: $filter$;\n``\n\\end\n\n\\define transition(transition)\n``\n  -webkit-transition: $transition$;\n     -moz-transition: $transition$;\n          transition: $transition$;\n``\n\\end\n\n\\define transform-origin(origin)\n``\n  -webkit-transform-origin: $origin$;\n     -moz-transform-origin: $origin$;\n          transform-origin: $origin$;\n``\n\\end\n\n\\define background-linear-gradient(gradient)\n``\nbackground-image: linear-gradient($gradient$);\nbackground-image: -o-linear-gradient($gradient$);\nbackground-image: -moz-linear-gradient($gradient$);\nbackground-image: -webkit-linear-gradient($gradient$);\nbackground-image: -ms-linear-gradient($gradient$);\n``\n\\end\n\n\\define column-count(columns)\n``\n-moz-column-count: $columns$;\n-webkit-column-count: $columns$;\ncolumn-count: $columns$;\n``\n\\end\n\n\\define datauri(title)\n<$macrocall $name=\"makedatauri\" type={{$title$!!type}} text={{$title$}}/>\n\\end\n\n\\define if-sidebar(text)\n<$reveal state=\"$:/state/sidebar\" type=\"match\" text=\"yes\" default=\"yes\">$text$</$reveal>\n\\end\n\n\\define if-no-sidebar(text)\n<$reveal state=\"$:/state/sidebar\" type=\"nomatch\" text=\"yes\" default=\"yes\">$text$</$reveal>\n\\end\n\n\\define if-background-attachment(text)\n<$reveal state=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimage\" type=\"nomatch\" text=\"\">$text$</$reveal>\n\\end\n"
        },
        "$:/core/macros/colour-picker": {
            "title": "$:/core/macros/colour-picker",
            "tags": "$:/tags/Macro",
            "text": "\\define colour-picker-update-recent()\n<$action-listops\n\t$tiddler=\"$:/config/ColourPicker/Recent\"\n\t$subfilter=\"$(colour-picker-value)$ [list[$:/config/ColourPicker/Recent]remove[$(colour-picker-value)$]] +[limit[8]]\"\n/>\n\\end\n\n\\define colour-picker-inner(actions)\n<$button tag=\"a\" tooltip=\"\"\"$(colour-picker-value)$\"\"\">\n\n$(colour-picker-update-recent)$\n\n$actions$\n\n<div style=\"background-color: $(colour-picker-value)$; width: 100%; height: 100%; border-radius: 50%;\"/>\n\n</$button>\n\\end\n\n\\define colour-picker-recent-inner(actions)\n<$set name=\"colour-picker-value\" value=\"$(recentColour)$\">\n<$macrocall $name=\"colour-picker-inner\" actions=\"\"\"$actions$\"\"\"/>\n</$set>\n\\end\n\n\\define colour-picker-recent(actions)\n{{$:/language/ColourPicker/Recent}} <$list filter=\"[list[$:/config/ColourPicker/Recent]]\" variable=\"recentColour\">\n<$macrocall $name=\"colour-picker-recent-inner\" actions=\"\"\"$actions$\"\"\"/></$list>\n\\end\n\n\\define colour-picker(actions)\n<div class=\"tc-colour-chooser\">\n\n<$macrocall $name=\"colour-picker-recent\" actions=\"\"\"$actions$\"\"\"/>\n\n---\n\n<$list filter=\"LightPink Pink Crimson LavenderBlush PaleVioletRed HotPink DeepPink MediumVioletRed Orchid Thistle Plum Violet Magenta Fuchsia DarkMagenta Purple MediumOrchid DarkViolet DarkOrchid Indigo BlueViolet MediumPurple MediumSlateBlue SlateBlue DarkSlateBlue Lavender GhostWhite Blue MediumBlue MidnightBlue DarkBlue Navy RoyalBlue CornflowerBlue LightSteelBlue LightSlateGrey SlateGrey DodgerBlue AliceBlue SteelBlue LightSkyBlue SkyBlue DeepSkyBlue LightBlue PowderBlue CadetBlue Azure LightCyan PaleTurquoise Cyan Aqua DarkTurquoise DarkSlateGrey DarkCyan Teal MediumTurquoise LightSeaGreen Turquoise Aquamarine MediumAquamarine MediumSpringGreen MintCream SpringGreen MediumSeaGreen SeaGreen Honeydew LightGreen PaleGreen DarkSeaGreen LimeGreen Lime ForestGreen Green DarkGreen Chartreuse LawnGreen GreenYellow DarkOliveGreen YellowGreen OliveDrab Beige LightGoldenrodYellow Ivory LightYellow Yellow Olive DarkKhaki LemonChiffon PaleGoldenrod Khaki Gold Cornsilk Goldenrod DarkGoldenrod FloralWhite OldLace Wheat Moccasin Orange PapayaWhip BlanchedAlmond NavajoWhite AntiqueWhite Tan BurlyWood Bisque DarkOrange Linen Peru PeachPuff SandyBrown Chocolate SaddleBrown Seashell Sienna LightSalmon Coral OrangeRed DarkSalmon Tomato MistyRose Salmon Snow LightCoral RosyBrown IndianRed Red Brown FireBrick DarkRed Maroon White WhiteSmoke Gainsboro LightGrey Silver DarkGrey Grey DimGrey Black\" variable=\"colour-picker-value\">\n<$macrocall $name=\"colour-picker-inner\" actions=\"\"\"$actions$\"\"\"/>\n</$list>\n\n---\n\n<$edit-text tiddler=\"$:/config/ColourPicker/New\" tag=\"input\" default=\"\" placeholder=\"\"/> \n<$edit-text tiddler=\"$:/config/ColourPicker/New\" type=\"color\" tag=\"input\"/>\n<$set name=\"colour-picker-value\" value={{$:/config/ColourPicker/New}}>\n<$macrocall $name=\"colour-picker-inner\" actions=\"\"\"$actions$\"\"\"/>\n</$set>\n\n</div>\n\n\\end\n"
        },
        "$:/core/macros/copy-to-clipboard": {
            "title": "$:/core/macros/copy-to-clipboard",
            "tags": "$:/tags/Macro",
            "text": "\\define copy-to-clipboard(src,class:\"tc-btn-invisible\",style)\n<$button class=<<__class__>> style=<<__style__>> message=\"tm-copy-to-clipboard\" param=<<__src__>> tooltip={{$:/language/Buttons/CopyToClipboard/Hint}}>\n{{$:/core/images/copy-clipboard}} <$text text={{$:/language/Buttons/CopyToClipboard/Caption}}/>\n</$button>\n\\end\n\n\\define copy-to-clipboard-above-right(src,class:\"tc-btn-invisible\",style)\n<div style=\"position: relative;\">\n<div style=\"position: absolute; bottom: 0; right: 0;\">\n<$macrocall $name=\"copy-to-clipboard\" src=<<__src__>> class=<<__class__>> style=<<__style__>>/>\n</div>\n</div>\n\\end\n\n"
        },
        "$:/core/macros/diff": {
            "title": "$:/core/macros/diff",
            "tags": "$:/tags/Macro",
            "text": "\\define compareTiddlerText(sourceTiddlerTitle,sourceSubTiddlerTitle,destTiddlerTitle,destSubTiddlerTitle)\n<$set name=\"source\" tiddler=<<__sourceTiddlerTitle__>> subtiddler=<<__sourceSubTiddlerTitle__>>>\n<$set name=\"dest\" tiddler=<<__destTiddlerTitle__>> subtiddler=<<__destSubTiddlerTitle__>>>\n<$diff-text source=<<source>> dest=<<dest>>/>\n</$set>\n</$set>\n\\end\n\n\\define compareTiddlers(sourceTiddlerTitle,sourceSubTiddlerTitle,destTiddlerTitle,destSubTiddlerTitle,exclude)\n<table class=\"tc-diff-tiddlers\">\n<tbody>\n<$set name=\"sourceFields\" filter=\"[<__sourceTiddlerTitle__>fields[]sort[]]\">\n<$set name=\"destFields\" filter=\"[<__destSubTiddlerTitle__>subtiddlerfields<__destTiddlerTitle__>sort[]]\">\n<$list filter=\"[enlist<sourceFields>] [enlist<destFields>] -[enlist<__exclude__>] +[sort[]]\" variable=\"fieldName\">\n<tr>\n<th>\n<$text text=<<fieldName>>/> \n</th>\n<td>\n<$set name=\"source\" tiddler=<<__sourceTiddlerTitle__>> subtiddler=<<__sourceSubTiddlerTitle__>> field=<<fieldName>>>\n<$set name=\"dest\" tiddler=<<__destTiddlerTitle__>> subtiddler=<<__destSubTiddlerTitle__>> field=<<fieldName>>>\n<$diff-text source=<<source>> dest=<<dest>>>\n</$diff-text>\n</$set>\n</$set>\n</td>\n</tr>\n</$list>\n</$set>\n</$set>\n</tbody>\n</table>\n\\end\n"
        },
        "$:/core/macros/dumpvariables": {
            "title": "$:/core/macros/dumpvariables",
            "tags": "$:/tags/Macro",
            "text": "\\define dumpvariables()\n<ul>\n<$list filter=\"[variables[]]\" variable=\"varname\">\n<li>\n<strong><code><$text text=<<varname>>/></code></strong>:<br/>\n<$codeblock code={{{ [<varname>getvariable[]] }}}/>\n</li>\n</$list>\n</ul>\n\\end\n"
        },
        "$:/core/macros/export": {
            "title": "$:/core/macros/export",
            "tags": "$:/tags/Macro",
            "text": "\\define exportButtonFilename(baseFilename)\n$baseFilename$$(extension)$\n\\end\n\n\\define exportButton(exportFilter:\"[!is[system]sort[title]]\",lingoBase,baseFilename:\"tiddlers\")\n<span class=\"tc-popup-keep\"><$button popup=<<qualify \"$:/state/popup/export\">> tooltip={{$lingoBase$Hint}} aria-label={{$lingoBase$Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/export-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$lingoBase$Caption}}/></span>\n</$list>\n</$button></span><$reveal state=<<qualify \"$:/state/popup/export\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Exporter]]\">\n<$set name=\"extension\" value={{!!extension}}>\n<$button class=\"tc-btn-invisible\">\n<$action-sendmessage $message=\"tm-download-file\" $param=<<currentTiddler>> exportFilter=\"\"\"$exportFilter$\"\"\" filename=<<exportButtonFilename \"\"\"$baseFilename$\"\"\">>/>\n<$action-deletetiddler $tiddler=<<qualify \"$:/state/popup/export\">>/>\n<$transclude field=\"description\"/>\n</$button>\n</$set>\n</$list>\n</div>\n</$reveal>\n\\end\n"
        },
        "$:/core/macros/image-picker": {
            "title": "$:/core/macros/image-picker",
            "created": "20170715180840889",
            "modified": "20170715180914005",
            "tags": "$:/tags/Macro",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define image-picker-thumbnail(actions)\n<$button tag=\"a\" tooltip=\"\"\"$(imageTitle)$\"\"\">\n$actions$\n<$transclude tiddler=<<imageTitle>>/>\n</$button>\n\\end\n\n\\define image-picker-list(filter,actions)\n<$list filter=\"\"\"$filter$\"\"\" variable=\"imageTitle\">\n<$macrocall $name=\"image-picker-thumbnail\" actions=\"\"\"$actions$\"\"\"/>\n</$list>\n\\end\n\n\\define image-picker(actions,filter:\"[all[shadows+tiddlers]is[image]] -[type[application/pdf]] +[!has[draft.of]$subfilter$sort[title]]\",subfilter:\"\")\n<div class=\"tc-image-chooser\">\n<$vars state-system=<<qualify \"$:/state/image-picker/system\">>>\n<$checkbox tiddler=<<state-system>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"hide\">\n{{$:/language/SystemTiddlers/Include/Prompt}}\n</$checkbox>\n<$reveal state=<<state-system>> type=\"match\" text=\"hide\" default=\"hide\" tag=\"div\">\n<$macrocall $name=\"image-picker-list\" filter=\"\"\"$filter$ +[!is[system]]\"\"\" actions=\"\"\"$actions$\"\"\"/>\n</$reveal>\n<$reveal state=<<state-system>> type=\"nomatch\" text=\"hide\" default=\"hide\" tag=\"div\">\n<$macrocall $name=\"image-picker-list\" filter=\"\"\"$filter$\"\"\" actions=\"\"\"$actions$\"\"\"/>\n</$reveal>\n</$vars>\n</div>\n\\end\n\n\\define image-picker-include-tagged-images(actions)\n<$macrocall $name=\"image-picker\" filter=\"[all[shadows+tiddlers]is[image]] [all[shadows+tiddlers]tag[$:/tags/Image]] -[type[application/pdf]] +[!has[draft.of]sort[title]]\" actions=\"\"\"$actions$\"\"\"/>\n\\end\n"
        },
        "$:/core/macros/lingo": {
            "title": "$:/core/macros/lingo",
            "tags": "$:/tags/Macro",
            "text": "\\define lingo-base()\n$:/language/\n\\end\n\n\\define lingo(title)\n{{$(lingo-base)$$title$}}\n\\end\n"
        },
        "$:/core/macros/list": {
            "title": "$:/core/macros/list",
            "tags": "$:/tags/Macro",
            "text": "\\define list-links(filter,type:\"ul\",subtype:\"li\",class:\"\",emptyMessage)\n\\whitespace trim\n<$type$ class=\"$class$\">\n<$list filter=\"$filter$\" emptyMessage=<<__emptyMessage__>>>\n<$subtype$>\n<$link to={{!!title}}>\n<$transclude field=\"caption\">\n<$view field=\"title\"/>\n</$transclude>\n</$link>\n</$subtype$>\n</$list>\n</$type$>\n\\end\n\n\\define list-links-draggable-drop-actions()\n<$action-listops $tiddler=<<targetTiddler>> $field=<<targetField>> $subfilter=\"+[insertbefore:currentTiddler<actionTiddler>]\"/>\n\\end\n\n\\define list-links-draggable(tiddler,field:\"list\",type:\"ul\",subtype:\"li\",class:\"\",itemTemplate)\n\\whitespace trim\n<span class=\"tc-links-draggable-list\">\n<$vars targetTiddler=\"\"\"$tiddler$\"\"\" targetField=\"\"\"$field$\"\"\">\n<$type$ class=\"$class$\">\n<$list filter=\"[list[$tiddler$!!$field$]]\">\n<$droppable actions=<<list-links-draggable-drop-actions>> tag=\"\"\"$subtype$\"\"\">\n<div class=\"tc-droppable-placeholder\"/>\n<div>\n<$transclude tiddler=\"\"\"$itemTemplate$\"\"\">\n<$link to={{!!title}}>\n<$transclude field=\"caption\">\n<$view field=\"title\"/>\n</$transclude>\n</$link>\n</$transclude>\n</div>\n</$droppable>\n</$list>\n</$type$>\n<$tiddler tiddler=\"\">\n<$droppable actions=<<list-links-draggable-drop-actions>> tag=\"div\">\n<div class=\"tc-droppable-placeholder\">\n&nbsp;\n</div>\n<div style=\"height:0.5em;\"/>\n</$droppable>\n</$tiddler>\n</$vars>\n</span>\n\\end\n\n\\define list-tagged-draggable-drop-actions(tag)\n<!-- Save the current ordering of the tiddlers with this tag -->\n<$set name=\"order\" filter=\"[<__tag__>tagging[]]\">\n<!-- Remove any list-after or list-before fields from the tiddlers with this tag -->\n<$list filter=\"[<__tag__>tagging[]]\">\n<$action-deletefield $field=\"list-before\"/>\n<$action-deletefield $field=\"list-after\"/>\n</$list>\n<!-- Save the new order to the Tag Tiddler -->\n<$action-listops $tiddler=<<__tag__>> $field=\"list\" $filter=\"+[enlist<order>] +[insertbefore:currentTiddler<actionTiddler>]\"/>\n<!-- Make sure the newly added item has the right tag -->\n<!-- Removing this line makes dragging tags within the dropdown work as intended -->\n<!--<$action-listops $tiddler=<<actionTiddler>> $tags=<<__tag__>>/>-->\n<!-- Using the following 5 lines as replacement makes dragging titles from outside into the dropdown apply the tag -->\n<$list filter=\"[<actionTiddler>!contains:tags<__tag__>]\">\n<$fieldmangler tiddler=<<actionTiddler>>>\n<$action-sendmessage $message=\"tm-add-tag\" $param=<<__tag__>>/>\n</$fieldmangler>\n</$list>\n</$set>\n\\end\n\n\\define list-tagged-draggable(tag,subFilter,emptyMessage,itemTemplate,elementTag:\"div\")\n\\whitespace trim\n<span class=\"tc-tagged-draggable-list\">\n<$set name=\"tag\" value=<<__tag__>>>\n<$list filter=\"[<__tag__>tagging[]$subFilter$]\" emptyMessage=<<__emptyMessage__>>>\n<$elementTag$ class=\"tc-menu-list-item\">\n<$droppable actions=\"\"\"<$macrocall $name=\"list-tagged-draggable-drop-actions\" tag=<<__tag__>>/>\"\"\">\n<$elementTag$ class=\"tc-droppable-placeholder\"/>\n<$elementTag$>\n<$transclude tiddler=\"\"\"$itemTemplate$\"\"\">\n<$link to={{!!title}}>\n<$view field=\"title\"/>\n</$link>\n</$transclude>\n</$elementTag$>\n</$droppable>\n</$elementTag$>\n</$list>\n<$tiddler tiddler=\"\">\n<$droppable actions=\"\"\"<$macrocall $name=\"list-tagged-draggable-drop-actions\" tag=<<__tag__>>/>\"\"\">\n<$elementTag$ class=\"tc-droppable-placeholder\"/>\n<$elementTag$ style=\"height:0.5em;\">\n</$elementTag$>\n</$droppable>\n</$tiddler>\n</$set>\n</span>\n\\end\n"
        },
        "$:/core/macros/tabs": {
            "title": "$:/core/macros/tabs",
            "tags": "$:/tags/Macro",
            "text": "\\define tabs(tabsList,default,state:\"$:/state/tab\",class,template,buttonTemplate,retain)\n<div class=\"tc-tab-set $class$\">\n<div class=\"tc-tab-buttons $class$\">\n<$list filter=\"$tabsList$\" variable=\"currentTab\" storyview=\"pop\"><$set name=\"save-currentTiddler\" value=<<currentTiddler>>><$tiddler tiddler=<<currentTab>>><$button set=<<qualify \"$state$\">> setTo=<<currentTab>> default=\"$default$\" selectedClass=\"tc-tab-selected\" tooltip={{!!tooltip}}>\n<$tiddler tiddler=<<save-currentTiddler>>>\n<$set name=\"tv-wikilinks\" value=\"no\">\n<$transclude tiddler=\"$buttonTemplate$\" mode=\"inline\">\n<$transclude tiddler=<<currentTab>> field=\"caption\">\n<$macrocall $name=\"currentTab\" $type=\"text/plain\" $output=\"text/plain\"/>\n</$transclude>\n</$transclude>\n</$set></$tiddler></$button></$tiddler></$set></$list>\n</div>\n<div class=\"tc-tab-divider $class$\"/>\n<div class=\"tc-tab-content $class$\">\n<$list filter=\"$tabsList$\" variable=\"currentTab\">\n\n<$reveal type=\"match\" state=<<qualify \"$state$\">> text=<<currentTab>> default=\"$default$\" retain=\"\"\"$retain$\"\"\">\n\n<$transclude tiddler=\"$template$\" mode=\"block\">\n\n<$transclude tiddler=<<currentTab>> mode=\"block\"/>\n\n</$transclude>\n\n</$reveal>\n\n</$list>\n</div>\n</div>\n\\end\n"
        },
        "$:/core/macros/tag-picker": {
            "title": "$:/core/macros/tag-picker",
            "tags": "$:/tags/Macro",
            "text": "\\define add-tag-actions()\n<$action-sendmessage $message=\"tm-add-tag\" $param={{$:/temp/NewTagName}}/>\n<$action-deletetiddler $tiddler=\"$:/temp/NewTagName\"/>\n\\end\n\n\\define tag-button()\n<$button class=\"tc-btn-invisible\" tag=\"a\">\n$(actions)$\n<$action-deletetiddler $tiddler=\"$:/temp/NewTagName\"/>\n<$macrocall $name=\"tag-pill\" tag=<<tag>>/>\n</$button>\n\\end\n\n\\define tag-picker(actions)\n<$set name=\"actions\" value=\"\"\"$actions$\"\"\">\n<div class=\"tc-edit-add-tag\">\n<span class=\"tc-add-tag-name\">\n<$keyboard key=\"ENTER\" actions=<<add-tag-actions>>>\n<$edit-text tiddler=\"$:/temp/NewTagName\" tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Tags/Add/Placeholder}} focusPopup=<<qualify \"$:/state/popup/tags-auto-complete\">> class=\"tc-edit-texteditor tc-popup-handle\" tabindex=<<tabIndex>>/>\n</$keyboard>\n</span> <$button popup=<<qualify \"$:/state/popup/tags-auto-complete\">> class=\"tc-btn-invisible\" tooltip={{$:/language/EditTemplate/Tags/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Tags/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button> <span class=\"tc-add-tag-button\">\n<$set name=\"tag\" value={{$:/temp/NewTagName}}>\n<$button set=\"$:/temp/NewTagName\" setTo=\"\" class=\"\">\n$actions$\n<$action-deletetiddler $tiddler=\"$:/temp/NewTagName\"/>\n{{$:/language/EditTemplate/Tags/Add/Button}}\n</$button>\n</$set>\n</span>\n</div>\n<div class=\"tc-block-dropdown-wrapper\">\n<$reveal state=<<qualify \"$:/state/popup/tags-auto-complete\">> type=\"nomatch\" text=\"\" default=\"\">\n<div class=\"tc-block-dropdown\">\n<$list filter=\"[{$:/temp/NewTagName}minlength{$:/config/Tags/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n<$list filter=\"[tags[]!is[system]search:title{$:/temp/NewTagName}sort[]]\" variable=\"tag\">\n<<tag-button>>\n</$list></$list>\n<hr>\n<$list filter=\"[{$:/temp/NewTagName}minlength{$:/config/Tags/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n<$list filter=\"[tags[]is[system]search:title{$:/temp/NewTagName}sort[]]\" variable=\"tag\">\n<<tag-button>>\n</$list></$list>\n</div>\n</$reveal>\n</div>\n</$set>\n\\end\n"
        },
        "$:/core/macros/tag": {
            "title": "$:/core/macros/tag",
            "tags": "$:/tags/Macro",
            "text": "\\define tag-pill-styles()\nbackground-color:$(backgroundColor)$;\nfill:$(foregroundColor)$;\ncolor:$(foregroundColor)$;\n\\end\n\n\\define tag-pill-inner(tag,icon,colour,fallbackTarget,colourA,colourB,element-tag,element-attributes,actions)\n<$vars foregroundColor=<<contrastcolour target:\"\"\"$colour$\"\"\" fallbackTarget:\"\"\"$fallbackTarget$\"\"\" colourA:\"\"\"$colourA$\"\"\" colourB:\"\"\"$colourB$\"\"\">> backgroundColor=\"\"\"$colour$\"\"\">\n<$element-tag$ $element-attributes$ class=\"tc-tag-label tc-btn-invisible\" style=<<tag-pill-styles>>>\n$actions$<$transclude tiddler=\"\"\"$icon$\"\"\"/> <$view tiddler=<<__tag__>> field=\"title\" format=\"text\" />\n</$element-tag$>\n</$vars>\n\\end\n\n\\define tag-pill-body(tag,icon,colour,palette,element-tag,element-attributes,actions)\n<$macrocall $name=\"tag-pill-inner\" tag=<<__tag__>> icon=\"\"\"$icon$\"\"\" colour=\"\"\"$colour$\"\"\" fallbackTarget={{$palette$##tag-background}} colourA={{$palette$##foreground}} colourB={{$palette$##background}} element-tag=\"\"\"$element-tag$\"\"\" element-attributes=\"\"\"$element-attributes$\"\"\" actions=\"\"\"$actions$\"\"\"/>\n\\end\n\n\\define tag-pill(tag,element-tag:\"span\",element-attributes:\"\",actions:\"\")\n<span class=\"tc-tag-list-item\">\n<$macrocall $name=\"tag-pill-body\" tag=<<__tag__>> icon={{{ [<__tag__>get[icon]] }}} colour={{{ [<__tag__>get[color]] }}} palette={{$:/palette}} element-tag=\"\"\"$element-tag$\"\"\" element-attributes=\"\"\"$element-attributes$\"\"\" actions=\"\"\"$actions$\"\"\"/>\n</span>\n\\end\n\n\\define tag(tag)\n{{$tag$||$:/core/ui/TagTemplate}}\n\\end\n"
        },
        "$:/core/macros/thumbnails": {
            "title": "$:/core/macros/thumbnails",
            "tags": "$:/tags/Macro",
            "text": "\\define thumbnail(link,icon,color,background-color,image,caption,width:\"280\",height:\"157\")\n<$link to=\"\"\"$link$\"\"\"><div class=\"tc-thumbnail-wrapper\">\n<div class=\"tc-thumbnail-image\" style=\"width:$width$px;height:$height$px;\"><$reveal type=\"nomatch\" text=\"\" default=\"\"\"$image$\"\"\" tag=\"div\" style=\"width:$width$px;height:$height$px;\">\n[img[$image$]]\n</$reveal><$reveal type=\"match\" text=\"\" default=\"\"\"$image$\"\"\" tag=\"div\" class=\"tc-thumbnail-background\" style=\"width:$width$px;height:$height$px;background-color:$background-color$;\"></$reveal></div><div class=\"tc-thumbnail-icon\" style=\"fill:$color$;color:$color$;\">\n$icon$\n</div><div class=\"tc-thumbnail-caption\">\n$caption$\n</div>\n</div></$link>\n\\end\n\n\\define thumbnail-right(link,icon,color,background-color,image,caption,width:\"280\",height:\"157\")\n<div class=\"tc-thumbnail-right-wrapper\"><<thumbnail \"\"\"$link$\"\"\" \"\"\"$icon$\"\"\" \"\"\"$color$\"\"\" \"\"\"$background-color$\"\"\" \"\"\"$image$\"\"\" \"\"\"$caption$\"\"\" \"\"\"$width$\"\"\" \"\"\"$height$\"\"\">></div>\n\\end\n\n\\define list-thumbnails(filter,width:\"280\",height:\"157\")\n<$list filter=\"\"\"$filter$\"\"\"><$macrocall $name=\"thumbnail\" link={{!!link}} icon={{!!icon}} color={{!!color}} background-color={{!!background-color}} image={{!!image}} caption={{!!caption}} width=\"\"\"$width$\"\"\" height=\"\"\"$height$\"\"\"/></$list>\n\\end\n"
        },
        "$:/core/macros/timeline": {
            "title": "$:/core/macros/timeline",
            "created": "20141212105914482",
            "modified": "20141212110330815",
            "tags": "$:/tags/Macro",
            "text": "\\define timeline-title()\n<!-- Override this macro with a global macro \n     of the same name if you need to change \n     how titles are displayed on the timeline \n     -->\n<$view field=\"title\"/>\n\\end\n\\define timeline(limit:\"100\",format:\"DDth MMM YYYY\",subfilter:\"\",dateField:\"modified\")\n<div class=\"tc-timeline\">\n<$list filter=\"[!is[system]$subfilter$has[$dateField$]!sort[$dateField$]limit[$limit$]eachday[$dateField$]]\">\n<div class=\"tc-menu-list-item\">\n<$view field=\"$dateField$\" format=\"date\" template=\"$format$\"/>\n<$list filter=\"[sameday:$dateField${!!$dateField$}!is[system]$subfilter$!sort[$dateField$]]\">\n<div class=\"tc-menu-list-subitem\">\n<$link to={{!!title}}>\n<<timeline-title>>\n</$link>\n</div>\n</$list>\n</div>\n</$list>\n</div>\n\\end\n"
        },
        "$:/core/macros/toc": {
            "title": "$:/core/macros/toc",
            "tags": "$:/tags/Macro",
            "text": "\\define toc-caption()\n<$set name=\"tv-wikilinks\" value=\"no\">\n  <$transclude field=\"caption\">\n    <$view field=\"title\"/>\n  </$transclude>\n</$set>\n\\end\n\n\\define toc-body(tag,sort:\"\",itemClassFilter,exclude,path)\n<ol class=\"tc-toc\">\n  <$list filter=\"\"\"[all[shadows+tiddlers]tag<__tag__>!has[draft.of]$sort$] -[<__tag__>] -[enlist<__exclude__>]\"\"\">\n    <$vars item=<<currentTiddler>> path={{{ [<__path__>addsuffix[/]addsuffix<__tag__>] }}}>\n      <$set name=\"excluded\" filter=\"\"\"[enlist<__exclude__>] [<__tag__>]\"\"\">\n        <$set name=\"toc-item-class\" filter=<<__itemClassFilter__>> emptyValue=\"toc-item-selected\" value=\"toc-item\">\n          <li class=<<toc-item-class>>>\n            <$list filter=\"[all[current]toc-link[no]]\" emptyMessage=\"<$link><$view field='caption'><$view field='title'/></$view></$link>\">\n              <<toc-caption>>\n            </$list>\n            <$macrocall $name=\"toc-body\" tag=<<item>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<excluded>> path=<<path>>/>\n          </li>\n        </$set>\n      </$set>\n    </$vars>\n  </$list>\n</ol>\n\\end\n\n\\define toc(tag,sort:\"\",itemClassFilter:\"\")\n<$macrocall $name=\"toc-body\"  tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> />\n\\end\n\n\\define toc-linked-expandable-body(tag,sort:\"\",itemClassFilter,exclude,path)\n<!-- helper function -->\n<$qualify name=\"toc-state\" title={{{ [[$:/state/toc]addsuffix<__path__>addsuffix[-]addsuffix<currentTiddler>] }}}>\n  <$set name=\"toc-item-class\" filter=<<__itemClassFilter__>> emptyValue=\"toc-item-selected\" value=\"toc-item\">\n    <li class=<<toc-item-class>>>\n    <$link>\n      <$reveal type=\"nomatch\" stateTitle=<<toc-state>> text=\"open\">\n        <$button setTitle=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible tc-popup-keep\">\n          {{$:/core/images/right-arrow}}\n        </$button>\n      </$reveal>\n      <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n        <$button setTitle=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible tc-popup-keep\">\n          {{$:/core/images/down-arrow}}\n        </$button>\n      </$reveal>\n      <<toc-caption>>\n    </$link>\n    <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n      <$macrocall $name=\"toc-expandable\" tag=<<currentTiddler>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<__exclude__>> path=<<__path__>>/>\n    </$reveal>\n    </li>\n  </$set>\n</$qualify>\n\\end\n\n\\define toc-unlinked-expandable-body(tag,sort:\"\",itemClassFilter,exclude,path)\n<!-- helper function -->\n<$qualify name=\"toc-state\" title={{{ [[$:/state/toc]addsuffix<__path__>addsuffix[-]addsuffix<currentTiddler>] }}}>\n  <$set name=\"toc-item-class\" filter=<<__itemClassFilter__>> emptyValue=\"toc-item-selected\" value=\"toc-item\">\n    <li class=<<toc-item-class>>>\n      <$reveal type=\"nomatch\" stateTitle=<<toc-state>> text=\"open\">\n        <$button setTitle=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible tc-popup-keep\">\n          {{$:/core/images/right-arrow}}\n          <<toc-caption>>\n        </$button>\n      </$reveal>\n      <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n        <$button setTitle=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible tc-popup-keep\">\n          {{$:/core/images/down-arrow}}\n          <<toc-caption>>\n        </$button>\n      </$reveal>\n      <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n        <$macrocall $name=\"toc-expandable\" tag=<<currentTiddler>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<__exclude__>> path=<<__path__>>/>\n      </$reveal>\n    </li>\n  </$set>\n</$qualify>\n\\end\n\n\\define toc-expandable-empty-message()\n<$macrocall $name=\"toc-linked-expandable-body\" tag=<<tag>> sort=<<sort>> itemClassFilter=<<itemClassFilter>> exclude=<<excluded>> path=<<path>>/>\n\\end\n\n\\define toc-expandable(tag,sort:\"\",itemClassFilter:\"\",exclude,path)\n<$vars tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> path={{{ [<__path__>addsuffix[/]addsuffix<__tag__>] }}}>\n  <$set name=\"excluded\" filter=\"\"\"[enlist<__exclude__>] [<__tag__>]\"\"\">\n    <ol class=\"tc-toc toc-expandable\">\n      <$list filter=\"\"\"[all[shadows+tiddlers]tag<__tag__>!has[draft.of]$sort$] -[<__tag__>] -[enlist<__exclude__>]\"\"\">\n        <$list filter=\"[all[current]toc-link[no]]\" emptyMessage=<<toc-expandable-empty-message>> >\n          <$macrocall $name=\"toc-unlinked-expandable-body\" tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=\"\"\"itemClassFilter\"\"\" exclude=<<excluded>> path=<<path>> />\n        </$list>\n      </$list>\n    </ol>\n  </$set>\n</$vars>\n\\end\n\n\\define toc-linked-selective-expandable-body(tag,sort:\"\",itemClassFilter,exclude,path)\n<$qualify name=\"toc-state\" title={{{ [[$:/state/toc]addsuffix<__path__>addsuffix[-]addsuffix<currentTiddler>] }}}>\n  <$set name=\"toc-item-class\" filter=<<__itemClassFilter__>> emptyValue=\"toc-item-selected\" value=\"toc-item\" >\n    <li class=<<toc-item-class>>>\n      <$link>\n          <$list filter=\"[all[current]tagging[]limit[1]]\" variable=\"ignore\" emptyMessage=\"<$button class='tc-btn-invisible'>{{$:/core/images/blank}}</$button>\">\n          <$reveal type=\"nomatch\" stateTitle=<<toc-state>> text=\"open\">\n            <$button setTitle=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible tc-popup-keep\">\n              {{$:/core/images/right-arrow}}\n            </$button>\n          </$reveal>\n          <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n            <$button setTitle=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible tc-popup-keep\">\n              {{$:/core/images/down-arrow}}\n            </$button>\n          </$reveal>\n        </$list>\n        <<toc-caption>>\n      </$link>\n      <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n        <$macrocall $name=\"toc-selective-expandable\" tag=<<currentTiddler>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<__exclude__>> path=<<__path__>>/>\n      </$reveal>\n    </li>\n  </$set>\n</$qualify>\n\\end\n\n\\define toc-unlinked-selective-expandable-body(tag,sort:\"\",itemClassFilter,exclude,path)\n<$qualify name=\"toc-state\" title={{{ [[$:/state/toc]addsuffix<__path__>addsuffix[-]addsuffix<currentTiddler>] }}}>\n  <$set name=\"toc-item-class\" filter=<<__itemClassFilter__>> emptyValue=\"toc-item-selected\" value=\"toc-item\">\n    <li class=<<toc-item-class>>>\n      <$list filter=\"[all[current]tagging[]limit[1]]\" variable=\"ignore\" emptyMessage=\"<$button class='tc-btn-invisible'>{{$:/core/images/blank}}</$button> <$view field='caption'><$view field='title'/></$view>\">\n        <$reveal type=\"nomatch\" stateTitle=<<toc-state>> text=\"open\">\n          <$button setTitle=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible tc-popup-keep\">\n            {{$:/core/images/right-arrow}}\n            <<toc-caption>>\n          </$button>\n        </$reveal>\n        <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n          <$button setTitle=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible tc-popup-keep\">\n            {{$:/core/images/down-arrow}}\n            <<toc-caption>>\n          </$button>\n        </$reveal>\n      </$list>\n      <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n        <$macrocall $name=\"toc-selective-expandable\" tag=<<currentTiddler>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<__exclude__>> path=<<__path__>>/>\n      </$reveal>\n    </li>\n  </$set>\n</$qualify>\n\\end\n\n\\define toc-selective-expandable-empty-message()\n<$macrocall $name=\"toc-linked-selective-expandable-body\" tag=<<tag>> sort=<<sort>> itemClassFilter=<<itemClassFilter>> exclude=<<excluded>> path=<<path>>/>\n\\end\n\n\\define toc-selective-expandable(tag,sort:\"\",itemClassFilter,exclude,path)\n<$vars tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> path={{{ [<__path__>addsuffix[/]addsuffix<__tag__>] }}}>\n  <$set name=\"excluded\" filter=\"\"\"[enlist<__exclude__>] [<__tag__>]\"\"\">\n    <ol class=\"tc-toc toc-selective-expandable\">\n      <$list filter=\"\"\"[all[shadows+tiddlers]tag<__tag__>!has[draft.of]$sort$] -[<__tag__>] -[enlist<__exclude__>]\"\"\">\n        <$list filter=\"[all[current]toc-link[no]]\" variable=\"ignore\" emptyMessage=<<toc-selective-expandable-empty-message>> >\n          <$macrocall $name=\"toc-unlinked-selective-expandable-body\" tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<excluded>> path=<<path>>/>\n        </$list>\n      </$list>\n    </ol>\n  </$set>\n</$vars>\n\\end\n\n\\define toc-tabbed-external-nav(tag,sort:\"\",selectedTiddler:\"$:/temp/toc/selectedTiddler\",unselectedText,missingText,template:\"\")\n<$tiddler tiddler={{{ [<__selectedTiddler__>get[text]] }}}>\n  <div class=\"tc-tabbed-table-of-contents\">\n    <$linkcatcher to=<<__selectedTiddler__>>>\n      <div class=\"tc-table-of-contents\">\n        <$macrocall $name=\"toc-selective-expandable\" tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=\"[all[current]] -[<__selectedTiddler__>get[text]]\"/>\n      </div>\n    </$linkcatcher>\n    <div class=\"tc-tabbed-table-of-contents-content\">\n      <$reveal stateTitle=<<__selectedTiddler__>> type=\"nomatch\" text=\"\">\n        <$transclude mode=\"block\" tiddler=<<__template__>>>\n          <h1><<toc-caption>></h1>\n          <$transclude mode=\"block\">$missingText$</$transclude>\n        </$transclude>\n      </$reveal>\n      <$reveal stateTitle=<<__selectedTiddler__>> type=\"match\" text=\"\">\n        $unselectedText$\n      </$reveal>\n    </div>\n  </div>\n</$tiddler>\n\\end\n\n\\define toc-tabbed-internal-nav(tag,sort:\"\",selectedTiddler:\"$:/temp/toc/selectedTiddler\",unselectedText,missingText,template:\"\")\n<$linkcatcher to=<<__selectedTiddler__>>>\n  <$macrocall $name=\"toc-tabbed-external-nav\" tag=<<__tag__>> sort=<<__sort__>> selectedTiddler=<<__selectedTiddler__>> unselectedText=<<__unselectedText__>> missingText=<<__missingText__>> template=<<__template__>>/>\n</$linkcatcher>\n\\end\n\n"
        },
        "$:/core/macros/translink": {
            "title": "$:/core/macros/translink",
            "tags": "$:/tags/Macro",
            "text": "\\define translink(title,mode:\"block\")\n<div style=\"border:1px solid #ccc; padding: 0.5em; background: black; foreground; white;\">\n<$link to=\"\"\"$title$\"\"\">\n<$text text=\"\"\"$title$\"\"\"/>\n</$link>\n<div style=\"border:1px solid #ccc; padding: 0.5em; background: white; foreground; black;\">\n<$transclude tiddler=\"\"\"$title$\"\"\" mode=\"$mode$\">\n\"<$text text=\"\"\"$title$\"\"\"/>\" is missing\n</$transclude>\n</div>\n</div>\n\\end\n"
        },
        "$:/core/macros/tree": {
            "title": "$:/core/macros/tree",
            "tags": "$:/tags/Macro",
            "text": "\\define leaf-link(full-title,chunk,separator: \"/\")\n<$link to=<<__full-title__>>><$text text=<<__chunk__>>/></$link>\n\\end\n\n\\define leaf-node(prefix,chunk)\n<li>\n<$list filter=\"[<__prefix__>addsuffix<__chunk__>is[shadow]] [<__prefix__>addsuffix<__chunk__>is[tiddler]]\" variable=\"full-title\">\n<$list filter=\"[<full-title>removeprefix<__prefix__>]\" variable=\"chunk\">\n<span>{{$:/core/images/file}}</span> <$macrocall $name=\"leaf-link\" full-title=<<full-title>> chunk=<<chunk>>/>\n</$list>\n</$list>\n</li>\n\\end\n\n\\define branch-node(prefix,chunk,separator: \"/\")\n<li>\n<$set name=\"reveal-state\" value={{{ [[$:/state/tree/]addsuffix<__prefix__>addsuffix<__chunk__>] }}}>\n<$reveal type=\"nomatch\" stateTitle=<<reveal-state>> text=\"show\">\n<$button setTitle=<<reveal-state>> setTo=\"show\" class=\"tc-btn-invisible\">\n{{$:/core/images/folder}} <$text text=<<__chunk__>>/>\n</$button>\n</$reveal>\n<$reveal type=\"match\" stateTitle=<<reveal-state>> text=\"show\">\n<$button setTitle=<<reveal-state>> setTo=\"hide\" class=\"tc-btn-invisible\">\n{{$:/core/images/folder}} <$text text=<<__chunk__>>/>\n</$button>\n</$reveal>\n<span>(<$count filter=\"[all[shadows+tiddlers]removeprefix<__prefix__>removeprefix<__chunk__>] -[<__prefix__>addsuffix<__chunk__>]\"/>)</span>\n<$reveal type=\"match\" stateTitle=<<reveal-state>> text=\"show\">\n<$macrocall $name=\"tree-node\" prefix={{{ [<__prefix__>addsuffix<__chunk__>] }}} separator=<<__separator__>>/>\n</$reveal>\n</$set>\n</li>\n\\end\n\n\\define tree-node(prefix,separator: \"/\")\n<ol>\n<$list filter=\"[all[shadows+tiddlers]removeprefix<__prefix__>splitbefore<__separator__>sort[]!suffix<__separator__>]\" variable=\"chunk\">\n<$macrocall $name=\"leaf-node\" prefix=<<__prefix__>> chunk=<<chunk>> separator=<<__separator__>>/>\n</$list>\n<$list filter=\"[all[shadows+tiddlers]removeprefix<__prefix__>splitbefore<__separator__>sort[]suffix<__separator__>]\" variable=\"chunk\">\n<$macrocall $name=\"branch-node\" prefix=<<__prefix__>> chunk=<<chunk>> separator=<<__separator__>>/>\n</$list>\n</ol>\n\\end\n\n\\define tree(prefix: \"$:/\",separator: \"/\")\n<div class=\"tc-tree\">\n<span><$text text=<<__prefix__>>/></span>\n<div>\n<$macrocall $name=\"tree-node\" prefix=<<__prefix__>> separator=<<__separator__>>/>\n</div>\n</div>\n\\end\n"
        },
        "$:/core/macros/utils": {
            "title": "$:/core/macros/utils",
            "text": "\\define colour(colour)\n$colour$\n\\end\n"
        },
        "$:/snippets/minilanguageswitcher": {
            "title": "$:/snippets/minilanguageswitcher",
            "text": "<$select tiddler=\"$:/language\">\n<$list filter=\"[[$:/languages/en-GB]] [plugin-type[language]sort[title]]\">\n<option value=<<currentTiddler>>><$view field=\"description\"><$view field=\"name\"><$view field=\"title\"/></$view></$view></option>\n</$list>\n</$select>"
        },
        "$:/snippets/minithemeswitcher": {
            "title": "$:/snippets/minithemeswitcher",
            "text": "\\define lingo-base() $:/language/ControlPanel/Theme/\n<<lingo Prompt>> <$select tiddler=\"$:/theme\">\n<$list filter=\"[plugin-type[theme]sort[title]]\">\n<option value=<<currentTiddler>>><$view field=\"name\"><$view field=\"title\"/></$view></option>\n</$list>\n</$select>"
        },
        "$:/snippets/modules": {
            "title": "$:/snippets/modules",
            "text": "\\define describeModuleType(type)\n{{$:/language/Docs/ModuleTypes/$type$}}\n\\end\n<$list filter=\"[moduletypes[]]\">\n\n!! <$macrocall $name=\"currentTiddler\" $type=\"text/plain\" $output=\"text/plain\"/>\n\n<$macrocall $name=\"describeModuleType\" type=<<currentTiddler>>/>\n\n<ul><$list filter=\"[all[current]modules[]]\"><li><$link><<currentTiddler>></$link>\n</li>\n</$list>\n</ul>\n</$list>\n"
        },
        "$:/palette": {
            "title": "$:/palette",
            "text": "$:/palettes/Vanilla"
        },
        "$:/snippets/paletteeditor": {
            "title": "$:/snippets/paletteeditor",
            "text": "<$transclude tiddler=\"$:/PaletteManager\"/>\n"
        },
        "$:/snippets/palettepreview": {
            "title": "$:/snippets/palettepreview",
            "text": "<$set name=\"currentTiddler\" value={{$:/palette}}>\n{{||$:/snippets/currpalettepreview}}\n</$set>\n"
        },
        "$:/snippets/paletteswitcher": {
            "title": "$:/snippets/paletteswitcher",
            "text": "<$linkcatcher to=\"$:/palette\">\n<div class=\"tc-chooser\"><$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Palette]sort[name]]\"><$set name=\"cls\" filter=\"[all[current]prefix{$:/palette}]\" value=\"tc-chooser-item tc-chosen\" emptyValue=\"tc-chooser-item\"><div class=<<cls>>><$link to={{!!title}}>''<$view field=\"name\" format=\"text\"/>'' - <$view field=\"description\" format=\"text\"/>{{||$:/snippets/currpalettepreview}}</$link>\n</div></$set>\n</$list>\n</div>\n</$linkcatcher>\n"
        },
        "$:/snippets/peek-stylesheets": {
            "title": "$:/snippets/peek-stylesheets",
            "text": "\\define expandable-stylesheets-list()\n<ol>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Stylesheet]!has[draft.of]]\">\n<$vars state=<<qualify \"$:/state/peek-stylesheets/open/\">>>\n<$set name=\"state\" value={{{ [<state>addsuffix<currentTiddler>] }}}>\n<li>\n<$reveal type=\"match\" state=<<state>> text=\"yes\" tag=\"span\">\n<$button set=<<state>> setTo=\"no\" class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n</$button>\n</$reveal>\n<$reveal type=\"nomatch\" state=<<state>> text=\"yes\" tag=\"span\">\n<$button set=<<state>> setTo=\"yes\" class=\"tc-btn-invisible\">\n{{$:/core/images/right-arrow}}\n</$button>\n</$reveal>\n<$link>\n<$view field=\"title\"/>\n</$link>\n<$reveal type=\"match\" state=<<state>> text=\"yes\" tag=\"div\">\n<$set name=\"source\" tiddler=<<currentTiddler>>>\n<$wikify name=\"styles\" text=<<source>>>\n<pre>\n<code>\n<$text text=<<styles>>/>\n</code>\n</pre>\n</$wikify>\n</$set>\n</$reveal>\n</li>\n</$set>\n</$vars>\n</$list>\n</ol>\n\\end\n\n\\define stylesheets-list()\n<ol>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Stylesheet]!has[draft.of]]\">\n<li>\n<$link>\n<$view field=\"title\"/>\n</$link>\n<$set name=\"source\" tiddler=<<currentTiddler>>>\n<$wikify name=\"styles\" text=<<source>>>\n<pre>\n<code>\n<$text text=<<styles>>/>\n</code>\n</pre>\n</$wikify>\n</$set>\n</li>\n</$list>\n</ol>\n\\end\n\n<$vars modeState=<<qualify \"$:/state/peek-stylesheets/mode/\">>>\n\n<$reveal type=\"nomatch\" state=<<modeState>> text=\"expanded\" tag=\"div\">\n<$button set=<<modeState>> setTo=\"expanded\" class=\"tc-btn-invisible\">{{$:/core/images/chevron-right}} {{$:/language/ControlPanel/Stylesheets/Expand/Caption}}</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<modeState>> text=\"expanded\" tag=\"div\">\n<$button set=<<modeState>> setTo=\"restored\" class=\"tc-btn-invisible\">{{$:/core/images/chevron-down}} {{$:/language/ControlPanel/Stylesheets/Restore/Caption}}</$button>\n</$reveal>\n\n<$reveal type=\"nomatch\" state=<<modeState>> text=\"expanded\" tag=\"div\">\n<<expandable-stylesheets-list>>\n</$reveal>\n<$reveal type=\"match\" state=<<modeState>> text=\"expanded\" tag=\"div\">\n<<stylesheets-list>>\n</$reveal>\n\n</$vars>\n"
        },
        "$:/temp/search": {
            "title": "$:/temp/search",
            "text": ""
        },
        "$:/tags/AdvancedSearch": {
            "title": "$:/tags/AdvancedSearch",
            "list": "[[$:/core/ui/AdvancedSearch/Standard]] [[$:/core/ui/AdvancedSearch/System]] [[$:/core/ui/AdvancedSearch/Shadows]] [[$:/core/ui/AdvancedSearch/Filter]]"
        },
        "$:/tags/AdvancedSearch/FilterButton": {
            "title": "$:/tags/AdvancedSearch/FilterButton",
            "list": "$:/core/ui/AdvancedSearch/Filter/FilterButtons/dropdown $:/core/ui/AdvancedSearch/Filter/FilterButtons/clear $:/core/ui/AdvancedSearch/Filter/FilterButtons/export $:/core/ui/AdvancedSearch/Filter/FilterButtons/delete"
        },
        "$:/tags/ControlPanel": {
            "title": "$:/tags/ControlPanel",
            "list": "$:/core/ui/ControlPanel/Info $:/core/ui/ControlPanel/Appearance $:/core/ui/ControlPanel/Settings $:/core/ui/ControlPanel/Saving $:/core/ui/ControlPanel/Plugins $:/core/ui/ControlPanel/Tools $:/core/ui/ControlPanel/Internals"
        },
        "$:/tags/ControlPanel/Info": {
            "title": "$:/tags/ControlPanel/Info",
            "list": "$:/core/ui/ControlPanel/Basics $:/core/ui/ControlPanel/Advanced"
        },
        "$:/tags/ControlPanel/Plugins": {
            "title": "$:/tags/ControlPanel/Plugins",
            "list": "[[$:/core/ui/ControlPanel/Plugins/Installed]] [[$:/core/ui/ControlPanel/Plugins/Add]]"
        },
        "$:/tags/EditTemplate": {
            "title": "$:/tags/EditTemplate",
            "list": "[[$:/core/ui/EditTemplate/controls]] [[$:/core/ui/EditTemplate/title]] [[$:/core/ui/EditTemplate/tags]] [[$:/core/ui/EditTemplate/shadow]] [[$:/core/ui/ViewTemplate/classic]] [[$:/core/ui/EditTemplate/body]] [[$:/core/ui/EditTemplate/type]] [[$:/core/ui/EditTemplate/fields]]"
        },
        "$:/tags/EditToolbar": {
            "title": "$:/tags/EditToolbar",
            "list": "[[$:/core/ui/Buttons/delete]] [[$:/core/ui/Buttons/cancel]] [[$:/core/ui/Buttons/save]]"
        },
        "$:/tags/EditorToolbar": {
            "title": "$:/tags/EditorToolbar",
            "list": "$:/core/ui/EditorToolbar/paint $:/core/ui/EditorToolbar/opacity $:/core/ui/EditorToolbar/line-width $:/core/ui/EditorToolbar/rotate-left $:/core/ui/EditorToolbar/clear $:/core/ui/EditorToolbar/bold $:/core/ui/EditorToolbar/italic $:/core/ui/EditorToolbar/strikethrough $:/core/ui/EditorToolbar/underline $:/core/ui/EditorToolbar/superscript $:/core/ui/EditorToolbar/subscript $:/core/ui/EditorToolbar/mono-line $:/core/ui/EditorToolbar/mono-block $:/core/ui/EditorToolbar/quote $:/core/ui/EditorToolbar/list-bullet $:/core/ui/EditorToolbar/list-number $:/core/ui/EditorToolbar/heading-1 $:/core/ui/EditorToolbar/heading-2 $:/core/ui/EditorToolbar/heading-3 $:/core/ui/EditorToolbar/heading-4 $:/core/ui/EditorToolbar/heading-5 $:/core/ui/EditorToolbar/heading-6 $:/core/ui/EditorToolbar/link $:/core/ui/EditorToolbar/excise $:/core/ui/EditorToolbar/picture $:/core/ui/EditorToolbar/stamp $:/core/ui/EditorToolbar/size $:/core/ui/EditorToolbar/editor-height $:/core/ui/EditorToolbar/more $:/core/ui/EditorToolbar/preview $:/core/ui/EditorToolbar/preview-type"
        },
        "$:/tags/Manager/ItemMain": {
            "title": "$:/tags/Manager/ItemMain",
            "list": "$:/Manager/ItemMain/WikifiedText $:/Manager/ItemMain/RawText $:/Manager/ItemMain/Fields"
        },
        "$:/tags/Manager/ItemSidebar": {
            "title": "$:/tags/Manager/ItemSidebar",
            "list": "$:/Manager/ItemSidebar/Tags $:/Manager/ItemSidebar/Colour $:/Manager/ItemSidebar/Icon $:/Manager/ItemSidebar/Tools"
        },
        "$:/tags/MoreSideBar": {
            "title": "$:/tags/MoreSideBar",
            "list": "[[$:/core/ui/MoreSideBar/All]] [[$:/core/ui/MoreSideBar/Recent]] [[$:/core/ui/MoreSideBar/Tags]] [[$:/core/ui/MoreSideBar/Missing]] [[$:/core/ui/MoreSideBar/Drafts]] [[$:/core/ui/MoreSideBar/Orphans]] [[$:/core/ui/MoreSideBar/Types]] [[$:/core/ui/MoreSideBar/System]] [[$:/core/ui/MoreSideBar/Shadows]] [[$:/core/ui/MoreSideBar/Explorer]] [[$:/core/ui/MoreSideBar/Plugins]]",
            "text": ""
        },
        "$:/tags/PageControls": {
            "title": "$:/tags/PageControls",
            "list": "[[$:/core/ui/Buttons/home]] [[$:/core/ui/Buttons/close-all]] [[$:/core/ui/Buttons/fold-all]] [[$:/core/ui/Buttons/unfold-all]] [[$:/core/ui/Buttons/permaview]] [[$:/core/ui/Buttons/new-tiddler]] [[$:/core/ui/Buttons/new-journal]] [[$:/core/ui/Buttons/new-image]] [[$:/core/ui/Buttons/import]] [[$:/core/ui/Buttons/export-page]] [[$:/core/ui/Buttons/control-panel]] [[$:/core/ui/Buttons/advanced-search]] [[$:/core/ui/Buttons/manager]] [[$:/core/ui/Buttons/tag-manager]] [[$:/core/ui/Buttons/language]] [[$:/core/ui/Buttons/palette]] [[$:/core/ui/Buttons/theme]] [[$:/core/ui/Buttons/storyview]] [[$:/core/ui/Buttons/encryption]] [[$:/core/ui/Buttons/timestamp]] [[$:/core/ui/Buttons/full-screen]] [[$:/core/ui/Buttons/print]] [[$:/core/ui/Buttons/save-wiki]] [[$:/core/ui/Buttons/refresh]] [[$:/core/ui/Buttons/more-page-actions]]"
        },
        "$:/tags/PageTemplate": {
            "title": "$:/tags/PageTemplate",
            "list": "[[$:/core/ui/PageTemplate/topleftbar]] [[$:/core/ui/PageTemplate/toprightbar]] [[$:/core/ui/PageTemplate/sidebar]] [[$:/core/ui/PageTemplate/story]] [[$:/core/ui/PageTemplate/alerts]]",
            "text": ""
        },
        "$:/tags/SideBar": {
            "title": "$:/tags/SideBar",
            "list": "[[$:/core/ui/SideBar/Open]] [[$:/core/ui/SideBar/Recent]] [[$:/core/ui/SideBar/Tools]] [[$:/core/ui/SideBar/More]]",
            "text": ""
        },
        "$:/tags/SideBarSegment": {
            "title": "$:/tags/SideBarSegment",
            "list": "[[$:/core/ui/SideBarSegments/site-title]] [[$:/core/ui/SideBarSegments/site-subtitle]] [[$:/core/ui/SideBarSegments/page-controls]] [[$:/core/ui/SideBarSegments/search]] [[$:/core/ui/SideBarSegments/tabs]]"
        },
        "$:/tags/TiddlerInfo": {
            "title": "$:/tags/TiddlerInfo",
            "list": "[[$:/core/ui/TiddlerInfo/Tools]] [[$:/core/ui/TiddlerInfo/References]] [[$:/core/ui/TiddlerInfo/Tagging]] [[$:/core/ui/TiddlerInfo/List]] [[$:/core/ui/TiddlerInfo/Listed]] [[$:/core/ui/TiddlerInfo/Fields]]",
            "text": ""
        },
        "$:/tags/TiddlerInfo/Advanced": {
            "title": "$:/tags/TiddlerInfo/Advanced",
            "list": "[[$:/core/ui/TiddlerInfo/Advanced/ShadowInfo]] [[$:/core/ui/TiddlerInfo/Advanced/PluginInfo]]"
        },
        "$:/tags/ViewTemplate": {
            "title": "$:/tags/ViewTemplate",
            "list": "[[$:/core/ui/ViewTemplate/title]] [[$:/core/ui/ViewTemplate/unfold]] [[$:/core/ui/ViewTemplate/subtitle]] [[$:/core/ui/ViewTemplate/tags]] [[$:/core/ui/ViewTemplate/classic]] [[$:/core/ui/ViewTemplate/body]]"
        },
        "$:/tags/ViewToolbar": {
            "title": "$:/tags/ViewToolbar",
            "list": "[[$:/core/ui/Buttons/more-tiddler-actions]] [[$:/core/ui/Buttons/info]] [[$:/core/ui/Buttons/new-here]] [[$:/core/ui/Buttons/new-journal-here]] [[$:/core/ui/Buttons/clone]] [[$:/core/ui/Buttons/export-tiddler]] [[$:/core/ui/Buttons/edit]] [[$:/core/ui/Buttons/delete]] [[$:/core/ui/Buttons/permalink]] [[$:/core/ui/Buttons/permaview]] [[$:/core/ui/Buttons/open-window]] [[$:/core/ui/Buttons/close-others]] [[$:/core/ui/Buttons/close]] [[$:/core/ui/Buttons/fold-others]] [[$:/core/ui/Buttons/fold]]"
        },
        "$:/snippets/themeswitcher": {
            "title": "$:/snippets/themeswitcher",
            "text": "<$linkcatcher to=\"$:/theme\">\n<div class=\"tc-chooser\"><$list filter=\"[plugin-type[theme]sort[title]]\"><$set name=\"cls\" filter=\"[all[current]field:title{$:/theme}] [[$:/theme]!has[text]addsuffix[s/tiddlywiki/vanilla]field:title<currentTiddler>] +[limit[1]]\" value=\"tc-chooser-item tc-chosen\" emptyValue=\"tc-chooser-item\"><div class=<<cls>>><$link to={{!!title}}>''<$view field=\"name\" format=\"text\"/>'' <$view field=\"description\" format=\"text\"/></$link></div>\n</$set>\n</$list>\n</div>\n</$linkcatcher>"
        },
        "$:/core/wiki/title": {
            "title": "$:/core/wiki/title",
            "text": "{{$:/SiteTitle}} --- {{$:/SiteSubtitle}}"
        },
        "$:/view": {
            "title": "$:/view",
            "text": "classic"
        },
        "$:/snippets/viewswitcher": {
            "title": "$:/snippets/viewswitcher",
            "text": "\\define icon()\n$:/core/images/storyview-$(storyview)$\n\\end\n<$linkcatcher to=\"$:/view\">\n<div class=\"tc-chooser\">\n<$list filter=\"[storyviews[]]\" variable=\"storyview\">\n<$set name=\"cls\" filter=\"[<storyview>prefix{$:/view}]\" value=\"tc-chooser-item tc-chosen\" emptyValue=\"tc-chooser-item\"><div class=<<cls>>>\n<$link to=<<storyview>>>\n<$transclude tiddler=<<icon>>/>\n<$text text=<<storyview>>/>\n</$link>\n</div>\n</$set>\n</$list>\n</div>\n</$linkcatcher>"
        }
    }
}
\define timeline-title()
<!-- Override this macro with a global macro 
     of the same name if you need to change 
     how titles are displayed on the timeline 
     -->
<$view field="title"/>
\end
\define timeline(limit:"100",format:"DDth MMM YYYY",subfilter:"",dateField:"modified")
<div class="tc-timeline">
<$list filter="[!is[system]$subfilter$has[$dateField$]!sort[$dateField$]limit[$limit$]eachday[$dateField$]]">
<div class="tc-menu-list-item">
<$view field="$dateField$" format="date" template="$format$"/>
<$list filter="[sameday:$dateField${!!$dateField$}!is[system]$subfilter$!sort[$dateField$]]">
<div class="tc-menu-list-subitem">
<small><$button tooltip="Edit tiddler" class="tc-btn-invisible" message="tm-edit-tiddler" >
{{$:/core/images/edit-button}}
</$button></small>
<$link to={{!!title}}>
<<timeline-title>>
</$link>
</div>
</$list>
</div>
</$list>
</div>
\end
\define toc-caption()
<$set name="tv-wikilinks" value="no">
  <$transclude field="caption">
    <$view field="title"/>
  </$transclude>
</$set>
\end

\define toc-body(tag,sort:"",itemClassFilter,exclude,path)
<ol class="tc-toc">
  <$list filter="""[all[shadows+tiddlers]tag<__tag__>!has[draft.of]$sort$] -[<__tag__>] -[enlist<__exclude__>]""">
    <$vars item=<<currentTiddler>> path={{{ [<__path__>addsuffix[/]addsuffix<__tag__>] }}} excluded="""[enlist<__exclude__>] -[<__tag__>]""">
      <$set name="toc-item-class" filter=<<__itemClassFilter__>> emptyValue="toc-item" value="toc-item-selected">
        <li class=<<toc-item-class>>>
          <$list filter="[all[current]toc-link[no]]" emptyMessage="<$link><$view field='caption'><$view field='title'/></$view></$link>">
            <<toc-caption>>
          </$list>
          <$macrocall $name="toc-body" tag=<<item>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<excluded>> path=<<path>>/>
        </li>
      </$set>
    </$vars>
  </$list>
</ol>
\end

\define toc(tag,sort:"",itemClassFilter:" ")
<$macrocall $name="toc-body"  tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> />
\end

\define toc-linked-expandable-body(tag,sort:"",itemClassFilter,exclude,path)
<!-- helper function -->
<$qualify name="toc-state" title={{{ [[$:/state/toc]addsuffix<__path__>addsuffix[-]addsuffix<currentTiddler>] }}}>
  <$set name="toc-item-class" filter=<<__itemClassFilter__>> emptyValue="toc-item" value="toc-item-selected">
    <li class=<<toc-item-class>>>
    <$link>
      <$reveal type="nomatch" stateTitle=<<toc-state>> text="open">
        <$button setTitle=<<toc-state>> setTo="open" class="tc-btn-invisible tc-popup-keep">
          {{$:/core/images/right-arrow}}
        </$button>
      </$reveal>
      <$reveal type="match" stateTitle=<<toc-state>> text="open">
        <$button setTitle=<<toc-state>> setTo="close" class="tc-btn-invisible tc-popup-keep">
          {{$:/core/images/down-arrow}}
        </$button>
      </$reveal>
      <<toc-caption>>
    </$link>
    <$reveal type="match" stateTitle=<<toc-state>> text="open">
      <$macrocall $name="toc-expandable" tag=<<currentTiddler>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<__exclude__>> path=<<__path__>>/>
    </$reveal>
    </li>
  </$set>
</$qualify>
\end

\define toc-unlinked-expandable-body(tag,sort:"",itemClassFilter:" ",exclude,path)
<!-- helper function -->
<$qualify name="toc-state" title={{{ [[$:/state/toc]addsuffix<__path__>addsuffix[-]addsuffix<currentTiddler>] }}}>
  <$set name="toc-item-class" filter=<<__itemClassFilter__>> emptyValue="toc-item" value="toc-item-selected">
    <li class=<<toc-item-class>>>
      <$reveal type="nomatch" stateTitle=<<toc-state>> text="open">
        <$button setTitle=<<toc-state>> setTo="open" class="tc-btn-invisible tc-popup-keep">
          {{$:/core/images/right-arrow}}
          <<toc-caption>>
        </$button>
      </$reveal>
      <$reveal type="match" stateTitle=<<toc-state>> text="open">
        <$button setTitle=<<toc-state>> setTo="close" class="tc-btn-invisible tc-popup-keep">
          {{$:/core/images/down-arrow}}
          <<toc-caption>>
        </$button>
      </$reveal>
      <$reveal type="match" stateTitle=<<toc-state>> text="open">
        <$macrocall $name="toc-expandable" tag=<<currentTiddler>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<__exclude__>> path=<<__path__>>/>
      </$reveal>
    </li>
  </$set>
</$qualify>
\end

\define toc-expandable-empty-message()
<$macrocall $name="toc-linked-expandable-body" tag=<<tag>> sort=<<sort>> itemClassFilter=<<itemClassFilter>> exclude=<<excluded>> path=<<path>>/>
\end

\define toc-expandable(tag,sort:"",itemClassFilter:" ",exclude,path)
<$vars tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> excluded="""[enlist<__exclude__>] -[<__tag__>]""" path={{{ [<__path__>addsuffix[/]addsuffix<__tag__>] }}}>
  <ol class="tc-toc toc-expandable">
    <$list filter="""[all[shadows+tiddlers]tag<__tag__>!has[draft.of]$sort$] -[<__tag__>] -[enlist<__exclude__>]""">
      <$list filter="[all[current]toc-link[no]]" emptyMessage=<<toc-expandable-empty-message>> >
        <$macrocall $name="toc-unlinked-expandable-body" tag=<<__tag__>> sort=<<__sort__>> itemClassFilter="""itemClassFilter""" exclude=<<excluded>> path=<<path>> />
      </$list>
    </$list>
  </ol>
</$vars>
\end

\define toc-linked-selective-expandable-body(tag,sort:"",itemClassFilter:" ",exclude,path)
<$qualify name="toc-state" title={{{ [[$:/state/toc]addsuffix<__path__>addsuffix[-]addsuffix<currentTiddler>] }}}>
  <$set name="toc-item-class" filter=<<__itemClassFilter__>> emptyValue="toc-item" value="toc-item-selected" >
    <li class=<<toc-item-class>>>
      <$link>
          <$list filter="[all[current]tagging[]limit[1]]" variable="ignore" emptyMessage="<$button class='tc-btn-invisible'>{{$:/core/images/blank}}</$button>">
          <$reveal type="nomatch" stateTitle=<<toc-state>> text="open">
            <$button setTitle=<<toc-state>> setTo="open" class="tc-btn-invisible tc-popup-keep">
              {{$:/core/images/right-arrow}}
            </$button>
          </$reveal>
          <$reveal type="match" stateTitle=<<toc-state>> text="open">
            <$button setTitle=<<toc-state>> setTo="close" class="tc-btn-invisible tc-popup-keep">
              {{$:/core/images/down-arrow}}
            </$button>
          </$reveal>
        </$list>
        <<toc-caption>>
      </$link>
    <$transclude tiddler='$:/config/index/newSubitem'/>         <$reveal type="match" stateTitle=<<toc-state>> text="open">
        <$macrocall $name="toc-selective-expandable" tag=<<currentTiddler>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<__exclude__>> path=<<__path__>>/>
      </$reveal>
</li>
  </$set>
</$qualify>
\end

\define toc-unlinked-selective-expandable-body(tag,sort:"",itemClassFilter:" ",exclude,path)
<$qualify name="toc-state" title={{{ [[$:/state/toc]addsuffix<__path__>addsuffix[-]addsuffix<currentTiddler>] }}}>
  <$set name="toc-item-class" filter=<<__itemClassFilter__>> emptyValue="toc-item" value="toc-item-selected">
    <li class=<<toc-item-class>>>
      <$list filter="[all[current]tagging[]limit[1]]" variable="ignore" emptyMessage="<$button class='tc-btn-invisible'>{{$:/core/images/blank}}</$button> <$view field='caption'><$view field='title'/></$view>">
        <$reveal type="nomatch" stateTitle=<<toc-state>> text="open">
          <$button setTitle=<<toc-state>> setTo="open" class="tc-btn-invisible tc-popup-keep">
            {{$:/core/images/right-arrow}}
            <<toc-caption>>
          </$button>
        </$reveal>
        <$reveal type="match" stateTitle=<<toc-state>> text="open">
          <$button setTitle=<<toc-state>> setTo="close" class="tc-btn-invisible tc-popup-keep">
            {{$:/core/images/down-arrow}}
            <<toc-caption>>
          </$button>
        </$reveal>
      </$list>
      <$reveal type="match" stateTitle=<<toc-state>> text="open">
        <$macrocall $name="toc-selective-expandable" tag=<<currentTiddler>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<__exclude__>> path=<<__path__>>/>
      </$reveal>
    </li>
  </$set>
</$qualify>
\end

\define toc-selective-expandable-empty-message()
<$macrocall $name="toc-linked-selective-expandable-body" tag=<<tag>> sort=<<sort>> itemClassFilter=<<itemClassFilter>> exclude=<<excluded>> path=<<path>>/>
\end

\define toc-selective-expandable(tag,sort:"",itemClassFilter,exclude,path)
<$vars tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> excluded="""[enlist<__exclude__>] -[<__tag__>]""" path={{{ [<__path__>addsuffix[/]addsuffix<__tag__>] }}}>
  <ol class="tc-toc toc-selective-expandable">
    <$list filter="""[all[shadows+tiddlers]tag<__tag__>!has[draft.of]$sort$] -[<__tag__>] -[enlist<__exclude__>]""">
      <$list filter="[all[current]toc-link[no]]" variable="ignore" emptyMessage=<<toc-selective-expandable-empty-message>> >
        <$macrocall $name="toc-unlinked-selective-expandable-body" tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<excluded>> path=<<path>>/>
      </$list>
    </$list>
  </ol>
</$vars>
\end

\define toc-tabbed-external-nav(tag,sort:"",selectedTiddler:"$:/temp/toc/selectedTiddler",unselectedText,missingText,template:"")
<$tiddler tiddler={{{ [<__selectedTiddler__>get[text]] }}}>
  <div class="tc-tabbed-table-of-contents">
    <$linkcatcher to=<<__selectedTiddler__>>>
      <div class="tc-table-of-contents">
        <$macrocall $name="toc-selective-expandable" tag=<<__tag__>> sort=<<__sort__>> itemClassFilter="[all[current]field:title<__selectedTiddler__>]"/>
      </div>
    </$linkcatcher>
    <div class="tc-tabbed-table-of-contents-content">
      <$reveal stateTitle=<<__selectedTiddler__>> type="nomatch" text="">
        <$transclude mode="block" tiddler=<<__template__>>>
          <h1><<toc-caption>></h1>
          <$transclude mode="block">$missingText$</$transclude>
        </$transclude>
      </$reveal>
      <$reveal stateTitle=<<__selectedTiddler__>> type="match" text="">
        $unselectedText$
      </$reveal>
    </div>
  </div>
</$tiddler>
\end

\define toc-tabbed-internal-nav(tag,sort:"",selectedTiddler:"$:/temp/toc/selectedTiddler",unselectedText,missingText,template:"")
<$linkcatcher to=<<__selectedTiddler__>>>
  <$macrocall $name="toc-tabbed-external-nav" tag=<<__tag__>> sort=<<__sort__>> selectedTiddler=<<__selectedTiddler__>> unselectedText=<<__unselectedText__>> missingText=<<__missingText__>> template=<<__template__>>/>
</$linkcatcher>
\end

\define lingo-base() $:/language/EditTemplate/

\define tag-styles()
background-color:$(backgroundColor)$;
fill:$(foregroundColor)$;
color:$(foregroundColor)$;
\end

\define tag-body-inner(colour,fallbackTarget,colourA,colourB)
<$vars foregroundColor=<<contrastcolour target:"""$colour$""" fallbackTarget:"""$fallbackTarget$""" colourA:"""$colourA$""" colourB:"""$colourB$""">> backgroundColor="""$colour$""">
<span style=<<tag-styles>> class="tc-tag-label">
<$view field="title" format="text" />
<$button message="tm-remove-tag" param={{!!title}} class="tc-btn-invisible tc-remove-tag-button">&times;</$button>
</span>
</$vars>
\end

\define tag-body(colour,palette)
<$macrocall $name="tag-body-inner" colour="""$colour$""" fallbackTarget={{$palette$##tag-background}} colourA={{$palette$##foreground}} colourB={{$palette$##background}}/>
\end

\define tag-picker-actions()
<$action-listops
	$tiddler=<<currentTiddler>>
	$field="tags"
	$subfilter="[<tag>] [all[current]tags[]]"
/>
\end

<div class="tc-edit-tags">
<$fieldmangler>
<$list filter="[all[current]tags[]sort[title]]" storyview="pop">
<$macrocall $name="tag-body" colour={{!!color}} palette={{$:/palette}}/>
</$list>
</$fieldmangler>
<$macrocall $name="tag-picker" actions=<<tag-picker-actions>>/>
</div>
<$button tooltip="Opret ny fane" aria-label="ny sidebar fane" class="minibutton">
<$action-sendmessage $message="tm-new-tiddler"
	title="Ny fane"
	tags="$:/tags/SideBar"/>
{{$:/core/images/new-button}}
Opret ny fane
</$button>

<$reveal type="nomatch" state="$:/state/oRecentsystemtids" text="show">

&nbsp;<$button set="$:/state/oRecentsystemtids" setTo="show" style="border:0px; background-color:transparent; color:gray;">Systemtiddlere ▷</$button>

</$reveal>
<$reveal type="match" state="$:/state/oRecentsystemtids" text="show">

&nbsp;<$button set="$:/state/oRecentsystemtids" setTo="hide" style="border:0px; background-color:transparent; color:black;">Systemtiddlers shown ◁</$button>
<$list filter="[prefix[$:]] -[[$:/HistoryList]] -[prefix[$:/state]] -[prefix[$:/temp]] +[!sort[modified]limit[10]]">
<li><<linkifytitle "{{!!title}}">></li>
</$list>
<hr>
</$reveal>

<$macrocall $name="timeline" limit="10" format={{$:/language/RecentChanges/DateFormat}}/>

!!!&nbsp; [[Fuld tidslinie|$:/_Timeline]]
<$reveal tag="div" class="tc-tiddler-body" type="nomatch" state=<<folded-state>> text="hide" retain="yes" animate="yes">

<$list filter="[all[current]!has[plugin-type]!field:hide-body[yes]]">

<$transclude>

<$transclude tiddler="$:/language/MissingTiddler/Hint"/>

</$transclude>

</$list>

</$reveal>
\define lingo-base() $:/language/ClassicWarning/
<$list filter="[all[current]type[text/x-tiddlywiki]]">
<div class="tc-message-box">

<<lingo Hint>>

<$button set="!!type" setTo="text/vnd.tiddlywiki"><<lingo Upgrade/Caption>></$button>

</div>
</$list>
\define lingo-base() $:/language/Import/

\define buttons()
<$button message="tm-delete-tiddler" param=<<currentTiddler>>><<lingo Listing/Cancel/Caption>></$button>
<$button message="tm-perform-import" param=<<currentTiddler>>><<lingo Listing/Import/Caption>></$button>
<<lingo Listing/Preview>> <$select tiddler="$:/state/importpreviewtype" default="$:/core/ui/ImportPreviews/Text">
<$list filter="[all[shadows+tiddlers]tag[$:/tags/ImportPreview]!has[draft.of]]">
<option value=<<currentTiddler>>>{{!!caption}}</option>
</$list>
</$select>
\end

<$list filter="[all[current]field:plugin-type[import]]">

<div class="tc-import">

<<lingo Listing/Hint>>

<<buttons>>

{{||$:/core/ui/ImportListing}}

<<buttons>>

</div>

</$list>
<$list filter="[all[current]has[plugin-type]] -[all[current]field:plugin-type[import]]">
<$set name="plugin-type" value={{!!plugin-type}}>
<$set name="default-popup-state" value="yes">
<$set name="qualified-state" value=<<qualify "$:/state/plugin-info">>>
{{||$:/core/ui/Components/plugin-info}}
</$set>
</$set>
</$set>
</$list>
<$reveal type="nomatch" state=<<folded-state>> text="hide" tag="div" retain="yes" animate="yes">
<div class="tc-subtitle">
<$link to={{!!modifier}}>
<$view field="modifier"/>
</$link> <$view field="modified" format="date" template={{$:/language/Tiddler/DateFormat}}/>
</div>
</$reveal>
<$reveal type="nomatch" state=<<folded-state>> text="hide" tag="div" retain="yes" animate="yes">
<div class="tc-tags-wrapper"><$list filter="[all[current]tags[]sort[title]]" template="$:/core/ui/TagTemplate" storyview="pop"/></div>
</$reveal>
\define title-styles()
fill:$(foregroundColor)$;
\end
\define config-title()
$:/config/ViewToolbarButtons/Visibility/$(listItem)$
\end
<div class="tc-tiddler-title">
<div class="tc-titlebar">
<span class="tc-tiddler-controls">
<$list filter="[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]]" variable="listItem"><$reveal type="nomatch" state=<<config-title>> text="hide"><$set name="tv-config-toolbar-class" filter="[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]"><$transclude tiddler=<<listItem>>/></$set></$reveal></$list>
</span>
<$set name="tv-wikilinks" value={{$:/config/Tiddlers/TitleLinks}}>
<$link>
<$set name="foregroundColor" value={{!!color}}>
<span class="tc-tiddler-title-icon" style=<<title-styles>>>
<$transclude tiddler={{!!icon}}/>
</span>
</$set>
<$list filter="[all[current]removeprefix[$:/]]">
<h2 class="tc-title" title={{$:/language/SystemTiddler/Tooltip}}>
<span class="tc-system-title-prefix">$:/</span><$text text=<<currentTiddler>>/>
</h2>
</$list>
<$list filter="[all[current]!prefix[$:/]]">
<h2 class="tc-title">
<$view field="title"/>
</h2>
</$list>
</$link>
</$set>
</div>

<$reveal type="nomatch" text="" default="" state=<<tiddlerInfoState>> class="tc-tiddler-info tc-popup-handle" animate="yes" retain="yes">

<$transclude tiddler="$:/core/ui/TiddlerInfo"/>

</$reveal>
</div>
<$reveal tag="div" type="nomatch" state="$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-bar" text="hide">
<$reveal tag="div" type="nomatch" state=<<folded-state>> text="hide" default="show" retain="yes" animate="yes">
<$button tooltip={{$:/language/Buttons/Fold/Hint}} aria-label={{$:/language/Buttons/Fold/Caption}} class="tc-fold-banner">
<$action-sendmessage $message="tm-fold-tiddler" $param=<<currentTiddler>> foldedState=<<folded-state>>/>
{{$:/core/images/chevron-up}}
</$button>
</$reveal>
<$reveal tag="div" type="nomatch" state=<<folded-state>> text="show" default="show" retain="yes" animate="yes">
<$button tooltip={{$:/language/Buttons/Unfold/Hint}} aria-label={{$:/language/Buttons/Unfold/Caption}} class="tc-unfold-banner">
<$action-sendmessage $message="tm-fold-tiddler" $param=<<currentTiddler>> foldedState=<<folded-state>>/>
{{$:/core/images/chevron-down}}
</$button>
</$reveal>
</$reveal>
{}
{
    "Ficin, bromelin og papain": "Det lyder faretruende, men er faktisk bare navnene på de enzymer, der findes naturligt i figner, ananas og papaja. Papain indgår i mange af de kødmørnere, der bruges både industrielt og i det hjemlige køkken.",
    "Non-oxal": "Det er oxalsyren, der får tænderne itl at føles ru og mærkelige, når man spiser rabarber og spinat. Oxalsyre binder kalk og er giftig i store mængder, men det er ikk enoget problem i de mængder, vi får gennem maden. Vil du undgå den mærkelige fornemmelse på tænderne, kan du neutralisere syren ved hjælp af det produkt, der hedder non-oxal. Brugsanvisning på flasken.",
    "Marinér kødet og nedsæt risikoen for kræft": "Når man steger og griller kød, opstår der kræftfremkaldende stoffer med det mundrette navn heterocycliske aminer, som produceres af kødets naturlige indhold af sukkerstoffer og aminosyrer. Nu har portugisiske forskere imidlertid fundet ud af, at man nedsætter mængden af disse farlige stoffer med op til 90 %, hvis kødet marineres i rødvin eller øl i mindst seks timer før stegningen.\nHusk at kødet skal trække på køl.\nI øvrigt har tidligere forskning vist, at når kylling trækker i en marinade af olivenolie, citron og hvidløg, nedsættes også mængden af heterocykliske aminer med 90 %.",
    "Chutney": "Er sursød, syltet frugt eller grøntsager. Den mest kendte er mangochutney, men der findes mange andre. Chutney bruges ofte som tilbehør til indiske retter og går godt sammen med karry. Oprindelig har chutney udviklet sig fra de pickles som englænderne medbragte under koloniseringen af Indien. Grænserne for, hvornår der er tale om chutney, relish og pickles er lidt flydende, og ordene bruges i flæng. Chutney kan købes på glas i en stærk eller mild udgave og opbevares som marmelade.",
    "Lard": "Flæsk, spæk.",
    "Volaille": "Fjerkræ.",
    "Viande": "Kød",
    "Vol-au vent": "Skål og låg bagt i butterdej.",
    "Vapeur": "Damp",
    "Tutti-Frutti": "Blanding frugt",
    "Tranchere": "Hvis tjeneren trancherer fasanen ved bordet, hvor restaurantens gæsterne sidder, skærer han den faktisk bare ud. Fint ord for at udskære.",
    "Tranche": "En skive",
    "Tournere": "At skære grøntsager i ovale former på størrelse med oliven.",
    "Timbale": "Cylindrisk form.\n",
    "Smoothie": "Smoothies er betegnelsen for friske og sunde drikke med en cremet komsistens. Ofte laves de med mælkeprodukter tilsat forskellige frugter og smagsstoffer. De fås på de trendy cafeer, men man kan også nemt lave dem selv. Det tager faktisk kun et øjeblik.",
    "Ravigottesauce": "Ravigottesauce er en sennepssauce, der bl.a. bruges til skinke og oksekød eller som smagsgiver i dip og dressinger.",
    "Purée": "Mos (puré) af grøntsager, fisk, vildt osv.",
    "Pré-salé": "Engsaltet. Kød af lam, som har græsset ved havet.",
    "Preparer": "Forberede, gøre stand (præparere).",
    "Poéler": "At stege fjerkræ eller kød i smør i gryde uden låg.",
    "Potage": "Suppe",
    "Poivre": "Peber",
    "Poison du mer": "Saltvandsfisk",
    "Poison du lac": "Ferskvandsfisk",
    "Poison d'eau douce": "Ferskvandsfisk",
    "Poison": "Fisk",
    "Pochere": "Hvis du pochere, lader du noget ”koge uden at koge” (simre). Temperaturen på vandet skal ligge lige under kogepunktet. Hvis du pocherer æg, hælder du råt æg i kogende vand og lade det simre, til hviden er helt hvid og omslutter blommen.",
    "Piquér": "At spække kød eller fisk med spæk, hvidløg eller andet.",
    "Paupiette": "Roulade af kød eller fisk.",
    "Paté": "Postej",
    "Patisserie": "Bagværk",
    "Pate": "Dej",
    "Passere": "Hvis du passerer noget, betyder det at du sigter det. Når der koges suppe, kan der komme grums fra kødet. Det sies fra ved at hælde suppen gennem et klæde. Du passerer suppen",
    "Parfumer": "Sætte smag på f.eks. is eller gelé med likør eller essens.",
    "Parere": "At befri kødet for sener",
    "Papillot": "Papirmanchet til kotelet, skinke etc. (en papillot = i papir)",
    "Panaché": "Alt blandet (Typisk fisk)",
    "Pain": "Brød",
    "Nappere": "At maskere kød eller fisk med sauce og lignende.",
    "Morilles": "Morkler",
    "Montere": "At ændre (hæve) en rets konsistens, udseende og smag ved tilsætning af smør eller piskefløde. F.eks. at piske koldt smør i en sauce.",
    "Moelle": "Marv",
    "Mignons": "Små filetskiver",
    "Mie de pain": "Frisk revet sandwichbrød, evt. tilsat hakket persille.",
    "Meunière": "À la meunière betyder direkte oversat \"\"som møllerens kone laver det\"\". Ganske enkelt er det fisk, som vendes i mel, inden de smørsteges på panden.\nMeunière stegt fisk serveres oftest med et drys persille, smeltet, letbrunet smør og citronbåde.",
    "Meuniere": "At stege i smør efter at råvaren er vendt i mel.",
    "Maskere": "Overtrække med sauce eller gelé.",
    "Mascarpone": "Mascarpone er Italiens svar på creme fraiche, men den er langt mere cremet og lidt fastere i konsistensen, og smagen er let sødlig. Den er best kendt fra tiramisu, men bruges også til mange andre desserter. Bagning og som dip. Du kan finde mascarpone i store supermarkeder og hos ostehandlere.",
    "Marrons": "Kastanjer",
    "Marinere": "Når man lægger kød, fisk, fjerkræ eller andet i marinade (dressing).",
    "Liere": "Jævne (legere) en sauce eller suppe med æg, fløde eller smør.",
    "Menu": "Ordet \"menu\" vandt indpas i Frankrig, så sent som 1890'erne, da franske restauranter inførte et kort med en oversigt over, hvad stedet kunne byde på. Tidligere spiste man blot, hvad køkkenet formåede netop den dag.",
    "Budding eller pudding": "I England er det ret udbredt at lave dampede kager fx. christmas pudding, men oprindelig var ordet en betegnelse for en ret fra det salte køkken.<br><br>\n\nOrdet pudding kommer  - muligvis - fra latin botellus, som betyder pølse. I middelalderen talte man om Black Pudding og mente blodpølse og om White Pudding, som var en ret lavet af mel og flomme, og som også blev kogt i pølseskind (eller i en mavesæk). Flomme er indvoldsfedt fra ko eller får og kaldes også ister, hvilket har givet navn til den danske nationalpølse med-ister. <br><br>\n\nTraditionalister holder på, at Christmas Pudding skal laves med flomme.<br><br>\n\nOrdet pudding er det samme som det danske budding, men på engelsk bruger man udtrykkene flan eller det franske blanc-manger (= hvid spise), hvis man taler om den bløde, hvide dessert, som vi spiser med frugtsauce. Pudding har ofte en meget bredere betydning som slet og ret dessert.<br><br>\n\nPudding/budding handler i høj grad om at noget tilberedes i en form.<br><br>\n\nhttp://www.bbcgoodfood.com/technique/how-steam-pudding<br><br>\n\n[[Eksempel opskrift|Dampet kage med kardemomme og indbygget hvid chokoladesauce]]",
    "Ægte sauce": "Æggeblommer bruges til fremstillingen af ægte sauce, som fx béarnaise og mayonnaise, der kræver et vist håndelag at fremstille, men til gengæld er smagen jo  fantastisk.",
    "Vælling": "Suppe kogt fortrinsvis af mælk og gryn.\n",
    "Vintage": "Er det engelske ord for \"årgang\"",
    "Vin de table": "Fransk bordvin som ofte er meget basal, den kan godt være god.",
    "Vin de Pays": "Fransk bordvin som er bedre en \"Vin de table\" men ikke lige så god som Aoc. vin.",
    "Vilde ris": "Vilde ris er ikke en ris-art, men frøet fra en græsart, der vokser i Nordamerika. Før i tiden kunne frøene kun indsamles med håndkraft fra både, hvorfor vilde ris var uhyre kostbare og fine.<br> Det var indianere, der indsamlede vilde ris. I dag dyrkes græsarten, så prisen er stort set som på andre ris.<br> Riskornet er mørkt og brister ved kogning.<br> Vilde ris kræver en længere kogetid end hvide ris og bliver løse ved kogning.<br>Oftest blandes de i hvide ris, mest på grund af farve- og konsistensforskellen.",
    "Vandbad": "Stor gryde med kogende vand, hvori man anbringer en mindre gryde, der indeholder den ret eller tilberedning, der skal varmes eller koges ved meget svag varme",
    "UHT-Behandlet": "UHT-behandling er en varmebehandling, der giver mælkeprodukter lang holdbarhed og dræber eventuelle sygdomsfremkaldende bakterier.<br> UHT står for Ultra Høj Temperatur, og mælken opvarmes til 135º i 1 sekund, derefter nedkøles den hurtigt.\n",
    "Tørstegning": "Tørstegning er en fedtbesparende stegemetode, hvor kød steges på slip-letpande uden tilsætning af fedtstof. Besparelsen af fedt er dog minimal\n",
    "Toast": "Ristet brød",
    "Umami - Den femte smagssans": "Gærede råvarer: <br>\nfiskesauce, soyasauce, ansjoser, engelsk sauce, vin og øl<br><br>\nModnede råvarer:<br>\nlagrede oste (fx parmasan, emmenthaler), marinerede sild, røget makrel, pølser, bacon, tørret skinke, soltørrede tomater<br><br>\nRåvarer i forfald:<br>\nblå ost, modnet oksekød<br><br>\nTilberedte råvarer:<br>\nFonder, ketchup, kogte bønner og linser, kogte kartofler, stegt tofu.<br><br>\nKød:<br>\nal slags kød, and, vildt og kalv.<br><br>\nFisk og skaldyr:<br>\nsardiner, makrel, tun, torsk, rejer, blæksprutte, østers<br><br>\nNaturlig forekomst:<br>\nmodne tomater, majs, kinakål, asparges, ærter, tang, svampe, trøfler, gær og æg.<br><br>\nUmami kan skabes kemisk og har navnet mononatriumglutaminat - E621 - også kaldet smagsforstærker. (Det tredje krydderi)<br>\nDet bruges i sær i industrien til at fremme smagen i eksempelvis chips og færdigproducerede produkter som dressinger, saucer osv.",
    "Affedte:": "F.eks. en oksekødsuppe: lade den køle af, så fedtet stiger op til overfladen og stivner i en skorpe, der let kan fjernes med en hulske eller en almindelig ske. <br>Hvis man har meget travlt, kan man også bruge fedtsugende papir, der suger fedtet fra overfladen af den varme suppe. \n",
    "Tounere": "En udsmykningsform hvorved man giver grønsager en olivenform",
    "Terninger": "Brød, kød, flæsk eller grønsager skåret i større eller mindre firkanter",
    "Tempereret": "Tempereret betyder normalt det samme som stuetemperatur, dvs. ikke hverken køleskabskold eller varm. <br>I praksis betyder det, at fødevaren (fx ost til en osteanretning) tages ud af køleskabet og stilles i stuetemperatur i mindst en time inden servering.",
    "Tandoori masala": "Indisk karrykrydderi med bla. chili og nelliker\n",
    "Tagliatelle": "Flade pastabånd",
    "Svitse": "Man svitser kød, fisk eller grønsager i fedtstof ved stærk varme, for at de kan tage farve",
    "Svide": "Plukket vildt og fjerkræ svides over en kraftig flamme, så eventuelle dunrester fjernes\n\n",
    "Surprise": "Overraskelse.",
    "Suppevisk": "Selleri, porre, persille og andre urter, urterne koges og bruges i suppe for at give smag.\n\n",
    "Souper": "Betyder Supper",
    "Stuvning": "Traditionsrig form for sammenkogt el. grydestegt ret.",
    "Sne": "Piske æggehvider, til de er hvide og hårde som sne",
    "Smørbolle": "Røres af lige dele smør og mel",
    "Skumme": "Fjerne det skum, der stiger op til overfladen, når vandet eller suppen, hvori man koger fisk, kød eller grønsager, kommer i kog og igen under kogningen",
    "Skrabe": "Fjerne skællene på en fisk ved at skrabe den fra halen mod hovedet uden at beskadige skindet",
    "Simre": "Koge ved meget svag varme",
    "Self-raising flour": "Self-raising flour er mel der er tilsat et hævemiddel. Produktet er meget anvendt i engelske opskrifter. Du kan selv lave en blanding af 150 g hvedemel iblandet 1 tsk bagepulver.",
    "Sautere": "Hvis du sauterer, steger du let uden at brune. Du sautere bl.a. grøntsager og rødkål.",
    "Saltimboca": "Tynd skåret kalvefilet rullet om frisk rosmarin og parmaskinke.",
    "Røde ris - Camargue ris": "Der fås røde ris fra Asien og de mere kendte røde Camargue-ris fra Frankrig. De dyrkes i et stort naturområde i Rhone. Riskornet har en rød hinde, som er bevaret. Indeni er de hvide. De koges og spises som andre hvide ris. Efter kogning bliver de mere blegrøde eller lysebrune.",
    "Roux": "En roux er simpelthen mel der er ristet i fedtstof for at undgå melsmagen. Der findes forskellige \"roux\". Brun roux er lavet af fedt fra ovn sky bruges til brune sauce. Lys roux er lavet af fedt fra ovn suppe bruges til veloutesauce & supper. Blond roux er lavet af smør & mel bagt sammen, bruges til bechamelsauce etc.",
    "Roti": "Indisk brød",
    "Rosso": "Italiensk for Rød",
    "Afskalle": "Fjerne den yderste hinde fra mandler eller frugt \n",
    "Reducere": "Nedkoge.",
    "Rasp": "Brødkrumme der tørres i ovnen og knuses fint. Man kan lave rasp ved at knuse tvebakker",
    "Pure": "Koncentrerede tomater eller frugt etc.",
    "Pudse af": "Fjerne overflødigt fedt eller unødvendige sener fra et stykke kød",
    "Poulard kylling": "En poulard kylling må da være en fugl i en bedre kvalitet, nej, det betyder blot at den vejer over 1 kg.",
    "Potaske": "Potaske afgiver CO2 når der tilsættes syre, og potaske anvendes derfor typisk til honningkager/brune kager. Potasken giver kager en sprød og skør struktur. Potaske kan kun virke som hævemiddel hvis der er syre i dejen, og er der ikke en passende mængde syre kan bagværket få en ludagtig smag.",
    "Piquere": "Betyder at spække / ind-stikke spæk, champignons etc. ind i fjerkræ, fisk eller kød inden tilberedning.",
    "Pasteuriseret": "Pasteuriseret æg er varmebehandlet æg. Pasteurisering betyder varmebehandling (opkaldt efter opfinderen, Louis Pasteur ca. 1860). Mælken opvarmes på mejeriet for at dræbe eventuelle sygdomsfremkaldende bakterier. <br>Ved lavpasteurisering opvarmes mælken til 72º, hvorefter den køles ned. <br>ed højpasteurisering opvarmes mælken til 80-90º. Mælk som bruges til at drikke varmes ikke mere end til 72º da den ellers kan komme til at smage lettere kogt.",
    "A la carte": "At spise retter efter et menukort\n",
    "Al dente": "Al dente er Italiensk, og betyder \"til tanden\". Det bruges bl.a. om pasta og grøntsager som er kogte men så der stadig er \"bid i\".\n",
    "À Part": "Særskilt, separat, ved siden af.\n\n",
    "A point": "Mellemstegt\n",
    "Abattis": "Vinger, halse og kråser af fjerkræ.",
    "Absint": "Navn på en likør, der er tilsat malurt.",
    "Absorbere": "At opsuge",
    "Afparere": "Fjerne sener og skind",
    "Aile": "Vingeben, sidder nærmest brystkødet.",
    "Parfumere": "At give noget ekstra smag med f.eks spiritus.",
    "Papillote": "En Papirmanchet som eks. bruges til skinke.",
    "Panere": "Vende madvarer, der skal frituresteges eller steges, først i mel så i piskede æggeblommer og til slut i rasp",
    "Napere": "At overtrække med sauce uden at det rør tallerkenen",
    "Mønter": "at skære f.eks. en gulerod i mønter betyder at man skærer i skiver som minder om mønter",
    "Mirepoix": "En blanding af tilfældig skårede urter.",
    "Menuiere": "Vendt i mel, stegt i smør.",
    "Medallions": "Små udskåret runde kød eller fiske stykker.",
    "Legere": "Jævne med æggeblommer, koldt smør, smørbolle, mel eller kartoffelmel",
    "Krydderurtebuket": "Består normalt af 3 stilke persille, ¼ laurbærblad, 1 kvist timian og eventuelt 1 stilk bladselleri eller det hvide af en porre, der bindes sammen med en tynd snor",
    "Koge ind": "Man lader f.eks. en sauce koge ind, så den bliver tykkere",
    "Klare": "Klare en suppe dens urenheder – normalt ved at skumme den meget omhyggeligt, mens den koger ganske småt",
    "Kandisere": "Overtrække med kogt sukker.",
    "Julienne": "At skære i julienne. skære grøntsager eller frugt i tynde strimler af samme læ\nngde",
    "Jalapeno": "Stærk chili. fås f.eks i glas",
    "Indmad (fr. abattis)": "Hoved, hals, vingespidser, kråse og fødder fra fjerkræ og undertiden også hjerte, lever, nyrer og kamme",
    "Indmad (fr. abats)": "Fra slagtekvæg: hoved, tunge, hjerne, hjerte, brisler, lever, kallun, nyrer, krøs, fødder, rygmarv (fra okse, kalv eller får - kalverygmarven er den lækreste)",
    "Husblas": "Husholdningsmæssig stabilisator i gele, fromage, m.m. Fremstilles traditionel af den indre gelatine-holdige del af svømmeblæren af forskelige bruskfisk, især Husblas-Støren. <br>Senere blev den i bl.a. Danmark fremstillet af tang.",
    "Grillere": "Når man tilbereder på grill.",
    "Gratinere": "Sætte en ret i ovnen, så den får en gylden skorpe",
    "Gratin": "Sammenbagt ret.",
    "Grand Cru": "Er et fransk ord og betyder \"Stor vækst\"",
    "Gourmet": "Mad og vinkender.",
    "Glace": "Fond fra kød, fjerkræ eller fisk nedkogt til limagtig konsistens.",
    "Geletine": "Husblas.",
    "Gastronom": "Kender af god mad",
    "Garniture": "Grønsager, ris eller pasta – der serveres til en hovedret",
    "Fume": "Røget",
    "Fromage": "Det franske ord for ost",
    "Friture": "Stegt i olie",
    "Frappere": "Betyder at man afkøler med is",
    "Fond": "En fond er et afkog af f.eks.et fasanskrog eller et andeskrog, som tilsættes nogle grøntsager og nogle krydderier. Fond bruges som smagsgiver til lækker sovs. Man kan selvfølgelig også koge fond på fisk eller f.eks. okse kød og ben. ",
    "Fortynde": "Spæde en sauce op med små mængder vand, suppe eller mælk",
    "Fleurons": "Butterdejs halvmåner.",
    "Flankere": "Lægge noget ved siden af et emne.",
    "Flambere": "Brænde af med spiritus",
    "Fine herbes": "En blanding af grønne krydderurter",
    "Farsere": "At farsere betyder at fylde noget ud. F.eks farserer du en and eller en kalkun, fylder den med svedsker, æbler eller fars.",
    "Etamine": "Løst vævet stof.",
    "Essenser": "Smagsstoffer, som eks. kokos, mandel etc.",
    "Escalope": "Skinkesnitzel.",
    "Egnsretter": "Betegnelse for egnstypiske retter, ofte fremstillet af lokale råvarer og efter metoder, der er viderefortalt - fortrinsvis fra mor til datter - gennem generationer.",
    "Dække: (fr. napper)": "Dække en ret med et jævnt lag sauce eller creme. Man siger også, at en sauce eller creme har den rette konsistens, når den dækker skeen",
    "Dybstegning ": "Det samme som friturestegning",
    "Duxelles": "Hakket løg, champignons og skinke sauteret i olie samlet med demi-glace. Her kan bruges tomatpure og rasp i stedet.",
    "Dressing": "En form for marinade eller kold sauce.",
    "Dresser": "At anrette",
    "Dekorere": "Pynte, udsmykke",
    "Dekantere": "Et udtryk, som kan bruges, når man lufter en vin.",
    "Déjeuner": "Fransk ord og betyder frokost",
    "Degraissere": "Fjerne skum/fedt/urenheder fra fond eller sauce.",
    "Aileron": "Vingespids.",
    "Aïoli": "Hvidløgsmayonnaise som spises til eks. fisk.",
    "Aperitif ": "Drinks, cocktail.",
    "Aromater": "Smagsstoffer.",
    "Aspic": "Gelé",
    "Au four": "Ovnstegt",
    "Au natural": "Uden tilsætningsstoffer ",
    "Anrette": "Arrangere maden smukt på serveringsfadet\n",
    "Bagepulver": "Bagepulver er natriumhydrogenkarbonat (natron) og et surt reagerende salt + majs- eller risstivelse der er tilsat for at holde det tørt.<br> Bagepulverets bestanddele begynder at virke når det bliver fugtigt, hvorved der udvikles CO2 som får bagværket til at hæve.",
    "Bain - Marie": "Vandbad\n",
    "Bardere": "Ombinde stege, vildt eller fjerkræ med en skive spæk, der fæstnes med en tynd snor\n",
    "Bien cuit": "Vel gennemstegt eller kogt.",
    "Binde op": "Trække en tynd snor gennem lår og vinger på fjerkræ for at holde dem på plads under tilberedningen. Det franske ord ”brider” kan også betyde at snøre en steg\n",
    "Deglacere": "At lave et afkog af en pande som maden lige har stegt på.",
    "Dashi": "Fra det Japanske køkken. Dashi er en suppebasis - grundbouillon i det Japanske køkken. Den fremstilles af tørrede fiskeflager og tørret havtang (kumbu). Den kan købes som granulat eller pulver, der opløses i varmt vand til bouillon.",
    "Danne bånd": "Udtryk der bruges ved tilberedningen af en dej eller creme, der skal kunne falde ned fra en ske i en glat, ensartet og ubrudt stråle – som et ”bånd”",
    "Dampe": "Koge kød eller grønsager under tætsluttende låg, så dampen ikke slipper ud",
    "Crutons": "Brødterninger der er ristet uden at få farve.",
    "Court Bouillion": "En fiske kogelage.",
    "Coulis": "Frugtpuré, frugtsauce.",
    "Corail": "Hummerrogn",
    "Consommé": "Klar suppe.",
    "Concasse": "Tomater der er befriet for skind og kerner.",
    "Clarificere": "At klare en suppe.",
    "Cicelere": "Dekorere grønsager.",
    "Chinois": "Spids sigte",
    "Chiffonnade": "Kål eller salat skåret i fine strimler.",
    "Chemisesre": "Overtrække.",
    "Chef de cuisine": "køkkenchef",
    "Carte du jour": "Dagens spisekort.",
    "Carpaccio": "Er meget tynde skiver af oksekød, en italiensk specialitet.",
    "Canapees": "Brød i forskellige former, smurt med smør og pålæg",
    "Calvados": "Fransk æblebrændevin.",
    "Calamaro ": "En af 2 slags 10-armede blæksprutter",
    "Brunoise": "Grøntsager, trøfler etc. skåret i ganske små firkanter.",
    "Bukkehorn": "Disse aromatiske frø tørristes og stødes og indgår i karrypasta eller i indiske retter. <br>Anvendes sparsomt da smagen kan være bitter. (I karry anvendes der typisk op til 30 % bukkehornsfrø).\n\n",
    "Broche": "Spidstegt.",
    "Budding": "Betegnelse for en ret med den egenskab, at den kan vendes ud af sin form og \"stå selv\".",
    "Braisere": "Stege under låg ved svag varme og ved tilsætning af ganske lidt væske",
    "Bouquet garni": "Krydderbuket.",
    "Bouquet": "Duften af vin som har lagret på flaske.",
    "Bouillon": "Suppe, der er kogt klar.",
    "Bortsch": "Russisk nationalsuppe kogt på oksebryst og rødbeder.",
    "Bordure": "(dekorationskant)\nDekorationskant af en dusesmasse som sprøjtes på kanten (kartoffelmos med æg)",
    "Bleu": "Fra fransk. Når en bøf steges \"bleu\" vil det sige stegt meget rød.",
    "Blanchere": "Komme forskellige madvarer i kogende vand et par minutter for at mørne dem eller fjerne en eventuel bitter smag og dernæst afkøle dem i koldt vand",
    "Al dente efter væg-metoden": "Kast pasta på væggen og se, om den bliver hængende. Det skulle være en sikker metode til at fastslå, om pasta (italiensk for dej) er kogt al dente, altså korrekt og med bid i. <br><br>Pasta består af mel, vand og somme tider æg. de små stivelseskorn i melet opsuger vand og svulmer op, når pastaen kogt. Når overfladen af pastaen består af 80-90 % vand, er pastaen kogt al dente. På det tidspunkt vil overfladen netop være blevet klistret, spaghettistrået klæber til væggen, og det er nu, der skal slukkes for gryden, så vandet hældes fra.",
    "Gnocchi": "Kartoffel-pasta.<br>\nGnocchi er små luftige pasta-boller, der tilberedes af en blanding af mosede kartofler, mel og æg.<br>\nDe koges i letsaltetvand og bruges ligesom pasta.\n",
    "Shandy": "Shandy er en 50/50 blanding af lime/lemon-sodavand (evt. Sprite) og øl.\nDet er et lækkert og læskende alternativ til mere tunge alkoholiske drikke.\nDrinken har mange navne og er emget populær i både England (Shandy), Frankrig (panaché) og tyskland (Radler).",
    "Smushi": "Smushi er en sammentrækning af ordene smørrebrød og sushi.\n\nEn kombination af klassiske danske retter serveret i delikate æstetiske anretninger på størrelse med sushi, så du kan nyde mange forskellige uden at falde om af mæthed.",
    "Römertopf": "Er en tysk lerpotte.",
    "Intervalstegning": "Intervalstegning gør det muligt at stege meget mere kød, end ovnen kan rumme.<br>Man giver den første portion kød 30 min. ved 200 gr. tager den ud og dækker den til i 30 min. I den tid stilles den næste portion i ovnen. Efter 30 min. bytter man igen, og så fremdeles.<br>Metoden er snild og giver et smukt resultat, når man steger hele kødstykker, men den kræver, at man er fortrolig med at bruge sit stegetermometer, så stegningen kan stoppes i rette tid.\nSom tommelfingerregel bregner man 1/3 længere stegetid end ellers. Metoden må kun bruges til hele reelle stege, ikke til fyldte eller rullede kødstykker eller fjerkræ."
}
{
    "Valg af partner?": "Hørt i Rungsted<br>\n\"Det spiller ingen rolle, hvordan han ser ud, bare der banker et varmt hjerte bag tegnebogen.",
    "Nygift": "Det nygifte par sidder ved middagsbordet.<br>\nHun: \"kan du li'suppen, skat?\"<br>\nHan: \"Ja, den er pragtfuld. Har du virkelig selv købt den, elskede!\"\n",
    "Rengøring": "<h2>Støv</h2>\nJeg elsker mit støv. Det viser, at jeg havde noget bedre at lave!",
    "Svigermor": "Jamen svigermor stå dog ikke der ude i regnvejr - gå dog hjem!<br>\n<br>\nHvis du boede her, ville du være hjemme nu.",
    "Skilsmisse": "Hørt på bodegaen<br>\n\"Jeg hører at du skal skilles, gamle dreng, hvorfor det?\"<br>\n\"Fordi jeg er gift.\""
}
{
    "Poser under øjnene": "Poser under øjnene og hævelser kan være genetisk og arveligt betinget. Men optræder generne kun på særlige tidspunkter af året, skyldes det måske pollenallergi. Konstant hævede poser under øjnene kan være forårsaget af fedtvæv, men et hævet øjenparto kan også fremmes af hovedpine, træthed og væskemangel. Aflastning kan ske med kolde teposer, der på grund af koffeinindholdet, får hævelsenre til at falde. Iskolde agurkeskiver ser måske sjove ud, men de hjælper. Er hævelsen evig tilbagevendende, vil behandling med softlaser udført på en skønhedssalon ofte være en god hjælp. een plastikkirurgisk operation kan være løsningen, hvis det er fedtvæv, som danner poserne.",
    "Omkring munden": "Her er huden meget tynd og bliver let tør og påvirket af skadelige uv-stråler. Den skal have fugt, fylde og faktor....\n",
    "Hals": "Husk den, når du renser ansigt og bruger dag- og natcreme. Den har tendens til at blive nopret og ujævn, hvis den ikke får fugt.\n",
    "Decolleté": "Her er huden også tynd og sart. Der dannes rynker og derfor skal kavalergangen plejes.",
    "Barmen": "Der findes særlige cremer, som strammer op og løfter. Man kan ligefrem give den et ekstra lag hud...",
    "Albuer og knæ": "Områder, som vi nemt glemmer. Huden bliver tør og grå og med tiden hård. Brug en skrubbecreme (exfoliering) og derpå en fed creme.",
    "Hænderne": "Pigmentpletter skyldes en overproduktion af melanin, og er normalt en følge af tidens gang i kombination med påvirkninger fra miljøet. De små lommer af melanin bliver tættere og fyldigere, når huden udsættes for UV-stråler, forurening og irritation. Så pak hænderne ind i god creme og brug solfaktor.",
    "Hår": "<h2>Tyndt hår</h2>\nGibidyl shampoo gør dit hår 7 % fyldigere på kun tre måneder, viser en afprøvning. Virkningen møærkes allerede efter seks uger. Daglig vask med Gibidyl Shampoo stimulerer hovedbunden og får nye hår til at vokse frem. Samtidig bliver håret tykkere og mere fyldigt. Almindelig hårvask med Gibidyl Shampoo kan være nok til at undgå tyndt hår. Uden parfume og farvestoffer.\n\nMatas og aporteket\nhttp://www.Cosborg.com",
    "Øjenvipper længere og kraftigere": "Smør kanten af øjenlågene med amerikansk olie (Hver aften ved sengetid). Det hjælper også på lidt øjenkatar og skæl mellem øjenvipperne. \n<br>\nKommentar:<br>\nPudsigt, min mor, som blev født i 1922, fortalte at i hendes unge dage, brugte man da vaseline.\n",
    "Øjenomgivelser, tør og sart": "Øjencreme er uundværlig om vinteren, når øjnene løber i vand. Huden svier og bliver stram, da øjenområdet er sart og tørt. Brug en øjencrme, der fugter og blødgør den stramme hud. Begyndende rynker omkring øjnene kan også afhjæloes med en øjencreme, der holder rynkerne lidt på afstand og også gør det muligt at få has på mørke rande og poser under øjenene.",
    "Ingeborgs creme": "Der har aldrig stået dyr anti-rynkecreme på mine ønskesedler.<br><br>\nMin filosofi omkring den slags er nemlig meget enkel:<br>\nHvis alle de lovpriste cremer, lotions og hvad ved jeg, kunne holde rynkerne fra livet, ville de kvinder, som havde råd til at købe hvad som helst på krukke eller tube ikke ha' nogen rynker.<br><br>\nMeen den holder jo slet ikke vand! Ikke engang for royale personer. <br>\nOg vand eller fugtighed er vist nøgleordet, så kan kosmetikindustrien opfinde nok så mange kemiske formler og sælge dem til de godtroende.<br><br> Rent teknisk set er vores hud en \"overflade\", der når den tørrer ud, har det ligesom jorden visse steder i Afrika, som i tørkeperioder danner sprækker på kryds og på tværs.<br><br> Så ifølge min filosofi, skal man bare undgå at \"jorden/huden sprækker ved at beskytte den mod udtørring, både udvendig og indvendig fra. <br><br>\nMin opskrift har meget meget længe været: 50 % HELOSAN + 50 % NIVEA af den almindelige slags. Jeg blander en god portion af det, opbevarer det i køleskabet og husker som regel at sætte en mærkat på, for det egner sig ikke til salater! <br>\nFor et syns skyld fylder jeg det over i en pæn krukke og kommer et lille skvæt parfume i. <br>Det sidste er ren luksus! Og så frådser jeg med det både morgen og aften. <br><Br>\nPs. Har hørt/læst at Susse Wold nøjes med Niveaen, ligesom hendes mor - og det har da ikke skadet!. \n",
    "Albuer, ru": "Ru albuer og tørre, sprukne havehænder klæder ikke lette sommerkjoler og badedragter. Mens du blødgør albuerne i et lunkent bad tilsat nogle dråber mandelolie, forkæler du hænderne med rensende og afslappende fingergymnastik. gør en natursvamp våd og skum en mild håndsæbe op i hænderne. Leg med svampen, pres den hårdt sammen, giv slip, tryk den igen sammen o.s.v. Efter ca. 10 minutter børster du albuerne med en blød børste for at fjerne de døde forhornede celler og skyller armene fri for sæbe. Masser derefter hænder og albuer med en håndlotion eller med rigeligt mandelolie blandet med en tsk. salt eller sukker- det gør huden glat og babyblød. Mandelolie fås blandt andet hos Matas.",
    "Make up, bedre syn når du lægger makeup": "Når man kommer lidt op i årene, bliver det sværere at se tæt på uden briller. Også når man skal lægge make up. derfor har en dansk optometrist designet en make-up- lup, en plastlinse, som hænges op på et normalt spejl ved hjælp af en sugekop. den opbevares i et lille plastetui, som du kan have med på rejse, til fest eller lignende. Fås i flere styrker.",
    "Læber, sarte": "Der er mange grunde til at læberne er sarte. De har f.eks. ingen sved- og fedtkirtler, men derimod mange blodkar. Det gør dem sensible over for vind og vejr. Når det er koldt, bliver blodkarrene mindre elastiske, cirkulationen nedsættes, og det lider cellefornyelsen under, resultatet bliver ru, revnede læber. Læberne skal derfor plejes effektivt, og her rækker en læbepomade ikke.",
    "Krop, hud tør": "De fleste har tør kropshud om vinteren, hvor kroppen hele tiden er dækket af tøj. De døde hudceller sidder som et hvidt, tørt lag over hele kroppen. En skrubbecreme eller en gang tørbørstning med en hampehandske kanklare det. Men bagefter skal kroppen smøres godt ind med en kropslotion, som virker plejende og nærende.",
    "Krop, talkum, duftende": "Hvis din duftende talkum er sluppet op, kan du i nødstilfælde udmærket bruge kartoffelmel med et stænk eau de cologne i",
    "Tænder, misfarve": "Flere steder på nettet angives metoder med bakingsoda. Dette er det samme som Natron.\n\nNatron + vand røres til en grød.\nBørst tænder i blandingen i 2 minutter  - skyl grundigt.\n\nDette skulle fjerne pletter og misfarvning fra tænder.\n\nRisiko?",
    "Selvbruner": "Brug en lille smule skrubbecreme på håndfladerne, når du har brugt din daglige bodylotion med selvbruner. Så kommer der ingen brune aftegninger i dagens løb og hænderne bliver glatte og bløde.",
    "Negle, rens lak af": "En god neglepleje begynder med lakfjerneren - for alle med røde negle. Undgå lakfjernere, der indeholder acetone. Acetone fjerner fugt og fedt fra negle og neglebånd, og det kan give tørre og spaltede negle og revnede neglebånd. Selv om der står \"uden acetone\" på din lakfjerner, kan der være puttet et andet skrapt opløsningsmiddel i. Spørg i forretningen efter en lakfjerner, der kan bruges til kunstige negle - den kan du roligt bruge til dine egne negle.\n",
    "Negle, afkorte og forme": "At file er bedre end at klippe. Tåneglene klippes ofte for korte, eller de bliver skæve, og det resulterer i ømme tæer. Med en fil er det lettere at bevare neglenes naturlige form. Når du filer negle, bliver resultatet pænest, hvis du kun filer i én retning, og allerpænest hvis du filer udefra og ind.",
    "Neglelak for tyk": "Hvis man har flere neglelakker kan det betale sig at købe Revlons Solvent fortynder. Kom ca. 3-6 dråber i neglelakken, ryst den, og lad den hvile en halv time, inden den tages i brug, så er lakken så god som ny igen.\nFor at hindre lakken i at blive for tyk, gør du således: Tag et stykke var mellem fingrene, og kom lidt lakfjerner på. Tør kanten af flasken grundigt af, hver gang du har brugt neglelakken, så hætten kan skrues helt på - så undgår man, at lakken bliver tyk.",
    "Fødder, hævede, ømme": "Gode sko er nødvendige, når mennesket hver dag tager omkring ti tusind skridt. Høje hæle er flotte, men de lidt lavere og bredere hæle eller kina-hæle er sundere. Skift gerne sko i løbet af dagen, og brug sko med forskellig hælhøjde. Fødderne vil også elske zoneterapisandalerne, som vi f.eks. kender fra MATAS.",
    "Ansigt skrubbemaske med honning": "Denne rensende maske fjerner tør hud og nærer porerne.\n1 spsk. flydende honning. 1 æggeblomme, 1 spsk. blendede havregryn, 1 spsk. olie (mandel, oliven eller sesam).\nBland alle ingredienser til en fast grød. Kom masken på et rent ansigt, og lad den sidde i 20-30 minutter.\nSkyld af med varmt vand.",
    "Ansigt, antirynke maske": "Pisk en let dej af 2 spsk. hvedemel, 2 spsk. honning og 2 spsk mælk. Smør massen i ansigtet og lig med den i en halv time. Vask den af med lunkent vand. Masken skal bruges en gang om ugen.",
    "Ansigt,tør, maske": "Ansigtsmasken laves af mosede bananer og yoghurt naturel. Anvendes når huden er rigtig tørstig.",
    "Ansigt, maske": "Lav din egen ansigtsmaske af et brev tør gær og en æggeblomme. Rør de to ting sammen i en lille skål, og læg masken på et rent og tørt ansigt. Lad den sidde i 20 min., før du vasker den af med lunkent vand. Din hud vil føles friskere og blødere.",
    "Hud, cellulitis": "De fleste cremer mod cellulitis er hundedyre. Du kan istedet bruge Rasul mineraljord.\nFørst tørbørstes huden med en hamphandske. Så bruses grundigt, så de løse hudceller skylles af. Derefter gnides huden ind med Rasul. Mineraljorden sidder et minut, før huden skylles af. Allerede efter seks behandlinger er der en tydelig forskel. Giv dig selv en kur med Rasul en gang om ugen - eller hver dag, hvis du har lyst. Huden bliver blød og smuk.",
    "Hud, døde hudceller": "Honning har fra gammel tid været brugt som et skønhedsmiddel - honning renser, fjerner døde celler og er ideel til at tilføre udmattet sommerhud ny fugtighed. Du kan lave en hurtig ansigtsmaske af kvark rørt op med en spiseskefuld klar, ukogt blomsterhonning. fordel masken i ansigtet of lad den virke i 20 minutter, før du skyller den af med lunkent vand.",
    "Hud, fedt og fugtbalance": "De fleste har brug for en natcreme med ekstra plejestoffer til at genoprette hudens fedt- og fugtbalanve. Mens vi sover, arbejder natcremen med at forny huden og reparere skader.",
    "Hud, fugtbalance": "Kæmpenatlysolie er en af de rigeste kilder til de vigtige n-6-flerumættede fedtsyrer, gammalinolensyre (GLA) og linolsyr vi kan ikke selv danne disse n-6 fedtsyrer og er derfor afhængig af at få dem tilført. N-6 fedtsyrerne er vigtige for cellevæggens opbygning, og de gavner hudens fugtbalance ved at stabilisere cellernes fugtbindende netværk i huden.",
    "Hud hold i form": "Hvis du vil holde din hud i god form så længe som muligt, er det nødvendigt at bruge dagcreme - faktisk kan huden ikke klare sig uden, da den beskytter mod udtørring, forurening og UV-bestråling. i den kolde tid anbefales det at bruge dagcreme med ekstra plejende egenskaber. Cremen giver huden ny energi, stimulerer cellefornyelsen, gennemfugter og plejer huden. Dagcremen bruges også under makeup'en.",
    "Hud, store porer og røde næser": "Et udmærket middel mod store porer i ansigtet og røde næser er ren citronsaft. Vask først ansigtet i meget varmt vand, gnid derefter porerne med en halv citron.",
    "Hud, hænder": "Huden på hænderne har slet ingen fedtkirtler og derfor heller ingen naturlig beskyttelse imod udtørring. Vaskemidler, kulde og sol er medvirkende årsager til, at hænderne alt for tidligt bliver ru, tørre og ældes hurtigt.<br>\nHænderne skal derfor hver dag smøres ind i en god fugtgivende og genopbyggende håndcreme, som lægger sig som en beskyttende hinde på huden.\n",
    "Hud, hudorme": "Midlet, som det blev brugt i 1919. Fedtet hud er særlig udsat for hudorme. Det anbefales at benytte en ansigtsbørste ved den aftenlige afvaskning med varmt vand og en god ren sæbe. Derefter skylles ansigtet i koldt vand. Ved anvendelsen af børsten stimuleres blodomløbet og porerne.<br>\nDet er ligeledes gavnligt at gnide de steder, hvor hudormene har deres sæde, med et lille stykke steriliseret vat, dyppet i eau de cologne eller vinaigre. Behandlingen må gentages i nogen tid, men lidt efter vil porerne trække sig sammen, og hudormene forsvinde.<br>\nAl koldcreme, der indeholder voks, må undgås, da animalske fedtstoffer tilstopper og udvider porerne. I særlig ondartet tilfælde er det ofte et virksomt middel at gnide angrebne steder med en godt udrørt og sammenpisket blanding af 25 gram salicylsure og 25 gram hvid vaseline.",
    "Barquette": "Bådformet tartelet",
    "Beurre manier": "Smør og mel der er pisket luftigt, lidt ligesom mors smør/mel bolle.\n"
}
{
    "Øl": "''Hvor:'' Tøj<br>\n''Middel:'' Vineddike, vaskemiddel med blegemiddel og enzymer<br>\n''Hvordan:'' Dup pletterne med vineddike og varmt vand, skyl derefter tøjet, og vask det med et vaskemiddel, der indeholder blegemiddel og enzymer. etc... ",
    "Vin": "''Hvor:'' Tøj<br>\n''Middel:'' Salt vaskemiddel med blegemiddel og enzymer<br>\n''Hvordan:'' tør overskydende væske af, dæk pletten med salt, og lad saltet opsuge vinen (lad det virke i ca. 30 minutter). Dup derefter pletten med en varm opløsning med vaskemiddel, der indeholder blegemiddel og enzymer, skyl med koldt vand, og vask tøjet som normalt. etc... ",
    "Urin": "''Hvor:'' Tøj<br>\n''Middel:'' Vaskemiddel med enzymer, brintoverilte<br>\n''Hvordan:'' Skyl tøjet i koldt vand og vask det derefter med det samme. Læg tørre pletter i blød i et vaskemiddel der indeholder enzymer, og vask derefter tøjet som normalt. Hvis stoffet er hvidt, og pletterne stadigvæk kan ses, kan du prøve at duppe dem med en opløsning med 20 5 brintoverilte (1 del brintoverilte til 9 dele vand), og derefter igen vaske tøjet som normalt. etc...",
    "Tyggegummi": "''Hvor:'' Tøj<br>\n''Middel:'' Fryser, fedtopløsende middel, vaskemiddel<br>\n''Hvordan:'' Gør tyggegummiet hårdt ved at lægge stoffet i en pose i fryseren i en times tid. Du kan herefter knække tyggegummiet af. Brug et fedtopløsende middel til at fjerne de sidste spor, og vask derefter tøjet med dit sædvanlige vaskemiddel. etc... ",
    "Tomatsovs": "''Hvor:'' Tøj<br>\n''Middel:'' Glycerin, vaskemiddel med enzymer<br>\n''Hvordan:'' Bland en opløsning af lige dele varmt vand og glycerin. Lad tøjet ligge i blød i en times tid, og vask det derefter med et vaskemiddel der indeholder enzymer. etc... ",
    "Tjære": "''Hvor:'' Tøj<br>\n''Middel:'' Glycerin, eukalyptysolie<br>\n''Hvordan:'' Skrab så megettjære af som muligt, blødgør resterende tjære med en smule flydende glycerin eller eukalyptusolie, og vask derefter tøjet som normalt. etc...\n",
    "Stearinlys": "''Hvor:'' Tøj<br>\n''Middel:'' Køkkenrulle, strygejern, fedtopløsende middel<br>\n''Hvordan:'' Fjern så meget stearinlys som muligt med fingrene, og placér derefter stoffet mellem to stykker klatpapir eller køkkenrulle hen over pletten, mens du stryger over den, så resten af stearinen smeltes ud. dup pletten med et fedtopløsende middel for at fjerne de sidste spor, og vask derefter tøjet som anbefalet på vaskeanvisningen. etc...<br>\n<h1>Stearin på gulvtæppet</h1>\n\nSkrab så meget af som overhovedet muligt. smelt derefter resten af stearinen med en hårtørrer , og sug den smeltede stearin op med køkkenrulle. Herefter vil der være en fedtplet på tæppet - den kan du fjerne med en bomuldsklud hårdt opvredet med luftfri petroleum eller lampeolie. Vær forsigtig, hvis der er skumgummi bag på tæppet, da det kan blive opløst, hvis du bruger for meget væske. er der stadig farve fra stearinen, kan det fjernes med husholdningssprit.",
    "Sovs": "''Hvor:'' Tøj<br>\n''Middel:'' Vaskemiddel med enzymer<br>\n''Hvordan:'' Læg tøjet i blød i et vaskemiddel, der indeholder enzymer, og vask det derefter som normalt. etc... ",
    "Sminke": "''Hvor:'' Tøj<br>\n''Middel:'' Flydende vaskemiddel, ammoniak<br>\n''Hvordan:'' Giv pletterne en forbehandling ved at anvende et flydende vaskemiddel på tøjet, inden du vasker det. Du kan fjerne vanskelige pletter ved at lægge tøjet i blød i en svag ammoniakopløsning (5 ml ammoniak til 500 ml vand). Skyl derefter tøjet grundigt, og vask det som normalt etc... ",
    "Skosværte": "''Hvor:'' Tøj<br>\n''Middel:'' Flydende vaskemiddel<br>\n''Hvordan:'' Gnid pletten med flydende vaskemiddel, og vask tøjet med det sammen, som det anbefales på tøjets vaskeanvisning. etc... ",
    "Salt": "''Hvor:'' Sko, støvler<br>\n''Middel:'' Husholdningseddike<br>\n''Hvordan:'' Er der kommet saltrande på sko og støvler, anbefaler skomageren, at man fjerner dem med husholdningseddike. På glat skind gnides eddiken grundigt ind med en blød klud. Gå systematisk frem, så intet springes over. Derpå gnides skoen efter med en klud opvredet i lunkent vand. Stop skoen ud med avispapir og lad den tørre - men ikke på radiatoren! På ruskind masseres eddiken ind med en neglebørste. Man kan også købe specielle midler til formålet. \"\"Schneerand Entferner\"\" fra Salamander er et godt valg. etc... ",
    "Rødvin": "''Hvor:'' Tøj<br>\n''Middel:'' Glycerin<br>\n''Hvordan:'' Pletter efter rødvin indeholder garvesyre. Gnid pletten med Glycerin og lad det sidde natten over. Så går den af i vask. etc... ",
    "Rødbeder": "''Hvor:'' Tøj<br>\n''Middel:'' Blegemiddelbaseret vaskemiddel<br>\n''Hvordan:'' Denne type pletter bleger du bort med et blegemiddelbaseret vaskemiddel. etc...\n",
    "Rust og jern": "''Hvor:'' Tøj<br>\n''Middel:'' Citronsaft, salt, vaskemiddel med blegemiddel, pletfjerner til rust<br>\n''Hvordan:'' Gnid citronsaft og salt ind i pletten, og lad det virke en times tid. Vask derefter tøjet i et vaskemiddel der indeholder blegemiddel. Hvis denne metode ikke virker, kan du købe en særlig pletfjerner til rust hos den lokale isenkræmmer. etc... ",
    "Plastikmaling": "''Hvor:'' Tøj<br>\n''Middel:'' Koldtvands vask<br>\n''Hvordan:'' Vask stoffet med det samme i koldt vand, mens malingen stadig er våd. Hvis du lader pletten tørre, dannes der en hård overflade på pletten, der ikke kan fjernes. etc... ",
    "Opkast": "''Hvor:'' Tøj<br>\n''Middel:'' Koldt vand, vaskemiddel med blegemiddel og enzymer<br>\n''Hvordan:'' Skrab så meget opkast som muligt af tøjets overflade, og skyl derefter tøjet grundigt under rindende koldt vand. Læg tøjet i blød i en opløsning med vaskemiddel, der indeholder blegemiddel og enzymer, og vask derefter tøjet som normalt. etc... ",
    "Olie og fedt": "''Hvor:'' Tøj<br>\n''Middel:'' Talkum, fedtopløser, vaskemiddel med enzymer<br>\n''Hvordan:'' brug fedtopløsende middel på store pletter, og vask derefter tøjet som normalt med et vaskemiddel, der indeholder enzymer. Du kan også prøve at lægge tøjet i blød i en lunken opløsning af et vaskemiddel der indeholder enzymer, og derefter vaske røjet ved den højest anbefalede temperatur. Hvis stoffet ikke egner sig til vask, kan det nogle gange hjælpe at drysse talkum på små pletter, børste det af efterhånden som det opsuger fedtet, og gentage proceduren, indtil pletterne er forsvundet. etc... ",
    "Neglelak": "''Hvor:'' Tøj<br>\n''Middel:'' Neglelakfjerner uden olie<br>\n''Hvordan:'' Fjern pletten fra bagsiden af stoffet. Dup bagsiden af pletten med en smule neglelakfjerner, der ikke indeholder olie. Kontroller først hvilken type stof, der er tale om. Neglelakfjerner bør ikke bruges på acetat- eller triacetatstoffer. Vask tøjet som normalt. etc... ",
    "Mælk og fløde": "''Hvor:'' Tøj<br>\n''Middel:'' Boraks (Sælges ikke mere...angives giftigt. I USA bruger de lystigt løs)<br>\n''Hvordan:'' Læg tøjet i blød i en stærk boraksopløsning, og vask det derefter. Hvis stoffet er af uld, skal du duppe tøjet med boraksopløsningen, derefter vaske det som normalt. etc... ",
    "Mug og skimmel": "''Hvor:'' Tøj<br>\n''Middel:'' Vaskemiddel med blegemiddel og ensymer, brintoverilte<br>\n''Hvordan:'' Den er ikke så nem. Mug forsvinder normalt kun, når det vaskes ved høje temperaturer med et vaskemiddel, der indeholder blegemiddel og enzymer. Hvide og farveægte genstande kan lægges i blød i en opløsning med 20 % brintoverilte (1 del brintoverilte til 9 dele vand). Kontroller altid tøjets farveægthed, inden du anvender iltblegning eller hypokloritblegning. Anvende aldrig hypokloritblegning på uld, silke, flammesikre eller specialbehandlede overflader. etc... ",
    "Mudder": "''Hvor:'' Tøj<br>\n''Middel:'' Hedvask<br>\n''Hvordan:'' Jord har forskellig sammensætning og kan være svær at fjerne fra tøjet. Du skal altid huske at børste så meget mudder som muligt af tøjet, før du vasker det i et anbefalet vaskemiddel. du skal derefter følge doseringsvejledningen på vaskepulverpakken. det bedste resultat får du ved at vaske tøjet ved den højeste temperatur, som det kan tåle. etc... ",
    "Mascara": "''Hvor:'' Tøj<br>\n''Middel:'' Vaskemiddel med enzymer<br>\n''Hvordan:'' Læg tøjet i blød i en opløsning med vaskemiddel, der indeholder enzymer, og vask derefter tøjet som normalt. etc... ",
    "Marmelade": "''Hvor:'' Tøj<br>\n''Middel:'' Boraks, vaskemiddel med blegemiddel og enzymer<br\n''Hvordan:'' Nye pletter forsvinder ofte ved en normal vask. Hvis pletterne er gamle, skal du først lægge stoffet i blød i en boraksopløsning og derefter vaske tøjet med et vaskemiddel, der indeholder blegemiddel og enzymer. etc... ",
    "Maling": "''Hvor:'' Vinduer, fliser<br>\n''Middel:'' Varm eddike<br>\n''Hvordan:'' Hvis du under malerarbejdet har fået maling på f.eks. dine vinduer eller fliser, kan pletterne med stort held fjernes med varm eddike. Dyp blot en klud i den opvarmede eddike og tør vinduer og fliser over. etc... ",
    "Læbestift": "Dyp tøjet i sødmælk og skift mælken ud, når læbestiften har farvet den. Vask ved 60 grader, hvis tøjet kan tåle det - ellers læg i blød med ufarvet opvaskemiddel i 4-6 timer i en plastpose, og vask derefter ved den højeste temperatur, som tøjet kan tåle.",
    "Lim": "''Hvor:'' Tøj<br>\n''Middel:'' Neglelakfjerner, acetone<br>\n''Hvordan:'' Brug neglelakfjerner eller acetone, men kontroller først stoftypen. Brug ikke neglelakfjerner på acetat- eller triacetatstoffer. etc... ",
    "Kuglepenne og tusser": "''Hvor:'' Tøj<br>\n''Middel:'' Husholdningssprit<br>\n''Hvordan:'' Dup pletterne med en anelse husholdningssprit, og vask derefter tøjet normalt. etc... ",
    "Karry": "''Hvor:'' Tøj<br>\n''Middel:'' Vaskemiddel med blegemiddel og enzymer, brintoverilte<br>\n''Hvordan:'' Karry indeholder for det meste gurkemeje, der er en tekstilfarve. Du skal derfor vaske stoffet så hurtigt som muligt i et vaskemiddel, der indeholder blegemiddel og enzymer. Hvis pletterne ikke forsvinder, kan du prøve at lægge stoffet i blød i en opløsning med 20 % brintoverilte (1 del brintoverilte til 9 dele vand( og derefter skylle og vaske tøjet som normalt. Kontroller altid tøjets farveægthed, inden du anvender iltblegning eller hypokloritblegning. Anvend aldrig hypokloritblegning på uld, silke, flammesikre eller specialbehandlede overflader. etc... ",
    "Kaffe og te": "''Hvor:'' Tøj<br>\n''Middel:'' Glycerin<br>\n''Hvordan:'' Pletter efter the og kaffe indeholder garvesyre. gnid pletten med glycerin og lad det sidde natten over, så går pletten af i vask. etc... ",
    "Græs": "''Hvor:'' Tøj<br>\n''Middel:'' Husholdningssprit, glycerin, tandpasta<br>\n''Hvordan:'' Gnub pletten forsigtigt med husholdningssprit, og skyl stoffet i varmt sæbevand. Hvis pletterne stadig kan ses, kan du prøve at behandle dem med glycerin som ved frugtpletter. Vask derefter tøjet med et vaskemiddel der indeholder enzymer. Eller Fugt pletterne med vand, kom tandpasta på og gnid let. Ved denne metode forsvinder de næsten altid.",
    "Frugt": "''Hvor:'' Tøj<br>\n''Middel:'' Vaskemidde med blegemiddel og enzymer. glycerin<br>\n''Hvordan:'' Skyl stoffet med det samme i koldt vand, og vask det derefter i et vaskemiddel, der indeholder blegemiddel og enzymer. Hvis pletterne er tørre, kan du bruge en opløsning af lige dele glycerin og varmt vand på dem, før du vasker tøjet som normalt. ",
    "Fedt": "''Hvor:'' Tøj<br>\n''Middel:'' Opvaskemiddel<br>\n''Hvordan:'' Fugt fedtpletten med et håndopvaskemiddel. Lad pletten hvile i ca. 10 minutter, og vask umiddelbart efter ved den højest anbefalede temperatur på vaskeanvisningen.\n",
    "Chokolade": "''Hvor:'' Tøj<br>\n''Middel:'' Vaskemiddel med enzymer<br>\n''Hvordan:'' Skrab det øverste af chokoladen af, og dup derefter pletten med varmt sæbevand. Skyl tøjet i koldt vand, og vask det med et vaskemiddel med enzymer.",
    "Blod": "''Hvor:'' Tøj<br>\n''Middel:'' Salt, vaskemiddel med blegemiddel og enzymer<br>\n''Hvordan:'' Læg tøjet i blød så hurtigt som muligt i koldt vand med salt. (Varmt vand vil få blodet til at størkne). Hvis tøjet er meget plettet, skal du blive ved med at skifte vandet, indtil det er klart. Vask derefter tøjet med et vaskemiddel, der indeholder blegemiddel og enzymer og i så høj temperatur som muligt. Uld og silke tåler ikke enzymholdigt vaskemiddel, så der kan du bruge en blanding af 1 liter vand og 2 spsk. køkkensalt.",
    "Afsmittet farve": "''Hvor:'' Hvid BH<br>\n''Middel:'' Letmælk<br>\n''Hvordan:'' Den kulørte, røde bluse har nu igen smittet af på den nye hvide bh. prøv at lægge bh'en i en skål letmælk natten over. Efter vask er den atter fin og hvid, etc..",
    "Banan": "Skyld straks pletten med så varmt vand, som stoffet kan tåle. Vask herefter ved 60 rader i et hvidvaskemiddel uden optisk hvidt. Hvis tøjet ikke kan tåle 60 grader, læg da tøjet i blød i ufarvet opvaskemiddel i en plastpost i 4-6 timer, og vask derefter ved den højest mulige temperatur.",
    "Mælkebøttesaft": "Mælkebøttesaft på tøj er en udfordring at komme af med. Mælkebøttesaft består af et gummistof, der kan være meget vanskeligt at fjerne, men prøv følgende:<br>\nGnid forsigtigt pletterne med en klud med renset benzin. Hvis der stadig er misfarvning, kan resten muligvis fjerens med husholdningssprit. Men prøv først på en søm eller lignende for at se, om stoffet kan tåle husholdningsspritten.<br>Hvis tøjet er af hvidt ellr farveægte bomuld, kan en eventuel allersidste rest også fjernes med et affarvningsmiddel.<br> Farvning med en anden farve vil ikke skjule pletterne.",
    "Blomsterstøv": "Blomsterstøv på en hvid bluse, ofte gult, er vi nok mange, der har prøvet.<br>Desværre kan det være vanskeligt at fjerne, men med forsigtighed, kan denne fremgangsmåde prøves:<br>Fjern først det løse blomsterstøv enten med støvsugeren sat på lavt sug eller med tape, du vikler om hånden med den klæbende side udad. Bagefter kommer du ufarvet opvaskemiddel på pletten, lægger blusen i en plastpose fire-seks timer og slutter af med vask ved den maksimale temperatur, tøjet tåler.",
    "Læbestift på tøjet 2": "Det kan væres vært at fjerne læbestift fra tøjet, men prøv med et par dråber glycerin på pletten og lad det tørre. Når tøjet er vasket, er pletten væk."
}
Kogebog
<div class="log-message-box"><dt><div class="trim-string tc-menu-list-item"><abbr title="click to expand"><$button popup=<<qualify "$:/ExpState">> class="tc-btn-invisible" selectedClass="pl-font-bold"><$view field="title"/></$button></abbr> <$link>↗</$link> <$list filter="[is[current]tags[]!prefix[$]sort[title]]" template="$:/core/ui/TagTemplate"/></div></dt><dt>^^''<$view field="created" format="date" template="YYYY-0MM-0DD 0hh:0mm:0ss" />'' / <$view field="modified" format="date" template="YYYY-0MM-0DD 0hh:0mm:0ss" />^^</dt></div>


<$reveal state=<<qualify "$:/ExpState">> type="nomatch" text="">
<$transclude mode="block"/>
</$reveal>

<!--
<$linkcatcher set=<<qualify "$:/ExpState">> setTo="nav"><$link to={{!!title}}>
</$link></$linkcatcher>
-->
iVBORw0KGgoAAAANSUhEUgAAABAAAAAOCAQAAACMJlQBAAAAAnNCSVQICFXsRgQAAAAJcEhZcwAABuwAAAbsAR51ODUAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAA60lEQVQYV23OvS6DcRiG8V+qBkmDsU0MRCymIkRiskokRqOpwQF0cACmGiVi8NWWUsrahVnSWMQgNWgkEpMmDuBvaN8X0dzL8+S6ng9BEBhV19aQl5CWV7DcJV3csiljwa2mF9u2PCn8COt2uv6+uqEgMOhTKhJ2bQSBWY9SHTXQNB4Ji94MB5L6YjztNT4ROHQnE8O0nHdLv4WEPQcmPPvwpaUt1yXx1KpKYNKY/sCNlZ5C3PUU7q3FefgvjCipxClGL3Pk2ImikrJTZyrOXai6dKXmmjkzptTiVVEa5mVlowNJ1T+4bKBTfAOsvKJ/vZJfGQAAAABJRU5ErkJggg==
Følgende tiddlere blev importeret:

# [[After eight]]
# [[Agurkerelish]]
# [[Agurkesalat]]
# [[Agurkesalat med chili -Thai stil]]
# [[Alternativ kartoffelmos]]
# [[Amalies varme chokolade med mynte]]
# [[Amerikansk juleslik]]
# [[Amerikansk pandekage type]]
# [[Amerikanske pandekager]]
# [[Amerikanske pandekager uden æg]]
# [[Amo franskbrød, 2 stk]]
# [[Amo fødselsdagsboller]]
# [[Ananas med abrikoskaramel og vanilleis]]
# [[Andebryst med figenkompot]]
# [[Anne Sofies gode slik]]
# [[Appelsin kaviar]]
# [[Appelsin, ananas, banan smoothie]]
# [[Appelsinis]]
# [[Appelsinsalat med avocado og chiliolie]]
# [[Appelsintoddy]]
# [[Armeriddere]]
# [[Asparges med løjrom og råmarinerede rejer]]
# [[Asparges på butterdej]]
# [[Australske pizzaer]]
# [[Avocadosalat med parmesanost]]
# [[Avocadosuppe]]
# [[Avotella]]
# [[Baba au Rhum]]
# [[Baboli]]
# [[Baconstænger]]
# [[Bagels]]
# [[Bagt havregrød med bær og nødder]]
# [[Bagt laks med dildsyltet kål]]
# [[Bagt tomatsalsa]]
# [[Bagte kartofler med kylling]]
# [[Bagte æbler med fyld]]
# [[Ballum'er knepkager]]
# [[Banan-appelsin smoothie]]
# [[Banan-melon smoothie med mynte]]
# [[Bananpandekager]]
# [[Bearnaisesauce]]
# [[Bearnaisesauce 2]]
# [[Bechamel sauce]]
# [[Bedstemor's sirupskage]]
# [[Belgisk risbudding (Rijspap)]]
# [[Belgiske vafler]]
# [[Birkesbrød]]
# [[Bittens nisseøl-kage]]
# [[Blinis med rødløgskompot]]
# [[Blomkål-budding]]
# [[Blomkåls-carpaccio]]
# [[Blomkåls-karbonader]]
# [[Blomkålsbudding]]
# [[Blomkålsmousse]]
# [[Blomkålssalat]]
# [[Blomkålssuppe]]
# [[Blommekage]]
# [[Blommekage 2]]
# [[Blue cheese okseburger med ovnstegte kartofler]]
# [[Blåbær, pære og daddelgrød]]
# [[Blåbær/youghurt is]]
# [[Blåbærkage]]
# [[Boller i karry]]
# [[Bramble]]
# [[Broccoliboller med ost]]
# [[Broccolisuppe med tomatbruschetta]]
# [[Brombær  og solbærsmoothie]]
# [[Brombær smoothie]]
# [[Brombær-syltetøj]]
# [[Brombærmarmelade (DB)]]
# [[Bruchettaer m. oliventapenade og gedeost]]
# [[Bruschetta med skinke og figensalsa]]
# [[Bruschetta med tomat og ost]]
# [[Brydebrød med æbler og øl]]
# [[Brændende kærlighedstorsk]]
# [[Brændenældesuppe]]
# [[Brændte mandler]]
# [[Brød med soltørrede tomater]]
# [[Brød og hvidløgssuppe]]
# [[Brød- og hvidløgssuppe]]
# [[Brødbudding]]
# [[Butterbeans med krydderurter, sugar snaps og parmesandressing]]
# [[Butterdej fra Melskov]]
# [[Butterdejshorn med kylling og cheddar]]
# [[Bøf med bløde løg og spejlæg]]
# [[Bønnepostej med champignon]]
# [[Børnegløgg]]
# [[CacaoTella]]
# [[Cacio e Pepe]]
# [[Cake Pops]]
# [[Californisk mysli med kokos og tranebær]]
# [[Carolines ingenting]]
# [[Cesar salat sandwich]]
# [[Champignon salat]]
# [[Champignonsandwich]]
# [[Chickensalad sandwich]]
# [[Chili con carne med chokolade]]
# [[Chilideller med salsa]]
# [[Chilirejer med frisk spaghetti, squash og gulerod]]
# [[Chokofyldte pærer]]
# [[Chokolade cookies]]
# [[Chokolade mousse]]
# [[Chokoladeboller]]
# [[Chokoladekage]]
# [[Chokoladekage med bacon]]
# [[Chokoladeroulade]]
# [[Chokoladetrøfler med appelsin og whisky]]
# [[Chokoladetærter med kirsebær]]
# [[Christiansøpigens sild med pberrodscreme]]
# [[Churros]]
# [[Churros med kanel-florsukker]]
# [[Ciabatta club sandwich med tun, æg og artiskokker]]
# [[Ciabattaboller med tynde skiver bøf]]
# [[Citron & ricotta pandekager]]
# [[Citron-banankage med nødder]]
# [[Citroncremetærte]]
# [[Citronis]]
# [[Citronkylling]]
# [[Citronmarineret kylling]]
# [[Citronsauce med kapers]]
# [[Clafoutis (kirsebær)]]
# [[Clafoutis med kirsebær]]
# [[Clafoutis med pærer]]
# [[Clafoutis med pærer og vanilje]]
# [[Club Sandwich]]
# [[Colonial Garden]]
# [[Confit af svinemørbrad med appelsinsauce]]
# [[Cornflakes toppe]]
# [[Cowboygryde]]
# [[Creme]]
# [[Creme til karry-og sildesalat]]
# [[Cremet hønsesalat]]
# [[Cremet is-shake]]
# [[Cremet Nutella]]
# [[Cremet suppe med rodfrugter]]
# [[Cykelklemmer med æg og karse]]
# [[Daddeltærte med karamelcreme]]
# [[Dampet kage med kardemomme og indbygget hvid chokoladesauce]]
# [[Dampet spidskål]]
# [[Dansk creme kringle]]
# [[Den grumsede slange]]
# [[Den hemmelige donut opskrift]]
# [[Dessert kurve]]
# [[Didde's brødkage]]
# [[Dildbrød]]
# [[Donuts]]
# [[Druebrød]]
# [[Drømmeis, jordbær]]
# [[Dundee cake]]
# [[Dundee kage]]
# [[Durumbiscotti]]
# [[Durumbrød]]
# [[Dåseformet bøf med fyld]]
# [[Eclairs]]
# [[Efterårs sandwich]]
# [[Elines bønne spread]]
# [[Emils snobrød]]
# [[Engelsk plumkage]]
# [[Engelsk risbudding]]
# [[Engelske hot cross buns (krydrede teboller)]]
# [[Enkle pandebrød]]
# [[Familiens lasagne]]
# [[Farfars svenske brød]]
# [[Farsbrød med feta]]
# [[Farserede peberfrugter]]
# [[Fennikel gratin]]
# [[Fersken koldskål med havredrys]]
# [[Ferskner i vanilje med bagt budding]]
# [[Feta muffins med forårsløg]]
# [[Figen bruschetta]]
# [[Figenbudding]]
# [[Figenmarmelade med citron]]
# [[Fiskefrikadeller med remo]]
# [[Fiskefrikadeller som min mor lavede dem]]
# [[Fiskefrikadeller Thai stil]]
# [[Fiskerulle-lasagne]]
# [[Fiskeruller med laks]]
# [[Fiskesalat med æble og peberrod]]
# [[Five O'Clock Tea Sandwich]]
# [[Florentiner]]
# [[Fluffy frosting]]
# [[Flute-sandwich]]
# [[Flødekarameller]]
# [[Flødekartofler med pastinak]]
# [[Focacciabrød]]
# [[Forloren kransekage]]
# [[Forloren marcipan]]
# [[Forårsruller i rispapir]]
# [[Forårsruller med peanutsauce]]
# [[Forårssalat]]
# [[Fougasse med mozzarella og parmaskinke]]
# [[Frank's risret med sursød sauce]]
# [[Frenchtoast med valnød]]
# [[Frikadeller med svesker]]
# [[Frisk pastasalat]]
# [[Friterede løgringe]]
# [[Friteret pasta]]
# [[Friteret pasta indisk stil]]
# [[Frossen tærte med valnødder og dadler]]
# [[Fru Hastrups kartoffelsalat]]
# [[Frugt brød]]
# [[Frugtbrød]]
# [[Frugtrulle med pistacier og kokos]]
# [[Frugtsalat med myntesukker]]
# [[Fuldkorns Pop Tarts]]
# [[Fyldt kalkun med spidskål og nødder]]
# [[Fyldt ribbensteg med honningbagte æbler og pastinakker]]
# [[Fyldte peberfrugter]]
# [[Fyldte sennepssild]]
# [[Fynsk brød med gods i]]
# [[Fynske klatkager]]
# [[Gammeldags brødbudding]]
# [[Gammeldags krydderikage med rosiner]]
# [[Gammeldags oksesteg med sukkerærter og peberrodsskum]]
# [[Gammeldags sigtebrød]]
# [[Gammeldags stegeben med øl og krydderier, tilberedt i ovn]]
# [[Gammeldags æblekage]]
# [[Gammelddags oksesteg]]
# [[Gaufrres - sprøde vafler]]
# [[Gazpacho]]
# [[Genvejs ølkage]]
# [[Gnocchi med pesto]]
# [[Gode råd]]
# [[Grahamsbrød med gær]]
# [[Granatæble dessert]]
# [[Granolabar]]
# [[Gratinerede kalvekoteletter]]
# [[Gratinerede porrer]]
# [[Gratineret grønsagsgryde]]
# [[Gravet laks med hvidløg og spinat]]
# [[Grillede champignoner]]
# [[Grillede nougatblommer]]
# [[Groft brød med kerner og nødder]]
# [[Grog]]
# [[Grov frikadelle]]
# [[Grov sandwich med laks, avokado og æble]]
# [[Grov valnøddepesto og ravioli]]
# [[Grove fritter]]
# [[Grovmuffins med oliven og parmaskine]]
# [[Grunddej til pasta (nudler, ravioli eller lasagne)]]
# [[Grundopskrift til biscuitdej]]
# [[Grundopskrift til rørt dej]]
# [[Grundopskrift til tung gærdej]]
# [[Grydestegt kylling med rabarberkompot]]
# [[Grydestegt svinekam med estragonsauce]]
# [[græskarkage med gulerod og kanel]]
# [[Græskarsuppe med bacon og linser]]
# [[Græske deller med stegt tomatsalat]]
# [[Grøn porresuppe med oliven grissini]]
# [[Grøn suppe med laks]]
# [[Grøn vårsuppe]]
# [[Gugge's kage]]
# [[Guldkage]]
# [[Gulerodboller med to slags kerner]]
# [[Gulerodsbrød]]
# [[Gulerodskage med glasur]]
# [[Gulerodskage uden rosiner og glasur]]
# [[Gulerodsmuffins med skinke]]
# [[Gulerodssalat med rucola]]
# [[Gulerodssuppe med vild mælde eller skvalderkål]]
# [[Gulerødder med honning]]
# [[Gullasch-suppe]]
# [[Gullaschsuppe]]
# [[Ha'sle boller]]
# [[Hakkebøf stegt som vildt]]
# [[Hakkekød pirogge]]
# [[Hamburgerryg med sherry]]
# [[Hane i vin]]
# [[Hannes lune fennikelsalat]]
# [[Harrys fiskefrikadeller]]
# [[Havreboller med kardemomme og bær]]
# [[Havregryns vafler med frisk frugt]]
# [[Havregrynskager med chokolade]]
# [[Havregrynskugler]]
# [[Havregrynskugler med appelsin og chokolade]]
# [[Havregrød]]
# [[Havrehorn med marcipan]]
# [[Havreknas]]
# [[Havremælk]]
# [[Havretoppe med chokolade]]
# [[Heine's schraderpuffer]]
# [[Hel kylling bagt i ovn med grove fritter og lime-mayo]]
# [[Hel orange-marineret laks]]
# [[Helbagt selleri med kylling]]
# [[Hellig-aften-guf som Kathe]]
# [[Hindbærdrik med mynte og brus]]
# [[Hindbærmarmelade]]
# [[Hindbærtrifli]]
# [[Hjemmebagte grissini med krydderdip og grøntsager]]
# [[Hjemmelavede hundekiks]]
# [[Hjemmelavet leverpostej]]
# [[Hjemmelavet sirup, minder om ahorn sirup]]
# [[Hjemmelavet yoghurt]]
# [[Honningkage med lakrids]]
# [[Honningkager]]
# [[Honningkogte figner]]
# [[Hummus med kikærter fra dåse]]
# [[Humus]]
# [[Humus med hytteost og karry]]
# [[Hundekiks]]
# [[Hurtig brombærtærte]]
# [[Hurtig bærkage til picnic]]
# [[Hurtig honningis]]
# [[Hurtig lys fond - der gør den store forskel]]
# [[Hurtig og nem roastbeefsandwich]]
# [[Hurtige og lækre kærnemælksboller]]
# [[Husets terrin]]
# [[Hveder]]
# [[Hvid choko-lakridsmousse]]
# [[Hvid glögg med vanille og frugt]]
# [[Hvid gløgg med æblecider, ingefær og bourbon]]
# [[Hvidkål i hvidvin og krydderier]]
# [[Hvidkåls salat]]
# [[Hvidløgs abrikoser]]
# [[Hybenmarmelade]]
# [[Hybensuppe]]
# [[Hyldeblomstdrik]]
# [[Hyldeblomstsaft 2]]
# [[Høne i nøddesauce]]
# [[Hønsebouillon light]]
# [[Hønsesalat]]
# [[Ika-salat]]
# [[Indbagt oksekotelet]]
# [[Indbagte figner]]
# [[Indiske kødboller i kokossauce]]
# [[Ingefær, hvidløgs snaps]]
# [[Irsk bagepulver brød]]
# [[Is-caffelatte]]
# [[Iste med citron og mynte]]
# [[Italiensk fiskefad]]
# [[Italiensk fladbrød (nemt og hurtigt pande brød)]]
# [[Italiensk jordbærsalat]]
# [[Italiensk kalvelever]]
# [[Italiensk landsuppe]]
# [[Italienske ruller]]
# [[Janssons fristlese -på dansk]]
# [[Johanne's kartoffelkage]]
# [[Jordbær med appelsin og vanillecreme]]
# [[Jordbær med gedeostecreme]]
# [[Jordbær-smoothie]]
# [[Jordbærdrink]]
# [[Jordbæris med hyldesalsa]]
# [[Jordbærroulade med creme]]
# [[Jordbærsalat med marcipancroutoner]]
# [[Jordbærsmoothie]]
# [[Julefarsbrød med røget mørbrad]]
# [[Julelagkage uden besvær]]
# [[Julelatte ned flødeskum]]
# [[Julepie]]
# [[Julesnaps]]
# [[Juletoddy]]
# [[Kaffechok]]
# [[Kagen til haven]]
# [[Kahlua]]
# [[Kakao]]
# [[Kakaopulver til varm kakao]]
# [[Kakaoroulader med et strejf af kanel]]
# [[Kakaosnitter med kokos]]
# [[Kalkuncurry i pitabrød med spicy agurk]]
# [[Kalkunfrikadeller med chorizo]]
# [[Kalkungryde med ris]]
# [[Kalkunschnitzler med pærer og blå ost]]
# [[Kalv i karry]]
# [[Kalvekoteletter i øl]]
# [[Kalvekoteletter med champignon]]
# [[Kalvekoteletter med hvidkål, honning og hjemmelavede pomme fritter]]
# [[Kalvekoteletter med krebsehaler]]
# [[Kalveragout med sommergrønsager]]
# [[Kalvesteg i römertopf]]
# [[Kandiserede appelsinskaller]]
# [[Kandisering af blomster]]
# [[Kanelbrød]]
# [[Kanelkage]]
# [[Karamel budding]]
# [[Kardemommesnoning]]
# [[Karrypastasalat]]
# [[Karrysalat]]
# [[Karrystegt ørredfilet med fennikel og yoghurt]]
# [[Kartoffel marcipan]]
# [[Kartoffel rygeost salat]]
# [[Kartoffel- og spidskålslasagne]]
# [[Kartoffel-purløgsssmør]]
# [[Kartoffel-sellerimos]]
# [[Kartoffelkage]]
# [[Kartoffelpandekager]]
# [[Kartoffelsalat med varmt røget laks eller rejer]]
# [[Kartofler i papir]]
# [[Kastanjer med porre, bacon og grønne bønner]]
# [[Katrineblommekage/Clafoutis]]
# [[Kefta]]
# [[Ketchup]]
# [[Kiksekage uden æg]]
# [[Kikærter og grønsagssnacks]]
# [[Kikærtesalat]]
# [[Kinesiske farsruller]]
# [[Kinesiske nudler med rejer]]
# [[Kirsebær likør]]
# [[Klassisk tomatsovs]]
# [[Klassiske amerikanske pandekager som Ulla]]
# [[Klassiske rundstykker]]
# [[Klatkager med bananer]]
# [[Knasende julehave bar]]
# [[Kogt cuvette med peberrodsauce]]
# [[Kogte nudler med tørret frugt og flæsk]]
# [[Kokos-appelsinkage]]
# [[Kokos-crumble med æbler og blommer]]
# [[Kokosfisk]]
# [[Kokoskage]]
# [[Kokosmuffins]]
# [[Kokospandekager]]
# [[Kokosstænger]]
# [[Kokostoppe med appelsin]]
# [[Kold avocadosuppe]]
# [[Kold kalkun med kapers-tun-creme]]
# [[Kold kartoffelsalat]]
# [[Kold sennepssauce]]
# [[Koldskål  de luxe]]
# [[Koldskålsknas]]
# [[Komtesse vafler]]
# [[Komtesse vafler - kagen til den uventede gæst]]
# [[Koteletter i folie]]
# [[Koteletter med banan]]
# [[koteletter med feta, valnødder og persille]]
# [[Koteletter med spinat]]
# [[Kransekage]]
# [[Krebinetter med grønærter og gulerødder]]
# [[Krebinetter med sursød peberrodssauce og lun salat]]
# [[Krigs marcipan (Uden fløde)]]
# [[Krigsfisk]]
# [[Kringleboller]]
# [[krondyr roastbeff med rødbede, skildt kartoffelmayonnaise, sprød kartoffelskræl og peberrod]]
# [[Krydderkage med øl]]
# [[Krydderstegte æg i rede]]
# [[Kryddertærte]]
# [[Krydrede festkartofler]]
# [[Krydrede frikadeller med yoghurtsauce]]
# [[Krydrede tomatmuffins]]
# [[Krydret blomkål med peberfrugter]]
# [[Krydret nakkefilet]]
# [[Krydret smør til grillmarinaden]]
# [[Krydret tomatsuppe]]
# [[Krydret æblekage]]
# [[Kurts æblekage]]
# [[Kvalitella]]
# [[Kvarkboller]]
# [[Kvædeflæsk med rugbrød og timian]]
# [[Kylling i karry]]
# [[Kylling i tomatsauce]]
# [[Kylling i øl]]
# [[Kylling med ananas]]
# [[Kyllinge frikafdeller med lun kartoffelsalat]]
# [[Kyllinge pie]]
# [[kyllinge salat med savoykål, melon og sorte oliven]]
# [[Kyllingebryst med bacon]]
# [[Kyllingekrebinetter]]
# [[Kyllingenuggets med dip]]
# [[Kyllingeruller med mozzarella]]
# [[Kyllingesalat]]
# [[Kyllingesalat 2]]
# [[Kyllingesalat med avocado]]
# [[Kyllingesalat med druer]]
# [[Kyllingesalat med mango og bacon]]
# [[Kyllingesandwich]]
# [[Kyllingespyd]]
# [[Kyllingesuppe med chili og kokos]]
# [[Kødgryde med pølser]]
# [[Kørvelbudding]]
# [[Kålbudding eller hvidkålsbyttel]]
# [[Kålkællingernes hvidkålssuppe med jordskokker og kinakål]]
# [[Kålpostej]]
# [[Kålrabimos med græskarkerner]]
# [[Lagkage med valnødder]]
# [[Lagkagebunde]]
# [[Lakridssmåkager med chokolade]]
# [[Laks i net af butterdej]]
# [[Lakseburger med mangosalsa]]
# [[Laksefrikadeller]]
# [[Laksesandwich]]
# [[Laksetern med peberrod]]
# [[Laksetournedoser]]
# [[Laktosefri kokoscreme med hindbær]]
# [[Langtidsbagte blommer]]
# [[Langtidshævet brød med rosiner]]
# [[Lasagne med laks og porrer]]
# [[Lemon curd]]
# [[Lette bagepulver/olie boller]]
# [[Leverpostej med stegte æbler, nødder & bacon]]
# [[Leverpostej med stegte æbler, nødder &bacon]]
# [[Lille waleskringle]]
# [[Limetærte fra Caribien]]
# [[Linse-gulerods suppe]]
# [[Lun rødbedesalat]]
# [[Lynbagt torsk med oliven, safran og tomat]]
# [[Lynboller]]
# [[Lynstegt kylling og grønt]]
# [[Lynstegte skinkestrimler med sukkerærter]]
# [[Lyse rodfrugter i ovn]]
# [[Lækre kokossnitter]]
# [[Lækre madpakkeboller]]
# [[Løgsild med appelsin]]
# [[Løgsuppe med ostebrød]]
# [[Løgtærte]]
# [[løgtærte meds må kartofler og cherrytomater]]
# [[Mac ‘n cheese]]
# [[Macaroni & Cheese]]
# [[Madeleinekager]]
# [[Madmuffins]]
# [[Majsgrød]]
# [[Majspandekager]]
# [[Makaroni budding]]
# [[Mandel panna cotta med brombær]]
# [[Mandelkager]]
# [[Marcipanhorn]]
# [[Marengs med jordbærskum]]
# [[Marengs, store og seje indeni]]
# [[Marengskager med solbærcreme,mandler og hvid chokolade]]
# [[Mariannes luksusformkage]]
# [[Marie's kringle]]
# [[Maries varme kartoffelsalat]]
# [[Marinerede oksekoteletter]]
# [[Marshmallow Fluff]]
# [[Marshmallows]]
# [[Mathilde's riskage]]
# [[Medaljoner med feta og porre]]
# [[Melon i sukkerlage med mynte og koriander]]
# [[Melonsorbet]]
# [[Melonsuppe]]
# [[Mexicansk gryde]]
# [[Mexicansk kylling]]
# [[Mexinspirerede kødboller i tomat med laber kartoffelmos]]
# [[Middagssalat med tun, pærer og tranebær]]
# [[Middelhavs krebinetter]]
# [[Mini doughnuts]]
# [[Mini-pizzaer]]
# [[Mini-sandwich]]
# [[Minibøffer med blommesalat]]
# [[Miniroulader med laks]]
# [[Mjuk Pepparkaka]]
# [[Morgenboller]]
# [[Mormors jordbærgrød]]
# [[Muffins med ananas og kokos]]
# [[Muffins med pærer]]
# [[Muffins med skinke]]
# [[Mulled wine - krydret vin]]
# [[Mysli-æbler]]
# [[Myslitern]]
# [[Mørk chokoladeis med hindbær]]
# [[Mørk gulerodskage med snask]]
# [[Nem chokoladekage med pærer (snyd)]]
# [[Nem hindbærtærte]]
# [[Nem jordbærdessert]]
# [[Nem limonade]]
# [[Nem sellerisuppe]]
# [[Nem tomatsuppe]]
# [[Nem Tzatziki]]
# [[Nemesiskage]]
# [[Nemme nudler]]
# [[Norske klejner (Øtker)]]
# [[Norske klejner i mængder]]
# [[Nuddelsuppe på få minutter]]
# [[Nudler med laks dild og spinat]]
# [[Nudler med rejer og gulerødder]]
# [[Nødde_chokolade tella]]
# [[Nøddecreme]]
# [[Nøddedrøm en lagkage]]
# [[Nøddepinde]]
# [[Okse ragout med øl og røde linser]]
# [[Oksekoteletter med bacon]]
# [[Oksekoteletter med trøfler]]
# [[Oksekødssuppe med sprød selleri og kikærter]]
# [[Oksespidsbryst md kaperssauce og sommerurter]]
# [[Oksespidsbryst med kaperssauce og sommerurter]]
# [[Oldemor's fedtkager]]
# [[Orange chokoflakes]]
# [[Orangestænger]]
# [[Orangete med rom appelsin og stjerneanis]]
# [[Oste og frugtsalat]]
# [[Ovn pandekage]]
# [[Ovnbagt fisk med indisk inspireret spinatsauce]]
# [[Ovnbagte æbler og pærer med nougatdressing]]
# [[Ovnfrikadeller]]
# [[Ovnristede kastanjer med parmesansmør]]
# [[Ovnstegte kartofler]]
# [[Ovntorsk med kapers og rødbede]]
# [[Pandeboller]]
# [[Pandebrød]]
# [[Pandekage mix:]]
# [[Pandekagedrømme]]
# [[Pandekager]]
# [[Pandekager uden æg]]
# [[Pandestegte sild med abrikossauce]]
# [[Panettone]]
# [[Pangasius burgere]]
# [[Parmaskåle med æg og tomat]]
# [[Passion Fruit Martini]]
# [[Pasta i ovn med tomat og ost]]
# [[Pasta med laks og asparges]]
# [[Pasta med linser]]
# [[Pasta med ost, rucola og valnødder]]
# [[Pasta med ostesauce]]
# [[Pasta med persille rødbede og citron]]
# [[Pasta med persillepesto og kyllingefrikadeller]]
# [[Pasta med skinke og ærter]]
# [[Pasta med spinat, cherrytomater og laks]]
# [[Pasta med stegte grønsager og parmaskinke]]
# [[Pasta med tomater og mozzarella]]
# [[Pasta med tomater og oksekød]]
# [[Pasta med ærter i cremet sauce]]
# [[Pastafad med laks og spinat]]
# [[Pastasalat med feta-pesto]]
# [[Paula's søsterkage]]
# [[Pavlova marengs med råmarinerede forårs bær]]
# [[Peanutbutter cookies]]
# [[Peberfrugtcremesuppe]]
# [[Peberfrugter med fyld]]
# [[Pebernødder]]
# [[Perlebyg-paella]]
# [[Persiske grøntsager]]
# [[Piroggger]]
# [[Pizzaslices]]
# [[Polarbrød]]
# [[Polske okseroulader]]
# [[Porrer, pærer og persillerødder med rejer]]
# [[Porresuppe]]
# [[Porretærte]]
# [[Powerdrik, energi på den nemme måde]]
# [[Prinsessebudding]]
# [[Pull apart brød med cheddar, rosmaring og oliven]]
# [[Pull apart bød med leerdammer, tomat og parmaskinke]]
# [[Pulled Beef]]
# [[Pumpernikler]]
# [[Pureret løgsuppe]]
# [[Pæresyltetøj med fennikelfrø]]
# [[Påskepaté]]
# [[Påskesnaps]]
# [[Rabarber limonade]]
# [[Rabarber med hindbær]]
# [[Rabarber-cheesekage]]
# [[Rabarber-chutney]]
# [[Rabarberis med rabarbersirup]]
# [[Rabarberkage]]
# [[Rabarberkompot]]
# [[Rabarbersmør]]
# [[Rabarbersnitter]]
# [[rabarbersuppe]]
# [[Radisekræs]]
# [[Ratatouille]]
# [[Rejesalat]]
# [[Rejetoast]]
# [[Remoulade]]
# [[Revelsben medkartofler i ovn]]
# [[Rexim cacao]]
# [[Ris á l'amande]]
# [[Ris klatkager]]
# [[Risdessert med rabarberkompot]]
# [[Riskiks med mango]]
# [[Rismels eller tvebakboller, supppetilbehør]]
# [[Rismælk]]
# [[Risotto med kylling og svampe]]
# [[Ristede pølser med ingefær-æblekompot]]
# [[Ristet laks med lun stikkelsbærsauce]]
# [[Ristet laks med snyderisotto]]
# [[Roastbeef med langtidsbagte løg, rosmarin, kartofler og rødbedesalat]]
# [[Rocky road]]
# [[Rodfrugtchips og dip]]
# [[Rodfrugter persillerod, pastinak og rødbeder]]
# [[Rosenbladsgele]]
# [[Rosenbrød]]
# [[Rosensaft]]
# [[Rosinbrød med koriander]]
# [[Rugbrød med mandler]]
# [[Rugbrød med æble og sirup]]
# [[Rugbrød uden surdej]]
# [[Rugbrødshjerter med chokolade og mandler]]
# [[Rugbrødslagkage med kirsebær]]
# [[Rugkiks med sesamfrø]]
# [[Rugstykker]]
# [[Rustik tærte med hindbær og blåbær]]
# [[Rüebli tærte]]
# [[Rød gløgg med tranebær og portvin]]
# [[Rød linsesuppe med jomfruhummjer/rejer]]
# [[Rød peber creme til strandsandwich]]
# [[Rødbede-blomkål-suppe med græskarkerner]]
# [[Rødbede-chokoladekage]]
# [[Rødbedesalat med æbler]]
# [[Rødfisk på grøntsagsbund]]
# [[Rødkålssalat med perlebyg, feta og bacon]]
# [[Rødkålssalt med ingefær]]
# [[Røgede hellefiskeruller]]
# [[Røget laks på pasta med asparges og citron]]
# [[Røget laksetatar]]
# [[Røget mørbrad med røræg, karse og radiser]]
# [[Røget silde-tærte]]
# [[Rå grønsager med basilikumdressing]]
# [[Råkost med feta og flødedressing]]
# [[Råsyltede stikkelsbær]]
# [[Saftig chokoladekage]]
# [[Salat af græskar, spinat og squash]]
# [[Salat af rosenkål med valnødder og pærer]]
# [[Salat med ananas og bønner]]
# [[Salat med andebryst]]
# [[Salat med bagte figner]]
# [[Salat med fersken, parmaskinke og mozzarella]]
# [[Salat med julesalat og æbler]]
# [[Salat med kyllingekød og flødedressing]]
# [[Salat med røget sild og ristet rugbrød]]
# [[Salat med røget svinemørbrad, avocado og æble]]
# [[Salat med æbler og savoykål]]
# [[Salatdressing med creme fraiche]]
# [[Sandwich med courgette og skinke]]
# [[Sandwich med grillede grøntsager]]
# [[Sandwich med hytteost]]
# [[Sandwich med ost]]
# [[Sandwich med røget svinekam og rørt flødeost]]
# [[Sandwich med tunfisk]]
# [[Sandwiches med flødeost og peberfrugt]]
# [[Sandwiches med jordnøddesmør og radiser]]
# [[Sandwiches med kylling og bønnespirer]]
# [[Sandwiches med laks]]
# [[Sandwiches med skinke]]
# [[Sandwiches med tun og æg]]
# [[Sandwiches med æg og karse]]
# [[Sandwichfyld med avocado]]
# [[Sandwichfyld med skinke]]
# [[Sandwichfyld med tun]]
# [[Sangria (Nansensgade)]]
# [[Sangriabowl]]
# [[Sarah Bernard]]
# [[Sarah Bernhardt classic]]
# [[Saucisson en brioche]]
# [[Selleri med smørristede kastanjer og dadler, syltede skalotteløg og porrekompot]]
# [[Sellerisalat]]
# [[Sennepskotelet med stegte æbler og rosmarin]]
# [[Sesamruller med feta]]
# [[Siciliansk sauce]]
# [[Sigtebrød som Brødrene Price]]
# [[Sild med æble og anis]]
# [[Sildesalat]]
# [[Simrede æbler, rosiner, blommer og vindruer med jordnøddesauce]]
# [[Skagen- sandwich]]
# [[Skinkeschnitzel med æblebåde, tranebær og rosmarin]]
# [[Skinkestrimler i sur sød sauce]]
# [[Skvalderkålssalat]]
# [[Sky]]
# [[Smoothie med jordbær og melon]]
# [[Smuldrekage med friske figner]]
# [[Små fiskefrikadeller med 2 slags laks]]
# [[Små pandekager]]
# [[Små tortillaruller med fyld]]
# [[Småkager a la Emily]]
# [[Snackpeber med ris]]
# [[Sneboller]]
# [[Sneboller med appelsin]]
# [[Snobrød med bagepulver]]
# [[Snobrød med gær]]
# [[Snysk]]
# [[Softice-smoothie]]
# [[Solsikke rugbrød]]
# [[Sommer kaffe]]
# [[Sommerbærkage]]
# [[Sommerfrikadeller]]
# [[Sommerkartoffelsalat med spegeskinke]]
# [[Sommerpizza]]
# [[Sommersalat]]
# [[Sommersuppe med blomkål]]
# [[Sommertærte med squash og skinke]]
# [[Spaghetti med avocadopasta]]
# [[Spaghetti med bacon og champignon]]
# [[Spaghetti med tomatblanding]]
# [[Spaghetti-omelet]]
# [[Spareribs]]
# [[Speciella]]
# [[Speltbrød]]
# [[Speltbrød bagt med øl]]
# [[Speltflageboller]]
# [[Spicy orangeand]]
# [[Spidskål a la kimchi]]
# [[Spidskålsgryde]]
# [[Spinatboller]]
# [[Spinatbudding]]
# [[Spinatgratin med krydderier]]
# [[Spinatsalat med grillet peberfrugt, græskarkerner og ricotta]]
# [[Sprængt andebryst]]
# [[Sprød kartoffelskræl]]
# [[Sprød salat med kylling og flødedressing]]
# [[Sprøde chips i microovn]]
# [[Sprøde cornflakes toppe]]
# [[Sprøde majskolber]]
# [[Sprøde rugbrøds småkager]]
# [[Sprøde vafler]]
# [[Squashlagkage med creme og æble]]
# [[Squashmuffins med skinke]]
# [[Squashsuppe med svampeboller]]
# [[St. Louis Gooey Butter Cake]]
# [[Stikkelsbærgelé]]
# [[Stikkelsbærkage]]
# [[Stikkelsbærkompot]]
# [[Stikkelsbærshake]]
# [[Stines rundstykker]]
# [[Strawberry Slush]]
# [[Stroganoff]]
# [[Studenterhavre]]
# [[Studenterpunch]]
# [[Stuvede brændenælder og skvalderkål]]
# [[Submarine sandwich]]
# [[Sund grøn dip]]
# [[Sunde bananvafler]]
# [[Sunde vafler med havregryn]]
# [[Sur/sød sauce enkel udgave]]
# [[Svampe/valnøddepostej med ovenbagte rodfrugter]]
# [[Svampegratienerede koteletter]]
# [[Svampesauce]]
# [[Svampet bananbrød med nougat]]
# [[Svensk klatkage]]
# [[Svinekoteletter i karrysauce]]
# [[Svinekoteletter med svampe]]
# [[Svinekoteletter med tomatsauce]]
# [[Svinekød i kokos]]
# [[Svinekød med nudler og ingefærd]]
# [[Svinemørbrad med bønnesalat]]
# [[Svinemørbrad med kastanjer, grønkål og æbler]]
# [[Syltede pærer]]
# [[Sødsuppe]]
# [[Sønderjysk hvidkålsbudding]]
# [[Sønderjyske fiskefrikadeller]]
# [[Sørens Mexicanske flip]]
# [[Tapas kugler af røget fisk]]
# [[Tarte Tatin (æbletærte)]]
# [[Tarteletter med rejer og asparges]]
# [[Thai-skinkegryde]]
# [[Thai-wok]]
# [[Thaisuppe med kokos og kylling]]
# [[Tiramisu]]
# [[Tom Kha Kai]]
# [[Tomat salsa]]
# [[Tomatsalat med mozzarella]]
# [[Tomatsandwich med ansjossmør]]
# [[Tomatsmør]]
# [[Tomatstuvet blomkål]]
# [[Tomatsuppe med pesto]]
# [[Tomattatar med sild, kål og æggeblomme]]
# [[Torsk i fad]]
# [[Torsk med sennepssauce]]
# [[Torsk serveret på grov jordskokkepuré]]
# [[Torskefileter med lime og citron]]
# [[Torskerognsfrikadeller uden æg]]
# [[Tortillas med brie og skinke]]
# [[Tranebærsorbet]]
# [[Trifli med hyldeblomstcreme]]
# [[Tunfiskepaté]]
# [[Tunfiskesauce]]
# [[Tunmousse]]
# [[Tunsalat]]
# [[Tunsalat med ananas og bacon]]
# [[Turkish Delight]]
# [[Turkish delight - med agar agar]]
# [[Turkish Delight i mikroovn]]
# [[Turkish Delight med husblas]]
# [[Tvebaksbudding]]
# [[Tyrkisk agurkesalat]]
# [[Tyrkiske farsbrød]]
# [[Tærte med porre og skinke]]
# [[Uffe's Tosca kage]]
# [[Ungkvægbryst med kartoffelmos, porrer og kål]]
# [[Urtefrikadeller med gulerodstzatziki]]
# [[Urtemarinerede champignoner]]
# [[Vafler med kærnemælk - gammeldags vaffeldej opskrift]]
# [[Valnødde makroner]]
# [[Valnøddebrød med ahornsirup]]
# [[Vandbakkelser i Actifry]]
# [[Vandbakkelsesdej]]
# [[Vanilleis med jordbær]]
# [[Varm chokolade med krydret skum]]
# [[Varm kaneldrik]]
# [[Varm kartoffelsalat m. olie/eddike dressing]]
# [[Varm rodfrugt salat]]
# [[Vegansk smøreost med hvidløg]]
# [[Veganske julevafler, fri for gluten og laktose]]
# [[Verdens bedste kringle ifølge Søren Ryge]]
# [[Vildrissalat]]
# [[Violsirup]]
# [[Voksengløgg]]
# [[Wokstegt oksekød med broccoli, nudler og cashewnødder]]
# [[Æble pletter]]
# [[Æble-brombær crumble]]
# [[Æble-chutney]]
# [[Æble-peberrods-gelé]]
# [[Æble-peberrods-sennep]]
# [[Æble-rezules]]
# [[Æblebrød]]
# [[Æbleflæsk med bacon]]
# [[Æblefritter]]
# [[Æblegelé]]
# [[Æbleglögg med rom, citron og granatæble]]
# [[Æblekage]]
# [[Æblekage med kardemomme og kanel]]
# [[Æblekage med æbler, rosiner og nødder]]
# [[Æblemarmelade med soltørrede tranebær, ristede pinjekerner, kanel, kardemomme.]]
# [[Æblemazarinkage]]
# [[Æblescones]]
# [[Æbleskiver med syltetøj i midten]]
# [[Æbleskiver2]]
# [[Æbletærte]]
# [[Æbletærte med makronbund]]
# [[Æg med stærk brøndkarse-sennepssauce og rejer]]
# [[Æggekage med asparges og chorizo]]
# [[Æggekage med kartofler, purløg og bacon]]
# [[Æggeroulade med stenbiderrogn og bagt tomatsalsa]]
# [[Æggesalat]]
# [[Ærte kaviar]]
# [[Ærøske pandekager]]
# [[Æselører]]
# [[Økologiske honningvafler]]
# [[Ølkage]]
# [[Øllebrød]]
# [[Øllebrød 2]]
# [[Ørred i ovn]]
hide
no
$:/languages/da-DK
{
    "tiddlers": {
        "$:/language/Buttons/AdvancedSearch/Caption": {
            "title": "$:/language/Buttons/AdvancedSearch/Caption",
            "text": "avanceret søgning"
        },
        "$:/language/Buttons/AdvancedSearch/Hint": {
            "title": "$:/language/Buttons/AdvancedSearch/Hint",
            "text": "Avanceret søgning"
        },
        "$:/language/Buttons/Bold/Caption": {
            "title": "$:/language/Buttons/Bold/Caption",
            "text": "fed"
        },
        "$:/language/Buttons/Bold/Hint": {
            "title": "$:/language/Buttons/Bold/Hint",
            "text": "Føj fed formatering til udvalgte"
        },
        "$:/language/Buttons/Cancel/Caption": {
            "title": "$:/language/Buttons/Cancel/Caption",
            "text": "fortryd"
        },
        "$:/language/Buttons/Cancel/Hint": {
            "title": "$:/language/Buttons/Cancel/Hint",
            "text": "Fortryd redigering af denne tiddler"
        },
        "$:/language/Buttons/Clear/Caption": {
            "title": "$:/language/Buttons/Clear/Caption",
            "text": "tøm"
        },
        "$:/language/Buttons/Clear/Hint": {
            "title": "$:/language/Buttons/Clear/Hint",
            "text": "Erstat billede med solid farve"
        },
        "$:/language/Buttons/Clone/Caption": {
            "title": "$:/language/Buttons/Clone/Caption",
            "text": "klon"
        },
        "$:/language/Buttons/Clone/Hint": {
            "title": "$:/language/Buttons/Clone/Hint",
            "text": "Klon denne tiddler"
        },
        "$:/language/Buttons/Close/Caption": {
            "title": "$:/language/Buttons/Close/Caption",
            "text": "luk"
        },
        "$:/language/Buttons/Close/Hint": {
            "title": "$:/language/Buttons/Close/Hint",
            "text": "Luk denne tiddler"
        },
        "$:/language/Buttons/CloseAll/Caption": {
            "title": "$:/language/Buttons/CloseAll/Caption",
            "text": "Luk alle"
        },
        "$:/language/Buttons/CloseAll/Hint": {
            "title": "$:/language/Buttons/CloseAll/Hint",
            "text": "Luk alle tiddlere"
        },
        "$:/language/Buttons/CloseOthers/Caption": {
            "title": "$:/language/Buttons/CloseOthers/Caption",
            "text": "luk andre"
        },
        "$:/language/Buttons/CloseOthers/Hint": {
            "title": "$:/language/Buttons/CloseOthers/Hint",
            "text": "Luk andre tiddlere"
        },
        "$:/language/Buttons/ControlPanel/Caption": {
            "title": "$:/language/Buttons/ControlPanel/Caption",
            "text": "Kontrolpanel"
        },
        "$:/language/Buttons/ControlPanel/Hint": {
            "title": "$:/language/Buttons/ControlPanel/Hint",
            "text": "Åbn kontrolpanel"
        },
        "$:/language/Buttons/Delete/Caption": {
            "title": "$:/language/Buttons/Delete/Caption",
            "text": "slet"
        },
        "$:/language/Buttons/Delete/Hint": {
            "title": "$:/language/Buttons/Delete/Hint",
            "text": "Slet denne tiddler"
        },
        "$:/language/Buttons/Edit/Caption": {
            "title": "$:/language/Buttons/Edit/Caption",
            "text": "redigér"
        },
        "$:/language/Buttons/Edit/Hint": {
            "title": "$:/language/Buttons/Edit/Hint",
            "text": "Redigér denne tiddler"
        },
        "$:/language/Buttons/EditorHeight/Caption": {
            "title": "$:/language/Buttons/EditorHeight/Caption",
            "text": "editor højde"
        },
        "$:/language/Buttons/EditorHeight/Caption/Auto": {
            "title": "$:/language/Buttons/EditorHeight/Caption/Auto",
            "text": "Automatisk tilpasning af højde til indhold"
        },
        "$:/language/Buttons/EditorHeight/Caption/Fixed": {
            "title": "$:/language/Buttons/EditorHeight/Caption/Fixed",
            "text": "Fixeret højde"
        },
        "$:/language/Buttons/EditorHeight/Hint": {
            "title": "$:/language/Buttons/EditorHeight/Hint",
            "text": "Vælg højde på tekst editor"
        },
        "$:/language/Buttons/Encryption/Caption": {
            "title": "$:/language/Buttons/Encryption/Caption",
            "text": "kryptering"
        },
        "$:/language/Buttons/Encryption/ClearPassword/Caption": {
            "title": "$:/language/Buttons/Encryption/ClearPassword/Caption",
            "text": "slet kodeord"
        },
        "$:/language/Buttons/Encryption/ClearPassword/Hint": {
            "title": "$:/language/Buttons/Encryption/ClearPassword/Hint",
            "text": "Slet kodeord og gem denne wiki uden kryptering"
        },
        "$:/language/Buttons/Encryption/Hint": {
            "title": "$:/language/Buttons/Encryption/Hint",
            "text": "Angiv eller slet et kodeord for at gemme denne wiki"
        },
        "$:/language/Buttons/Encryption/SetPassword/Caption": {
            "title": "$:/language/Buttons/Encryption/SetPassword/Caption",
            "text": "Angiv kodeord"
        },
        "$:/language/Buttons/Encryption/SetPassword/Hint": {
            "title": "$:/language/Buttons/Encryption/SetPassword/Hint",
            "text": "Angiv et kodeord for gemme denne wiki i krypteret tilstand"
        },
        "$:/language/Buttons/Excise/Caption": {
            "title": "$:/language/Buttons/Excise/Caption",
            "text": "klip"
        },
        "$:/language/Buttons/Excise/Caption/Excise": {
            "title": "$:/language/Buttons/Excise/Caption/Excise",
            "text": "Udfør klip"
        },
        "$:/language/Buttons/Excise/Caption/MacroName": {
            "title": "$:/language/Buttons/Excise/Caption/MacroName",
            "text": "Makro navn:"
        },
        "$:/language/Buttons/Excise/Caption/NewTitle": {
            "title": "$:/language/Buttons/Excise/Caption/NewTitle",
            "text": "Titel på ny tiddler:"
        },
        "$:/language/Buttons/Excise/Caption/Replace": {
            "title": "$:/language/Buttons/Excise/Caption/Replace",
            "text": "Erstat udklippet tekst med:"
        },
        "$:/language/Buttons/Excise/Caption/Replace/Macro": {
            "title": "$:/language/Buttons/Excise/Caption/Replace/Macro",
            "text": "makro"
        },
        "$:/language/Buttons/Excise/Caption/Replace/Transclusion": {
            "title": "$:/language/Buttons/Excise/Caption/Replace/Transclusion",
            "text": "transklusion"
        },
        "$:/language/Buttons/Excise/Caption/Tag": {
            "title": "$:/language/Buttons/Excise/Caption/Tag",
            "text": "Tag ny tiddler med titlen på denne tiddler"
        },
        "$:/language/Buttons/Excise/Caption/TiddlerExists": {
            "title": "$:/language/Buttons/Excise/Caption/TiddlerExists",
            "text": "Advarsel: tiddler eksister allerede"
        },
        "$:/language/Buttons/Excise/Hint": {
            "title": "$:/language/Buttons/Excise/Hint",
            "text": "Klip udvalgt tekst til en ny tiddler"
        },
        "$:/language/Buttons/ExportPage/Caption": {
            "title": "$:/language/Buttons/ExportPage/Caption",
            "text": "eksportér alle"
        },
        "$:/language/Buttons/ExportPage/Hint": {
            "title": "$:/language/Buttons/ExportPage/Hint",
            "text": "Eksportér alle tiddlere"
        },
        "$:/language/Buttons/ExportTiddler/Caption": {
            "title": "$:/language/Buttons/ExportTiddler/Caption",
            "text": "eksportér tiddler"
        },
        "$:/language/Buttons/ExportTiddler/Hint": {
            "title": "$:/language/Buttons/ExportTiddler/Hint",
            "text": "Eksportér tiddler"
        },
        "$:/language/Buttons/ExportTiddlers/Caption": {
            "title": "$:/language/Buttons/ExportTiddlers/Caption",
            "text": "eksportér tiddlere"
        },
        "$:/language/Buttons/ExportTiddlers/Hint": {
            "title": "$:/language/Buttons/ExportTiddlers/Hint",
            "text": "Eksportér tiddlere"
        },
        "$:/language/Buttons/Fold/FoldBar/Hint": {
            "title": "$:/language/Buttons/Fold/FoldBar/Hint",
            "text": "Valgfri bars til fold og udfold af tiddlere"
        },
        "$:/language/Buttons/Fold/Hint": {
            "title": "$:/language/Buttons/Fold/Hint",
            "text": "Fold denne tiddlers krop"
        },
        "$:/language/Buttons/FoldAll/Caption": {
            "title": "$:/language/Buttons/FoldAll/Caption",
            "text": "fold alle tiddlere"
        },
        "$:/language/Buttons/FoldAll/Hint": {
            "title": "$:/language/Buttons/FoldAll/Hint",
            "text": "Fold kroppen i alle åbne tiddlere"
        },
        "$:/language/Buttons/FoldOthers/Caption": {
            "title": "$:/language/Buttons/FoldOthers/Caption",
            "text": "fold andre tiddlere"
        },
        "$:/language/Buttons/FoldOthers/Hint": {
            "title": "$:/language/Buttons/FoldOthers/Hint",
            "text": "Fold kroppen i andre åbne tiddlere"
        },
        "$:/language/Buttons/FullScreen/Caption": {
            "title": "$:/language/Buttons/FullScreen/Caption",
            "text": "fuldskærm"
        },
        "$:/language/Buttons/FullScreen/Hint": {
            "title": "$:/language/Buttons/FullScreen/Hint",
            "text": "Gå til eller forlad fuldskærmstilstand"
        },
        "$:/language/Buttons/Heading1/Caption": {
            "title": "$:/language/Buttons/Heading1/Caption",
            "text": "overskrift 1"
        },
        "$:/language/Buttons/Heading1/Hint": {
            "title": "$:/language/Buttons/Heading1/Hint",
            "text": "Føj overskrift niveau 1 formatering til linier indeholdende udvalgte"
        },
        "$:/language/Buttons/Heading2/Caption": {
            "title": "$:/language/Buttons/Heading2/Caption",
            "text": "overskrift 2"
        },
        "$:/language/Buttons/Heading2/Hint": {
            "title": "$:/language/Buttons/Heading2/Hint",
            "text": "Føj overskrift niveau 2 formatering til linier indeholdende udvalgte"
        },
        "$:/language/Buttons/Heading3/Caption": {
            "title": "$:/language/Buttons/Heading3/Caption",
            "text": "overskrift 3"
        },
        "$:/language/Buttons/Heading3/Hint": {
            "title": "$:/language/Buttons/Heading3/Hint",
            "text": "Føj overskrift niveau 3 formatering til linier indeholdende udvalgte"
        },
        "$:/language/Buttons/Heading4/Caption": {
            "title": "$:/language/Buttons/Heading4/Caption",
            "text": "overskrift 4"
        },
        "$:/language/Buttons/Heading4/Hint": {
            "title": "$:/language/Buttons/Heading4/Hint",
            "text": "Føj overskrift niveau 4 formatering til linier indeholdende udvalgte"
        },
        "$:/language/Buttons/Heading5/Caption": {
            "title": "$:/language/Buttons/Heading5/Caption",
            "text": "overskrift 5"
        },
        "$:/language/Buttons/Heading5/Hint": {
            "title": "$:/language/Buttons/Heading5/Hint",
            "text": "Føj overskrift niveau 5 formatering til linier indeholdende udvalgte"
        },
        "$:/language/Buttons/Heading6/Caption": {
            "title": "$:/language/Buttons/Heading6/Caption",
            "text": "overskrift 6"
        },
        "$:/language/Buttons/Heading6/Hint": {
            "title": "$:/language/Buttons/Heading6/Hint",
            "text": "Føj overskrift niveau 6 formatering til linier indeholdende udvalgte"
        },
        "$:/language/Buttons/Help/Caption": {
            "title": "$:/language/Buttons/Help/Caption",
            "text": "hjælp"
        },
        "$:/language/Buttons/Help/Hint": {
            "title": "$:/language/Buttons/Help/Hint",
            "text": "Vis hjælpepanel"
        },
        "$:/language/Buttons/HideSideBar/Caption": {
            "title": "$:/language/Buttons/HideSideBar/Caption",
            "text": "skjul sidebar"
        },
        "$:/language/Buttons/HideSideBar/Hint": {
            "title": "$:/language/Buttons/HideSideBar/Hint",
            "text": "Skjul sidepanel"
        },
        "$:/language/Buttons/Home/Caption": {
            "title": "$:/language/Buttons/Home/Caption",
            "text": "hjem"
        },
        "$:/language/Buttons/Home/Hint": {
            "title": "$:/language/Buttons/Home/Hint",
            "text": "Åbn standardtiddlerne"
        },
        "$:/language/Buttons/Import/Caption": {
            "title": "$:/language/Buttons/Import/Caption",
            "text": "importér"
        },
        "$:/language/Buttons/Import/Hint": {
            "title": "$:/language/Buttons/Import/Hint",
            "text": "Importér filer"
        },
        "$:/language/Buttons/Info/Caption": {
            "title": "$:/language/Buttons/Info/Caption",
            "text": "info"
        },
        "$:/language/Buttons/Info/Hint": {
            "title": "$:/language/Buttons/Info/Hint",
            "text": "Vis information om denne tiddler"
        },
        "$:/language/Buttons/Italic/Caption": {
            "title": "$:/language/Buttons/Italic/Caption",
            "text": "kursiv"
        },
        "$:/language/Buttons/Italic/Hint": {
            "title": "$:/language/Buttons/Italic/Hint",
            "text": "Føj kursiv formatering til udvalgte"
        },
        "$:/language/Buttons/Language/Caption": {
            "title": "$:/language/Buttons/Language/Caption",
            "text": "sprog"
        },
        "$:/language/Buttons/Language/Hint": {
            "title": "$:/language/Buttons/Language/Hint",
            "text": "Vælg brugerfladesprog"
        },
        "$:/language/Buttons/LineWidth/Caption": {
            "title": "$:/language/Buttons/LineWidth/Caption",
            "text": "linie tykkelse"
        },
        "$:/language/Buttons/LineWidth/Hint": {
            "title": "$:/language/Buttons/LineWidth/Hint",
            "text": "Sæt linie tykkelse til maling"
        },
        "$:/language/Buttons/ListBullet/Caption": {
            "title": "$:/language/Buttons/ListBullet/Caption",
            "text": "punkt liste"
        },
        "$:/language/Buttons/ListBullet/Hint": {
            "title": "$:/language/Buttons/ListBullet/Hint",
            "text": "Føj punkt liste formatering til linier indeholdende udvalgte"
        },
        "$:/language/Buttons/ListNumber/Caption": {
            "title": "$:/language/Buttons/ListNumber/Caption",
            "text": "nummereret liste"
        },
        "$:/language/Buttons/ListNumber/Hint": {
            "title": "$:/language/Buttons/ListNumber/Hint",
            "text": "Føj nummereret liste formatering til linier indeholdende udvalgte"
        },
        "$:/language/Buttons/MonoBlock/Caption": {
            "title": "$:/language/Buttons/MonoBlock/Caption",
            "text": "monospaced blok"
        },
        "$:/language/Buttons/MonoBlock/Hint": {
            "title": "$:/language/Buttons/MonoBlock/Hint",
            "text": "Føj monospaced blok formatering til linier indeholdende udvalgte"
        },
        "$:/language/Buttons/MonoLine/Hint": {
            "title": "$:/language/Buttons/MonoLine/Hint",
            "text": "Føj monospaced bogstav formatering til udvalgte"
        },
        "$:/language/Buttons/More/Caption": {
            "title": "$:/language/Buttons/More/Caption",
            "text": "mere"
        },
        "$:/language/Buttons/More/Hint": {
            "title": "$:/language/Buttons/More/Hint",
            "text": "Flere muligheder"
        },
        "$:/language/Buttons/NewHere/Caption": {
            "title": "$:/language/Buttons/NewHere/Caption",
            "text": "ny her"
        },
        "$:/language/Buttons/NewHere/Hint": {
            "title": "$:/language/Buttons/NewHere/Hint",
            "text": "Opret en ny tiddler tagget med denne tiddlers titel"
        },
        "$:/language/Buttons/NewImage/Caption": {
            "title": "$:/language/Buttons/NewImage/Caption",
            "text": "nyt billede"
        },
        "$:/language/Buttons/NewImage/Hint": {
            "title": "$:/language/Buttons/NewImage/Hint",
            "text": "Opret en ny billed tiddler"
        },
        "$:/language/Buttons/NewJournal/Caption": {
            "title": "$:/language/Buttons/NewJournal/Caption",
            "text": "ny journal"
        },
        "$:/language/Buttons/NewJournal/Hint": {
            "title": "$:/language/Buttons/NewJournal/Hint",
            "text": "Opret en ny journaltiddler"
        },
        "$:/language/Buttons/NewJournalHere/Caption": {
            "title": "$:/language/Buttons/NewJournalHere/Caption",
            "text": "ny journal her"
        },
        "$:/language/Buttons/NewJournalHere/Hint": {
            "title": "$:/language/Buttons/NewJournalHere/Hint",
            "text": "Opret en ny journaltiddler tagget med denne tiddlers titel"
        },
        "$:/language/Buttons/NewMarkdown/Caption": {
            "title": "$:/language/Buttons/NewMarkdown/Caption",
            "text": "ny Markdown tiddler"
        },
        "$:/language/Buttons/NewMarkdown/Hint": {
            "title": "$:/language/Buttons/NewMarkdown/Hint",
            "text": "Opret en ny Markdown tiddler"
        },
        "$:/language/Buttons/NewTiddler/Caption": {
            "title": "$:/language/Buttons/NewTiddler/Caption",
            "text": "ny tiddler"
        },
        "$:/language/Buttons/NewTiddler/Hint": {
            "title": "$:/language/Buttons/NewTiddler/Hint",
            "text": "Opret en ny tiddler"
        },
        "$:/language/Buttons/Opacity/Caption": {
            "title": "$:/language/Buttons/Opacity/Caption",
            "text": "gennemsigtighed"
        },
        "$:/language/Buttons/Opacity/Hint": {
            "title": "$:/language/Buttons/Opacity/Hint",
            "text": "Sæt gennemsigtighed af maling"
        },
        "$:/language/Buttons/OpenWindow/Caption": {
            "title": "$:/language/Buttons/OpenWindow/Caption",
            "text": "Åben i nyt vindue"
        },
        "$:/language/Buttons/OpenWindow/Hint": {
            "title": "$:/language/Buttons/OpenWindow/Hint",
            "text": "Åbn tiddler i nyt vindue"
        },
        "$:/language/Buttons/Paint/Caption": {
            "title": "$:/language/Buttons/Paint/Caption",
            "text": "male farve"
        },
        "$:/language/Buttons/Paint/Hint": {
            "title": "$:/language/Buttons/Paint/Hint",
            "text": "Sæt male farve"
        },
        "$:/language/Buttons/Palette/Hint": {
            "title": "$:/language/Buttons/Palette/Hint",
            "text": "Vælg farve palette"
        },
        "$:/language/Buttons/Permalink/Caption": {
            "title": "$:/language/Buttons/Permalink/Caption",
            "text": "permalink"
        },
        "$:/language/Buttons/Permalink/Hint": {
            "title": "$:/language/Buttons/Permalink/Hint",
            "text": "Sæt browserens adresselinie til et direkte link til denne tiddler"
        },
        "$:/language/Buttons/Permaview/Caption": {
            "title": "$:/language/Buttons/Permaview/Caption",
            "text": "permaview"
        },
        "$:/language/Buttons/Permaview/Hint": {
            "title": "$:/language/Buttons/Permaview/Hint",
            "text": "Sæt browserens adresselinie til et direkte link til alle tiddlere i denne historie"
        },
        "$:/language/Buttons/Picture/Caption": {
            "title": "$:/language/Buttons/Picture/Caption",
            "text": "billede"
        },
        "$:/language/Buttons/Picture/Hint": {
            "title": "$:/language/Buttons/Picture/Hint",
            "text": "Indsæt billede"
        },
        "$:/language/Buttons/Preview/Caption": {
            "title": "$:/language/Buttons/Preview/Caption",
            "text": "forhåndsvisning"
        },
        "$:/language/Buttons/Preview/Hint": {
            "title": "$:/language/Buttons/Preview/Hint",
            "text": "Vis forhåndsvisnings panel"
        },
        "$:/language/Buttons/PreviewType/Caption": {
            "title": "$:/language/Buttons/PreviewType/Caption",
            "text": "forhåndsvisnings type"
        },
        "$:/language/Buttons/PreviewType/Hint": {
            "title": "$:/language/Buttons/PreviewType/Hint",
            "text": "Vælg forhåndsvisnings type"
        },
        "$:/language/Buttons/Print/Caption": {
            "title": "$:/language/Buttons/Print/Caption",
            "text": "print side"
        },
        "$:/language/Buttons/Print/Hint": {
            "title": "$:/language/Buttons/Print/Hint",
            "text": "Print den aktuelle side"
        },
        "$:/language/Buttons/Quote/Caption": {
            "title": "$:/language/Buttons/Quote/Caption",
            "text": "Citat"
        },
        "$:/language/Buttons/Quote/Hint": {
            "title": "$:/language/Buttons/Quote/Hint",
            "text": "Føj citat tekst formatering til linier indeholdende udvalgte"
        },
        "$:/language/Buttons/Refresh/Caption": {
            "title": "$:/language/Buttons/Refresh/Caption",
            "text": "genopfrisk"
        },
        "$:/language/Buttons/Refresh/Hint": {
            "title": "$:/language/Buttons/Refresh/Hint",
            "text": "Udfør en fuld genopfriskning af wiki'en"
        },
        "$:/language/Buttons/Save/Caption": {
            "title": "$:/language/Buttons/Save/Caption",
            "text": "gem"
        },
        "$:/language/Buttons/Save/Hint": {
            "title": "$:/language/Buttons/Save/Hint",
            "text": "Gem denne tiddler"
        },
        "$:/language/Buttons/SaveWiki/Caption": {
            "title": "$:/language/Buttons/SaveWiki/Caption",
            "text": "gem ændringer"
        },
        "$:/language/Buttons/SaveWiki/Hint": {
            "title": "$:/language/Buttons/SaveWiki/Hint",
            "text": "Gem ændringer"
        },
        "$:/language/Buttons/ShowSideBar/Caption": {
            "title": "$:/language/Buttons/ShowSideBar/Caption",
            "text": "vis sidepanel"
        },
        "$:/language/Buttons/ShowSideBar/Hint": {
            "title": "$:/language/Buttons/ShowSideBar/Hint",
            "text": "Vis sidepanel"
        },
        "$:/language/Buttons/Size/Caption": {
            "title": "$:/language/Buttons/Size/Caption",
            "text": "billed størrelse"
        },
        "$:/language/Buttons/Size/Caption/Height": {
            "title": "$:/language/Buttons/Size/Caption/Height",
            "text": "Højde:"
        },
        "$:/language/Buttons/Size/Caption/Resize": {
            "title": "$:/language/Buttons/Size/Caption/Resize",
            "text": "Ændre billed størrelse"
        },
        "$:/language/Buttons/Size/Caption/Width": {
            "title": "$:/language/Buttons/Size/Caption/Width",
            "text": "Bredde:"
        },
        "$:/language/Buttons/Size/Hint": {
            "title": "$:/language/Buttons/Size/Hint",
            "text": "Sæt billed størrelse"
        },
        "$:/language/Buttons/Stamp/Caption": {
            "title": "$:/language/Buttons/Stamp/Caption",
            "text": "stempel"
        },
        "$:/language/Buttons/Stamp/Caption/New": {
            "title": "$:/language/Buttons/Stamp/Caption/New",
            "text": "Tilføj dit eget"
        },
        "$:/language/Buttons/Stamp/Hint": {
            "title": "$:/language/Buttons/Stamp/Hint",
            "text": "Indsæt et prækonfiguret klip med tekst"
        },
        "$:/language/Buttons/Stamp/New/Text": {
            "title": "$:/language/Buttons/Stamp/New/Text",
            "text": "Tekst i klippet. (Husk at skrive en beskrivende titel i caption feltet)."
        },
        "$:/language/Buttons/Stamp/New/Title": {
            "title": "$:/language/Buttons/Stamp/New/Title",
            "text": "Navn som vist i menu"
        },
        "$:/language/Buttons/StoryView/Caption": {
            "title": "$:/language/Buttons/StoryView/Caption",
            "text": "historieVisning"
        },
        "$:/language/Buttons/StoryView/Hint": {
            "title": "$:/language/Buttons/StoryView/Hint",
            "text": "Vælg historievisning"
        },
        "$:/language/Buttons/Strikethrough/Caption": {
            "title": "$:/language/Buttons/Strikethrough/Caption",
            "text": "gennemstregning"
        },
        "$:/language/Buttons/Strikethrough/Hint": {
            "title": "$:/language/Buttons/Strikethrough/Hint",
            "text": "Føj gennemstregnings formatering til udvalgte"
        },
        "$:/language/Buttons/Subscript/Hint": {
            "title": "$:/language/Buttons/Subscript/Hint",
            "text": "Føj subscript formatering til udvalgte"
        },
        "$:/language/Buttons/Superscript/Hint": {
            "title": "$:/language/Buttons/Superscript/Hint",
            "text": "Føj superscript formatering til udvalgte"
        },
        "$:/language/Buttons/TagManager/Caption": {
            "title": "$:/language/Buttons/TagManager/Caption",
            "text": "tagadministrator"
        },
        "$:/language/Buttons/TagManager/Hint": {
            "title": "$:/language/Buttons/TagManager/Hint",
            "text": "Åbn tagadministrator"
        },
        "$:/language/Buttons/Theme/Caption": {
            "title": "$:/language/Buttons/Theme/Caption",
            "text": "tema"
        },
        "$:/language/Buttons/Theme/Hint": {
            "title": "$:/language/Buttons/Theme/Hint",
            "text": "Vælg visningstema"
        },
        "$:/language/Buttons/Timestamp/Hint": {
            "title": "$:/language/Buttons/Timestamp/Hint",
            "text": "Vælg om modifikationer opdaterer tidsstempler"
        },
        "$:/language/Buttons/Timestamp/Off/Caption": {
            "title": "$:/language/Buttons/Timestamp/Off/Caption",
            "text": "tidsstempler er slået fra"
        },
        "$:/language/Buttons/Timestamp/Off/Hint": {
            "title": "$:/language/Buttons/Timestamp/Off/Hint",
            "text": "Opdaterer ikke tiddstempler når tiddlere modificeres"
        },
        "$:/language/Buttons/Timestamp/On/Caption": {
            "title": "$:/language/Buttons/Timestamp/On/Caption",
            "text": "tidsstempker er slået til"
        },
        "$:/language/Buttons/Timestamp/On/Hint": {
            "title": "$:/language/Buttons/Timestamp/On/Hint",
            "text": "Opdater tidsstempler når tiddlere modificeres"
        },
        "$:/language/Buttons/Underline/Caption": {
            "title": "$:/language/Buttons/Underline/Caption",
            "text": "understregning"
        },
        "$:/language/Buttons/Underline/Hint": {
            "title": "$:/language/Buttons/Underline/Hint",
            "text": "Føj understregnings formatering til udvalgte"
        },
        "$:/language/Buttons/Unfold/Caption": {
            "title": "$:/language/Buttons/Unfold/Caption",
            "text": "udfold tiddler"
        },
        "$:/language/Buttons/Unfold/Hint": {
            "title": "$:/language/Buttons/Unfold/Hint",
            "text": "Udfold denne tiddlers krop"
        },
        "$:/language/Buttons/UnfoldAll/Caption": {
            "title": "$:/language/Buttons/UnfoldAll/Caption",
            "text": "udfold alle tiddlere"
        },
        "$:/language/Buttons/UnfoldAll/Hint": {
            "title": "$:/language/Buttons/UnfoldAll/Hint",
            "text": "Udfold kroppen i alle åbne tiddlere"
        },
        "$:/language/ControlPanel/Advanced/Caption": {
            "title": "$:/language/ControlPanel/Advanced/Caption",
            "text": "Avanceret"
        },
        "$:/language/ControlPanel/Advanced/Hint": {
            "title": "$:/language/ControlPanel/Advanced/Hint",
            "text": "Intern information om denne TiddlyWiki"
        },
        "$:/language/ControlPanel/Appearance/Caption": {
            "title": "$:/language/ControlPanel/Appearance/Caption",
            "text": "Design"
        },
        "$:/language/ControlPanel/Appearance/Hint": {
            "title": "$:/language/ControlPanel/Appearance/Hint",
            "text": "Måder at tilpasse udseendet af din TiddlyWiki."
        },
        "$:/language/ControlPanel/Basics/AnimDuration/Prompt": {
            "title": "$:/language/ControlPanel/Basics/AnimDuration/Prompt",
            "text": "Animationsvarighed"
        },
        "$:/language/ControlPanel/Basics/Caption": {
            "title": "$:/language/ControlPanel/Basics/Caption",
            "text": "Basis"
        },
        "$:/language/ControlPanel/Basics/DefaultTiddlers/BottomHint": {
            "title": "$:/language/ControlPanel/Basics/DefaultTiddlers/BottomHint",
            "text": "Brug &#91;&#91;dobbelt  firkantede parenteser&#93;&#93; for titler med mellemrum. Eller du kan vælge at <$button set=\"$:/DefaultTiddlers\" setTo=\"[list[$:/StoryList]]\">gemme de aktuelt åbne tiddlere</$button>"
        },
        "$:/language/ControlPanel/Basics/DefaultTiddlers/Prompt": {
            "title": "$:/language/ControlPanel/Basics/DefaultTiddlers/Prompt",
            "text": "Standardtiddlere:"
        },
        "$:/language/ControlPanel/Basics/DefaultTiddlers/TopHint": {
            "title": "$:/language/ControlPanel/Basics/DefaultTiddlers/TopHint",
            "text": "Vælg hvilke tiddlere der vises ved opstart:"
        },
        "$:/language/ControlPanel/Basics/Language/Prompt": {
            "title": "$:/language/ControlPanel/Basics/Language/Prompt",
            "text": "Hallo! Aktuelt sprog:"
        },
        "$:/language/ControlPanel/Basics/NewJournal/Tags/Prompt": {
            "title": "$:/language/ControlPanel/Basics/NewJournal/Tags/Prompt",
            "text": "Tags for nye journaltiddlere"
        },
        "$:/language/ControlPanel/Basics/NewJournal/Title/Prompt": {
            "title": "$:/language/ControlPanel/Basics/NewJournal/Title/Prompt",
            "text": "Titel på nye journaltiddlere"
        },
        "$:/language/ControlPanel/Basics/OverriddenShadowTiddlers/Prompt": {
            "title": "$:/language/ControlPanel/Basics/OverriddenShadowTiddlers/Prompt",
            "text": "Antal overskrevne skyggetiddlere:"
        },
        "$:/language/ControlPanel/Basics/ShadowTiddlers/Prompt": {
            "title": "$:/language/ControlPanel/Basics/ShadowTiddlers/Prompt",
            "text": "Antal skyggetiddlere:"
        },
        "$:/language/ControlPanel/Basics/Subtitle/Prompt": {
            "title": "$:/language/ControlPanel/Basics/Subtitle/Prompt",
            "text": "Undertitel"
        },
        "$:/language/ControlPanel/Basics/SystemTiddlers/Prompt": {
            "title": "$:/language/ControlPanel/Basics/SystemTiddlers/Prompt",
            "text": "Antal systemtiddler:"
        },
        "$:/language/ControlPanel/Basics/Tags/Prompt": {
            "title": "$:/language/ControlPanel/Basics/Tags/Prompt",
            "text": "Antal tags:"
        },
        "$:/language/ControlPanel/Basics/Tiddlers/Prompt": {
            "title": "$:/language/ControlPanel/Basics/Tiddlers/Prompt",
            "text": "Antal tiddlere:"
        },
        "$:/language/ControlPanel/Basics/Title/Prompt": {
            "title": "$:/language/ControlPanel/Basics/Title/Prompt",
            "text": "Titel på denne ~TiddlyWiki:"
        },
        "$:/language/ControlPanel/Basics/Username/Prompt": {
            "title": "$:/language/ControlPanel/Basics/Username/Prompt",
            "text": "Brugernavn til at signere redigeringer:"
        },
        "$:/language/ControlPanel/Basics/Version/Prompt": {
            "title": "$:/language/ControlPanel/Basics/Version/Prompt",
            "text": "~TiddlyWiki version:"
        },
        "$:/language/ControlPanel/EditorTypes/Caption": {
            "title": "$:/language/ControlPanel/EditorTypes/Caption",
            "text": "Editortyper"
        },
        "$:/language/ControlPanel/EditorTypes/Editor/Caption": {
            "title": "$:/language/ControlPanel/EditorTypes/Editor/Caption",
            "text": "Editor"
        },
        "$:/language/ControlPanel/EditorTypes/Hint": {
            "title": "$:/language/ControlPanel/EditorTypes/Hint",
            "text": "Disse tiddlere bestemmer hvilken editor der bruges til at redigere specifikke tiddler typer."
        },
        "$:/language/ControlPanel/EditorTypes/Type/Caption": {
            "title": "$:/language/ControlPanel/EditorTypes/Type/Caption",
            "text": "Type"
        },
        "$:/language/ControlPanel/Info/Caption": {
            "title": "$:/language/ControlPanel/Info/Caption",
            "text": "Info"
        },
        "$:/language/ControlPanel/Info/Hint": {
            "title": "$:/language/ControlPanel/Info/Hint",
            "text": "Information om denne TiddlyWiki"
        },
        "$:/language/ControlPanel/KeyboardShortcuts/Add/Caption": {
            "title": "$:/language/ControlPanel/KeyboardShortcuts/Add/Caption",
            "text": "Tilføj genvej"
        },
        "$:/language/ControlPanel/KeyboardShortcuts/Add/Prompt": {
            "title": "$:/language/ControlPanel/KeyboardShortcuts/Add/Prompt",
            "text": "Skriv genvej her"
        },
        "$:/language/ControlPanel/KeyboardShortcuts/Caption": {
            "title": "$:/language/ControlPanel/KeyboardShortcuts/Caption",
            "text": "Tastatur genveje"
        },
        "$:/language/ControlPanel/KeyboardShortcuts/Hint": {
            "title": "$:/language/ControlPanel/KeyboardShortcuts/Hint",
            "text": "Administrér tastatur genvejs tilknytninger"
        },
        "$:/language/ControlPanel/KeyboardShortcuts/NoShortcuts/Caption": {
            "title": "$:/language/ControlPanel/KeyboardShortcuts/NoShortcuts/Caption",
            "text": "Ingen tastatur genveje tilknyttet"
        },
        "$:/language/ControlPanel/KeyboardShortcuts/Platform/All": {
            "title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/All",
            "text": "Alle platforme"
        },
        "$:/language/ControlPanel/KeyboardShortcuts/Platform/Linux": {
            "title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/Linux",
            "text": "Linux platform udelukkende"
        },
        "$:/language/ControlPanel/KeyboardShortcuts/Platform/Mac": {
            "title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/Mac",
            "text": "Macintosh platform udelukkende"
        },
        "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonLinux": {
            "title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonLinux",
            "text": "Ikke-Linux platforme udelukkende"
        },
        "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonMac": {
            "title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonMac",
            "text": "Ikke-Macintosh platforme udelukkende"
        },
        "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonWindows": {
            "title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonWindows",
            "text": "Ikke-Windows platforme udelukkende"
        },
        "$:/language/ControlPanel/KeyboardShortcuts/Platform/Windows": {
            "title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/Windows",
            "text": "Windows platform udelukkende"
        },
        "$:/language/ControlPanel/KeyboardShortcuts/Remove/Hint": {
            "title": "$:/language/ControlPanel/KeyboardShortcuts/Remove/Hint",
            "text": "fjern tastatur genvej"
        },
        "$:/language/ControlPanel/LoadedModules/Caption": {
            "title": "$:/language/ControlPanel/LoadedModules/Caption",
            "text": "Indlæste moduler"
        },
        "$:/language/ControlPanel/LoadedModules/Hint": {
            "title": "$:/language/ControlPanel/LoadedModules/Hint",
            "text": "Dette er de aktuelt indlæste tiddlermoduler der linkes til deres kildetiddlere. Alle moduler med kursiv mangler en kildetiddler, typisk fordi de blev sat op under bootprocessen."
        },
        "$:/language/ControlPanel/Palette/Caption": {
            "title": "$:/language/ControlPanel/Palette/Caption",
            "text": "Palette"
        },
        "$:/language/ControlPanel/Palette/Editor/Clone/Caption": {
            "title": "$:/language/ControlPanel/Palette/Editor/Clone/Caption",
            "text": "klon"
        },
        "$:/language/ControlPanel/Palette/Editor/Clone/Prompt": {
            "title": "$:/language/ControlPanel/Palette/Editor/Clone/Prompt",
            "text": "Det anbefales at du kloner denne skyggepalette før du redigerer den"
        },
        "$:/language/ControlPanel/Palette/Editor/Prompt": {
            "title": "$:/language/ControlPanel/Palette/Editor/Prompt",
            "text": "Redigering"
        },
        "$:/language/ControlPanel/Palette/Editor/Prompt/Modified": {
            "title": "$:/language/ControlPanel/Palette/Editor/Prompt/Modified",
            "text": "Denne skyggepalette er blevet ændret"
        },
        "$:/language/ControlPanel/Palette/Editor/Reset/Caption": {
            "title": "$:/language/ControlPanel/Palette/Editor/Reset/Caption",
            "text": "nulstil"
        },
        "$:/language/ControlPanel/Palette/HideEditor/Caption": {
            "title": "$:/language/ControlPanel/Palette/HideEditor/Caption",
            "text": "skjul editor"
        },
        "$:/language/ControlPanel/Palette/Prompt": {
            "title": "$:/language/ControlPanel/Palette/Prompt",
            "text": "Aktuel palette:"
        },
        "$:/language/ControlPanel/Palette/ShowEditor/Caption": {
            "title": "$:/language/ControlPanel/Palette/ShowEditor/Caption",
            "text": "vis editor"
        },
        "$:/language/ControlPanel/Parsing/Block/Caption": {
            "title": "$:/language/ControlPanel/Parsing/Block/Caption",
            "text": "Blok Parse regler"
        },
        "$:/language/ControlPanel/Parsing/Hint": {
            "title": "$:/language/ControlPanel/Parsing/Hint",
            "text": "Her kan du globalt slå individuelle wiki parser regler fra. Vær påpasselig, da det at slå nogle parser regler fra, kan hindre ~TiddlyWiki i at fungere korrekt (du kan genskabe  normal funktion med [[safe mode|https://tiddlywiki.com/#SafeMode]] )"
        },
        "$:/language/ControlPanel/Parsing/Inline/Caption": {
            "title": "$:/language/ControlPanel/Parsing/Inline/Caption",
            "text": "Inline Parse regler"
        },
        "$:/language/ControlPanel/Parsing/Pragma/Caption": {
            "title": "$:/language/ControlPanel/Parsing/Pragma/Caption",
            "text": "Pragma Parse regler"
        },
        "$:/language/ControlPanel/Plugins/Add/Caption": {
            "title": "$:/language/ControlPanel/Plugins/Add/Caption",
            "text": "Få flere udvidelser"
        },
        "$:/language/ControlPanel/Plugins/Add/Hint": {
            "title": "$:/language/ControlPanel/Plugins/Add/Hint",
            "text": "Installér udvidelser fra det officielle bibliotek"
        },
        "$:/language/ControlPanel/Plugins/AlreadyInstalled/Hint": {
            "title": "$:/language/ControlPanel/Plugins/AlreadyInstalled/Hint",
            "text": "Dette plugin er allerede installeret i version <$text text=<<installedVersion>>/>"
        },
        "$:/language/ControlPanel/Plugins/Caption": {
            "title": "$:/language/ControlPanel/Plugins/Caption",
            "text": "Udvidelser"
        },
        "$:/language/ControlPanel/Plugins/Disable/Caption": {
            "title": "$:/language/ControlPanel/Plugins/Disable/Caption",
            "text": "slå fra"
        },
        "$:/language/ControlPanel/Plugins/Disable/Hint": {
            "title": "$:/language/ControlPanel/Plugins/Disable/Hint",
            "text": "Slå denne udvidelse fra, når siden genindlæses"
        },
        "$:/language/ControlPanel/Plugins/Disabled/Status": {
            "title": "$:/language/ControlPanel/Plugins/Disabled/Status",
            "text": "(slået fra)"
        },
        "$:/language/ControlPanel/Plugins/Empty/Hint": {
            "title": "$:/language/ControlPanel/Plugins/Empty/Hint",
            "text": "Ingen"
        },
        "$:/language/ControlPanel/Plugins/Enable/Caption": {
            "title": "$:/language/ControlPanel/Plugins/Enable/Caption",
            "text": "Slå til"
        },
        "$:/language/ControlPanel/Plugins/Enable/Hint": {
            "title": "$:/language/ControlPanel/Plugins/Enable/Hint",
            "text": "Slå denne udvidelse til, når siden genindlæses"
        },
        "$:/language/ControlPanel/Plugins/Install/Caption": {
            "title": "$:/language/ControlPanel/Plugins/Install/Caption",
            "text": "installér"
        },
        "$:/language/ControlPanel/Plugins/Installed/Hint": {
            "title": "$:/language/ControlPanel/Plugins/Installed/Hint",
            "text": "Aktuelt installerede udvidelser:"
        },
        "$:/language/ControlPanel/Plugins/Language/Prompt": {
            "title": "$:/language/ControlPanel/Plugins/Language/Prompt",
            "text": "Sprog"
        },
        "$:/language/ControlPanel/Plugins/Languages/Caption": {
            "title": "$:/language/ControlPanel/Plugins/Languages/Caption",
            "text": "Sprog"
        },
        "$:/language/ControlPanel/Plugins/Languages/Hint": {
            "title": "$:/language/ControlPanel/Plugins/Languages/Hint",
            "text": "Sprogpakkeudvidelser"
        },
        "$:/language/ControlPanel/Plugins/NoInfoFound/Hint": {
            "title": "$:/language/ControlPanel/Plugins/NoInfoFound/Hint",
            "text": "Ingen ''\"<$text text=<<currentTab>>/>\"'' fundet"
        },
        "$:/language/ControlPanel/Plugins/NotInstalled/Hint": {
            "title": "$:/language/ControlPanel/Plugins/NotInstalled/Hint",
            "text": "Dette plugin er ikke aktuelt installeret"
        },
        "$:/language/ControlPanel/Plugins/OpenPluginLibrary": {
            "title": "$:/language/ControlPanel/Plugins/OpenPluginLibrary",
            "text": "Åbn plugin bibliotek"
        },
        "$:/language/ControlPanel/Plugins/Plugin/Prompt": {
            "title": "$:/language/ControlPanel/Plugins/Plugin/Prompt",
            "text": "Udvidelser"
        },
        "$:/language/ControlPanel/Plugins/Plugins/Caption": {
            "title": "$:/language/ControlPanel/Plugins/Plugins/Caption",
            "text": "Udvidelser"
        },
        "$:/language/ControlPanel/Plugins/Plugins/Hint": {
            "title": "$:/language/ControlPanel/Plugins/Plugins/Hint",
            "text": "Udvidelser"
        },
        "$:/language/ControlPanel/Plugins/Reinstall/Caption": {
            "title": "$:/language/ControlPanel/Plugins/Reinstall/Caption",
            "text": "geninstallér"
        },
        "$:/language/ControlPanel/Plugins/Theme/Prompt": {
            "title": "$:/language/ControlPanel/Plugins/Theme/Prompt",
            "text": "Temaer"
        },
        "$:/language/ControlPanel/Plugins/Themes/Caption": {
            "title": "$:/language/ControlPanel/Plugins/Themes/Caption",
            "text": "Temaer"
        },
        "$:/language/ControlPanel/Plugins/Themes/Hint": {
            "title": "$:/language/ControlPanel/Plugins/Themes/Hint",
            "text": "Tema udvidelser"
        },
        "$:/language/ControlPanel/Saving/Caption": {
            "title": "$:/language/ControlPanel/Saving/Caption",
            "text": "Gemning"
        },
        "$:/language/ControlPanel/Saving/Heading": {
            "title": "$:/language/ControlPanel/Saving/Heading",
            "text": "Gemning"
        },
        "$:/language/ControlPanel/Saving/TiddlySpot/Advanced/Heading": {
            "title": "$:/language/ControlPanel/Saving/TiddlySpot/Advanced/Heading",
            "text": "Avancerede indstillinger"
        },
        "$:/language/ControlPanel/Saving/TiddlySpot/BackupDir": {
            "title": "$:/language/ControlPanel/Saving/TiddlySpot/BackupDir",
            "text": "Backupmappe"
        },
        "$:/language/ControlPanel/Saving/TiddlySpot/Backups": {
            "title": "$:/language/ControlPanel/Saving/TiddlySpot/Backups",
            "text": "Backups"
        },
        "$:/language/ControlPanel/Saving/TiddlySpot/Description": {
            "title": "$:/language/ControlPanel/Saving/TiddlySpot/Description",
            "text": "Disse indstillinger bruges kun, når der gemmes til http://tiddlyspot.com eller en kompatibel server"
        },
        "$:/language/ControlPanel/Saving/TiddlySpot/Filename": {
            "title": "$:/language/ControlPanel/Saving/TiddlySpot/Filename",
            "text": "Upload filnavn"
        },
        "$:/language/ControlPanel/Saving/TiddlySpot/Heading": {
            "title": "$:/language/ControlPanel/Saving/TiddlySpot/Heading",
            "text": "~TiddlySpot"
        },
        "$:/language/ControlPanel/Saving/TiddlySpot/Hint": {
            "title": "$:/language/ControlPanel/Saving/TiddlySpot/Hint",
            "text": "//The server URL forfalder til `http://<wikiname>.tiddlyspot.com/store.cgi` og kan ændres til en tilpasset  serveradresse//"
        },
        "$:/language/ControlPanel/Saving/TiddlySpot/Password": {
            "title": "$:/language/ControlPanel/Saving/TiddlySpot/Password",
            "text": "Adgangskode"
        },
        "$:/language/ControlPanel/Saving/TiddlySpot/ServerURL": {
            "title": "$:/language/ControlPanel/Saving/TiddlySpot/ServerURL",
            "text": "Server URL"
        },
        "$:/language/ControlPanel/Saving/TiddlySpot/UploadDir": {
            "title": "$:/language/ControlPanel/Saving/TiddlySpot/UploadDir",
            "text": "Uploadmappe"
        },
        "$:/language/ControlPanel/Saving/TiddlySpot/UserName": {
            "title": "$:/language/ControlPanel/Saving/TiddlySpot/UserName",
            "text": "Wikinavn"
        },
        "$:/language/ControlPanel/Settings/AutoSave/Caption": {
            "title": "$:/language/ControlPanel/Settings/AutoSave/Caption",
            "text": "Automatisk gemning"
        },
        "$:/language/ControlPanel/Settings/AutoSave/Disabled/Description": {
            "title": "$:/language/ControlPanel/Settings/AutoSave/Disabled/Description",
            "text": "Gem ikke ændringer automatisk"
        },
        "$:/language/ControlPanel/Settings/AutoSave/Enabled/Description": {
            "title": "$:/language/ControlPanel/Settings/AutoSave/Enabled/Description",
            "text": "Gem ændringer atomatisk"
        },
        "$:/language/ControlPanel/Settings/AutoSave/Hint": {
            "title": "$:/language/ControlPanel/Settings/AutoSave/Hint",
            "text": "Gem automatisk ændringer i løbet af redigeringen"
        },
        "$:/language/ControlPanel/Settings/CamelCase/Description": {
            "title": "$:/language/ControlPanel/Settings/CamelCase/Description",
            "text": "Slå automatisk ~CamelCase linking til"
        },
        "$:/language/ControlPanel/Settings/CamelCase/Hint": {
            "title": "$:/language/ControlPanel/Settings/CamelCase/Hint",
            "text": "Du kan globalt slå automatisk linking af ~CamelCase fraser fra. Kræver genindlæsning for at tage effekt."
        },
        "$:/language/ControlPanel/Settings/Caption": {
            "title": "$:/language/ControlPanel/Settings/Caption",
            "text": "Indstillinger"
        },
        "$:/language/ControlPanel/Settings/DefaultSidebarTab/Caption": {
            "title": "$:/language/ControlPanel/Settings/DefaultSidebarTab/Caption",
            "text": "Standard Sidepanelsfane"
        },
        "$:/language/ControlPanel/Settings/DefaultSidebarTab/Hint": {
            "title": "$:/language/ControlPanel/Settings/DefaultSidebarTab/Hint",
            "text": "Specificér hvilken sidepanelsfane der vises som standard"
        },
        "$:/language/ControlPanel/Settings/Hint": {
            "title": "$:/language/ControlPanel/Settings/Hint",
            "text": "Disse indstillinger lader dig tilpasse din  TiddlyWikis opførsel."
        },
        "$:/language/ControlPanel/Settings/InfoPanelMode/Hint": {
            "title": "$:/language/ControlPanel/Settings/InfoPanelMode/Hint",
            "text": "Kontrol når info panelet lukkes:"
        },
        "$:/language/ControlPanel/Settings/InfoPanelMode/Popup/Description": {
            "title": "$:/language/ControlPanel/Settings/InfoPanelMode/Popup/Description",
            "text": "Tiddler info panel lukkes automatisk"
        },
        "$:/language/ControlPanel/Settings/InfoPanelMode/Sticky/Description": {
            "title": "$:/language/ControlPanel/Settings/InfoPanelMode/Sticky/Description",
            "text": "Tiddler info panel forbliver åbent indtil det udtrykkeligt lukkes"
        },
        "$:/language/ControlPanel/Settings/LinkToBehaviour/Caption": {
            "title": "$:/language/ControlPanel/Settings/LinkToBehaviour/Caption",
            "text": "Tiddler åbnings adfærd"
        },
        "$:/language/ControlPanel/Settings/LinkToBehaviour/InsideRiver/Hint": {
            "title": "$:/language/ControlPanel/Settings/LinkToBehaviour/InsideRiver/Hint",
            "text": "Navigation fra //indefra// the story river"
        },
        "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAbove": {
            "title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAbove",
            "text": "Åben ovenover den aktuelle tiddler"
        },
        "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtBottom": {
            "title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtBottom",
            "text": "Åbn i bunden af story river"
        },
        "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtTop": {
            "title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtTop",
            "text": "Åbn i toppen af story river"
        },
        "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenBelow": {
            "title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenBelow",
            "text": "Åbn nedenunder den aktuelle tiddler"
        },
        "$:/language/ControlPanel/Settings/LinkToBehaviour/OutsideRiver/Hint": {
            "title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OutsideRiver/Hint",
            "text": "Navigation fra //udenfor// the story river"
        },
        "$:/language/ControlPanel/Settings/MissingLinks/Description": {
            "title": "$:/language/ControlPanel/Settings/MissingLinks/Description",
            "text": "Tillad links til manglende tiddlere"
        },
        "$:/language/ControlPanel/Settings/MissingLinks/Hint": {
            "title": "$:/language/ControlPanel/Settings/MissingLinks/Hint",
            "text": "Vælg om der skal linkes til tiddlere som ikke eksisterer endnu"
        },
        "$:/language/ControlPanel/Settings/NavigationAddressBar/Caption": {
            "title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Caption",
            "text": "Navigationsadressefelt"
        },
        "$:/language/ControlPanel/Settings/NavigationAddressBar/Hint": {
            "title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Hint",
            "text": "Opførsel i browserens adresssefelt ved navigering til en tiddler:"
        },
        "$:/language/ControlPanel/Settings/NavigationAddressBar/No/Description": {
            "title": "$:/language/ControlPanel/Settings/NavigationAddressBar/No/Description",
            "text": "Opdatér ikke adressefeltet"
        },
        "$:/language/ControlPanel/Settings/NavigationAddressBar/Permalink/Description": {
            "title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Permalink/Description",
            "text": "Inkludér måltiddleren"
        },
        "$:/language/ControlPanel/Settings/NavigationAddressBar/Permaview/Description": {
            "title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Permaview/Description",
            "text": "Inkludér måltiddleren og den aktuelle historiesekvens"
        },
        "$:/language/ControlPanel/Settings/NavigationHistory/Caption": {
            "title": "$:/language/ControlPanel/Settings/NavigationHistory/Caption",
            "text": "Navigationshistorie"
        },
        "$:/language/ControlPanel/Settings/NavigationHistory/Hint": {
            "title": "$:/language/ControlPanel/Settings/NavigationHistory/Hint",
            "text": "Opdatér browserhistorikken, når der navigeres til en tiddler:"
        },
        "$:/language/ControlPanel/Settings/NavigationHistory/No/Description": {
            "title": "$:/language/ControlPanel/Settings/NavigationHistory/No/Description",
            "text": "Opdatér ikke historie"
        },
        "$:/language/ControlPanel/Settings/NavigationHistory/Yes/Description": {
            "title": "$:/language/ControlPanel/Settings/NavigationHistory/Yes/Description",
            "text": "Opdatér historik"
        },
        "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Caption": {
            "title": "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Caption",
            "text": "Ydelses instrumentering"
        },
        "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Description": {
            "title": "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Description",
            "text": "Tillad ydelses instrumentering"
        },
        "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Hint": {
            "title": "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Hint",
            "text": "Viser ydelses statistikker i browserens udvikler konsol. Kræver genindlæsning for at få effekt"
        },
        "$:/language/ControlPanel/Settings/TitleLinks/Caption": {
            "title": "$:/language/ControlPanel/Settings/TitleLinks/Caption",
            "text": "Tiddler titler"
        },
        "$:/language/ControlPanel/Settings/TitleLinks/Hint": {
            "title": "$:/language/ControlPanel/Settings/TitleLinks/Hint",
            "text": "Valgfri visning af tiddler tiddler som links"
        },
        "$:/language/ControlPanel/Settings/TitleLinks/No/Description": {
            "title": "$:/language/ControlPanel/Settings/TitleLinks/No/Description",
            "text": "Vis ikke tiddler titler som links"
        },
        "$:/language/ControlPanel/Settings/TitleLinks/Yes/Description": {
            "title": "$:/language/ControlPanel/Settings/TitleLinks/Yes/Description",
            "text": "Vis tiddler titler som links"
        },
        "$:/language/ControlPanel/Settings/ToolbarButtons/Caption": {
            "title": "$:/language/ControlPanel/Settings/ToolbarButtons/Caption",
            "text": "Værktøjslinieknapper"
        },
        "$:/language/ControlPanel/Settings/ToolbarButtons/Hint": {
            "title": "$:/language/ControlPanel/Settings/ToolbarButtons/Hint",
            "text": "Standard udseende af værktøjslinieknap:"
        },
        "$:/language/ControlPanel/Settings/ToolbarButtons/Icons/Description": {
            "title": "$:/language/ControlPanel/Settings/ToolbarButtons/Icons/Description",
            "text": "Inkludér ikon"
        },
        "$:/language/ControlPanel/Settings/ToolbarButtons/Text/Description": {
            "title": "$:/language/ControlPanel/Settings/ToolbarButtons/Text/Description",
            "text": "Inkludér tekst"
        },
        "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Caption": {
            "title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Caption",
            "text": "Værktøjslinie knap stil"
        },
        "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Hint": {
            "title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Hint",
            "text": "Vælg stil for værktøjslinie knapper:"
        },
        "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Borderless": {
            "title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Borderless",
            "text": "Rammeløs"
        },
        "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Boxed": {
            "title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Boxed",
            "text": "Indrammet"
        },
        "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Rounded": {
            "title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Rounded",
            "text": "Afrundet"
        },
        "$:/language/ControlPanel/StoryView/Caption": {
            "title": "$:/language/ControlPanel/StoryView/Caption",
            "text": "Historievisning"
        },
        "$:/language/ControlPanel/StoryView/Prompt": {
            "title": "$:/language/ControlPanel/StoryView/Prompt",
            "text": "Aktuel visning:"
        },
        "$:/language/ControlPanel/Theme/Caption": {
            "title": "$:/language/ControlPanel/Theme/Caption",
            "text": "Tema"
        },
        "$:/language/ControlPanel/Theme/Prompt": {
            "title": "$:/language/ControlPanel/Theme/Prompt",
            "text": "Aktuelt tema"
        },
        "$:/language/ControlPanel/TiddlerFields/Caption": {
            "title": "$:/language/ControlPanel/TiddlerFields/Caption",
            "text": "Tiddler felter"
        },
        "$:/language/ControlPanel/TiddlerFields/Hint": {
            "title": "$:/language/ControlPanel/TiddlerFields/Hint",
            "text": "Dette er alle de TiddlerFelter der er i brug i denne wiki (inklusive systemtiddlere men eksklusive skyggetiddlere)."
        },
        "$:/language/ControlPanel/Toolbars/Caption": {
            "title": "$:/language/ControlPanel/Toolbars/Caption",
            "text": "Værktøjslinier"
        },
        "$:/language/ControlPanel/Toolbars/EditorToolbar/Caption": {
            "title": "$:/language/ControlPanel/Toolbars/EditorToolbar/Caption",
            "text": "Editor værktøjslinie"
        },
        "$:/language/ControlPanel/Toolbars/EditorToolbar/Hint": {
            "title": "$:/language/ControlPanel/Toolbars/EditorToolbar/Hint",
            "text": "Vælg hvilke knapper der vises i editorens værktøjslinie. Bemærk at nogen knapper kun vises, når der redigeres tiddlere af en bestemt type"
        },
        "$:/language/ControlPanel/Toolbars/EditToolbar/Caption": {
            "title": "$:/language/ControlPanel/Toolbars/EditToolbar/Caption",
            "text": "Redigeringsværktøjslinie"
        },
        "$:/language/ControlPanel/Toolbars/EditToolbar/Hint": {
            "title": "$:/language/ControlPanel/Toolbars/EditToolbar/Hint",
            "text": "Vælg hvilke knapper der vises i tiddlere i redigeringstilstand"
        },
        "$:/language/ControlPanel/Toolbars/Hint": {
            "title": "$:/language/ControlPanel/Toolbars/Hint",
            "text": "Vælg hvilke værktøjslinieknapper der vises"
        },
        "$:/language/ControlPanel/Toolbars/PageControls/Caption": {
            "title": "$:/language/ControlPanel/Toolbars/PageControls/Caption",
            "text": "Sideværktøjslinie"
        },
        "$:/language/ControlPanel/Toolbars/PageControls/Hint": {
            "title": "$:/language/ControlPanel/Toolbars/PageControls/Hint",
            "text": "Vælg hvilke knapper der vises på hovedsideværktøjslinien"
        },
        "$:/language/ControlPanel/Toolbars/ViewToolbar/Caption": {
            "title": "$:/language/ControlPanel/Toolbars/ViewToolbar/Caption",
            "text": "Læseværktøjslinie"
        },
        "$:/language/ControlPanel/Toolbars/ViewToolbar/Hint": {
            "title": "$:/language/ControlPanel/Toolbars/ViewToolbar/Hint",
            "text": "Vælg hvilke knapper der vises i tiddlere i læsetilstand"
        },
        "$:/language/ControlPanel/Tools/Download/Full/Caption": {
            "title": "$:/language/ControlPanel/Tools/Download/Full/Caption",
            "text": "Hent hele wikien"
        },
        "$:/core/readme": {
            "title": "$:/core/readme",
            "text": ""
        },
        "$:/language/Date/DaySuffix/1": {
            "title": "$:/language/Date/DaySuffix/1",
            "text": "."
        },
        "$:/language/Date/DaySuffix/10": {
            "title": "$:/language/Date/DaySuffix/10",
            "text": "."
        },
        "$:/language/Date/DaySuffix/11": {
            "title": "$:/language/Date/DaySuffix/11",
            "text": "."
        },
        "$:/language/Date/DaySuffix/12": {
            "title": "$:/language/Date/DaySuffix/12",
            "text": "."
        },
        "$:/language/Date/DaySuffix/13": {
            "title": "$:/language/Date/DaySuffix/13",
            "text": "."
        },
        "$:/language/Date/DaySuffix/14": {
            "title": "$:/language/Date/DaySuffix/14",
            "text": "."
        },
        "$:/language/Date/DaySuffix/15": {
            "title": "$:/language/Date/DaySuffix/15",
            "text": "."
        },
        "$:/language/Date/DaySuffix/16": {
            "title": "$:/language/Date/DaySuffix/16",
            "text": "."
        },
        "$:/language/Date/DaySuffix/17": {
            "title": "$:/language/Date/DaySuffix/17",
            "text": "."
        },
        "$:/language/Date/DaySuffix/18": {
            "title": "$:/language/Date/DaySuffix/18",
            "text": "."
        },
        "$:/language/Date/DaySuffix/19": {
            "title": "$:/language/Date/DaySuffix/19",
            "text": "."
        },
        "$:/language/Date/DaySuffix/2": {
            "title": "$:/language/Date/DaySuffix/2",
            "text": "."
        },
        "$:/language/Date/DaySuffix/20": {
            "title": "$:/language/Date/DaySuffix/20",
            "text": "."
        },
        "$:/language/Date/DaySuffix/21": {
            "title": "$:/language/Date/DaySuffix/21",
            "text": "."
        },
        "$:/language/Date/DaySuffix/22": {
            "title": "$:/language/Date/DaySuffix/22",
            "text": "."
        },
        "$:/language/Date/DaySuffix/23": {
            "title": "$:/language/Date/DaySuffix/23",
            "text": "."
        },
        "$:/language/Date/DaySuffix/24": {
            "title": "$:/language/Date/DaySuffix/24",
            "text": "."
        },
        "$:/language/Date/DaySuffix/25": {
            "title": "$:/language/Date/DaySuffix/25",
            "text": "."
        },
        "$:/language/Date/DaySuffix/26": {
            "title": "$:/language/Date/DaySuffix/26",
            "text": "."
        },
        "$:/language/Date/DaySuffix/27": {
            "title": "$:/language/Date/DaySuffix/27",
            "text": "."
        },
        "$:/language/Date/DaySuffix/28": {
            "title": "$:/language/Date/DaySuffix/28",
            "text": "."
        },
        "$:/language/Date/DaySuffix/29": {
            "title": "$:/language/Date/DaySuffix/29",
            "text": "."
        },
        "$:/language/Date/DaySuffix/3": {
            "title": "$:/language/Date/DaySuffix/3",
            "text": "."
        },
        "$:/language/Date/DaySuffix/30": {
            "title": "$:/language/Date/DaySuffix/30",
            "text": "."
        },
        "$:/language/Date/DaySuffix/31": {
            "title": "$:/language/Date/DaySuffix/31",
            "text": "."
        },
        "$:/language/Date/DaySuffix/4": {
            "title": "$:/language/Date/DaySuffix/4",
            "text": "."
        },
        "$:/language/Date/DaySuffix/5": {
            "title": "$:/language/Date/DaySuffix/5",
            "text": "."
        },
        "$:/language/Date/DaySuffix/6": {
            "title": "$:/language/Date/DaySuffix/6",
            "text": "."
        },
        "$:/language/Date/DaySuffix/7": {
            "title": "$:/language/Date/DaySuffix/7",
            "text": "."
        },
        "$:/language/Date/DaySuffix/8": {
            "title": "$:/language/Date/DaySuffix/8",
            "text": "."
        },
        "$:/language/Date/DaySuffix/9": {
            "title": "$:/language/Date/DaySuffix/9",
            "text": "."
        },
        "$:/language/Date/Long/Day/0": {
            "title": "$:/language/Date/Long/Day/0",
            "text": "søndag"
        },
        "$:/language/Date/Long/Day/1": {
            "title": "$:/language/Date/Long/Day/1",
            "text": "mandag"
        },
        "$:/language/Date/Long/Day/2": {
            "title": "$:/language/Date/Long/Day/2",
            "text": "tirsdag"
        },
        "$:/language/Date/Long/Day/3": {
            "title": "$:/language/Date/Long/Day/3",
            "text": "onsdag"
        },
        "$:/language/Date/Long/Day/4": {
            "title": "$:/language/Date/Long/Day/4",
            "text": "torsdag"
        },
        "$:/language/Date/Long/Day/5": {
            "title": "$:/language/Date/Long/Day/5",
            "text": "fredag"
        },
        "$:/language/Date/Long/Day/6": {
            "title": "$:/language/Date/Long/Day/6",
            "text": "lørdag"
        },
        "$:/language/Date/Long/Month/1": {
            "title": "$:/language/Date/Long/Month/1",
            "text": "januar"
        },
        "$:/language/Date/Long/Month/10": {
            "title": "$:/language/Date/Long/Month/10",
            "text": "oktober"
        },
        "$:/language/Date/Long/Month/11": {
            "title": "$:/language/Date/Long/Month/11",
            "text": "november"
        },
        "$:/language/Date/Long/Month/12": {
            "title": "$:/language/Date/Long/Month/12",
            "text": "december"
        },
        "$:/language/Date/Long/Month/2": {
            "title": "$:/language/Date/Long/Month/2",
            "text": "februar"
        },
        "$:/language/Date/Long/Month/3": {
            "title": "$:/language/Date/Long/Month/3",
            "text": "marts"
        },
        "$:/language/Date/Long/Month/4": {
            "title": "$:/language/Date/Long/Month/4",
            "text": "april"
        },
        "$:/language/Date/Long/Month/5": {
            "title": "$:/language/Date/Long/Month/5",
            "text": "maj"
        },
        "$:/language/Date/Long/Month/6": {
            "title": "$:/language/Date/Long/Month/6",
            "text": "juni"
        },
        "$:/language/Date/Long/Month/7": {
            "title": "$:/language/Date/Long/Month/7",
            "text": "juli"
        },
        "$:/language/Date/Long/Month/8": {
            "title": "$:/language/Date/Long/Month/8",
            "text": "august"
        },
        "$:/language/Date/Long/Month/9": {
            "title": "$:/language/Date/Long/Month/9",
            "text": "september"
        },
        "$:/language/Date/Period/am": {
            "title": "$:/language/Date/Period/am",
            "text": "am"
        },
        "$:/language/Date/Period/pm": {
            "title": "$:/language/Date/Period/pm",
            "text": "pm"
        },
        "$:/language/Date/Short/Day/0": {
            "title": "$:/language/Date/Short/Day/0",
            "text": "søn"
        },
        "$:/language/Date/Short/Day/1": {
            "title": "$:/language/Date/Short/Day/1",
            "text": "man"
        },
        "$:/language/Date/Short/Day/2": {
            "title": "$:/language/Date/Short/Day/2",
            "text": "tir"
        },
        "$:/language/Date/Short/Day/3": {
            "title": "$:/language/Date/Short/Day/3",
            "text": "ons"
        },
        "$:/language/Date/Short/Day/4": {
            "title": "$:/language/Date/Short/Day/4",
            "text": "tor"
        },
        "$:/language/Date/Short/Day/5": {
            "title": "$:/language/Date/Short/Day/5",
            "text": "fre"
        },
        "$:/language/Date/Short/Day/6": {
            "title": "$:/language/Date/Short/Day/6",
            "text": "lør"
        },
        "$:/language/Date/Short/Month/1": {
            "title": "$:/language/Date/Short/Month/1",
            "text": "jan"
        },
        "$:/language/Date/Short/Month/10": {
            "title": "$:/language/Date/Short/Month/10",
            "text": "okt"
        },
        "$:/language/Date/Short/Month/11": {
            "title": "$:/language/Date/Short/Month/11",
            "text": "nov"
        },
        "$:/language/Date/Short/Month/12": {
            "title": "$:/language/Date/Short/Month/12",
            "text": "dec"
        },
        "$:/language/Date/Short/Month/2": {
            "title": "$:/language/Date/Short/Month/2",
            "text": "feb"
        },
        "$:/language/Date/Short/Month/3": {
            "title": "$:/language/Date/Short/Month/3",
            "text": "mar"
        },
        "$:/language/Date/Short/Month/4": {
            "title": "$:/language/Date/Short/Month/4",
            "text": "apr"
        },
        "$:/language/Date/Short/Month/5": {
            "title": "$:/language/Date/Short/Month/5",
            "text": "maj"
        },
        "$:/language/Date/Short/Month/6": {
            "title": "$:/language/Date/Short/Month/6",
            "text": "jun"
        },
        "$:/language/Date/Short/Month/7": {
            "title": "$:/language/Date/Short/Month/7",
            "text": "jul"
        },
        "$:/language/Date/Short/Month/8": {
            "title": "$:/language/Date/Short/Month/8",
            "text": "aug"
        },
        "$:/language/Date/Short/Month/9": {
            "title": "$:/language/Date/Short/Month/9",
            "text": "sep"
        },
        "$:/language/RelativeDate/Future/Days": {
            "title": "$:/language/RelativeDate/Future/Days",
            "text": "om <<period>> dage"
        },
        "$:/language/RelativeDate/Future/Hours": {
            "title": "$:/language/RelativeDate/Future/Hours",
            "text": "om <<period>> timer"
        },
        "$:/language/RelativeDate/Future/Minutes": {
            "title": "$:/language/RelativeDate/Future/Minutes",
            "text": "om <<period>> minuter"
        },
        "$:/language/RelativeDate/Future/Months": {
            "title": "$:/language/RelativeDate/Future/Months",
            "text": "om <<period>> måneder"
        },
        "$:/language/RelativeDate/Future/Second": {
            "title": "$:/language/RelativeDate/Future/Second",
            "text": "om 1 sekund"
        },
        "$:/language/RelativeDate/Future/Seconds": {
            "title": "$:/language/RelativeDate/Future/Seconds",
            "text": "om <<period>> sekunder"
        },
        "$:/language/RelativeDate/Future/Years": {
            "title": "$:/language/RelativeDate/Future/Years",
            "text": "om <<period>> år"
        },
        "$:/language/RelativeDate/Past/Days": {
            "title": "$:/language/RelativeDate/Past/Days",
            "text": "for <<period>> dage siden"
        },
        "$:/language/RelativeDate/Past/Hours": {
            "title": "$:/language/RelativeDate/Past/Hours",
            "text": "for <<period>> timer siden"
        },
        "$:/language/RelativeDate/Past/Minutes": {
            "title": "$:/language/RelativeDate/Past/Minutes",
            "text": "for <<period>> minutter siden"
        },
        "$:/language/RelativeDate/Past/Months": {
            "title": "$:/language/RelativeDate/Past/Months",
            "text": "for <<period>> måneder siden"
        },
        "$:/language/RelativeDate/Past/Second": {
            "title": "$:/language/RelativeDate/Past/Second",
            "text": "for 1 sekund siden"
        },
        "$:/language/RelativeDate/Past/Seconds": {
            "title": "$:/language/RelativeDate/Past/Seconds",
            "text": "for <<period>> sekunder siden"
        },
        "$:/language/RelativeDate/Past/Years": {
            "title": "$:/language/RelativeDate/Past/Years",
            "text": "for <<period>> år siden"
        },
        "$:/language/Docs/ModuleTypes/allfilteroperator": {
            "title": "$:/language/Docs/ModuleTypes/allfilteroperator",
            "text": "En sub-operator for ''all'' filter operator."
        },
        "$:/language/Docs/ModuleTypes/animation": {
            "title": "$:/language/Docs/ModuleTypes/animation",
            "text": "Animationer kan bruges med RevealWidget."
        },
        "$:/language/Docs/ModuleTypes/bitmapeditoroperation": {
            "title": "$:/language/Docs/ModuleTypes/bitmapeditoroperation",
            "text": "En bitmap editor toolbar operation."
        },
        "$:/language/Docs/ModuleTypes/command": {
            "title": "$:/language/Docs/ModuleTypes/command",
            "text": "Kommandoer som kan køres under Node.js."
        },
        "$:/language/Docs/ModuleTypes/config": {
            "title": "$:/language/Docs/ModuleTypes/config",
            "text": "Data som indsættes i `$tw.config`."
        },
        "$:/language/Docs/ModuleTypes/filteroperator": {
            "title": "$:/language/Docs/ModuleTypes/filteroperator",
            "text": "Individuelle filter operator metoder."
        },
        "$:/language/Docs/ModuleTypes/global": {
            "title": "$:/language/Docs/ModuleTypes/global",
            "text": "Globale data som indsættes i `$tw`."
        },
        "$:/language/Docs/ModuleTypes/info": {
            "title": "$:/language/Docs/ModuleTypes/info",
            "text": "Publiserer system information via [[$:/temp/info-plugin]] pseudo-plugin."
        },
        "$:/language/Docs/ModuleTypes/isfilteroperator": {
            "title": "$:/language/Docs/ModuleTypes/isfilteroperator",
            "text": "Operander for  ''is'' filter operatoren."
        },
        "$:/language/Docs/ModuleTypes/library": {
            "title": "$:/language/Docs/ModuleTypes/library",
            "text": "Generisk modul type for general purpose JavaScript moduler."
        },
        "$:/language/Docs/ModuleTypes/macro": {
            "title": "$:/language/Docs/ModuleTypes/macro",
            "text": "JavaScript makro definitioner."
        },
        "$:/language/Docs/ModuleTypes/parser": {
            "title": "$:/language/Docs/ModuleTypes/parser",
            "text": "Parsere for forskellige indholdstyper.."
        },
        "$:/language/Docs/ModuleTypes/saver": {
            "title": "$:/language/Docs/ModuleTypes/saver",
            "text": "Gemmere håndterer forskellige metoder til at gemme filer fra browseren."
        },
        "$:/language/Docs/ModuleTypes/startup": {
            "title": "$:/language/Docs/ModuleTypes/startup",
            "text": "Opstartsfunktioner."
        },
        "$:/language/Docs/ModuleTypes/storyview": {
            "title": "$:/language/Docs/ModuleTypes/storyview",
            "text": "Historievisninger tilpasser animation og adfærd for liste widgets."
        },
        "$:/language/Docs/ModuleTypes/texteditoroperation": {
            "title": "$:/language/Docs/ModuleTypes/texteditoroperation",
            "text": "En text editor toolbar operation."
        },
        "$:/language/Docs/ModuleTypes/tiddlerdeserializer": {
            "title": "$:/language/Docs/ModuleTypes/tiddlerdeserializer",
            "text": "konverterer forskellige indholdstyper til tiddlere."
        },
        "$:/language/Docs/ModuleTypes/tiddlerfield": {
            "title": "$:/language/Docs/ModuleTypes/tiddlerfield",
            "text": "Definerer adfærden for et individuelt tiddler felt."
        },
        "$:/language/Docs/ModuleTypes/tiddlermethod": {
            "title": "$:/language/Docs/ModuleTypes/tiddlermethod",
            "text": "Føjer metoder til `$tw.Tiddler` prototypen."
        },
        "$:/language/Docs/ModuleTypes/upgrader": {
            "title": "$:/language/Docs/ModuleTypes/upgrader",
            "text": "Anvender opgraderingsforarbejdning af tiddlere under en opgradering / import."
        },
        "$:/language/Docs/ModuleTypes/utils": {
            "title": "$:/language/Docs/ModuleTypes/utils",
            "text": "Føjer metoder til `$tw.utils`."
        },
        "$:/language/Docs/ModuleTypes/utils-node": {
            "title": "$:/language/Docs/ModuleTypes/utils-node",
            "text": "Føjer Node.js-specifikke metoder til `$tw.utils`."
        },
        "$:/language/Docs/ModuleTypes/widget": {
            "title": "$:/language/Docs/ModuleTypes/widget",
            "text": "Widgets indkapsler DOM rendering og genopfriskning."
        },
        "$:/language/Docs/ModuleTypes/wikimethod": {
            "title": "$:/language/Docs/ModuleTypes/wikimethod",
            "text": "Føjer metoder til `$tw.Wiki`."
        },
        "$:/language/Docs/ModuleTypes/wikirule": {
            "title": "$:/language/Docs/ModuleTypes/wikirule",
            "text": "Individuelle parserregler for hoved WikiText parseren."
        },
        "$:/language/Docs/PaletteColours/alert-background": {
            "title": "$:/language/Docs/PaletteColours/alert-background",
            "text": "Advarselsbaggrund"
        },
        "$:/language/Docs/PaletteColours/alert-border": {
            "title": "$:/language/Docs/PaletteColours/alert-border",
            "text": "Advarselsramme"
        },
        "$:/language/Docs/PaletteColours/alert-highlight": {
            "title": "$:/language/Docs/PaletteColours/alert-highlight",
            "text": "Advarselsopmærkning"
        },
        "$:/language/Docs/PaletteColours/alert-muted-foreground": {
            "title": "$:/language/Docs/PaletteColours/alert-muted-foreground",
            "text": "Dæmpet advarselsforgrund"
        },
        "$:/language/Docs/PaletteColours/background": {
            "title": "$:/language/Docs/PaletteColours/background",
            "text": "Generel baggrund"
        },
        "$:/language/Docs/PaletteColours/blockquote-bar": {
            "title": "$:/language/Docs/PaletteColours/blockquote-bar",
            "text": "Blokcitatslinie"
        },
        "$:/language/Docs/PaletteColours/button-background": {
            "title": "$:/language/Docs/PaletteColours/button-background",
            "text": "Standard knap baggrund"
        },
        "$:/language/Docs/PaletteColours/button-border": {
            "title": "$:/language/Docs/PaletteColours/button-border",
            "text": "Standard knap ramme"
        },
        "$:/language/Docs/PaletteColours/button-foreground": {
            "title": "$:/language/Docs/PaletteColours/button-foreground",
            "text": "Standard knap forgrund"
        },
        "$:/language/Docs/PaletteColours/code-background": {
            "title": "$:/language/Docs/PaletteColours/code-background",
            "text": "Kodebaggrund"
        },
        "$:/language/Docs/PaletteColours/code-border": {
            "title": "$:/language/Docs/PaletteColours/code-border",
            "text": "Koderamme"
        },
        "$:/language/Docs/PaletteColours/code-foreground": {
            "title": "$:/language/Docs/PaletteColours/code-foreground",
            "text": "Kodeforgrund"
        },
        "$:/language/Docs/PaletteColours/dirty-indicator": {
            "title": "$:/language/Docs/PaletteColours/dirty-indicator",
            "text": "Indikator af ugemte ændringer"
        },
        "$:/language/Docs/PaletteColours/download-background": {
            "title": "$:/language/Docs/PaletteColours/download-background",
            "text": "Downloadknap baggrund"
        },
        "$:/language/Docs/PaletteColours/download-foreground": {
            "title": "$:/language/Docs/PaletteColours/download-foreground",
            "text": "Downloadknap forgrund"
        },
        "$:/language/Docs/PaletteColours/dragger-background": {
            "title": "$:/language/Docs/PaletteColours/dragger-background",
            "text": "Trækkerbaggrund"
        },
        "$:/language/Docs/PaletteColours/dragger-foreground": {
            "title": "$:/language/Docs/PaletteColours/dragger-foreground",
            "text": "Trækkerforgrund"
        },
        "$:/language/Docs/PaletteColours/dropdown-background": {
            "title": "$:/language/Docs/PaletteColours/dropdown-background",
            "text": "Rullemenubaggrund"
        },
        "$:/language/Docs/PaletteColours/dropdown-border": {
            "title": "$:/language/Docs/PaletteColours/dropdown-border",
            "text": "Rullemenuramme"
        },
        "$:/language/Docs/PaletteColours/dropdown-tab-background": {
            "title": "$:/language/Docs/PaletteColours/dropdown-tab-background",
            "text": "Fanebaggrund for rullemenu"
        },
        "$:/language/Docs/PaletteColours/dropdown-tab-background-selected": {
            "title": "$:/language/Docs/PaletteColours/dropdown-tab-background-selected",
            "text": "Rullemenuers fanebaggrund for valgte faner"
        },
        "$:/language/Docs/PaletteColours/dropzone-background": {
            "title": "$:/language/Docs/PaletteColours/dropzone-background",
            "text": "Dropzone baggrund"
        },
        "$:/language/Docs/PaletteColours/external-link-background": {
            "title": "$:/language/Docs/PaletteColours/external-link-background",
            "text": "Eksternt link baggrund"
        },
        "$:/language/Docs/PaletteColours/external-link-background-hover": {
            "title": "$:/language/Docs/PaletteColours/external-link-background-hover",
            "text": "Eksternt link baggrund når der peges"
        },
        "$:/language/Docs/PaletteColours/external-link-background-visited": {
            "title": "$:/language/Docs/PaletteColours/external-link-background-visited",
            "text": "Eksternt link baggrund besøgt"
        },
        "$:/language/Docs/PaletteColours/external-link-foreground": {
            "title": "$:/language/Docs/PaletteColours/external-link-foreground",
            "text": "Eksternt link forgrund"
        },
        "$:/language/Docs/PaletteColours/external-link-foreground-hover": {
            "title": "$:/language/Docs/PaletteColours/external-link-foreground-hover",
            "text": "Eksternt link forgrund når der peges"
        },
        "$:/language/Docs/PaletteColours/external-link-foreground-visited": {
            "title": "$:/language/Docs/PaletteColours/external-link-foreground-visited",
            "text": "Eksternt link forgrund besøgt"
        },
        "$:/language/Docs/PaletteColours/foreground": {
            "title": "$:/language/Docs/PaletteColours/foreground",
            "text": "Generel forgrund"
        },
        "$:/language/Docs/PaletteColours/message-background": {
            "title": "$:/language/Docs/PaletteColours/message-background",
            "text": "Beskedboks baggrund"
        },
        "$:/language/Docs/PaletteColours/message-border": {
            "title": "$:/language/Docs/PaletteColours/message-border",
            "text": "Beskedboks ramme"
        },
        "$:/language/Docs/PaletteColours/message-foreground": {
            "title": "$:/language/Docs/PaletteColours/message-foreground",
            "text": "Beskedboks forgrund"
        },
        "$:/language/Docs/PaletteColours/modal-backdrop": {
            "title": "$:/language/Docs/PaletteColours/modal-backdrop",
            "text": "Modal bagtæppe"
        },
        "$:/language/Docs/PaletteColours/modal-background": {
            "title": "$:/language/Docs/PaletteColours/modal-background",
            "text": "Modal baggrund"
        },
        "$:/language/Docs/PaletteColours/modal-border": {
            "title": "$:/language/Docs/PaletteColours/modal-border",
            "text": "Modal ramme"
        },
        "$:/language/Docs/PaletteColours/modal-footer-background": {
            "title": "$:/language/Docs/PaletteColours/modal-footer-background",
            "text": "Modal footer baggrund"
        },
        "$:/language/Docs/PaletteColours/modal-footer-border": {
            "title": "$:/language/Docs/PaletteColours/modal-footer-border",
            "text": "Modal footer ramme"
        },
        "$:/language/Docs/PaletteColours/modal-header-border": {
            "title": "$:/language/Docs/PaletteColours/modal-header-border",
            "text": "Modal header ramme"
        },
        "$:/language/Docs/PaletteColours/muted-foreground": {
            "title": "$:/language/Docs/PaletteColours/muted-foreground",
            "text": "Generel dæmpet forgrund"
        },
        "$:/language/Docs/PaletteColours/notification-background": {
            "title": "$:/language/Docs/PaletteColours/notification-background",
            "text": "Notifikationsbaggrund"
        },
        "$:/language/Docs/PaletteColours/notification-border": {
            "title": "$:/language/Docs/PaletteColours/notification-border",
            "text": "Notifikationsramme"
        },
        "$:/language/Docs/PaletteColours/page-background": {
            "title": "$:/language/Docs/PaletteColours/page-background",
            "text": "Side baggrund"
        },
        "$:/language/Docs/PaletteColours/pre-background": {
            "title": "$:/language/Docs/PaletteColours/pre-background",
            "text": "Præformateret kode baggrund"
        },
        "$:/language/Docs/PaletteColours/pre-border": {
            "title": "$:/language/Docs/PaletteColours/pre-border",
            "text": "Præformatteret kode ramme"
        },
        "$:/language/Docs/PaletteColours/primary": {
            "title": "$:/language/Docs/PaletteColours/primary",
            "text": "Generel primær"
        },
        "$:/language/Docs/PaletteColours/sidebar-button-foreground": {
            "title": "$:/language/Docs/PaletteColours/sidebar-button-foreground",
            "text": "Sidepanelets knap forgrund"
        },
        "$:/language/Docs/PaletteColours/sidebar-controls-foreground": {
            "title": "$:/language/Docs/PaletteColours/sidebar-controls-foreground",
            "text": "Sidepanelets kontroller forgrund"
        },
        "$:/language/Docs/PaletteColours/sidebar-controls-foreground-hover": {
            "title": "$:/language/Docs/PaletteColours/sidebar-controls-foreground-hover",
            "text": "Sidepanelets kontroller forgrund hover"
        },
        "$:/language/Docs/PaletteColours/sidebar-foreground": {
            "title": "$:/language/Docs/PaletteColours/sidebar-foreground",
            "text": "Sidepanelets forgrund"
        },
        "$:/language/Docs/PaletteColours/sidebar-foreground-shadow": {
            "title": "$:/language/Docs/PaletteColours/sidebar-foreground-shadow",
            "text": "Sidepanelets forgrund skygge"
        },
        "$:/language/Docs/PaletteColours/sidebar-muted-foreground": {
            "title": "$:/language/Docs/PaletteColours/sidebar-muted-foreground",
            "text": "Sidepanelets dæmpet forgrund"
        },
        "$:/language/Docs/PaletteColours/sidebar-muted-foreground-hover": {
            "title": "$:/language/Docs/PaletteColours/sidebar-muted-foreground-hover",
            "text": "Sidepanelets dæmpet forgrund når der peges"
        },
        "$:/language/Docs/PaletteColours/sidebar-tab-background": {
            "title": "$:/language/Docs/PaletteColours/sidebar-tab-background",
            "text": "Sidepanelets fane baggrund"
        },
        "$:/language/Docs/PaletteColours/sidebar-tab-background-selected": {
            "title": "$:/language/Docs/PaletteColours/sidebar-tab-background-selected",
            "text": "Sidepanelets fane baggrund for valgte faner"
        },
        "$:/language/Docs/PaletteColours/sidebar-tab-border": {
            "title": "$:/language/Docs/PaletteColours/sidebar-tab-border",
            "text": "Sidepanelets faneramme"
        },
        "$:/language/Docs/PaletteColours/sidebar-tab-border-selected": {
            "title": "$:/language/Docs/PaletteColours/sidebar-tab-border-selected",
            "text": "Sidepanelets fane ramme for valgte faner"
        },
        "$:/language/Docs/PaletteColours/sidebar-tab-divider": {
            "title": "$:/language/Docs/PaletteColours/sidebar-tab-divider",
            "text": "Sidepanelets fane deler"
        },
        "$:/language/Docs/PaletteColours/sidebar-tab-foreground": {
            "title": "$:/language/Docs/PaletteColours/sidebar-tab-foreground",
            "text": "Sidepanelets fane forgrund"
        },
        "$:/language/Docs/PaletteColours/sidebar-tab-foreground-selected": {
            "title": "$:/language/Docs/PaletteColours/sidebar-tab-foreground-selected",
            "text": "Sidepanelets fane forgrund for valgte faner"
        },
        "$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground": {
            "title": "$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground",
            "text": "Sidepanelets tiddler link forgrund"
        },
        "$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground-hover": {
            "title": "$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground-hover",
            "text": "Sidepanelets tiddler link forgrund når der peges"
        },
        "$:/language/Docs/PaletteColours/site-title-foreground": {
            "title": "$:/language/Docs/PaletteColours/site-title-foreground",
            "text": "Side titel forgrund"
        },
        "$:/language/Docs/PaletteColours/static-alert-foreground": {
            "title": "$:/language/Docs/PaletteColours/static-alert-foreground",
            "text": "Statisk advarsel forgrund"
        },
        "$:/language/Docs/PaletteColours/tab-background": {
            "title": "$:/language/Docs/PaletteColours/tab-background",
            "text": "Fanebaggrund"
        },
        "$:/language/Docs/PaletteColours/tab-background-selected": {
            "title": "$:/language/Docs/PaletteColours/tab-background-selected",
            "text": "Fanebaggrund for valgte faner"
        },
        "$:/language/Docs/PaletteColours/tab-border": {
            "title": "$:/language/Docs/PaletteColours/tab-border",
            "text": "Faneramme"
        },
        "$:/language/Docs/PaletteColours/tab-border-selected": {
            "title": "$:/language/Docs/PaletteColours/tab-border-selected",
            "text": "Faneramme for valgte faner"
        },
        "$:/language/Docs/PaletteColours/tab-divider": {
            "title": "$:/language/Docs/PaletteColours/tab-divider",
            "text": "Faneadskiller"
        },
        "$:/language/Docs/PaletteColours/tab-foreground": {
            "title": "$:/language/Docs/PaletteColours/tab-foreground",
            "text": "Faneforgrund"
        },
        "$:/language/Docs/PaletteColours/tab-foreground-selected": {
            "title": "$:/language/Docs/PaletteColours/tab-foreground-selected",
            "text": "Faneforgrund for valgte faner"
        },
        "$:/language/Docs/PaletteColours/table-border": {
            "title": "$:/language/Docs/PaletteColours/table-border",
            "text": "Tabelramme"
        },
        "$:/language/Docs/PaletteColours/table-footer-background": {
            "title": "$:/language/Docs/PaletteColours/table-footer-background",
            "text": "Tabelfod baggrund"
        },
        "$:/language/Docs/PaletteColours/table-header-background": {
            "title": "$:/language/Docs/PaletteColours/table-header-background",
            "text": "Tabelheader baggrund"
        },
        "$:/language/Docs/PaletteColours/tag-background": {
            "title": "$:/language/Docs/PaletteColours/tag-background",
            "text": "Tagbaggrund"
        },
        "$:/language/Docs/PaletteColours/tag-foreground": {
            "title": "$:/language/Docs/PaletteColours/tag-foreground",
            "text": "Tagforgrund"
        },
        "$:/language/Docs/PaletteColours/tiddler-background": {
            "title": "$:/language/Docs/PaletteColours/tiddler-background",
            "text": "Tiddlerbaggrund"
        },
        "$:/language/Docs/PaletteColours/tiddler-border": {
            "title": "$:/language/Docs/PaletteColours/tiddler-border",
            "text": "Tiddlerramme"
        },
        "$:/language/Docs/PaletteColours/tiddler-controls-foreground": {
            "title": "$:/language/Docs/PaletteColours/tiddler-controls-foreground",
            "text": "Tiddlerkontroller forgrund"
        },
        "$:/language/Docs/PaletteColours/tiddler-controls-foreground-hover": {
            "title": "$:/language/Docs/PaletteColours/tiddler-controls-foreground-hover",
            "text": "Tiddlerkontroller forgrund hover"
        },
        "$:/language/Docs/PaletteColours/tiddler-controls-foreground-selected": {
            "title": "$:/language/Docs/PaletteColours/tiddler-controls-foreground-selected",
            "text": "Tiddlerkontroller forgrund for valgte kontroller"
        },
        "$:/language/Docs/PaletteColours/tiddler-editor-background": {
            "title": "$:/language/Docs/PaletteColours/tiddler-editor-background",
            "text": "Tiddlereditor baggrund"
        },
        "$:/language/Docs/PaletteColours/tiddler-editor-border": {
            "title": "$:/language/Docs/PaletteColours/tiddler-editor-border",
            "text": "Tiddlereditor ramme"
        },
        "$:/language/Docs/PaletteColours/tiddler-editor-border-image": {
            "title": "$:/language/Docs/PaletteColours/tiddler-editor-border-image",
            "text": "Tiddlereditor ramme billede"
        },
        "$:/language/Docs/PaletteColours/tiddler-editor-fields-even": {
            "title": "$:/language/Docs/PaletteColours/tiddler-editor-fields-even",
            "text": "Tiddlereditor baggrund for lige felter"
        },
        "$:/language/Docs/PaletteColours/tiddler-editor-fields-odd": {
            "title": "$:/language/Docs/PaletteColours/tiddler-editor-fields-odd",
            "text": "Tiddlereditor baggrund for ulige felter"
        },
        "$:/language/Docs/PaletteColours/tiddler-info-background": {
            "title": "$:/language/Docs/PaletteColours/tiddler-info-background",
            "text": "Tiddler infopanel baggrund"
        },
        "$:/language/Docs/PaletteColours/tiddler-info-border": {
            "title": "$:/language/Docs/PaletteColours/tiddler-info-border",
            "text": "Tiddler infopanel ramme"
        },
        "$:/language/Docs/PaletteColours/tiddler-info-tab-background": {
            "title": "$:/language/Docs/PaletteColours/tiddler-info-tab-background",
            "text": "Tiddler infopanel fane baggrund"
        },
        "$:/language/Docs/PaletteColours/tiddler-link-background": {
            "title": "$:/language/Docs/PaletteColours/tiddler-link-background",
            "text": "Tiddler linkbaggrund"
        },
        "$:/language/Docs/PaletteColours/tiddler-link-foreground": {
            "title": "$:/language/Docs/PaletteColours/tiddler-link-foreground",
            "text": "Tiddler linkforgrund"
        },
        "$:/language/Docs/PaletteColours/tiddler-subtitle-foreground": {
            "title": "$:/language/Docs/PaletteColours/tiddler-subtitle-foreground",
            "text": "Tiddler undertitel forgrund"
        },
        "$:/language/Docs/PaletteColours/tiddler-title-foreground": {
            "title": "$:/language/Docs/PaletteColours/tiddler-title-foreground",
            "text": "Tiddler titel forgrund"
        },
        "$:/language/Docs/PaletteColours/toolbar-cancel-button": {
            "title": "$:/language/Docs/PaletteColours/toolbar-cancel-button",
            "text": "Værktøjslinie 'fortryd' knap forgrund"
        },
        "$:/language/Docs/PaletteColours/toolbar-close-button": {
            "title": "$:/language/Docs/PaletteColours/toolbar-close-button",
            "text": "Værktøjslinie 'luk' knap forgrund"
        },
        "$:/language/Docs/PaletteColours/toolbar-delete-button": {
            "title": "$:/language/Docs/PaletteColours/toolbar-delete-button",
            "text": "Værktøjslinie 'slet' knap forgrund"
        },
        "$:/language/Docs/PaletteColours/toolbar-done-button": {
            "title": "$:/language/Docs/PaletteColours/toolbar-done-button",
            "text": "Værktøjslinie 'gem' knap forgrund"
        },
        "$:/language/Docs/PaletteColours/toolbar-edit-button": {
            "title": "$:/language/Docs/PaletteColours/toolbar-edit-button",
            "text": "Værktøjslinie 'redigér' knap forgrund"
        },
        "$:/language/Docs/PaletteColours/toolbar-info-button": {
            "title": "$:/language/Docs/PaletteColours/toolbar-info-button",
            "text": "Værktøjslinie 'info' knap forgrund"
        },
        "$:/language/Docs/PaletteColours/toolbar-new-button": {
            "title": "$:/language/Docs/PaletteColours/toolbar-new-button",
            "text": "Værktøjslinie 'ny tiddler' knap forgrund"
        },
        "$:/language/Docs/PaletteColours/toolbar-options-button": {
            "title": "$:/language/Docs/PaletteColours/toolbar-options-button",
            "text": "Værktøjslinie 'valg' knap forgrund"
        },
        "$:/language/Docs/PaletteColours/toolbar-save-button": {
            "title": "$:/language/Docs/PaletteColours/toolbar-save-button",
            "text": "Værktøjslinie 'gem' knap forgrund"
        },
        "$:/language/Docs/PaletteColours/untagged-background": {
            "title": "$:/language/Docs/PaletteColours/untagged-background",
            "text": "Ukategoriseret pille baggrund"
        },
        "$:/language/Docs/PaletteColours/very-muted-foreground": {
            "title": "$:/language/Docs/PaletteColours/very-muted-foreground",
            "text": "Meget dæmpet forgrund"
        },
        "$:/language/EditTemplate/Body/External/Hint": {
            "title": "$:/language/EditTemplate/Body/External/Hint",
            "text": "Dette er en indlejret tiddler hentet fra et eksternt tiddlywikidokument. Du kan redigere tags og felter men kan ikke direkte redigere selve  indholdet"
        },
        "$:/language/EditTemplate/Body/Placeholder": {
            "title": "$:/language/EditTemplate/Body/Placeholder",
            "text": "Skriv denne tiddlers tekst"
        },
        "$:/language/EditTemplate/Field/Remove/Caption": {
            "title": "$:/language/EditTemplate/Field/Remove/Caption",
            "text": "fjern felt"
        },
        "$:/language/EditTemplate/Field/Remove/Hint": {
            "title": "$:/language/EditTemplate/Field/Remove/Hint",
            "text": "Fjern felt"
        },
        "$:/language/EditTemplate/Fields/Add/Button": {
            "title": "$:/language/EditTemplate/Fields/Add/Button",
            "text": "tilføj"
        },
        "$:/language/EditTemplate/Fields/Add/Dropdown/System": {
            "title": "$:/language/EditTemplate/Fields/Add/Dropdown/System",
            "text": "System felter"
        },
        "$:/language/EditTemplate/Fields/Add/Dropdown/User": {
            "title": "$:/language/EditTemplate/Fields/Add/Dropdown/User",
            "text": "Bruger felter"
        },
        "$:/language/EditTemplate/Fields/Add/Name/Placeholder": {
            "title": "$:/language/EditTemplate/Fields/Add/Name/Placeholder",
            "text": "felt navn"
        },
        "$:/language/EditTemplate/Fields/Add/Prompt": {
            "title": "$:/language/EditTemplate/Fields/Add/Prompt",
            "text": "Tilføj et nyt felt:"
        },
        "$:/language/EditTemplate/Fields/Add/Value/Placeholder": {
            "title": "$:/language/EditTemplate/Fields/Add/Value/Placeholder",
            "text": "feltværdi"
        },
        "$:/language/EditTemplate/Shadow/OverriddenWarning": {
            "title": "$:/language/EditTemplate/Shadow/OverriddenWarning",
            "text": "Dette er en ændret skyggetiddler. Du kan vende tilbage til standardversionen ved at slette denne tiddler"
        },
        "$:/language/EditTemplate/Shadow/Warning": {
            "title": "$:/language/EditTemplate/Shadow/Warning",
            "text": "Dette er en skyggetiddler. Enhver ændring vil overskrive standardversionen"
        },
        "$:/language/EditTemplate/Tags/Add/Button": {
            "title": "$:/language/EditTemplate/Tags/Add/Button",
            "text": "tilføj"
        },
        "$:/language/EditTemplate/Tags/Add/Placeholder": {
            "title": "$:/language/EditTemplate/Tags/Add/Placeholder",
            "text": "tagnavn"
        },
        "$:/language/EditTemplate/Tags/Dropdown/Caption": {
            "title": "$:/language/EditTemplate/Tags/Dropdown/Caption",
            "text": "tagliste"
        },
        "$:/language/EditTemplate/Tags/Dropdown/Hint": {
            "title": "$:/language/EditTemplate/Tags/Dropdown/Hint",
            "text": "Vis tagliste"
        },
        "$:/language/EditTemplate/Title/BadCharacterWarning": {
            "title": "$:/language/EditTemplate/Title/BadCharacterWarning",
            "text": "Advarsel: undgå alle at bruge nogen af disse bogstaver <<bad-chars>> i tiddler titler"
        },
        "$:/language/EditTemplate/Type/Delete/Caption": {
            "title": "$:/language/EditTemplate/Type/Delete/Caption",
            "text": "slet indholdstype"
        },
        "$:/language/EditTemplate/Type/Delete/Hint": {
            "title": "$:/language/EditTemplate/Type/Delete/Hint",
            "text": "Slet indholdstype"
        },
        "$:/language/EditTemplate/Type/Dropdown/Caption": {
            "title": "$:/language/EditTemplate/Type/Dropdown/Caption",
            "text": "indholdstypeliste"
        },
        "$:/language/EditTemplate/Type/Dropdown/Hint": {
            "title": "$:/language/EditTemplate/Type/Dropdown/Hint",
            "text": "Vis indholdstypeliste"
        },
        "$:/language/EditTemplate/Type/Placeholder": {
            "title": "$:/language/EditTemplate/Type/Placeholder",
            "text": "indholdstype"
        },
        "$:/language/EditTemplate/Type/Prompt": {
            "title": "$:/language/EditTemplate/Type/Prompt",
            "text": "Type:"
        },
        "$:/language/Exporters/CsvFile": {
            "title": "$:/language/Exporters/CsvFile",
            "text": "CSV tiddler fil"
        },
        "$:/language/Exporters/JsonFile": {
            "title": "$:/language/Exporters/JsonFile",
            "text": "JSON tiddler fil"
        },
        "$:/language/Exporters/StaticRiver": {
            "title": "$:/language/Exporters/StaticRiver",
            "text": "Statiske HTML tiddlere"
        },
        "$:/language/Exporters/TidFile": {
            "title": "$:/language/Exporters/TidFile",
            "text": "Enkelt tiddler \".tid\" fil"
        },
        "$:/language/Docs/Fields/_canonical_uri": {
            "title": "$:/language/Docs/Fields/_canonical_uri",
            "text": "Den fulde URI til en ekstern billedtiddler"
        },
        "$:/language/Docs/Fields/bag": {
            "title": "$:/language/Docs/Fields/bag",
            "text": "Navnet på den mappe en tiddler kom fra"
        },
        "$:/language/Docs/Fields/caption": {
            "title": "$:/language/Docs/Fields/caption",
            "text": "Teksten der bliver vist på en fane eller knap"
        },
        "$:/language/Docs/Fields/color": {
            "title": "$:/language/Docs/Fields/color",
            "text": "Den CSS farveværdi som er knyttet til en tiddler"
        },
        "$:/language/Docs/Fields/component": {
            "title": "$:/language/Docs/Fields/component",
            "text": "Navnet på den komponent som er ansvarlig for en [[advarselstiddler|AlertMechanism]]"
        },
        "$:/language/Docs/Fields/created": {
            "title": "$:/language/Docs/Fields/created",
            "text": "Den dato en tiddler blev oprettet"
        },
        "$:/language/Docs/Fields/creator": {
            "title": "$:/language/Docs/Fields/creator",
            "text": "Navnet på den person som oprettede en tiddler"
        },
        "$:/language/Docs/Fields/current-tiddler": {
            "title": "$:/language/Docs/Fields/current-tiddler",
            "text": "Bruges til mellemlagring af den øverste tiddler i en [[historieliste|HistoryMechanism]]"
        },
        "$:/language/Docs/Fields/dependents": {
            "title": "$:/language/Docs/Fields/dependents",
            "text": "Lister afhængighederne for en udvidelse"
        },
        "$:/language/Docs/Fields/description": {
            "title": "$:/language/Docs/Fields/description",
            "text": "Den beskrivende tekst for en udvidelse, eller en modal dialog"
        },
        "$:/language/Docs/Fields/draft.of": {
            "title": "$:/language/Docs/Fields/draft.of",
            "text": "For kladdetiddlere, indeholder  titlen på den tiddler som denne er en kladde til"
        },
        "$:/language/Docs/Fields/draft.title": {
            "title": "$:/language/Docs/Fields/draft.title",
            "text": "For kladdetiddlere, indeholder forslag til ny titel på tiddleren"
        },
        "$:/language/Docs/Fields/footer": {
            "title": "$:/language/Docs/Fields/footer",
            "text": "fodnotetekst i en guide"
        },
        "$:/language/Docs/Fields/hack-to-give-us-something-to-compare-against": {
            "title": "$:/language/Docs/Fields/hack-to-give-us-something-to-compare-against",
            "text": "Et midlertidigt lagerfelt brugt i [[$:/core/templates/static.content]]"
        },
        "$:/language/Docs/Fields/icon": {
            "title": "$:/language/Docs/Fields/icon",
            "text": "Titlen på den tiddler som indeholder et ikon, der er knyttet til en tiddler"
        },
        "$:/language/Docs/Fields/library": {
            "title": "$:/language/Docs/Fields/library",
            "text": "Hvis sat til  \"ja\" indikeres at en tiddler bør gemmes som et  JavaScript library"
        },
        "$:/language/Docs/Fields/list": {
            "title": "$:/language/Docs/Fields/list",
            "text": "En ordnet liste af tiddlertitler som er knyttet til en tiddler"
        },
        "$:/language/Docs/Fields/list-after": {
            "title": "$:/language/Docs/Fields/list-after",
            "text": "Hvis sat, titlen på den tiddler efter hvilken denne tiddler skal indsættes i den ordnede liste over tiddler titler."
        },
        "$:/language/Docs/Fields/list-before": {
            "title": "$:/language/Docs/Fields/list-before",
            "text": "Hvis sat, titlen på en tiddler, før hvilken denne tiddler skal indsættes i  den ordnede liste over tiddler titler, eller i starten af listen, hvis dette felt er tilstede men tomt."
        },
        "$:/language/Docs/Fields/modified": {
            "title": "$:/language/Docs/Fields/modified",
            "text": "Dato og klokkeslæt, hvor en tiddler sidst blev ændret"
        },
        "$:/language/Docs/Fields/modifier": {
            "title": "$:/language/Docs/Fields/modifier",
            "text": "Den tiddlertitel som har samme navn som den forfatter der sidst ændrede tiddleren"
        },
        "$:/language/Docs/Fields/name": {
            "title": "$:/language/Docs/Fields/name",
            "text": "Det menneskeligt læsbare navn, som knyttes til en udvidelsestiddler"
        },
        "$:/language/Docs/Fields/plugin-priority": {
            "title": "$:/language/Docs/Fields/plugin-priority",
            "text": "En numerisk værdi som indikerer prioriteringen af en udvidelsestiddler"
        },
        "$:/language/Docs/Fields/plugin-type": {
            "title": "$:/language/Docs/Fields/plugin-type",
            "text": "Typen af plugin i en udvidelsestiddler"
        },
        "$:/language/Docs/Fields/released": {
            "title": "$:/language/Docs/Fields/released",
            "text": "Dato for en tiddlywikiudgivelse"
        },
        "$:/language/Docs/Fields/revision": {
            "title": "$:/language/Docs/Fields/revision",
            "text": "Revision af tiddleren holdt på serveren"
        },
        "$:/language/Docs/Fields/source": {
            "title": "$:/language/Docs/Fields/source",
            "text": "Kilde-URL knyttet til en  tiddler"
        },
        "$:/language/Docs/Fields/subtitle": {
            "title": "$:/language/Docs/Fields/subtitle",
            "text": "Undertiteltekst for en guide"
        },
        "$:/language/Docs/Fields/tags": {
            "title": "$:/language/Docs/Fields/tags",
            "text": "En liste over tags som er knyttet til en tiddler"
        },
        "$:/language/Docs/Fields/text": {
            "title": "$:/language/Docs/Fields/text",
            "text": "tekstområdet i en tiddler"
        },
        "$:/language/Docs/Fields/title": {
            "title": "$:/language/Docs/Fields/title",
            "text": "Det unikke navn på en tiddler"
        },
        "$:/language/Docs/Fields/type": {
            "title": "$:/language/Docs/Fields/type",
            "text": "En tiddlers indholdstype"
        },
        "$:/language/Docs/Fields/version": {
            "title": "$:/language/Docs/Fields/version",
            "text": "En udvidelses versionsnummer"
        },
        "$:/language/Filters/AllTags": {
            "title": "$:/language/Filters/AllTags",
            "text": "Alle tags undtaget systemtags"
        },
        "$:/language/Filters/AllTiddlers": {
            "title": "$:/language/Filters/AllTiddlers",
            "text": "Alle tiddlere undtaget systemtiddlere"
        },
        "$:/language/Filters/Drafts": {
            "title": "$:/language/Filters/Drafts",
            "text": "Kladdetiddlere"
        },
        "$:/language/Filters/Missing": {
            "title": "$:/language/Filters/Missing",
            "text": "Manglende tiddlere"
        },
        "$:/language/Filters/Orphans": {
            "title": "$:/language/Filters/Orphans",
            "text": "Løse tiddlere"
        },
        "$:/language/Filters/OverriddenShadowTiddlers": {
            "title": "$:/language/Filters/OverriddenShadowTiddlers",
            "text": "Overskrevne skyggetiddlere"
        },
        "$:/language/Filters/RecentSystemTiddlers": {
            "title": "$:/language/Filters/RecentSystemTiddlers",
            "text": "Nyligt ændrede tiddlere, inklusive systemtiddlere"
        },
        "$:/language/Filters/RecentTiddlers": {
            "title": "$:/language/Filters/RecentTiddlers",
            "text": "Nyligt ændrede tiddlere"
        },
        "$:/language/Filters/ShadowTiddlers": {
            "title": "$:/language/Filters/ShadowTiddlers",
            "text": "Skyggetiddlere"
        },
        "$:/language/Filters/SystemTags": {
            "title": "$:/language/Filters/SystemTags",
            "text": "Systemtags"
        },
        "$:/language/Filters/SystemTiddlers": {
            "title": "$:/language/Filters/SystemTiddlers",
            "text": "Systemtiddlere"
        },
        "$:/language/Filters/TypedTiddlers": {
            "title": "$:/language/Filters/TypedTiddlers",
            "text": "Ikke wiki-tekst tiddlere"
        },
        "GettingStarted": {
            "title": "GettingStarted",
            "text": "\\define lingo-base() $:/language/ControlPanel/Basics/\nVelkommen til ~TiddlyWiki og ~TiddlyWiki fællesskabet\n\nFør du begynder at lagre vigtige informationer i ~TiddlyWiki er det vigtigt, at du sikrer dig, at du på pålidelig måde kan gemme ændringer. Se https://tiddlywiki.com/#GettingStarted for detaljer\n\n!! Opsæt denne ~TiddlyWiki\n\n<div class=\"tc-control-panel\">\n\n|<$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link> |<<lingo DefaultTiddlers/TopHint>><br> <$edit tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n</div>\n\nSe [[kontrol panel|$:/ControlPanel]] for flere muligheder.\n"
        },
        "$:/language/Help/build": {
            "title": "$:/language/Help/build",
            "description": "Kør konfigurerede kommandoer automatisk.",
            "text": "Bygger wikien ud fra de angivne byggemål for den aktuelle wiki. Hvis der ikke er angivet nogen byggemål vil alle tilstedeværende mål blive bygget.\n\n```\n--build <target> [<target> ...]\n```\n\nByggemål defineres i  `tiddlywiki.info` filen i en wiki mappe.\n\n"
        },
        "$:/language/Help/clearpassword": {
            "title": "$:/language/Help/clearpassword",
            "description": "Slet et kodeord for efterfølgende krypteringsoperationer",
            "text": "Slet kodeord for efterfølgende krypteringsoperationer\n\n```\n--clearpassword\n```\n"
        },
        "$:/language/Help/default": {
            "title": "$:/language/Help/default",
            "description": "",
            "text": "\\define commandTitle()\n$:/language/Help/$(command)$\n\\end\n```\nusage: tiddlywiki [<wikifolder>] [--<command> [<args>...]...]\n```\n\nMulige kommandoer:\n\n<ul>\n<$list filter=\"[commands[]sort[title]]\" variable=\"command\">\n<li><$link to=<<commandTitle>>><$macrocall $name=\"command\" $type=\"text/plain\" $output=\"text/plain\"/></$link>: <$transclude tiddler=<<commandTitle>> field=\"description\"/></li>\n</$list>\n</ul>\n\nFor at få detaljeret hjælp til en kommando:\n\n```\ntiddlywiki --help <command>\n```\n"
        },
        "$:/language/Help/editions": {
            "title": "$:/language/Help/editions",
            "description": "Lister mulige udgaver  af TiddlyWiki",
            "text": "Lister navn og beskrivelse af de mulige udgaver. Du kan oprette en ny  wiki af en angivet udgave med `--init` command.\n\n```\n--editions\n```\n"
        },
        "$:/language/Help/help": {
            "title": "$:/language/Help/help",
            "description": "Viser hjælpetekst for TiddlyWiki kommandoer",
            "text": "Viser hjælpetekst for en kommando:\n\n```\n--help [<command>]\n```\n\nHvis kommandoens navn udelades, vil en liste over mulige kommandoer vises.\n"
        },
        "$:/language/Help/init": {
            "title": "$:/language/Help/init",
            "description": "Initialisér en ny wikimappe",
            "text": "Initialisér en tom [[WikiFolder|WikiFolders]] med en kopi af den angivne udgave.\n\n```\n--init <edition> [<edition> ...]\n```\n\nFor eksempel:\n\n```\ntiddlywiki ./MyWikiFolder --init empty\n```\n\nBemærk:\n\n* wikimappe bliver oprettet, hvis det er nødvendigt\n* \"udgave\" bliver som standard til ''tom''\n* init kommandoen fejler, hvis wikimappen ikke er tom\n* init kommandoen fjerner alle `includeWikis` definitioner i udgavens `tiddlywiki.info` fil\n* Når flere udgaver er specificerede, vil udgaver som intialiseres senere overskrive alle filer delt med tidligere udgaver (altså, den endelige `tiddlywiki.info` fil vil bliver kopieret fra den sidste udgave)\n* `--help editions` returnerer en liste over de udgaver, der er til rådighed\n"
        },
        "$:/language/Help/load": {
            "title": "$:/language/Help/load",
            "description": "Indlæs tiddlere fra en fil",
            "text": "Indlæs tiddlere fra 2.x.x TiddlyWiki filer (`.html`), `.tiddler`, `.tid`, `.json` eller andre filer\n\n```\n--load <filepath>\n```\n\nFor at indlæse tiddlere fra en krypteret ~TiddlyWiki fil, skal du først angive kodeord med PasswordCommand. For eksempel:\n\n```\ntiddlywiki ./MyWiki --password pa55w0rd --load my_encrypted_wiki.html\n```\n\nBemærk at ~TiddlyWiki ikke vil indlæse en ældre version af en allerede indlæst udvidelse.\n"
        },
        "$:/language/Help/makelibrary": {
            "title": "$:/language/Help/makelibrary",
            "description": "Konstruerer biblioteksudvidelse som er nødvendig til opgraderingsprocessen",
            "text": "Konstruerer `$:/UpgradeLibrary` tiddleren til opgraderingsprocessen.\n\nOpgraderingsbiblioteket er formateret som en almindelig udvidelsestiddler med udvidelsestypen `library`. Den indeholder en kopi af hver af udvidelsens, temaer og sprogpakker, som findes i ~TiddlyWiki5 lager (repository).\n\nDenne kommando er beregnet til internt brug; Den er kun relevant for brugere som konstruerer en specialtilpasset opgraderingsprocedure.\n\n```\n--makelibrary <title>\n```\n\nTitel argumentet  forfalder til `$:/UpgradeLibrary`.\n"
        },
        "$:/language/Help/notfound": {
            "title": "$:/language/Help/notfound",
            "description": "",
            "text": "Hjælpeemnet findes ikke"
        },
        "$:/language/Help/output": {
            "title": "$:/language/Help/output",
            "description": "Sætter basis output mappe for efterfølgende kommandoer",
            "text": "Sætter  basis output mappe for efterfølgende kommandoer. Standard output mappe er `output` undermappe for udgavens mappe.\n\n```\n--output <pathname>\n```\n\nHvis det specificerede stinavn er relativt, sættes det relativt til den aktuelle arbejdsmappe.\n"
        },
        "$:/language/Help/password": {
            "title": "$:/language/Help/password",
            "description": "Angiv et kodeord for efterfølgende krypteringsoperationer",
            "text": "Angiv et kodeord for efterfølgende krypteringsoperationer\n\n```\n--password <password>\n```\n\n"
        },
        "$:/language/Help/rendertiddler": {
            "title": "$:/language/Help/rendertiddler",
            "description": "Renderer en individuel tiddler som en specifik indholdstype",
            "text": "Renderer en individuel tiddler som en angivet indholdstype, forfalder til `text/html` og gemmer den til det angivne filnavn:\n\n```\n--rendertiddler <title> <filename> [<type>]\n```\n\nSom standard løses filnavnet relativt til `output`undermappen i udgavens mappe. `--output` kommandoen kan bruges til at dirigere output til en anden mappe.\n\nEnhver manglende mappe i filnavnet bliver automatisk oprettet.\n"
        },
        "$:/language/Help/rendertiddlers": {
            "title": "$:/language/Help/rendertiddlers",
            "description": "Renderer tiddlere der matcher et filter til  specifik indholdstype",
            "text": "Renderer et sæt af tiddlere, der matcher et filter til forskellige filer af en specifik indholdstype (standard til `text/html`) og udvidelse (standard til `.html`).\n\n```\n--rendertiddlers <filter> <template> <pathname> [<type>] [<extension>]\n```\n\nFor eksempel:\n\n```\n--rendertiddlers [!is[system]] $:/core/templates/static.tiddler.html ./static text/plain\n```\n\nPr. standard, sættes stinavnet til `output` undermappen i udgavens mappe. `--output` kommandoen kan bruges til at dirigere output til en anden mappe.\n\nEnhver fil i målmappen bliver slettet. Målmappen bliver rekursivt oprettet, hvis den mangler.\n"
        },
        "$:/language/Help/savetiddler": {
            "title": "$:/language/Help/savetiddler",
            "description": "Gemmer en rå tiddler til en fil",
            "text": "Gemmer en individuel tiddler i dens rå tekst eller binære format til det angivne filnavn. \n\n```\n--savetiddler <title> <filename>\n```\n\nSom standard, sættes finavn til `output` undermappen i  udgavens mappe. `--output` kommandoen kan bruges til at rette output til et anden mappe.\n\nEnhver manglende mappe i stien til filnavnet oprettes automatisk.\n"
        },
        "$:/language/Help/savetiddlers": {
            "title": "$:/language/Help/savetiddlers",
            "description": "Gemmer en gruppe af rå tiddlere til en mappe",
            "text": "Gemmer en gruppe af tiddlere i deres rå tekst eller binære format i den specificerede mappe. \n\n```\n--savetiddlers <filter> <pathname>\n```\n\nSom standard, løses stinavnet relativt til `output` undermappen i udgavens mappe . `--output` kommandoen kan bruges til at dirigere output til en anden mappe .\n\nAlle manglende mapper i stinavnet oprettes automatisk.\n"
        },
        "$:/language/Help/server": {
            "title": "$:/language/Help/server",
            "description": "Leverer et HTTP serverinterface til TiddlyWiki",
            "text": "Serveren som er indbygget i ~TiddlyWiki5 er meget simpel. Skønt kompatibel med ~TiddlyWeb har den ikke understøttelse af mange af de funktioner som er nødvendige til pålidelig Internet-facing brug.\n\nI roden, serverer den rendering af en angivet tiddler. Væk fra roden, serverer den individuelle tiddlere kodet i JSON, og understøtter de basale HTTP operationer for `GET`, `PUT`og `DELETE`.\n\n```\n--server <port> <roottiddler> <rendertype> <servetype> <username> <password> <host> <pathprefix>\n```\n\nParametrene er:\n\n* ''port'' - port nummeret til at servere fra (standard til \"8080\")\n* ''roottiddler'' - tiddler som serveres i  roden (standard til \"$:/core/save/all\") \n* ''rendertype'' - den indholdstype rod tiddleren skal renderes til (standard til \"text/plain\")\n* ''servetype'' - den indholdstype rod tiddleren skal serveres (standard til \"text/html\")\n* ''username'' - standard brugernavn til signerering af redigeringer\n* ''password'' - valgfrit password til basis autentificering\n* ''host'' - valgfrit værtnavn at servere fra (standard til \"127.0.0.1\" også kendt som  \"localhost\")\n* ''pathprefix'' - valgfrit prefix til stier\n\nHvis password parameteren er angivet, vil browseren bede brugeren om brugernavn og password. Bemærk at password sendes i ren tekst så denne implementering er ikke egnet til generel brug.\n\nFor eksempel:\n\n```\n--server 8080 $:/core/save/all text/plain text/html MyUserName passw0rd\n```\n\nBrugernavn og password kan specificeres som tomme strenge hvis du har behov for at sætte værtsnavn eller stiprefix og ikke ønsker at kræve et password:\n\n```\n--server 8080 $:/core/save/all text/plain text/html \"\" \"\" 192.168.0.245\n```\n\nFor at køre flere tiddlywikiservere samtidigt, er du nødt til at sætte hver af dem til sin egen port.\n"
        },
        "$:/language/Help/setfield": {
            "title": "$:/language/Help/setfield",
            "description": "Forbereder eksterne tiddlere til brug",
            "text": "//Bemærk at denne kommando er eksperimentel og kan ændres eller erstattes før den bliver endelig//\n\nSætter det angivne felt i en gruppe af tiddlere med resulterende wikificering af en skabelontiddler med den `currentTiddler` variable sat til den  tiddler.\n\n```\n--setfield <filter> <fieldname> <templatetitle> <rendertype>\n```\n\nParametrene er:\n\n* ''filter'' - filter der identificerer de tiddlere der påvirkes\n* ''fieldname'' - feltet der ændres (standard til \"text\")\n* ''templatetitle'' - tiddleren der wikificeres til det angivne felt. Hvis tom eller manglende slettes det specificerede felt\n* ''rendertype'' - text type til renderingr (standard til \"text/plain\"; \"text/html\" kan bruges for at inkludere HTML tags)\n"
        },
        "$:/language/Help/unpackplugin": {
            "title": "$:/language/Help/unpackplugin",
            "description": "Udtrækker payload tiddlere fra en udvidelse",
            "text": "Udtrækker payload tiddlere fra en udvidelse, idet de oprettes som ordinære tiddlere:\n\n```\n--unpackplugin <title>\n```\n"
        },
        "$:/language/Help/verbose": {
            "title": "$:/language/Help/verbose",
            "description": "Udløser udførlig udskriftsmodus",
            "text": "Udløser en mere udførlig udskrift, nyttig til fejlfinding\n\n```\n--verbose\n```\n"
        },
        "$:/language/Help/version": {
            "title": "$:/language/Help/version",
            "description": "Viser TiddlyWiki's versionsnummer.",
            "text": "Viser TiddlyWiki's versionsnummer.\n\n```\n--version\n```\n"
        },
        "$:/language/Import/Imported/Hint": {
            "title": "$:/language/Import/Imported/Hint",
            "text": "Følgende tiddlere blev importeret:"
        },
        "$:/language/Import/Listing/Cancel/Caption": {
            "title": "$:/language/Import/Listing/Cancel/Caption",
            "text": "Fortryd"
        },
        "$:/language/Import/Listing/Hint": {
            "title": "$:/language/Import/Listing/Hint",
            "text": "Disse tiddlere er klar til import:"
        },
        "$:/language/Import/Listing/Import/Caption": {
            "title": "$:/language/Import/Listing/Import/Caption",
            "text": "Importér"
        },
        "$:/language/Import/Listing/Select/Caption": {
            "title": "$:/language/Import/Listing/Select/Caption",
            "text": "Vælg"
        },
        "$:/language/Import/Listing/Status/Caption": {
            "title": "$:/language/Import/Listing/Status/Caption",
            "text": "Status"
        },
        "$:/language/Import/Listing/Title/Caption": {
            "title": "$:/language/Import/Listing/Title/Caption",
            "text": "Titel"
        },
        "$:/language/Import/Upgrader/Plugins/Suppressed/Incompatible": {
            "title": "$:/language/Import/Upgrader/Plugins/Suppressed/Incompatible",
            "text": "Blokeret inkompatibelt eller forældet udvidelse"
        },
        "$:/language/Import/Upgrader/Plugins/Suppressed/Version": {
            "title": "$:/language/Import/Upgrader/Plugins/Suppressed/Version",
            "text": "Blokeret udvidelse (pga. at indkommende <<incoming>>  er ældre end den eksisterende <<existing>>)"
        },
        "$:/language/Import/Upgrader/Plugins/Upgraded": {
            "title": "$:/language/Import/Upgrader/Plugins/Upgraded",
            "text": "Upgraderet udvidelse fra <<incoming>> til <<upgraded>>"
        },
        "$:/language/Import/Upgrader/State/Suppressed": {
            "title": "$:/language/Import/Upgrader/State/Suppressed",
            "text": "Blokeret foreløbig statustiddler"
        },
        "$:/language/Import/Upgrader/System/Suppressed": {
            "title": "$:/language/Import/Upgrader/System/Suppressed",
            "text": "Blokeret systemtiddler"
        },
        "$:/language/Import/Upgrader/ThemeTweaks/Created": {
            "title": "$:/language/Import/Upgrader/ThemeTweaks/Created",
            "text": "Migreret tema tweak fra <$text text=<<from>>/>"
        },
        "$:/language/AboveStory/ClassicPlugin/Warning": {
            "title": "$:/language/AboveStory/ClassicPlugin/Warning",
            "text": "Det ser ud til, at du prøver at indlæse et plugin beregnet for ~TiddlyWiki Classic. Bemærk venligst, at [[disse plugins ikke virker med TiddlyWiki version 5.x.x|https://tiddlywiki.com/#TiddlyWikiClassic]]. ~TiddlyWiki Classic plugins opdaget:"
        },
        "$:/language/BinaryWarning/Prompt": {
            "title": "$:/language/BinaryWarning/Prompt",
            "text": "Denne tiddler indeholder binære data"
        },
        "$:/language/ClassicWarning/Hint": {
            "title": "$:/language/ClassicWarning/Hint",
            "text": "Denne tiddler er skrevet i ~TiddlyWiki Classic wikitekstformat, som ikke er fuldt kompatibel med ~TiddlyWiki version 5. Se https://tiddlywiki.com/static/Upgrading.html for flere detaljer.."
        },
        "$:/language/ClassicWarning/Upgrade/Caption": {
            "title": "$:/language/ClassicWarning/Upgrade/Caption",
            "text": "Opgradér"
        },
        "$:/language/CloseAll/Button": {
            "title": "$:/language/CloseAll/Button",
            "text": "luk alle"
        },
        "$:/language/ConfirmCancelTiddler": {
            "title": "$:/language/ConfirmCancelTiddler",
            "text": "Ønsker du at fortryde ændringer til denne tiddler \"<$text text=<<title>>/>\"?"
        },
        "$:/language/ConfirmDeleteTiddler": {
            "title": "$:/language/ConfirmDeleteTiddler",
            "text": "Ønsker du at slette denne tiddler \"<$text text=<<title>>/>\"?"
        },
        "$:/language/ConfirmEditShadowTiddler": {
            "title": "$:/language/ConfirmEditShadowTiddler",
            "text": "Du skal til at redigere en skyggetiddler. Enhver ændring vil overskrive standardsystemet og gøre fremtidige opgraderinger mere besværlige. Er du sikker på, du ønsker at redigere \"<$text text=<<title>>/>\"?"
        },
        "$:/language/ConfirmOverwriteTiddler": {
            "title": "$:/language/ConfirmOverwriteTiddler",
            "text": "Ønsker du at overskrive tiddleren \"<$text text=<<title>>/>\"?"
        },
        "$:/language/Count": {
            "title": "$:/language/Count",
            "text": "tæl"
        },
        "$:/language/DefaultNewTiddlerTitle": {
            "title": "$:/language/DefaultNewTiddlerTitle",
            "text": "Ny tiddler"
        },
        "$:/language/DropMessage": {
            "title": "$:/language/DropMessage",
            "text": "Slip her (eller klik escape for at fortryde)"
        },
        "$:/language/Encryption/Cancel": {
            "title": "$:/language/Encryption/Cancel",
            "text": "Fortryd"
        },
        "$:/language/Encryption/ConfirmClearPassword": {
            "title": "$:/language/Encryption/ConfirmClearPassword",
            "text": "Ønsker du at slette kodeordet? Dette vil fjerne den indsatte  kryptering, når wikien gemmes"
        },
        "$:/language/Encryption/Password": {
            "title": "$:/language/Encryption/Password",
            "text": "Kodeord"
        },
        "$:/language/Encryption/PasswordNoMatch": {
            "title": "$:/language/Encryption/PasswordNoMatch",
            "text": "Kodeordet er ikke korrekt"
        },
        "$:/language/Encryption/PromptSetPassword": {
            "title": "$:/language/Encryption/PromptSetPassword",
            "text": "Angiv et nyt kodeord for denne ~TiddlyWiki"
        },
        "$:/language/Encryption/RepeatPassword": {
            "title": "$:/language/Encryption/RepeatPassword",
            "text": "Gentag kodeord"
        },
        "$:/language/Encryption/SetPassword": {
            "title": "$:/language/Encryption/SetPassword",
            "text": "Angiv kodeord"
        },
        "$:/language/Encryption/Username": {
            "title": "$:/language/Encryption/Username",
            "text": "Brugernavn"
        },
        "$:/language/Error/Caption": {
            "title": "$:/language/Error/Caption",
            "text": "Fejl"
        },
        "$:/language/Error/Filter": {
            "title": "$:/language/Error/Filter",
            "text": "Filter fejl"
        },
        "$:/language/Error/FilterSyntax": {
            "title": "$:/language/Error/FilterSyntax",
            "text": "Syntaks fejl i filter udtryk"
        },
        "$:/language/Error/IsFilterOperator": {
            "title": "$:/language/Error/IsFilterOperator",
            "text": "Filter fejl: ukendt operand for  'is' filter operator"
        },
        "$:/language/Error/LoadingPluginLibrary": {
            "title": "$:/language/Error/LoadingPluginLibrary",
            "text": "Fejl ved indlæsning af plugin library"
        },
        "$:/language/Error/RecursiveTransclusion": {
            "title": "$:/language/Error/RecursiveTransclusion",
            "text": "Recursive transclusion fejl i transclude widget"
        },
        "$:/language/Error/SavingToTWEdit": {
            "title": "$:/language/Error/SavingToTWEdit",
            "text": "Fejl ved gemning til TWEdit"
        },
        "$:/language/Error/WhileSaving": {
            "title": "$:/language/Error/WhileSaving",
            "text": "Fejl ved gemning"
        },
        "$:/language/InternalJavaScriptError/Hint": {
            "title": "$:/language/InternalJavaScriptError/Hint",
            "text": "Oh, dette er pinligt. Det anbefales at du genstarter TiddlyWiki ved at opfriske din browser"
        },
        "$:/language/InternalJavaScriptError/Title": {
            "title": "$:/language/InternalJavaScriptError/Title",
            "text": "Intern JavaScript fejl"
        },
        "$:/language/InvalidFieldName": {
            "title": "$:/language/InvalidFieldName",
            "text": "Illegale tegn i felt navn \"<$text text=<<fieldName>>/>\". Felter kan kun indeholde små bogstaver, tal og tegnene undersstreg (`_`), bindestreg (`-`) og punktum (`.`)"
        },
        "$:/language/LazyLoadingWarning": {
            "title": "$:/language/LazyLoadingWarning",
            "text": "<p>indlæser ekstern tekst fra ''<$text text={{!!_canonical_uri}}/>''</p><p>Hvis denne besked ikke forsvinder, bruger du måske en browser, som ikke understøtter ekstern tekst i denne konfiguration. Se https://tiddlywiki.com/#ExternalText</p>"
        },
        "$:/language/LoginToTiddlySpace": {
            "title": "$:/language/LoginToTiddlySpace",
            "text": "Login til TiddlySpace"
        },
        "$:/language/Manager/Controls/FilterByTag/Prompt": {
            "title": "$:/language/Manager/Controls/FilterByTag/Prompt",
            "text": "Filtrer efter tag:"
        },
        "$:/language/Manager/Controls/Order/Prompt": {
            "title": "$:/language/Manager/Controls/Order/Prompt",
            "text": "Omvendt rækkefølge"
        },
        "$:/language/Manager/Controls/Search/Placeholder": {
            "title": "$:/language/Manager/Controls/Search/Placeholder",
            "text": "Søg"
        },
        "$:/language/Manager/Controls/Search/Prompt": {
            "title": "$:/language/Manager/Controls/Search/Prompt",
            "text": "Søg:"
        },
        "$:/language/Manager/Controls/Show/Option/Tiddlers": {
            "title": "$:/language/Manager/Controls/Show/Option/Tiddlers",
            "text": "tiddlere"
        },
        "$:/language/Manager/Controls/Show/Prompt": {
            "title": "$:/language/Manager/Controls/Show/Prompt",
            "text": "Vis:"
        },
        "$:/language/Manager/Controls/Sort/Prompt": {
            "title": "$:/language/Manager/Controls/Sort/Prompt",
            "text": "Sortér efter:"
        },
        "$:/language/Manager/Item/Colour": {
            "title": "$:/language/Manager/Item/Colour",
            "text": "Farve"
        },
        "$:/language/Manager/Item/Fields": {
            "title": "$:/language/Manager/Item/Fields",
            "text": "Felter"
        },
        "$:/language/MissingTiddler/Hint": {
            "title": "$:/language/MissingTiddler/Hint",
            "text": "Manglende tiddler \"<$text text=<<currentTiddler>>/>\" - klik {{||$:/core/ui/Buttons/edit}} for at oprette den."
        },
        "$:/language/No": {
            "title": "$:/language/No",
            "text": "Nej"
        },
        "$:/language/OfficialPluginLibrary": {
            "title": "$:/language/OfficialPluginLibrary",
            "text": "Officielt ~TiddlyWiki udvidelsesbibliotek"
        },
        "$:/language/OfficialPluginLibrary/Hint": {
            "title": "$:/language/OfficialPluginLibrary/Hint",
            "text": "Det officielle ~TiddlyWiki plugin library på tiddlywiki.com. Plugins, temaer og sprog pakker vedligeholdes af core team."
        },
        "$:/language/PluginReloadWarning": {
            "title": "$:/language/PluginReloadWarning",
            "text": "Venligst gem {{$:/core/ui/Buttons/save-wiki}} og genindlæs {{$:/core/ui/Buttons/refresh}} for at tillade udvidelser at træde i kraft"
        },
        "$:/language/RecentChanges/DateFormat": {
            "title": "$:/language/RecentChanges/DateFormat",
            "text": "DD. MMM YYYY"
        },
        "$:/language/SystemTiddler/Tooltip": {
            "title": "$:/language/SystemTiddler/Tooltip",
            "text": "Dette er en systemtiddler"
        },
        "$:/language/TagManager/Colour/Heading": {
            "title": "$:/language/TagManager/Colour/Heading",
            "text": "Farve"
        },
        "$:/language/TagManager/Count/Heading": {
            "title": "$:/language/TagManager/Count/Heading",
            "text": "Tæl"
        },
        "$:/language/TagManager/Icon/Heading": {
            "title": "$:/language/TagManager/Icon/Heading",
            "text": "Ikon"
        },
        "$:/language/TagManager/Tag/Heading": {
            "title": "$:/language/TagManager/Tag/Heading",
            "text": "Tag"
        },
        "$:/language/Tiddler/DateFormat": {
            "title": "$:/language/Tiddler/DateFormat",
            "text": "DD. MMM YYYY kl. hh12:0mmam"
        },
        "$:/language/UnsavedChangesWarning": {
            "title": "$:/language/UnsavedChangesWarning",
            "text": "Du har ændringer som ikke er gemt i ~TiddlyWiki"
        },
        "$:/language/Yes": {
            "title": "$:/language/Yes",
            "text": "Ja"
        },
        "$:/language/Modals/Download": {
            "title": "$:/language/Modals/Download",
            "type": "text/vnd.tiddlywiki",
            "subtitle": "Download changes",
            "footer": "<$button message=\"tm-close-tiddler\">Close</$button>",
            "help": "https://tiddlywiki.com/static/DownloadingChanges.html",
            "text": "Din browser understøtter kun manuel gemning\n\nFor at gemme din ændrede wiki, højreklik på downloadlinket nedenfor og vælg \"Hent fil\" eller \"Gem fil\", og vælg dernæst en mappe og et filnavn.\n\n//Du kan øge hastigheden lidt ved at klikke på linket med kontrol tasten (Windows)eller vælg/alt key (Mac OS X). Du vil ikke blive bedt om mappe eller filnavn. Sandsynligvis giver din browser den et uigenkendeligt navn -- Du kan blive nødt til at omdøbe filen og inkludere en `.html` udvidelse, for at den kan bruges..//\n\nPå smartphones, som ikke tillader filer at blive lagret, kan du i stedet bogmærke linket og synkronisere dine bogmærker til en computer hvorfra wiki'en kan gemmes normalt.\n"
        },
        "$:/language/Modals/SaveInstructions": {
            "title": "$:/language/Modals/SaveInstructions",
            "type": "text/vnd.tiddlywiki",
            "subtitle": "Save your work",
            "footer": "<$button message=\"tm-close-tiddler\">Close</$button>",
            "help": "https://tiddlywiki.com/static/SavingChanges.html",
            "text": "Dine ændringer til denne wiki skal gemmes som en ~TiddlyWiki HTML file.\n\n!!! Computer browsere\n\n# Vælg ''Gem som'' fra ''Fil'' menuen\n# Vælg et filnavn og placering\n#* Nogle browsere kræver også, at du eksplicit angiver filens format som ''Webpage, HTML kun'' eller lignende\n# Luk denne fane\n\n!!! Smartphone browsere\n\n# Opret et bogmærke til denne side\n#* Hvis du har iCloud eller Google Sync sat op vil bogmærket automatisk synkroniseres til din desktop, hvor du kan åbne den og gemme den som ovenfor beskrevet\n# Luk denne fane\n\n//Hvis du åbner bogmærket igen i Mobile Safari vil du se denne besked igen. Hvis du ønsker at fortsætte og bruge filen, skal du blot klikke på ''luk'' knappen nedenfor//\n"
        },
        "$:/config/NewJournal/Tags": {
            "title": "$:/config/NewJournal/Tags",
            "text": "Journal"
        },
        "$:/config/NewJournal/Title": {
            "title": "$:/config/NewJournal/Title",
            "text": "DD. MMM YYYY"
        },
        "$:/language/Notifications/Save/Done": {
            "title": "$:/language/Notifications/Save/Done",
            "text": "Gemt wiki"
        },
        "$:/language/Notifications/Save/Starting": {
            "title": "$:/language/Notifications/Save/Starting",
            "text": "Begynder at gemme wiki"
        },
        "$:/language/Search/DefaultResults/Caption": {
            "title": "$:/language/Search/DefaultResults/Caption",
            "text": "Liste"
        },
        "$:/language/Search/Filter/Caption": {
            "title": "$:/language/Search/Filter/Caption",
            "text": "Filter"
        },
        "$:/language/Search/Filter/Hint": {
            "title": "$:/language/Search/Filter/Hint",
            "text": "Søg med et [[filterudtryk|https://tiddlywiki.com/static/Filters.html]]"
        },
        "$:/language/Search/Filter/Matches": {
            "title": "$:/language/Search/Filter/Matches",
            "text": "//<small><<resultCount>> træffere</small>//"
        },
        "$:/language/Search/Matches": {
            "title": "$:/language/Search/Matches",
            "text": "//<small><<resultCount>> træffere</small>//"
        },
        "$:/language/Search/Matches/All": {
            "title": "$:/language/Search/Matches/All",
            "text": "Alle træffere:"
        },
        "$:/language/Search/Matches/Title": {
            "title": "$:/language/Search/Matches/Title",
            "text": "Titel træffere:"
        },
        "$:/language/Search/Search": {
            "title": "$:/language/Search/Search",
            "text": "Søg"
        },
        "$:/language/Search/Search/TooShort": {
            "title": "$:/language/Search/Search/TooShort",
            "text": "Søge tekst for kort"
        },
        "$:/language/Search/Shadows/Caption": {
            "title": "$:/language/Search/Shadows/Caption",
            "text": "Skygger"
        },
        "$:/language/Search/Shadows/Hint": {
            "title": "$:/language/Search/Shadows/Hint",
            "text": "Søg i skyggetiddlere"
        },
        "$:/language/Search/Shadows/Matches": {
            "title": "$:/language/Search/Shadows/Matches",
            "text": "//<small><<resultCount>> træffere</small>//"
        },
        "$:/language/Search/Standard/Caption": {
            "title": "$:/language/Search/Standard/Caption",
            "text": "Standard"
        },
        "$:/language/Search/Standard/Hint": {
            "title": "$:/language/Search/Standard/Hint",
            "text": "Søg i standardtiddlere"
        },
        "$:/language/Search/Standard/Matches": {
            "title": "$:/language/Search/Standard/Matches",
            "text": "//<small><<resultCount>>træffere</small>//"
        },
        "$:/language/Search/System/Caption": {
            "title": "$:/language/Search/System/Caption",
            "text": "System"
        },
        "$:/language/Search/System/Hint": {
            "title": "$:/language/Search/System/Hint",
            "text": "Søg i systemtiddlere"
        },
        "$:/language/Search/System/Matches": {
            "title": "$:/language/Search/System/Matches",
            "text": "//<small><<resultCount>>træffere</small>//"
        },
        "$:/language/SideBar/All/Caption": {
            "title": "$:/language/SideBar/All/Caption",
            "text": "Alle"
        },
        "$:/language/SideBar/Contents/Caption": {
            "title": "$:/language/SideBar/Contents/Caption",
            "text": "Indhold"
        },
        "$:/language/SideBar/Drafts/Caption": {
            "title": "$:/language/SideBar/Drafts/Caption",
            "text": "Kladde"
        },
        "$:/language/SideBar/Missing/Caption": {
            "title": "$:/language/SideBar/Missing/Caption",
            "text": "Mangler"
        },
        "$:/language/SideBar/More/Caption": {
            "title": "$:/language/SideBar/More/Caption",
            "text": "Mere"
        },
        "$:/language/SideBar/Open/Caption": {
            "title": "$:/language/SideBar/Open/Caption",
            "text": "Åbne"
        },
        "$:/language/SideBar/Orphans/Caption": {
            "title": "$:/language/SideBar/Orphans/Caption",
            "text": "Løse"
        },
        "$:/language/SideBar/Recent/Caption": {
            "title": "$:/language/SideBar/Recent/Caption",
            "text": "Seneste"
        },
        "$:/language/SideBar/Shadows/Caption": {
            "title": "$:/language/SideBar/Shadows/Caption",
            "text": "Skygger"
        },
        "$:/language/SideBar/System/Caption": {
            "title": "$:/language/SideBar/System/Caption",
            "text": "System"
        },
        "$:/language/SideBar/Tags/Caption": {
            "title": "$:/language/SideBar/Tags/Caption",
            "text": "Tags"
        },
        "$:/language/SideBar/Tags/Untagged/Caption": {
            "title": "$:/language/SideBar/Tags/Untagged/Caption",
            "text": "Ukategoriserede"
        },
        "$:/language/SideBar/Tools/Caption": {
            "title": "$:/language/SideBar/Tools/Caption",
            "text": "Værktøj"
        },
        "$:/language/SideBar/Types/Caption": {
            "title": "$:/language/SideBar/Types/Caption",
            "text": "Typer"
        },
        "$:/SiteSubtitle": {
            "title": "$:/SiteSubtitle",
            "text": "en ikke-lineær personlig web notesbog"
        },
        "$:/SiteTitle": {
            "title": "$:/SiteTitle",
            "text": "Min ~TiddlyWiki"
        },
        "$:/language/Snippets/ListByTag": {
            "title": "$:/language/Snippets/ListByTag",
            "tags": "$:/tags/TextEditor/Snippet",
            "caption": "List tiddlere efter tag",
            "text": "<<list-links \"[tag[task]sort[title]]\">>\n"
        },
        "$:/language/Snippets/MacroDefinition": {
            "title": "$:/language/Snippets/MacroDefinition",
            "tags": "$:/tags/TextEditor/Snippet",
            "caption": "Makro definition",
            "text": "\\define macroName(param1:\"default value\",param2)\nMakroens tekst\n\\end\n"
        },
        "$:/language/Snippets/Table4x3": {
            "title": "$:/language/Snippets/Table4x3",
            "tags": "$:/tags/TextEditor/Snippet",
            "caption": "Tabel med 4 kolonner og 3 rækker",
            "text": "|! |!Alpha |!Beta |!Gamma |!Delta |\n|!En | | | | |\n|!To | | | | |\n|!Tre | | | | |\n"
        },
        "$:/language/Snippets/TableOfContents": {
            "title": "$:/language/Snippets/TableOfContents",
            "tags": "$:/tags/TextEditor/Snippet",
            "caption": "Indholdsfortegnelse",
            "text": "<div class=\"tc-table-of-contents\">\n\n<<toc-selective-expandable 'TableOfContents'>>\n\n</div>"
        },
        "$:/language/ThemeTweaks/Metrics": {
            "title": "$:/language/ThemeTweaks/Metrics",
            "text": "Størrelser"
        },
        "$:/language/ThemeTweaks/Metrics/BodyFontSize": {
            "title": "$:/language/ThemeTweaks/Metrics/BodyFontSize",
            "text": "Font størrelse for tiddler body"
        },
        "$:/language/ThemeTweaks/Metrics/BodyLineHeight": {
            "title": "$:/language/ThemeTweaks/Metrics/BodyLineHeight",
            "text": "Linie højde for tiddler body"
        },
        "$:/language/ThemeTweaks/Metrics/FontSize": {
            "title": "$:/language/ThemeTweaks/Metrics/FontSize",
            "text": "Font størrelse"
        },
        "$:/language/ThemeTweaks/Metrics/LineHeight": {
            "title": "$:/language/ThemeTweaks/Metrics/LineHeight",
            "text": "Linie højde"
        },
        "$:/language/ThemeTweaks/Metrics/SidebarBreakpoint/Hint": {
            "title": "$:/language/ThemeTweaks/Metrics/SidebarBreakpoint/Hint",
            "text": "minimum side bredde ved hvilken story<br>river og sidebar vises side om side"
        },
        "$:/language/ThemeTweaks/Metrics/SidebarWidth": {
            "title": "$:/language/ThemeTweaks/Metrics/SidebarWidth",
            "text": "Sidebar bredde"
        },
        "$:/language/ThemeTweaks/Metrics/SidebarWidth/Hint": {
            "title": "$:/language/ThemeTweaks/Metrics/SidebarWidth/Hint",
            "text": "bredden af sidebar i flydende-fikseret layout"
        },
        "$:/language/ThemeTweaks/Metrics/StoryLeft": {
            "title": "$:/language/ThemeTweaks/Metrics/StoryLeft",
            "text": "Story venstre position"
        },
        "$:/language/ThemeTweaks/Metrics/StoryLeft/Hint": {
            "title": "$:/language/ThemeTweaks/Metrics/StoryLeft/Hint",
            "text": "hvor langt venstre kant af story river<br>(tiddler area) er fra vestre side af siden."
        },
        "$:/language/ThemeTweaks/Metrics/StoryRight": {
            "title": "$:/language/ThemeTweaks/Metrics/StoryRight",
            "text": "Story højre"
        },
        "$:/language/ThemeTweaks/Metrics/StoryRight/Hint": {
            "title": "$:/language/ThemeTweaks/Metrics/StoryRight/Hint",
            "text": "hvor langt venstre margen af sidebar <br>er fra vesntre side af siden"
        },
        "$:/language/ThemeTweaks/Metrics/StoryTop/Hint": {
            "title": "$:/language/ThemeTweaks/Metrics/StoryTop/Hint",
            "text": "hvor langt top margen af the story river<br>er fra troppen af siden"
        },
        "$:/language/ThemeTweaks/Metrics/StoryWidth": {
            "title": "$:/language/ThemeTweaks/Metrics/StoryWidth",
            "text": "Story bredde"
        },
        "$:/language/ThemeTweaks/Metrics/StoryWidth/Hint": {
            "title": "$:/language/ThemeTweaks/Metrics/StoryWidth/Hint",
            "text": "Hele bredden af story river"
        },
        "$:/language/ThemeTweaks/Metrics/TiddlerWidth": {
            "title": "$:/language/ThemeTweaks/Metrics/TiddlerWidth",
            "text": "Tiddler bredde"
        },
        "$:/language/ThemeTweaks/Metrics/TiddlerWidth/Hint": {
            "title": "$:/language/ThemeTweaks/Metrics/TiddlerWidth/Hint",
            "text": "i story river"
        },
        "$:/language/ThemeTweaks/Options": {
            "title": "$:/language/ThemeTweaks/Options",
            "text": "Valgmuligheder"
        },
        "$:/language/ThemeTweaks/Options/CodeWrapping": {
            "title": "$:/language/ThemeTweaks/Options/CodeWrapping",
            "text": "Omgiv lange linier  i code blokke"
        },
        "$:/language/ThemeTweaks/Options/SidebarLayout/Fixed-Fluid": {
            "title": "$:/language/ThemeTweaks/Options/SidebarLayout/Fixed-Fluid",
            "text": "Fikseretstory, flydende sidebar"
        },
        "$:/language/ThemeTweaks/Options/SidebarLayout/Fluid-Fixed": {
            "title": "$:/language/ThemeTweaks/Options/SidebarLayout/Fluid-Fixed",
            "text": "Flydende story, fikseret sidebar"
        },
        "$:/language/ThemeTweaks/Settings": {
            "title": "$:/language/ThemeTweaks/Settings",
            "text": "Indstillinger"
        },
        "$:/language/ThemeTweaks/Settings/BackgroundImage": {
            "title": "$:/language/ThemeTweaks/Settings/BackgroundImage",
            "text": "Side baggrunds billede"
        },
        "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment": {
            "title": "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment",
            "text": "Side baggrunds billede tilknyttet"
        },
        "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Fixed": {
            "title": "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Fixed",
            "text": "Fikseret til vindoe"
        },
        "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Scroll": {
            "title": "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Scroll",
            "text": "Ruller med tiddlere"
        },
        "$:/language/ThemeTweaks/Settings/BackgroundImageSize": {
            "title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize",
            "text": "Side baggrunds billede størrelse"
        },
        "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Contain": {
            "title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Contain",
            "text": "Indeholder"
        },
        "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Cover": {
            "title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Cover",
            "text": "Dækker"
        },
        "$:/language/ThemeTweaks/Settings/CodeFontFamily": {
            "title": "$:/language/ThemeTweaks/Settings/CodeFontFamily",
            "text": "Code font familie"
        },
        "$:/language/ThemeTweaks/Settings/FontFamily": {
            "title": "$:/language/ThemeTweaks/Settings/FontFamily",
            "text": "Font familie"
        },
        "$:/language/ThemeTweaks/ThemeTweaks": {
            "title": "$:/language/ThemeTweaks/ThemeTweaks",
            "text": "Tema justering"
        },
        "$:/language/ThemeTweaks/ThemeTweaks/Hint": {
            "title": "$:/language/ThemeTweaks/ThemeTweaks/Hint",
            "text": "Du kan justere visse aspekter af ''Vanilla'' temaet."
        },
        "$:/language/TiddlerInfo/Advanced/Caption": {
            "title": "$:/language/TiddlerInfo/Advanced/Caption",
            "text": "Avanceret"
        },
        "$:/language/TiddlerInfo/Advanced/PluginInfo/Empty/Hint": {
            "title": "$:/language/TiddlerInfo/Advanced/PluginInfo/Empty/Hint",
            "text": "ingen"
        },
        "$:/language/TiddlerInfo/Advanced/PluginInfo/Heading": {
            "title": "$:/language/TiddlerInfo/Advanced/PluginInfo/Heading",
            "text": "Udvidelsesdetaljer"
        },
        "$:/language/TiddlerInfo/Advanced/PluginInfo/Hint": {
            "title": "$:/language/TiddlerInfo/Advanced/PluginInfo/Hint",
            "text": "Denne udvidelse indeholder følgende skyggetiddlere:"
        },
        "$:/language/TiddlerInfo/Advanced/ShadowInfo/Heading": {
            "title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/Heading",
            "text": "Skyggestatus"
        },
        "$:/language/TiddlerInfo/Advanced/ShadowInfo/NotShadow/Hint": {
            "title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/NotShadow/Hint",
            "text": "Tiddleren <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> er ikke en skyggetiddler"
        },
        "$:/language/TiddlerInfo/Advanced/ShadowInfo/OverriddenShadow/Hint": {
            "title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/OverriddenShadow/Hint",
            "text": "Den er oveskrevet af en almindelig tiddler"
        },
        "$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Hint": {
            "title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Hint",
            "text": "Tiddleren <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link>er en skyggetiddler"
        },
        "$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Source": {
            "title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Source",
            "text": "Det er defineret i udvidelsen <$link to=<<pluginTiddler>>><$text text=<<pluginTiddler>>/></$link>"
        },
        "$:/language/TiddlerInfo/Fields/Caption": {
            "title": "$:/language/TiddlerInfo/Fields/Caption",
            "text": "Felter"
        },
        "$:/language/TiddlerInfo/List/Caption": {
            "title": "$:/language/TiddlerInfo/List/Caption",
            "text": "Liste"
        },
        "$:/language/TiddlerInfo/List/Empty": {
            "title": "$:/language/TiddlerInfo/List/Empty",
            "text": "Denne tiddler har ikke en liste"
        },
        "$:/language/TiddlerInfo/Listed/Caption": {
            "title": "$:/language/TiddlerInfo/Listed/Caption",
            "text": "Listet"
        },
        "$:/language/TiddlerInfo/Listed/Empty": {
            "title": "$:/language/TiddlerInfo/Listed/Empty",
            "text": "Denne tiddler er ikke listet af andre"
        },
        "$:/language/TiddlerInfo/References/Caption": {
            "title": "$:/language/TiddlerInfo/References/Caption",
            "text": "Referencer"
        },
        "$:/language/TiddlerInfo/References/Empty": {
            "title": "$:/language/TiddlerInfo/References/Empty",
            "text": "Ingen tiddlere linker til denne"
        },
        "$:/language/TiddlerInfo/Tagging/Caption": {
            "title": "$:/language/TiddlerInfo/Tagging/Caption",
            "text": "Tagging"
        },
        "$:/language/TiddlerInfo/Tagging/Empty": {
            "title": "$:/language/TiddlerInfo/Tagging/Empty",
            "text": "Ingen tiddlere er tagget med denne"
        },
        "$:/language/TiddlerInfo/Tools/Caption": {
            "title": "$:/language/TiddlerInfo/Tools/Caption",
            "text": "Værktøj"
        },
        "$:/language/Docs/Types/application/javascript": {
            "title": "$:/language/Docs/Types/application/javascript",
            "description": "JavaScript kode",
            "name": "application/javascript",
            "group": "Udvikler"
        },
        "$:/language/Docs/Types/application/json": {
            "title": "$:/language/Docs/Types/application/json",
            "description": "JSON data",
            "name": "application/json",
            "group": "Udvikler"
        },
        "$:/language/Docs/Types/application/x-tiddler-dictionary": {
            "title": "$:/language/Docs/Types/application/x-tiddler-dictionary",
            "description": "Databibliotek",
            "name": "application/x-tiddler-dictionary",
            "group": "Udvikler"
        },
        "$:/language/Docs/Types/image/gif": {
            "title": "$:/language/Docs/Types/image/gif",
            "description": "GIF billede",
            "name": "image/gif",
            "group": "Billede"
        },
        "$:/language/Docs/Types/image/jpeg": {
            "title": "$:/language/Docs/Types/image/jpeg",
            "description": "JPEG billede",
            "name": "image/jpeg",
            "group": "Billede"
        },
        "$:/language/Docs/Types/image/png": {
            "title": "$:/language/Docs/Types/image/png",
            "description": "PNG billede",
            "name": "image/png",
            "group": "Billede"
        },
        "$:/language/Docs/Types/image/svg+xml": {
            "title": "$:/language/Docs/Types/image/svg+xml",
            "description": "Struktureret Vektorgrafik billede",
            "name": "image/svg+xml",
            "group": "Billede"
        },
        "$:/language/Docs/Types/image/x-icon": {
            "title": "$:/language/Docs/Types/image/x-icon",
            "description": "ICO ikon fil",
            "name": "image/x-icon",
            "group": "Billede"
        },
        "$:/language/Docs/Types/text/css": {
            "title": "$:/language/Docs/Types/text/css",
            "description": "Statisk stylesheet",
            "name": "text/css",
            "group": "Udvikler"
        },
        "$:/language/Docs/Types/text/html": {
            "title": "$:/language/Docs/Types/text/html",
            "description": "HTML opmærkning",
            "name": "text/html",
            "group": "Tekst"
        },
        "$:/language/Docs/Types/text/plain": {
            "title": "$:/language/Docs/Types/text/plain",
            "description": "Ren tekst",
            "name": "text/plain",
            "group": "Tekst"
        },
        "$:/language/Docs/Types/text/vnd.tiddlywiki": {
            "title": "$:/language/Docs/Types/text/vnd.tiddlywiki",
            "description": "TiddlyWiki 5",
            "name": "text/vnd.tiddlywiki",
            "group": "Tekst"
        },
        "$:/language/Docs/Types/text/x-tiddlywiki": {
            "title": "$:/language/Docs/Types/text/x-tiddlywiki",
            "description": "TiddlyWiki klassisk",
            "name": "text/x-tiddlywiki",
            "group": "Tekst"
        },
        "$:/languages/da-DK/icon": {
            "title": "$:/languages/da-DK/icon",
            "type": "image/svg+xml",
            "text": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"370\" height=\"280\">\n<rect width=\"370\" height=\"280\" fill=\"#c60c30\"/>\n<rect width=\"40\" height=\"280\" x=\"120\" fill=\"#fff\"/>\n<rect width=\"370\" height=\"40\" y=\"120\" fill=\"#fff\"/>\n</svg>\n"
        }
    }
}
<div class="trim-string tc-menu-list-item"><$link to={{!!title}}><$view field="title"/></$link>
 <$list filter="[is[current]tags[]!prefix[$]sort[title]]" template="$:/core/ui/TagTemplate"/></div>
{
    "tiddlers": {
        "$:/core/modules/widgets/action-deletefield.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/action-deletefield.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to delete fields of a tiddler.\n\n2015.05.31 ELS - added handling for \"$index\" to support removing entries from DataTiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DeleteFieldWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDeleteFieldWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDeleteFieldWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nDeleteFieldWidget.prototype.execute = function() {\n\tthis.actionTiddler = this.getAttribute(\"$tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.actionField = this.getAttribute(\"$field\");\n/* ELS */\tthis.actionIndex = this.getAttribute(\"$index\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nDeleteFieldWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$tiddler\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nDeleteFieldWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar self = this,\n\t\ttiddler = this.wiki.getTiddler(self.actionTiddler),\n\t\tremoveFields = {};\n\tif(this.actionField) {\n\t\tremoveFields[this.actionField] = undefined;\n\t}\n/* ELS */\tif(this.actionIndex) {\n/* ELS */\t\tvar data = this.wiki.getTiddlerData(this.actionTiddler,{});\n/* ELS */\t\tdata[this.actionIndex] = undefined;\n/* ELS */\t\t$tw.utils.each(this.attributes,function(attribute,name) {\n/* ELS */\t\t\tif(name.charAt(0) !== \"$\") data[name] = undefined;});\n/* ELS */\t\tif(tiddler) this.wiki.setTiddlerData(this.actionTiddler,data);\n/* ELS */\t} else\n\tif(tiddler) {\n\t\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\t\tif(name.charAt(0) !== \"$\" && name !== \"title\") {\n\t\t\t\tremoveFields[name] = undefined;\n\t\t\t}\n\t\t});\n\t\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,removeFields));\n\t}\n\treturn true; // Action was invoked\n};\n\nexports[\"action-deletefield\"] = DeleteFieldWidget;\n\n})();\n",
            "type": "application/javascript",
            "title": "$:/core/modules/widgets/action-deletefield.js",
            "tags": "Like",
            "module-type": "widget",
            "modifier": "Birthe",
            "modified": "20171223194544779",
            "creator": "EricShulman",
            "created": "20150601050007007"
        },
        "$:/plugins/bc/like/viewtemplate/like-dislike": {
            "created": "20171223195532614",
            "text": "<$list filter=\"[is[current]!is[system]]\">\n\n<$transclude tiddler=\"$:/plugins/bc/like/buttons/ToggleLikes\"/> &nbsp; <$transclude tiddler=\"$:/plugins/bc/like/buttons/ToggleDislikes\"/>\n</$list>",
            "title": "$:/plugins/bc/like/viewtemplate/like-dislike",
            "tags": "$:/tags/ViewTemplate Like",
            "modified": "20171223212131614",
            "list-after": "$:/core/ViewTemplate/body"
        },
        "$:/plugins/bc/like/buttons/like/Panel": {
            "created": "20171224001758055",
            "text": "\\define like() $:/data/likes##$(currentTiddler)$\n\\define dislike() $:/data/dislikes##$(currentTiddler)$\n\n''Kan lide:''\n<hr>\n   <$list filter=\"[title[$:/data/likes]indexes[]]\"\n      emptyMessage=\"\"\"\n     brug {{$:/plugins/bc/like/image/like.svg}} for at føje til kan lide\n      \"\"\">\n      <$reveal type=\"nomatch\" text=\"\" state=<<like>>>\n         <nobr><$link><<toc-caption>></$link></nobr><br>\n      </$reveal>\n   </$list>\n\n''Kan ikke lide:''\n<hr>\n   <$list filter=\"[title[$:/data/dislikes]indexes[]]\"\n      emptyMessage=\"\"\"\n     brug {{$:/plugins/bc/like/image/dislike.svg}} for at føje til kan ikke lide\n      \"\"\">\n      <$reveal type=\"nomatch\" text=\"\" state=<<dislike>>>\n         <nobr><$link><<toc-caption>></$link></nobr><br>\n      </$reveal>\n   </$list>",
            "title": "$:/plugins/bc/like/buttons/like/Panel",
            "tags": "$:/tags/SideBar Like",
            "modified": "20171227234355498",
            "caption": "{{$:/plugins/bc/like/image/like.svg}}",
            "tooltip": "Kan lide/ikke lide"
        },
        "$:/plugins/bc/like/image/p_like.svg": {
            "created": "20171223190732582",
            "text": "<svg class=\"tc-like-button-image tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 32.000003814697266 30\" >\n<path fill=\"pink\" d=\"M32 15.2c0-2.1-1.7-3.2-4-3.2h-6.7c.5-1.8.7-3.5.7-5 0-5.8-1.6-7-3-7-.9 0-1.6.1-2.5.6-.3.2-.4.4-.5.7l-1 5.4c-1.1 2.8-3.8 5.3-6 7V28c.8 0 1.6.4 2.6.9 1.1.5 2.2 1.1 3.4 1.1h9.5c2 0 3.5-1.6 3.5-3 0-.3 0-.5-.1-.7 1.2-.5 2.1-1.5 2.1-2.8 0-.6-.1-1.1-.3-1.6.8-.5 1.5-1.4 1.5-2.4 0-.6-.3-1.2-.6-1.7.8-.6 1.4-1.6 1.4-2.6zm-2.1 0c0 1.3-1.3 1.4-1.5 2-.2.7.8.9.8 2.1 0 1.2-1.5 1.2-1.7 1.9-.2.8.5 1 .5 2.2v.2c-.2 1-1.7 1.1-2 1.5-.3.5 0 .7 0 1.8 0 .6-.7 1-1.5 1H15c-.8 0-1.6-.4-2.6-.9-.8-.4-1.6-.8-2.4-1V15.5c2.5-1.9 5.7-4.7 6.9-8.2v-.2l.9-5c.4-.1.7-.1 1.2-.1.2 0 1 1.2 1 5 0 1.5-.3 3.1-.8 5H19c-.6 0-1 .4-1 1s.4 1 1 1h9c1 0 1.9.5 1.9 1.2z\"/><path fill=\"pink\" d=\"M8 30H2c-1.1 0-2-.9-2-2V14c0-1.1.9-2 2-2h6c1.1 0 2 .9 2 2v14c0 1.1-.9 2-2 2zM2 14v14h6V14H2z\"/>\n</svg>",
            "title": "$:/plugins/bc/like/image/p_like.svg",
            "tags": "Like $:/tags/Image",
            "modifier": "Birthe",
            "modified": "20171223210721213",
            "creator": "Birthe"
        },
        "$:/plugins/bc/like/image/dislike.svg": {
            "created": "20171129152109560",
            "text": "<svg class=\"tc-dislike-button-image tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 963 1022\">\n<path d=\"M959 511q-6-28-21-57 19-37 13-75-6-42-42-74 14-39 6-76-11-44-52-75-1-8-3-17-9-41-37-71Q763 0 632 0h-2q-67 0-125.5 7.5t-86 15T348 44q-68 22-104 22H72q-30 0-51 21T0 138v392q0 30 21.5 51T73 602h122q33 0 61 17 38 23 74 60 66 71 87 167 2 9 6 31 8 50 18 74 21 46 67 61 33 11 66 8 39-3 70-26 33-24 50-67 18-44 18-108v-2q-5-67-24-119h116q43 0 79-21 24-14 45-40t29-60q8-32 2-66zM72 130h120v409H73q-9 0-9-9V138q0-8 8-8zm802 341q31 49 21 91-9 39-44 60-21 12-47 12H678q-31 0-48 25.5t-5 54.5q18 43 23 106 0 92-42 123-32 23-79 8-19-6-27-24t-14-60q-4-24-6-35-26-113-104-197-41-43-87-71-16-9-33-15V130q41-2 112-25 40-13 65.5-20t80-14T630 64h2q102 0 143 44 26 28 24 61-2 19 16 30 31 19 37 44 7 27-10 54-7 11-4.5 24t13.5 20q33 22 37 47 4 24-12 46-15 17-2 37z\"/>\n</svg>",
            "title": "$:/plugins/bc/like/image/dislike.svg",
            "tags": "Like $:/tags/Image",
            "modifier": "Birthe",
            "modified": "20171223210748395",
            "creator": "Birthe"
        },
        "$:/plugins/bc/like/image/p_dislike.svg": {
            "created": "20171223194246402",
            "text": "<svg class=\"tc-dislike-button-image tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 963 1022\">\n<path fill=\"pink\" d=\"M959 511q-6-28-21-57 19-37 13-75-6-42-42-74 14-39 6-76-11-44-52-75-1-8-3-17-9-41-37-71Q763 0 632 0h-2q-67 0-125.5 7.5t-86 15T348 44q-68 22-104 22H72q-30 0-51 21T0 138v392q0 30 21.5 51T73 602h122q33 0 61 17 38 23 74 60 66 71 87 167 2 9 6 31 8 50 18 74 21 46 67 61 33 11 66 8 39-3 70-26 33-24 50-67 18-44 18-108v-2q-5-67-24-119h116q43 0 79-21 24-14 45-40t29-60q8-32 2-66zM72 130h120v409H73q-9 0-9-9V138q0-8 8-8zm802 341q31 49 21 91-9 39-44 60-21 12-47 12H678q-31 0-48 25.5t-5 54.5q18 43 23 106 0 92-42 123-32 23-79 8-19-6-27-24t-14-60q-4-24-6-35-26-113-104-197-41-43-87-71-16-9-33-15V130q41-2 112-25 40-13 65.5-20t80-14T630 64h2q102 0 143 44 26 28 24 61-2 19 16 30 31 19 37 44 7 27-10 54-7 11-4.5 24t13.5 20q33 22 37 47 4 24-12 46-15 17-2 37z\"/>\n</svg>",
            "title": "$:/plugins/bc/like/image/p_dislike.svg",
            "tags": "Like $:/tags/Image",
            "modifier": "Birthe",
            "modified": "20171223210812193",
            "creator": "Birthe"
        },
        "$:/plugins/bc/like/buttons/ToggleLikes": {
            "created": "20150807102341816",
            "text": "\\define like() $:/data/likes##$(tid)$\n\n\\define tooltip_add() føj '$(tid)$' til Kan lide\n\\define tooltip_rem() fjern '$(tid)$' fra Kan lide\n\n<$set name=\"tid\" value={{!!title}}>\n<$reveal type=\"match\" text=\"\" state=<<like>>>\n   <$button class=\"tc-btn-invisible\" tooltip=<<tooltip_add>>>\n      <$action-setfield\n         $tiddler=\"$:/data/likes\" $index=<<tid>> $value=<<now>>/>\n         {{$:/plugins/bc/like/image/like.svg}}\n   </$button>\n</$reveal>\n<$reveal type=\"nomatch\" text=\"\" state=<<like>>>\n   <$button class=\"tc-btn-invisible\" tooltip=<<tooltip_rem>>>\n      <$action-deletefield\n        $tiddler=\"$:/data/likes\" $index=<<tid>>/>\n        {{$:/plugins/bc/like/image/p_like.svg}}\n   </$button>\n</$reveal>\n</$set>",
            "title": "$:/plugins/bc/like/buttons/ToggleLikes",
            "tags": "Like",
            "modifier": "Birthe",
            "modified": "20171227234032193",
            "description": "Afmærk kan lide",
            "creator": "Birthe C",
            "caption": "{{$:/plugins/bc/like/image/like.svg}} Afmærk kan lide"
        },
        "$:/plugins/bc/like/buttons/ToggleDislikes": {
            "created": "20171223193343395",
            "text": "\\define dislike() $:/data/dislikes##$(tid)$\n\n\\define tooltip_add() føj '$(tid)$' til Kan ikke lide\n\\define tooltip_rem() fjern '$(tid)$' fra Kan ikke lide\n\n<$set name=\"tid\" value={{!!title}}>\n<$reveal type=\"match\" text=\"\" state=<<dislike>>>\n   <$button class=\"tc-btn-invisible\" tooltip=<<tooltip_add>>>\n      <$action-setfield\n         $tiddler=\"$:/data/dislikes\" $index=<<tid>> $value=<<now>>/>\n         {{$:/plugins/bc/like/image/dislike.svg}}\n   </$button>\n</$reveal>\n<$reveal type=\"nomatch\" text=\"\" state=<<dislike>>>\n   <$button class=\"tc-btn-invisible\" tooltip=<<tooltip_rem>>>\n      <$action-deletefield\n        $tiddler=\"$:/data/dislikes\" $index=<<tid>>/>\n        {{$:/plugins/bc/like/image/p_dislike.svg}}\n   </$button>\n</$reveal>\n</$set>",
            "title": "$:/plugins/bc/like/buttons/ToggleDislikes",
            "tags": "Like",
            "modifier": "Birthe",
            "modified": "20171227233750323",
            "description": "Afmærk kan ikke lide",
            "creator": "Birthe C",
            "caption": "{{$:/plugins/bc/like/image/dislike.svg}} Afmærk kan ikke lide"
        },
        "$:/plugins/bc/like/image/like.svg": {
            "created": "20171129150651099",
            "text": "<svg class=\"tc-like-button-image tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 32.000003814697266 30\" >\n<path d=\"M32 15.2c0-2.1-1.7-3.2-4-3.2h-6.7c.5-1.8.7-3.5.7-5 0-5.8-1.6-7-3-7-.9 0-1.6.1-2.5.6-.3.2-.4.4-.5.7l-1 5.4c-1.1 2.8-3.8 5.3-6 7V28c.8 0 1.6.4 2.6.9 1.1.5 2.2 1.1 3.4 1.1h9.5c2 0 3.5-1.6 3.5-3 0-.3 0-.5-.1-.7 1.2-.5 2.1-1.5 2.1-2.8 0-.6-.1-1.1-.3-1.6.8-.5 1.5-1.4 1.5-2.4 0-.6-.3-1.2-.6-1.7.8-.6 1.4-1.6 1.4-2.6zm-2.1 0c0 1.3-1.3 1.4-1.5 2-.2.7.8.9.8 2.1 0 1.2-1.5 1.2-1.7 1.9-.2.8.5 1 .5 2.2v.2c-.2 1-1.7 1.1-2 1.5-.3.5 0 .7 0 1.8 0 .6-.7 1-1.5 1H15c-.8 0-1.6-.4-2.6-.9-.8-.4-1.6-.8-2.4-1V15.5c2.5-1.9 5.7-4.7 6.9-8.2v-.2l.9-5c.4-.1.7-.1 1.2-.1.2 0 1 1.2 1 5 0 1.5-.3 3.1-.8 5H19c-.6 0-1 .4-1 1s.4 1 1 1h9c1 0 1.9.5 1.9 1.2z\"/><path d=\"M8 30H2c-1.1 0-2-.9-2-2V14c0-1.1.9-2 2-2h6c1.1 0 2 .9 2 2v14c0 1.1-.9 2-2 2zM2 14v14h6V14H2z\"/>\n</svg>",
            "title": "$:/plugins/bc/like/image/like.svg",
            "tags": "Like $:/tags/Image",
            "modifier": "Birthe",
            "modified": "20171223211921451",
            "creator": "Birthe"
        }
    }
}
<$list filter="[is[current]!is[system]]">

<$transclude tiddler="$:/plugins/bc/like/buttons/ToggleLikes"/> &nbsp; <$transclude tiddler="$:/plugins/bc/like/buttons/ToggleDislikes"/>
</$list>
<$list filter="[all[current]!is[missing]] [all[current]text[]] [all[current]tag[$:/tags/tagging]]">

<$reveal type="nomatch" state="!!tagpanel"  text="show">

@@float:left;padding-right:10px;<$button tooltip="Vis tagging" class="tc-btn-invisible" set="!!tagpanel"  setTo="show">{{$:/plugins/Birthe/taggingpanel/image/tagging/icon}}</$button>@@

</$reveal>
<$reveal type="match" state="!!tagpanel" text="show">

@@float:left;padding-right:10px;<$button tooltip="Skjul tagging" class="tc-btn-invisible" set="!!tagpanel" setTo="hide">{{$:/plugins/Birthe/taggingpanel/image/tagging/icon}}</$button>@@<br>

<div class="bc-tagging">
<div class="bc-tagging-label">
    <$list filter="[all[current]!is[missing]] [all[current]text[]] [all[current]tag[$:/tags/tagging]] +[tagging[]limit[1]]">
        Tagging:
    </$list>
</div>

@@display:block;max-height:50vh;overflow-x:hidden;overflow-y:auto;<ul>
<$button class="minibutton" tooltip="Vis nyt underemne knap">
<$action-setfield $tiddler="$:/config/toc/newSubitem" text="<span class='tc-btn-invisible'>{{||$:/plugins/Birthe/taggingpanel/buttons/new-here}}</span>"/>
{{$:/images/fa5/regular/eye}}
</$button>
<$button class="minibutton" tooltip="Skjul nyt underemne knap">
<$action-deletetiddler $tiddler="$:/config/toc/newSubitem"/>{{$:/images/fa5/regular/eye-slash}}
</$button>
<$button class='minibutton'>{{||$:/plugins/Birthe/taggingpanel/buttons/new-here}}</$button><br><br>

<div class="tc-table-of-contents">
<div class="bc-tagging-sub">
<$macrocall $name="""bc-toc-selective-expandable""" tag=<<currentTiddler>>/>
</div>
</div>
</ul>@@
</div>

</$reveal>
</$list>

<style>
.minibutton {
    background: {{!!tabs-background-color}};
    border-radius: 4px;
    box-shadow: 0px 1px 3px #EEE;
    font-family: Arial;
    color: black;
    font-size: 12px;
    font-weight:;
    padding: 3px 5px;
    text-decoration: none;
</style>
{
    "tiddlers": {
        "$:/images/fa5/regular/eye": {
            "text": "<svg class=\"tc-image-eye tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 576 512\"><path d=\"M288 144a110.94 110.94 0 0 0-31.24 5 55.4 55.4 0 0 1 7.24 27 56 56 0 0 1-56 56 55.4 55.4 0 0 1-27-7.24A111.71 111.71 0 1 0 288 144zm284.52 97.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400c-98.65 0-189.09-55-237.93-144C98.91 167 189.34 112 288 112s189.09 55 237.93 144C477.1 345 386.66 400 288 400z\"/></svg>",
            "title": "$:/images/fa5/regular/eye",
            "tags": "TaggingPanel $:/tags/Image [[Font Awesome 5]] Regular",
            "modified": "20190810183957644",
            "created": "20190810183921176",
            "caption": "eye (Regular)"
        },
        "$:/images/fa5/regular/eye-slash": {
            "text": "<svg class=\"tc-image-eye-slash tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 640 512\"><path d=\"M634 471L36 3.51A16 16 0 0 0 13.51 6l-10 12.49A16 16 0 0 0 6 41l598 467.49a16 16 0 0 0 22.49-2.49l10-12.49A16 16 0 0 0 634 471zM296.79 146.47l134.79 105.38C429.36 191.91 380.48 144 320 144a112.26 112.26 0 0 0-23.21 2.47zm46.42 219.07L208.42 260.16C210.65 320.09 259.53 368 320 368a113 113 0 0 0 23.21-2.46zM320 112c98.65 0 189.09 55 237.93 144a285.53 285.53 0 0 1-44 60.2l37.74 29.5a333.7 333.7 0 0 0 52.9-75.11 32.35 32.35 0 0 0 0-29.19C550.29 135.59 442.93 64 320 64c-36.7 0-71.71 7-104.63 18.81l46.41 36.29c18.94-4.3 38.34-7.1 58.22-7.1zm0 288c-98.65 0-189.08-55-237.93-144a285.47 285.47 0 0 1 44.05-60.19l-37.74-29.5a333.6 333.6 0 0 0-52.89 75.1 32.35 32.35 0 0 0 0 29.19C89.72 376.41 197.08 448 320 448c36.7 0 71.71-7.05 104.63-18.81l-46.41-36.28C359.28 397.2 339.89 400 320 400z\"/></svg>",
            "title": "$:/images/fa5/regular/eye-slash",
            "tags": "TaggingPanel $:/tags/Image [[Font Awesome 5]] Regular",
            "modified": "20190810183905008",
            "created": "20190810183900504",
            "caption": "eye-slash (Regular)"
        },
        "$:/plugins/Birthe/taggingpanel/stylesheet/taggingPanel": {
            "created": "20180116160429073",
            "text": ".bc-tagging{\nfont-size:1em;line-height:16px;border:1px solid lightgrey;background:{{!!page-background-color}};\n}\n\n.bc-tagging-label{\nmargin-left:0;\ncolor:grey;\nfont-weight:bold;\ntext-decoration:underline;\n}\n\n.bc-tagging-sub{\nmargin-left: -20px; \n}\n",
            "title": "$:/plugins/Birthe/taggingpanel/stylesheet/taggingPanel",
            "tags": "$:/tags/Stylesheet TaggingPanel",
            "page-background-color": "<<colour page-background>>",
            "modifier": "jd",
            "modified": "20190817121747727",
            "creator": "jd"
        },
        "$:/plugins/Birthe/taggingpanel/image/tagging/icon": {
            "created": "20140921105653585",
            "text": "<svg  class=\"tc-close-all-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n\t<g transform=\"translate(0,-924.36)\">\n\t\t<path d=\"m115.92 980.32a4.0004 4.0004 0 0 0 -2.75 1.21l-60 60.07a4.0004 4.0004 0 0 0 -0.01 0c-1.774 1.8-5.403 3.1-9.16 3.1s-7.385-1.3-9.16-3.1a4.0004 4.0004 0 0 0 -0.01 0l-24-24a4.0004 4.0004 0 1 0 -5.6561 5.6l23.988 24c3.882 3.9 9.425 5.5 14.84 5.5s10.959-1.6 14.84-5.5l59.99-60.01a4.0004 4.0004 0 0 0 -2.91 -6.87z\"/>\n\t\t<path d=\"m115.92 998.36a4.0004 4.0004 0 0 0 -2.75 1.21l-43.998 44.03a4.0004 4.0004 0 1 0 5.656 5.6l44.002-44a4.0004 4.0004 0 0 0 -2.91 -6.84z\"/>\n\t\t<path d=\"m83.105 0.5c-3.975 0-7.795 1.5904-10.605 4.4004l-60.504 60.539c-5.7851 5.79-5.7851 15.402 0 21.202l21.393 21.399c5.795 5.8 15.423 5.8 21.218 0l60.503-60.55c2.81-2.81 4.4-6.629 4.4-10.599v-21.391c0-8.2-6.81-15-15-15h-10.51-10.883zm10.895 15c5.847 0 10.43 4.548 10.49 10.379v0.242c-0.06 5.831-4.643 10.379-10.49 10.379-5.888 0-10.5-4.61-10.5-10.5s4.612-10.5 10.5-10.5z\" transform=\"translate(0,924.36)\"/>\n\t</g>\n</svg>\n\n",
            "type": "text/vnd.tiddlywiki",
            "title": "$:/plugins/Birthe/taggingpanel/image/tagging/icon",
            "tags": "$:/tags/Image TaggingPanel",
            "tagpanel": "hide",
            "ref": "tagx3-ON.svg",
            "modifier": "EucalyJ",
            "modified": "20190817121809578",
            "creator": "EucalyJ"
        },
        "$:/plugins/Birthe/taggingpanel/buttons/new-here": {
            "created": "20190309104539360",
            "text": "\\whitespace trim\n\\define newHereButtonTags()\n[[$(currentTiddler)$]]\n\\end\n\\define newHereButton()\n<$button tooltip={{$:/language/Buttons/NewHere/Hint}} aria-label={{$:/language/Buttons/NewHere/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-new-tiddler\" tags=<<newHereButtonTags>>/>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/new-button}}\n</$list>\n</$button>\n\\end\n<<newHereButton>>",
            "title": "$:/plugins/Birthe/taggingpanel/buttons/new-here",
            "tags": "TaggingPanel",
            "tagpanel": "hide",
            "modifier": "Birthe",
            "modified": "20190817121840992",
            "description": "{{$:/language/Buttons/NewHere/Hint}}",
            "creator": "Birthe",
            "caption": "{{$:/core/images/new-button}} {{$:/language/Buttons/NewHere/Caption}}"
        },
        "$:/plugins/Birthe/taggingpanel/button/toggleTagging": {
            "created": "20180116130335332",
            "text": "<$list filter=\"[all[current]!is[missing]] [all[current]text[]] [all[current]tag[$:/tags/tagging]]\">\n\n<$reveal type=\"nomatch\" state=\"!!tagpanel\"  text=\"show\">\n\n@@float:right;padding-right:10px;<$button tooltip=\"Vis tagging\" class=\"tc-btn-invisible\" set=\"!!tagpanel\"  setTo=\"show\">{{$:/plugins/Birthe/taggingpanel/image/tagging/icon}}</$button>@@\n\n</$reveal>\n<$reveal type=\"match\" state=\"!!tagpanel\" text=\"show\">\n\n@@float:right;padding-right:10px;<$button tooltip=\"Skjul tagging\" class=\"tc-btn-invisible\" set=\"!!tagpanel\" setTo=\"hide\">{{$:/plugins/Birthe/taggingpanel/image/tagging/icon}}</$button>@@<br>\n\n<div class=\"bc-tagging\">\n<div class=\"bc-tagging-label\">\n    <$list filter=\"[all[current]!is[missing]] [all[current]text[]] [all[current]tag[$:/tags/tagging]] +[tagging[]limit[1]]\">\n        Tagging:\n    </$list>\n</div>\n\n@@display:block;max-height:50vh;overflow-x:hidden;overflow-y:auto;<ul>\n<$button class=\"minibutton\" tooltip=\"Vis nyt underemne knap\">\n<$action-setfield $tiddler=\"$:/config/toc/newSubitem\" text=\"<span class='tc-btn-invisible'>{{||$:/plugins/Birthe/taggingpanel/buttons/new-here}}</span>\"/>\n{{$:/images/fa5/regular/eye}}\n</$button>\n<$button class=\"minibutton\" tooltip=\"Skjul nyt underemne knap\">\n<$action-deletetiddler $tiddler=\"$:/config/toc/newSubitem\"/>{{$:/images/fa5/regular/eye-slash}}\n</$button>\n<$button class='minibutton'>{{||$:/plugins/Birthe/taggingpanel/buttons/new-here}}</$button><br><br>\n\n<div class=\"tc-table-of-contents\">\n<div class=\"bc-tagging-sub\">\n<$macrocall $name=\"\"\"bc-toc-selective-expandable\"\"\" tag=<<currentTiddler>>/>\n</div>\n</div>\n</ul>@@\n</div>\n\n</$reveal>\n</$list>\n\n<style>\n.minibutton {\n    background: {{!!tabs-background-color}};\n    border-radius: 4px;\n    box-shadow: 0px 1px 3px #EEE;\n    font-family: Arial;\n    color: black;\n    font-size: 12px;\n    font-weight:;\n    padding: 3px 5px;\n    text-decoration: none;\n</style>\n",
            "title": "$:/plugins/Birthe/taggingpanel/button/toggleTagging",
            "tags": "$:/tags/ViewTemplate TaggingPanel",
            "tagpanel": "hide",
            "page-background-color": "<<colour page-background>>",
            "modifier": "jd",
            "modified": "20190817122018928",
            "creator": "Birthe"
        },
        "$:/plugins/Birthe/taggingpanel/AlternativeTOCMacros": {
            "created": "20171224015615898",
            "text": "\\define bc-toc-selective-expandable(tag,sort:\"\",itemClassFilter)\n<ol class=\"tc-toc toc-selective-expandable\">\n<$list filter=\"[all[shadows+tiddlers]tag[$tag$]!has[draft.of]$sort$]\">\n<$list filter=\"[all[current]toc-link[no]]\" variable=\"ignore\" emptyMessage=\"<<bc-toc-linked-selective-expandable-body tag:'$tag$' sort:'$sort$' itemClassFilter:'$itemClassFilter$'>>\">\n<<bc-toc-unlinked-selective-expandable-body tag:\"\"\"$tag$\"\"\" sort:\"\"\"$sort$\"\"\" itemClassFilter:\"\"\"$itemClassFilter$\"\"\">>\n</$list>\n</$list>\n</ol>\n\\end\n\n\\define bc-toc-unlinked-selective-expandable-body(tag,sort:\"\",itemClassFilter)\n<$set name=\"toc-state\" value=<<qualify \"$:/state/toc/$tag$-$(currentTiddler)$\">>>\n<$set name=\"toc-item-class\" filter=\"\"\"$itemClassFilter$\"\"\" value=\"toc-item-selected\" emptyValue=\"toc-item\">\n<li class=<<toc-item-class>>>\n<$list filter=\"[all[current]tagging[]limit[1]]\" variable=\"ignore\" emptyMessage=\"<$button class='tc-btn-invisible'>{{$:/core/images/blank}}</$button> <$view field='caption'><$view field='title'/></$view>\">\n<$reveal type=\"nomatch\" state=<<toc-state>> text=\"open\">\n<$button set=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible\">\n<<toc-caption>>\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<toc-state>> text=\"open\">\n<$button set=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible\">\n<<toc-caption>>\n</$button>\n</$reveal>\n</$list>\n<$transclude tiddler='$:/config/toc/newSubitem'></$transclude>\n<$reveal type=\"match\" state=<<toc-state>> text=\"open\">\n<$macrocall $name=\"\"\"toc-selective-expandable\"\"\" tag=<<currentTiddler>> sort=\"\"\"$sort$\"\"\" itemClassFilter=\"\"\"$itemClassFilter$\"\"\"/>\n</$reveal>\n</li>\n</$set>\n</$set>\n\\end\n\n\\define bc-toc-linked-selective-expandable-body(tag,sort:\"\",itemClassFilter)\n<$set name=\"toc-state\" value=<<qualify \"$:/state/toc/$tag$-$(currentTiddler)$\">>>\n<$set name=\"toc-item-class\" filter=\"\"\"$itemClassFilter$\"\"\" value=\"toc-item-selected\" emptyValue=\"toc-item\">\n<li class=<<toc-item-class>>>\n<$link>\n<$list filter=\"[all[current]tagging[]limit[1]]\" variable=\"ignore\" emptyMessage=\"<$button class='tc-btn-invisible'>{{$:/core/images/blank}}</$button>\">\n<$reveal type=\"nomatch\" state=<<toc-state>> text=\"open\">\n<$button set=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible\">\n{{$:/core/images/right-arrow}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<toc-state>> text=\"open\">\n<$button set=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n</$button>\n</$reveal>\n</$list>\n<<toc-caption>>\n</$link>\n<$transclude tiddler='$:/config/toc/newSubitem'></$transclude>\n<$reveal type=\"match\" state=<<toc-state>> text=\"open\">\n<$macrocall $name=\"bc-toc-selective-expandable\" tag=<<currentTiddler>> sort=\"\"\"$sort$\"\"\" itemClassFilter=\"\"\"$itemClassFilter$\"\"\"/>\n</$reveal>\n</li>\n</$set>\n</$set>\n\\end",
            "title": "$:/plugins/Birthe/taggingpanel/AlternativeTOCMacros",
            "tags": "$:/tags/Macro TaggingPanel",
            "tagpanel": "hide",
            "modifier": "Birthe",
            "modified": "20190817122133312",
            "creator": "jd"
        }
    }
}
{
    "tiddlers": {
        "$:/plugins/jd/mob/config": {
            "created": "20171029115120346",
            "creator": "JD",
            "text": "<style>\n.tc-btn-invisible { text-align: left; }\n</style>\n<$reveal type=\"match\" state=\"$:/plugins/jd/mob/config/config##freshinstall\" text=\"yes\">\n<div class=\"jd-bq\">\n<p>\nThanks for installing this plugin! You can always find the latest updates <a target=\"blank\" href=\"http://j.d.simplemobile.tiddlyspot.com\">here</a>\n</p>\n<p>\nThis plugin options tiddler is also available at ''Control panel'' >> ''Appearance'' >> ''JD Mob''\n</p>\n<p>\n<$button>\n<<jdconfig freshinstall no>>\nClose message\n</$button>\n</p>\n</div>\n<br>\n<hr>\n<br>\n</$reveal>\nShow as:\n<$select tiddler=\"$:/plugins/jd/mob/config/config\" index=\"configtype\">\n<option value=\"list\">List</option>\n<option value=\"htabs\">Horizontal tabs</option>\n<option value=\"vtabs\">Vertical tabs</option>\n</$select>\n<$reveal type=\"match\" state=\"$:/plugins/jd/mob/config/config##configtype\" text=\"list\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/jd/config]]\"><$transclude/><hr></$list>\n</$reveal>\n<$reveal type=\"match\" state=\"$:/plugins/jd/mob/config/config##configtype\" text=\"htabs\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/jd/config]!has[draft.of]]\" \"$:/plugins/jd/mob/config/barpresets\">>\n</$reveal>\n<$reveal type=\"match\" state=\"$:/plugins/jd/mob/config/config##configtype\" text=\"vtabs\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/jd/config]!has[draft.of]]\" \"$:/plugins/jd/mob/config/barpresets\" \"$:/state/tab/JDconfig\" \"tc-vertical\">>\n</$reveal>",
            "title": "$:/plugins/jd/mob/config",
            "tags": "$:/tags/ControlPanel/Appearance",
            "subtitle": "Configure JD mobile layout",
            "modifier": "JD",
            "modified": "20171122151014084",
            "caption": "JD Mob"
        },
        "$:/plugins/jd/mob/config/fonts": {
            "created": "20171031124255884",
            "creator": "JD",
            "text": "<style> .texte { width: calc(100% - 60px); } </style>\n\n<h2>Fonts and heights presets</h2>\n\n\n<$button class=\"tc-btn-invisible\">\n<<jdfont 38px 30px 38px 28px 20px>>\n<<jdconfig fontsize largest>>\n<<jdradbut fontsize largest>>\n</$button> Largest\n<br>\n<$button class=\"tc-btn-invisible\">\n<<jdfont 34px 26px 34px 24px 20px>>\n<<jdconfig fontsize larger>>\n<<jdradbut fontsize larger>>\n</$button> Larger\n<br>\n<$button class=\"tc-btn-invisible\">\n<<jdfont 30px 22px 30px 20px 20px>>\n<<jdconfig fontsize large>>\n<<jdradbut fontsize large>>\n</$button> Large\n<br>\n<$button class=\"tc-btn-invisible\">\n<<jdfont 26px 18px 26px 16px 20px>>\n<<jdconfig fontsize medium>>\n<<jdradbut fontsize medium>>\n</$button> Medium\n<br>\n<$button class=\"tc-btn-invisible\">\n<<jdfont 22px 14px 20px 12px 20px>>\n<<jdconfig fontsize small>>\n<<jdradbut fontsize small>>\n</$button> Small\n<br>\n<$button class=\"tc-btn-invisible\">\n<<jdfont 18px 10px 16px 8px 20px>>\n<<jdconfig fontsize smaller>>\n<<jdradbut fontsize smaller>>\n</$button> Smaller\n<br>\n<$button class=\"tc-btn-invisible\">\n<<jdfont>>\n<<jdconfig fontsize default>>\n<<jdradbut fontsize default>>\n</$button> TW5 default\n<br>\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/jd/mob/font/font-title\" caption=\"Title\" list-before=\"$:/temp/jd/mob/font/font-body\"/>\n<$action-setfield $tiddler=\"$:/temp/jd/mob/font/font-body\" caption=\"Body, text buttons\" list-after=\"$:/temp/jd/mob/font/font-title\"/>\n<$action-setfield $tiddler=\"$:/temp/jd/mob/font/lineheight\" caption=\"Lineheight\"/>\n<$action-setfield $tiddler=\"$:/temp/jd/mob/font/font-tab-button\" caption=\"Tab buttons\"/>\n<$action-setfield $tiddler=\"$:/temp/jd/mob/font/font-button\" caption=\"Image buttons\"/>\n<<jdconfig fontsize custom>>\n<<jdradbut fontsize custom>>\n</$button> Custom\n\n<$reveal type=\"match\" state=\"$:/plugins/jd/mob/config/config##fontsize\" text=\"custom\">\n\nInclude unit (''px'' or ''em'') when entering custom values\n\n<table style=\"width:100%\">\n<tr>\n<th style=\"width:40%\">Element</th>\n<th style=\"width:60%\">Adjust</th>\n</tr>\n<$list filter=\"[all[shadows+tiddlers]prefix[$:/temp/jd/mob/font/]!suffix[sitetitle]]\">\n<tr>\n<td><$view field=\"caption\"/></td>\n<td><$edit-text tiddler={{!!title}} field=\"temp\" placeholder={{!!text}} class=\"texte\"/>\n<$reveal type=\"match\" state=!!temp text=\"\">\n<$button class=\"tc-btn-invisible\" style=\"color:grey; cursor:not-allowed;\">✓</$button>\n<$button class=\"tc-btn-invisible\" style=\"color:grey; cursor:not-allowed;\">✕</$button>\n</$reveal>\n<$reveal type=\"nomatch\" state=!!temp text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler={{!!title}} text={{!!temp}}/>\n<$action-setfield $tiddler={{!!title}} temp=\"\"/>✓</$button>\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler={{!!title}} temp=\"\"/>✕</$button>\n</$reveal>\n</td>\n</tr>\n</$list>\n</table>\n</$reveal>\n<br><br>",
            "title": "$:/plugins/jd/mob/config/fonts",
            "tags": "$:/tags/jd/config",
            "modifier": "JD",
            "modified": "20171120143104637",
            "caption": "Fonts and heights"
        },
        "$:/plugins/jd/mob/readme": {
            "created": "20171030143047925",
            "creator": "JD",
            "text": "This is a mobile layout that applies to narrow screens. It introduces the following:\n\n# A Topbar that can be any of the following:\n#* Hidden\n#* Titlebar (search, title, subtitle, menu)\n#* Mobbuttons bar\n#**  Buttons tagged ''~$:/tags/jd/mobbutton''\n#* Searchbar\n#**  Simple searchbar lists standard search results only\n#**  Combined searchbar lists all search results (possibly slow on some devices)\n#* Control area containing ''Top Left Bar'', ''Page Control'', ''Mob-only'', and ''Top Right Bar'' buttons (in that order)\n#**  ''Top Left Bar'' >> buttons tagged ''~$:/tags/TopLeftBar''\n#**  ''Page control'' >> buttons tagged ''~$:/tags/PageControls''\n#**  ''Mob-only'' >> other buttons tagged ''~$:/tags/jd/mobbutton''\n#**  ''Top Right Bar'' >> buttons tagged ''~$:/tags/TopRightBar''\n#**  Buttons you don't want to appear here should be tagged ''~$:/tags/jd/mobno'' \n\n# A Bottombar that can be any of the following:\n#* Hidden\n#* Mobbuttons bar\n#**  Buttons tagged ''~$:/tags/jd/mobbutton''\n#* Control area containing ''Top Left Bar'', ''Page Control'', ''Mob-only'', and ''Top Right Bar'' buttons (in that order)\n#**  ''Top Left Bar'' >> buttons tagged ''~$:/tags/TopLeftBar''\n#**  ''Page control'' >> buttons tagged ''~$:/tags/PageControls''\n#**  ''Mob-only'' >> other buttons tagged ''~$:/tags/jd/mobbutton''\n#**  ''Top Right Bar'' >> buttons tagged ''~$:/tags/TopRightBar''\n#**  Buttons you don't want to appear here should be tagged ''~$:/tags/jd/mobno'' \n\n//Note:// \n\nThis layout is tied to the ''Sidebar Breakpoint'' set at ''Control Panel'' >> ''Appearance'' >> ''Theme Tweaks''.\n\nThis layout is compatible with any core theme as of release date.\n\n<a target=\"blank\" href=\"http://j.d.simplemobile.tiddlyspot.com\">Project Homepage on Tiddlyspot</a>\n\n!! Version History\n\n!!! 2017-11-20 Release of version 1.0.2\n\n''Changelog''\n\n* Added ''Larger'', ''Largest'', and ''Smallest'' options to font sizes\n* Added ''Mobbuttons'' option to topbar and bottombar\n* Added options to topbar and bottombar configurations\n* Added button to config modal (can be turned on or off)\n* Cleaned up config tiddler\n* Cleaned up code and other bugfixes\n\n!!! 2017-11-15 Release of version 1.0.0\n\n''Changelog''\n\n* Abandoned custom lists, reverted to core lists\n* Added topbar and bottombar options (with preset combinations)\n** topbar: combined searchbar, or titlebar, or controls area, or hidden\n** bottombar: controls area, or hidden\n* Added ability to adjust font sizes and button sizes\n* Added 'delete' filter button to combined searchbar\n* Introduced simple searchbar available as a button only at topbar controls area and titlebar\n* Added ability to use an experiment on the story river so the first tiddler in the story river won't scroll past the topbar (just a stylesheet option)\n* Overhauled the config tiddler\n* Cleaned up code and tiddler names\n* Checked compatibility with TW5.1.15\n\n!!! 2017-10-31 Release of version 0.9.9",
            "title": "$:/plugins/jd/mob/readme",
            "tags": "",
            "modifier": "JD",
            "modified": "20171122145756694"
        },
        "$:/plugins/jd/mob/config/config": {
            "created": "20171109145547252",
            "creator": "JD",
            "text": "freshinstall: yes\ndefaultconfirm: cancel\nconfigtype: list\nfontsize: default\nscrollbars: show\nbarpreset: 4\nstoryfix: no\ntitlebaradjust: no\ntopbar: fixedsearch\ntopbarchoice: hide\nsearchbar: yes\nradbuttop: fixedsearch\nsearchbarchoice: simple\nbottombar: controls\nradbuttopfixedsearchops: hide\nradbuttopcontrolsops: hide\nradbuttopmobbuttonsops: hide\nradbuttoptitleops: hide\nbottombarcontrolsops: hide\nbottombarmobbuttonsops: hide\nbarpreset1ops: hide\nbarpreset2ops: hide\nbarpreset3ops: hide\nbarpreset4ops: hide\nsearchbutton: simple\nfocus: show",
            "type": "application/x-tiddler-dictionary",
            "title": "$:/plugins/jd/mob/config/config",
            "modifier": "JD",
            "modified": "20171122154523597"
        },
        "$:/plugins/jd/mob/config/topbar": {
            "created": "20171028024424838",
            "creator": "JD",
            "text": "<h2>Topbar</h2>\n<$button class=tc-btn-invisible>\n<<setTopsearchbar>>\n<<tglSearch>>\n<<jdconfig searchbutton simple>>\n<<jdradbut radbuttop fixedsearch>>\n</$button> Fixed searchbar\n<<moreOps radbuttop fixedsearch searchbar>>\n<$button class=tc-btn-invisible>\n<<setTopcontrols>>\n<<tglSearch>>\n<<jdconfig searchbutton simple>>\n<<jdradbut radbuttop controls>>\n</$button> Controls\n<<moreOps radbuttop controls searchbutton>>\n<$button class=tc-btn-invisible>\n<<setTopmobbuttons>>\n<<tglSearch>>\n<<jdconfig searchbutton simple>>\n<<jdradbut radbuttop mobbuttons>>\n</$button> Mob buttons only\n<<moreOps radbuttop mobbuttons searchbutton>>\n<$button class=tc-btn-invisible>\n<<setToptitlebar>>\n<<tglSearch>>\n<<jdconfig searchbutton simple>>\n<<jdradbut radbuttop title>>\n</$button> Titlebar\n<<moreOps radbuttop title titlebar>>\n<$button class=tc-btn-invisible>\n<<setTophide>>\n<<jdradbut radbuttop hide>>\n</$button> Hidden\n<br>",
            "title": "$:/plugins/jd/mob/config/topbar",
            "modifier": "JD",
            "modified": "20171122131221362",
            "list-before": "$:/plugins/jd/mob/config/bottombar",
            "caption": "Topbar style"
        },
        "$:/plugins/jd/mob/config/bottombar": {
            "created": "20171110164302862",
            "creator": "JD",
            "text": "<h2>Bottombar</h2>\n<$button class=\"tc-btn-invisible\">\n<<setBottomcontrols>>\n<<jdradbut bottombar controls>>\n</$button> Controls\n<<moreOps bottombar controls searchbutton>>\n<$button class=\"tc-btn-invisible\">\n<<jdconfig bottombar mobbuttons>>\n<<jdradbut bottombar mobbuttons>>\n</$button> Mob buttons only\n<<moreOps bottombar mobbuttons searchbutton>>\n<$button class=\"tc-btn-invisible\">\n<<noBottom>>\n<<jdradbut bottombar hide>>\n</$button> Hidden\n<br>",
            "title": "$:/plugins/jd/mob/config/bottombar",
            "modifier": "JD",
            "modified": "20171122131210851",
            "list-after": "$:/plugins/jd/mob/config/topbar",
            "caption": "Bottombar style"
        },
        "$:/plugins/jd/mob/config/barpresets": {
            "created": "20171113033257223",
            "creator": "JD",
            "text": "<h2>Topbar and bottombar presets</h2>\n<$button class=\"tc-btn-invisible\">\n<<jdconfig barpreset 1>>\n<<setToptitlebar>>\n<<noBottom>>\n<<jdradbut barpreset 1>>\n</$button> ''Titlebar'' on top, hidden bottom\n<<moreOps barpreset 1 titlebar>>\n<$button class=\"tc-btn-invisible\">\n<<jdconfig barpreset 2>>\n<<setTopcontrols>>\n<<noBottom>>\n<<jdradbut barpreset 2>>\n</$button> ''Controls'' on top, hidden bottom\n<<moreOps barpreset 2 searchbutton>>\n<$button class=\"tc-btn-invisible\">\n<<jdconfig barpreset 3>>\n<<setTophide>>\n<<setBottomcontrols>>\n<<jdradbut barpreset 3>>\n</$button> Hidden top, ''Controls'' on bottom\n<<moreOps barpreset 3 searchbutton>>\n<$button class=\"tc-btn-invisible\">\n<<jdconfig barpreset 4>>\n<<setTopsearchbar>>\n<<setBottomcontrols>>\n<<jdradbut barpreset 4>>\n</$button> ''Searchbar'' on top, ''Controls'' on bottom\n<<moreOps barpreset 4 searchbar>>\n<$button class=\"tc-btn-invisible\">\n<<jdconfig barpreset 5>>\n<<jdradbut barpreset 5>>\n</$button> Custom topbar and bottombar\n<$reveal type=\"match\" state=\"$:/plugins/jd/mob/config/config##barpreset\" text=\"5\">\n{{$:/plugins/jd/mob/config/topbar}}\n{{$:/plugins/jd/mob/config/bottombar}}\n</$reveal>\n<br><br>",
            "title": "$:/plugins/jd/mob/config/barpresets",
            "tags": "$:/tags/jd/config",
            "modifier": "JD",
            "modified": "20171122154450000",
            "caption": "Top and bottom bars"
        },
        "$:/plugins/jd/mob/template/topbar": {
            "text": "<$reveal type=\"match\" state=\"$:/plugins/jd/mob/config/config##topbar\" text=\"fixedsearch\">\n<$reveal type=\"match\" state=\"$:/plugins/jd/mob/config/config##fixedsearch\" text=\"combined\">\n{{$:/plugins/jd/mob/template/combinedsearch}}\n</$reveal>\n<$reveal type=\"match\" state=\"$:/plugins/jd/mob/config/config##fixedsearch\" text=\"simple\">\n{{$:/plugins/jd/mob/template/simplesearch}}\n</$reveal>\n</$reveal>\n<$reveal type=\"match\" state=\"$:/plugins/jd/mob/config/config##topbar\" text=\"controls\">\n<span class=\"jd-topbar\">\n{{$:/plugins/jd/mob/template/controls}}\n</span>\n</$reveal>\n<$reveal type=\"match\" state=\"$:/plugins/jd/mob/config/config##topbar\" text=\"mobbuttons\">\n<span class=\"jd-topbar\">\n<div class=\"tc-page-controls\">\n{{$:/plugins/jd/mob/template/mobbuttons}}\n</div>\n</span>\n</$reveal>\n<$reveal type=\"match\" state=\"$:/plugins/jd/mob/config/config##topbar\" text=\"title\">\n<span class=\"jd-topbar\">\n{{$:/plugins/jd/mob/template/titlebar}}\n</span>\n</$reveal>",
            "title": "$:/plugins/jd/mob/template/topbar",
            "tags": "$:/tags/PageTemplate",
            "modifier": "JD",
            "modified": "20171118170723817",
            "fixedsearch": "{{$:/plugins/jd/mob/template/combinedsearch}}",
            "creator": "JD",
            "created": "20171018115714311"
        },
        "$:/plugins/jd/mob/template/titlebar": {
            "created": "20171112032454483",
            "creator": "JD",
            "text": "<div class=\"jd-title-wrapper\">\n<span class=\"tc-site-title\"><$transclude tiddler=\"$:/SiteTitle\"/></span>\n<span class=\"tc-site-subtitle\"><$transclude tiddler=\"$:/SiteSubtitle\"/></span>\n</div>\n<div class=\"jd-title-controls\">\n<$reveal type=\"match\" state=\"$:/plugins/jd/mob/config/config##searchbutton\" text=\"simple\">\n{{$:/plugins/jd/mob/button/search}}\n</$reveal>\n<$reveal type=\"match\" state=\"$:/plugins/jd/mob/config/config##searchbutton\" text=\"combined\">\n{{$:/plugins/jd/mob/button/search}}\n</$reveal>\n<$reveal type=\"match\" state=\"$:/plugins/jd/mob/config/config##searchbutton\" text=\"core\">\n{{$:/core/ui/Buttons/advanced-search}}\n</$reveal>\n{{$:/core/ui/TopBar/menu}}\n</div>",
            "title": "$:/plugins/jd/mob/template/titlebar",
            "tags": "",
            "modifier": "JD",
            "modified": "20171122134204001"
        },
        "$:/plugins/jd/mob/template/controls": {
            "created": "20171111135718973",
            "creator": "JD",
            "text": "\\define config-title()\n$:/config/PageControlButtons/Visibility/$(listItem)$\n\\end\n<div class=\"tc-page-controls\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TopLeftBar]!has[draft.of]!tag[$:/tags/jd/mobno]]\">\n<$transclude/>\n</$list>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]!tag[$:/tags/jd/mobno]]\" variable=\"listItem\">\n<$reveal type=\"nomatch\" state=<<config-title>> text=\"hide\">\n<$transclude tiddler=<<listItem>>/>\n</$reveal>\n</$list>\n{{$:/plugins/jd/mob/template/mobbuttons}}\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TopRightBar]!has[draft.of]!tag[$:/tags/jd/mobno]]\">\n<$transclude/>\n</$list>\n</div>",
            "title": "$:/plugins/jd/mob/template/controls",
            "tags": "",
            "modifier": "JD",
            "modified": "20171119140040863"
        },
        "$:/plugins/jd/mob/template/bottombar": {
            "text": "<div class=\"jd-bottombar\">\n<$reveal type=\"match\" state=\"$:/plugins/jd/mob/config/config##bottombar\" text=\"controls\">\n{{$:/plugins/jd/mob/template/controls}}\n</$reveal>\n<$reveal type=\"match\" state=\"$:/plugins/jd/mob/config/config##bottombar\" text=\"mobbuttons\">\n<div class=\"tc-page-controls\">\n{{$:/plugins/jd/mob/template/mobbuttons}}\n</div>\n</$reveal>\n</div>",
            "title": "$:/plugins/jd/mob/template/bottombar",
            "tags": "$:/tags/PageTemplate",
            "modifier": "JD",
            "modified": "20171118170729880",
            "creator": "JD",
            "created": "20171115114644869"
        },
        "$:/plugins/jd/mob/template/mobbuttons": {
            "text": "\\define config-mobtitle()\n$:/config/jd/mobbutton/visibility/$(listItem)$\n\\end\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/jd/mobbutton]!has[draft.of]]\" variable=\"listItem\">\n<$reveal type=\"nomatch\" state=<<config-mobtitle>> text=\"hide\">\n<$transclude tiddler=<<listItem>>/>\n</$reveal>\n</$list>",
            "title": "$:/plugins/jd/mob/template/mobbuttons",
            "tags": "",
            "modifier": "JD",
            "modified": "20171118161831963",
            "creator": "JD",
            "created": "20171118055005587"
        },
        "$:/plugins/jd/mob/config/mobbuttons": {
            "created": "20171118051624478",
            "creator": "JD",
            "text": "\\define config-base() $:/config/jd/mobbutton/visibility/\n<h2>Mob buttons</h2>\n<p>Here are buttons tagged <b>~$:/tags/jd/mobbutton</b></p>\n<p>Choose which ones are displayed. Drag and drop to change the ordering</p>\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n<$macrocall $name=\"list-tagged-draggable\" tag=\"$:/tags/jd/mobbutton\" itemTemplate=\"$:/core/ui/ControlPanel/Toolbars/ItemTemplate\"/>\n</$set>\n</$set>\n<br>",
            "title": "$:/plugins/jd/mob/config/mobbuttons",
            "tags": "$:/tags/jd/config",
            "modifier": "JD",
            "modified": "20171122150902808",
            "caption": "Mob buttons"
        },
        "$:/plugins/jd/mob/button/config": {
            "text": "<$button tooltip=\"Configure JD mobile layout\" class=\"tc-btn-invisible\">{{$:/core/images/theme-button}}<$action-sendmessage $message=\"tm-modal\" $param=\"$:/plugins/jd/mob/config\"/></$button>",
            "title": "$:/plugins/jd/mob/button/config",
            "tags": "$:/tags/jd/mobbutton",
            "modifier": "JD",
            "modified": "20171122114923959",
            "description": "Configure JD mobile layout",
            "creator": "JD",
            "created": "20171117090228867",
            "caption": "{{$:/core/images/theme-button}} configure JDmob"
        },
        "$:/plugins/jd/mob/stylesheet": {
            "created": "20171016123229521",
            "creator": "JD",
            "text": "/**  CONFIG RADIO BUTTONS  **/\n\n.radbutton, .radbuttoff { \n    display: inline-block; \n    height: 12px; \n    width: 12px; \n    border: 2px solid <<colour muted-foreground>>; \n    -webkit-transition-duration: {{$:/config/AnimationDuration}}ms;\n    -moz-transition-duration: {{$:/config/AnimationDuration}}ms;\n    -ms-transition-duration: {{$:/config/AnimationDuration}}ms;\n    -o-transition-duration: {{$:/config/AnimationDuration}}ms;\n    transition-duration: {{$:/config/AnimationDuration}}ms;\n}\n\n.radbutton { background: <<colour primary>>; }\n.radbuttoff { background: <<colour muted-foreground>>; }\n.radbutton:hover, .radbuttoff:hover { \n    border: 2px solid <<colour primary>>;\n    background: <<colour primary>>; \n}\n\n.jd-bq {\n    margin: 5px;\n    padding: 5px;\n    border: 1px solid <<colour tab-border>>;\n}\n\n.jd-bq, .radbutton, .radbuttoff {\n    -webkit-border-radius: 6px;\n    -moz-border-radius: 6px;\n    -ms-border-radius: 6px;\n    -o-border-radius: 6px;\n    border-radius: 6px;\n}\n\n.jd-btn-txt {\n    border: none;\n    background: none;\n    font-size: inherit;\n    text-decoration: underline;\n    padding: 0;\n    margin: 0;\n}\n\n.jd-btn-txt:hover {\n    text-decoration: none;\n}\n\n@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) { \n.jd-topbar, \n.jd-bottombar,\n.jd-search { display: none; }\n} \n\n@media (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) { \n\n.tc-topbar { display: none !important; } \n\n.tc-tags-wrapper { margin: 5px 0 !important; }\n\n\n/**  NOTIFICATIONS  **/\n\n.tc-notification {\n    position: fixed; \n    top: 60px !important;\n    right: 10px !important;\n    z-index: {{!!z-bar}} !important;\n}\n\n.tc-modal {\n    top: 50px !important;\n    left: 50px !important;\n    right: 50px !important;\n}\n\n.tc-modal-body { max-height: calc(100vh - 200px) !important; }\n\n.tc-modal-wrapper,\n.tc-plugin-reload-warning { z-index: {{!!z-notif}} !important; }\n\n\n/**  STORY RIVER  **/\n\n.tc-story-river { \n    margin: 0 !important;\n    padding-top: 0 !important;\n}\n\n<$reveal type=\"match\" state=\"$:/plugins/jd/mob/config/config##storyfix\" text=\"no\">\n\n<$reveal type=\"nomatch\" state=\"$:/plugins/jd/mob/config/config##topbar\" text=\"hide\">\n\n.tc-story-river { margin-top: 50px !important; }\n\n</$reveal>\n\n<$reveal type=\"nomatch\" state=\"$:/plugins/jd/mob/config/config##bottombar\" text=\"hide\">\n\n.tc-story-river { margin-bottom: 50px !important; }\n\n</$reveal>\n\n</$reveal>\n\n<$reveal type=\"match\" state=\"$:/plugins/jd/mob/config/config##storyfix\" text=\"yes\">\n\n.tc-story-river { \n    width: 100% !important;\n    position: fixed !important;\n    left: 0 !important;\n    overflow-y: auto !important;\n}\n\n<$reveal type=\"nomatch\" state=\"$:/plugins/jd/mob/config/config##topbar\" text=\"hide\">\n\n<$reveal type=\"match\" state=\"$:/plugins/jd/mob/config/config##bottombar\" text=\"hide\">\n.tc-story-river { \n    top: 50px !important;\n    height: calc(100% - 50px) !important;\n}\n</$reveal>\n\n<$reveal type=\"nomatch\" state=\"$:/plugins/jd/mob/config/config##bottombar\" text=\"hide\">\n.tc-story-river { \n    top: 50px !important; \n    height: calc(100% - 100px) !important;\n}\n</$reveal>\n\n</$reveal>\n\n<$reveal type=\"match\" state=\"$:/plugins/jd/mob/config/config##topbar\" text=\"hide\">\n\n<$reveal type=\"match\" state=\"$:/plugins/jd/mob/config/config##bottombar\" text=\"hide\">\n.tc-story-river { \n    top: 0 !important; \n    height: 100% !important;\n}\n</$reveal>\n\n<$reveal type=\"nomatch\" state=\"$:/plugins/jd/mob/config/config##bottombar\" text=\"hide\">\n.tc-story-river { \n    top: 0 !important; \n    height: calc(100% - 50px) !important;\n}\n</$reveal>\n\n</$reveal>\n\n</$reveal>\n\n.tc-tiddler-frame {\n    margin-bottom: 2px !important;\n    padding: 15px 10px;\n    overflow: auto;\n}\n\n\n/**  POPUPS AND DROPDOWNS INSIDE VIEW AREA  **/\n\n.tc-drop-down,\n.tc-block-dropdown {\n    position: fixed !important;\n    top: 50% !important;\n    left: 50% !important;\n    text-align: left;\n    white-space: normal !important;\n    max-height: calc(100% - 160px) !important;\n    min-width: calc(100% - 90px) !important;\n    max-width: calc(100% - 60px) !important;\n   -webkit-transform: translate(-50%, -50%) !important;\n   -moz-transform: translate(-50%, -50%) !important;\n   -ms-transform: translate(-50%, -50%) !important;\n   -o-transform: translate(-50%, -50%) !important;\n    transform: translate(-50%, -50%) !important;\n    -webkit-box-shadow: 0 0 10px 5px rgba(0,0,0,0.5);\n    -moz-box-shadow: 0 0 10px 5px rgba(0,0,0,0.5);\n    -ms-box-shadow: 0 0 10px 5px rgba(0,0,0,0.5);\n    -o-box-shadow: 0 0 10px 5px rgba(0,0,0,0.5);\n    box-shadow: 0 0 10px 5px rgba(0,0,0,0.5);\n    overflow: auto !important;\n    z-index: {{!!z-dropdown}} !important;\n}\n\n.tc-menu-list-item {\n    padding-left: 5px;\n    text-indent: -5px;\n    white-space: normal !important;\n    word-wrap: break-word !important;\n    -webkit-word-break: break-all !important;\n    -moz-word-break: break-all !important;\n    -ms-word-break: break-all !important;\n    -o-word-break: break-all !important;\n    word-break: break-all !important;\n}\n\n.tc-edit-type-dropdown { overflow: auto; }\n\n\n/**  SCROLLBARS  **/\n\n<$reveal type=\"match\" state=\"$:/plugins/jd/mob/config/config##scrollbars\" text=\"hide\">\n\nbody { \n   -ms-overflow-style: -ms-autohiding-scrollbar;\n}\n\ndiv::-webkit-scrollbar,\n.tc-edit-type-dropdown::-webkit-scrollbar,\n.tc-block-dropdown::-webkit-scrollbar,\n.tc-drop-down::-webkit-scrollbar,\n.jd-search-results::-webkit-scrollbar,\n.tc-story-river::-webkit-scrollbar,\n.tc-sidebar-scrollable::-webkit-scrollbar {\n    background: transparent;\n    width: 0;\n}\n\n</$reveal>\n\n<$reveal type=\"match\" state=\"$:/plugins/jd/mob/config/config##scrollbars\" text=\"show\">\n\nbody { \n    scrollbar-face-color: <<colour background>>;\n    scrollbar-arrow-color: <<colour page-background>>;\n    scrollbar-track-color: <<colour page-background>>;\n    scrollbar-shadow-color: <<colour page-background>>;\n}\n\ndiv::-webkit-scrollbar,\n.tc-edit-type-dropdown::-webkit-scrollbar,\n.tc-block-dropdown::-webkit-scrollbar,\n.tc-drop-down::-webkit-scrollbar,\n.tc-story-river::-webkit-scrollbar,\n.tc-sidebar-scrollable::-webkit-scrollbar {\n    background: <<colour background>>;\n    width: 6px;\n    -webkit-border-radius: 3px;\n    border-radius: 3px;\n}\n\ndiv::-webkit-scrollbar-thumb,\n.tc-edit-type-dropdown::-webkit-scrollbar-thumb,\n.tc-block-dropdown::-webkit-scrollbar-thumb,\n.tc-drop-down::-webkit-scrollbar-thumb,\n.jd-search-results::-webkit-scrollbar,\n.tc-story-river::-webkit-scrollbar-thumb,\n.tc-sidebar-scrollable::-webkit-scrollbar-thumb {\n    background: <<colour page-background>>; \n    width: 6px;\n    -webkit-border-radius: 3px;\n    border-radius: 3px;\n}\n\n.jd-search-results::-webkit-scrollbar-thumb {\n    background: <<colour primary>>;\n    width: 6px;\n    -webkit-border-radius: 3px;\n    border-radius: 3px;\n}\n\n</$reveal>\n\n\n/**  FOCUS  **/\n\n<$reveal type=\"match\" state=\"$:/plugins/jd/mob/config/config##focus\" text=\"hide\">\ntextarea:focus, select:focus, button:focus, input:focus { outline: none; }\n</$reveal>\n\n\n/**  TOPBAR & BOTTOMBAR  **/\n\n.jd-topbar,\n.jd-bottombar {\n    width: 100%;\n    position: fixed;\n    left: 0;\n    background: <<colour page-background>>;\n    overflow: hidden;\n    z-index: {{!!z-bar}};\n}\n\n.jd-topbar { top: 0; height: 50px; }\n.jd-bottombar { bottom: 0; }\n\n\n/**  SEARCH  **/\n\n.jd-search { z-index: {{!!z-search}}; }\n\n.jd-search-results {\n    background: <<colour page-background>>;\n    width: 100%;\n    position: fixed;\n    top: 50px;\n    left: 0;\n    margin: 0;\n    padding: 0 10px;\n    overflow-y: auto;\n    z-index: {{!!z-searchwrapper}};\n}\n\n<$reveal type=\"nomatch\" state=\"$:/plugins/jd/mob/config/config##bottombar\" text=\"hide\">\n.jd-search-results { max-height: calc(100% - 100px); }\n</$reveal>\n\n<$reveal type=\"match\" state=\"$:/plugins/jd/mob/config/config##bottombar\" text=\"hide\">\n.jd-search-results { max-height: calc(100% - 50px); }\n</$reveal>\n\n.jd-searchwrapper {\n    background: <<colour page-background>>;\n    position: fixed;\n    top: 0;\n    left: 0;\n    width: 100%;\n    height: 50px;\n    z-index: {{!!z-searchwrapper}};\n}\n\n.jd-searchbar {\n    width: calc(100% - 20px);\n    height: 30px; \n    position: fixed;\n    top: 0;\n    left: 0;\n    font-size: 16px !important;\n    background: transparent !important;\n    border: none;\n    border-bottom: 2px solid<<colour primary>>;\n    padding: 0 140px 0 10px;\n    margin: 10px;\n}\n\n.jd-search-buttons {\n    width: 140px; \n    position: fixed; \n    top: 12px;\n    right: 0; \n    background: <<colour page-background>>;\n    border: transparent;\n    margin-right: 20px; \n    text-align: right;\n    vertical-align: middle;\n}\n\n.jd-search-buttons {\n    z-index: {{!!z-searchbuttons}};\n}\n\n.jd-search-buttons .tc-popup-keep,\n.jd-search-buttons .tc-btn-invisible {\n    font-size: 18px;\n    background: transparent;\n    border: transparent;\n    cursor: pointer;\n}\n\n.jd-search-buttons .tc-btn-invisible { margin-left: 8px; }\n\n\n/**  CONTROLS **/\n\n.jd-title-controls {\n    display: flex;\n    justify-content: space-between;\n    margin: 10px;\n}\n\n.jd-search-buttons button,\n.jd-title-controls button {\n    fill: <<colour sidebar-controls-foreground>>;\n    font-size: 1.6em;\n    -webkit-transition-duration: {{$:/config/AnimationDuration}}ms;\n    -moz-transition-duration: {{$:/config/AnimationDuration}}ms;\n    -ms-transition-duration: {{$:/config/AnimationDuration}}ms;\n    -o-transition-duration: {{$:/config/AnimationDuration}}ms;\n    transition-duration: {{$:/config/AnimationDuration}}ms;\n}\n\n.jd-search-buttons button:hover,\n.jd-title-controls button:hover {\n    fill: <<colour sidebar-controls-foreground-hover>>;\n}\n\n.jd-topbar .tc-page-controls,\n.jd-bottombar .tc-page-controls {\n    display: flex;\n    justify-content: space-between;\n    height: 30px;\n    margin: 10px;\n}\n\n.tc-page-controls button { margin: 0 !important;}\n\n\n/**  TITLEBAR  **/\n\n.jd-title-wrapper .tc-site-title,\n.jd-title-wrapper .tc-site-subtitle {\n    position: absolute;\n    left: 50%;\n    text-align: center;\n   -webkit-transform: translate(-50%, 50%);\n   -moz-transform: translate(-50%, 50%);\n   -ms-transform: translate(-50%, 50%);\n   -o-transform: translate(-50%, 50%);\n    transform: translate(-50%, 50%);\n}\n\n.jd-title-wrapper .tc-site-subtitle {\n    width: calc(100% - 100px);\n}\n\n\n/**  SIDEBAR LISTS  **/\n\n.tc-sidebar-scrollable .tc-site-title,\n.tc-sidebar-scrollable .tc-site-subtitle,\n.tc-sidebar-scrollable .tc-page-controls,\n.tc-sidebar-scrollable .tc-search\n { display: none; }\n\n.tc-sidebar-header { padding: 0 !important; }\n\n<$reveal state=\"$:/state/sidebar\" type=\"nomatch\" text=\"no\">\n.tc-sidebar-scrollable {\n    background: <<colour background>>;\n    width: 100%;\n    position: fixed;\n    left: 0; \n    z-index: {{!!z-sidebar}};\n    overflow: auto !important;\n}\n</$reveal>\n\n<$reveal type=\"match\" state=\"$:/state/sidebar\" text=\"no\">\n\n.tc-sidebar-scrollable { display:none; }\n\n.tc-tab-set { overflow-y: auto !important; }\n\n</$reveal>\n\n<$reveal type=\"nomatch\" state=\"$:/plugins/jd/mob/config/config##topbar\" text=\"hide\">\n\n<$reveal type=\"match\" state=\"$:/plugins/jd/mob/config/config##bottombar\" text=\"hide\">\n.tc-sidebar-scrollable { \n    top: 50px !important;\n    height: calc(100% - 50px) !important;\n}\n\n.tc-sidebar-scrollable .tc-tab-buttons { top: 50px; }\n</$reveal>\n\n<$reveal type=\"nomatch\" state=\"$:/plugins/jd/mob/config/config##bottombar\" text=\"hide\">\n.tc-sidebar-scrollable { \n    top: 50px !important;\n    height: calc(100% - 100px) !important;\n}\n\n.tc-sidebar-scrollable .tc-tab-buttons { top: 50px; }\n</$reveal>\n\n</$reveal>\n\n<$reveal type=\"match\" state=\"$:/plugins/jd/mob/config/config##topbar\" text=\"hide\">\n\n<$reveal type=\"match\" state=\"$:/plugins/jd/mob/config/config##bottombar\" text=\"hide\">\n.tc-sidebar-scrollable { \n    top: 0 !important;\n    height: 100% !important;\n}\n</$reveal>\n\n<$reveal type=\"nomatch\" state=\"$:/plugins/jd/mob/config/config##bottombar\" text=\"hide\">\n.tc-sidebar-scrollable { \n    top: 0 !important;\n    height: calc(100% - 50px) !important;\n}\n</$reveal>\n\n</$reveal>\n\n\n/**  SIDEBAR LISTS BUTTONS  **/\n\n.tc-sidebar-scrollable .tc-tab-buttons { margin: 10px; }\n\n.tc-sidebar-scrollable .tc-tab-content { \n    margin: 10px !important; \n    border: 0 !important;\n}\n\n\n/**  ADJUSTABLE  FONTS AND HEIGHTS  **/\n\n<$reveal type=\"match\" state=\"$:/plugins/jd/mob/config/config##titlebaradjust\" text=\"no\">\n.jd-title-wrapper .tc-site-title { top: -3px; font-size: 18px; }\n.jd-title-wrapper .tc-site-subtitle { top: 15px; font-size: 12px; }\n</$reveal>\n\n<$reveal type=\"match\" state=\"$:/plugins/jd/mob/config/config##titlebaradjust\" text=\"yes\">\n.jd-title-wrapper .tc-site-title { top: {{!!height-sitetitle}}; font-size: {{!!font-sitetitle}}; }\n.jd-title-wrapper .tc-site-subtitle { top: {{!!height-subsitetitle}}; font-size: {{!!font-subsitetitle}}; }\n</$reveal>\n\n<$reveal type=\"nomatch\" state=\"$:/plugins/jd/mob/config/config##fontsize\" text=\"default\">\n\n.tc-tiddler-view-frame h2.tc-title,\ninput.tc-titlebar.tc-edit-texteditor { \n    font-size: {{!!font-title}} !important; \n}\n\n.tc-tiddler-view-frame .tc-subtitle { \n    font-size: calc({{!!font-body}} - 4px) !important; \n}\n\nh1, h1 a { \n    font-size: calc({{!!font-body}} + 6px) !important; \n}\n\nh2, h2 a { \n    font-size: calc({{!!font-body}} + 4px) !important; \n}\n\nh3, h3 a { \n    font-size: calc({{!!font-body}} + 2px) !important; \n}\n\nh4, a, li, table,\ninput, textarea, select,\n.tc-tiddler-preview-preview p,\n.tc-tiddler-view-frame p,\n.tc-modal p,\n.tc-btn-text,\n.jd-search-results,\n.tc-tab-content,\n.tc-modal-header h3 { \n    font-size: {{!!font-body}} !important; \n    line-height: {{!!lineheight}} !important;\n}\n\nbutton.tc-btn-invisible.tc-remove-tag-button,\n.tc-tag-label.tc-btn-invisible { \n    font-size: calc({{!!font-body}} - 4px) !important; \n}\n\n.tc-tab-buttons button,\n.tc-tab-buttons.tc-vertical button,\n.tc-sidebar-scrollable .tc-tab-buttons button,\n.tc-sidebar-scrollable .tc-tab-buttons.tc-vertical button {\n    font-size: {{!!font-tab-button}} !important;\n}\n\n.tc-btn-invisible,\n.tc-tiddler-controls button, \n.tc-tiddler-controls button svg, \n.tc-tiddler-controls button img,\n.tc-image-buttons,\n.tc-page-controls { \n    font-size: {{!!font-button}} !important; \n}\n\n.tc-tiddler-controls button svg, \n.tc-tiddler-controls button img,\n.tc-image-buttons { \n    height: {{!!font-button}} !important; \n    width: {{!!font-button}} !important; \n}\n\n</$reveal>\n\n}",
            "z-sidebar": "1500",
            "z-searchwrapper": "2500",
            "z-notif": "9000",
            "z-dropdown": "4000",
            "z-bar": "2000",
            "title": "$:/plugins/jd/mob/stylesheet",
            "tags": "$:/tags/Stylesheet",
            "modifier": "JD",
            "modified": "20171122135829303",
            "lineheight": "{{$:/temp/jd/mob/font/lineheight}}",
            "height-subsitetitle": "{{$:/temp/jd/mob/font/height-subsitetitle}}",
            "height-sitetitle": "{{$:/temp/jd/mob/font/height-sitetitle}}",
            "font-title": "{{$:/temp/jd/mob/font/font-title}}",
            "font-tab-button": "{{$:/temp/jd/mob/font/font-tab-button}}",
            "font-subsitetitle": "{{$:/temp/jd/mob/font/font-subsitetitle}}",
            "font-sitetitle": "{{$:/temp/jd/mob/font/font-sitetitle}}",
            "font-button": "{{$:/temp/jd/mob/font/font-button}}",
            "font-body": "{{$:/temp/jd/mob/font/font-body}}",
            "z-searchbuttons": "4100",
            "z-search": "4000"
        },
        "$:/plugins/jd/mob/config/searchbutton": {
            "created": "20171118142818660",
            "creator": "JD",
            "text": "<h3>Choose search button</h3>\n\n<$button class=\"tc-btn-invisible\">\n<<tglSearch show>>\n<$action-setfield $tiddler=\"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/advanced-search\" text=\"hide\"/>\n<<jdconfig searchbarchoice simple>>\n<<jdconfig searchbutton simple>>\n<<jdradbut searchbutton simple>>\n</$button> Toggle for simple searchbar\n<br>\n<$button class=\"tc-btn-invisible\">\n<<tglSearch show>>\n<$action-setfield $tiddler=\"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/advanced-search\" text=\"hide\"/>\n<<jdconfig searchbarchoice combined>>\n<<jdconfig searchbutton combined>>\n<<jdradbut searchbutton combined>>\n</$button> Toggle for combined searchbar\n<br>\n<$button class=\"tc-btn-invisible\">\n<<tglSearch hide>>\n<$action-setfield $tiddler=\"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/advanced-search\" text=\"show\"/>\n<<jdconfig searchbutton core>>\n<<jdradbut searchbutton core>>\n</$button> Button to core search\n<br>\n<$button class=\"tc-btn-invisible\">\n<<tglSearch hide>>\n<$action-setfield $tiddler=\"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/advanced-search\" text=\"hide\"/>\n<<jdconfig searchbutton hide>>\n<<jdradbut searchbutton hide>>\n</$button> Hidden\n<br><br>",
            "title": "$:/plugins/jd/mob/config/searchbutton",
            "tags": "",
            "modifier": "JD",
            "modified": "20171122125953528",
            "caption": "Choose search button"
        },
        "$:/plugins/jd/mob/config/titlebar": {
            "created": "20171118171842911",
            "creator": "JD",
            "text": "<h3>Vertical position</h3>\n\n<$button class=tc-btn-invisible>\n<<jdconfig titlebaradjust no>>\n<<jdradbut titlebaradjust no>>\n</$button> Default\n<br>\n<$button class=tc-btn-invisible>\n<<jdconfig titlebaradjust yes>>\n<$action-setfield $tiddler=\"$:/temp/jd/mob/font/height-sitetitle\" caption=\"Site title vertical position\" text=\"-3px\" list-after=\"$:/temp/jd/mob/font/font-sitetitle\"/>\n<$action-setfield $tiddler=\"$:/temp/jd/mob/font/font-sitetitle\" caption=\"Site title font size\" text=\"18px\"/>\n<$action-setfield $tiddler=\"$:/temp/jd/mob/font/height-subsitetitle\" caption=\"Site subtitle vertical position\" text=\"15px\" list-after=\"$:/temp/jd/mob/font/font-subsitetitle\"/>\n<$action-setfield $tiddler=\"$:/temp/jd/mob/font/font-subsitetitle\" caption=\"Site subtitle font size\" text=\"12px\"/>\n<<jdradbut titlebaradjust yes>>\n</$button> Custom\n\n<$reveal type=\"match\" state=\"$:/plugins/jd/mob/config/config##titlebaradjust\" text=\"yes\">\n\nInclude unit (''px'' or ''em'') when entering custom values\n\n<table style=\"width:100%\">\n<tr>\n<th style=\"width:40%\">Element</th>\n<th style=\"width:60%\">Adjust</th>\n</tr>\n<$list filter=\"[all[shadows+tiddlers]prefix[$:/temp/jd/mob/font/]suffix[sitetitle]]\">\n<tr>\n<td><$view field=\"caption\"/></td>\n<td><$edit-text tiddler={{!!title}} field=\"temp\" placeholder={{!!text}} class=\"texte\"/>\n<$reveal type=\"match\" state=!!temp text=\"\">\n<$button class=\"tc-btn-invisible\" style=\"color:grey; cursor:not-allowed;\">✓</$button>\n<$button class=\"tc-btn-invisible\" style=\"color:grey; cursor:not-allowed;\">✕</$button>\n</$reveal>\n<$reveal type=\"nomatch\" state=!!temp text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler={{!!title}} text={{!!temp}}/>\n<$action-setfield $tiddler={{!!title}} temp=\"\"/>✓</$button>\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler={{!!title}} temp=\"\"/>✕</$button>\n</$reveal>\n</td>\n</tr>\n</$list>\n</table>\n</$reveal>\n{{$:/plugins/jd/mob/config/searchbutton}}",
            "title": "$:/plugins/jd/mob/config/titlebar",
            "modifier": "JD",
            "modified": "20171119072342630",
            "caption": "Fonts and heights",
            "tags": ""
        },
        "$:/plugins/jd/mob/config/searchbar": {
            "created": "20171118171759396",
            "creator": "JD",
            "text": "<h3>Choose searchbar style</h3>\n\n<$button class=\"tc-btn-invisible\">\n<<tglSearch show>>\n<<jdconfig searchbarchoice combined>>\n<<jdconfig searchbutton combined>>\n<<jdradbut searchbutton combined>>\n</$button> Combined search\n<br>\n<$button class=\"tc-btn-invisible\">\n<<tglSearch show>>\n<<jdconfig searchbarchoice simple>>\n<<jdconfig searchbutton simple>>\n<<jdradbut searchbutton simple>>\n</$button> Simple search\n<p>\n<$checkbox tiddler=\"$:/config/jd/mobbutton/visibility/$:/plugins/jd/mob/button/search\" field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/> Show search button at controls\n</p>",
            "title": "$:/plugins/jd/mob/config/searchbar",
            "tags": "",
            "modifier": "JD",
            "modified": "20171122123127279",
            "caption": "Choose searchbar style"
        },
        "$:/plugins/jd/mob/macros": {
            "created": "20171119044207910",
            "creator": "JD",
            "text": "\\define jdconf() $:/plugins/jd/mob/config/config\n\\define jdconfont() $:/temp/jd/mob/font/\n\\define jdconfig(config:\"\" choice:\"\")\n<$action-setfield $tiddler=<<jdconf>> $index=\"$config$\" $value=$choice$/>\n\\end\n\\define moreOps(config:\"\" choice:\"\" option:\"\")\n<$reveal type=\"match\" state=\"$(jdconf)$##$config$\" text=\"$choice$\">\n<$reveal type=\"nomatch\" state=\"$(jdconf)$##$config$$choice$ops\" text=\"show\">\n<$button class =\"jd-btn-txt\" set=\"$(jdconf)$##$config$$choice$ops\" setTo=\"show\"> Show options</$button>\n</$reveal>\n<$reveal type=\"match\" state=\"$(jdconf)$##$config$$choice$ops\" text=\"show\">\n<$button class =\"jd-btn-txt\" set=\"$(jdconf)$##$config$$choice$ops\" setTo=\"hide\"> Hide options</$button>\n<div class=\"jd-bq\">{{$:/plugins/jd/mob/config/$option$}}</div>\n</$reveal>\n</$reveal>\n<br>\n\\end\n\\define jdfont(font-title:\"\" font-body:\"\" lineheight:\"\" font-tab:\"\" font-button:\"\")\n<$action-setfield $tiddler=\"$(jdconfont)$font-title\" text=\"$font-title$\"/>\n<$action-setfield $tiddler=\"$(jdconfont)$font-body\" text=\"$font-body$\"/>\n<$action-setfield $tiddler=\"$(jdconfont)$lineheight\" text=\"$lineheight$\"/>\n<$action-setfield $tiddler=\"$(jdconfont)$font-tab-button\" text=\"$font-tab$\"/>\n<$action-setfield $tiddler=\"$(jdconfont)$font-button\" text=\"$font-button$\"/>\n\\end\n\\define jdradbut(config:\"\" choice:\"\")\n<$reveal type=\"match\" state=\"$(jdconf)$##$config$\" text=\"$choice$\"><div class=\"radbutton\"></div></$reveal>\n<$reveal type=\"nomatch\" state=\"$(jdconf)$##$config$\" text=\"$choice$\"><div class=\"radbuttoff\"></div></$reveal>\n\\end\n\\define tglSearch(choice:\"show\")\n<$action-setfield $tiddler=\"$:/config/jd/mobbutton/visibility/$:/plugins/jd/mob/button/search\" text=$choice$/>\n\\end\n\\define notPreset()\n<<jdconfig barpreset 0>>\n\\end\n\\define setTopsearchbar()\n<<jdconfig topbar fixedsearch>>\n<<jdconfig topbarchoice hide>>\n<<jdconfig searchbar yes>>\n<<jdconfig radbuttop fixedsearch>>\n\\end\n\\define setToptitlebar()\n<<jdconfig searchbar no>>\n<<jdconfig topbar title>>\n<<jdconfig topbarchoice title>>\n<<jdconfig radbuttop title>>\n\\end\n\\define setTopcontrols()\n<<jdconfig searchbar no>>\n<<jdconfig topbar controls>>\n<<jdconfig topbarchoice controls>>\n<<jdconfig radbuttop controls>>\n\\end\n\\define setTopmobbuttons()\n<<jdconfig searchbar no>>\n<<jdconfig topbar mobbuttons>>\n<<jdconfig topbarchoice mobbuttons>>\n<<jdconfig radbuttop mobbuttons>>\n\\end\n\\define setTophide()\n<<jdconfig searchbar no>>\n<<jdconfig topbar hide>>\n<<jdconfig topbarchoice hide>>\n<<jdconfig radbuttop hide>>\n\\end\n\\define noBottom()\n<<jdconfig bottombar hide>>\n\\end\n\\define setBottomcontrols()\n<<jdconfig bottombar controls>>\n\\end\n\\define setJDmobdefaults()\n<<tglSearch>>\n<<jdconfig freshinstall yes>>\n<<jdconfig configtype list>>\n<<jdfont>>\n<<jdconfig fontsize default>>\n<<jdconfig scrollbars show>>\n<<jdconfig focus show>>\n<<jdconfig storyfix no>>\n<<jdconfig titlebaradjust no>>\n<<jdconfig topbarchoice hide>>\n<<jdconfig searchbarchoice simple>>\n<<jdconfig searchbutton simple>>\n<<jdconfig barpreset 4>>\n<<setTopsearchbar>>\n<<setBottomcontrols>>\n<<jdconfig radbuttopfixedsearchops hide>>\n<<jdconfig radbuttopcontrolsops hide>>\n<<jdconfig radbuttopmobbuttonsops hide>>\n<<jdconfig radbuttoptitleops hide>>\n<<jdconfig bottombarcontrolsops hide>>\n<<jdconfig bottombarmobbuttonsops hide>>\n<<jdconfig barpreset1ops hide>>\n<<jdconfig barpreset2ops hide>>\n<<jdconfig barpreset3ops hide>>\n<<jdconfig barpreset4ops hide>>\n<$fieldmangler tiddler=\"$:/plugins/jd/mob/button/search\">\n<$action-sendmessage $message=\"tm-add-tag\" $param=\"$:/tags/jd/mobbutton\"/>\n</$fieldmangler>\n\\end",
            "title": "$:/plugins/jd/mob/macros",
            "tags": "$:/tags/Macro",
            "modifier": "JD",
            "modified": "20171122150921869"
        },
        "$:/plugins/jd/mob/button/search": {
            "created": "20171122115403541",
            "creator": "JD",
            "text": "<$reveal type=\"nomatch\" state=\"$:/plugins/jd/mob/config/config##searchbar\" text=\"yes\">\n<$button class=\"tc-btn-invisible\" tooltip=\"Show searchbar\" set=\"$:/plugins/jd/mob/config/config##searchbar\" setTo=\"yes\">\n<<jdconfig topbar search>>\n{{$:/core/images/advanced-search-button}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=\"$:/plugins/jd/mob/config/config##searchbar\" text=\"yes\">\n<$button class=\"tc-btn-invisible\" tooltip=\"Hide searchbar\" set=\"$:/plugins/jd/mob/config/config##searchbar\" setTo=\"no\">\n<<jdconfig topbar hide>>\n{{$:/core/images/advanced-search-button}}\n</$button>\n</$reveal>",
            "title": "$:/plugins/jd/mob/button/search",
            "tags": "$:/tags/jd/mobbutton",
            "modifier": "JD",
            "modified": "20171122154523596",
            "description": "Toggle searchbar visibility",
            "caption": "{{$:/core/images/advanced-search-button}} search"
        },
        "$:/plugins/jd/mob/template/search": {
            "created": "20171018115714311",
            "creator": "JD",
            "text": "\\define lingo-base() $:/language/Search/\n<$reveal state=\"$:/plugins/jd/mob/config/config##searchbar\" type=\"match\" text=\"yes\" default=\"yes\" retain=\"yes\" animate=\"yes\">\n\n<$reveal state=\"$:/plugins/jd/mob/config/config##searchbarchoice\" type=\"match\" text=\"simple\">\n<div class=\"jd-search\">\n<div class=\"jd-searchwrapper\">\n<$edit-text tiddler=\"$:/temp/search\" type=\"search\" tag=\"input\" placeholder={{$:/language/Search/Search}} class=\"jd-searchbar\"/>\n</div>\n<div class=\"jd-search-buttons\">\n<$reveal type=\"match\" state=\"$:/plugins/jd/mob/config/config##radbuttop\" text=\"fixedsearch\">\n<$button tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" text={{$:/temp/search}}/>\n<$action-setfield $tiddler=\"$:/temp/search\" text=\"\"/>\n<$action-navigate $to=\"$:/AdvancedSearch\"/>\n{{$:/core/images/advanced-search-button}}\n</$button>\n<$reveal state=\"$:/temp/search\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\" tooltip=\"Clear searchbar\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" text=\"\"/>\n<$action-setfield $tiddler=\"$:/temp/search\" text=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</$reveal>\n<$reveal type=\"nomatch\" state=\"$:/plugins/jd/mob/config/config##radbuttop\" text=\"fixedsearch\">\n<$button tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class=\"tc-btn-invisible\">\n<<jdconfig searchbar no>>\n<<jdconfig topbar {{$:/plugins/jd/mob/config/config##topbarchoice}}>>\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" text={{$:/temp/search}}/>\n<$action-setfield $tiddler=\"$:/temp/search\" text=\"\"/>\n<$action-navigate $to=\"$:/AdvancedSearch\"/>\n{{$:/core/images/advanced-search-button}}\n</$button>\n<$button class=\"tc-btn-invisible\" tooltip=\"Clear and hide searchbar\">\n<<jdconfig searchbar no>>\n<<jdconfig topbar {{$:/plugins/jd/mob/config/config##topbarchoice}}>>\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" text=\"\"/>\n<$action-setfield $tiddler=\"$:/temp/search\" text=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</div>\n<div class=\"jd-search-results\">\n<$reveal state=\"$:/temp/search\" type=\"nomatch\" text=\"\">\n<$scrollable fallthrough=\"no\" class=\"results\">\n<$set name=\"searchTiddler\" value=\"$:/temp/search\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]butfirst[]limit[1]]\" emptyMessage=\"\"\"\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\">\n<$transclude/>\n</$list>\n\"\"\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\" default={{$:/config/SearchResults/Default}}/>\n</$list>\n</$set>\n</$scrollable>\n</$reveal>\n</div>\n</div>\n</$reveal>\n\n<$reveal state=\"$:/plugins/jd/mob/config/config##searchbarchoice\" type=\"match\" text=\"combined\">\n<div class=\"jd-search\">\n<div class=\"jd-searchwrapper\">\n<$linkcatcher to=\"$:/temp/advancedsearch\">\n<$edit-text tiddler=\"$:/temp/advancedsearch\" type=\"search\" tag=\"input\" placeholder={{$:/language/Search/Search}} class=\"jd-searchbar\"/>\n</$linkcatcher>\n</div>\n<div class=\"jd-search-buttons\">\n{{$:/core/ui/AdvancedSearch/Filter/FilterButtons/delete}}\n{{$:/core/ui/AdvancedSearch/Filter/FilterButtons/dropdown}}\n{{$:/core/ui/AdvancedSearch/Filter/FilterButtons/export}}\n<$reveal type=\"match\" state=\"$:/plugins/jd/mob/config/config##radbuttop\" text=\"fixedsearch\">\n{{$:/core/ui/AdvancedSearch/Filter/FilterButtons/clear}} \n</$reveal>\n<$reveal type=\"nomatch\" state=\"$:/plugins/jd/mob/config/config##radbuttop\" text=\"fixedsearch\">\n<$button class=\"tc-btn-invisible\" tooltip=\"Clear and hide searchbar\">\n<<jdconfig searchbar no>>\n<<jdconfig topbar {{$:/plugins/jd/mob/config/config##topbarchoice}}>>\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" text=\"\"/>\n<$action-setfield $tiddler=\"$:/temp/search\" text=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</div>\n<div class=\"jd-search-results\">\n<!--STANDARD-->\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<br>\n<$list filter=\"[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]\" emptyMessage=\"\"\"{{$:/language/Search/Search/TooShort}}\"\"\" variable=\"listItem\">\n<$set name=\"searchTiddler\" value=\"$:/temp/advancedsearch\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]butfirst[]limit[1]]\" emptyMessage=\"\"\"\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\">\n<$transclude/>\n</$list>\n\"\"\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\" default={{$:/config/SearchResults/Default}}/>\n</$list>\n</$set>\n</$list>\n</$reveal>\n<!--STANDARD-->\n<!--FILTER-->\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<br><br>\n<$set name=\"resultCount\" value=\"\"\"<$count filter={{$:/temp/advancedsearch}}/>\"\"\">\nFilter search: <<lingo Filter/Matches>>\n<$list filter={{$:/temp/advancedsearch}} template=\"$:/core/ui/ListItemTemplate\"/>\n</$set>\n</$reveal>\n<!--FILTER-->\n<!--SYSTEM-->\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<br>\n<$list filter=\"[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]\" variable=\"listItem\">\n<$set name=\"resultCount\" value=\"\"\"<$count filter=\"[is[system]search{$:/temp/advancedsearch}] -[[$:/temp/advancedsearch]]\"/>\"\"\">\nSystem search: <<lingo System/Matches>>\n<$list filter=\"[is[system]search{$:/temp/advancedsearch}sort[title]limit[250]] -[[$:/temp/advancedsearch]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n</$set>\n</$list>\n</$reveal>\n<$reveal state=\"$:/temp/advancedsearch\" type=\"match\" text=\"\">\n</$reveal>\n<!--SYSTEM-->\n<!--SHADOWS-->\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<br>\n<$list filter=\"[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]\" variable=\"listItem\">\n<$set name=\"resultCount\" value=\"\"\"<$count filter=\"[all[shadows]search{$:/temp/advancedsearch}] -[[$:/temp/advancedsearch]]\"/>\"\"\">\nShadows search: <<lingo Shadows/Matches>>\n<$list filter=\"[all[shadows]search{$:/temp/advancedsearch}sort[title]limit[250]] -[[$:/temp/advancedsearch]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n</$set>\n</$list>\n</$reveal>\n<!--SHADOWS-->\n</div>\n</div>\n</$reveal>",
            "title": "$:/plugins/jd/mob/template/search",
            "tags": "$:/tags/PageTemplate",
            "modifier": "JD",
            "modified": "20171122123544683"
        },
        "$:/plugins/jd/mob/config/misc": {
            "created": "20171122140327337",
            "creator": "JD",
            "text": "<h2>Miscellaneous</h2>\n<h3>Config button</h3>\n<$checkbox tiddler=\"$:/config/jd/mobbutton/visibility/$:/plugins/jd/mob/button/config\" field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/> Show {{$:/core/images/theme-button}} button at ''Controls'' / ''Mobbuttons''\n<br><br>\n<hr>\n<h3>Scrollbars</h3>\n<$button class=\"tc-btn-invisible\">\n<<jdconfig scrollbars hide>>\n<<jdradbut scrollbars hide>>\n</$button> Invisible scrollbars\n<br>\n<$button class=\"tc-btn-invisible\">\n<<jdconfig scrollbars show>>\n<<jdradbut scrollbars show>>\n</$button> Visible scrollbars\n<br><br>\n<hr>\n<h3>Focus</h3>\n<p>Here we can hide the hightlight / outline on focused text inputs and buttons</p>\n<$button class=\"tc-btn-invisible\">\n<<jdconfig focus show>>\n<<jdradbut focus show>>\n</$button> Default\n<br>\n<$button class=\"tc-btn-invisible\">\n<<jdconfig focus hide>>\n<<jdradbut focus hide>>\n</$button> Hide focus\n<br><br>\n<hr>\n<h3>Story river</h3>\nHere we can try to stop the fist tiddler in the story river from scrolling past the topbar\n<br>\n''Side effects:''\n<br>\n<li>For ''classic'' and ''pop'' story view: tiddlers won't automatically scroll into view on link click</li>\n<li>Browser search bar won't automatically hide on scroll up (tested on Chrome for Android)</li>\n<br>\n<$button class=\"tc-btn-invisible\">\n<<jdconfig storyfix yes>>\n<<jdradbut storyfix yes>>\n</$button> Apply \n<br>\n<$button class=\"tc-btn-invisible\">\n<<jdconfig storyfix no>>\n<<jdradbut storyfix no>>\n</$button> Don't apply\n<br><br>\n<hr>\n<h3>Restore defaults</h3>\n<div class=\"jd-bq\">\n<p>\nTo reset to...\n</p>\n<p>\nDefault font size,  Visible scrollbars, ''Simple searchbar'' on top, ''Controls'' on bottom,  ''Simple searchbar button'' on controls,  Story river hack not applied...\n</p>\n<p>\nClick:\n</p>\n<p>\n<$reveal type=\"nomatch\" state=\"$:/plugins/jd/mob/config/config##defaultconfirm\" text=\"confirm\">\n<$button class=\"jd-btn-txt\">\n<<jdconfig defaultconfirm confirm>>\nRestore defaults\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=\"$:/plugins/jd/mob/config/config##defaultconfirm\" text=\"confirm\">\n<$button class=\"jd-btn-txt\">\n<<setJDmobdefaults>>\n<<jdconfig defaultconfirm cancel>>\nConfirm\n</$button>\n<$button class=\"jd-btn-txt\">\n<<jdconfig defaultconfirm cancel>>\nCancel\n</$button>\n</$reveal>\n</p>\n</div>\n<br>",
            "title": "$:/plugins/jd/mob/config/misc",
            "tags": "$:/tags/jd/config",
            "modified": "20171122141012375",
            "modifier": "JD",
            "caption": "Miscellaneous"
        }
    }
}
freshinstall: yes
defaultconfirm: cancel
configtype: list
fontsize: default
scrollbars: show
barpreset: 5
storyfix: no
titlebaradjust: no
topbar: title
topbarchoice: title
searchbar: no
radbuttop: title
searchbarchoice: combined
bottombar: controls
radbuttopfixedsearchops: hide
radbuttopcontrolsops: hide
radbuttopmobbuttonsops: hide
radbuttoptitleops: hide
bottombarcontrolsops: hide
bottombarmobbuttonsops: hide
barpreset1ops: hide
barpreset2ops: hide
barpreset3ops: hide
barpreset4ops: hide
searchbutton: combined
focus: show
<$list filter="[[$:/UploadName]has[text]]"><$edit-text tiddler="$:/UploadName" default="" tag="input"/><br><$password name="upload"/></$list>
<div style="float:leftt;padding-right:10px;font-size:1.1em;color:White; text-shadow: 2px 2px #999; ">TW5 <<version>></div>
<span title="Go to Start"><$button message="tm-home" class="tc-btn-invisible">[img width=28 class="tc-image"[$:/favicon.ico]]</$button></span> Min kogebog
hide
hide
noedit
$:/core/ui/AdvancedSearch/System
$:/core/ui/ControlPanel/Saving
$:/core/ui/ControlPanel/Saving/TiddlySpot
$:/core/ui/MoreSideBar/System
$:/core/ui/SideBar/Recent
$:/_bc/buttons/RecipeCreate
Suppe
open
close
open
close
close
close
close
close
close
close
close
close
open
close
close
close
open
close
open
close
close
close
open
open
open
open
open
open
Birthe

/*PersonBook,columns*/
/*KOLONNER*/
.twocolumns { 
    display:block; 
    -moz-column-count:2; 
    -moz-column-gap:1em; 
    -webkit-column-count: 2;
    -webkit-column-gap:1em; 
}
.threecolumns { 
   display:block; 
   -moz-column-count:3; 
   -moz-column-gap:1em; 
   -webkit-column-count: 3;
   -webkit-column-gap:1em; 
}

/*LogStyle*/
.log-message-box {
    border: 1px solid <<color message-border>> /*#CFD6E6*/;
    background: <<color code-background>> /*#ECECEC*/; /*#ECF2FF;*/
    padding: 10px 21px 10px 21px;
    margin: -10px -21px -10px -21px;
   /* font-size: 12px;*/
    /*line-height: 18px;*/
    /*color: #547599;*/
}

/*PagedList*/
.pl-font-bold{
/*background-color: #2daebf;*/
/*border-width: medium;*/ /* Толщина границы */
font-weight: bold;
}

/*TagMenu*/
/*CUT LONG STRINGS*/
.trim-string{
    white-space: nowrap; 
    overflow: hidden; 
    text-overflow: ellipsis;
}
.trim-string:hover{
    white-space: normal;
    overflow: inherit; 

}







popup
Vælg en opskrift
{
    "tiddlers": {
        "$:/info/browser": {
            "title": "$:/info/browser",
            "text": "yes"
        },
        "$:/info/node": {
            "title": "$:/info/node",
            "text": "no"
        },
        "$:/info/url/full": {
            "title": "$:/info/url/full",
            "text": "http://minkogebog.tiddlyspot.com/"
        },
        "$:/info/url/host": {
            "title": "$:/info/url/host",
            "text": "minkogebog.tiddlyspot.com"
        },
        "$:/info/url/hostname": {
            "title": "$:/info/url/hostname",
            "text": "minkogebog.tiddlyspot.com"
        },
        "$:/info/url/protocol": {
            "title": "$:/info/url/protocol",
            "text": "http:"
        },
        "$:/info/url/port": {
            "title": "$:/info/url/port",
            "text": ""
        },
        "$:/info/url/pathname": {
            "title": "$:/info/url/pathname",
            "text": "/"
        },
        "$:/info/url/search": {
            "title": "$:/info/url/search",
            "text": ""
        },
        "$:/info/url/origin": {
            "title": "$:/info/url/origin",
            "text": "http://minkogebog.tiddlyspot.com"
        },
        "$:/info/browser/screen/width": {
            "title": "$:/info/browser/screen/width",
            "text": "1366"
        },
        "$:/info/browser/screen/height": {
            "title": "$:/info/browser/screen/height",
            "text": "768"
        },
        "$:/info/browser/language": {
            "title": "$:/info/browser/language",
            "text": "da"
        }
    }
}



Vælg en ingrediens
Vælg bogmærke
{
    "tiddlers": {
        "$:/themes/tiddlywiki/snowwhite/base": {
            "title": "$:/themes/tiddlywiki/snowwhite/base",
            "tags": "[[$:/tags/Stylesheet]]",
            "text": "\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline\n\n.tc-sidebar-header {\n\ttext-shadow: 0 1px 0 <<colour sidebar-foreground-shadow>>;\n}\n\n.tc-tiddler-info {\n\t<<box-shadow \"inset 1px 2px 3px rgba(0,0,0,0.1)\">>\n}\n\n@media screen {\n\t.tc-tiddler-frame {\n\t\t<<box-shadow \"1px 1px 5px rgba(0, 0, 0, 0.3)\">>\n\t}\n}\n\n@media (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\t.tc-tiddler-frame {\n\t\t<<box-shadow none>>\n\t}\n}\n\n.tc-page-controls button svg, .tc-tiddler-controls button svg, .tc-topbar button svg {\n\t<<transition \"fill 150ms ease-in-out\">>\n}\n\n.tc-tiddler-controls button.tc-selected,\n.tc-page-controls button.tc-selected {\n\t<<filter \"drop-shadow(0px -1px 2px rgba(0,0,0,0.25))\">>\n}\n\n.tc-tiddler-frame input.tc-edit-texteditor {\n\t<<box-shadow \"inset 0 1px 8px rgba(0, 0, 0, 0.15)\">>\n}\n\n.tc-edit-tags {\n\t<<box-shadow \"inset 0 1px 8px rgba(0, 0, 0, 0.15)\">>\n}\n\n.tc-tiddler-frame .tc-edit-tags input.tc-edit-texteditor {\n\t<<box-shadow \"none\">>\n\tborder: none;\n\toutline: none;\n}\n\ntextarea.tc-edit-texteditor {\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/editorfontfamily}};\n}\n\ncanvas.tc-edit-bitmapeditor  {\n\t<<box-shadow \"2px 2px 5px rgba(0, 0, 0, 0.5)\">>\n}\n\n.tc-drop-down {\n\tborder-radius: 4px;\n\t<<box-shadow \"2px 2px 10px rgba(0, 0, 0, 0.5)\">>\n}\n\n.tc-block-dropdown {\n\tborder-radius: 4px;\n\t<<box-shadow \"2px 2px 10px rgba(0, 0, 0, 0.5)\">>\n}\n\n.tc-modal {\n\tborder-radius: 6px;\n\t<<box-shadow \"0 3px 7px rgba(0,0,0,0.3)\">>\n}\n\n.tc-modal-footer {\n\tborder-radius: 0 0 6px 6px;\n\t<<box-shadow \"inset 0 1px 0 #fff\">>;\n}\n\n\n.tc-alert {\n\tborder-radius: 6px;\n\t<<box-shadow \"0 3px 7px rgba(0,0,0,0.6)\">>\n}\n\n.tc-notification {\n\tborder-radius: 6px;\n\t<<box-shadow \"0 3px 7px rgba(0,0,0,0.3)\">>\n\ttext-shadow: 0 1px 0 rgba(255,255,255, 0.8);\n}\n\n.tc-sidebar-lists .tc-tab-set .tc-tab-divider {\n\tborder-top: none;\n\theight: 1px;\n\t<<background-linear-gradient \"left, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.0) 100%\">>\n}\n\n.tc-more-sidebar > .tc-tab-set > .tc-tab-buttons > button {\n\t<<background-linear-gradient \"left, rgba(0,0,0,0.01) 0%, rgba(0,0,0,0.1) 100%\">>\n}\n\n.tc-more-sidebar > .tc-tab-set > .tc-tab-buttons > button.tc-tab-selected {\n\t<<background-linear-gradient \"left, rgba(0,0,0,0.05) 0%, rgba(255,255,255,0.05) 100%\">>\n}\n\n.tc-message-box img {\n\t<<box-shadow \"1px 1px 3px rgba(0,0,0,0.5)\">>\n}\n\n.tc-plugin-info {\n\t<<box-shadow \"1px 1px 3px rgba(0,0,0,0.5)\">>\n}\n"
        }
    }
}
{
    "tiddlers": {
        "$:/themes/tiddlywiki/vanilla/themetweaks": {
            "title": "$:/themes/tiddlywiki/vanilla/themetweaks",
            "tags": "$:/tags/ControlPanel/Appearance",
            "caption": "{{$:/language/ThemeTweaks/ThemeTweaks}}",
            "text": "\\define lingo-base() $:/language/ThemeTweaks/\n\n\\define replacement-text()\n[img[$(imageTitle)$]]\n\\end\n\n\\define backgroundimage-dropdown()\n<div class=\"tc-drop-down-wrapper\">\n<$button popup=<<qualify \"$:/state/popup/themetweaks/backgroundimage\">> class=\"tc-btn-invisible tc-btn-dropdown\">{{$:/core/images/down-arrow}}</$button>\n<$reveal state=<<qualify \"$:/state/popup/themetweaks/backgroundimage\">> type=\"popup\" position=\"belowleft\" text=\"\" default=\"\">\n<div class=\"tc-drop-down\">\n<$macrocall $name=\"image-picker\" actions=\"\"\"\n\n<$action-setfield\n\t$tiddler=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimage\"\n\t$value=<<imageTitle>>\n/>\n\n\"\"\"/>\n</div>\n</$reveal>\n</div>\n\\end\n\n\\define backgroundimageattachment-dropdown()\n<$select tiddler=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment\" default=\"scroll\">\n<option value=\"scroll\"><<lingo Settings/BackgroundImageAttachment/Scroll>></option>\n<option value=\"fixed\"><<lingo Settings/BackgroundImageAttachment/Fixed>></option>\n</$select>\n\\end\n\n\\define backgroundimagesize-dropdown()\n<$select tiddler=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize\" default=\"scroll\">\n<option value=\"auto\"><<lingo Settings/BackgroundImageSize/Auto>></option>\n<option value=\"cover\"><<lingo Settings/BackgroundImageSize/Cover>></option>\n<option value=\"contain\"><<lingo Settings/BackgroundImageSize/Contain>></option>\n</$select>\n\\end\n\n<<lingo ThemeTweaks/Hint>>\n\n! <<lingo Options>>\n\n|<$link to=\"$:/themes/tiddlywiki/vanilla/options/sidebarlayout\"><<lingo Options/SidebarLayout>></$link> |<$select tiddler=\"$:/themes/tiddlywiki/vanilla/options/sidebarlayout\"><option value=\"fixed-fluid\"><<lingo Options/SidebarLayout/Fixed-Fluid>></option><option value=\"fluid-fixed\"><<lingo Options/SidebarLayout/Fluid-Fixed>></option></$select> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/options/stickytitles\"><<lingo Options/StickyTitles>></$link><br>//<<lingo Options/StickyTitles/Hint>>// |<$select tiddler=\"$:/themes/tiddlywiki/vanilla/options/stickytitles\"><option value=\"no\">{{$:/language/No}}</option><option value=\"yes\">{{$:/language/Yes}}</option></$select> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/options/codewrapping\"><<lingo Options/CodeWrapping>></$link> |<$select tiddler=\"$:/themes/tiddlywiki/vanilla/options/codewrapping\"><option value=\"pre\">{{$:/language/No}}</option><option value=\"pre-wrap\">{{$:/language/Yes}}</option></$select> |\n\n! <<lingo Settings>>\n\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/fontfamily\"><<lingo Settings/FontFamily>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/settings/fontfamily\" default=\"\" tag=\"input\"/> | |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/codefontfamily\"><<lingo Settings/CodeFontFamily>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/settings/codefontfamily\" default=\"\" tag=\"input\"/> | |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/editorfontfamily\"><<lingo Settings/EditorFontFamily>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/settings/editorfontfamily\" default=\"\" tag=\"input\"/> | |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimage\"><<lingo Settings/BackgroundImage>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimage\" default=\"\" tag=\"input\"/> |<<backgroundimage-dropdown>> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment\"><<lingo Settings/BackgroundImageAttachment>></$link> |<<backgroundimageattachment-dropdown>> | |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize\"><<lingo Settings/BackgroundImageSize>></$link> |<<backgroundimagesize-dropdown>> | |\n\n! <<lingo Metrics>>\n\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/fontsize\"><<lingo Metrics/FontSize>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/fontsize\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/lineheight\"><<lingo Metrics/LineHeight>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/lineheight\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize\"><<lingo Metrics/BodyFontSize>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/bodylineheight\"><<lingo Metrics/BodyLineHeight>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/bodylineheight\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/storyleft\"><<lingo Metrics/StoryLeft>></$link><br>//<<lingo Metrics/StoryLeft/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storyleft\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/storytop\"><<lingo Metrics/StoryTop>></$link><br>//<<lingo Metrics/StoryTop/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storytop\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/storyright\"><<lingo Metrics/StoryRight>></$link><br>//<<lingo Metrics/StoryRight/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storyright\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/storywidth\"><<lingo Metrics/StoryWidth>></$link><br>//<<lingo Metrics/StoryWidth/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storywidth\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth\"><<lingo Metrics/TiddlerWidth>></$link><br>//<<lingo Metrics/TiddlerWidth/Hint>>//<br> |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint\"><<lingo Metrics/SidebarBreakpoint>></$link><br>//<<lingo Metrics/SidebarBreakpoint/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth\"><<lingo Metrics/SidebarWidth>></$link><br>//<<lingo Metrics/SidebarWidth/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth\" default=\"\" tag=\"input\"/> |\n"
        },
        "$:/themes/tiddlywiki/vanilla/base": {
            "title": "$:/themes/tiddlywiki/vanilla/base",
            "tags": "[[$:/tags/Stylesheet]]",
            "text": "\\define custom-background-datauri()\n<$set name=\"background\" value={{$:/themes/tiddlywiki/vanilla/settings/backgroundimage}}>\n<$list filter=\"[<background>is[image]]\">\n`background: url(`\n<$list filter=\"[<background>!has[_canonical_uri]]\">\n`\"`<$macrocall $name=\"datauri\" title={{$:/themes/tiddlywiki/vanilla/settings/backgroundimage}}/>`\"`\n</$list>\n<$list filter=\"[<background>has[_canonical_uri]]\">\n`\"`<$view tiddler={{$:/themes/tiddlywiki/vanilla/settings/backgroundimage}} field=\"_canonical_uri\"/>`\"`\n</$list>\n`) center center;`\n`background-attachment: `{{$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment}}`;\n-webkit-background-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;\n-moz-background-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;\n-o-background-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;\nbackground-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;`\n</$list>\n</$set>\n\\end\n\n\\define if-fluid-fixed(text,hiddenSidebarText)\n<$reveal state=\"$:/themes/tiddlywiki/vanilla/options/sidebarlayout\" type=\"match\" text=\"fluid-fixed\">\n$text$\n<$reveal state=\"$:/state/sidebar\" type=\"nomatch\" text=\"yes\" default=\"yes\">\n$hiddenSidebarText$\n</$reveal>\n</$reveal>\n\\end\n\n\\define if-editor-height-fixed(then,else)\n<$reveal state=\"$:/config/TextEditor/EditorHeight/Mode\" type=\"match\" text=\"fixed\">\n$then$\n</$reveal>\n<$reveal state=\"$:/config/TextEditor/EditorHeight/Mode\" type=\"match\" text=\"auto\">\n$else$\n</$reveal>\n\\end\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock\n\n/*\n** Start with the normalize CSS reset, and then belay some of its effects\n*/\n\n{{$:/themes/tiddlywiki/vanilla/reset}}\n\n*, input[type=\"search\"] {\n\tbox-sizing: border-box;\n\t-moz-box-sizing: border-box;\n\t-webkit-box-sizing: border-box;\n}\n\nhtml button {\n\tline-height: 1.2;\n\tcolor: <<colour button-foreground>>;\n\tbackground: <<colour button-background>>;\n\tborder-color: <<colour button-border>>;\n}\n\n/*\n** Basic element styles\n*/\n\nhtml {\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/fontfamily}};\n\ttext-rendering: optimizeLegibility; /* Enables kerning and ligatures etc. */\n\t-webkit-font-smoothing: antialiased;\n\t-moz-osx-font-smoothing: grayscale;\n}\n\nhtml:-webkit-full-screen {\n\tbackground-color: <<colour page-background>>;\n}\n\nbody.tc-body {\n\tfont-size: {{$:/themes/tiddlywiki/vanilla/metrics/fontsize}};\n\tline-height: {{$:/themes/tiddlywiki/vanilla/metrics/lineheight}};\n\tword-wrap: break-word;\n\t<<custom-background-datauri>>\n\tcolor: <<colour foreground>>;\n\tbackground-color: <<colour page-background>>;\n\tfill: <<colour foreground>>;\n}\n\n<<if-background-attachment \"\"\"\n\nbody.tc-body {\n        background-color: transparent;\n}\n\n\"\"\">>\n\nh1, h2, h3, h4, h5, h6 {\n\tline-height: 1.2;\n\tfont-weight: 300;\n}\n\npre {\n\tdisplay: block;\n\tpadding: 14px;\n\tmargin-top: 1em;\n\tmargin-bottom: 1em;\n\tword-break: normal;\n\tword-wrap: break-word;\n\twhite-space: {{$:/themes/tiddlywiki/vanilla/options/codewrapping}};\n\tbackground-color: <<colour pre-background>>;\n\tborder: 1px solid <<colour pre-border>>;\n\tpadding: 0 3px 2px;\n\tborder-radius: 3px;\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/codefontfamily}};\n}\n\ncode {\n\tcolor: <<colour code-foreground>>;\n\tbackground-color: <<colour code-background>>;\n\tborder: 1px solid <<colour code-border>>;\n\twhite-space: {{$:/themes/tiddlywiki/vanilla/options/codewrapping}};\n\tpadding: 0 3px 2px;\n\tborder-radius: 3px;\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/codefontfamily}};\n}\n\nblockquote {\n\tborder-left: 5px solid <<colour blockquote-bar>>;\n\tmargin-left: 25px;\n\tpadding-left: 10px;\n\tquotes: \"\\201C\"\"\\201D\"\"\\2018\"\"\\2019\";\n}\n\nblockquote.tc-big-quote {\n\tfont-family: Georgia, serif;\n\tposition: relative;\n\tbackground: <<colour pre-background>>;\n\tborder-left: none;\n\tmargin-left: 50px;\n\tmargin-right: 50px;\n\tpadding: 10px;\n    border-radius: 8px;\n}\n\nblockquote.tc-big-quote cite:before {\n\tcontent: \"\\2014 \\2009\";\n}\n\nblockquote.tc-big-quote:before {\n\tfont-family: Georgia, serif;\n\tcolor: <<colour blockquote-bar>>;\n\tcontent: open-quote;\n\tfont-size: 8em;\n\tline-height: 0.1em;\n\tmargin-right: 0.25em;\n\tvertical-align: -0.4em;\n\tposition: absolute;\n    left: -50px;\n    top: 42px;\n}\n\nblockquote.tc-big-quote:after {\n\tfont-family: Georgia, serif;\n\tcolor: <<colour blockquote-bar>>;\n\tcontent: close-quote;\n\tfont-size: 8em;\n\tline-height: 0.1em;\n\tmargin-right: 0.25em;\n\tvertical-align: -0.4em;\n\tposition: absolute;\n    right: -80px;\n    bottom: -20px;\n}\n\ndl dt {\n\tfont-weight: bold;\n\tmargin-top: 6px;\n}\n\nbutton, textarea, input, select {\n\toutline-color: <<colour primary>>;\n}\n\ntextarea,\ninput[type=text],\ninput[type=search],\ninput[type=\"\"],\ninput:not([type]) {\n\tcolor: <<colour foreground>>;\n\tbackground: <<colour background>>;\n}\n\ninput[type=\"checkbox\"] {\n  vertical-align: middle;\n}\n\n.tc-muted {\n\tcolor: <<colour muted-foreground>>;\n}\n\nsvg.tc-image-button {\n\tpadding: 0px 1px 1px 0px;\n}\n\n.tc-icon-wrapper > svg {\n\twidth: 1em;\n\theight: 1em;\n}\n\nkbd {\n\tdisplay: inline-block;\n\tpadding: 3px 5px;\n\tfont-size: 0.8em;\n\tline-height: 1.2;\n\tcolor: <<colour foreground>>;\n\tvertical-align: middle;\n\tbackground-color: <<colour background>>;\n\tborder: solid 1px <<colour muted-foreground>>;\n\tborder-bottom-color: <<colour muted-foreground>>;\n\tborder-radius: 3px;\n\tbox-shadow: inset 0 -1px 0 <<colour muted-foreground>>;\n}\n\n/*\nMarkdown likes putting code elements inside pre elements\n*/\npre > code {\n\tpadding: 0;\n\tborder: none;\n\tbackground-color: inherit;\n\tcolor: inherit;\n}\n\ntable {\n\tborder: 1px solid <<colour table-border>>;\n\twidth: auto;\n\tmax-width: 100%;\n\tcaption-side: bottom;\n\tmargin-top: 1em;\n\tmargin-bottom: 1em;\n}\n\ntable th, table td {\n\tpadding: 0 7px 0 7px;\n\tborder-top: 1px solid <<colour table-border>>;\n\tborder-left: 1px solid <<colour table-border>>;\n}\n\ntable thead tr td, table th {\n\tbackground-color: <<colour table-header-background>>;\n\tfont-weight: bold;\n}\n\ntable tfoot tr td {\n\tbackground-color: <<colour table-footer-background>>;\n}\n\n.tc-csv-table {\n\twhite-space: nowrap;\n}\n\n.tc-tiddler-frame img,\n.tc-tiddler-frame svg,\n.tc-tiddler-frame canvas,\n.tc-tiddler-frame embed,\n.tc-tiddler-frame iframe {\n\tmax-width: 100%;\n}\n\n.tc-tiddler-body > embed,\n.tc-tiddler-body > iframe {\n\twidth: 100%;\n\theight: 600px;\n}\n\n/*\n** Links\n*/\n\nbutton.tc-tiddlylink,\na.tc-tiddlylink {\n\ttext-decoration: none;\n\tfont-weight: 500;\n\tcolor: <<colour tiddler-link-foreground>>;\n\t-webkit-user-select: inherit; /* Otherwise the draggable attribute makes links impossible to select */\n}\n\n.tc-sidebar-lists a.tc-tiddlylink {\n\tcolor: <<colour sidebar-tiddler-link-foreground>>;\n}\n\n.tc-sidebar-lists a.tc-tiddlylink:hover {\n\tcolor: <<colour sidebar-tiddler-link-foreground-hover>>;\n}\n\nbutton.tc-tiddlylink:hover,\na.tc-tiddlylink:hover {\n\ttext-decoration: underline;\n}\n\na.tc-tiddlylink-resolves {\n}\n\na.tc-tiddlylink-shadow {\n\tfont-weight: bold;\n}\n\na.tc-tiddlylink-shadow.tc-tiddlylink-resolves {\n\tfont-weight: normal;\n}\n\na.tc-tiddlylink-missing {\n\tfont-style: italic;\n}\n\na.tc-tiddlylink-external {\n\ttext-decoration: underline;\n\tcolor: <<colour external-link-foreground>>;\n\tbackground-color: <<colour external-link-background>>;\n}\n\na.tc-tiddlylink-external:visited {\n\tcolor: <<colour external-link-foreground-visited>>;\n\tbackground-color: <<colour external-link-background-visited>>;\n}\n\na.tc-tiddlylink-external:hover {\n\tcolor: <<colour external-link-foreground-hover>>;\n\tbackground-color: <<colour external-link-background-hover>>;\n}\n\n/*\n** Drag and drop styles\n*/\n\n.tc-tiddler-dragger {\n\tposition: relative;\n\tz-index: -10000;\n}\n\n.tc-tiddler-dragger-inner {\n\tposition: absolute;\n\ttop: -1000px;\n\tleft: -1000px;\n\tdisplay: inline-block;\n\tpadding: 8px 20px;\n\tfont-size: 16.9px;\n\tfont-weight: bold;\n\tline-height: 20px;\n\tcolor: <<colour dragger-foreground>>;\n\ttext-shadow: 0 1px 0 rgba(0, 0, 0, 1);\n\twhite-space: nowrap;\n\tvertical-align: baseline;\n\tbackground-color: <<colour dragger-background>>;\n\tborder-radius: 20px;\n}\n\n.tc-tiddler-dragger-cover {\n\tposition: absolute;\n\tbackground-color: <<colour page-background>>;\n}\n\n.tc-dropzone {\n\tposition: relative;\n}\n\n.tc-dropzone.tc-dragover:before {\n\tz-index: 10000;\n\tdisplay: block;\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbackground: <<colour dropzone-background>>;\n\ttext-align: center;\n\tcontent: \"<<lingo DropMessage>>\";\n}\n\n.tc-droppable > .tc-droppable-placeholder {\n\tdisplay: none;\n}\n\n.tc-droppable.tc-dragover > .tc-droppable-placeholder {\n\tdisplay: block;\n\tborder: 2px dashed <<colour dropzone-background>>;\n}\n\n.tc-draggable {\n\tcursor: move;\n}\n\n.tc-sidebar-tab-open .tc-droppable-placeholder, .tc-tagged-draggable-list .tc-droppable-placeholder,\n.tc-links-draggable-list .tc-droppable-placeholder {\n\tline-height: 2em;\n\theight: 2em;\n}\n\n.tc-sidebar-tab-open-item {\n\tposition: relative;\n}\n\n.tc-sidebar-tab-open .tc-btn-invisible.tc-btn-mini svg {\n\tfont-size: 0.7em;\n\tfill: <<colour muted-foreground>>;\n}\n\n/*\n** Plugin reload warning\n*/\n\n.tc-plugin-reload-warning {\n\tz-index: 1000;\n\tdisplay: block;\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbackground: <<colour alert-background>>;\n\ttext-align: center;\n}\n\n/*\n** Buttons\n*/\n\nbutton svg, button img, label svg, label img {\n\tvertical-align: middle;\n}\n\n.tc-btn-invisible {\n\tpadding: 0;\n\tmargin: 0;\n\tbackground: none;\n\tborder: none;\n    \tcursor: pointer;\n\tcolor: <<colour foreground>>;\n}\n\n.tc-btn-boxed {\n\tfont-size: 0.6em;\n\tpadding: 0.2em;\n\tmargin: 1px;\n\tbackground: none;\n\tborder: 1px solid <<colour tiddler-controls-foreground>>;\n\tborder-radius: 0.25em;\n}\n\nhtml body.tc-body .tc-btn-boxed svg {\n\tfont-size: 1.6666em;\n}\n\n.tc-btn-boxed:hover {\n\tbackground: <<colour muted-foreground>>;\n\tcolor: <<colour background>>;\n}\n\nhtml body.tc-body .tc-btn-boxed:hover svg {\n\tfill: <<colour background>>;\n}\n\n.tc-btn-rounded {\n\tfont-size: 0.5em;\n\tline-height: 2;\n\tpadding: 0em 0.3em 0.2em 0.4em;\n\tmargin: 1px;\n\tborder: 1px solid <<colour muted-foreground>>;\n\tbackground: <<colour muted-foreground>>;\n\tcolor: <<colour background>>;\n\tborder-radius: 2em;\n}\n\nhtml body.tc-body .tc-btn-rounded svg {\n\tfont-size: 1.6666em;\n\tfill: <<colour background>>;\n}\n\n.tc-btn-rounded:hover {\n\tborder: 1px solid <<colour muted-foreground>>;\n\tbackground: <<colour background>>;\n\tcolor: <<colour muted-foreground>>;\n}\n\nhtml body.tc-body .tc-btn-rounded:hover svg {\n\tfill: <<colour muted-foreground>>;\n}\n\n.tc-btn-icon svg {\n\theight: 1em;\n\twidth: 1em;\n\tfill: <<colour muted-foreground>>;\n}\n\n.tc-btn-text {\n\tpadding: 0;\n\tmargin: 0;\n}\n\n/* used for documentation \"fake\" buttons */\n.tc-btn-standard {\n\tline-height: 1.8;\n\tcolor: #667;\n\tbackground-color: #e0e0e0;\n\tborder: 1px solid #888;\n\tpadding: 2px 1px 2px 1px;\n\tmargin: 1px 4px 1px 4px;\n}\n\n.tc-btn-big-green {\n\tdisplay: inline-block;\n\tpadding: 8px;\n\tmargin: 4px 8px 4px 8px;\n\tbackground: <<colour download-background>>;\n\tcolor: <<colour download-foreground>>;\n\tfill: <<colour download-foreground>>;\n\tborder: none;\n\tborder-radius: 2px;\n\tfont-size: 1.2em;\n\tline-height: 1.4em;\n\ttext-decoration: none;\n}\n\n.tc-btn-big-green svg,\n.tc-btn-big-green img {\n\theight: 2em;\n\twidth: 2em;\n\tvertical-align: middle;\n\tfill: <<colour download-foreground>>;\n}\n\n.tc-primary-btn {\n \tbackground: <<colour primary>>;\n}\n\n.tc-sidebar-lists input {\n\tcolor: <<colour foreground>>;\n}\n\n.tc-sidebar-lists button {\n\tcolor: <<colour sidebar-button-foreground>>;\n\tfill: <<colour sidebar-button-foreground>>;\n}\n\n.tc-sidebar-lists button.tc-btn-mini {\n\tcolor: <<colour sidebar-muted-foreground>>;\n}\n\n.tc-sidebar-lists button.tc-btn-mini:hover {\n\tcolor: <<colour sidebar-muted-foreground-hover>>;\n}\n\nbutton svg.tc-image-button, button .tc-image-button img {\n\theight: 1em;\n\twidth: 1em;\n}\n\n.tc-unfold-banner {\n\tposition: absolute;\n\tpadding: 0;\n\tmargin: 0;\n\tbackground: none;\n\tborder: none;\n\twidth: 100%;\n\twidth: calc(100% + 2px);\n\tmargin-left: -43px;\n\ttext-align: center;\n\tborder-top: 2px solid <<colour tiddler-info-background>>;\n\tmargin-top: 4px;\n}\n\n.tc-unfold-banner:hover {\n\tbackground: <<colour tiddler-info-background>>;\n\tborder-top: 2px solid <<colour tiddler-info-border>>;\n}\n\n.tc-unfold-banner svg, .tc-fold-banner svg {\n\theight: 0.75em;\n\tfill: <<colour tiddler-controls-foreground>>;\n}\n\n.tc-unfold-banner:hover svg, .tc-fold-banner:hover svg {\n\tfill: <<colour tiddler-controls-foreground-hover>>;\n}\n\n.tc-fold-banner {\n\tposition: absolute;\n\tpadding: 0;\n\tmargin: 0;\n\tbackground: none;\n\tborder: none;\n\twidth: 23px;\n\ttext-align: center;\n\tmargin-left: -35px;\n\ttop: 6px;\n\tbottom: 6px;\n}\n\n.tc-fold-banner:hover {\n\tbackground: <<colour tiddler-info-background>>;\n}\n\n@media (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n\t.tc-unfold-banner {\n\t\tposition: static;\n\t\twidth: calc(100% + 59px);\n\t}\n\n\t.tc-fold-banner {\n\t\twidth: 16px;\n\t\tmargin-left: -16px;\n\t\tfont-size: 0.75em;\n\t}\n\n}\n\n/*\n** Tags and missing tiddlers\n*/\n\n.tc-tag-list-item {\n\tposition: relative;\n\tdisplay: inline-block;\n\tmargin-right: 7px;\n}\n\n.tc-tags-wrapper {\n\tmargin: 4px 0 14px 0;\n}\n\n.tc-missing-tiddler-label {\n\tfont-style: italic;\n\tfont-weight: normal;\n\tdisplay: inline-block;\n\tfont-size: 11.844px;\n\tline-height: 14px;\n\twhite-space: nowrap;\n\tvertical-align: baseline;\n}\n\nbutton.tc-tag-label, span.tc-tag-label {\n\tdisplay: inline-block;\n\tpadding: 0.16em 0.7em;\n\tfont-size: 0.9em;\n\tfont-weight: 400;\n\tline-height: 1.2em;\n\tcolor: <<colour tag-foreground>>;\n\twhite-space: nowrap;\n\tvertical-align: baseline;\n\tbackground-color: <<colour tag-background>>;\n\tborder-radius: 1em;\n}\n\n.tc-sidebar-scrollable .tc-tag-label {\n\ttext-shadow: none;\n}\n\n.tc-untagged-separator {\n\twidth: 10em;\n\tleft: 0;\n\tmargin-left: 0;\n\tborder: 0;\n\theight: 1px;\n\tbackground: <<colour tab-divider>>;\n}\n\nbutton.tc-untagged-label {\n\tbackground-color: <<colour untagged-background>>;\n}\n\n.tc-tag-label svg, .tc-tag-label img {\n\theight: 1em;\n\twidth: 1em;\n\tvertical-align: text-bottom;\n}\n\n.tc-edit-tags button.tc-remove-tag-button svg {\n\tfont-size: 0.7em;\n\tvertical-align: middle;\n}\n\n.tc-tag-manager-table .tc-tag-label {\n\twhite-space: normal;\n}\n\n.tc-tag-manager-tag {\n\twidth: 100%;\n}\n\nbutton.tc-btn-invisible.tc-remove-tag-button {\n\toutline: none;\n}\n\n/*\n** Page layout\n*/\n\n.tc-topbar {\n\tposition: fixed;\n\tz-index: 1200;\n}\n\n.tc-topbar-left {\n\tleft: 29px;\n\ttop: 5px;\n}\n\n.tc-topbar-right {\n\ttop: 5px;\n\tright: 29px;\n}\n\n.tc-topbar button {\n\tpadding: 8px;\n}\n\n.tc-topbar svg {\n\tfill: <<colour muted-foreground>>;\n}\n\n.tc-topbar button:hover svg {\n\tfill: <<colour foreground>>;\n}\n\n.tc-sidebar-header {\n\tcolor: <<colour sidebar-foreground>>;\n\tfill: <<colour sidebar-foreground>>;\n}\n\n.tc-sidebar-header .tc-title a.tc-tiddlylink-resolves {\n\tfont-weight: 300;\n}\n\n.tc-sidebar-header .tc-sidebar-lists p {\n\tmargin-top: 3px;\n\tmargin-bottom: 3px;\n}\n\n.tc-sidebar-header .tc-missing-tiddler-label {\n\tcolor: <<colour sidebar-foreground>>;\n}\n\n.tc-advanced-search input {\n\twidth: 60%;\n}\n\n.tc-search a svg {\n\twidth: 1.2em;\n\theight: 1.2em;\n\tvertical-align: middle;\n}\n\n.tc-page-controls {\n\tmargin-top: 14px;\n\tfont-size: 1.5em;\n}\n\n.tc-page-controls .tc-drop-down {\n  font-size: 1rem;\n}\n\n.tc-page-controls button {\n\tmargin-right: 0.5em;\n}\n\n.tc-page-controls a.tc-tiddlylink:hover {\n\ttext-decoration: none;\n}\n\n.tc-page-controls img {\n\twidth: 1em;\n}\n\n.tc-page-controls svg {\n\tfill: <<colour sidebar-controls-foreground>>;\n}\n\n.tc-page-controls button:hover svg, .tc-page-controls a:hover svg {\n\tfill: <<colour sidebar-controls-foreground-hover>>;\n}\n\n.tc-menu-list-item {\n\twhite-space: nowrap;\n}\n\n.tc-menu-list-count {\n\tfont-weight: bold;\n}\n\n.tc-menu-list-subitem {\n\tpadding-left: 7px;\n}\n\n.tc-story-river {\n\tposition: relative;\n}\n\n@media (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n\t.tc-sidebar-header {\n\t\tpadding: 14px;\n\t\tmin-height: 32px;\n\t\tmargin-top: {{$:/themes/tiddlywiki/vanilla/metrics/storytop}};\n\t}\n\n\t.tc-story-river {\n\t\tposition: relative;\n\t\tpadding: 0;\n\t}\n}\n\n@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n\t.tc-message-box {\n\t\tmargin: 21px -21px 21px -21px;\n\t}\n\n\t.tc-sidebar-scrollable {\n\t\tposition: fixed;\n\t\ttop: {{$:/themes/tiddlywiki/vanilla/metrics/storytop}};\n\t\tleft: {{$:/themes/tiddlywiki/vanilla/metrics/storyright}};\n\t\tbottom: 0;\n\t\tright: 0;\n\t\toverflow-y: auto;\n\t\toverflow-x: auto;\n\t\t-webkit-overflow-scrolling: touch;\n\t\tmargin: 0 0 0 -42px;\n\t\tpadding: 71px 0 28px 42px;\n\t}\n\n\thtml[dir=\"rtl\"] .tc-sidebar-scrollable {\n\t\tleft: auto;\n\t\tright: {{$:/themes/tiddlywiki/vanilla/metrics/storyright}};\n\t}\n\n\t.tc-story-river {\n\t\tposition: relative;\n\t\tleft: {{$:/themes/tiddlywiki/vanilla/metrics/storyleft}};\n\t\ttop: {{$:/themes/tiddlywiki/vanilla/metrics/storytop}};\n\t\twidth: {{$:/themes/tiddlywiki/vanilla/metrics/storywidth}};\n\t\tpadding: 42px 42px 42px 42px;\n\t}\n\n<<if-no-sidebar \"\n\n\t.tc-story-river {\n\t\twidth: calc(100% - {{$:/themes/tiddlywiki/vanilla/metrics/storyleft}});\n\t}\n\n\">>\n\n}\n\n@media print {\n\n\tbody.tc-body {\n\t\tbackground-color: transparent;\n\t}\n\n\t.tc-sidebar-header, .tc-topbar {\n\t\tdisplay: none;\n\t}\n\n\t.tc-story-river {\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t}\n\n\t.tc-story-river .tc-tiddler-frame {\n\t\tmargin: 0;\n\t\tborder: none;\n\t\tpadding: 0;\n\t}\n}\n\n/*\n** Tiddler styles\n*/\n\n.tc-tiddler-frame {\n\tposition: relative;\n\tmargin-bottom: 28px;\n\tbackground-color: <<colour tiddler-background>>;\n\tborder: 1px solid <<colour tiddler-border>>;\n}\n\n{{$:/themes/tiddlywiki/vanilla/sticky}}\n\n.tc-tiddler-info {\n\tpadding: 14px 42px 14px 42px;\n\tbackground-color: <<colour tiddler-info-background>>;\n\tborder-top: 1px solid <<colour tiddler-info-border>>;\n\tborder-bottom: 1px solid <<colour tiddler-info-border>>;\n}\n\n.tc-tiddler-info p {\n\tmargin-top: 3px;\n\tmargin-bottom: 3px;\n}\n\n.tc-tiddler-info .tc-tab-buttons button.tc-tab-selected {\n\tbackground-color: <<colour tiddler-info-tab-background>>;\n\tborder-bottom: 1px solid <<colour tiddler-info-tab-background>>;\n}\n\n.tc-view-field-table {\n\twidth: 100%;\n}\n\n.tc-view-field-name {\n\twidth: 1%; /* Makes this column be as narrow as possible */\n\ttext-align: right;\n\tfont-style: italic;\n\tfont-weight: 200;\n}\n\n.tc-view-field-value {\n}\n\n@media (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\t.tc-tiddler-frame {\n\t\tpadding: 14px 14px 14px 14px;\n\t}\n\n\t.tc-tiddler-info {\n\t\tmargin: 0 -14px 0 -14px;\n\t}\n}\n\n@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\t.tc-tiddler-frame {\n\t\tpadding: 28px 42px 42px 42px;\n\t\twidth: {{$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth}};\n\t\tborder-radius: 2px;\n\t}\n\n<<if-no-sidebar \"\n\n\t.tc-tiddler-frame {\n\t\twidth: 100%;\n\t}\n\n\">>\n\n\t.tc-tiddler-info {\n\t\tmargin: 0 -42px 0 -42px;\n\t}\n}\n\n.tc-site-title,\n.tc-titlebar {\n\tfont-weight: 300;\n\tfont-size: 2.35em;\n\tline-height: 1.2em;\n\tcolor: <<colour tiddler-title-foreground>>;\n\tmargin: 0;\n}\n\n.tc-site-title {\n\tcolor: <<colour site-title-foreground>>;\n}\n\n.tc-tiddler-title-icon {\n\tvertical-align: middle;\n}\n\n.tc-system-title-prefix {\n\tcolor: <<colour muted-foreground>>;\n}\n\n.tc-titlebar h2 {\n\tfont-size: 1em;\n\tdisplay: inline;\n}\n\n.tc-titlebar img {\n\theight: 1em;\n}\n\n.tc-subtitle {\n\tfont-size: 0.9em;\n\tcolor: <<colour tiddler-subtitle-foreground>>;\n\tfont-weight: 300;\n}\n\n.tc-tiddler-missing .tc-title {\n  font-style: italic;\n  font-weight: normal;\n}\n\n.tc-tiddler-frame .tc-tiddler-controls {\n\tfloat: right;\n}\n\n.tc-tiddler-controls .tc-drop-down {\n\tfont-size: 0.6em;\n}\n\n.tc-tiddler-controls .tc-drop-down .tc-drop-down {\n\tfont-size: 1em;\n}\n\n.tc-tiddler-controls > span > button,\n.tc-tiddler-controls > span > span > button,\n.tc-tiddler-controls > span > span > span > button {\n\tvertical-align: baseline;\n\tmargin-left:5px;\n}\n\n.tc-tiddler-controls button svg, .tc-tiddler-controls button img,\n.tc-search button svg, .tc-search a svg {\n\tfill: <<colour tiddler-controls-foreground>>;\n}\n\n.tc-tiddler-controls button svg, .tc-tiddler-controls button img {\n\theight: 0.75em;\n}\n\n.tc-search button svg, .tc-search a svg {\n    height: 1.2em;\n    width: 1.2em;\n    margin: 0 0.25em;\n}\n\n.tc-tiddler-controls button.tc-selected svg,\n.tc-page-controls button.tc-selected svg  {\n\tfill: <<colour tiddler-controls-foreground-selected>>;\n}\n\n.tc-tiddler-controls button.tc-btn-invisible:hover svg,\n.tc-search button:hover svg, .tc-search a:hover svg {\n\tfill: <<colour tiddler-controls-foreground-hover>>;\n}\n\n@media print {\n\t.tc-tiddler-controls {\n\t\tdisplay: none;\n\t}\n}\n\n.tc-tiddler-help { /* Help prompts within tiddler template */\n\tcolor: <<colour muted-foreground>>;\n\tmargin-top: 14px;\n}\n\n.tc-tiddler-help a.tc-tiddlylink {\n\tcolor: <<colour very-muted-foreground>>;\n}\n\n.tc-tiddler-frame .tc-edit-texteditor {\n\twidth: 100%;\n\tmargin: 4px 0 4px 0;\n}\n\n.tc-tiddler-frame input.tc-edit-texteditor,\n.tc-tiddler-frame textarea.tc-edit-texteditor,\n.tc-tiddler-frame iframe.tc-edit-texteditor {\n\tpadding: 3px 3px 3px 3px;\n\tborder: 1px solid <<colour tiddler-editor-border>>;\n\tbackground-color: <<colour tiddler-editor-background>>;\n\tline-height: 1.3em;\n\t-webkit-appearance: none;\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/editorfontfamily}};\n}\n\n.tc-tiddler-frame .tc-binary-warning {\n\twidth: 100%;\n\theight: 5em;\n\ttext-align: center;\n\tpadding: 3em 3em 6em 3em;\n\tbackground: <<colour alert-background>>;\n\tborder: 1px solid <<colour alert-border>>;\n}\n\ncanvas.tc-edit-bitmapeditor  {\n\tborder: 6px solid <<colour tiddler-editor-border-image>>;\n\tcursor: crosshair;\n\t-moz-user-select: none;\n\t-webkit-user-select: none;\n\t-ms-user-select: none;\n\tmargin-top: 6px;\n\tmargin-bottom: 6px;\n}\n\n.tc-edit-bitmapeditor-width {\n\tdisplay: block;\n}\n\n.tc-edit-bitmapeditor-height {\n\tdisplay: block;\n}\n\n.tc-tiddler-body {\n\tclear: both;\n}\n\n.tc-tiddler-frame .tc-tiddler-body {\n\tfont-size: {{$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize}};\n\tline-height: {{$:/themes/tiddlywiki/vanilla/metrics/bodylineheight}};\n}\n\n.tc-titlebar, .tc-tiddler-edit-title {\n\toverflow: hidden; /* https://github.com/Jermolene/TiddlyWiki5/issues/282 */\n}\n\nhtml body.tc-body.tc-single-tiddler-window {\n\tmargin: 1em;\n\tbackground: <<colour tiddler-background>>;\n}\n\n.tc-single-tiddler-window img,\n.tc-single-tiddler-window svg,\n.tc-single-tiddler-window canvas,\n.tc-single-tiddler-window embed,\n.tc-single-tiddler-window iframe {\n\tmax-width: 100%;\n}\n\n/*\n** Editor\n*/\n\n.tc-editor-toolbar {\n\tmargin-top: 8px;\n}\n\n.tc-editor-toolbar button {\n\tvertical-align: middle;\n\tbackground-color: <<colour tiddler-controls-foreground>>;\n\tcolor: <<colour tiddler-controls-foreground-selected>>;\n\tfill: <<colour tiddler-controls-foreground-selected>>;\n\tborder-radius: 4px;\n\tpadding: 3px;\n\tmargin: 2px 0 2px 4px;\n}\n\n.tc-editor-toolbar button.tc-text-editor-toolbar-item-adjunct {\n\tmargin-left: 1px;\n\twidth: 1em;\n\tborder-radius: 8px;\n}\n\n.tc-editor-toolbar button.tc-text-editor-toolbar-item-start-group {\n\tmargin-left: 11px;\n}\n\n.tc-editor-toolbar button.tc-selected {\n\tbackground-color: <<colour primary>>;\n}\n\n.tc-editor-toolbar button svg {\n\twidth: 1.6em;\n\theight: 1.2em;\n}\n\n.tc-editor-toolbar button:hover {\n\tbackground-color: <<colour tiddler-controls-foreground-selected>>;\n\tfill: <<colour background>>;\n\tcolor: <<colour background>>;\n}\n\n.tc-editor-toolbar .tc-text-editor-toolbar-more {\n\twhite-space: normal;\n}\n\n.tc-editor-toolbar .tc-text-editor-toolbar-more button {\n\tdisplay: inline-block;\n\tpadding: 3px;\n\twidth: auto;\n}\n\n.tc-editor-toolbar .tc-search-results {\n\tpadding: 0;\n}\n\n/*\n** Adjustments for fluid-fixed mode\n*/\n\n@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n<<if-fluid-fixed text:\"\"\"\n\n\t.tc-story-river {\n\t\tpadding-right: 0;\n\t\tposition: relative;\n\t\twidth: auto;\n\t\tleft: 0;\n\t\tmargin-left: {{$:/themes/tiddlywiki/vanilla/metrics/storyleft}};\n\t\tmargin-right: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth}};\n\t}\n\n\t.tc-tiddler-frame {\n\t\twidth: 100%;\n\t}\n\n\t.tc-sidebar-scrollable {\n\t\tleft: auto;\n\t\tbottom: 0;\n\t\tright: 0;\n\t\twidth: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth}};\n\t}\n\n\tbody.tc-body .tc-storyview-zoomin-tiddler {\n\t\twidth: 100%;\n\t\twidth: calc(100% - 42px);\n\t}\n\n\"\"\" hiddenSidebarText:\"\"\"\n\n\t.tc-story-river {\n\t\tpadding-right: 3em;\n\t\tmargin-right: 0;\n\t}\n\n\tbody.tc-body .tc-storyview-zoomin-tiddler {\n\t\twidth: 100%;\n\t\twidth: calc(100% - 84px);\n\t}\n\n\"\"\">>\n\n}\n\n/*\n** Toolbar buttons\n*/\n\n.tc-page-controls svg.tc-image-new-button {\n  fill: <<colour toolbar-new-button>>;\n}\n\n.tc-page-controls svg.tc-image-options-button {\n  fill: <<colour toolbar-options-button>>;\n}\n\n.tc-page-controls svg.tc-image-save-button {\n  fill: <<colour toolbar-save-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-info-button {\n  fill: <<colour toolbar-info-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-edit-button {\n  fill: <<colour toolbar-edit-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-close-button {\n  fill: <<colour toolbar-close-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-delete-button {\n  fill: <<colour toolbar-delete-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-cancel-button {\n  fill: <<colour toolbar-cancel-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-done-button {\n  fill: <<colour toolbar-done-button>>;\n}\n\n/*\n** Tiddler edit mode\n*/\n\n.tc-tiddler-edit-frame em.tc-edit {\n\tcolor: <<colour muted-foreground>>;\n\tfont-style: normal;\n}\n\n.tc-edit-type-dropdown a.tc-tiddlylink-missing {\n\tfont-style: normal;\n}\n\n.tc-edit-tags {\n\tborder: 1px solid <<colour tiddler-editor-border>>;\n\tpadding: 4px 8px 4px 8px;\n}\n\n.tc-edit-add-tag {\n\tdisplay: inline-block;\n}\n\n.tc-edit-add-tag .tc-add-tag-name input {\n\twidth: 50%;\n}\n\n.tc-edit-add-tag .tc-keyboard {\n\tdisplay:inline;\n}\n\n.tc-edit-tags .tc-tag-label {\n\tdisplay: inline-block;\n}\n\n.tc-edit-tags-list {\n\tmargin: 14px 0 14px 0;\n}\n\n.tc-remove-tag-button {\n\tpadding-left: 4px;\n}\n\n.tc-tiddler-preview {\n\toverflow: auto;\n}\n\n.tc-tiddler-preview-preview {\n\tfloat: right;\n\twidth: 49%;\n\tborder: 1px solid <<colour tiddler-editor-border>>;\n\tmargin: 4px 0 3px 3px;\n\tpadding: 3px 3px 3px 3px;\n}\n\n<<if-editor-height-fixed then:\"\"\"\n\n.tc-tiddler-preview-preview {\n\toverflow-y: scroll;\n\theight: {{$:/config/TextEditor/EditorHeight/Height}};\n}\n\n\"\"\">>\n\n.tc-tiddler-frame .tc-tiddler-preview .tc-edit-texteditor {\n\twidth: 49%;\n}\n\n.tc-tiddler-frame .tc-tiddler-preview canvas.tc-edit-bitmapeditor {\n\tmax-width: 49%;\n}\n\n.tc-edit-fields {\n\twidth: 100%;\n}\n\n\n.tc-edit-fields table, .tc-edit-fields tr, .tc-edit-fields td {\n\tborder: none;\n\tpadding: 4px;\n}\n\n.tc-edit-fields > tbody > .tc-edit-field:nth-child(odd) {\n\tbackground-color: <<colour tiddler-editor-fields-odd>>;\n}\n\n.tc-edit-fields > tbody > .tc-edit-field:nth-child(even) {\n\tbackground-color: <<colour tiddler-editor-fields-even>>;\n}\n\n.tc-edit-field-name {\n\ttext-align: right;\n}\n\n.tc-edit-field-value input {\n\twidth: 100%;\n}\n\n.tc-edit-field-remove {\n}\n\n.tc-edit-field-remove svg {\n\theight: 1em;\n\twidth: 1em;\n\tfill: <<colour muted-foreground>>;\n\tvertical-align: middle;\n}\n\n.tc-edit-field-add-name {\n\tdisplay: inline-block;\n\twidth: 15%;\n}\n\n.tc-edit-field-add-value {\n\tdisplay: inline-block;\n\twidth: 40%;\n}\n\n.tc-edit-field-add-button {\n\tdisplay: inline-block;\n\twidth: 10%;\n}\n\n/*\n** Storyview Classes\n*/\n\n.tc-storyview-zoomin-tiddler {\n\tposition: absolute;\n\tdisplay: block;\n\twidth: 100%;\n}\n\n@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n\t.tc-storyview-zoomin-tiddler {\n\t\twidth: calc(100% - 84px);\n\t}\n\n}\n\n/*\n** Dropdowns\n*/\n\n.tc-btn-dropdown {\n\ttext-align: left;\n}\n\n.tc-btn-dropdown svg, .tc-btn-dropdown img {\n\theight: 1em;\n\twidth: 1em;\n\tfill: <<colour muted-foreground>>;\n}\n\n.tc-drop-down-wrapper {\n\tposition: relative;\n}\n\n.tc-drop-down {\n\tmin-width: 380px;\n\tborder: 1px solid <<colour dropdown-border>>;\n\tbackground-color: <<colour dropdown-background>>;\n\tpadding: 7px 0 7px 0;\n\tmargin: 4px 0 0 0;\n\twhite-space: nowrap;\n\ttext-shadow: none;\n\tline-height: 1.4;\n}\n\n.tc-drop-down .tc-drop-down {\n\tmargin-left: 14px;\n}\n\n.tc-drop-down button svg, .tc-drop-down a svg  {\n\tfill: <<colour foreground>>;\n}\n\n.tc-drop-down button.tc-btn-invisible:hover svg {\n\tfill: <<colour foreground>>;\n}\n\n.tc-drop-down p {\n\tpadding: 0 14px 0 14px;\n}\n\n.tc-drop-down svg {\n\twidth: 1em;\n\theight: 1em;\n}\n\n.tc-drop-down img {\n\twidth: 1em;\n}\n\n.tc-drop-down a, .tc-drop-down button {\n\tdisplay: block;\n\tpadding: 0 14px 0 14px;\n\twidth: 100%;\n\ttext-align: left;\n\tcolor: <<colour foreground>>;\n\tline-height: 1.4;\n}\n\n.tc-drop-down .tc-tab-set .tc-tab-buttons button {\n\tdisplay: inline-block;\n    width: auto;\n    margin-bottom: 0px;\n    border-bottom-left-radius: 0;\n    border-bottom-right-radius: 0;\n}\n\n.tc-drop-down .tc-prompt {\n\tpadding: 0 14px;\n}\n\n.tc-drop-down .tc-chooser {\n\tborder: none;\n}\n\n.tc-drop-down .tc-chooser .tc-swatches-horiz {\n\tfont-size: 0.4em;\n\tpadding-left: 1.2em;\n}\n\n.tc-drop-down .tc-file-input-wrapper {\n\twidth: 100%;\n}\n\n.tc-drop-down .tc-file-input-wrapper button {\n\tcolor: <<colour foreground>>;\n}\n\n.tc-drop-down a:hover, .tc-drop-down button:hover, .tc-drop-down .tc-file-input-wrapper:hover button {\n\tcolor: <<colour tiddler-link-background>>;\n\tbackground-color: <<colour tiddler-link-foreground>>;\n\ttext-decoration: none;\n}\n\n.tc-drop-down .tc-tab-buttons button {\n\tbackground-color: <<colour dropdown-tab-background>>;\n}\n\n.tc-drop-down .tc-tab-buttons button.tc-tab-selected {\n\tbackground-color: <<colour dropdown-tab-background-selected>>;\n\tborder-bottom: 1px solid <<colour dropdown-tab-background-selected>>;\n}\n\n.tc-drop-down-bullet {\n\tdisplay: inline-block;\n\twidth: 0.5em;\n}\n\n.tc-drop-down .tc-tab-contents a {\n\tpadding: 0 0.5em 0 0.5em;\n}\n\n.tc-block-dropdown-wrapper {\n\tposition: relative;\n}\n\n.tc-block-dropdown {\n\tposition: absolute;\n\tmin-width: 220px;\n\tborder: 1px solid <<colour dropdown-border>>;\n\tbackground-color: <<colour dropdown-background>>;\n\tpadding: 7px 0;\n\tmargin: 4px 0 0 0;\n\twhite-space: nowrap;\n\tz-index: 1000;\n\ttext-shadow: none;\n}\n\n.tc-block-dropdown.tc-search-drop-down {\n\tmargin-left: -12px;\n}\n\n.tc-block-dropdown a {\n\tdisplay: block;\n\tpadding: 4px 14px 4px 14px;\n}\n\n.tc-block-dropdown.tc-search-drop-down a {\n\tdisplay: block;\n\tpadding: 0px 10px 0px 10px;\n}\n\n.tc-drop-down .tc-dropdown-item-plain,\n.tc-block-dropdown .tc-dropdown-item-plain {\n\tpadding: 4px 14px 4px 7px;\n}\n\n.tc-drop-down .tc-dropdown-item,\n.tc-block-dropdown .tc-dropdown-item {\n\tpadding: 4px 14px 4px 7px;\n\tcolor: <<colour muted-foreground>>;\n}\n\n.tc-block-dropdown a:hover {\n\tcolor: <<colour tiddler-link-background>>;\n\tbackground-color: <<colour tiddler-link-foreground>>;\n\ttext-decoration: none;\n}\n\n.tc-search-results {\n\tpadding: 0 7px 0 7px;\n}\n\n.tc-image-chooser, .tc-colour-chooser {\n\twhite-space: normal;\n}\n\n.tc-image-chooser a,\n.tc-colour-chooser a {\n\tdisplay: inline-block;\n\tvertical-align: top;\n\ttext-align: center;\n\tposition: relative;\n}\n\n.tc-image-chooser a {\n\tborder: 1px solid <<colour muted-foreground>>;\n\tpadding: 2px;\n\tmargin: 2px;\n\twidth: 4em;\n\theight: 4em;\n}\n\n.tc-colour-chooser a {\n\tpadding: 3px;\n\twidth: 2em;\n\theight: 2em;\n\tvertical-align: middle;\n}\n\n.tc-image-chooser a:hover,\n.tc-colour-chooser a:hover {\n\tbackground: <<colour primary>>;\n\tpadding: 0px;\n\tborder: 3px solid <<colour primary>>;\n}\n\n.tc-image-chooser a svg,\n.tc-image-chooser a img {\n\tdisplay: inline-block;\n\twidth: auto;\n\theight: auto;\n\tmax-width: 3.5em;\n\tmax-height: 3.5em;\n\tposition: absolute;\n\ttop: 0;\n\tbottom: 0;\n\tleft: 0;\n\tright: 0;\n\tmargin: auto;\n}\n\n/*\n** Modals\n*/\n\n.tc-modal-wrapper {\n\tposition: fixed;\n\toverflow: auto;\n\toverflow-y: scroll;\n\ttop: 0;\n\tright: 0;\n\tbottom: 0;\n\tleft: 0;\n\tz-index: 900;\n}\n\n.tc-modal-backdrop {\n\tposition: fixed;\n\ttop: 0;\n\tright: 0;\n\tbottom: 0;\n\tleft: 0;\n\tz-index: 1000;\n\tbackground-color: <<colour modal-backdrop>>;\n}\n\n.tc-modal {\n\tz-index: 1100;\n\tbackground-color: <<colour modal-background>>;\n\tborder: 1px solid <<colour modal-border>>;\n}\n\n@media (max-width: 55em) {\n\t.tc-modal {\n\t\tposition: fixed;\n\t\ttop: 1em;\n\t\tleft: 1em;\n\t\tright: 1em;\n\t}\n\n\t.tc-modal-body {\n\t\toverflow-y: auto;\n\t\tmax-height: 400px;\n\t\tmax-height: 60vh;\n\t}\n}\n\n@media (min-width: 55em) {\n\t.tc-modal {\n\t\tposition: fixed;\n\t\ttop: 2em;\n\t\tleft: 25%;\n\t\twidth: 50%;\n\t}\n\n\t.tc-modal-body {\n\t\toverflow-y: auto;\n\t\tmax-height: 400px;\n\t\tmax-height: 60vh;\n\t}\n}\n\n.tc-modal-header {\n\tpadding: 9px 15px;\n\tborder-bottom: 1px solid <<colour modal-header-border>>;\n}\n\n.tc-modal-header h3 {\n\tmargin: 0;\n\tline-height: 30px;\n}\n\n.tc-modal-header img, .tc-modal-header svg {\n\twidth: 1em;\n\theight: 1em;\n}\n\n.tc-modal-body {\n\tpadding: 15px;\n}\n\n.tc-modal-footer {\n\tpadding: 14px 15px 15px;\n\tmargin-bottom: 0;\n\ttext-align: right;\n\tbackground-color: <<colour modal-footer-background>>;\n\tborder-top: 1px solid <<colour modal-footer-border>>;\n}\n\n/*\n** Notifications\n*/\n\n.tc-notification {\n\tposition: fixed;\n\ttop: 14px;\n\tright: 42px;\n\tz-index: 1300;\n\tmax-width: 280px;\n\tpadding: 0 14px 0 14px;\n\tbackground-color: <<colour notification-background>>;\n\tborder: 1px solid <<colour notification-border>>;\n}\n\n/*\n** Tabs\n*/\n\n.tc-tab-set.tc-vertical {\n\tdisplay: -webkit-flex;\n\tdisplay: flex;\n}\n\n.tc-tab-buttons {\n\tfont-size: 0.85em;\n\tpadding-top: 1em;\n\tmargin-bottom: -2px;\n}\n\n.tc-tab-buttons.tc-vertical  {\n\tz-index: 100;\n\tdisplay: block;\n\tpadding-top: 14px;\n\tvertical-align: top;\n\ttext-align: right;\n\tmargin-bottom: inherit;\n\tmargin-right: -1px;\n\tmax-width: 33%;\n\t-webkit-flex: 0 0 auto;\n\tflex: 0 0 auto;\n}\n\n.tc-tab-buttons button.tc-tab-selected {\n\tcolor: <<colour tab-foreground-selected>>;\n\tbackground-color: <<colour tab-background-selected>>;\n\tborder-left: 1px solid <<colour tab-border-selected>>;\n\tborder-top: 1px solid <<colour tab-border-selected>>;\n\tborder-right: 1px solid <<colour tab-border-selected>>;\n}\n\n.tc-tab-buttons button {\n\tcolor: <<colour tab-foreground>>;\n\tpadding: 3px 5px 3px 5px;\n\tmargin-right: 0.3em;\n\tfont-weight: 300;\n\tborder: none;\n\tbackground: inherit;\n\tbackground-color: <<colour tab-background>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-top: 1px solid <<colour tab-border>>;\n\tborder-right: 1px solid <<colour tab-border>>;\n\tborder-top-left-radius: 2px;\n\tborder-top-right-radius: 2px;\n\tborder-bottom-left-radius: 0;\n\tborder-bottom-right-radius: 0;\n}\n\n.tc-tab-buttons.tc-vertical button {\n\tdisplay: block;\n\twidth: 100%;\n\tmargin-top: 3px;\n\tmargin-right: 0;\n\ttext-align: right;\n\tbackground-color: <<colour tab-background>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-bottom: 1px solid <<colour tab-border>>;\n\tborder-right: none;\n\tborder-top-left-radius: 2px;\n\tborder-bottom-left-radius: 2px;\n\tborder-top-right-radius: 0;\n\tborder-bottom-right-radius: 0;\n}\n\n.tc-tab-buttons.tc-vertical button.tc-tab-selected {\n\tbackground-color: <<colour tab-background-selected>>;\n\tborder-right: 1px solid <<colour tab-background-selected>>;\n}\n\n.tc-tab-divider {\n\tborder-top: 1px solid <<colour tab-divider>>;\n}\n\n.tc-tab-divider.tc-vertical  {\n\tdisplay: none;\n}\n\n.tc-tab-content {\n\tmargin-top: 14px;\n}\n\n.tc-tab-content.tc-vertical  {\n    word-break: break-word;\n\tdisplay: inline-block;\n\tvertical-align: top;\n\tpadding-top: 0;\n\tpadding-left: 14px;\n\tborder-left: 1px solid <<colour tab-border>>;\n\t-webkit-flex: 1 0 70%;\n\tflex: 1 0 70%;\n}\n\n.tc-sidebar-lists .tc-tab-buttons {\n\tmargin-bottom: -1px;\n}\n\n.tc-sidebar-lists .tc-tab-buttons button.tc-tab-selected {\n\tbackground-color: <<colour sidebar-tab-background-selected>>;\n\tcolor: <<colour sidebar-tab-foreground-selected>>;\n\tborder-left: 1px solid <<colour sidebar-tab-border-selected>>;\n\tborder-top: 1px solid <<colour sidebar-tab-border-selected>>;\n\tborder-right: 1px solid <<colour sidebar-tab-border-selected>>;\n}\n\n.tc-sidebar-lists .tc-tab-buttons button {\n\tbackground-color: <<colour sidebar-tab-background>>;\n\tcolor: <<colour sidebar-tab-foreground>>;\n\tborder-left: 1px solid <<colour sidebar-tab-border>>;\n\tborder-top: 1px solid <<colour sidebar-tab-border>>;\n\tborder-right: 1px solid <<colour sidebar-tab-border>>;\n}\n\n.tc-sidebar-lists .tc-tab-divider {\n\tborder-top: 1px solid <<colour sidebar-tab-divider>>;\n}\n\n.tc-more-sidebar > .tc-tab-set > .tc-tab-buttons > button {\n\tdisplay: block;\n\twidth: 100%;\n\tbackground-color: <<colour sidebar-tab-background>>;\n\tborder-top: none;\n\tborder-left: none;\n\tborder-bottom: none;\n\tborder-right: 1px solid #ccc;\n\tmargin-bottom: inherit;\n}\n\n.tc-more-sidebar > .tc-tab-set > .tc-tab-buttons > button.tc-tab-selected {\n\tbackground-color: <<colour sidebar-tab-background-selected>>;\n\tborder: none;\n}\n\n/*\n** Manager\n*/\n\n.tc-manager-wrapper {\n\t\n}\n\n.tc-manager-controls {\n\t\n}\n\n.tc-manager-control {\n\tmargin: 0.5em 0;\n}\n\n.tc-manager-list {\n\twidth: 100%;\n\tborder-top: 1px solid <<colour muted-foreground>>;\n\tborder-left: 1px solid <<colour muted-foreground>>;\n\tborder-right: 1px solid <<colour muted-foreground>>;\n}\n\n.tc-manager-list-item {\n\n}\n\n.tc-manager-list-item-heading {\n    display: block;\n    width: 100%;\n    text-align: left;\t\n\tborder-bottom: 1px solid <<colour muted-foreground>>;\n\tpadding: 3px;\n}\n\n.tc-manager-list-item-heading-selected {\n\tfont-weight: bold;\n\tcolor: <<colour background>>;\n\tfill: <<colour background>>;\n\tbackground-color: <<colour foreground>>;\n}\n\n.tc-manager-list-item-heading:hover {\n\tbackground: <<colour primary>>;\n\tcolor: <<colour background>>;\n}\n\n.tc-manager-list-item-content {\n\tdisplay: flex;\n}\n\n.tc-manager-list-item-content-sidebar {\n    flex: 1 0;\n    background: <<colour tiddler-editor-background>>;\n    border-right: 0.5em solid <<colour muted-foreground>>;\n    border-bottom: 0.5em solid <<colour muted-foreground>>;\n    white-space: nowrap;\n}\n\n.tc-manager-list-item-content-item-heading {\n\tdisplay: block;\n\twidth: 100%;\n\ttext-align: left;\n    background: <<colour muted-foreground>>;\n\ttext-transform: uppercase;\n\tfont-size: 0.6em;\n\tfont-weight: bold;\n    padding: 0.5em 0 0.5em 0;\n}\n\n.tc-manager-list-item-content-item-body {\n\tpadding: 0 0.5em 0 0.5em;\n}\n\n.tc-manager-list-item-content-item-body > pre {\n\tmargin: 0.5em 0 0.5em 0;\n\tborder: none;\n\tbackground: inherit;\n}\n\n.tc-manager-list-item-content-tiddler {\n    flex: 3 1;\n    border-left: 0.5em solid <<colour muted-foreground>>;\n    border-right: 0.5em solid <<colour muted-foreground>>;\n    border-bottom: 0.5em solid <<colour muted-foreground>>;\n}\n\n.tc-manager-list-item-content-item-body > table {\n\tborder: none;\n\tpadding: 0;\n\tmargin: 0;\n}\n\n.tc-manager-list-item-content-item-body > table td {\n\tborder: none;\n}\n\n.tc-manager-icon-editor > button {\n\twidth: 100%;\n}\n\n.tc-manager-icon-editor > button > svg,\n.tc-manager-icon-editor > button > button {\n\twidth: 100%;\n\theight: auto;\n}\n\n/*\n** Alerts\n*/\n\n.tc-alerts {\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tmax-width: 500px;\n\tz-index: 20000;\n}\n\n.tc-alert {\n\tposition: relative;\n\tmargin: 28px;\n\tpadding: 14px 14px 14px 14px;\n\tborder: 2px solid <<colour alert-border>>;\n\tbackground-color: <<colour alert-background>>;\n}\n\n.tc-alert-toolbar {\n\tposition: absolute;\n\ttop: 14px;\n\tright: 14px;\n}\n\n.tc-alert-toolbar svg {\n\tfill: <<colour alert-muted-foreground>>;\n}\n\n.tc-alert-subtitle {\n\tcolor: <<colour alert-muted-foreground>>;\n\tfont-weight: bold;\n}\n\n.tc-alert-highlight {\n\tcolor: <<colour alert-highlight>>;\n}\n\n@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n\t.tc-static-alert {\n\t\tposition: relative;\n\t}\n\n\t.tc-static-alert-inner {\n\t\tposition: absolute;\n\t\tz-index: 100;\n\t}\n\n}\n\n.tc-static-alert-inner {\n\tpadding: 0 2px 2px 42px;\n\tcolor: <<colour static-alert-foreground>>;\n}\n\n/*\n** Floating drafts list\n*/\n\n.tc-drafts-list {\n\tz-index: 2000;\n\tposition: fixed;\n\tfont-size: 0.8em;\n\tleft: 0;\n\tbottom: 0;\n}\n\n.tc-drafts-list a {\n\tmargin: 0 0.5em;\n\tpadding: 4px 4px;\n\tborder-top-left-radius: 4px;\n\tborder-top-right-radius: 4px;\n\tborder: 1px solid <<colour background>>;\n\tborder-bottom-none;\n\tbackground: <<colour dirty-indicator>>;\n\tcolor: <<colour background>>;\n\tfill: <<colour background>>;\n}\n\n.tc-drafts-list a:hover {\n\ttext-decoration: none;\n\tbackground: <<colour foreground>>;\n\tcolor: <<colour background>>;\n\tfill: <<colour background>>;\n}\n\n.tc-drafts-list a svg {\n\twidth: 1em;\n\theight: 1em;\n\tvertical-align: text-bottom;\n}\n\n/*\n** Control panel\n*/\n\n.tc-control-panel td {\n\tpadding: 4px;\n}\n\n.tc-control-panel table, .tc-control-panel table input, .tc-control-panel table textarea {\n\twidth: 100%;\n}\n\n.tc-plugin-info {\n\tdisplay: block;\n\tborder: 1px solid <<colour muted-foreground>>;\n\tbackground-colour: <<colour background>>;\n\tmargin: 0.5em 0 0.5em 0;\n\tpadding: 4px;\n}\n\n.tc-plugin-info-disabled {\n\tbackground: -webkit-repeating-linear-gradient(45deg, #ff0, #ff0 10px, #eee 10px, #eee 20px);\n\tbackground: repeating-linear-gradient(45deg, #ff0, #ff0 10px, #eee 10px, #eee 20px);\n}\n\n.tc-plugin-info-disabled:hover {\n\tbackground: -webkit-repeating-linear-gradient(45deg, #aa0, #aa0 10px, #888 10px, #888 20px);\n\tbackground: repeating-linear-gradient(45deg, #aa0, #aa0 10px, #888 10px, #888 20px);\n}\n\na.tc-tiddlylink.tc-plugin-info:hover {\n\ttext-decoration: none;\n\tbackground-color: <<colour primary>>;\n\tcolor: <<colour background>>;\n\tfill: <<colour foreground>>;\n}\n\na.tc-tiddlylink.tc-plugin-info:hover .tc-plugin-info > .tc-plugin-info-chunk > svg {\n\tfill: <<colour foreground>>;\n}\n\n.tc-plugin-info-chunk {\n\tdisplay: inline-block;\n\tvertical-align: middle;\n}\n\n.tc-plugin-info-chunk h1 {\n\tfont-size: 1em;\n\tmargin: 2px 0 2px 0;\n}\n\n.tc-plugin-info-chunk h2 {\n\tfont-size: 0.8em;\n\tmargin: 2px 0 2px 0;\n}\n\n.tc-plugin-info-chunk div {\n\tfont-size: 0.7em;\n\tmargin: 2px 0 2px 0;\n}\n\n.tc-plugin-info:hover > .tc-plugin-info-chunk > img, .tc-plugin-info:hover > .tc-plugin-info-chunk > svg {\n\twidth: 2em;\n\theight: 2em;\n\tfill: <<colour foreground>>;\n}\n\n.tc-plugin-info > .tc-plugin-info-chunk > img, .tc-plugin-info > .tc-plugin-info-chunk > svg {\n\twidth: 2em;\n\theight: 2em;\n\tfill: <<colour muted-foreground>>;\n}\n\n.tc-plugin-info.tc-small-icon > .tc-plugin-info-chunk > img, .tc-plugin-info.tc-small-icon > .tc-plugin-info-chunk > svg {\n\twidth: 1em;\n\theight: 1em;\n}\n\n.tc-plugin-info-dropdown {\n\tborder: 1px solid <<colour muted-foreground>>;\n\tmargin-top: -8px;\n}\n\n.tc-plugin-info-dropdown-message {\n\tbackground: <<colour message-background>>;\n\tpadding: 0.5em 1em 0.5em 1em;\n\tfont-weight: bold;\n\tfont-size: 0.8em;\n}\n\n.tc-plugin-info-dropdown-body {\n\tpadding: 1em 1em 1em 1em;\n}\n\n.tc-check-list {\n\tline-height: 2em;\n}\n\n.tc-check-list .tc-image-button {\n\theight: 1.5em;\n}\n\n/*\n** Message boxes\n*/\n\n.tc-message-box {\n\tborder: 1px solid <<colour message-border>>;\n\tbackground: <<colour message-background>>;\n\tpadding: 0px 21px 0px 21px;\n\tfont-size: 12px;\n\tline-height: 18px;\n\tcolor: <<colour message-foreground>>;\n}\n\n.tc-message-box svg {\n\twidth: 1em;\n\theight: 1em;\n    vertical-align: text-bottom;\n}\n\n/*\n** Pictures\n*/\n\n.tc-bordered-image {\n\tborder: 1px solid <<colour muted-foreground>>;\n\tpadding: 5px;\n\tmargin: 5px;\n}\n\n/*\n** Floats\n*/\n\n.tc-float-right {\n\tfloat: right;\n}\n\n/*\n** Chooser\n*/\n\n.tc-chooser {\n\tborder-right: 1px solid <<colour table-header-background>>;\n\tborder-left: 1px solid <<colour table-header-background>>;\n}\n\n\n.tc-chooser-item {\n\tborder-bottom: 1px solid <<colour table-header-background>>;\n\tborder-top: 1px solid <<colour table-header-background>>;\n\tpadding: 2px 4px 2px 14px;\n}\n\n.tc-drop-down .tc-chooser-item {\n\tpadding: 2px;\n}\n\n.tc-chosen,\n.tc-chooser-item:hover {\n\tbackground-color: <<colour table-header-background>>;\n\tborder-color: <<colour table-footer-background>>;\n}\n\n.tc-chosen .tc-tiddlylink {\n\tcursor:default;\n}\n\n.tc-chooser-item .tc-tiddlylink {\n\tdisplay: block;\n\ttext-decoration: none;\n\tbackground-color: transparent;\n}\n\n.tc-chooser-item:hover .tc-tiddlylink:hover {\n\ttext-decoration: none;\n}\n\n.tc-drop-down .tc-chosen .tc-tiddlylink,\n.tc-drop-down .tc-chooser-item .tc-tiddlylink:hover {\n\tcolor: <<colour foreground>>;\n}\n\n.tc-chosen > .tc-tiddlylink:before {\n\tmargin-left: -10px;\n\tposition: relative;\n\tcontent: \"» \";\n}\n\n.tc-chooser-item svg,\n.tc-chooser-item img{\n\twidth: 1em;\n\theight: 1em;\n\tvertical-align: middle;\n}\n\n.tc-language-chooser .tc-image-button img {\n\twidth: 2em;\n\tvertical-align: -0.15em;\n}\n\n/*\n** Palette swatches\n*/\n\n.tc-swatches-horiz {\n}\n\n.tc-swatches-horiz .tc-swatch {\n\tdisplay: inline-block;\n}\n\n.tc-swatch {\n\twidth: 2em;\n\theight: 2em;\n\tmargin: 0.4em;\n\tborder: 1px solid #888;\n}\n\ninput.tc-palette-manager-colour-input {\n\twidth: 100%;\n\tpadding: 0;\n}\n\n/*\n** Table of contents\n*/\n\n.tc-sidebar-lists .tc-table-of-contents {\n\twhite-space: nowrap;\n}\n\n.tc-table-of-contents button {\n\tcolor: <<colour sidebar-foreground>>;\n}\n\n.tc-table-of-contents svg {\n\twidth: 0.7em;\n\theight: 0.7em;\n\tvertical-align: middle;\n\tfill: <<colour sidebar-foreground>>;\n}\n\n.tc-table-of-contents ol {\n\tlist-style-type: none;\n\tpadding-left: 0;\n}\n\n.tc-table-of-contents ol ol {\n\tpadding-left: 1em;\n}\n\n.tc-table-of-contents li {\n\tfont-size: 1.0em;\n\tfont-weight: bold;\n}\n\n.tc-table-of-contents li a {\n\tfont-weight: bold;\n}\n\n.tc-table-of-contents li li {\n\tfont-size: 0.95em;\n\tfont-weight: normal;\n\tline-height: 1.4;\n}\n\n.tc-table-of-contents li li a {\n\tfont-weight: normal;\n}\n\n.tc-table-of-contents li li li {\n\tfont-size: 0.95em;\n\tfont-weight: 200;\n\tline-height: 1.5;\n}\n\n.tc-table-of-contents li li li li {\n\tfont-size: 0.95em;\n\tfont-weight: 200;\n}\n\n.tc-tabbed-table-of-contents {\n\tdisplay: -webkit-flex;\n\tdisplay: flex;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents {\n\tz-index: 100;\n\tdisplay: inline-block;\n\tpadding-left: 1em;\n\tmax-width: 50%;\n\t-webkit-flex: 0 0 auto;\n\tflex: 0 0 auto;\n\tbackground: <<colour tab-background>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-top: 1px solid <<colour tab-border>>;\n\tborder-bottom: 1px solid <<colour tab-border>>;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item > a,\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item-selected > a {\n\tdisplay: block;\n\tpadding: 0.12em 1em 0.12em 0.25em;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item > a {\n\tborder-top: 1px solid <<colour tab-background>>;\n\tborder-left: 1px solid <<colour tab-background>>;\n\tborder-bottom: 1px solid <<colour tab-background>>;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item > a:hover {\n\ttext-decoration: none;\n\tborder-top: 1px solid <<colour tab-border>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-bottom: 1px solid <<colour tab-border>>;\n\tbackground: <<colour tab-border>>;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item-selected > a {\n\tborder-top: 1px solid <<colour tab-border>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-bottom: 1px solid <<colour tab-border>>;\n\tbackground: <<colour background>>;\n\tmargin-right: -1px;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item-selected > a:hover {\n\ttext-decoration: none;\n}\n\n.tc-tabbed-table-of-contents .tc-tabbed-table-of-contents-content {\n\tdisplay: inline-block;\n\tvertical-align: top;\n\tpadding-left: 1.5em;\n\tpadding-right: 1.5em;\n\tborder: 1px solid <<colour tab-border>>;\n\t-webkit-flex: 1 0 50%;\n\tflex: 1 0 50%;\n}\n\n/*\n** Dirty indicator\n*/\n\nbody.tc-dirty span.tc-dirty-indicator, body.tc-dirty span.tc-dirty-indicator svg {\n\tfill: <<colour dirty-indicator>>;\n\tcolor: <<colour dirty-indicator>>;\n}\n\n/*\n** File inputs\n*/\n\n.tc-file-input-wrapper {\n\tposition: relative;\n\toverflow: hidden;\n\tdisplay: inline-block;\n\tvertical-align: middle;\n}\n\n.tc-file-input-wrapper input[type=file] {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbottom: 0;\n\tfont-size: 999px;\n\tmax-width: 100%;\n\tmax-height: 100%;\n\tfilter: alpha(opacity=0);\n\topacity: 0;\n\toutline: none;\n\tbackground: white;\n\tcursor: pointer;\n\tdisplay: inline-block;\n}\n\n/*\n** Thumbnail macros\n*/\n\n.tc-thumbnail-wrapper {\n\tposition: relative;\n\tdisplay: inline-block;\n\tmargin: 6px;\n\tvertical-align: top;\n}\n\n.tc-thumbnail-right-wrapper {\n\tfloat:right;\n\tmargin: 0.5em 0 0.5em 0.5em;\n}\n\n.tc-thumbnail-image {\n\ttext-align: center;\n\toverflow: hidden;\n\tborder-radius: 3px;\n}\n\n.tc-thumbnail-image svg,\n.tc-thumbnail-image img {\n\tfilter: alpha(opacity=1);\n\topacity: 1;\n\tmin-width: 100%;\n\tmin-height: 100%;\n\tmax-width: 100%;\n}\n\n.tc-thumbnail-wrapper:hover .tc-thumbnail-image svg,\n.tc-thumbnail-wrapper:hover .tc-thumbnail-image img {\n\tfilter: alpha(opacity=0.8);\n\topacity: 0.8;\n}\n\n.tc-thumbnail-background {\n\tposition: absolute;\n\tborder-radius: 3px;\n}\n\n.tc-thumbnail-icon svg,\n.tc-thumbnail-icon img {\n\twidth: 3em;\n\theight: 3em;\n\t<<filter \"drop-shadow(2px 2px 4px rgba(0,0,0,0.3))\">>\n}\n\n.tc-thumbnail-wrapper:hover .tc-thumbnail-icon svg,\n.tc-thumbnail-wrapper:hover .tc-thumbnail-icon img {\n\tfill: #fff;\n\t<<filter \"drop-shadow(3px 3px 4px rgba(0,0,0,0.6))\">>\n}\n\n.tc-thumbnail-icon {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbottom: 0;\n\tdisplay: -webkit-flex;\n\t-webkit-align-items: center;\n\t-webkit-justify-content: center;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n.tc-thumbnail-caption {\n\tposition: absolute;\n\tbackground-color: #777;\n\tcolor: #fff;\n\ttext-align: center;\n\tbottom: 0;\n\twidth: 100%;\n\tfilter: alpha(opacity=0.9);\n\topacity: 0.9;\n\tline-height: 1.4;\n\tborder-bottom-left-radius: 3px;\n\tborder-bottom-right-radius: 3px;\n}\n\n.tc-thumbnail-wrapper:hover .tc-thumbnail-caption {\n\tfilter: alpha(opacity=1);\n\topacity: 1;\n}\n\n/*\n** Diffs\n*/\n\n.tc-diff-equal {\n\tbackground-color: <<colour diff-equal-background>>;\n\tcolor: <<colour diff-equal-foreground>>;\n}\n\n.tc-diff-insert {\n\tbackground-color: <<colour diff-insert-background>>;\n\tcolor: <<colour diff-insert-foreground>>;\n}\n\n.tc-diff-delete {\n\tbackground-color: <<colour diff-delete-background>>;\n\tcolor: <<colour diff-delete-foreground>>;\n}\n\n.tc-diff-invisible {\n\tbackground-color: <<colour diff-invisible-background>>;\n\tcolor: <<colour diff-invisible-foreground>>;\n}\n\n.tc-diff-tiddlers th {\n\ttext-align: right;\n\tbackground: <<colour background>>;\n\tfont-weight: normal;\n\tfont-style: italic;\n}\n\n.tc-diff-tiddlers pre {\n    margin: 0;\n    padding: 0;\n    border: none;\n    background: none;\n}\n\n/*\n** Errors\n*/\n\n.tc-error {\n\tbackground: #f00;\n\tcolor: #fff;\n}\n\n/*\n** Tree macro\n*/\n\n.tc-tree div {\n    \tpadding-left: 14px;\n}\n\n.tc-tree ol {\n    \tlist-style-type: none;\n    \tpadding-left: 0;\n    \tmargin-top: 0;\n}\n\n.tc-tree ol ol {\n    \tpadding-left: 1em;    \n}\n\n.tc-tree button { \n    \tcolor: #acacac;\n}\n\n.tc-tree svg {\n     \tfill: #acacac;\n}\n\n.tc-tree span svg {\n    \twidth: 1em;\n    \theight: 1em;\n    \tvertical-align: baseline;\n}\n\n.tc-tree li span {\n    \tcolor: lightgray;\n}\n\nselect {\n        color: <<colour select-tag-foreground>>;\n        background: <<colour select-tag-background>>;\n}\n\n"
        },
        "$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize": {
            "title": "$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize",
            "text": "15px"
        },
        "$:/themes/tiddlywiki/vanilla/metrics/bodylineheight": {
            "title": "$:/themes/tiddlywiki/vanilla/metrics/bodylineheight",
            "text": "22px"
        },
        "$:/themes/tiddlywiki/vanilla/metrics/fontsize": {
            "title": "$:/themes/tiddlywiki/vanilla/metrics/fontsize",
            "text": "14px"
        },
        "$:/themes/tiddlywiki/vanilla/metrics/lineheight": {
            "title": "$:/themes/tiddlywiki/vanilla/metrics/lineheight",
            "text": "20px"
        },
        "$:/themes/tiddlywiki/vanilla/metrics/storyleft": {
            "title": "$:/themes/tiddlywiki/vanilla/metrics/storyleft",
            "text": "0px"
        },
        "$:/themes/tiddlywiki/vanilla/metrics/storytop": {
            "title": "$:/themes/tiddlywiki/vanilla/metrics/storytop",
            "text": "0px"
        },
        "$:/themes/tiddlywiki/vanilla/metrics/storyright": {
            "title": "$:/themes/tiddlywiki/vanilla/metrics/storyright",
            "text": "770px"
        },
        "$:/themes/tiddlywiki/vanilla/metrics/storywidth": {
            "title": "$:/themes/tiddlywiki/vanilla/metrics/storywidth",
            "text": "770px"
        },
        "$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth": {
            "title": "$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth",
            "text": "686px"
        },
        "$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint": {
            "title": "$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint",
            "text": "960px"
        },
        "$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth": {
            "title": "$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth",
            "text": "350px"
        },
        "$:/themes/tiddlywiki/vanilla/options/stickytitles": {
            "title": "$:/themes/tiddlywiki/vanilla/options/stickytitles",
            "text": "no"
        },
        "$:/themes/tiddlywiki/vanilla/options/sidebarlayout": {
            "title": "$:/themes/tiddlywiki/vanilla/options/sidebarlayout",
            "text": "fixed-fluid"
        },
        "$:/themes/tiddlywiki/vanilla/options/codewrapping": {
            "title": "$:/themes/tiddlywiki/vanilla/options/codewrapping",
            "text": "pre-wrap"
        },
        "$:/themes/tiddlywiki/vanilla/reset": {
            "title": "$:/themes/tiddlywiki/vanilla/reset",
            "type": "text/plain",
            "text": "/*! normalize.css v3.0.0 | MIT License | git.io/normalize */\n\n/**\n * 1. Set default font family to sans-serif.\n * 2. Prevent iOS text size adjust after orientation change, without disabling\n *    user zoom.\n */\n\nhtml {\n  font-family: sans-serif; /* 1 */\n  -ms-text-size-adjust: 100%; /* 2 */\n  -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/**\n * Remove default margin.\n */\n\nbody {\n  margin: 0;\n}\n\n/* HTML5 display definitions\n   ========================================================================== */\n\n/**\n * Correct `block` display not defined in IE 8/9.\n */\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nnav,\nsection,\nsummary {\n  display: block;\n}\n\n/**\n * 1. Correct `inline-block` display not defined in IE 8/9.\n * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n */\n\naudio,\ncanvas,\nprogress,\nvideo {\n  display: inline-block; /* 1 */\n  vertical-align: baseline; /* 2 */\n}\n\n/**\n * Prevent modern browsers from displaying `audio` without controls.\n * Remove excess height in iOS 5 devices.\n */\n\naudio:not([controls]) {\n  display: none;\n  height: 0;\n}\n\n/**\n * Address `[hidden]` styling not present in IE 8/9.\n * Hide the `template` element in IE, Safari, and Firefox < 22.\n */\n\n[hidden],\ntemplate {\n  display: none;\n}\n\n/* Links\n   ========================================================================== */\n\n/**\n * Remove the gray background color from active links in IE 10.\n */\n\na {\n  background: transparent;\n}\n\n/**\n * Improve readability when focused and also mouse hovered in all browsers.\n */\n\na:active,\na:hover {\n  outline: 0;\n}\n\n/* Text-level semantics\n   ========================================================================== */\n\n/**\n * Address styling not present in IE 8/9, Safari 5, and Chrome.\n */\n\nabbr[title] {\n  border-bottom: 1px dotted;\n}\n\n/**\n * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.\n */\n\nb,\nstrong {\n  font-weight: bold;\n}\n\n/**\n * Address styling not present in Safari 5 and Chrome.\n */\n\ndfn {\n  font-style: italic;\n}\n\n/**\n * Address variable `h1` font-size and margin within `section` and `article`\n * contexts in Firefox 4+, Safari 5, and Chrome.\n */\n\nh1 {\n  font-size: 2em;\n  margin: 0.67em 0;\n}\n\n/**\n * Address styling not present in IE 8/9.\n */\n\nmark {\n  background: #ff0;\n  color: #000;\n}\n\n/**\n * Address inconsistent and variable font size in all browsers.\n */\n\nsmall {\n  font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` affecting `line-height` in all browsers.\n */\n\nsub,\nsup {\n  font-size: 75%;\n  line-height: 0;\n  position: relative;\n  vertical-align: baseline;\n}\n\nsup {\n  top: -0.5em;\n}\n\nsub {\n  bottom: -0.25em;\n}\n\n/* Embedded content\n   ========================================================================== */\n\n/**\n * Remove border when inside `a` element in IE 8/9.\n */\n\nimg {\n  border: 0;\n}\n\n/**\n * Correct overflow displayed oddly in IE 9.\n */\n\nsvg:not(:root) {\n  overflow: hidden;\n}\n\n/* Grouping content\n   ========================================================================== */\n\n/**\n * Address margin not present in IE 8/9 and Safari 5.\n */\n\nfigure {\n  margin: 1em 40px;\n}\n\n/**\n * Address differences between Firefox and other browsers.\n */\n\nhr {\n  -moz-box-sizing: content-box;\n  box-sizing: content-box;\n  height: 0;\n}\n\n/**\n * Contain overflow in all browsers.\n */\n\npre {\n  overflow: auto;\n}\n\n/**\n * Address odd `em`-unit font size rendering in all browsers.\n */\n\ncode,\nkbd,\npre,\nsamp {\n  font-family: monospace, monospace;\n  font-size: 1em;\n}\n\n/* Forms\n   ========================================================================== */\n\n/**\n * Known limitation: by default, Chrome and Safari on OS X allow very limited\n * styling of `select`, unless a `border` property is set.\n */\n\n/**\n * 1. Correct color not being inherited.\n *    Known issue: affects color of disabled elements.\n * 2. Correct font properties not being inherited.\n * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n  color: inherit; /* 1 */\n  font: inherit; /* 2 */\n  margin: 0; /* 3 */\n}\n\n/**\n * Address `overflow` set to `hidden` in IE 8/9/10.\n */\n\nbutton {\n  overflow: visible;\n}\n\n/**\n * Address inconsistent `text-transform` inheritance for `button` and `select`.\n * All other form control elements do not inherit `text-transform` values.\n * Correct `button` style inheritance in Firefox, IE 8+, and Opera\n * Correct `select` style inheritance in Firefox.\n */\n\nbutton,\nselect {\n  text-transform: none;\n}\n\n/**\n * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n *    and `video` controls.\n * 2. Correct inability to style clickable `input` types in iOS.\n * 3. Improve usability and consistency of cursor style between image-type\n *    `input` and others.\n */\n\nbutton,\nhtml input[type=\"button\"], /* 1 */\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n  -webkit-appearance: button; /* 2 */\n  cursor: pointer; /* 3 */\n}\n\n/**\n * Re-set default cursor for disabled elements.\n */\n\nbutton[disabled],\nhtml input[disabled] {\n  cursor: default;\n}\n\n/**\n * Remove inner padding and border in Firefox 4+.\n */\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n  border: 0;\n  padding: 0;\n}\n\n/**\n * Address Firefox 4+ setting `line-height` on `input` using `!important` in\n * the UA stylesheet.\n */\n\ninput {\n  line-height: normal;\n}\n\n/**\n * It's recommended that you don't attempt to style these elements.\n * Firefox's implementation doesn't respect box-sizing, padding, or width.\n *\n * 1. Address box sizing set to `content-box` in IE 8/9/10.\n * 2. Remove excess padding in IE 8/9/10.\n */\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n  box-sizing: border-box; /* 1 */\n  padding: 0; /* 2 */\n}\n\n/**\n * Fix the cursor style for Chrome's increment/decrement buttons. For certain\n * `font-size` values of the `input`, it causes the cursor style of the\n * decrement button to change from `default` to `text`.\n */\n\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\n\n/**\n * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.\n * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome\n *    (include `-moz` to future-proof).\n */\n\ninput[type=\"search\"] {\n  -webkit-appearance: textfield; /* 1 */\n  -moz-box-sizing: content-box;\n  -webkit-box-sizing: content-box; /* 2 */\n  box-sizing: content-box;\n}\n\n/**\n * Remove inner padding and search cancel button in Safari and Chrome on OS X.\n * Safari (but not Chrome) clips the cancel button when the search input has\n * padding (and `textfield` appearance).\n */\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\n\n/**\n * Define consistent border, margin, and padding.\n */\n\nfieldset {\n  border: 1px solid #c0c0c0;\n  margin: 0 2px;\n  padding: 0.35em 0.625em 0.75em;\n}\n\n/**\n * 1. Correct `color` not being inherited in IE 8/9.\n * 2. Remove padding so people aren't caught out if they zero out fieldsets.\n */\n\nlegend {\n  border: 0; /* 1 */\n  padding: 0; /* 2 */\n}\n\n/**\n * Remove default vertical scrollbar in IE 8/9.\n */\n\ntextarea {\n  overflow: auto;\n}\n\n/**\n * Don't inherit the `font-weight` (applied by a rule above).\n * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n */\n\noptgroup {\n  font-weight: bold;\n}\n\n/* Tables\n   ========================================================================== */\n\n/**\n * Remove most spacing between table cells.\n */\n\ntable {\n  border-collapse: collapse;\n  border-spacing: 0;\n}\n\ntd,\nth {\n  padding: 0;\n}\n"
        },
        "$:/themes/tiddlywiki/vanilla/settings/fontfamily": {
            "title": "$:/themes/tiddlywiki/vanilla/settings/fontfamily",
            "text": "-apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\""
        },
        "$:/themes/tiddlywiki/vanilla/settings/codefontfamily": {
            "title": "$:/themes/tiddlywiki/vanilla/settings/codefontfamily",
            "text": "\"SFMono-Regular\",Consolas,\"Liberation Mono\",Menlo,Courier,monospace"
        },
        "$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment": {
            "title": "$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment",
            "text": "fixed"
        },
        "$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize": {
            "title": "$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize",
            "text": "auto"
        },
        "$:/themes/tiddlywiki/vanilla/sticky": {
            "title": "$:/themes/tiddlywiki/vanilla/sticky",
            "text": "<$reveal state=\"$:/themes/tiddlywiki/vanilla/options/stickytitles\" type=\"match\" text=\"yes\">\n``\n.tc-tiddler-title {\n\tposition: -webkit-sticky;\n\tposition: -moz-sticky;\n\tposition: -o-sticky;\n\tposition: -ms-sticky;\n\tposition: sticky;\n\ttop: 0px;\n\tbackground: ``<<colour tiddler-background>>``;\n\tz-index: 500;\n}\n\n``\n<$list filter=\"[range[100]]\">\n`.tc-story-river .tc-tiddler-frame:nth-child(100n+`<$text text=<<currentTiddler>>/>`) {\nz-index: `<$text text={{{ [[200]subtract<currentTiddler>] }}}/>`;\n}\n`\n</$list>\n</$reveal>\n"
        }
    }
}
fixed-fluid
minkogebog
1. Sæbespåner skader ikke stoffet
Brug en grød af sæbespåner til at fjerne pletter i sofaen, bilen og andre sarte stoffer. Det skader ikke stoffet.

2. Undgå vaskemaskinelugt
Lad altid døren til vaskemaskinen samt doseringsskuffen stå åben, når maskinen ikke er i brug. Så kommer den ikke til at lugte dårligt og indelukket.

3. Spar penge på dyre rengøringsmidler
Erstat dyre rengøringsmidler med eddike. Brug det som skyllemiddel, til afkalkning, vinduespudsning med mere.

4. Slip for rengøring af ovnen
Stil en bradepande med stanniol i bunden af din ovn. Så undgår du at skulle gøre den ren så ofte.

5. Hold forhænget rent
Hold dit badeforhæng rent og pænt ved en gang i kvartalet vaske det og afkalke det i en spand med 1/4 dl eddike og fem deciliter koldt vandt.

6. Gør kobberet rent
Ketchup kan rent faktisk gøre kobber rent. Smør genstanden ind i ketchup, lad det virke i 10 minutter. Skyl derefter med varmt vand, og puds med en bomuldsklud.

7. Red brændt gryde
Bland 1/2 dl tredobbelt salmiakspiritus og 2 spsk. brun sæbe. De to ting blandes til en tyk masse og smøres på de brændte områder. Læg gryden i en plasticpose natten over. Rengør den herefter med opvaskemiddel og vand.

8. Fjern lugten i køleskabet
Dårlig lugt kan fjernes ved at gøre rent eller ved at stille en skål med kaffegrums i køleskabet i et døgn. Sur lugt kan fjernes ved at smøre/pensle indersiden af køleskabet med ymer eller yoghurt og lade det sidde i et døgn. Tør det af med varmt vand. Tjek, om afløbshullet inde i køleskabet også er rent. Det kan også lugte.

9. Gør stikkontakter rene
Sorte mærker på stikkontakterne, som ikke vil gå af med vand og sæbe, kan med held gnubbes af med et viskelæder.

10. Elektriske skærme uden støv
Computer og fjernsynsskærme tiltrækker ofte støv på grund af statisk elektricitet. Det kan modvirkes ved at vaske skærmen med lunkent vand blandet op med 1/2 dl eddike. 
Del blomkålen i små buketter og læg dem på et fad. SMuldr fetaost over, og pynt med dild. Dryp med ciitronsaft og lidt olivenolie, og krydr med salt og peber. Fint til fisk, lam og kyling.

Damp kvarte blomkål i letsaltet vand i ca. 5 minu. Servér dem med lidt græsk yoghurt og afdryppede rejer. Pynt med radiser og dild samt citronbåde.

Skær blomkål i tynde skiver. Dryp med citronsaft og olivenolie. Pynt med friske blade basilikum, snittet rødløg samt et drys pinjekerner og høvlet parmesan.
Kog en portion bulgur efter anvisningen på emballagen, og afkøl den. Smag til med masser af citronsaft, salt og peber. Vend tern af peberfrugter og snittet forårsløg i. Friskhakket mynte eller persille er også godt. Brug salaten som frokostret eller som tilbehør til f.eks. lammekølle eller koteletter.

Kog en portion bulgur efter anvisningen på emballagen. Svits et snittet spidskål sammen med et løg i tynde båd i lidt olie til det er mørt. Vend det i bulguren sammen med lidt rosiner. Smager godt til kylling, lam og svinekød.

Krydr en portion tilberedt bulgur med spidskommen, finthakket hvidløg og reven ingefær.
Smag til med lime- eller citronsagt. Godt til fisk og fjerkræ.

1. Dup kødet tørt med køkkenrulle

2. Brug en plan pande med varmt fedtstof. Det skal sige lyde, når kødet lægges på.

3. Brun kødet hurtigt på begge sider ved høj varme. Steg videre ved middel varme. Vend kødet ca. hvert andet minut. En skinkeschnitzel skal have ca. 3 minutters samlet stegetid. en kotelet, 2 cm tyk, skal have ca. 6 minuttters samlet stegetid.

4. Brug minutur eller skær en flig af kødet og se, om kødet er klar.

5. tag kødet af panden, når det er færdigt.
# Steg æblebåde i lidt olie på en pande, og spis dem til stegt kylling.

# Kom æbletern dryppet med citronsaft i salaten.

#Kog en stor portion æblegrød, og frys den i mindre portioner, så er der altid til en dessert eller æblekage.

#Kom æbletern i karrysaucen, det giver en god syre

#Drys æblebåde med kokosmel, og spis det som sundt slik.
# Giver maden kulør

#Giver dejlig smag

#Indeholder næsten ingen kalorier

#Indeholder mange antioxidanter

#Ser flotte ud som pynt

#Er nemme at have i en potte på køkkenbordet.
 *Sov ikke med tændt elektronik. Varm elektronik frigiver kemikalier, så sluk den bærbare og dit tv, før du går i seng.

* Skud ned for de levende lys. Et brændende stearinlus danner små partikler, som kan gieve hovedpine og irriterede luftveje. Prøv at undgå for mange levende lys og luft godt ud, når lysene er slukkede.

* Støvsug kemikalier væk. Den del kemikalier binder sig til støv, så støvsug gerne en gang om ugen.

* Vask dit nye tøj før brug. Til en ny T-shirt bliver der brugt op til 1 kg kemikalier. Så vask tøjet, før du begynder at gå i det.

* Dyrk kemi-sikker sex. Køb ftalatfrit sexlegetøj, og brug eventuelt kondom på dildoen samt vandbaseret glidecrme. Oliebaseret creme trækker ftalater ud af plastikken.

* Luft ud med gennemtræk. Gennemtræk er en effektiv måde at få udskiftet luften indendøre. Vinduer, der står på klem i længere tid, giver ikke samme effekt.

* Agurker
* Hvedemel
* Jordbær
* Kartofler
* Pærer
* Rødvin
* Salat
* Tomater
* Vindruer
* Æbler
! Vælg kvalitet
Du kan sylte bær, skalotteløg, tomater, nødder, citroner,blommer, figner, alt hvad du godt kan lide og har lyst til at smage på den delikate syltede måde. Brug råvarer af god kvalitet, uanset hvad du vælger, og skær skader eller mærker på frugten væk.

! Vær grundig med hygiejnen
Mens du koger vær eller det, du vil sylte, skal du sørge for at skumme grundigt med en hulske. SKummet kan indeholde bakterier og skimmelsvampe, som gør dit syltetøj dårligt. Brug helt rene, skoldede glas til dit syltetøj. Skold både glas, låg, grydeske og hulske. Lad det tørre, mens det drypper af på et helt rent viskestykke.

! Fyld op til kanten
Fyld syltetøj helt op til kanten af glasset, før du lu,kker det, så der bliver så lidt luft som muligt og sæt låget på med det samme. I luften findes alle de mikroorganismer, der forårsager gæring og mug.

! Gem bærrene i fryseren
Orker du ikke at sylte mens du har alle bærrene, kan du fryse dem til senere brug. Hæld sukker over de vær, du lægger i fryseren, så holder de længere end vær uden sukker. Med sukker kan  vær i fryseren holde et år.

! Brug naturens eget stivelse
Kog stikkelsbær eller solbær med syltetøjet. De indeholder pektin, som opløses ved opvarmning og størkner ved afkøling. Så bruger du naturens eget stivelse.

! Kog hurtigt ved høj varme
Brug en bred, tykbundet gryde eller sauterpande, når du koger vær til syltetøj og skru op for varmen, så væden fordamper. Så undgår du bedst syltetøj, der løber ned ad fingrene. Kog hurtigt op og lad kun bærrene koge to til fem minutter. Lang kogetid får både smagen og farven til at forsvinde. Tag gryden fra varmen og skum omhyggeligt. Lad den stå i 15 minutter og rør et par gange, før syltetøjet hældes på glas.

!Opbevar syltetøj køligt og mørkt
Sæt dine glas med syltetøj, syltet frugt og syltede grøntsager i køleskabet, så de står både køligt og mørkt. Så holder lækkerierne længere, end hvis de står i stuetemperatur.

!Brug fantasien og krydderierne
Sylt forskellige vær og frugter sammen, bland gerne bær og frugt til syltetøj, for eksempel blåbær og fersken. Brug også supermarkedernes frosne bær og leg med krydderierne. Du kan lade stjerneanis eller en kanelstang koge med sammen med bærrene, tilsætte frisk ingefær, revet cvokolade, hele eller hakkede mandler, rosiner eller en spiseske cognac eller whisky.
Ud over at være en udsøgt frugt, som smager vidunderligt, er den fuld af næringsstoffer, hjælper med til at afgifte kroppen, er kræftforebyggende og er en god kilde til C-vitamin.

Spiser du dem tørrede får du masser af jern, der giver din modstandskraft et løft.

Krom er vigtigt for sukkerstofskiftet. Det er med til at opretholde insulinbalancen og stabilisere vores blodsukker. Men spiser du for meget sukkerholdig mad, påvirkes dit blodsukker negativt, og du får bare mere lyst til sødt.

For meget sukkerholdig kost kan - ud over huller i tænderne - give migræne, svække dit immunsystem og gøre dig meget træt. Måske mangler du også krom, hvis du har lavt blodsukker og/eller højt kolesterol. Abrikoser, ananas, rejer, rosiner,nødder, rugbrød, linser, spinat, sardiner og makrel er blandt de fødevarer, som er rige på krom. Du kan også spise lidt råkost, når dine kolleger guffer wienerbrød i sig, eller når trangen til søde sager melder sig. Børnene vil med garanti elske en portion råkostguf ud på eftermiddagen, når energiniveauet er dalende.

En slatten agurk kan let rettes op igen. Agurker indeholder meget vand, og ved at tilføre den slatne agurk vand bliver den "næsten" som ny. Skær et snit i den ene ende og sæt den i et glas vand - agurken vil nu sige vandet op.



|invisible|k
|<div class="cell late">Sidst ændret</div>|<div class="cell new">{{!!sidst}}</div>| ||<div class="cell late">Aktuelt:</div>|<div |<div class="cell new">{{!!nyt}}</div>|

<style>
html body.tc-body .invisible {
     border-color:#fff;
     border-width:0px
}

html body.tc-body .invisible th {
     border-color:#fff;
     border-width:0px;
}

html body.tc-body .invisible tr {
     border-color:#fff;
     border-width:0px;
}

html body.tc-body .invisible td {
     border-color:#fff;
     border-width:0px;
}
</style>
<<save-as-bookmarklet "mange opskrifter" "[tag[opskrift]]">>
{{!!url}}





Pandekager uden æg kan sagtens lade sig gøre. Her er det amerikanske fuldkornspandekager, almindelig hvedemel kan også anvendes med succes. Ønsker du almindelige pandekager tilsætter du mere væske i form af mælk eller vand og udelader bagepulver.
Herhjemme nyder vi pandekager med ahornsirup og cremefraiche, det giver en skøn sødme og syrlighed – kan varmt anbefales. Pandekagerne kan selvfølgelig nydes med det tilbehør, du synes bedst om.





[[Anna Mad - Nem hverdagsmad for alle|https://anna-mad.dk/]]



Det er ikke altid lige let at skære appelsinbåde i mindre stykker uden at der løber for meget saft ud. Prøv i stedet for at klippe bådene med en saks, det er meget lettere, og der er mindre saftspild.
Den hjemmelavede is smager skønt og friskt, og så gør det jo ikke noget, at serveringen er lidt lækker, når der kommer gæster i juletiden. Fyld de udhulede appelsiner med ismassen og stil dem i fryseren. Den resterende is serveres i en skål.



;Primære ingredienser: 
:Snitter af hvide asparges uden hoveder i en lage af vand og salt.

;Sundhedsvurdering: 
:Dåseasparges egner sig fortrinligt som yderst kaloriefattigt fyld i sammenkogte retter og supper. Konserveringen koster godt nok lidt vitaminer og mineraler, men det er ikke værre, end at du stadig kan trække godt med sundhed ud af dem, fx i form af B- og C-vitaminer. 

;Bonusinfo: 
:Stort set alle former for konserverede grønsager er fornuftige ud fra et ernæringsmæssigt synspunkt, men til gengæld kan de godt være lidt flade i smagen og konsistensen sammenlignet med friske grønsager. Derfor egner de sig bedst til mos og som sundt fyld i sammenkogte retter. 


Portions pizza'er
Brug avocado som smørelse på brød under pålæg som agurk, tomat og kartoffel.

Cremet, let og delikat kold suppe, der er lavet på et øjeblik.

Til desserten kan du godt ringe fter Karen Blixen, for nu skal vi have Baba au Rhum. Det er virkelig la grande cuisine. Og så er det samtidig, som alt der er rigtigt godt, ganske enkelt at fremstille.


Svampe med voksshampoo til at vaske biler med er geniale, når badeværelsesfliserne skal gøres rene. Spul væggene bagefter og lad dem tørre. De bliver skinnende blanke.
Da kageform og mængde skal passe sammen, er det praktisk at kende rumindholdet af bageformene.

|Aflang kageform, 27 cm lang rummer 11/2 l | sandkagedej af 250 g margarine, 200 g sukker, 4 æg og 250 g mel.|
|Eller | leverpostej af 6-700 g lever og spæk.|
|Aflang kageform, 24 cm lang rummer 1 l | |
|Aflang kageform, 31 cm lang rummer 2 l | |
|Springform, 22 cm i diameter rummer 2 l | fx sukkerbrødsdej af 4 æg, 125 g sukker, 150 g mel, 2 tsk. bagepulver.|
|Bradepande, 50 x 30 x 4 cm | gærdej af ca. 750 g mel eller sirupskage af ca. 1 kg mel.|
|Tærteform, 22 cm i diameter | dej af ca. 200 g mel.|

Læg bagepapir i bunden af kageformene, selv om de er smurt og evt. drysset med mel. Så er det nemmere at få kagen ud.
Tennissokker og hvidt undertøøj har det med at blive gråligt, når det vaskes gang på gang, men nuhar jeg fundet på at komme en teskefuld bagepulver i vaskemaskinen sammen med sæben, hver gang, jeg vasker hvidt. 
Det er en luksusgrød, der ikke kan brænde på, og som smager af søndag og overskud.




<$scrollable class='tc-scrollable-mad'>

Når man blander mel og vand, blir det til klister. MEN: når man så tilsætter æg
og sukker blir det til en KAGE! HVOR I ALVERDEN BLIR KLISTERET SÅ AF? Det skal
jeg fortælle dig: Det er det som får kagen til at blive siddende fast på rumpe,
hofter og mave!

[[Så hunden også kan guffe med|Hjemmelavede hundekiks]]

<$list filter="[tag[Bagværk]]+[sort[title]]"><$link to={{!!title}}><$view field="title"/></$link><br>
</$list>
</$scrollable>
Hvis du skal bruge drys på dit bagværk, er det nemmest at dryppe dejen lidt i en flad skål med vand og derefter dryppe i drysset, så hænger det bedre ved.

Hvis bagværket skal pensles med æg, er et godt tip at piske ægget sammen med lidt van dog et nip salt, så løber ægget bedre sammen og er nemmere at pensle med.

Bambusspid skal udblødes i koldt vand 1 times tid, så undgår man, at de brænder.
Bananer mætter godt og er derfor gode som mellemmåltider, og selvom de indeholder flere kalorier end et æble, kan du stadig spise dem med god samvittighed. Ud over at være fedtfattige og lette at fordøje er der masser af A-, B- og C-vitamin, kalium, protein, magnesium samt masser af fibre og mineraler i bananer. Desuden er de fyldt med naturlige olier og er derfor fantastiske til tør hud. Bananer kan også afhjælpe bl.a. diarré, og fuldmodne bananer bruges til at fremme en sund bakterieflora i tarmen.

Bananer bliver sødere og sødere jo mere modne, de bliver. Har man diabetes, er det klogt at vælge mindre bananer og spise dem, når de stadig er lidt grønne i enderne - så giver de nemlig mindst blodsukkerstigning. Men der er ikke tale om, at man skal holde sig helt fra bananer eller anden frugt.

I øvrigt indeholder bananer stort se tikke fedt, selv om det bløde frugtkød virker sådan lidt fedt i det. Der er til gengæld mange fibre, A-, B- og E-vitamin samt fosfor, kalium, jern og zink.

Bruger du bananer i bagværk giver modne og let overmodne bananer den bedste smag, når de moses og røres i dej.


Frys de gamle bananer ned i stedet for at smide dem ud. Man kan så bruge dem til en dejlig banankage en dag, man har lyst til at bage.
Nemme og sunde pandekager er lavet på blot tre basis-ingredienser. Pandekagerne minder meget om de traditionelle amerikanske pandekager eller tykke brunchpandekager. De er nemlig både saftige, luftige og tykke 😍 Hvis du tilsætter 1 spsk. proteinpulver, har du proteinpandekager.

Gæsterne er ved at gå til bords, og så skiller bearnaisesovsen i sidste øjeblik. Hvad skal man nu gøre? Jo, det kunne ikke være lettere. Kom en eller to isterninger i sovsen og den vil omgående samles. I stedet for isterninger kan man bruge ca. 1/4 dl koldt vand - virkningen er den samme.






{{Galleri}}
Afsnittet for de pecuniært udfordrede
{{Birkesaft.jpg}}
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

Har en omfattende opskriftssamling på alt fra asiatiske retter til 80'ernes fondue og gammeldaws syltning. Mulighederne er uendelige. Du kan også finde over 400 opskrifter på lækre drinks, men det kræver lidt benarbejde, for der er ingen søgefunktion på hjemmesiden.

{{!!url}}

Hvis du vil have hvedebrødet blankt uden at bruge æg, kan du pensle brødet to gange med kold mælk, før du sætter det i ovnen.

Når det er færdigbagt, pensles det endnu en gang med mælk - det giver en smuk, blank overflade.
Pandekage-plader

125 gr. boghvedemel
10 gr. gær
1/2 del lunkent vand
1/2 dl lunken mælk

Røres sammen og hviler i ca. 1 time.
TILSÆTTES:
125 gr. boghvedemel
1 1/2 dl fløde
2-3 æggeblommer
75 gr. smeltet smør
1 1/2 dl letpisket fløde
2-3 stiftpiskede æggehvider
salt

Dæk dejen og lad den hvile i 20 minutter, hvorefter den hældes på små kander, der stilles på bordet sammen med griletten.
Bages ligesom pandekager.

Kan serveres med hakket løg, creme fraiche og kaviar.

Den smukke blomkål mener man er udviklet af araberne i middelalderen. Den har bredt sig via Cypern til resten af Europa omkring 1600 tallet. Blomkålen er nok den af kålsorterne, der har været mødt med størst respekt i kogekunsten gennemt tiden, hvor den blev stuvet med fløde og brugt som pynt i opsatte retter. Blomkål kan bruges rå i salater, dampet som tilbehør eller i en skøn sommersuppe til eks.
Prøv også at hakke blomkål fint og blande det med smuldret fetaost og hakket persille. Det er dejlig drys over salat eller andre retter. Blomkål er sprængfyldt med C- og K-vitaminer og kostfibre.

Blomkål egner sig til at blive spist som snack. Det er nemt at tilberede og smager godt i små buketter, f.eks. sammen med en let dip af rygeost rørt op med friske krydderurter og lidt ymer.

Blomkål indeholder masser af vitaminer, mineraler, kostfibre og antioxidanter. Blomkål og andre kåltyper indeholder svovlholdige forbindelser som kan modvirke kræft.

<<tagging>>

Når du køber blomkål, skal du sikre dig, at blomkålshovedet dufter friskt og føles tungt og fast. Blomkålshoveder skal være hvide eller elfenbensfarvede uden mørke partier fra angreb af råd eller bakterier. Er blomkålen ikke emballeret, må der gerne være rigeligt med dækblade, som sikrer, at blomkålen ikke tørrer ud.
# Fjern alle dækblade og skær et kryds i bunden af stokken. Krydset gør det nemmere at dele kålhovedet inde ved bordet.

# Stil blomkålshovedet på en damprist i gryden over det kogende vand og drys med lidt salt. Kog det under tætsluttende låg, til stokken virker knapt mør, når man stikker en smal, skarp kniv ind til stokken. Kogetid 10-20 min. alt efter størrelse.

# Tag blomkålshovedet op med en hulske og lad det dryppe af, inden det lægges på fadet.



(Opskrift fra Vibeke i Rødekro, 2013)




Blommer er fulde af kostfibre og C-vitaminer. spis dem naturel, eller brug dem i desserter. Prøv f.eks. at stege dem i en anelse smør på en pande. Drys lidt rørsukker over, og spis dem med en klat græsk yoghurt til. blommebåde kan også vendes i wokretter.
prøv f.eks. at drysse tern af blommer over retten med svinekød og kokos.
Den gode bolle, blød eller hård. Godt kød, tomater, lg, salat og agurk - og så er slaget ellers frit. Her med en dressing til pommes fritterne - med soltørrede tomater og chilli.
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
;Author:
:{{!!author}}

;Link:
{{!!url}}
Frys dine hjemmebagte boller ned i stegeposer. På den måde er det nemt at tage en pose direkte fra fryseren og sætte den ind i den opvarmede ovn. Ved optøning på denne måde i stegeposen bliver bollerne ikke tørre.
Vel forsvinder eventuelle rester af giftstoffer i din bomuldsbluse i vask, men det gør den gift, der blev sprøjtet ud på marken, altså ikke. Selv om bomuldsplanten kun dækker 2,4 % af verdens marker, så er det på de hvide bomuldstotter, man bruger hele 25 % af insektgiften og 10 % af verdens pesticider. Den gift sætter sig i jorden og grundvandet og skader fauna og flora.

Har du fået et brandsår, kan du lægge en rå kartoffelskive på såret. Så undgås hævelse og vabler.

Er der gået hul på en brandvabel, kan en æggehvide lindre gevaldigt, da den mindsker luft tilførslen og dermed smerte/svie. (Husk dog, at der skal holdes godt rent...at du ikke forsegler skidt i såret.)
God opskrift på et brillepudsemiddel, der er meget nemt at lave.

"""
3 dl vand
1 dl sprit (alm. husholdningssprit)
1 spiseskefuld opvaskemiddel.
"""

Bland ovenstående og få skinnende klare briller.


Brug skovens sene bær til at mikse denne skønne brombær og solbærsmoothie
Denne smoothie, der er lavet med brombær og blå vindruer, har et højt indhold af kalium, der er godt for væskebalancen. Youghurten i smoothien styrker tarmfloraen og giver samtidig et godt calcium tilskud



I perioder er der gode køtilbud i supermarkederne, men har du plads i fryseren?

Tag en uge eller to, hvor manden kommer fra det kolde dyb. Det er god økonomi, og du får plads til friske varer.
Til den hjemmelavede vanilleis er det kun de små, sorte korn, der skal bruges. Men det er spild af penge at smide resten af stangen ud. Hele bønnen er nemlig fyldt med smag - nogle mener ligefrem, at der er mere smag i stangen end i kornene.
Bruger du kun lidt af kornene, kan du pakke stangen lufttæt ind i plastik og lægge den et mørkt, køligt sted. Så holder den sig fint. Har du brugt kornene, kan du putte stangen i en kande limonade eller en flaske vin. Eller sætte vanillestangen i et glas med kaffe eller sukker og nyde duften længe efter.
<$scrollable class='tc-scrollable-mad'>

Brunch hører weekenden til. Forkæl familien med en anderledes morgenmenu.<hr>

<$list filter="[tag[Brunch]]+[sort[title]]"><$link to={{!!title}}><$view field="title"/></$link><br>
</$list>
</$scrollable>
En god hjemmebagt brunsvigerkage er jo dejlig. Forleden kom lysten over os, men der manglede et æg samt 150 g mel for at kunne følge opskriften.

Ægget blev da erstattet med 1½ dl fromage frais
Melet med havregryn

Resultatet blev let og luftigt - og smagten næsten bedre, end den vanlige.
En dag der skulle bages brunsviger, opdagede jeg for sent, at jeg kun havde en lille rest farin tilbage. Derfor lavede jeg i stedet en nødløsning, hvor noget af farinen blev erstattet af knuste makroner - og aldrig har brunsvigeren smagt så godt.

Lækker snack, forret eller let frokost
!Kalkbelægninger i bruser:
Skru brusehovedet af og læg det i blød i eddike, til kalken er løsnet. Kan brusehovedet ikke skrues af, bindes en plastikpose med eddike om det, så eddiken står op i hullerne.




Har man fået brændt et brunt mærke på tøjet med strygejernet, kan dette i mange tilfælde forsvinde, hvis mærket gnides med et overskåret løg eller fugtes med lidt fortyndet eddike.

I stedet for at pensle dit brød med æg, inden du bager det, så prøv at pensle det med brygget kaffe. Det giver en mørkere og flottere glød end æg.


Når man bager hverdagsbrød, er det en god ide at komme enten fuldkornshvedemel, grahamsmel, klid eller havregryn i dejen. Disse meltyper indeholder flere kostfibre, vitaminer og mineraler end hvidt hvedemel. De sunde stoffer sidder nemlig i kornets skaldele, som er sigtet fra det hvide hvedemel. Så hvis du vil have sundt brød, er det altså nødvendigt at blande det hvide mel med de grove typer.

__Slidte tænder har lettest med grahamsmel og revne gulerødder - og en ikke for tung dej.__

Prøv desuden gulerodsboller- altså boller med revet gulerod i.



{{!!location}}
Bulgur er hvedekorn, der er dampede, tørrede og afskallede, oinden de skæres eller males groft. Vitaminer og mineraler opsuges og bevares i kornet under denne proces. Bulgur har et højt indhold af fibre, så det er en god erstatning for pasta, lyst brød og hvide ris. Smagen er let nøddeagtig. Kogetiden er oimkring 15 min, det fremgår af emballagen. Den varme bulgur spises som tilbehør i stedet for ris og pasta. Tilsalater kan man nøjes med at lægge bulguren i blød i  koldt vand eller lys bouillon en halv times tid, til den er blød. hæld overksydende væde fra og bland bulguren med salalatbløade, snittede grønsager og olie-eddike-marinade.
Jeg springer både iblødsætning og kogning af bønnerne over og køber i stedet bønner på dåse, klar til brug. Bønnerne er super delikate, og salaten meget mættende.

Til udrulning af butterdej og andet, som skal behandles koldt, kan man i stedet for kagerullen bruge en flaske fyldt med isvand. Så går rulningen let.

De er ikke blot flotte og farvestrålende, talrige forskningsundersøgerlser viser, at vær hører til nogle af de sundeste fødevarer. De er så sunde, at du kan forebrygge et hav af dårligdomme, hvis du vel at mærke spiser en god portion bær om dagen. Årsagen er den unikke kombination af værdifulde vitaminer og mineraler samt mikroskopiske plantestoffer. De sunde antioxidanter sidder primært i skallen, hvilket gør, at bærs beskedne størrelse giver sundheden et godt hak opad. Bærs overflader er nemlig større end andre fruguteres, så når du spiser 100 g bær, indtager du lant mere frugtoverflade, end når du spiser 100 g æble eller pære. Med den større overflade følger en langt større mængde sunde stoffer, som optages i din krop, hvor de hjælper dig til et stærkt helbred.
Bøffer på tilbud kan blive til sommerlig hverdagsmad i bøfsalater.
Både Thaikøkkenet og middelhavskøkkenet har tradition for at bruge afkølede bøffer i tynde skiver i forskellige salater, så der er noget for alle smagsløg.

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

Bønner
Bønner kommer af oprindelse fra Sydamerika- og Mellemamerika. Bønner er anerkendt for deres store indhold af protein, kostfibre, vitaminer og mineraler.
Sorte bønner
Sorte bønner er lækre og sunde, som nemt kan anvendes i salater lige så vel som varme retter.
Bønnernes farve kan give den kedelige salat lidt liv, samt deres smukke udseende.
Bønnerne kan meget anbefalingsværdigt benyttes til bønnemos i en totilla pandekage, eller i en varm suppe som fylde istedet for kartofler

Sorte bønner indeholder et højt indhold af protein og kostfibre.
De indeholder også K-vitamin, kalium, magnesium, fosfor, zink, jern og selen som alle er anerkendte antioxidanter, der styrker dig og din krop.

Linser
Linser er en meget god kilde til at få naturligt protein. Derudover så ligesom bønner, er de meget kendte for deres indhold af vitaminer og mineraler.
Dette er også en af grundene til at linser er blevet mere og mere populær, de senere år.

Linser er en nem måde at få et alternativ i hver dagen, til f.eks. ris eller kartofler. De er sunde og minde smagsmæssig meget om ris.
Ærter
Findes i et væld af udgaver. De mest anerkendte er nok de almindelige grønne ærter som de fleste kender fra ens egen urtehave.
Men der findes mange varianter, som f.eks. kirkærter, der er nemt anvendeligt i suppe eller salater som mere fylde.

Både Ærter, Linser og Bønner stammer alle sammen fra ærteblomstfamilien. Derfor er de også næringsmæssig meget lig hinanden, eftersom at de er i familie sammen. 
Er syltet så meget sammen, at al den friske sprødhed er forsvundet. Samtidig ligger de i en kalorierig lage, som gør dem ualmindelig tunge i det daglige kaloriebudget.



Flæk nogle lune, gode fuldkornsboller. Smør dem med lidt Hellmann's light mayonnaise og evt. lidt pesto eller tapenade. Fyld med kogt ellel stegt kylling eller kyllingepålæg i skiver, sprød salat, agurk og peberfrugt, og servër med gnavegrønt.


Letsaltet røget, dansk spæk steges i ovn ved 160 grader.
Hæld fedtet fra jævnligt.

Flæsket er stegt færdig, når der ikke kan hældes mere fedt fra.

letsaltet, røget dansk bacon steges i lidt fedt - ellers kan det godt blive tørt, da der er kød i.

Æggemassen blandes af 10 friske, danske medium æg, 1/4 liter mælk samt lidt salt og peber.

Kom æggemassen på en forvarmet pande med lidt fedt fra flæsket.

Sørg for, at det er en pande med tyk bund.

Panden skal passe til æggemassen. Den må ikke være for stor.

Steg æggemassen ved jævn varme. Rør så lidt i massen som muligt, og rør ikke i bunden. Når æggemassen næsten er færdig (stivnet), Læg låg på panden, skru ned for varmen, og lad æggemassen hæve og trække færdig.

Æggekagen serveres i panden pyntet med purløg, tomater, stegt flæsk og bacon.

Sennep og rugbrød serveres á part.

!TIPS
Æggemasssen skal helst være mellem 1½ til 2 cm høj. Det er nemmest at tjekke dette ved på forhånd at måle æggemasseni et litermål, hvorefter panden rumindhold måles ved at hælde vand i. Herved undgår man at bruge en for stor pande og få en flad æggekage.

!Carlslund originale senneps opskrift
Speciel sennepsmel røres med brun farin ogo lunkent vand, stilles på køl.

Bør trække mindst et døgn.



I stedet for at skylle dine champignoner fri for jord, så prøv at pensle dem rene med en bagepensel. På den måde bliver de altid lækre og sprøde, når du steger dem , i stedet for bløde.






Det var aztekerne i Sydamerika, der fandt på at nyde de bitre kakaobønner blandet til flydende chokolade. 
Først i det 16 århundrede kom kakaoen til Europa og i det 18. århundrede begyndte man at lave den chokolade i fast form, som man kender i dag. Gennem en proces, hvor man tørrer, rister og formaler, bliver kakaobønnerne til en tyk pasta, den såkaldte kakaomasse. Massen betår af fast kakao og kakaosmør.
Når massen bliver hård, presser man den med en tung rulle. Denne behandling giver chokoladen den bløde konsistens og fyldige smag.

Det er blandingen af bønner, måden hvorpå man rister og presser samt indholdet a kakaosmør, der afgør den færdige chokolades smag.

Kakaopulver er ren kakaomasse, hvor man har fjernet en stor del af smørret. Mængden af kakaosmør i pulveret varierer fra 8% til over 20%.

Chokolade bruges som varme drikke, som smagsgiver i bagværk, desserter og saucer.

De små bidder, når lækkersulten medler sig..og gerne til kaffen.


Kom chokoladestykkerne i en lille pose og læg den i en gryde med vand. Varm vandet langsomt op - det må ikke koge. Når chokoladen er smeltet, klippes der et lille hul i det ene hjørne af posen, og den er nu klar til at dekorere kager med. Og så er der ingen opvask bagefter.


På internettet tales der en del om en chokoladekage med bacon!
Bacon skal ristes i sukker (som brune kartofler)
I dag prøvede jeg så at riste dem i rørsukker først og så komme dem i en Brownie-chokolade-kage. Det er godt - rigtig godt.



Christiansøpigens sild er en dejlig kryddersild, alternativt kan vælges eksempelvis Hjertesilden fra lykkeberg.
Den krydrede sild er perfekt med peberrodscreme, kapers, rødløg og dild.




Mange i USA og også herhjemme har kåret denne opskrift på de fluffie pandekager, som den allerbedste af dem alle. Små, tykke og fluffy - og hemmeligheden er ricottaen - som gerne må være den fede.
Hvis du blot skal bruge en enkelt skive citron, er det lidt ærgerligt at lade resten ligge og så smide den ud senere, fordi man ikke fik brug for den igen. Det kan du undgå ved at presse al saften ud af citronen og fryse den ned i bakken til isterninger. Så har du altid frisk presset citronsaft til en anden gang.
Citron og lime er meget tæt i familie, men alligevel ret forskellige. Citronen hører først og fremmest til i det europæiske køkken, mens lime bruges både i det thailandske, mexicanske, caribiske og kinesiske køkken.
Lime er mere krydret og har mere afrundet smag en citron, som er sur og bitter i forhold til lime. Citroner kan indeholde op til 7% citronsyre, omtrent det samme som husholdningseddike. en moden lime kan være gulgrøn eller mørkegrøn, den skal være blank i skallen og fast.

Både lime og citron kan købes uden overfladebehandling. Limesaft bruges grundlæggende til alt, der skal have et strejf af troperne, men også til fisk og skaldyr. I dag bruges lime og citrn mere i flæng, og de koster næsten det samme, men smagsmæssigt foretrækkes lime, når krydringen i øvrigt skal være blid og afrundet.

Denne tærte er varndret fra de citrondyrkende egne i Sydeuropa ud til alle os andre. Den kan bages som en stor tærte eller som portionskager, alt efter hvad du syntes.
Er uheldet ude, og citronfromagen er blevet til tynd væske i bunden af skålen, så fortvivl ikke. Lav en lille portion stiftpisket flødeskum og bland den med den mislykkede citronfromage. Hæld evt. fromagen op i portionsglas og pynt med lidt syltetøj eller knuste makroner.


Når kødet både marineres og bankes, bliver det saftigt og mørt trods en meget hurtig stegning.
Det er ikke altid, at man har brug for saften af en hel citron. Prøv næste gang at stikke hul på citronen med en grov nål og så trykke så meget saft ud, som du har brug for. Hullet lukker sig igen, og du har stadig en "hel" citron.

Er meget gule og har en ekstra frisk smag.

De er flotte og lækre i salater, men kan også bruges til madlavning.
Citrussaft giver så at sige ikke smag til bagværk.

Når man bruger saften alligevel, er det for fugtens skyld

Brug ubehandlede eller økologiske citrusfrugter, når du skal bruge den revne skal i bagværk eller desserter

I krydderiafdelingen kan du finde en lille, langtidsholdbar pose med betegnelsen "Appelsinfrugt" eller "Citronfrugt" fra Dr. oetker. Krydderiet er baseret på økologiske citrusfrugter og erstatter den revne skal.
|{{Citrus-i-vand.jpeg}} |Der er tit citroner og lime på tilbud med tre, fem eller 10 stk, men oftest skal man kun bruge en. Prøv at putte de resterende i et stort syltetøjsglas fyldt med koldt vand og sæt det i køleskabet. Citrusfrugterne holder sig friske og sagtige meget længe |

''Pro'': Det mindsker spild og sparer penge.


Clafoutis er en klassisk fransk dessert. Den er lidt som en tyk pandekage fyldt med bær som man bager i ovnen. I Frankrig beholder man stenene i kirsebærrene, det smager af mere, men jeg foretrækker dem nu udstenet.
Clafouti er en klassisk fransk dessert. I denne opskrift bruges pærer, men næsten enhver slags frugt kan bruges, prøv fx også med 400 g udstenede kirsebær.


Da mennesket stak en pind gennem en luns kød og stegte det over brændende bål startede stegekunstens historie. Stadig en fremragende stegemetode- især nu da vi har erstattet bålets flammer med trækullets gløder (og ovngrillens strålevarme). Mad fra spid er smuk, nem og spændnede. Husk bare at vælge emner med samme stegetid. De færdige grillblandinger, som man tit kan købe er ikke særlig hensigtsmæssige. Med cocktailpølser, lever og forskellige slags kød risikerer du på én gang at få forkullet og knapt gennemstegt kød.
Det er både nemmere og mere lækkert kun at sætte kød (evt. forberedte grøntsager) med samme stegetid på samme grill.
Kødet skal være af allerbedste kvalitet. Okse og svinemørbrad er selvskrevet her, men mørbraden må man betale for, så den slags bliver nok mest egoistmad for to. Prøv også lammekød, det er altid mørt og slår ikke bunden ud af budgettet, selv når du vil grille til mange. En god krydret fars giver også fin grill mad og kyllingekød (uden ben og skind) er noget af det bedste (og magreste), du kan trække på spid. Især når kødet - der jo ikke smager af ret meget - marineres og derved får tilført ekstra aroma. Raffineret og dog nemt.
Er meget lys i farven næsten lysegrøn. Modner indefra og selv når den er moden er den stadig lidt grøn. Velegnet at spise sammen med bløde oste.

En fantastisk måde at servere en svinemørbrad, til frokostbordet.
;Author:
:{{!!author}}

;Link:
{{!!url}}
En meget nem vej til lækker, knasende konfekt.

Cream of Tartar, også kaldet vinsten, er et biprodukt fra vinproduktion, og anvendes f.eks i bageopskrifter som hævemiddel. Ofte vil man i opskrifterne finde Cream of Tartar sammen med natron og blandes disse to produkter med hinanden opnåes en dobbelt effekt, da natron har brug for en aktivering i form af en syre. Kombinationen af Cream of Tartar og natron giver et sprødt resultat i f.eks cookies, hvorimod bagepulver giver et mere blødt og sejt resultat.  Vinsten kan også tilsættes til slik for at give  en cremet konsistens,  da det kan forhindre krystallisering af kogt sukker.

Vinsten bruges også til plantefarvning af garn. (Det får garnet til at tage jævnt mod plantefarven).

Se [[Turkish Delight]]






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


Find 30 retter egnet pr måned. Giv dem tag månesnavn eks `[tag[September]]`


!Beskrivelse
Sæt damp på din rengøring
Hvorfor anvende damp til rengøring? Ved normal rengøring er det kun overfladesnavset der bliver fjernet. Opvarmet til 138 grader trænger vanddampene ind i de fine spalter og revner mellem smuds og overflade og løsner selv de mest hårdføre smudspartikler. Endvidere bliver både din og vores omverden sparet for tilførsel af diverse rengøringsmidler. Da vandet ved opvarmningen bliver demineraliseret, efterlader damprenseren ingen stribedannelser på grund af kalk.

Ved brug af damp sparer du også på vandet: Af 1 liter vand frembringer damprenseren 1.700 liter damp!

Sådan virker en damprenser
En damprensers funktion minder faktisk meget om en trykkogers: Det påfyldte vand bliver i en lukket beholder opvarmet til kogepunktet så det omdannes til damp. Det tager ca. 5-6 minutter. Trykket i kedlen stiger herved, alt efter hvilken model du vælger, op til 3,5 bar. Ved hjælp af tilbehøret kan du styre dampudslippet så du kan bruge det til rengøringsopgaver. Når vandtanken ikke fyldes til randen, kan der bedre udvikles damp. Hvorimod der ved overfyldning i starten kan forekomme vandsprøjt i dampen.

Det kan du gøre med damprenser
Damprenseren kan bruges overalt: Alle hårde og glatte overflader, i badeværelset eller i køkkenet, på glas, spejle eller glatte møbeloverflader på træ og parketgulve, på fliser og keramik, til strygning og rengøring af tekstiler.

En damprenser er særlig god til rengøring af trægulve, som normalt er meget hårdt arbejde. Fremover skal du blot føre damprenseren over trægulvet, hvorefter at dampen gør gulvet rent for dig.

Husk at teste materialereaktionen på en usynligt sted, især når du damprenser tekstiler, møbler, tæpper eller læder. Velourmaterialer bør ikke dampes. For at kunne iagttage eventuelle farve- eller materialeforandringer, skal du vente længe nok til, at det afprøvede felt når at blive tørt.



Det er selvfølgelig langtfra al konserves, vi tør blåstemple. Her er 5 dåser, du bør holde dig fra.
(Ved mål i dl. skal indholdet være rystet sammen)

|1 dl. smør/margarine | ca. 90 g.|
|1 dl. melis | ca. 85 g.|
|1 dl. sirup | ca.145 g.|
|1 dl. hvedemel | ca. 55 g.|
|1 dl. kartoffelmel |	 ca. 70 g.|
|1 dl. rismel | ca. 60 g.|
|1 dl. byggryn, fine | ca. 55 g.|
|1 dl. rasp | ca. 50 g.|
|1 dl. olie | ca. 90 g.|
|1 dl. puddersukker | ca. 60 g.|
|1 dl. flormelis | ca. 55 g.|
|1 dl. sigtemel | ca. 45 g.|
|1 dl. kokosmel | ca. 40 g.|
|1 dl. risgryn | ca. 90 g.|
|1 dl. havregryn, valsede | ca. 35 g.|
|1 strøget spiseske melis | ca. 15 g.|
|1 strøget spiseske hvedemel | ca. 10 g.|
|1 strøget spiseske smør | ca. 15 g.|
|1 strøget spiseske kakao | ca. 10 g.|
|1 strøget spiseske salt | ca. 15 g.|
|1 strøget spiseske rismel | ca. 10 g.|
|1 strøget spiseske margarine | ca. 15 g.|

Ved mål i spiseskeer eller teskeer, menes der altid måleskeer med strøget mål
|1 spiseske | 3 teskefulde|
|3 æggehvider | 1 dl.|
|6 æggeblommer | 1 dl.|
Hvem har ikke prøvet at komme for meget mel i småkagedejen? Hvad gør man så? Jo, man kommer et par dråber spiseolie i. Det er meget lettere end at skulle til at komme mere smør eller margarine i.
Jeg har gemt plastformen fra en æske med chokoladehjerter. Den bruger jeg til at forme kryddersmør i eller fryse isterninger ned i. Det ser rigtig flot ud at servere is og smør som små hjerter.

(En anden form kan jo også bruges, hvis man er mindre "lyserød")


"""
½ l creme fraiche 33 %
125 g flormelis
En stang vanille
"""

3 lyse lagkagebunde
Marmelade (kirseær eller blåbær ville være helt skønt)
1/4 l piskefløde
<$scrollable class='tc-scrollable-mad'>

Det søde punktum for måltidet.

<$list filter="[tag[Dessert]]+[sort[title]]"><$link to={{!!title}}><$view field="title"/></$link><br>
</$list>
</$scrollable>



<$scrollable class='tc-scrollable-mad'>

<$list filter="[tag[Dip]]+[sort[title]]"><$link to={{!!title}}><$view field="title"/></$link><br>
</$list>
</$scrollable>
Er en kæmpe madside, hvor du kan gennemgå opskrifterne alfabetisk eller søge på noget bestemt. Den har en fantastisk tøm-køleskabet funktion, som foreslår retter med de ting, som du har stående i køleskabet. Det er en nem og overskuelig hjemmeside, hvor du hurtigt, kan finde frem til det, du leder efter.

{{!!url}}
''Fedtfattige'', for de bliver jo ikke kogt i olie som de rigtige doughnuts.
''Konsistensen'' var ikke berliner eller æbleskive agtig, som de doughnuts man køber. Tværtimod var de mere faste og noget mere lette i det - måske som en meget lutig, og knap så sej, bagel med en meget blød skorpe.

Spis dem lune, i bedste æbleskivestil, med flormelis og hjemmelavet tyttebærsyltetøj, eller lad dem blive helt kolde og glaser dem med chokolade eller glasur og krymmel. De kan nok ikke vendes i sukker, for de bliver naturligvis ikke  fedtede som de oliekogte.

Måske kunne de små nuttede doughnuts serveres til en brunch eller i stedet for æbleskiver når vi kommer til december - evt smagt til med lidt julet krydderi. Måske kunne sukkeret undlades som en slags "salte" doughnuts serveret som tilbehør til suppe eller røget laks og creme cheese. De kunne evt. fungere som et spændende alternativ til blinis med diverse fyld. 

<<tagging DonutMaker>>
Donuts kan fryses, så du kan lave dem flere uger, inden de skal spises. Tø dem op, og giv dem 5 min. i en 200 grader varm ovn - så er de som nylavede og kan pyntes, som du synes.
;Author:
:{{!!author}}

;Link:
{{!!url}}
Til 10 personer

"""
2 æggeblommer
2 spsk. købe mayonnaise (så  risikerer man ikke, at det skiller)
lidt salt
Rør det godt, og tilsæt lidt efter lidt:
6 dl spiseolie
1 dl citronsaft

Rør til konsistensen er sammenhængende.
Smag til med 100-125 g sukker og evt. mere citron.
"""
!Vand, drik rigeligt
Normalt er det tilstrækkeligt at drikke ca. 2 liter væske om dagen, men på meget varme dage skal der lidt mere til. Drik det meste af cæsken som vand, det er både billigt og sudnt. Du kan friske vandet op med isterninger, friske mynteblade eller skiver af agurk. Lidt citronsaft eller limesaft i vandet giver C-vitaminer og smager godt.
<$scrollable class='tc-scrollable-mad'>

[img[https://lh3.googleusercontent.com/-z1DmR_hRRWU/TevrtP8bVHI/AAAAAAAABUo/PD9ZWpRshME/s128/wannabeer.gif]]<br>
<$button popup="$:/SamplePopupState">Vigtig at drikke</$button><br>

<$reveal type="popup" state="$:/SamplePopupState">
<div class="tc-drop-down">

Husk at drikke tilstrækkeligt hver dag - og mest uden alkohol. Hvis du gerne vil være slank så undgå for mange af de søde sodavand. Der kan være mange kalorier i de flydende varer.

Et voksent menneske taber omkring 1 liter væske i døgnet ved fordampning og 2 liter gennem urinen? Vi får omkring 1 liter fra mad og kemiske processer i kroppen - resten skal vi drikke.

</div>
</$reveal>


<$list filter="[tag[Drikke]]+[sort[title]]"><$link to={{!!title}}><$view field="title"/></$link><br>
</$list>
</$scrollable>
En evaluering af 32 forskningsrapporter fandt, at både børns og voksnes kropsvægt steg, når indtaget af sukkerholdige drikkevarer var højt.

Hvis man erstattede de sukkerholdige drikkevarer med kaloriefrie, var vægtstigningen mindre.
Et let fugtigt og velsmagende brød fyldt med vindruer.
Lidt af dejen er taget fra til portionsbrød.

Druebrød bliver bagt i mange italienske hjem i vinhøsten. Man bruger den ugærede druesaft som væde. Da det kan være lidt vanskeligt at få ugæret druesaft herhjemme, har jeg i stedet brugt fortyndet hyldeblomstsaft.


En rigtig skotsk dundee-kage er fyldt med lækre sager. Den er lækker og rækker langt. Kagen kan holder sig 2-3 uger på køl.


Er som de fleste andre former for frugtkonserves lagt i en lage af sukkervand. Det fjerner totalt den naturligt friske smag og bidrager med 25 procent flere kalorier. Samtidig er C-vitamin-indholdet halveret, og meget af konsistensen er væk.

Dåsemad har et blakket ry, men der er masser af sundhed gemt bag metallet, hvis du vælger de rette dåser. Visse typer dåsemad er faktisk bedre end deres friske varianter.

<$macrocall $name=toc tag={{!!title}}/>

;Primære ingredienser: 
:Søde majskerner, salt og vand. 

;Sundhedsvurdering: 
:Når lagen er hældt fra, sidder du tilbage med små, søde majskerner, der ernæringsmæssigt stort set er på højde med deres friske fæller. De giver dig dermed fordøjelsesfremmende kostfibre og mange B-vitaminer, der blandt andet sikrer, at dit stofskifte kører upåklageligt. 

;Bonusinfo: 
:Tjek ingredienslisten, og vælg majs, der er naturligt søde. Som tommelfingerregel gælder, at tilsat sukker vidner om et ernæringsmæssigt ringere produkt.
(Shellak, Skællak), bruges for at give en blank og modstandsdygtig overflade på slik, snacks, nødder og kosttilskud på tabletform. Desuden må æbler, pærer, ferskner, citrusfrugter, ananas og meloner behandles med shellak.

Shellak fremstilles af et sekret fra en orientalsk bladlus - lakskjoldlusen. Størstedelen af den producerede shellak bruges til møbelpolitur.

Stoffet har været brugt i århundrede uden påvist skadevirkninger. Derfor har der ikke været grund til at forbyde det, på trods af begrænset viden om stoffet.

Har kaffen haft et uheld på gulvtæppet? Efter rengøring med opvaskemiddel og vand er det en god idé at lægge en klud vredet op i eddike på pletten. Det fjerner hurtigt den rædsomme lugt.
Skån både vaskemaskine og tøj - brug eddike i stedet for skyllemiddel. Det er meget billigere i brug, modvirker kalkdannelse i vaskemaskinen og holder bedre på farverne i tøjet. Det giver slet ingen ubehagelig luft i tøjet.
Hvis effekterne i opskriften ikke passer til din mikroovn, så omregn efter denne formel:
Effekt i opskrift x tid i opskrift = Tilberedningstid i egen ovn x effekt i egen ovn

Eksempel:

I opskriften er angivet 1000 W mikrobølger i 4 min. Men din egen ovn har maks. 800 W.

1000 W x 4 min. = 5 min.
800 W

Vores mere end 25 år gamle Philips Compact m702 såvidt vides max effekt på ''__600W'__''
Desværre mistede vi vejledning og mine egne opskrifter, som jeg afskrev til Frank...og måtte skrive en gang til...da jeg ikke kunne udprinte eller fotokopiere, da han ønskede at vi skulle give dyr gave til Esther på hele familiens vegne, nu vi var dem som have mindst at leve af, og Frank havde gæld. Derfor har jeg ikke mine egne optegnelser, som var afgørende for den glæde, jeg havde af ovnene...

Ditto kendes ikke effekttrinene på den ovn, Søren have os til Ollerup....ret svært at regne trin brug og tid ud så...



Hvis der ved et uheld er kommet lidt for meget salt i saucen, læg da en rå, skrællet kartoffel i og lad den koge med et par minutter.

Kartoflen trækker saltet til sig og i bedste fald bliver saucen fin igen.
Adventshygge


!Mælk & Vand

|1 liter | ca. 4 cups.|
|1 liter | ca. 1 quart.|
|1 liter | ca. 2 pints.|
|1 liter | ca. 1/4 gallon.|
|1/2 liter | ca. 2 cups.|
|1/2 liter | ca. 1 pint.|
|1/2 liter | ca. 1/2 quart.|
|1/2 liter | ca. 1/8 gallon.|
|1/4 liter | ca. 1 cup.|
|1/4 liter | ca. 1/2 pint.|
|1/8 liter | ca. 1/2 cup.|
|1/8 liter | ca. 1/4 pint.|
|1/10 liter | ca. 1/5 pint.|

!Mel, smør & sukker
|500 g. mel | ca. 4 cups|
|500 g. melis | ca. 2½ cups|
|250 g. melis | ca. 1 cup. + 2 tablespoons|
|225 g. smør | ca. 1 cup|


!Lbs & Oz
|2 lbs. | ca. 908 g.|
|1 lb. | ca. 454 g.|
|16 oz. | ca. 454 g.|
|1 oz. | ca. 28 g.|
#Rør altid gæren ud i lunken væske. Er væsken for varm, dræbes gæren. Hvis du kommer en anelse sukker i væsken, kommer der hurtigt gang i gæren.
#Sørg altid for at ælte dejen godt igennem. Det er vigtigt fordi det er med til at udvikle melets gluten og give dejen en god konsistens.
#Læg altid et fugtigt viskestykker eller plastfilm over skålen, når dejen sættes til hævning, så dejen ikke tørrer ud. Resultatet er en flot sprød skorpe.
#Det er bedst at bage store brød nederst i ovnen og små brød midt i ovnen.
#Du kan mærke, om brødet er færdigbagt, ved at banke under bunden - lyder det hult, er brødet færdigt.
#Alt gærbrød kan fryses. Gærbrød bagt med meget lidt eller helt uden fedststof bør pakkes i en tyk plastpose, mens det stadig er lunt, og fryses, så snart det er afkølet.
Enkle og billige snacks er strimler af kartoffelskræl,
som man ovnrister og salter.

Her er et let alternativ til hvis man ikke vil bage med æg eller hvis man bare ikke har flere. Denne erstatning gælder til opskrifter hvor æg bruges som bindemiddel.

!Ingredienser
2 spsk kartoffelmel

2 spsk vand

Bland vand og kartoffelmel godt sammen.
Tilsæt i stedet for æg.
 
Opskriften svarer til et æg.
Det rigtige "sønderjyske kaffebord" står nok - også for sønderjyder - som et levn fra gamle dage og kendes kun af omtale. Men vi kan fortsat ikke så få steder, især på landet, møde dette festlige opbud af lækkert hjemmebag.
Traditionen stammer helt tilbage til 1850'erne. Dengang og senere havde man på gårdene selv råvarern i form af æg, fløde, mel o.l. og på den tid også den tilstrækkelige arbejdskraft til en så krævende bagning.
Det sønderjyske kaffebord indledes i reglen med boller og kringler og måske en søsterkage. Så fulgte pladekage og sandkage med og uden creme.
Hermed bar bundenlagt, godt og vel. Og nu kom det vigtigste: Lagkagerne.
Der skulle være mindst to, af hvilke den ene typisk var brødtræten. Men hermed var man ikke færdig.
Bagværk som riskage, cremesnitter o.l. fulgte ofter efter som en blid overgang til småkagerne - heraf skulle der gerne være en fem-seks slags, fedkager, gpde råd, knepkager og pumpernikler, for at nævne nogle.
Kaffebordets forløb var også karakteristisk. Kagefadene blev budt rundt lige efter hinanden, så der til stadighed var tre-fire slags på tallerkenen.
en gæst måtte ikke lade en kage gå forbi uden at skulle smage, og sprang hun eller han selv over, så tog værtinden skeen - eller rettere kagen - i sin egen hånd og læssede et pænt stykke over på tallerkenen. Og så var det bare om at gå i gang.
I dag er kaffebordet ikke så overdådigt, men selv om det kunne være anstrengende, da det var på sit højeste, skabte det god stemning og hyggelige stunder om bordet.


[[Sønderjysk vers]]


Når du har taget af posen med farin bliver den ofte hår i små klumper eller efter længere tid hel blok.

Sæt den i køleskab, så er den altid nem at hælde ud af posen - endda uden at bruge en ske.



{{!!location}}

Vandbakkelser med et tyndt lag krakelerende saltdej, creme fyld og curd på toppen.
Hvis du vil spare på fedtstoffet, når du bager kager er bananer gode som erstatning. Riv dem på rivejernet - det er nemmest, hvis de er køleskabskolde.


Er røde elelr gule og har blødt skind og en klassisk tomatsmag. De er gode i salater, men også i madlavning, f.eks.  som fyldte tomater.


Til sommerens kølige drinks med eller uden alkohol, eller blot til et glas postevand, ser det flot ud med isterninger med indhold. Og ud over at komme alle mulige bær i (jordbær, kirsebær, hindbær, ribs, solbær osv) kan man også bruge morgenfrue, rosenblade, citron, appelsin, lavendel, citronmelisse, mynte eller lignende spiselige blomster og urter.
Det giver et fantastisk flot farvespil at blande alle disse, så selv et glas postevand ser helt fantastisk og eksotisk ud.




Læg figner i en skål, hæld portvin over og stil dem i køleskabet et par døgn. Servér dem som dessert med cremefraiche.
Fisk må højst spise 300 g pr. uge for ikke at få for mange tungmetaller.
Drys med salt
En gammel opskrift begynder med, at fisken skal trække en halv time med et lille drys salt. Det er et lille stykke glemt husmorviden, der her bringes frem i lyset, og det gælder ikke kun sild. al fisk har godt af den behandling, det fremhæver smagen, og gør kødet mere fast.

prøv at blande torskerogn i forholdt 1:3 i fiskefarsen. Så får du verdens lækreste firskefrikadeller.


Pak et par fiskefileter i friske lasagneplader sammen med en let grøntsagsstuvning. Put det hele i ovnene med ostedrys, og du har en anderledes måde at spise frisk på. Du kan bruge andre fisketyper, som du skærer io portionsstykker eller trykke strimler.

Perfekt som pålæg på rugbrød

Det er vanskeligt at fjerne kaffelugt fra termokande, men prøv med en vasketablet til opvaskemaskinen. læg den i en termokande, hæld kogende vand i, og lad termokanden stå et stykke tid, eventuelt natten over. Gør derefter termokanden ren, skrub den eventuelt med bagepulver, der er et fint slibemiddel, som gør kanden helt ren for kafferester. Så er der en god chance for, at kaffelugten forvinder.
Trænger flaglinen til udskiftning og er den af kunststof, kan man udskifte den ved at brænde den sammen med den nye, som også skal være af kunststof. Så bliver der ingen "knudepunkter", og mang kan uden besvær trække den gamle line ud, mens den nye går glat igennem hullet.
```
Er der nogen, der husker, at
rense man kan
de snavsede flasker med
stene og vand?
Små bitte sten -
jeg selv bruger ral
at ryste flasken er så,
hvad du nu skal.
Men stop ikke vasken,
brug en si, min ven.
De sten kan jo bruges igen
og igen.
```
Flasker er ikke altid lige lette at gøre rene. Men hvis du kommer lidt sand og en sjat vand i flasken, og derefter ryster den godt, kan du få de fleste pletter af.
!Kan fjernes med denne blanding:
1 del eddikesyre til 7 dele vand. Røres sammen i en glasskål, husk at beskytte hænderne. Smør blandingen på fliserne, men undgå fugerne, der ikke kan tåle syre. Skyld grundigt efter med vand.

Det ærgrer mig, når der kommer fluepletter på vinduer og ting i vindueskarmen. Nu har jeg fået det gode råd at sætte et par små urtepotter med basilikum i vindueskarmen. Det kan fluerne ikke lide, så nu holder de sig væk - forhåbentlig!


En sprød svær opnås ved at følge disse regler:

Vælg et stykke kød med højt spæk under sværen i stedet for det mest magre stykke.
Kontroller, at ridsningen når helt ned i kødet overalt, og at der ikke er mere end ca. 5 mm mellem ridserne. Brug en hobbyknic til at ridse efter med, hvis det er nødvendigt.
Gnid med masser af salt ned i ridserne.
Stil stegen højt i ovnen.
Brug evt. grillen til sidst, hvis sværene trods alt ikke virker helt sprøde.
Har du mere, end du står og skal bruge, kan du hælde fløden i isterning poser og putte den i fryseren. På den måde har du altid små isterninger til at peppe sovsen lidt op med.
Tit skal man bruge en lille smule fløde i sovsen for at gøre den rigtig velsmagende, men når man kun er to personer, er det altid for meget at skulle købe 1/4 eller 1/2 liter. Køb 1/2 liter - gerne på tilbud - hæld den i en isterningepose og frys den. Så er der altid fløde i huset, og det er nemt at tage en eller to terninger op, når der er brug for det.



<<tagging Foodprocessor>>
{{!!url}}
* ''Tidsbesparende.'' Dåserne er typisk hurtige og praktiske at gå til og tilberede.
* ''Lang holdbarhed.'' Du har altid råvarer på hylden til brug i en snæver vending.
* ''God ernæring.'' De rette dåser byder på gode ernæringsmæssige kvaliteter.
* ''Prisrigtig.'' Dåseversionerne er typisk markant billigere end de friske varer.
# Undgå forurenet vand og andre smittekilder.
# Før og under rejsen, kan tarmfloraen styrkes med mælkesyrebakterier
# Daglig indtagelse af 3-5 fed hvidløg har en god effekt mod skadelige bakterier, virus, orm og svamp.
# Papaja og de sorte kerner indeholder ensymer, der opløser parasitter.
# Chili, ingefær og karry er også godt.
|kg.| kilogram |
|g. | gram |
|dl. | deciliter |
|l. | liter |
|spsk. | spiseske |
|tsk. | teske |
|min. | minutter |
|fl. | flaske |
|knsp. | knivspids |


<$scrollable class='tc-scrollable-mad'>

Forhåbentlig en appetitvækker, meeeeeeeeeeen kan også danne bund for en mere spinkel middag, når madpengene skal strækkes, eller man uventet er flere end ventet om bordet.<hr>

<$list filter="[tag[Forret]]+[sort[title]]"><$link to={{!!title}}><$view field="title"/></$link><br>
</$list>
</$scrollable>
4 personer

1 aubergine (650g)
2 spsk fintrevet rødløg
1 dåse koncentreret tomatpuré (70g)
1 bæger salatyoghurt (250ml)
1½ tsk groft salt
friskkværnet peber
4 dl fintstrimlet icebergsalat (75g)
½ l groftrevet hovedsalat (50g)
1 forårsløg i tynde strimler (25g)
12 sorte oliven

!!Pynt:
agurk i tynde stave

!!Tilbehør:
ristet rugbrød.

''Bagetid:'' Ca. 55 min. ved 200°
''
Microbølgovn:'' Ca. 10 min. ved fuld effekt.

Del auberginen på langs og prik kødsiderne med en gaffel. Læg dem med kødsiden nedad, på en plade med bagepapir. Bag auberginen midt i ovnen. Pil skindet af og hak auberginekødet meget fint. Rør det sammen med rødløg og tomatpuré. Vend salatyoghurten i og smag til med salt og peber. Stil aubeginepuréen tildækket i køleskabet i mindst ½ time.

Ved serveringen: Anret grønsager og oliven på portionstallerkner sammen med lidt af auberginepuréen. Server resten i en skål ved siden af.

''Tips:'' Auberginepuréen kan også servers til stegt feta

''Kilde:'' Karolines Køkken 4







Undgå køen til kassen, bananfluer i frugtafdelingen og ikke mindst slæbeturen hjem fra supermarkedet. Det kan gøres langt nemmere på netet og tilmed med den ekstra bonus, at varerne ofte er friskere end i supermarkedet.

!Links

"""
http://aarstiderne.com
http://skagenfood.dk
http://intervare.dk til dig, der ikke kan klare de daglige indkøb. (Kommunen visiterer)
http://oekovejen.dk
http://sartorvet.com
http://coop.dk
https://www.kodbilen.dk/
"""

@@display:box;background-color:blue;color:white;padding-top:5px;padding-borrom:5px;
#Oplyser sælger tydeligt sit navn, sin fysiske adresse og andre kontaktoplysninger, som for eksempel e-mailadresse og telefon nummer?
#Får du tydelig oplysning om pris, levering, betaling og andre købsvilkår?
#Kan du betale med betalings- eller kreditkort?
#Oplyser sælger om fortydelsesret, og hvad du kan gøre i tilfælde af fejl og mangler?
#Beskytter sælger dine persondata og betalingsoplysninger?
@@



Sprød snack. Afhængig af krydringen kan de bliver stærke eller lette. Opskriften er meget nem, men tager nogen forud planlægning.
Hvis du har kogt pasta til middag og har rester af passende størrelse, er dette en go opskrift, som de fleste vil kunne lide (Afhængig af krydningen).
<$scrollable class='tc-scrollable-mad'>

Den gode pause midt på dagen forhåbentlig fyldt med ny energi.

<$list filter="[tag[Frokost]]+[sort[title]]"><$link to={{!!title}}><$view field="title"/></$link><br>
</$list>
</$scrollable>



Dadler er gode i frugtbrød, fordi de tilfører sødme til de mere syrlige, tørrede frugter.


Dyrker du selv chili er det nemmeste simpelthen at fryse dem hele med lidt stilk. Straks de kommer fra frys, skæres frugtkødet af, og tilbage er stilken med alle frøene.

Det er en meget nem metode, som gør, at man ikke få alle frøende med. De er frosset fast på frøstolen.




Brug de frosne fileter, det er både godt og biligt.

opskriften er hentet i Diabetesforeningens lille kogebog "God mad til små gryder"


C-vitamin er en vigtig antiioxidant, som også øger optagelsen af jern, styrker knogler, tænder og karvægge og medvirker til dannelsen af bindevæv. Desuden øger C-vitamin dannelsen af nogle af kroppens egne antioxidanter, bl.a. glutathion, der er et vigtigt led i leverens afgiftningsprocesser. Vis kal ahve 500 mg C-vitami dagligt.

C-vitaminer findes bl.a. i citrusfrugter, hyben, solbær, jordbær, perille, kartofler, kiwi, løg, peberfrugter mm. En appelsin indeholder i gennemsnit 75 mg C-vitamin.
\whitespace trim
\define newHereButtonTags()
[[$(currentTiddler)$]]
\end
\define newHereButton()
<$button class="minibutton" tooltip={{$:/language/Buttons/NewHere/Hint}} aria-label="nyt billede">
<$action-sendmessage $message="tm-new-tiddler" tags=<<newHereButtonTags>> _canonical_uri="" description=""/>
{{$:/core/images/picture}} Nyt billede
</$button>
\end

@@float:right;<<newHereButton>>&nbsp;<$button class="minibutton" popup="$:/state/gallery">Nyt galleri</$button>

<$reveal type="popup" state="$:/state/gallery">
<div class="tc-block-dropdown tc-popup-keep">

&nbsp; <small><$edit-text tiddler="$:/state/new-button-title" tag="input" default="" size="25" focus="true"/><$button class="minibutton">
<$action-createtiddler $basetitle={{$:/state/new-button-title}} text={{Galleri}} tags="" url=""/>
<$action-deletetiddler $tiddler="$:/state/new-button-title"/>
Nyt galleri
</$button> &nbsp;</small>

</div>
</$reveal>&nbsp;<$button popup="$:/GHPopupState" class="minibutton" tooltip="hjælp">{{$:/core/images/help}}</$button>@@

<$reveal type="popup" position="belowleft" state="$:/GHPopupState">
<div class="tc-drop-down">

Træk og slip et billede til din Tiddlywiki. Åbn billedettil redigering ved at klikke på blyants ikonet i verste højre hjørne af tiddleren. Lige under titlen finder du tag boksen. Vælg/skriv 
Galleri for at tagge dit billede med Galleri. På den måde vil dit billede blive vist i dette galleri. Et klik på dette lille billede åbner det i en modal. Du vil også se en kort beskrivelse under billedet samt et link til en opskrifts tiller, hvis en sådan eksisterer. 
</div>
</$reveal>

<div class="simplegalleri">Opskrifts billeder og kort beskrivelse</div>
<hr>

<style>
.simplegalleri {
    display:block;
    background-color:{{!!tabs-background-color}};
    border:2px {{!!tabs-background-color}} outset;
    border-top-left-radius:5px;
    border-top-right-radius:5px;
    border-bottom-left-radius:5px;
    border-bottom-right-radius:5px;
    padding:4px;
    text-align:left;
    font-weight:bold;
}
</style>

<style>
.minibutton {
    background: {{!!tabs-background-color}};
    border-radius: 4px;
    box-shadow: 0px 1px 3px #EEE;
    font-family: Arial;
    color: black;
    font-size: 12px;
    font-weight:;
    padding: 3px 5px;
    text-decoration: none;
</style>

<$scrollable class='tc-scrollable-galleri'>
<div class="imggal">

<$list filter="[is[current]tagging[]sort[title]]">

<div class="imggal-item">

<!--<center><$link to={{!!title}}><$transclude/></$link></center>-->
<center><$button class="tc-btn-invisible" tooltip="Åbn i modal" message="tm-modal" param={{!!title}}><$transclude/></$button></center>

@@display:block;font-size:10px;line-height:14px;background-color:white;color:black;border:1px solid black;padding:4px;word:wrap;margin-top:10px;<$view field="description"/><br><$list filter="[tag[opskrift]has[billede]field:billede{!!title}]"/>@@

</div>

</$list>

</div>
</$scrollable>

<style>
.tc-drop-down p {
	padding: 0 14px 0 14px;width:380px;word-break: break;white-space:normal;text-align:justify;
}

.tc-drop-down a {
	display: inline;
	padding: 0 14px 0 14px;
}
</style>
|1 pund | 500 gram|
|1 lod| 15 gram|
|1 kvint | 5 gram|
|1 pot | 0,9661 liter|
|1 pægl | 2½ dl|
Det er ofte svært i butikkerne at finde kroge, der er store nok til at hænge forskellige køkkenting, f.eks. et elektrisk piskeris op på, så de er lige ved hånden.

Tag en klædebøjle af træ med krog og skru krogen af bøjlen. Krogen er stor og har gevind og kan bruges til de fleste større ting.







Når der købes nyt rugbrød, skær da det, der er blevet tilover af det gamle i tern og kom det i en varm ovn i ca. 10 min., så har du de dejligste hundekiks, som er sunde for hunden, fedtfattige og meget, meget billige.
Når man i dag køber en vare med garanti (to år), er det ofte bare en kassebon, der skal fungere som garantibevis. Nutidens bon'er er desværre af en sådan kvalitet, at teksten begynder at forsvinde efter bare nogle få måneder. Gem stadig originalen, men tag en kopi eller scan den ind på computeren, så har man dokumentation i hele garantiperioden.


Det første trick er at sætte småkager og kiks et sted, du ikke hurtigt kan nå dem. Ude af syne, ude at sind. Køb kun små pakker kiks og ikke så ofte. Hvis du virkelig har lyst til en, så læg den på en tallerken, sæt resten på plads med det samme og spis den langsomt.

Forskere har nemlig fundet ud af, at folk spiser færre chokoladekiks, når de bliver bedt om selv at tage fra en lille tallerken i stedet for fra en stor tallerken fuld af kiks.


Du kan sgtens lave din egen hårkur for ganske få midler. du skal bruge 1 stor banan og 1 skefuld honning. Mos bananen med en gaffel og tilsæt honning. Bland de to ingredienser godt sammen. Gør håret vådt med lunken vand, og massér banan/honning-blandingen grundigt ind i håret. tag en badehætte på, og vikl dernæst et håndklæde ud over. Lad det sidde i en time. Skyl til sidst håret grundigt.

I stedet for at bruge penge på de såkaldte støvsugedeodoranter, der alligevel aldrig dufter helt godt, suger jeg en smule vaskepulver, vanillesukker, potpourri eller grønne krydderurter op i en nyskiftet støvsugerpose.

på den måde spredes en dejlig duft i rummet, når man støvsuger.
Synes du, det er svært at få smagen frem i grøn mad, så er her et råd fra Lars Sonne-Hansen, der har skrevet bogen "God mad med mange grøntsager", udgivet af Kræftens Bekæmpelse.

Han forestlår vineddiker, små mængder honning, krydderier og især de friske krydderuter til at løfte og afrunde smagsoplevelsen.

Køb krydderierne hele, og stød dem i en morter eller en kaffekværn.
Send tøjet til rensning, når det er blevet beskidt, og ikke, når det skal bruges.

Pletter kan hærde, især, når det drejer sig om pletter fra planter, kaffe, rødvin eller te. Jo længere tid der går, desto mere sidder pletterne fast.

Husk på, hvorfra pletterne på tøjet stammer, så de kan få den rette forbehandling.

Læg eventuelt tøjet i en plasticpose og luk godt til, indtil du har tid til at sende tøjet til rens, så der ikke kan komme mere luft til.

!Allergi og rensning.
I Astma-Allergiforbundet er man ikke bekdnt med, at tøj, der har været på renseri, generer folk med allerfi, men man kan ikke udelukke, at allergikere med meget følsom hud eller luftveje vil kunne reagere på tøjet efterfølgende.

Er man allergisk over for husstøvmider, vil rensning af tøjet dræbe miderne, men den fjerner ikke deres ekskrementer, der også er årsag til de allergiske reaktioner.

Cirker med bogstaver i angiver, at tøjet kan renses kemisk Bogstavet (A, P eller F) angiver, hvilken kemisk rensevæske, der kan anvendes, og har derfor størst betydning for renserierne.

''Tom cirkel med understregning:''<br>
Symbolet betyder, at tøjet kan renses skånsomt.

''Tom cirkel med kryds henover''<br>
Her skal ud helt undgå kemisk rensning. Du skal også undgå at bruge opløsningsmidler eller pletfjerner.

1. Få et overblik over, hvad du bruger dine penge til. Læg et budget for rådighedsbeløb og faste udgifter inkl. alt: børnepenge, bil, daginstitutioner, husleje, varme og så videre. Find ud af, hvad du kan undvære. Behøver du f.eks. fast avisabonnement?

2. Skær ned på luksusting som f.eks. dyre frisører og kropspleje. Alt for mange af os er f.eks. passive medlemmer af fitnessklubber, som koster kassen. Køb et klippekort i stedet.

3. Hvis der er lån, så brug nogle timer på at gå i banken. Hør, om lånene kan lægges sammen, og tal med en rådgiver om betalingsservice. Alt for mange glemmer rykkergebyrer og strafrenter.

4. Tjek dine forsikringer. Det er uansvarligt, og det kan ruinere dig, hvis du gør skade på noget eller nogen uden at være ordentligt forsikret. Saml forsikringer og få tilbud fra flere selskaber, så du kan se, hvor det er billigst.

5. Køb ind i discountbutikker og se på, hvordan du køber ind. Skriv indkøbssedler og hold dig til dem.
Mørk denim kan afgive meget farve i nu og uvasket tilstand. Det skyldes epecielle forhold i indigo farveprocessen. når farven skal være så mørk. Efterhpnden som denim vaskes, bliver farvetabet og afsmitningen mindre og denim farven lidt lysere.

!!Derfor anbefales det at følge disse råd:

# Vask dine jeans inden brug
# Vaske dine jeanse separat og altid med vrangen ud og lynlåsen lukket
# Vær meget opmærksom på, at der altid vil være stor risiko for afsmitning, når du sidder på lyse materialer, speciel ti fugtigt vejr.
# Vær forsigtig, når du anvender dine jeans sammen med lysere beklædning (f.eks. underøj) fordi kropsvarmen kan bevirke, at den mørke denim vil afgive fare.
# Jeans med metaltråde eller glittertryk vil ændre udseende i brug og ved vask.



Grapefrugt kan være kræftfremkaldende for kvinder.

Grapefrugt indeholder stoffer, der hæmmer enzymet CYP3A4 i tarmen og inde i kroppen. CYP3A4 nedbryder østrogen og nogle former for medicin.

Når enzymet bliver hæmmet af grapefrugt så stiger mængden af østrogen og evt. medicin i kroppen.

En stor amerikansk undersøgelse har vist at en kvart grapefrugt om dagen eller mere er forbundet med 30 % højere risiko for at udvikle brystkræft hos kvinder, efter overgangsalderen.

Årsagen er sandsynligvis det højere østrogenniveau.

Grapefrugt kan også forværre bivirkningerne ved visse former for medicin, da mere af medicinen bliver optaget i kroppen, når man spiser grapefrugt.

Det vil sige, at man får reelt en højere dosis medicin.

Det omfatter blandt andet visse medikamenter mod forhøjet blodtryk og forhøjet kolesteroltal.

Effekten af grapejuice holder i mindst et døgn efter indtagelse.

Hvis du ønsker at forebygge brystkræft bedst muligt, eller hvis du tager medicin, som du er i tvivl om, kan blive påvirket af grape, så er det bredst helt at lade være med at spise grape eller drikke grapejuice.

Spis andre frugter i stedet for. De giver ingen problemer, heller ikke andre citrusfrugter.




<$scrollable class='tc-scrollable-mad'>

[img[https://lh5.googleusercontent.com/-vuWDs3Z3ZvQ/TevrW3QaPfI/AAAAAAAABUk/t6HlYPlIfVI/s128/bbqsmiliegif.gif]]

Det er hyggeligt at grille og helt uimodståeligt når aftenerne bliver lune og lyse.
En grill jeg er specielt glad for, er den [[lille og transportvenlige Cobbgrill|Cobbgrill/grill]].<hr>
<$list filter="[tag[Grill]]+[sort[title]]"><$link to={{!!title}}><$view field="title"/></$link><br>
</$list>
</$scrollable>
# Tænd grillen i god tid. Begynd ikke at grille, før kullene eller briketterne er helt grå

# Skal du brugge grill-spyd af træ? Så læg dem i blød i vand en halv times tid i forvejen.


Vores er fra Tefal

<<tagging>>
{{!!kind}} {{!!item}} {{!!amount}}
{{!!kind}} {{!!item}} {{!!amount}}
{{!!kind}} {{!!item}} {{!!amount}}
{{!!kind}} {{!!item}} {{!!amount}}
{{!!kind}} {{!!item}} {{!!amount}}
{{!!kind}} {{!!item}} {{!!amount}}
{{!!kind}} {{!!item}} {{!!amount}}
{{!!kind}} {{!!item}} {{!!amount}}
{{!!kind}} {{!!item}} {{!!amount}}

;Primære ingredienser: 
:Hakkede, flåede tomater, tomatjuice (evt. suppleret med tørret peberfrugt, løg med mere). 

;Sundhedsvurdering: 
:Tomater er per definition ekstremt kaloriefattige og er samtidig proppet med immunforsvarsstyrkende karotener. Det er især lycopen, tomatens kraftige røde farvestof, du får meget mere af i dåseudgaven, end hvis du spiser tomaterne rå. Når tomaterne varmes op i konserveringsprocessen, sprænges cellerne i tomaten, så de sunde stoffer frigøres, og kroppen lettere kan optage dem. Dåsetomaterne er altså på det område sundere end friske tomater. 

;Bonusinfo: 
:Sundhedsmæssigt er der stort set ingen forskel på, om du vælger almindelige flåede tomater eller varianter med lidt tilsatte krydderier, peberfrugter, løg eller lignende. I sidste ende er det tomaterne, der tæller.







Mængderne i parentes gælder kun i de tilfælde, hvor der skal tilberedes en tærte, som skal være høj nok til at den kan gennemskæres og fyldes.




Græskarret er egentligt et stort bær, hvis form og farve kan variere. Frugtkødet kan være groft, fast og mere eller mindre saftigt. På det smukke orangerøde hokkaidogræskar, fra Japan kan skallen spises ligesom på en squash. Der er masser af græskar i butikkerne, prøv dem i gode supper eller som tilbehør til mortensanden.



<$scrollable class='tc-scrollable-mad'>

<$list filter="[tag[Grød]]+[sort[title]]"><$link to={{!!title}}><$view field="title"/></$link><br>
</$list>
</$scrollable>
For meget varme og for lidt omrøring er to dødssynder, når du skal lave grød. Overkogt grød, der er brændt på, har lagt kimen til alle rædselsberetningerne om hård og massic grød, der kan brygges broer af. Havregrød skal have ro og sagte varme og gammeldags omrøring i ottetaller for at blive sød, indsmigrende og dagens mættende begyndelse, der holder sulten væk de næste fire timer - mindst. Strø gerne med sukker og læg en smørklat i midten. *grød må godt forkæles. Vidste du i øvrigt, at sødgrød betyder grød koge på mælk i modsætning til vand?

Læg lige mærke til tricket med den pocherede laks. Den kan jo bruges til meget andet end suppen, f.eks. i madpakken hvor flager af nænsom kogt laks smager fantastisk på ristet rugbrød.

Vitaminbomben over dem alle er grønkålen, der var basiskost på landet, lige indtil kartoflerne tog over.
Grønkål sælges i hele stokke, hvilket er flot, men ikke særlig praktisk eller holdbart. De kan også købes som løse blade med god holdbarhed i plastposer i supermarkedet.
I Sydeuropa, især Portugal, bruger man masser af grønkål, gerne i grove, rustikke urtesupper, og det er både billigt, lækkert og nemt at efterligne.
Grønne krydderurter som persille og basilikum kan indeholde jordbakterier, som trives rigtig godt i varm mad. Det er derfor en god idé af tilsætte grønne krydderurter til allersidst eller først drysse dem på retten, når den skal spises.
Har du pastinak, persillerod oga dnre rodfrugter i haven, kan de endda give et ekstrwa grønt drys.

Når man skærer toppen af, og den ellers er grøn, kan man sætte den i vand i et lille lavt glas, og så skyder den grønne top, som kan bruges til grønt drys på  kartofler eller et stykke mad.

Husk at vande, så skæregfladen er dækket.
Ifølge anbefalingerne bør voksne spise mindst 600 g frugt og grønt om dagen, for at forebygge hjerte/karsygdomme, kræft og overvægt.



Er de hvide el-ledninger af plast blevet gule og snavsede, så gnid dem med en klud dyppet i sprit - så bliver de atter fine.
Minder meget om almindelige tomater, både hvad form, smag og skind angår,








Findes (som kartofler) i flere farver og sorter. F.eks. violette.

Hollænderne besluttede på et tidspunkt i 1700 tallet af gulerødder skulle være orange, og derefter holdt vi os til den sort.

Køb kød, der allerede er skåret ud i strimler eller terniner, eller et stort stykke til langtidsstegning, du selv skærer ud.

Gær er ikke altid lige let at udrøre i mælk eller vand, men her er en fidus som med garanti virker. Start med at komme gæren skålen, inden du tilsætter de øvrige ingredienser. Kom derefter en spiseskefuld sukker og en knivspids salt over gæren. I løbet af få minutter "smelter" gæren, og så kan du komme de øvrige ingredienser i som normalt. Jeg har selv brugt dette tip (som jeg fik af en ældre dame) i mange år, og gærens evne til at hæve tager ikke skade af denne behandling.
eller

Det her er et rigtig godt trick til en let måde at opløse gær på uden brug af vand: 

"""
1) Placer gæren i bunden af en tør skål 
2) Tilsæt salt (der skal altid lidt salt i dej) 
3) Rør hårdt rundt for at blende salt og gær lidt 
4) Wupti! Gæren bliver simpelthen flydende for øjnene af dig. 
"""
Gær holder sig længere, hvis du opbevarer det i en plasticpose.
Ved en 30 års fødselsdag blev der holdt fest for 2 gode venner, og der var ikke råd til hjælp i køkkenet. Der skulle serveres tre retter, som var lavet forvejen.
Alle gæster fik et nummer på deres bordkort, og på en tøjsnor hen over festbordet var placeret 22 nummererede kuverter (Ingen til værtinden, fødselsdagsbarnet) i festlige farver. I hver kuvert lå en seddel med beskrivelse af en arbejdsogave arrangeret således, at fire personer dannede en gruppe, som f.eks. skulle skære kød ud og anrette maden, servere maden, tage tallerkener ud og sætte dem i opvaskemaskinen, fjerne tomme flasker og sætte fyldte ind, o.s.v. Sætningerne havde jeg delt, så alle i samme gruppe skulle læse højt for de øvrige gæster. Alle morede sig. Det må tilføjes, at manden råbte numre op på de tidspunkter, hvor der skulle arbejdes.
Den eneste, der ikke skulle arbejde var fødselsdagsbarnet, der nød sin fødselsdag og ikke følte sig savnet i køkkenet.



Retten kan forberedes i forvejen, så den bare skal varmes i ovnen


Harissa er en nordafrikansk mos/pasta af stærk rød chili, hvidløg, koriander og spidskommen.
Den kan købes i de fleste større supermarkeder i en lille dåse med ca. 125 g.

Harissa minder om sambal eller chilisauce og bruges især i sammenkogte retter.

Friske hasselnøddekerner er lækre, sprøde, søde og fine i smagen. Knæk nødderne, hak kernerne groft og brug dem som drys i grønne salater og frugtsalater, på kager og i desserter med chokolade.
Det er også hyggeligt at knække nødder og spise dem som snacks. Nyd hasselnøddekerner med et glas død sherry eller madeira.










http://hejdis.blogspot.com/p/opskrifter_26.html




24 timers kager




Hunde er jo også glade for godbider. Følgende opskrift er både sund for hunden og nem at lave. Lav f.eks. 3 plader ad gangen og frys derefter godbidderne ned i mindre portioner.

Hvis alle i familien kan lide ahornsirup på pandekager, æbleskiver, yoghurt frugtsalat osv, så det kan godt være en dyr fornøjelse at holde flaskerne fulde. Prøv selv at lave en sirup, som smager i den retning.

Der tales om at give hjernen de bedste betingelser ved at spise bestemte fødevarer. Bedring af koncentrationsevne, reaktionstid og stresstærskel.

*Masser af fisk, fuldkorn, frugt og grønt.
*Rene, friske og så vidt muligt lokalt dyrkede råvarer.
*Mindre kød og med et fedtindhold på maks. 10 %
*Få og små naturligt sødede desserter, kager og drikkevarer med maks. 10 % tilsat sukker
*Mad, der tilfredsstiller sanserne.

!Fuldkorn
fordi korn og frø indholder komplekse kulhydrater, der holder dit blodsukker stabilt og sikrer leverancen af brændstof til hjernen. Fuldkornsprodukter er desuden rige på B12, B6 og folinsyer, tre vigtige vitaminer, som i undersøgelser har vist sig at gavne hukommelsen og muligvis kunne modvirke udviklingen af Alzheimers.

!Fede fisk
(og hørfrø) fordi fiskeolie indeholder fedtsyrer, som blandt meget andet er nødvendige, for at dit nervesystem kan fungere. Desuden indeholder fisk et molekyle, iodine, som virker mentalt styrkende.

!Blåbær
Fordi ekstrakt af blåbær har vist sig at kunne forebygge tab af korttidshukommelse

!Tomater
fordi tomater indeholder en meget kraftfuld antioxidant, lycopen, som hindrer de farlige frie radikaler i at angribe og ødelægge dine celler - også dine hjerneceller.

!Solbær
fordi solbær er propfulde af C-vitamin, og forskerne har længe hævdet, at C-vitamin blandet meget andet også øger din mentale kapacitet.

!Græskarkerner
fordi en håndfuld om dagen er nok til at dække dit behov for zink. Zink er vigtigt for din evne til både at tænke og huske.

!Broccoli
fordi blomkålens grønne fætter er en vigtig kilde til K-vitamin, som bl.a. øger dine kognitive evner og hjernens kapacitet generelt.

!Salvie
Fordi denne herlige krydderurt er berømt for sin evne til at styrke vores hukommelse.

!Nødder
fordi nødder er rige på E-vitamin - og E-vitamin har vist sig at modvirker dårlig hukommelse. Også mørkegrønne grønsager, frø, æg, brune ris og fuldkorn er gode kilder til E-vitamin.
Ingen varer bør ligge i fryseren i over et år.
De bliver dog ikke sundhedsfarlige, men der sker en kvalitetsforringelse, og fede madvarer harskner også under frysning.

Sørg altid for, at varen er frisk, når du lægger den i fryseren.

Af skemaet ses, hvor længe forskellige varer omtrent kan holde sig i fryseren ved -18º C. 

Køber du frosne varer, er de mærket med holdbarhedsdato. 

<<tagging>>
!Brød og kager

|Bagværk |magert |4-5 mdr. |
|Bagværk |fedt |2-3 mdr. |
|Lyst brød | |6 mdr. |
|Rugbrød | |6 mdr. |
|Rundstykker | |6 mdr. |
!Desserter

|Babymos | |1-2 mdr. |
|Fromage mousse og lign. | |3 mdr. |

!!Babymos
Kan også fryses ned i isterningebakker.
!Fisk

|Gravet| |1 mdr.|
|Fisk |fed |2-3 mdr. |
|Fisk |mager |3-6 mdr. |
|Fisk |røget |1 mdr. |
|Torskerogn | |6 mdr. |
!Frugt og grønt

|Frugt | |10-12 mdr.|
|Frugtprodukter | |10-12 mdr.|
|Grønsager | |6-12 mdr. |

Grønsager skal blancheres før frysning - for at ødelægge de enzymer i grønsagerne, som kan forringe kvaliteten og holdbarheden. 

Grønsagerne kan få en høagtig smag, som skyldes, at fedtstoffet i grønsagerne harskner.
!Kød

|Fars| | 2 mdr. |
|Fjerkræ |magert |8-10 mdr |
|Fjerkræ |fedt |5 mdr. |
|Hakket kød | |6-8 mdr |
|Kalvekød | |6-8 mdr |
|Lam- og fårekød | |10 mdr |
|Oksekød | |10 mdr. |
|Pølser |bayerske |2-3mdr. |
|Svinekød |magert |6 mdr. |
|Svinekød |fedt |3mdr |
|Færdige middagsretter | |1-3 mdr. |
! Mælkeprodukter og æg

|Drikkemælk | |4 mdr. |
|Fløde | |3 mdr. |
|Flødeis | |2 mdr. |
|Friskost | |Uegnet |
|Ost |fed (over 45+) |3-4 mdr. |
|Ost |mager (under 45+) |Uegnet |
|Ost |reven |3-4 mdr. |
|Parmesan | |3-4 mdr. |
|Smør og andre fedtstoffer | |3 mdr.|
|Syrnede (fx yoghurt, A38) | |Uegnet |
|Æg, hele og blommer | |6 mdr. |
|Æggehvider | |8 mdr. |

!!Mælk
Ændrer smag ved frysning og egner sig bedst til brug i madlavning efter frysning. 

!!Piskefløde
Bliver grynet - men pisker du først fløden til flødeskum, forbliver den blød og glat.
Tø flødeskummet op i køleskabet og pisk den let igennem før servering.

!!Smør
Kan også skæres i tern og fryses ned i små portioner - klar til at tilsætte en ret.

!!Ost (45+)
Bør også fryses ned i mindre stykker, som passer til ca. en uges forbrug. 

!!De hvide og røde skimmeloste
Skal være færdigmodnede før frysning.
Hvis honningen er krystalliseret, stilles glasset i en skål med varmt vand i et øjeblik, så bliver honningen fin og blød igen.



<$scrollable class='tc-scrollable-mad'>

{{dinnertimesmilies.gif}}

<$list filter="[tag[Hovedret]]+[sort[title]]"><$link to={{!!title}}><$view field="title"/></$link><br>
</$list>
</$scrollable>


Denne humus adskiller sig fra en sædvanlig humus. Jeg synes ikke om at have humus med hvidløg med i madpakken, og så lugte af hvidløg resten af dagen – derfor har jeg udviklet denne skønne humus med karry. Hytteosten giver en lækker blødhed og let smørbar konsistens – og bidrager med ekstra protein, som er med til at holde dig mæt sammen med fibrene fra kikærter. Så her er min version af pålæg i en ultrasund version.










Det betyder, at et vist produkt er fremstillet af økologisk dyrkede ingrediense; eller med andre ord er der brugt landbrugsmetoder, som støtter produktionen af fødevarer og fibre på en sund måde ud fra et miljømæssigt synspunkt.
Der bliver taget hensyn til jordens reelle frugtbarhed, og der vises respekt for naturen, planter, dyr og jorden. På denne måde er økologisk dyrkning i stand til drastisk at reducere brugen af midler som kunstgødning, pesticider ogk emisk-syntetisk fremstillede produkter.
Derimod vælger denne type landbrug af udnytte styrken i naturlovene til at øge udbyttet og resistensen over for sygdomme.
Ofte fortælles at computernørder er evigt chips spisende og cola drikkende. Indimellem indtag af uforholdsmæssige mængder af halvlunken pizza.

''Jeg forestiller mig, at tiddlywiki entusiaster er mere kræsne fordi:''

# de HAR vist god smag allerede i valg af TW
# arbejder koncentreret -og glemmer spisetiderne (ikke tager sig tid til at lave mad ;-) )
# det ofte bliver sent - (kaffe gør det ikke)
# TW-afhængighed og alm. nørde forplejning som ovennævnt ville medføre alvorlig adipositas.
# TW entusiaster har ikke tid til fedtet og klistret tastatur.

!Hvad indtager jeg selv?
Jeg har et drikkeglas med låg og indbygget sugerør - volumen ½ liter.
Heri fyldes koldskål.
En lille skål Brandflakes ved siden af.

I går var der kun rester....det blev til  misk mask (der SKAL jo ryddes op)
Størst var koldskålsresten + en mindre rest kakaomælk = det kunne godt gå an, men der manglede noget. 
Hvad laver den usle sjat rom i den næsten tomme flaske, der står der ensom og forladt - 
"Den keder sig ikke længere - den kom ned i beholderen til det andet!"
Jeg følte mig presset til at søde det en smule - ned skulle det jo.

Jeg har sovet vældig godt sidste nat......hi hi.
Disse hveder holder sig friske i lang tid....HVIS de altså kan holde sig ;-)
Hver 10.dansker får diabetes - det kunne være dig? For sent opdaget type 2-diabetes kan medføre alvorlige senkomplikationer som f.eks. hjerteproblemer.

Gå til lægen, hvis du kan svare ''JA'' til ét af følgende spørgsmål:
* Har du hyppig tørste, vandladning eller kløe?
* Er du svært overvægtig?
* Har du en forælder eller en søskende med type-2 diabetes?
* Har du haft diabetes under din graviditet?
* Får du medicin mod hjertesygdom, højt blodtryk eller forhøjet kolesterol?

''Diabetes skal opdages og behandles i tide - så kan du leve et normalt, aktivt og langt liv.



Brug ikke blegemiddel til f.eks. hvide lagner.

Fyld blajen med varmt vand, 1/4 kop naton, 1 kop hvid eddike, 2 spsk. opvaskemiddel (ufarvet), citron saft.

Vask derefter normalt.
Hvidkål er den mest hårdføre af de forskellige kålsorter og opbevares i køleskabet. Når der er "taget hul" på kålen, bør den pakkes ind i klar plastfilm for ikke at tørre ud og afgive smag ellerl luft til andre fødevarer.


Hvis du nogle gange synes, at din mad smager lidt for meget af hvidløg selvom du ikke har kommet så meget i, så pil og knus hvidløgene 1½-2 timer før de skal bruges. Så er smagen (og lugten) ikke så gennemtrængende.
Hvidløg virker bakteriedræbende, og det kan man have gavn af ved småsår, der er gået betændelse i.

Man kan ganske enkelt smøre lidt knust hvidløg på området eller knuse et fed hvidløg eller to i varmt vand og bade med det.

Men husk: Man skal være lidt varsom, hvis huden er sart, for hvidløg er et lidt skrapt middel. Så kig efter reaktionen. Hvis huden virker irriteret af behandlingen, så stop.

Værtshussnak har altid hævdet, at tømmermænd afhænger af farven på det, man drikker. Der er noget om snakken.

Risikoen for tømmermænd aftaler i denne rækkefølge: cognac, rødvin, whisky, hvidvin, gin, vodka og ren alkohol.

De alkoholiske drikkes farve afhænger af indholdet af nogle biologisk aktive stoffer, der kaldes congener, og de kan give tømmermænd.

De drikke, der ligner almindeligt vand, har man det bedst med dagen derpå.

Får man tilstrækkeligt meget af dem, kan det dog gå galt alligevel.
Hvis din lommelygte lyser dårligt, selvom batteriet ikke er opbrugt, skyldes det ofte en dårlig forbindelse, fordi spiralfjederen i bunden af lygten er angrebet af rust. Ved at kramme et stykke stanniol sammen til en kugle og putte det ned i bunden af lygten, er problemet forbi.



Hyldedrik og hyldete smager herligt. Udtræk af blomster anbefales ved snue, hoste og hæshed. Bladene, der helst bør indsamles før blomstring, virker vanddrivende.

!!TILBEREDNING:

!!!Blomster:
3-5 teskefulde pr. kop trækker i kogende vand i 7-10 minutter ogs ødes med honning, sirup eller rørsukker.

!!!Blade:
2 teskefulde pr. kop trækker i kogende vand og sødes som blomsterne. Drik 2-3 kopper dagligt eller efter smag.


Hæld en sjat Atamon i vandet, når du pudser vinduer.

Atamonen forhindrer, at der danner sig mug på ruderne.

Nemt og effektivt.
F.eks. kan boller kommer i ovenen til hævning et kvarter på 50 grader, inden de bages, så bliver de store og flotte.



Når du skal afkalke din håndbruser, behøver du ikke at skille den ad. Sæt blot den del af bruseren, hvori filteret sidder, ned i en plasticbøtte med ren eddikesyre.

Lad det så et par timer, og bruseren er som ny igen.

Eddikesyren kan bruges igen.

Smør fadet ind i brun sæbe og dæk med plastic. Lad fadet stå i et par timer og vask det så af på normal vis.


<small><$button class="minibutton"><$action-navigate $to="Midlertidig eksport tiddler"/>
Eksportér indholdsfortegnelse 
</$button>
<$button class="minibutton" tooltip="Vis nyt underemne knap">
<$action-setfield $tiddler="$:/config/index/newSubitem" text="<span class='tc-btn-invisible'>{{||$:/plugins/Birthe/taggingpanel/buttons/new-here}}</span>"/>
{{$:/images/fa5/regular/eye}}
</$button>
<$button class="minibutton" tooltip="Skjul nyt underemne knap">
<$action-deletetiddler $tiddler="$:/config/index/newSubitem"/>{{$:/images/fa5/regular/eye-slash}}
</$button>
<$button tooltip="Nyt emne" class="minibutton">
<$action-sendmessage $message="tm-new-tiddler"  title="Nyt emne" tags="Indhold" text=""/>
 Nyt emne
</$button></small>

<div class='tc-table-of-contents'>
<<toc-selective-expandable  'Indhold'>>
</div>


Indkøbs liste. Print den ud og medbring den, når du handler ind... Se [[Opret indkøbsliste|IndkøbslisteOpretter]]

<$list filter="[tag[grocery]tag[buy]each[kind]sort[kind]get[kind]]" variable="kind">

__''<<kind>>''__
<ol>
<$list filter="[tag[buy]kind<kind>!is[system]]">
<li>{{!!item}} {{!!amount}}</li>
</$list>
</ol>
</$list>
<table>
<tr>
<th>Tiddler titel</th>
<th>Kategori</th>
<th>Emne</th>
<th>mængde</th>
<th>Slet tiddler</th>
</tr>

<$list filter='[prefix[Grocery]sort[title]]'>
<tr>
<td><$link to title><$view field="title"/></$link></td>
<td><$view field="kind"/></td>
<td><$view field="item"/></td>
<td><$view field="amount"/></td>
<td><$button message="tm-delete-tiddler" param=<<currentTiddler>> class="tc-btn-invisible">{{$:/core/images/delete-button}}</$button></td>
</tr>
</$list>
Vi handler ofte nogen af de samme varer igen og igen. Du kan oprette vare emner og beholde dem på din liste, så kan du blot afkrydse dem, når du skal ud at handle. Husk først at fjerne varerne fra din sidste indkøbstur fra Indkøbslisten.

''Afkryds de emner du ønsker skrevet til din indkøbsliste.''

''Typen af varer, du ønsker at købe ind:''<br>
<$edit-text tiddler="$:/state/new-button-kind" tag="input" default=""/>

<$button>
<$action-createtiddler $basetitle="Grocery" tags="grocery" kind={{$:/state/new-button-kind}} text='{{!!kind}} {{!!item}} {{!!amount}}' item="" amount="" />
<$action-deletetiddler $tiddler="$:/state/new-button-kind"/>
Nyt indkøb
</$button>

<$list filter="[has[kind]each[kind]sort[created]get[kind]]" variable="kind">
<div class="cookcount">
<<kind>>
</div>
<ol>
<$list filter="[kind<kind>!is[system]]">

<li><$checkbox tag="buy"> ''Emne:'' <$edit-text field="item" size="10"/> &nbsp; ''Mængde:'' <$edit-text field="amount" size="5"/></$checkbox>&nbsp;<$button message="tm-delete-tiddler" param=<<currentTiddler>> class="tc-btn-invisible">{{$:/core/images/delete-button}}</$button></li>
</$list>
</ol>
</$list>

''Gå til:'' [[Indkøbsliste]]
Når det er koldt, vådt og epidemierne truer, er det altid godt at have lidt at styrke sig på. Her er en opskrift på en kraftig "snaps", som du kan tilberede og gå og nippe til.
\define thisTempTiddler(stateNumber)
$:/temp/$(someName)$$stateNumber$
\end

<$reveal type="nomatch" state="$:/IngredientsRevealState" text="show">

<$button tooltip="Opret ny ingrediens" class="tc-btn-visible" set="$:/IngredientsRevealState" setTo="show">Ny ingrediens</$button>

</$reveal>
<$reveal type="match" state="$:/IngredientsRevealState" text="show">

<$button set="$:/IngredientsRevealState" setTo="hide">Skjul opret ingrediens</$button>

<$set name=someName value=<<qualify>>>
<$tiddler tiddler=<<thisTempTiddler>>>
Ingrediens navn:<br><$edit-text tiddler=<<thisTempTiddler>> field='name' class='tc-edit-texteditor' placeholder='Navnet på din ingrediens'/><br>
<$edit-text tiddler=<<thisTempTiddler>> field='text' class='tc-edit-texteditor' placeholder='ingrediens tekst'/><br>
<$button>Opret ingrediens
<$action-setfield $tiddler={{!!name}} $field='text' $value={{!!text}} tags='Ingredienser'/>
<$action-setfield $tiddler=<<thisTempTiddler>> $field='text' $value=''/>
<$action-setfield $tiddler=<<thisTempTiddler>> $field='name' $value=''/>
</$button>
<$button>Tøm
<$action-setfield $tiddler=<<thisTempTiddler>> $field='text' $value=''/>
<$action-setfield $tiddler=<<thisTempTiddler>> $field='name' $value=''/>
</$button>
</$tiddler>
</$set>
</$reveal>

''Vælg en ingrediens, du gerne vil læsemere om:''<br>
<$select tiddler='$:/generated-list-demo-state'>
<$list filter='[[Vælg en ingrediens]][tag[Ingredienser]]'>
<option><$view field='title'/></option>
</$list>
</$select>
<$tiddler tiddler={{$:/generated-list-demo-state}}>
<$transclude mode='block'/>
</$tiddler>


Når du laver is, så prøv at komme to tsk. vodka i isblandingen. Det gør, at den kan tages lige ud af fryseren, skæres og spises med det samme.


Dette fladbrød, som du bager på panden, er noget af nemmeste og billigste, du kan lave i dit køkken. Det tager kun ganske få minutter at blande ingredienserne sammen og ælte dejen lidt, hvorefter det bare skal bages på en pande nogle minutter på hver side.

Så lærer du denne enkle opskrift, så har du altid et virkelig velsmagende brød ved hånden – og det passer virkelig godt til f.eks. supper, salater eller humus. Ja, du kan sågar serverer det til morgenmad i en snæver håndevending.




Er et eksempel på, hvor ringe smagen bliver, når man konserverer kød. Processen koster også mange af de B-vitaminer, som vi får fra det ferske kød. Endelig tilfører konserveringen typisk en del sundhedsmæssigt betænkelige stoffer.
"""
Mænd, der kan lave mad, er altid godt.
(@@color:blue;//Begejstret kvindelig fan, da Jamie Oliver besøgte København//@@)
"""

"""
Alle kan lave mad. Tag en kylling, lidt olivenolie, salt og peber. 
Stik en citron op i rumpen på den og put den ind i ovnen. 
Det kan enhver idiot lave.
(@@color:blue;//Jamie Oliver, britisk køkkenhelt//@@)
"""

"""
Muligvis men idioten behøver ikke vise sig her. 
Skal det betu være fjerkræ er "bortfløjen and" at foretrække.
(@@color:blue;//Birthe//@@)
"""
















Her skal der ikke tænkes på diæter, men bare nydes. Gerne som alternativ til osteanretningen.
Pil en julesalat (endivie) fra hinanden og vask og tør bladene. Læg bladene med den hule side opad på en bageplade med bagepapri. Smuldr blåskimmelist over, 1-2 tsk. på hver, og sæt bradepanden i ovnen under grillen. Hold øje med osten, der kun skal grilles, til osten er smeltet, det tager 1-2 minutter.

Servér massser af brød til.
Dette er verdens nemmeste julesnaps, og den skal kun trække tre uger, før essensen er klar.

Jeg elsker en rigtig stærk ost, men er ikke så vild med de stærkt "duftende" fingre. Løs problemet med at skære så mange osteskiver på én gang, som der kan ligge i en brugt is-boks. Kom mellemlægspapir mellem skiverne, og du har altid friske osteskiver.
Hvis du ophører med at drikke kaffe eller nedsætter mængden, du indtager, kan du få hovedpine.

Hovedpinen skyldes abstinens grundet koffeinmangel og varer et døgn eller to og kan ledsages af irritabilitet og træthed.

Koffein sammentrækker blodkarrene i hjernen en lille smule, så når koffein mangler, udvider blodkarrene sig igen, og det skaber hovedpine.

Drikker man kaffe igen, forsvinder den næsten med det samme.

Ønsker man at komme ud af sin koffeinafhængighed uden besvær, skal man aftrappe kaffeindtaget med en kop om dagen. Så mærker man ikke noget.

"""
2 æg
1½ dl mælk
225 g sukker
150 g smør/margaine
200 g mel
2 tsk bagepulver
2 tsk vanille
2 spsk kakao
"""

!!Snask:

"""
250 g flormelis
4 spsk kakao
100 g margaine
12 spsk stærk kaffe
1 tsk vanille
200 g kokosmel
"""

Denne kage kan både laves i microovn og i alm. ovn. Microovnens effekt er på 900 wat (microeffekt). OBS Til microovn vil ½ portion ofte være mere passende!!! (TIDERNE ER ANGIVET TIL DENNE EFFEKT)

Sukker og æg piskes hvidt. Smør smeltes (30 sek fuld effekt). Kom smør og mælk i. De øvrige ingridienser sies i. Bages 20 min. ved 225 C i smurt form eller fuld effekt i 6 min. i form foret med bagepapir. Lad hvile i 5 min. i formen og lad køle på rist. Bland alle ingrienser til snaksket og fordel dette over kagen mens det er varmt.

Birthe's Madside
Her er den nemme "tag med" kage eller kagen til kaffebord i haven:

250 g smør

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




;Primære ingredienser: 
:Solmodnede oliven i en lage af olivenolie, vand og salt. 

;Sundhedsvurdering: 
:Du mister ikke noget i forhold til at vælge dine oliven fra glas. Kvaliteterne er de samme, nemlig masser af sunde olier og rigeligt med kostfibre, der virker fremmende for fordøjelsen. Vogt dig dog for det tårnhøje kalorieindhold. 

;Bonusinfo: 
:Du sparer en masse kalorier ved at lade olien dryppe af. Til gengæld går du så også glip af en masse gode fedtsyrer.
Er der kalk og rust i toilettet, så drys et tyndt lag vaskepulver beregnet til kogevask på. Lad sidde en tid. Skrub med børsten, før der skylles ud. Så er det flot igen.




|Almindelig gang |5 kcal/min |
|Hurtig gang |8 kcal/min |
|Havearbejde |8 kcal/min |
|Jogging |11 kcal/min |
|Cykling med ca. 20 km/t |11 kcal/min |
|Rolig brystsvømning |11 kcal/min |
|Almindeligt løb |11 kcal/min |
|Crawlsvømning |14 kcal/min |
|Hurtigt løb |17k cal/min |
|Hurtig gang op ad trapper |17 kcal/min |
|Eliteidræt inden for løb, skiløb, cykling |Over 20 kcal/min |







De kandiserede skaller kan evt.dyppes i smeltet chokolade og spises sammen med en kop kaffe . Skallerne kan også bruges som pynt på kager og desserter. Appelsinisen smager skønt med lidt kandiserede skaller på toppen!

Brødet dufter, som det gjorde hos mormor, når du tager det ud af ovnen!

Karamelbudding er ikke svært at lave men den skal gerne laves mindst én dag i forvejen. Dette kan give en god fordel, hvis du venter gæster og ikke har tid til at stå og lave en dessert lige inden gæsterne kommer.
du kan lave de lækreste karamelliserede æbler med honning. Brug en spsk. til 3-4 syrlige æbler. Smelt honningen på en pande, og tilsæt lidt smør. Vend skrællede æblebåde i, og vend rundt på dem, til de er karamelliserede. Kom eventuelt lidt limeskal og -saft ved. Rigtig lækker tilbehør til mange slags desserter.
Karamelsnørebånd

Klip karamelsnørebåndene i stykker på ca. 15 cm og læg dem enkeltvis på en bageplade med bagepapir. Varm dem i ovnen ved ca. 100 grader så de bliver bløde. Skru ned på 50 grader, når de begynder at blive mørke.

Tag evt. handsker på. Tag karamelsnørebåndene ud af ovnen én af gangen og sno dem omkring skaftet på en grydeske eller noget rundt. Lad dem køle af et øjeblik, så de stivner og skub dem så af.

Brug karamelspiralerne som pynt på is, kager eller hvad du kan finde på.

En klorin-blanding bestående af 2 dl. klorin til 5 liter vand dræber alle bakterier og fjerner den sure lugt. Bland fortyndingen i opvaskebaljen og lad klude, børster og svampe ligge heri et par timer. Skyl et par gange med rent vand.
{{!!url}}



Læg et stykke gaze over frøene, når du har sået karse. Så undgår du at skulle pille de brune frøkapsler af karse


Kan spises som den er eller som tilbehør. Den grønne lasagne er yderst nem.



Ophave: Camilla Plum
"""
(4 personer)
Arbejdstid: 15 min.
Kogetid: 25 min. (kartofler)
Ikke fryse-egnet

Ingredienser:
600 g skurede kartofler
1 dåse artiskokhjerter
1 rød peberfrugt
3 spsk olivenolie
2 spsk vineddike eller citronsaft
75 g sorte oliven
1 bundt bredbladet persille eller basilikum
salt og peber
1 dåse sardiner
"""

* Kog kartoflerne og lad dem køle af. Skær dem i kvarter.
* Lad artiskokhjerterne dryppe af i en sigte og skær dem hver i 4-6 både. Skær peberfrugten i små tern.
* Rør olivenolie og vineddike (eller citronsaft) sammen i en stor skål. Vend peberfrugterne i dressingen.
* Vend forsigtigt kartofler, artiskokker, oliven og grofthakket persille sammen med peberfrugterne.
* Anret salaten på et fad. Tag forsigtigt sardinerne op af dåsen, lad dem evt. dryppe af på et stykke køkkenrulle.
* Bryd sardinerne i store stykker og fordel dem over salaten.

Til kold kartoffelsalat koges og pilles kartoflerne som sædvanlig, men derudover blandes blot en salatdressing i.
Køb en frossen pakke hønsekødssuppe (1 liter), og kog den op. Kom 700 g kartofler i skiver i og 2 snittede prrer. Kog det sammen 20 min. Blend suppen, og kom lidt fløde 9% i. Smag til med salt, peber og evt. citronsaft. Servér med lidt færdigkøbt pesto og tomater i tern på toppen af hver portion suppe.
Det er brugt i årevis af tusindvis af mennesker uden at nogen helt har fundet ud af, hvorfor det virker. Men det bliver det gode råd ikke dårligere af.

Skær en rå kartoffel i skiver, overhæld den med vand før sengetid og drik vandet herfra næste morgen på tom mave. Det har hjulpet rigtig mange med ledsmerter.
!Kartoflen på retræte
En undersøgelse af danskernes kost,viser, at vores kartoffelindtag er for nedadgående. Siden 1985 er kartoffelindtaget faldet med omkring 40 gram pr. dag.

Voksne og større børn spise knap 105 gram kartofler om dagen, mens anbefalingen lyder på cirka 250 gram dagligt. Det største fald er sket i perioden 1985-1995.

!Blå kartofler
Er kartofler af en særlig sort. I Andesbjergene, hvor kartoffelplanterne har deres udspring, gror kartofler i mange farver og sorter.

I Danmark spise vi den hvide og holder fast i den, sandsynligvis fordi den hvide kartoffel var den første, der nåede os. Vores kartoffel kunne lige så godt have været blå.

Blå kartofler er forskellige fra hvide både i smag og konsistens.

Man kan sagtes skrabe eller skrælle kartofler i god tid, der skal blot lidt mælk i vandet, mens de står i gryden. Inden de skal koges, hældes vandet fra, og de kommes i rent vand. På denne måde bliver de ikke brune, men beholder den hvide farve.
"""
600 g kartofler
2 fed hvidløg
10 g smør
½ dl mælk
1 knivspids muskatblomme
2 spsk klippet purløg
salt
peber
"""

Skræl kartoflerne og skær dem i små terninger. Vask dem og tør dem. Pil hvidløget og skær det i strimler. Læg kartoflerne og hvidløgsstrimlerne i en gryde med en klat smør, dæk til og sæt det i ovnen på fuld effekt i 4 - 5½ min. afhængig af effekt og størrelse. Omrøres et par gange. Tilsæt derefter mælk, salt, peber og muskat. Dæk til og sæt i ovnen igen i 3 - 4 min. omrøres.

Pynt kartoflerne med klippet purløg lige inden serveringen.

Kogetiden kan variere afhængigt af kartoflernes varietet og kvalitet. Prøv om de er møre og forlæng tiden om nødvendigt.

Hvidløget kan udskiftes med løg og purløget med persille.

Denne opskrift kan også laves i et bruningsfad, så kartoflerne bliver gyldne. I så fald udelades mælken.

Kilde: Mikrobølger - nem og hurtig madlavning af Christine & Bernard Charretton.

Udgivet af Moulinex.
Når man har gigt i hænderne, kan det være svært at stå med de nye kartofler, som skal skrabes. Problemet kan løses ved at anskaffe et par hamphandsker (dem der bruges til at skrubbe sig med). Nu behøver du blot at gnide kartoflerne mellem hænderne, og samtidig bliver vasken ikke fuld af skræller. De sætter sig i handskerne og kan rystes af, når handskerne er tørre igen.
Nye kartofler koger nemmere over end gamle. Undgå dette ved at tilsætte lidt smør, når kartoflerne er kommet i kog.
Kig efter på kassebonen, når du har købt ind.

Har du brugt omtrent lige mange kroner på fødevarer fra planteriget og dyreriget, har du købt sundt ind.
Kastanjer er fedtfattige og kan faktisk sidestilles med kartofler rent ernæringsmæssigt. Friske kastanjer skal være faste og opbevares i køleskab - de kan holde op til 10 dage. Den nemmeste tilberedning er at skære et kryds i hver kastanje og riste dem i ovnen ved 200 grader i 25-30 min. Dæk dem med et klæde 5 min., før de serveres f.eks. med koldt smør og groft salt. De kan også koges og pilles. Skær et kryds i kastanjerne og kog dem i vand i 25 min. Læg dem straks i iskoldt vand og pil dem (både skallen og skindet skal fjernes). Kogte, pillede kastanjer kan bruges i retter med kød, grønsager, ris og pasta. Kog evt. pillede kastanjer meget møre i bouillon eller mælk og purér dem gennem en sigte eller i en foodprocessor. Puréen kan bruges, som den er - smagt til med krydderurter eller til en suppe, fyld til fjerkræ eller i desserter som kager, tærter og is.

Kastanjerne klæder dekolde måneder, da de fungerer både til tunge, fede retter og stråler alene som en ristet ssnack. Smagen er hen ad hasselnødder, men kastanjen er langt bløderere i konsistense. Emmer af julehygge.


En herlig dessertklassiker, der serveres lun og nybagt. I Frankrig kaldes den le clafoutis og bages med kirsebær. I Sverige bruger man svesker - så hedder den Katrinblommekage, og det gør den også her. Har du lyst til at lave den med helt andre frugter, vil du også få gode resultater ud af det.

Det er vigtigt at vælge bløde svesker til formålet. Alternativt skal sveskerne udblødes nogle timer og evt. have et kort opkog, før de bruges.

Hvis man vil tabe sig, er det vigtigt at vide, hvor mange kilojoule, kroppen har brug for hver dag. en voksen har i gennemsnit brug for 8,700 kilojoule (kJ). Træk nu 2.000 kJ fra det tal. Benyt en app, som Easy Diet Diary, eller skriv dit daglige indtag af kilojoule ned i mindst 4 dage - for at sammenligne dit sædvanlige indtag med dit idéelle indtag.
Jeg var uheldig at spilde sukker på min varme, keramiske kogeplade. Sukkeret brændte fast og var ikke til at få af. Jeg prøvede med eddike, og efter en time var det lige til at tørre af.

;Primære ingredienser: 
:Røde kidneybønner i lage af vand, sukker og salt.

;Sundhedsvurdering: 
:Bønnerne sprudler af gode stoffer. Konserveringen har ingen negativ indflydelse på makronæringsstofferne, så du får lige så mange energigivende kulhydrater og fordøjelsesfremmende kostfibre og lige så meget muskelopbyggende protein, som hvis du tog besværet med at opbløde tørrede bønner. Andre kvaliteter er jern, kalium og B-vitamin. En del B-vitamin – ca. 25-30 procent – går dog tabt, når bønnerne konserveres i dåsen. 

;Bonusinfo: 
:Alle former for bønner og linser kan vælges i konserveret form, uden at det for alvor går ud over kvaliteten.


Fungerer fint i salat eller som topping til vegetariske retter.

1 dåse kikærter
olie til stegning
salt
peber
2 spsk peanutbutter

Kom olie på en pande. Steg kikærterne med salt og peber, til de er lidt gyldne.
Kom peanutbutter ved og rør godt. Tilsæt lidt vand, hvis det ikke vil røres sammen med kikærterne.
Mange spiser nærmest kikærter hele tiden! Kog hele posen og kom de kogte kikærter i fryseren.
Tag en passende portion ud af fryseren,  tø dem op på bordet i en ½ times tid, hæld dem i en pose og bland dem godt sammen med store mængder tahin, røget paprika, spidskommen, soya og peber. Ind i ovnen på 190 graders varmluft i knap en halv time, mens der røres lidt rundt undervejs. Det er simpelthen så nemt, at man ikke skal til at have pander frem! 

Man tager pølser i skiver og svitser og kommer et lille finthakket løg vd. Når det har fået den grad af farve, man ønsker tilsættes et ordentligt skvæt ketchup og et lille drys sukker, noget salt og peber.
Rør rundt og tilsæt eventuelt mere ketchup.
Tilsæt kog pasta eller nudler og bland det hele godt.

Det er en nem og enormt hurtig ret, som smager godt.


Kirsebær indeholder A-vitamin og kalium og er kendt for deres styrkende og opstrammende egenskaber.

Der findes utallige sorter af kirsebær, men der er grundlæggende to typer: de sure og de søde.

''Sure kirsebær'' (også kaldet syltekirsebær) bruges først og fremmest af industrien til syltning og kogning til safter, saucer og marmelade. Det er også de sure kirsebær ,der bliver til kirsebærvin.

''Søde kirsebær'' (også kaldet spisekirsebær) kan naturligvis plukkes og spises direkte fra træet i sæsonen, og så er de gode som pynt og pift i lækre kager og friske salater. Brug også kirsebær som en lille snack mellem måltiderne, til dessert sammen med modne ferskner og som en lille overraskelse i madpakken. det er de søde kirsebær, du kan købe i butikkerne.

Husk, at friske kirsebær skal  være saftspændte og blanke i overfladen, når du køber dem.

{{!!location}}
Kirsten Hüttemeier lavede et lille hæfte: Lidt lækkert til Jul (julen 1946). Opskriften på svensk juleglögg side 30.

!!Svensk Juleglögg:

Glögg drikkes varm, og den smager vidunderligt, – men den er ikke for ”Begyndere”, den er lumsk, – så er De forberedt, – men bliv alligevel ikke bange, den er god! 1 Pilsner, 260 g Sukker, ½ Flaske Akvavit, 1 Flaske Rødvin (dansk), ½ Flaske Portvin (dansk), 100 g smuttede Mandler, Rosiner, Kanel, Nelliker, Vanille. Øl og Sukker varmes, men det må ikke koge. Vinen, Snapsen og Krydderierne blandes i, og det hele varmes op til Kogepunktet. Lige før Glöggen hældes op i Terrinen, blandes de smuttede Mandler i, og disse kan være grofthakkede eller skårne i Strimler. Glöggen drikkes varm, – men som sagt med Måde.
Kiwien er supersund.
2 kiwifrugter dækker dit daglige behov for C-vitamin. Samtidig er frugten forfriskende på en varm sommerdag. Skær den midt over, og spis den med en teske eller skræl den med en skarp kniv, og skær den ud. Prøv også at komme kiwi i salatskålen sammen med tomat, peberfrugt og sprød grøn salat. Bland ikke kiwifrugt med mælkeprodukter, som skal hvile inden det spises, så får mælkeproduktet nemig en bittersyrlig og stikkende smag. Det er fordi kiwi indeholder et enzym, som påvirker proterinerne i mælken.
"""
Klassisk chili con carne
DEL PÅ       
En klassisk opskrift på chili con carne

AF THOMAS HERGAARD 22.SEP.2014 MAD
4 personer
Arbejdstid: 20 min.
Kogetid: 1 time

Ingredienser:
500 g oksekød i tern (gullaschkød)
2 spsk olivenolie
salt og peber
1 dåse kidneybønner i saltlage
1 stort løg (hakket)
2 fed hvidløg (finthakket)
1 grøn peberfrugt (i små tern)
1 dåse hakkede tomater
1 lille dåse koncentreret tomatpuré
½ tsk chiliflager eller ¼ tsk chilipulver
½ tsk spidskommen
1 tsk tørret oregano
1 dl vand
1 dl øl

Tilbehør:
brød
ris
eller tortillaer
2 dl cremefraiche
1 bundt frisk koriander
evt. syltede jalapeños (stærk chili)
"""

* Tilsæt kødet, bønnerne, tomaterne, tomatpuré, chili, spidskommen, oregano, vand og øl.
* Kog det hele op, skru ned til lav varme og lad retten simre 1 time under låg. Smag til med salt og peber.
* Kog det hele op, skru ned til lav varme og lad retten simre 1 time under låg. Smag til med salt og peber.

!Howdy! 
Det her er de klassiske tykke amerikanske pandekager. De er gode!


Vi kalder dem klementiner eller mandariner i flæng, men der er faktisk mange slags at vælge imellem. De små med tynd skal er gennemgående mere syrlige end de store med tyk skal.

Det er nemt, og det er billigt at koge sit eget fjerkræ som pålæg til madpakkerne. Et ''kalkunbryst'' koges i en time i letsaltet vand og lægges varmt i et fad. Læg et tungt skærebræt med en tung gryde ovenpå, så kalkunbrystet bliver presset og får en fast skærbar form. Når det er afkølet, stilles det på køl, og der skæres tynde skiver som pålæg, tilsandwich eller til salater eller som kød til en pastaret med tomatsovs.

''Kyllingefilter'' koges i 30 min.'' inderfileter'' i 25 min.
<<tabs "[tag[Kogebog]]" "" "$:/state/tab1" >>
Du kan bruge oksebryst i stedet for cuvette, men den synes jeg, er rigtig god at koge.

Er en god basis-guide til madlavning, hvor du f.eks. får hjælp til at løse sovsens mysterium. Alle tiders side for nybegyndere. Der er opskrifter på alt fra etniske lækkerier som humus og falafel til mere traditionelle retter som frikadeller og boller i karry.

{{!!url}}





Uhmm . duften af nybagte pandekager er svær at slå. Denne opskrift har fået et sjovt lille twist med appelsinskal i dejen og drys af kokos, begge dele noget, der giver en fin smag. Du kan spise dem "naturel" med sukker eller, som J. Lindholm foreslår, med en kugle vanilleis, frugt kompot eller frisk frugt og fine striber af en god honning, du måske har hjembragt fra din ferie. Mums, siger jeg bare ! Bagte pandekager kan fryses, så de ligger klar til brug.

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









;Primære ingredienser:
:Udkogte og mosede tomater plus salt. 

;Sundhedsvurdering: 
:Koncentratet bugner af immunforsvarsstyrkende antioxidanter. Først og fremmest drejer det sig om lycopen – et farvestof, der er i familie med gulerodens betakaroten. Men du får også en del E-vitamin og C-vitamin fra puréen, som alt i alt har potentiale til virkelig at sparke gang i immunforsvaret. 

;Bonusinfo:
:Gå efter de små konservesdåser, som du bruger i ét hug. Efter åbning taber puréen nemlig hurtigt næringsstoffer, så du går glip af en hel del vitaminer, hvis du over flere dage bruger af en større dåse.
;Konserveringen koster næringsstoffer:
:men tabet er faktisk ikke så stort, som mange tror.

;Moderat til stort tab: 
:Gælder især B-vitaminer, C-vitamin, magnesium, kalium, zink samt visse antioxidanter.

;Intet eller minimalt tab: 
:Makronæringsstofferne (protein, fedt, kulhydrat), kostfibre, vitamin A, vitamin D, vitamin E, jern, kalcium og visse antioxidanter.
Det er ikke altid lige let at få indholdet ud af en konservesdåse uden at skulle grave det ud. Problemet kan dog løses ganske enkelt: Når låget er skåret fri, vendes dåsen, og med dåseåbneren laver man et lille lufthul i bunden af dåsen. Nu er det let at få indholdet ud.

Har du en kop eller et krus, der er blevet misfarvet af f.eks. kaffe eller te, så brug koppen/kruset, næste gang du skal opløse en Treo-brusetablet. Foruden at tage hovedpinen fjerner den de grimme belægninger på koppen eller kruset.
|Lille drikkeglas | 150 ml|
|Mellem drikkeglas | 200 ml|
|Stort drikkeglas | 250 ml|
|Hvid-/rødvinsglas | 150 ml|
|Ølglas | 330 ml|
|Hedvinsglas |  60 ml|
|Snapseglas |  20 ml|
|Kaffekop | 150 ml|
|Tekop | 200 ml|
|Krus | 250 ml|
|Plastbæger, kaffe | 150 ml|
|Suppetallerken | 250 ml|
|Kaffeske | 3 ml|
|Teske | 5 ml|
|Spiseske, stor | 15 ml|
|Knivspids (unøjagtigt mål) | ca. 1/4 ml|
!Skift kostvaner og lev godt
''Vidste du, at humørbarometret kan komme i top, at du kan få mere energi, og at mange gener kan afhjælpes, hvis du blot ændrer få af dine kostvaner?''

Din kost har stor betydning for, hvordan du har det både fysisk og psykisk.

Mange - både voksne og børn - har daglige gener som træthed og hovedpine. Men hvorfor være træt og irritabel, når du ofte kan undgå det ved at ændre dine madvaner en smule? Grunden til din træthed kan være, at det naturlige syre-base forhold i din krop er i ubalance. Når din krops indre balance forrykkes, kan det være fordi, den mad, du spiser, enten er for sur eller for sød. Det resulterer ofte i gener som humørsvingninger, hårtab, eksem, svamp og sure opstød.

[[Syredannende kost]]
''Vidste du, at humørbarometret kan komme i top, at du kan få mere energi, og at mange gener kan afhjælpes, hvis du blot ændrer få af dine kostvaner?''

Din kost har stor betydning for, hvordan du har det både fysisk og psykisk.

Mange - både voksne og børn - har daglige gener som træthed og hovedpine. Men hvorfor være træt og irritabel, når du ofte kan undgå det ved at ændre dine madvaner en smule? Grunden til din træthed kan være, at det naturlige syre-base forhold i din krop er i ubalance. Når din krops indre balance forrykkes, kan det være fordi, den mad, du spiser, enten er for sur eller for sød. Det resulterer ofte i gener som humørsvingninger, hårtab, eksem, svamp og sure opstød.

[[Syredannende kost]]
!Koteletter med fyld og smag
Koteletter er nem og lækker mad. Og med et krydret fyld bliver det rigtig festmad.
Bed slagteren om at skære koteletterne ud i den størrelse og vægt, du vil have. Okse- og kalvekoteletter kan være både til 1 eller 2 personer. Beregn 200 g til hver, hvis koteletten har ben, og lidt mindre, hvis der ikke er ben på.







!Sådan koges krebs

Kog supermarkedets importerede krebs, som godt kan gå an, selv om friske krebs er de bedste - og også har de mest kødfulde kløer.

Krebseavler foreningens opskrift: Krebs skal være levende, når de koges, hvad enten man kan lide det eller ej. Det er sikkert at krebsene dør omgående, når de kommer i det kogende vand.

Eventuelt døde krebs før kogning skal smides væk. Krebsen indeholder nogle enzymer, som bevirker, at den meget hurtigt går i forrådnelse. og så kan den give maveonder.

Til et krebsegilde skal man beregne 9-10 krebs per person. Til en forret behøver man ikke så mange.

Tag en stor gryde - omkring 10 l. Fyld ca. 8 liter vand i den, og kom følgende i vandet:

"""
2 dl salt
2 spsk. sukker
1 tsk. hele sorte peberkorn
5-6 store dildskærme (Vigtigt - og de må ikke være afblomstrede.)

"""

Få vandet til at bulderkoge, og kom så krebsene i hurtig tefter hinanden og så gryden i kog igen. Kog dem i 4-5 minutter alt efter, hvor store de er og regnet fra det øjeblik, da vandet koger igen. Sluk for gryden og lad krebsene stå og afkøle i lagen. Skal de bruges om aftenen, bør de koges tildligt på dagen. Det er meget vigtigt, at de står i lagen så længe som muligt, da det er i lagen, at den fine smag udvikles. I 8 liter vand kan koges 25-30 krebs.

<<tagging>>
Under og lige efter 2. verdenskrig var der mange ting man ikke kunne købe. Men kreative husmødre fandt på råd, så der kunne serveres godter til Julen.

En af de ting man ikke kunne købe var marcipan.

Men marcipan skulle man da have i julen.
Under 2. verdenskrig blev havene omkring Danmark efterhånden fyldt med mine, krigsskibe og ubåde. Det begrænsede selvfølgelig mulighederne for at drive fiskeri i de danske farvande. Men nød lærer nøgen kvinde, at spinde, og de besatte danskere var kreative. Man fandt ud af, at lave erstatninger for kaffe, the, tobak … og fisk.

!!Opskrifter på erstatningsmarcipan og falsk chokolade

!!!Kartoffelmarcipan:
50 g mosede kartofler, 350 g. flormelis, mandelessens, 2 spsk. salatolie.

!!!Marcipanerstatning:
200 g. havregryn 60 g. sukker, 50 g sirup, 50 g. kakao. 3 tsk., mandelessens 1 dl. kaffefløde.

!!!Havregrynskonfekt:
150 g. havregryn, 100 g. melis, 50 g. kakaoerstatning, 50 g. smør, 4 spsk vin eller eksportfløde, 2-3 spsk. kaffeerstatning, mandelessens

!!!Falsk chokoladeovertræk:
1 spsk. Ukrydret fedt, 25 g. kakao, 25 g flormelis, 2 spsk. parafinolie, 3 bl. husblas


!!Sådan gør du:
Vask urterne, og dup dem helt tørre. Fyld en flaske med urter - jo flere, desto bedre. Put eventuelt hele peberkorn, laubærblad og lidt chili i. Hæld eddike på, til det dækker. Lad kryddereddiken trække mindst 1 uge, før du bruger af den. Holdbarheden er nærmest uendelig. Fjern urterne, efterhånden som du bruger af eddiken, så urterne ikke stikker op af eddiken.

!!Egnede urter:
Estragon, dild, timian, kørvel, løvstikke (mindre mængder), merian, hvidløg.

!!Tip:
Eddien er oplagt til salatdressing, men du kan også bruge den til at efterkrydre en gryderet med i stedet for at bruge citron.



!!Sådan gør du:
Hak 1 dl krydderurter (for eksempel ½ dl persille, ½ dl purløg og en lille kvist løvstikke) fint og rør dem sammen med 100 g blødt smør og 4eventuelt et dryp citronsalt. Læg smørret på et stykke bagepepir og rul det til en rulle med en diameter på 4-5 cm. Pak papirrullen ind i stanniol, og læg den i køleskabet, til smørret er stift. Urtesmørret kan holde 4-5 dage i køleskavet eller 1-2 måneder i fryseren.

!!Egnede urter:
Alle bløde dele af kørvel, dild, brøndkarse, timian, salvie, oregano eller mynte (prøv myntesmør til en rosinbolle eller en lammekotelet).

!!Tip:
Brug kronbladene af morgenfruer til at giv4e lidt farve til dit kryddersmør.


Dyre krydderurter smides ud i massevis. Vi bruger halvdelen og lader resten visne. Her er nogle nemme tips til at få fuldt udbytte af de dyrebare vitaminbomber.

"Det bedste er at hakke eller klippe masser af krydderurter ned i sit yndlingssurmælksprodukt - det giver en vanedannende og sund dip.
Man kan også fryse, tørre eller salte urterne, så de holder i længere tid."

Når man køber økologiske krydderurter slipper man for at skylle dem for at fjerne evt. sprøjterester. (han tror ikke, at det er billig arbejdskraft der høster uden adgang til toilet og håndvask.

Faktum er, at skyllede krydderurter har 20% mindre smag. Skyl derfor kun nænsomt for vand.


<<tagging>>
Husk at redde dine krydderurter, inden vinterens frost ødelægger dem. Klip dem helt ned og dæk dem evt. til med bark eller gran. Tag de grønne krydderurter med ind og rengør dem, hak dem og frys dem ned. Så har du friske krydderuter ved hånden til madlavningen, også om vinteren.
!!Sådan gør du:
Brug 1 dl friske urter (uden hårde stilke) og 100 g groft havsalt. Vask urterne, og dup dem helt tørre. Blend dem til mos, tilsæt saltet, og blend det sammen. Blandingen må ikke være så våd, at saltet opløses helt. Tilsæt eventuelt ekstra salt. Tør saltet i solen eller i ovnen på bagepapir ved 200 grader i en time.

!!Egnede urter.
Persille, kørvel, timian, basilikum, rosmarin, salvie, oregano, citronmelisse, løvstikke (lille mængde), mynte, purløg(kinesisk purløg, fennikel, dild.

!!Tip
Bland gerne flere slags krydderurter eller krydderurtesalte. Tilsæt eventuelt hvidløg eller citronskal som variation. Hvis urtesaltet klumper, giv det en kort tur i blenderen.
Disse kartofler er geniale til et middagsselskab, da de kan koges i forvejen, så de blot skal lynsteges inden serveringen.





Rigtig nem mad, der mætter godt uden at sætte sig. Giv en toast med ristet skinke som tilbehør.




Kvinder er tidligere blevet rådet til at spise mere kød, fordi de spiste mindre kød end mænd.

Undersøgelser vist, at mange kvinder manglede jern. Protein i køb fremmer tilgængeligheden af jern. Det samme gør C-vitamin, som kun findes i grønt og frugt.

De kvinder der kan få problemer, har måske fjernet kød fra deres mad, mens de i øvrigt spiser videre som før af en ensidig kost med for meget lyst toastbrød og ost. De skal huske frugt og grønt til alle hovedmåltiderne og spise mad, som indeholder jern, dvs. fuldkorn, bælgfrugter, grøntsager som spinat, bladselleri, grønkål, rosiner, nødder, mandler og frø.

Kvinder behøver ikke at spise kød for at undgå lav jernstatus.

Det vigtigste er at spise sundt og varieret.
Retten laves traditionelt med æbler, men kvæderne er mere robuste og koger ikke ud på samme måde, så man bevarer lidt mere bid og struktur




Læg kyllingefileter i et smurt ovnfast fad sammen med kvarte tomater, grove tern af courgette og løgbåde. Drys med oregano, smuldret feta og skiver af hvidløg. Dryp med citronsaft og lidt olivenolie. Stil fadet i ovnen ved 200 grader i ca. 30 min. på midterste ovnribbe, til kødet er gennemstegt.

/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCADDAPgDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDyz4f+GIVe5l1PT2bCp5QngwDndnAYc9B+ddl/YGi7SBpVkcdf3Cn+laENsYVOGdw33QxyB9Kk2gofXqSK4MfjFisRKrCCgnbRbKyS6W339T6ujhlCCjLVmRJoGjk4GlWPHb7Oo/pWTq2i6asbbdNtAexEKj+ldU6hRkk8561WniMgOeVA54rinKVtGdVClSUtUeV6vpkA3KlvGuOeEA/pXIapYuCShI+hr2TVNLWVHJQZ9a47U9JO9iI8+1csMROnL3j155bQr07RR5hePdxDaHcY9DVNbq5VuZpff5jXbalpeQcoOK5+90sA/dxXrUcVCasz5XHZPWpSvEpwXbn/AJaMT7k1cs7hmYjOecnvmsme2kibjPFEE5jb5s/WuiVNSV4nnwrOnLlqI7i21iwstPee5s45GX7qlB8xrC1HxRPdsy22n2tuG/upkiqsVzbXEfk3DuyHsDjmorme2itxFAgVhkZHU/WsqcOXRq7NKz5veUkkJdG+htkka6lDOegkPFdH8OdH1DX9ct4mac2qNumfccYHb8ar+ANPsdS1OOPVQ7xg/KucA19C6Jb6dZ2qx2NvDBGo6KAAKJzsuXqXRw6bVTp2Hx+H9FVNp0u1O0d4hmpxoOhhd40m09T+5FXInVwdpBXJ5zxSuyIgJZNvXrWd2dDhHsefePNJhv7f7HoFpZRyo+ZSoCuO+BiuStPDGrW7A3COf+BkipPGur3Hh3xXeXVuFkSdg6Dt712/gPxXZ+I9MMj2wgniG1wTwT6iptfcTkobK5lad4fYhd9sCenzVqy6LaQbPtFgquexXg1v2d3DNLNJHNHshXJbPT9amhlgv45baWYZK/K/HPv9Olc8sUozUVt3NVhHODk1quhzD6daIpkOnxhV68cVastP0q9i3LZxJtGOBT/OEkAUTYYHbgc5qzaWqpBvhmBUn5geP1rrRxuETmrrTbTz3jSLaVPHJB/nXMatp18jHyJpV9PnI/rXbXskS3P7xcPUVyInQhULMVHvSuXyxvoeV3X9rwtxNcfhM3+NZt9e6ynS8vV+kzf416Ne6cZskbvwHFYt1pBwwYHIpp2G6alocJ/a2ug8arfj/t4f/GrtlqGtS4D6re7e/wC/f/Gt6bRI5FwCAfbvU1hoojIHlnFTUrK2iKo4RKWr0Nb4e2eoan4gt4nvLx4F+eQNM5BHvzXtUXh7S9+PszH/ALavj+dcn8KtPW2WW5DFGYY2/Su+W4jVgvQHO1u1FFPlux4v2fNZLYzLrQtHS3kdIpVIjJ4mfg+vWitCaRZrGban8DAHjGf8/wAqK3S7nDJRMEk4GUP4UqNuypU4PcDNbV5fxR2hNjY2zOvJ3oCcfXvXJXuqSm63u5RmOQB0H8q8mtXjD4NT38O5Vfi938zWaNmOFV8YyR/XFRyRSRoAeFYdD/KsWTXxE4kdjwOSPWtKDxNZzQjeqvuHBYD/ACK5ljUvjVjodCa1hqNlgLAhcAD2rK1DTFk3HaPxFdnpcml3MJ823jZ/ZiD+lWxpWl3MeEaeAkZzwy9a2Tp117rCOOlhn7yZ43rGkMqsNg+vrXNXWlFj9zj6175eeD3njLwXVvOvYH5Sf8/WuR1DwleJeLFJFsVjguPnC/kayqUatF3SPWw+Z4TExfNJaHjd5pQBOUz+FYF/pLZJRcc19Aaj4Gt43VTePsbGD5GCM9zzyK4bW/D9xZX9zaGMyGFvvovBXsfoRW9LFVKb1OargsHjlamzyk6bKD0qxb6a2eVOc12LabhuF5pFsWVvu10vMG0ccOGlCWqKeiWpt5Y3RSCrA8V7FodyLi23qGVdozjmvObC2ZHXAyfavQvDTbbcIRjn8656WIcqh243LFToK3Q6KMOYWKrhcYzjAJqxMgbcu0j91/dyM+tLaOrLs5HsO9XCrMnAbGMAnmu1TPnpULM8t+I3hb7Zbpe28bySd1AJzz6VT8E+F9Q0u1mmu5Y4UlQ/usZZfc//AFs16N4jSSaKO1hJyzZADc4+lc5dIYIzBO7vuUjYOGf657Z7V52IxEk3FbHo0KSlGLe6Mf8AtKazu1jgeOPDABu3Pf6c13ViluEt7icRqVznAAz+VcVpOlo7yfaFBAOdpHIx/Stuaym/sy5trYqjyxuIlDYG7HynPbmsKNTldjoxtBVIrk3X4lua1ja6AjZfLBzjHanPbxQnc0rRozg4J6V5lcyeKL2L7MokgPRnU4Y/jVHUfDfihbfzZrm8lVepLsa9b61B6HjvJ8Sldo9N1a40yESM17AnIwZGHNFgdOvFf7NPDIAo5Rgc14Xe2F2obzi7H1JJqvYT6jp0vmWlxLC3fa3WtozUldM5qmFnTdpJnvc9moVymCMDoKzLqwVtxZSPl5wa4zw98QL2ArFqsIuI/wC+ow1dU2u6PPCLu3vArdWVmwR7YNTKXccaUk9Nhh0to3QrF1XOao3QaN4oUAVnySfQVFe+LmmVorOLvjex7U3Q9804eVizHueea4a9aysj28Bl0pvmnsj0bwq3laXE2c7eD3PPeuljXzESBGPHJyOn0rD8ORg2u3Zu3D0roIpGRAgJ2jgZ6iu+hP3EeNjKLVV2EKFdMnbLABXzjjtRUl1Kv9m3BbaT5TcAAdqK2TucUotaHljeKri2YCOF5Yio3S78bG7cY/wrHsfElzfXM63ypFOis2BnDBeoA9ce9cv4X8RLIYTO7B8eXNjv7kd807xQNspmtyFJ6FP8a8inhlD3WtTTFY+pGopxfuv+vwN7Stfh1x5YSjQTAZVCQd2B1HvUNprH2XVJYJo8xx7huBywI6+2K4KxvpLOdZ422unQ1p6fIv7oAjIBzWlXDRV3Y51mddRST1PbNGmcQxzxNJNGfmGB94Hp1rqbO9IDI5KbFLAHgCvJfDPiS4hv9L08Iv2bcI5WbuTnGD2xx+Veiy3MS3HycjbjPauOUPZxckevQrrFWV2Q3PiS4yNsrKpGSQOO/FQS61LNAjl5XfPKIRisEtAc5lc+acvg424rR0/7EJFSFS3Q4J3c1hDmlZyZ2OMIXSRdi1trqJoUMq4ThyO+Oc+9bfhgyTWYSXJJ4VmHX/EVg3KYfbECG4Yc/Xr7Vu+HLr7ZEqNvDgYkAHAOeua35bTXMTKadJ8hja14EfULya5097aL5uYmbbzjscY5rnNQ8Hazp+XubCYIP41Xcg/EcV6fqtrLGgmguXSRRkn+Fh7iqMev6nbEdJVHHDYrrWDo1I7tM0ocR42g0mlKPnv955pbWXl9QB+Aro9KG0ABVFdXcaro2olRqGmxrIThpPL2t9dy9ajOmaXIA2nXUkbHpHLg8fUVnHLasJXg7noT4mwuIhy1YuL+9fgQ2j/OFKkVN5s6+aEc7V5HfNNFpd2wJMPmqP4omD/yqK9vzb2M9xMpUqCqtj14H6kV18sqabkjx51KdV/u3c4vV9Wu7268+JGRWI2AjrirllbySzm9mVmLjdlj+nPpWjpzWxMYjhChQAOmQc1YG9vOU5BAJ9Ov+RXkxjzNyO6VVJcsdF+hDFCxl8xQAu3PTJB/xqZJikZjl2YaQKdgwQeucH/PNR2Us7W7lgUUP8oYgk5xj8Kq2d5dXFxLBKiMofHyrnp3zSbatoEFdvU6s21njIiBOO/ellhgJKeVhSOeetN09JDZRKzZJHcfhVhIPmw7H6k168FFxTtuedOpLmtfY878XeFEnczwKqk5OBiuEufDbeYRtORxXvlzaxPGV4x/WsO40WJ5NwTNcVanODvTZ7+CxlGpDlxCvY8Tu/DU0UYkCH8ulZ7abNE2CDnPSvoj+yLdrYKUVgRjDD9KwNV8OQtJuVE+VewpynVgtdSqUcHXnZe6eRWdlIG6d66XRA8MwjYEgnsenNbk+jLC+SnfPA4qS0tomfyyNvuB7/WuOVeVSVrHrrDUqVPSR1WhGRYAOAp79cVreafJ3HnKnFV9FWIWwjZWzjHTitRhtbAHHt1Br3qSaij4LFSTqPUozH/iX3DMx4iYc8HoaK0LuBH064lY7R5LYA5z8veitYnBVS0PjdXltZyy5yeorZ07WhdILKVSAR8pzkj1/Cl1jSpY5WC5I6ggVzlzDLbTZBYYPDd6IqFZeZ5ilJw5eiNmeANcmLIBc/Ke2aLO7KlQSRjisuO6lkILSfMvr1NLHNl2Y8U3SdrMjY6zSdUEGo20rPkLMj9emGFenXWvQSIY4Z/MJPytjFeJ6URJfxBuQGyfwrs4FYoCsuCDXk42irpXPoMnfLCTt1Oig1VUDqGXcw78citPQvOuLwNECwY4YjgZ479q5cxxExlJS5IG/PY11+gXH2ayjKj5A+9/9o1wTUaep6sJOV0kdhGlvbjzry1G6McsGyCOtLa65bsFWJRHGvQe1Ul1K2ldpesWApwnHTFcPqd+sFy0ETYRlLICehz04+lYzm5v3Ga0cNdtTR6z/aim3QiTcP4kZs5U1kXckalXjkIil+YLn7vtXEaN4hktQojJD5612ukSx6ugEp2x/ec7ed2e1dOGxMoztPqY4zAqEOaKK0zxMQpXP0PX3qsfLiceVKY8/wAQY1t3WhwiKR7SZmYHOxlHI56HNYrWrAZPWvZjUXRniOnfdGppN7drKQZ0KLznnNO1ye8vWEhSN4SQMcE+v1qlp1sHkw7IEC55JBJrcjtY3jEkaEAnuc1zV6jqpxcml5G9GKw8lJRTb7mBHG0VzHiJmULzg9qt38kdurzdVZQuewHY5rUliAQoSgJGBgd/eql7ZI9jJGPmHRlJ9+3pXNyWb5TsVXmScl/wxQ066WUrC0SyBuRgjnHX69qlh09oplaCBShbO3+Ieq46VDFFDayouAHfoSPauihkt42V3jB44Oefz+mKiMVNtSexpUqOkk4Rvcz49ZtNPvItMuY5YJGyBI5AQ+nOe/068Vm+O/FM+ixRw2qRyXUnzDfyFX1IB59vxrR8SX2j2SxapeJ80AKoxOScjOMd/b615HrGsHVdRmu5OrH5U9F7CumdVxhaJ5VatKKd92dS3jfXb/WYbbTbeHyn+QK65JY9WJzwBzx6V2Ws61pmj2wm1C5WMMMDGWJPsBzXk+mauujedPFAJbl02oznhM98Vh6le3N5em6vJGmkbu5/T2FKnUvHXczWNlBaO7Z7vo2s2+raWl3bI4iZiAJODwcZxU7bHyHAXGc5GK8o8DazqQ1y3t9/mRTt5SxM+2OMHuB68elerRwMPM3bSygDAPH+TXRFxktTsoYh1FdGZewRyxkeg5wetZ8NpHHIFyOvPP49a3pLXcpLZ9iBVeSzcPhSp7cD2rKVCLldHr0cdONNwZf0+KOJVJxgD15/GrzSRM4YEEkHIB54/wDrVmLbv91h8vJBqZYjjYWRfoK7qex49bWV7E96wGkXKpux5b5BP+zRTbtPJ0i6b5B+7bgc5+U+tFaI5Kj2PFL3TVlRA0iKGHyHIIb6EVz19oEF47xyyeRMBjcRlX9/rXpKWVqJHjktoYp9uSrJgOPUN3Fcp4hiiR5FSIKMHBz8ua4m5U2pI8206EmmjzbXNAvdKAllUNETgOhyP/rVmE9xXcy6lLDE9tdQie1bgkjPHtXL6vYRxyrJYv50MhwoH3lPoRXo06vOtSZJPWJFppdSzIBkjAya6DS7xtqebkc9651ke0ZUkOMjJ9vapBesGUIenSsa1L2h6eFrRpRWp6boUMU0sYnDrE7fMyHJPGcVsSzJB5qwptjPHzE+lcL4a1WZ7drduq/ODnrXUNctPCroyiTA3AnrXiYmlJPlZ7GFqQvdsma8kijZIwQuPmA7/lVbyYNQjQZ8uYcq3Ue46VESxzuIUgHg1BDvjkV1bGOawhFLY7XVb2HrbXVvN+8QkA8FehrqtF1lrZAisF56Z7UujT/aYTCFTzHG3aen1qrf+F793WaORV+bJCnH4Yq3TU9TGWIb92R2em+JbZC32hQcjqT0qzqFxZXSiePcDL8oYEAD6ivLtVludLdRLg84Y5PAq1oeswyzRrMxEeRnHpRGdWC0JeHpz947GGYLNKHYKo4961rN02JHC7t0PDcf561y+tSxXGou9qcrsA3DgVf0+71GCALFEIo+SzscbhgVaqNSfY5qlPmS1OqjidpSuzDYOF61FLZzmItubkjOPTtVbR9RkaZsujsrcgdMDvWjfXhWMMMoSCSQ2AeK66M7x5mjkqxkpKMWYutQyJEJDCXbd8pUYIPrnpUOj3YmcRXQUSRrlcZx7fQ8VuG6F1pznCSNGASw57ZrnHEkNykqKUBbBOOMZrlxClGXOtjvw04zh7OS1RzvxTunbRTsif5ZAC2fujOc/icV5rbahHAwJYGvTPjDd2J8OLCqsZZZE2kZ425JJ/P9a8deFpMGElz6ZzXVhaUZU/eZ4uaXeI91dEb8t9HPhlbj2NX9HsDfTj9/bQjOCZn2/wBKwLHSb4gSCB+fTHP6103hrQdTu5GNwzWkQxklQxP0Gav2KTtA4ownfVHovhLw22kObhjDNIxHl7UB2++7Gfw6V1DSSRnACs2egHB/Gq9nqGn6d4TW1ghZnt8Ro753Ek+vTufpVZ7yWaELEmC3+1jk1x46pKjJKB7+CoxqU9VZGs4lYSTAFdvO0HIqFhK+MsWAwelSaZcTRQj7RGCrfKSck4qyWKFmjGVGMEcZ967MLV9rDXcHH2b5b6EDCUnI37QM8dKbIJtvCtvbg+4xU0blzuaPJUdD0NSsxDJtXCnls85PtXWm0ZySepTuWcaTe7mZQIn/AFBoqfVmC6Negg58iQcc7vlNFaRmctWKTRiX2nW93bGGdCVzkMDhlPqD2NY9vpcFpP5WpwLNGxxFclflPsw7H9DXTK0SZZ88cHNIXglR0lVJIyMEP0IP1rgp1HE9zF4GniF72j7nG6loF3c6k1rHpf2m3Y/JhBjnvkmuG8WeBtUikd0tJNPwuQvUMfqD/KvZrW8n0ZtsX+k2WPmTOXiHqP7w9uv1raSfTNWsx80dxBIO56/4GvQpKE9Uz5bEYOeGnaSPjq/gurR2truNgVPBaqSttcV9DfE74c2lzbte6axZgOVHLDHr6ivBdX0640+5aOZCMGuldjG73Rr6Ve/ZTGSOA3JHoa6uG6BAfdjAHOeMV58rhoMhznGKu6RfMXW3kyyk4B9K8+th+a8j1qWI2id4t6LhWOfmHPTrRDJvBXBH8qx4LVtgZLhYz+Z/Kr0UgRdjkAgdfWvLnSS2PUjUbWpsWl1JbyLtOD0zXRW+pXBg+aQkkcn2+lcbb3JDYf7vX6VrWl0fNChlKdcnvWTXKN2bM7xdJJcswwCAclsY6VykNzNBcZ3cA4wK7/UBZyQOZMlsfdWuF1mJYbshVAHXAORXThmmuUcuZe8tj1LwnciKxtnlgWSSRQzFxyAemPwrpLq3juVDWjMdy5Ck9fpXn1jqQjtoNz5bYNvsK6PRNYjWSKIyEE4Uegrlck3yyWhbw9R+/EvaVeyWmp+XNG0TYwQy4NX5dSS6ieGUPGCdoIPQ1Ye0hvbYNIo89SSrqckH/CqMtnDNOjSSLGX+8T0Y9KqMXBWWxhzc0r9S1oElvb2sy2qMDI26U7B856ZP6VVn1JCjxhGL/d+UcCp7OwvLWBY43WVF43I2cfX9K04o1aNl8khpVILYBA9M9DWS52uV6G94p8yZ5h4tWa4Cw52LFy2R3NcTd2KpNuJMEqn7wJAP4gYruNc0fXbHVprTct7G2Rk4UsDn+h/SuQvBe2Fw0bRv5YHCS9vavQw/LCKjFnzuLo16lWU5dS/4R1e6OorYXUayR/3xjcvHt1rvYr2KCDc2MduevpXk6m4luUkskEMwYEFW6V6HLJA1rGJZCXwCfwHStK9WNOF+p1YGjVqNKS2Na5vpmSJZiPs7MCApyK2LW5hG04DrjkcZ7VxjzK2E3ZRT8oPFbOkzQN8lwzjuu014js3qe/KMlHRHa6df25hGXUBDgDHzemMV1Omrol7ZBUlEEiqASeQT647V55beTDdLMkykbsHcueMHn9a0L/yokSaCXYzjBIPp0r08BUtNqWp5WOjLlTi7HWahpkkMO9YhNET1QZ/TtWYbosVRY8bcDOOlZEHiy+0+1mBP2jClsbsEkfp2rO8E+PLTUNUntvEaosc7s0M2drLk8R8dQB0r1Jukmle1zzI4ycX76udFqOG0S925jIifvz0J/wDrUVpa7p1s+iXstjerKot3IRzg42nuBiitFSki6mIpzs0zm3RHjOXHPGM4qN7d1wyMozjqevarEaA84X65pGaMA4wzZwCeleWmz62UYsiW3ldiXbcQBjI7d6py6fNDcG4sZxBOTllAO1+e4/r1rWjwwHA69fb1phIXceMHpg1pGcou6MqlCFSPLJaFaw1ZJ5fslyv2e45wj9G+h7j9axvHHgOy1+3klhWKK42/LgcMcVq39rBdR+VKgYZ4x1HuPSoLa/vtJdY7gPeWYPDg5kT/AOK/n9a7qWK5tJHz2MyqVP3qWqPm7xN4f1Pw5fPa30Dx8nBxw30NZUUrRncpwRzkV9aanZaL4o0nypoYbqJvUZK/1BrxLx38K9Q0syXeiB7y1HzNF/y0T6f3hXWmmeRrFnBwavexPuEmfY1ctNWuJpctksOnsKxSpjk2yowwcMDwakS4ZThBtHtUToweyN6OKnF3cjsbXUhvBY4Jx1NbEGoLtBBHHSuDidpf3ZOcc1KuoTQAxgl17c151TB82x60cZFataHbXF+HXJYEnrXO6nK0t3iNcnGMAVlf2k0rAFtmeK2NDjjku0JIbHLZPT3qVQ9guZmtKtGu1CJtRyTSRw7k2uqqrfUCr1i8scvzA4ByDjNX7S+t4k2GJGTptPYfhWxpElvI6L5SJgjOefxry6lRvoezTUaa1Ou8JvLdaWGfafMOeT6f5FWtbsfMjZ/lULkjaPeqWk3RgzHGEwDgbegFa9xPI8Txsyklcc/5+lVGbcLM8yaiqt0ZGhwSPJJAz4HHGOvP51plZLSfZM7FeD83Yj0PpXPW9xcJKUCEMGxn/P0re+3sbfbdBdxGMjpj1pU6l42fQc4JTv0KOtu0sSy7l25yjbeRz6/Q/pWbr2nx6jpEiMkaztESHwM5x61fv8fZFii2ysCcAGsqfV7c27Rg/Ofl2ken8qmjLkbTNKtNTV0ecWiPbzbipDI3p0xWgLxmfB55+tZWsXohmuHjAwHJx6CqtldPKFduCRXXVpOa5i8HKMU4dTpvNLIAwI7Vu6HCkqkFseh9a5W2mJQZ6CtbS714mXnvx71xShbdGlSb2TO6gtZRE0XllgQMNVXVGmjkUHIAHHvVrRNYgKfPId/HXpVXxPtGoJKpyrpnOfwrtw/I2uU8fEc+vMc74mjuGs4rqF3DRtkkHseK5ZY3YjdjIq9rM91Brs0oLqpAG3dlWXGOlU5HAZcH5eoAbtV4h3loeDN3kzZuvFGrafpywW8nytGyyhucggjA/DvRWBfSGS2dThSsZGfWiunD1pyjqyG3c9Z/tK8SIZ8onOCQoxRHqt2zAmKNh34qsJoHXG9G9Bmno8SqCVz9K7uSm+h2/WK8dVJloaxMIF3W6gE/eH/66Ymsx+Z8ylRjkk/40zzIxHjIx1wKgkEEn3TgH1pOjTfQ1hmOIi/iLsd/E/K4GcdTirDTrJEPlDow5/8ArVhGCBCVVsZ9BTkkaM8bsDispYVdDtpZvLaaJLpZ7G4a7sWaBweSvIPH8Q71o6b4jguSsF7EtvckcHPyP6YNUxqESqFkCvk5yB/MUy8tLO5id7YxsGwTGelKEpU9JDrUqWK9+k9e3Ui8d/D/AETxIvnCNbW8Kgi5iAyecfMP4v514Z4v8Ea94akLXdsZbUn5LmMZQ/X0Psa9usNUvtNkCJIbi3TrFJ95foT/AFrrNN1jSNWge2cIWYESQTL8wz6g9q7I1EeLUoSg/I+SLOcxXAZumCDmpmKOSevNe4+NvhBpeqtJd+G5Usbg/N5LZ8pvp3X+XtXjGu6Bq/h2+NtqtnLAc4ViPlb3B6Gm4J6odOs17rM2cDJPSug8MXqppV1BjMu9W3Y/h6VkmJZY+nNXrHT2t7cXDTkGUfcHYZ71z13GUOVnfg4zjXUorQ2Ybt9wIkAOecjqK17PVHjmRQSMjOa5EhlKspIz696srcsBt6SAcHPFefUw6ke7HE3vzHrWj6wwEMqhCG5fOM+/vW+2owlN8cg2nJxnn3FePWeuCCEJIxYrzheK0IvFUIO1gQSOea4ZUKsdEiWoN3Uj0SXVyTsQBNzY3Hmm32oSNLtXlVGcAfrmuCk8UW6hUiUuf4jkYq7b+IXmUCDG5l25ZRgCsVSqJe8i1DmfutHRTao8CkgsJR0weg9KzJYpb1JHlDbQxxtPU4Gat6XpEWoyCa5ucFumeBXVS+H2S0B00wgAEsrkkk+2M9felSglqXWmorlT1PBvFKvDcOpJww498VY0/cbOM9yuRXdeIvh/qep2D3EPkLOF3CNmOc88ZxirvhvwBDcaFbTTXJiuhGPMiHIB/wA9fevSdaLpJdTgjeFVu5w8UpG0A9e3rU8dz5eXbhQMg11OpeDLmxLvujnCrkBeGx3wO/0rjb6b7NIzqCUH3U9xWKipu1joqVVytplrT/F0cc4SWJol7PnPNdBp+uQarD563LLKpIaNuw9a4/zNJ1sslvbPaXhXPlscq3rtP9KraOBZaiEkXKtG6HtyASP6V1vC04vmirNHzqzGtL3ZdTovELXKaoXaZmicfIG5A6Aj+tUA20naeCcEVorPb3dktrcYjJOI3J+43b8KziuEKMArg4x3BFZTs/escFTe/cfI5e2mJ7IR0oqNz+4kIxjafx4oq6CsmETq3XBPy/pTXlmWNVSaRDkkYJ4rQu7c5JUHoc/MKzpI27nCntSVz6N2fQfDqF3GMi5LdfvAd+KuWviAoQJ4Qwz1U4IrHaNsEelVmQFSMYORWkakl1MpUYPodrY3+n3hAFwEJJG2TjFaZs1Y583n1AzxXmRyoJJJ96u2OsX9kV8m4O3oUZsiumFd/aOSphV9k7yfTgg3rKGw361QKtbOWVyvTkVFZeKba8jFtOv2eXpuLZU/4VaKOUxu3Aj1rdOM0crU6bE8uC6XE7CKfjYwHyv7fpWZqNnJHOCxaNlPDgkEfQ1YlRotyEExt0x2NWLSRb6KW0uWYSxglWOMke9Yzi6eq2PUoTjifdl8Xfv6jdN8R3mnssd432qDG0Oow4Hv2P6V0ttLoniSwezlEF7C5+aKVeR+B5BrhNSsZIGOUZVJyOazI2uLWXzY3dHXoynB/MU4V2iauXc3kzf8T/BuwnDXPhy9+zScn7LcHKH2Vuo/HP1rzHxLpep6RcRWd9aS20gwvzD5T9D0NeqaD48ntZBDq0bzx44lTG4fUd/w/KuuSfQfEthsZoLuJwN8b4JB+h6GtHGFVp9TmhUr4S6kro+c1EEiiJgeB1FUb9fs5DL3OORXtWv/AAthlJn0KbyG/wCeMrZUn2PUfrXknjnQNb0i5VNRtZYE3cZHyt7g9DWMaMozs9juljKdSk3Dcwbm4KhcHJ9ahE7k/eJq7a6Rd3ZAWE4PPNdLoGgQWuJJ4N8gONxPA/CqnXpU15nPGjWqyvsiDQPC+p3qiRWRRt34J5xXa+HvCmXJF4DKi52leB9RUunSvaj5CcFcHn8K3LKd4W+2ojBMYY9ia8PEYmcnue1ShyLlii1Hp0gmZPL2GNMg5AQj2qW11SZVUJcSKc9cHGBU+mXrXbGPaNwU4B9M8Cm6haiNgChwTnjtzWccNGtHmTJeJlTlyyVzZ0q9iuIGikkzKpOSBwQadp+Ldmh8xCB9fU1xkVzJBfSmOQqR/dPBGKsrPNKpZZGI3ZB3etYOc4WT6Gioxk21szrLu3DjPVRyWBOc/ga8/wDiNp2nz2LvgLdRgkOEAJwOh9a6Cxur6YhMupUAkt06VPf2drdsUuY/MEn8JUEH611U6rvdaHNOlyuzPF9ItrS9uEH2hIbyNw0Z/v4/r7Vq6zpWZGm2lC+Tgdjjn/PvXS6/4G06WGdrS1aC4YEx7G+XcOmPr+lcPFquoae4s9ZtZmjBwC64cfQnrXr05qauj5/E4Vxd4jLmSLz4AJgHf5MHoQTzVq7MkUp+0yBjwpbHX0NZeuJa3Fv5ltKThy21uDg/57VShuLt2hjncyIn3Cev0NKdNSWjORKyszecnyZCWwGU/wAqKiuMNZuyHnaTj8KKnDrRi2PRmVvUjiqdwNiknJPPWtieJVG3BPPp0qm8HDYQ57GsFY+juzIf5jgMADxnFVWDb8DNaKopyGVggPBx1pjxIScJgDkHiqYkzInDNgY7cYquwbHOc9O9asqxqxBSq8mwrwDnHammDRRLkHOW47Yrb8N620EywXTs0BOASOU/+tWQ+BglTnPtVd3aNt2zHp61cZ2ehnOCkrM9Ovkhks8hh868FR/n2rCW5eE2l4c53ASfQ8H+dWPC98k2hqZMkxZTn07VQ1eURaWEcEM2AAPVjx/Ou5tSicNFOnVXkzqrjbNH5cqkp1zjBBxXJa1ZT2y5OXiJwHA6exrqzMoXPzFh19uOaXfFIhSSIMhHzKRnNcJ9Ro1Zs80uM7iAc5x1qGG6ubacS28zxSryGU4I/EV0niHRWhzcWis8XdcHK/8A1q5qRhjuc1rF3OSrC2+x2/hz4h3tqvk6khuUXGHTCsPqOh/D8q7y21rQfE1ibaY291C+N0coBK89weleDHIDLninQXEkLpJG7Iyn5WDEMv0IraFWUdzzquBpz1i7M9b1r4cWbRm78PXKQyMf+PeUZU/7rdR+Oa4q903UdMZ4r+0a3bPAYfeHsehq/wCHviPqmnlIr3F3EDwW+WQfj0P6V6TpPi3w/wCIbMW0pin3gb7edRu/I/zFZ1MNRrarRmar4nDO09UeRRtvBAX5toxn+VdGlxNDophKKCcDg5JHXpXTa34BsLsGXQ7k2r53eRLlkz7MOR+tcrqVlqOkosGpWckTnOG6o2PQ9DXk18FVpPVaHp0sfSrRSi9exDp95Il0+7KnABOeDk+tdGXMls+85xnkc5rk2aMSnHJAyMitX+1IliVDhVIx/wDqqMNNQTTLxMedqUTM1y4+z3GyMYZT+GOmP51LpFw6sCw/dE7A2OM1l6vcB7jdyTnHTpRaao8TEQSZHcMOD+FYzV5cyR6NJXpKLO9iDAFti+u4c4qvqMnl4JQA7c5zyOKqaHqjz28StGocjDYPBFX2dJioCsWBxwOKv3Zo85p0202U4tRZgC214iDtINZ+si0vrLyr6GOePduUNwAfw5FasiLghozg8cAfrVGeCB43jVEVgp2jsx/oKceem/dMp8s1qeVeJbGGF5RbpiMfMF9BWNE2HA5wDmu88R6ZNbyfaSsbwH5QxHqehrgpVKSsQnyhuAK9TDuUoani45RU9GbQbfaOT/cP8qKbprpJYzKWGQh2jPtRVUtG0cO57OYogpBQ9Kp3ESBtpJK9a1bhWYY8vHGThsHNUpbWRshUzxzx2rHlPfbaMeWNCSvY9CKrSxjODnIxiteeylDhdmePXpVaa0k3lsbce1PlYlIyJINzZJGPzqF4okPIJByTWnLCyg5XjtxWfPEy+g7VJau+hnSpGSSQ2R6VSuUVn/iIOMcVp/Y57qby7eIv9Oa2rLQ7fT4jdajJHuADAE8KPr61rTpuZnUqqG+47RLQQaUkLgqpJd89evSsx5F1XXkjiYm2tH8yZ8cFx91R7g8n6VHqGrXGqytb6X/o9mOHuSOSPRB6+9WLaOC1tEt4diIucYPU+/vXVKSS5UThqEpS9pI2RJlWIbg9CB26U+GUBsnuMNxWELjaCC3X3ppuigG1xg+prHkPVU2dFHdRKQOTjnmue8TaLDOpvNNAWXq8WOG9x6GmDUHwSQDuHHNRnU9pwQQMY56UKHUHUurNHNLOgZo5AQy8H1BqQKjIMHI61a1+OC+HnwlUuB36bsetY1rcncY2O1l6g1ocr0ZfUJnnB+tPUbSCrEHPAqJGV8dP8mpCMHrmlYadzq/DnjjWdL2xvN9qhBGY5ic/g3+Oa9I8P+PvD+rILTUGSF34aG5UbW/E8GvDEz6g5oTo4LA55weRVxqyic1XB0quqVme96z4K0PUl83TLlrGZhjYDviP4dR+H5VwmueE9b01s3UO63jziaE70/Ejkfjiua0DxJq+kOotb1hCP+WMpLp+Hcfga9P8MfEuylCw6qn2NiNhkzujOe+R0/EfjWUsNh6uuzIU8Xh9PiR50bXCuNjEsuOaqHTXVRI5xx93pXt9x4c8N67GtzA0UDnlJLc/KeO46GuV1/wHqlsDLAiX1upyDD94D3Xr+VclXATpq8dTqoZspPlenqcXo0zwXILbkwfyNdZZSwFQWcEkkjHfNclNYMk2xk2kHuDn8q19OtpJJIg7bCV5GelebH3ZndXaqR5jWvZoxhQwAPGAAMVUWBWcMSSM/rVi7t3iOY08zB5Gfeo4VBjUOgVwc10T3OCOxJJFZyZt7iMNG6EEAcH/ADmvJvF2lpo+rGIwl7RjmF+jbR1GfUdPxr1hgFbciK+Mk54Ga5DxlbLdxP5yhQvzA7ula0a3s99jkxFBVVscnbRWEto8hkAlCNjqpzj16GiqkULLbykkFQCM+vFFepTV1oeW6XI7Hvz6dfqWIhLdsZHFU5bW/AwLeTcBxx0/KvHf+Ey8WRglNfuMn+8qt/SpE+IXjGMY/tsN7m3T/Cs+Smz1nTrrsery2eqED/Rpic8YFV5NN1SQgeQcf7R6cfWvLbj4h+LHH/IXK/7sa1Sbx34n3Hfq8rk+wH8qtQiZyhVW7R7H/Ytyw/fzJHz0Jyaqagug2KE31+rouf4wO1eL3finXLv5ZdSuHzzgNj+VOtLC5uf3t1IQp55OWNXyxXQUaU5u3N9x6Nd+NdOhP2TRLJp5MkDaML9fesi8lvdSdZdTnLqP+WCEhB9fWsi3aK1Ty4YgvYnuaWW7Odpbjqe9S5SZ3UsNSgr7s1TcKBsCgBeFA/wpkl5Jnbzx6msc3XcYx2weetRS3WTnj8RU2N3JGrJeNjJIBHeoPtjkdfTnNZEl23ULn6VWa6Yk8AGqRm5I2Jr845bPvVObU3B+8cY7Vky3DHqc81UluDk5ppNmE6tjRn1J1BIYgn3rOkv3Evm7jx+tVZZCRUEmc7T2raNNdTgq4mXQ6jT9Q8xQQeO9akcqsAwJ5rhrad4H3IfqK6LTr9JBweR2zUSp8ptRxHOrPc3t3y/LnHBoD9Dzz0qrFIcZPPtUwk5xtHFZ2OtSJldwev1zUqu38LNg1W39xjFPSQBsleBUtGima2k6vqemP5lldy25zyoOVP1U8V3vh34nXETJHq0b8f8ALWDn816j8M15mZMgDbnjOaQuMjC8+1VGco7GdXD0qq94+h7G88LeKot0yQXLk4MiECQcevX8DWBqngu+tpHn0G7N2mf9U+BIPoeh/SvGVvLiKUSQu8UinIeNirD6EV1Xh74ja7pjql0q6hCP72Ek/MDB/L8aJxpVv4kdTk9hWofwpXXZnSSGS2dI7yCW2nA+ZZchuvvVG4vJPPTy+Vb75XtXU6X4/wDDniJVsr5o45WA/c3aBST7E8H8DUureDYbq1FzpVyqOf8Almxyh9s9R+tYVMFJq9N3Jji0naomjg9W1GRbcsuN55OOv1NeSazdzzavdziWT53Oeo49MfpXoXiu38SaHJI2qaLMLUHCTxfMhHue344rhb+XTr07w/kTY/jXGfrWdCjOjJ86M8TUp1oJU3qitbahJHavF95SpAB7UVXntpIDuZAyHoycg/jRXfTStocHvLRjpGb1qtI7Y60UVMUe3UbK0ruP4qqvI+T8xoorogkeZXkxbdmEqkE5rs9GZntSWOTiiioq7nTgdmSyd6hY5Uk9aKK5z1VsVpvlU4qNyeeScdMmiikLoQ3HRT61XckkZ5oopoykQycHiqr8k0UVtA4qoxQCaiPLc0UVtE457DehqazZlmUKSATRRVPYiPxI6rTmLRAsckDitKNQRyKKK4z2I7AQPShMbTx2NFFJmpLFgsQQOBUgAwTgZoopGi2EKqecDP8A9ekcAcgdBRRSAaVWQhHUMpHIPNdP8PNa1W18TW+lw38ws2zmJjvA+mc4/Ciimm1sY14px1R9BWeJoAsypIvoygjtXj37Qfhfw/p+mLqVhpVva3TyYZ4gVB/4CDj9KKK9GOsdT5qroeExu8TN5TsmRzg9aKKK5kkbQbsf/9k=




Sætter du en lysmanchet i folie (eller et stykke stanniol) om benet, kan du spise kyllingelår uden at få for meget fedt på fingrene.



Kyllingen hentes i grillen eller charcuteriet, og salaten er lavet på et øjeblik.






Sandwichplader

4 skiver toastbrød
kylling eller anden fjerkræ
1 lille ds. aspargessnitter
2 spsk. bechamelsauce
20 gr. smør
Emmentalerost

Smør ydersiden af toastskiverne og lg 2 i grilestten. riv osten i den varme bechamelsauce. Finhak kyllingen og fordel kødet på brødskiverne. Garner med asparges og slut af med lidt sauce. Læg de 2 sidste skiver brød over, og lad det stege i 3-4 minutter
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
*Rødt kød
** Betegnelsen rødt kød dækker over okse-, lamme-, hjorte- og gryserkød. Eller alt kød fra dyr med fire ben.

Danskerne spiser meget kød 149,9 gram pr. indbygger mod USA's 124,8 gram.

Engang var det god tone at spise to kartofler til en frikadelle, nu spiser vi hellere tre frikadeller pr. kartoffel.

Det anbefales at vi spiser højst 400 gram rødt kød om ugen.

Saltet kød, røget kød og kemisk forarbejdet kød skal vi helst undgå.

Ud med bacon, spegepølse og den lækre seranoskinke.

I kød, der er behandler, før vi køber det er det muligvis nitratstofferne, der er de mest skadelige.

I rødt kød findes f.eks. heterocycliske aminer, mutagene stoffer, der bliver dannet, når vi steder.

Steg ikke for hårdt....brankning før være "USET".
"""
4 personer
Arbejdstid: 30 min.

Ingredienser:
500 g hakket svinekød
1 tsk salt
1 æg
1 dl rasp
ca. 1 dl mælk
25 g friskrevet parmesan
peber
2 spsk olivenolie
2 dåser cherrytomater
1 fed hvidløg (presset)
5 stilke estragon

Tilbehør:
brød
ris
eller pasta
en stor skål salat

"""

* Rør kødet sejt med salt. Rør ægget i kødet og derpå raspen. Spæd med mælk, til farsen er blød, men stadig fast nok til at forme til boller. Rør parmesan og peber i farsen.
* Form farsen til ca. 16 boller med en ske og læg dem på en tallerken.
* Steg bollerne i olien på en pande. Ryst panden under stegningen, så bollerne bliver brune på alle sider.
* Tilsæt dåsetomater og hvidløg og kog forsigtigt op. Skru ned for varmen og lad bollerne simre i sovsen i 15 min.
* Pil bladene af estragonen og hak dem groft. Vend estragonen i sovsen og smag til med salt og peber.
* Servér kødbollerne med brød, ris eller pasta og en stor skål salat.

Nogle af de bedse ingredienser til god skønhedspleje findes i virkeligheden i dit køkken. F.eks. kan olivenolie, sukker og kamillete trylles om til skrubbecreme og fodbad. Så er kontoen gabende tom, er det nu, du skal finde din skønhedspleje i køkkenskabenen.

!Opfriskende kamillefodbad:
Bland friskbrygget kammilete med 2 dråber pebermynteolie og nogle kamillleblomster. Sæt dig med fødderne i blandingen i 10 min. Fjern evt. døde hudceller med sukker-skrubbecremen.

!Sukkerskrubbecreme:
Bland sukker med økologisk olivenolie. Brug meget sukker og lidt olie, hvis du vil have en kompakt skrubbecreme. Brug cremen til at exfoliere hænder, fødder eller hele kroppen.

''Kaffegrums'' er også godt til skrub...og er genbrug af noget, vi ellers ville have smidt ud.
Det er en god regel jævnligt at desinficere køkkenbord og køkkenredskaber, specielt efter at man har renset kylling. Vask og skyl først det grove snavs væk. Skyl derefter bord og redskaber med en klorin-oplæsning bestående af 1 dl. klorin til 1 liter vand. Skyl efter med vand.
Næsten alle køkkenskabe er forsynet med en magnetlås, og de kan ofte binde lidt, fordi magneten er for stærk. Magnetlåsen kan dog let justeres ved, at man sætter et stykke tape på den ene af kontaktfladerne.
Hvis du med jævne mellemrum vasker dit køleskab og fryser af med klorin, forlænger du holdbarheden af de madvarer, der opbevares heri. Tør køleskabet og fryseren med en klorin-fortynding bestående af 1-2 dl. klorin til 5 liter vand. Du behøver ikke at skylle efter. Madvarerne vil ikke tage smag af klorin.
Agurk og citron skal altid pakkes fornuftigt ind, når det stilles i køleskabet, ellers kan syren angribe kølerøret/køleelementet og dermed ødelægge køleskabet.
Kørvel hører til i det klassiske danske køkken, ikke mindst fordi den er let at dyrke og tidligt fremme. Smag og duft er anisagtig, og urten bruges i kryddersmør, saucer, omeletter og den klassiske forårssuppe over dem alle: kørvelsuppen.
I varme retter skal kørvel tilsættes som det allersidste, ellers forsvinder smagen.

Kål er  sundt. Rig på A- og C-vitaminer, der blandt andet brskytter immunforsvaret, huden og slimhinderne. Desuden indeholder kål masser af proteiner, der generelt mætter mere end fedt og kalorier. Både blomkål, hvidkål og savoykål er derfor et sundt supplement til aftensmåltidet.

I salater kan kålen kombineres med æbler og saftige citrusfrugter som appelsin og grapefrugt. Ligesom både vindruer, dadler og nødder er velegnede.

<<tagging>>
Kålen bliver mildere og kan indgå i dine salater, hvis du snitter den fint, vender den med salt og lader den trække 30 minutter.

Kram og knus den med saltet og skyld den, før du bruger den.
Der er god grund til at gøre kål til en dille på lige fod med blåbær, som forbrugere har lært at rive ned af hylderne i landets supermarkeder. Undersøgelser har vist, at folk, der spiser mange broccoli, blomkål og rosenkål, har mindre risiko for at udvikle kræftsygdomme.

Af alle frugter og grøntsager har de korsblomstrede grøntsager den mest kræfthæmmende virkning. Korsblomstrede grøntsager er blandt andre broccoli, blomkål, rosenkål, grønkål, savojkål og rucola.

Flere undersøgeler har vist, at personer der spiser brocoli og kål, i selv små mængder, mindsker deres risiko for at udvikle kræft i lunge, tarm, bryst og prostata.

I 1997 viste forsøg med rotter, at broccoliekstrakt kunne få brystkræftsvulster til at vokse langsommere og falde i antal. Af samme grund kom der teposer med broccoliekstrakt på markedet i USA.

(Opskrift fra Post Danmarks ”Med Rundt” 2013)

Hører til de rigtig tunge vinterurter.
Der er flere sorter, men er man heldig, får man en rod, der bliver flot gul eller orange, når man steger den i bjælker eller moser den sammen med kartofler eller andre moseegnede grønsager. Kålrabi er en vitaminbombe, og den er værd at prøve i køkkenet.

Denne skønne lagkage smager vidunderligt og kan laves på ingen tid.

Skal man dele en sukkerbrødskage op i lagkagebunde, kan man klare det pænt ved først at skære en lille revne med en kniv rundt om kagen og derefter lægge en sytråd i revnen. Nu kan man trække tråden gennem kagen og få pæne, ensartede lagkagebunde ud af det.
Hvor kommer de eventyrlige smagsnoter fra?

!Lakridsrod
Fra naturens side er lakridsroden op til 10 meter lang og stammer fra Sydvestasien. Af rødderne kan man udvinde lakridsekstrakt, som bliver anvendt i bl.a. slik, fødevarer og likør. Du kan købe lakridsrod hos Matas, på apoteker og helsekostbutikker.

!Fennikel
Fennikelfrø smager af lakrids og en anelse af citrus og fyr. De stammer fra fennikelplantens afblomstrede skærme. Fennikelfrø er bl.a. gode i bagværk, fiskeretter og pølser. Fennikelfrø er stærkt populære i det italienske køkken.

!Stjerneanis
Stjerneanis er afblomstrede frugter fra et træ, der vokser flere steder i Asien. De er utroligt flotte og har en meget karakteristisk smag. Smagen af larids stammer fra den æteriske olie anethol. Stjerneanis bruges i mange kinesiske og indiske retter og i chutney.


Lad skindet sidde på lakse-steaksene når de ovnbages, det gør fisken mere saftig. Løft blot skindet af, når fisken er færdigbagt.






Når lampeskærmene trænger til at blive støvet af, brug da en fnugrulle.

Dette er hurtigt, eftersom lampeskærmen ikke skal tages af lampen og effektivt, da støvet sætter sig fast i fnugrullen.


Created in TWclassic

{{!!url}}

Den hollandske ost Leerdammer er en delikat smagsoplevelse til alle, der vil forkæle sine smagsløg med en cremet og nøddeagtig ost.
Leerdammer er en fusion mellem den lettere, tørre Emmentaler og bløde Gouda ost - skøn til både morgenbrød, i en sandwich eller til aftenens ostebord.

Det lette ved disse boller er at der er brugt bagepulver så de skal ikke hæve.
;Primære ingredienser: 
:Spæk, svinelever, vand, salt, skummetmælkspulver og mælkeprotein. 

;Sundhedsvurdering: 
:Nu hører leverpostej grundlæggende ikke til de madvarer, som vi er gladest for at anbefale. Når vi alligevel tager dåsepostejen med, skyldes det, at den faktisk indeholder mindre fedt end en almindelig leverpostej. Det påvirker også kalorieindholdet, som er ret moderat. 

;Bonusinfo: 
:Du kan med fordel vælge en laksepostej, hvis de ernæringsmæssige kvaliteter skal optimeres.





<<tagging>>
<<tagging>>

Nemme og lækre retter med billeder af fremgangsmåden. Ca. 800 opskrifter

[[Louises Madblog|https://www.louisesmadblog.dk/]]
Allel ved at vi får luft i maven af kål, men kål er ikke den eneste madvare, der stimulerer tarmbakterier, som øger produktionen af tarmgas.

Asparges, bønner, æbler, æblejuice, ærter, drikke med kulsyre, løg, majs og tyggegummi er lige så store syndere.

Kun 10 % af vores luft i maven kommer fra tarmbakterier. 90 % er fra den luft, vi sluger, når vi spiser og drikker.

Lad os nu slappe lidt af!<br>
"Forstoppelse er da et langt større problem". Lad os være lykkelige over, at der er gang i systemet. Det er virkelig frygteligt, når der ikke er.






Bruger du hindbær eller jordbær til  lagkagen, så gem saften fra de frosne bær. De giver en superflot kulør på glasuren, uden farvestoffer.
Det er en god idé at smøre lidt vaseline omkring stearinlysene, inden de placeres i lysestagerne. På denne måde er lysestumperne meget nemmere at fjerne, og stagerne holdes pænt rene.
Ved rengøring og pleje af mine lædersofaer og bøgetræsmøbler, som skal behnadles med sæbeskum, kan anvendes stavblender til at piske et luftigt skum med ½-1 dl sæbespåner til ca 5 liter vand. Det giver et godt fedtet skum uden for stort vandindhold (vand udtørrer møblerne). Når skummet er brugt, "blender" jeg blot igen, og et nyt lag skum er klart.
en lækker glasering til skinke eller hamburgerryg kan laves ved at blende udblødte abrikoser med farin og evt. lidt sennep.


En billig læskedrik får du ved at lave en kande frugtte, lade den trække i 10-15 min. Tiltsæt lidt sødestof, sødemiddel, honning eller sukker. Sæt kanden i køleskabet. Kom isterninger i, når du vil drikke den.
Hæld varmt vand fra henen over de løg, du skal pille, og lad dem stå i 5-10 minutter. Nu har skrællen trukket vand og brister ikke så nemt som før, og det er meget nemmere at pille løgene.





Når du tilbereder opskrifter, der indeholder æbler, er du naturligvis nødt til at halvere portionen. (''Bemærk'' det gælder ikke kun æblerne, men sandelig også evt, marcipan, flødeskum eller creme der måtte indgå i pågældende opskrift.)

Hverken TiddlyWiki eller "Min bogebog" er ansvarlig for dette.

''Det er det direkte resultat af at bruge et halvt spist produkt.'' ;-)

# Du forbliver tynd - og naturligvis sund og rask.
# Sparer til køb af den næste Mac.
Macaroni & Cheese er en klassisk amerikansk ret, som falder i god smag hos de fleste – især hos børn. Retten er ikke specielt sund, da den er fyldt med ost – men det er jo ikke alt der skal gå op i sundhed
{{!!url}}
[|https://www.alt.dk/mad]]
Egentlig skal kagerne bages i de særlige, flade forme, der minder lidt om muslingeskaller. I stedet er de her bagt i små muffinsforme, der er foret med tilklippet bagepapir, så de er nemme at holde på.
# lav mad i gryde i stedet for i ovnen, når muligt. på den måde sparer du 70 % i el.
# Kog vand (til f.eks. pasta) i en elkedel i stedet for komruret. Herved sparer du ca. 60 kWh om året, som svarer til ca. 100 kr.
# Undgå så vidt muligt at bruge sølvpapir som er særdeles miljøbelastende. Brug i stedet madpapir, eller anvend plastikbøtter til at opbevare madrester. Alternativt kan man bruge en tallerken som låg til en skål eller lignende.
# Tø mad op i køleskabet. Ud over at give en bedre optøning er det også en gratis køling af køleskabet.
Sunde, lækre og meget nemme madmuffins
20 g kulhydrater, 5 g fedt, 700 kj energiindhold pr. portion.




;Primære ingredienser: 
:Makrelfilet, vand og tomatpuré. 

;Sundhedsvurdering: 
:Makrellen er spækket med omega-3-fedtsyrer. Faktisk dækker en enkelt dåse hele dit daglige behov for disse sundhedsfremmende fedtsyrer. Proteinerne er af høj kvalitet og sikrer både mæthed og fremragende restitution. Andre kvaliteter er indholdet af D-vitamin, der er godt for hud, hår og knogler, samt selen, som styrker immunforsvaret. 

;Bonusinfo: 
:Vær ikke bange for at komme en stribe mayonnaise ovenpå. Så længe der er plads i kalorieregnskabet, er det kun godt med lidt flere sunde fedtstoffer.


Indeholder masser E vitaminer, de gode umættede fedtstoffer og mandler er med til at stabilisere blodsukkeret.







Når man steger og griller kød, opstår der kræftfremkaldende stoffer med det mundrette navn heterocycliske aminer, som produceres af kødets naturlige indhold af sukkerstoffer og aminosyrer. Nu har portugisiske forskere imidlertid fundet ud af, at man nedsætter mængden af disse farlige stoffer med op til 90 %, hvis kødet marineres i rødvin eller øl i mindst seks timer før stegningen.
Husk at kødet skal trække på køl.
I øvrigt har tidligere forskning vist, at når kylling trækker i en marinade af olivenolie, citron og hvidløg, nedsættes også mængden af heterocykliske aminer med 90 %.

Hvis der koges marmelade af lyse blommer eller mirabeller, kan du komme en håndfuld hyldebær eller et par dl hyldebærsaftsaft ved. Det giver en pæn farve og smager godt.
Det hængder, at jeg får frugtgrød eller syltetøj leavet for tyndet. Så tilsætter jeg blot lidt pulver til råsyltning.

På den måde "reder" jeg marmelade og frugtgrød.




# Hvis mayonnaisen skiller under røringen, så tag en af de tiloversblevne æggehvider og pisk den helt stiv. Pisk derefter mayonnaisen ind i hviden - skefuld for skefuld. Mayonnaisen bliver fin - og knap så fed som ellers.

# Hvis mayonnaisen skiller og ikke er cremet, tilsættes straks 2 tsk. koldt vand, så kan den røres ensartet og tyk igen. Hvis den ikke bliver tyk igen,m begyndes forfra med en ny æggeblomme. Portionen der skiller, røres så i den nye mayonnaise lidt efter lidt i stedet for olie.

Mos en halv avocado, smør det på en flækket grovbolle, fordel tomatskiver over, og krydr med salt og peber.
Lækkert og sundt.

Kog en stor portion sukkerlage og brgu den i forskellige frugt sorbeter efter samme princip som melonisen.

Når du afkalker din kaffemaskine, så brug det varme vand til at pudse messing og kobber i stedet for at smide det ud. Tag en tot vat eller lidt køkkenrulle, dyp det i væsken, smør det på, skyl af i vand, tør med en klud, og det skinner igen.



@@color:red;''VIGTIGT:''@@ Du skal undgå skyllemiddel, når du vasker microfiberklude.

Skyllemiddel ødelægger kludenes effekt!

Microfiberklude indeholder kevlar. Det er det som skær møget af, så at sige. Man skal også være varsom med, at bruge dem på lakeret overflader, de laver ridser. Efter brug, føles hænderne som om de har været i stærkt sæbevand. 

Du kan bruge almindelige karklude, dem man altid kan købe i gul, lyserød og lyseblå. Dyp dem i en blanding af vand og glycerin og læg dem til tørre.

De er gode til at suger støve, men har ikke prøvet vinduespudsning, som microfiberkluden også skulle kunne klare, der foretrækker jeg vand og opvaskemiddel.


\define searchme(searchthis)
<$button>$searchthis$
<$action-setfield $tiddler="$:/temp/advancedsearch" text="$searchthis$"/>
</$button>

\end

;1) Klik her for at oprette exports tiddleren.
:<<exportlist "Indhold">><br><br>Klik på knappen og gå til advanced search filter fane. Her indsætter du `[list[exports]]`

;2) Klik her fot at indsætte søgefilteret
:<<searchme [list[exports]]>>

;3) Klik på eksport knappen og vælg json

{{$:/core/ui/AdvancedSearch/Filter}}
Denne opskrift er baseret på maksimal effekt=900 wat

"""
100 g mørk chokolade
100 g margarine
1 spsk vand
100 g sukker
3 æg
80 g mel
1 tsk bagepulver
50 g valnødder
"""

Kom chokolade og vand i en skål og smelt ved fuld effekt i 30 sekunder. Kom margarine ved chokoladen og giv fuld effekt i 30 sekunder. Rør margarine og chokolade sammen. Pisk æg og sukker grundigt. Sigt mel og bagepulver i æggemassen og tilsæt valnøddekerner. Tilsæt chokoladen til æggene. Kom bagepapir i en form og hæld dejen i formen. Bag ved fuld effekt i 5 minutter. Lad kagen hvile i 5 minutter. Herefter kan kagen spises (selvom den stadig er varm).
<<tagging>>

Med færdigkøbt dej er det ikke nogen kunst at lave fine, små pizzaer til alle.


Står du og skal lave mange små frikadeller til f.eks. pindemadder, så brug en bollesprøjte - det går meget hurtigere, og de bliver helt ens.
<small><div class="minibrowser">
<$select tiddler="$:/temp/tag1"class="fit">
<option>{{!!select-bookmark}}</option>
   <$list filter="[has[url]tags[]sort[tag]sort[title]]-[[Notiz]]-[[ClippedImage]]-[[Snaps]]-[[Clipboard]]" variable="mytag">
<optgroup label=<<mytag>>>
<$list filter="[tag<mytag>]-[!has[url]]">
      <option><$view field='title'/></option>
 </$list>  
</optgroup>
</$list>

</$select>
<$tiddler tiddler={{$:/temp/tag1}}>
<$edit-text size="25" field="url"/>
<$button class="minibutton" tooltip="Opret nyt bogmærke" popup="$:/state/popnewbkm">{{$:/core/images/new-button}}</$button>

<$reveal type="popup" state="$:/state/popnewbkm">
<div class="tc-block-dropdown tc-popup-keep">


<span><div style="padding:0 8px;font-size:10px;"> ''Titel:'' <div style="float:right"><$edit-text tiddler="$:/state/new-bkm-title" tag="input" default="" size="23"/></div><br>
''Tags:'' <div style="float:right"><$edit-text tiddler="$:/state/new-bkm-tags" tag="input" default="" size="23"/></div><br>
''Url:'' <div style="float:right"><$edit-text tiddler="$:/state/new-bkm-url" tag="input" default="" size="23"/></div><br>
''Forfatter:'' <div style="float:right"><$edit-text tiddler="$:/state/new-bkm-author" tag="input" default="" size="23"/></div><br>
<div style="float:right"><$button class="minibutton">
<$action-createtiddler $basetitle={{$:/state/new-bkm-title}} text=";Author:
:{{!!author}}

;Link:
{{!!url}}" tags={{$:/state/new-bkm-tags}} url={{$:/state/new-bkm-url}} author={{$:/state/new-bkm-author}}/>
<$action-setfield $tiddler="$:/temp/tag1" text={{$:/state/new-bkm-title}}/>
<$action-deletetiddler $tiddler="$:/state/new-bkm-title"/>
<$action-deletetiddler $tiddler="$:/state/new-bkm-tags"/>
<$action-deletetiddler $tiddler="$:/state/new-bkm-url"/>
<$action-deletetiddler $tiddler="$:/state/new-bkm-author"/>
Nyt bogmærke
</$button></div></div></span>

</div>
</$reveal>
<$button class="minibutton" tooltip="Gå til tiddler"><$action-navigate $to={{!!title}}/>Gå til</$button><$button class="minibutton" message="tm-edit-tiddler"  param={{$:/temp/tag1}} tooltip="Redigér tiddler">{{$:/core/images/edit-button}}</$button>
<$reveal type="nomatch" state="$:/state/browser" text="show">
<$button class="minibutton" tooltip="Åbn i mini-browser" set="$:/state/browser" setTo="show">{{$:/core/images/preview-open}}</$button>
</$reveal>
<$reveal type="match" state="$:/state/browser" text="show">
<$button class="minibutton" tooltip={{$:/language/Buttons/Close/Caption}} set="$:/state/browser" setTo="hide"><$action-setfield $tiddler="$:/temp/tag1" text="Vælg bogmærke"/>{{$:/core/images/preview-closed}}</$button>
<$tiddler tiddler={{$:/temp/tag1}}>
<$set name="path" value={{!!url}}>
<iframe src={{!!url}} width="100%" height="385em"/>
</$set>
</$tiddler>
</$reveal>
<$button class="minibutton" tooltip="Eksterne link åbnes i ny fane"><a href={{!!url}} target="_blank">{{$:/core/images/link}}</a></$button>
</$tiddler>
</div>
</small>

<style>
.minibrowser {
    display:block;
    background-color:{{!!tabs-background-color}};
    border:2px {{!!tabs-background-color}} outset;
    border-top-left-radius:5px;
    border-top-right-radius:5px;
    border-bottom-left-radius:5px;
    border-bottom-right-radius:5px;
    padding:4px;
}
</style>
<style>
.minibutton {
    background: {{!!tabs-background-color}};
    border-radius: 4px;
    box-shadow: 0px 1px 3px #EEE;
    font-family: Arial;
    color: black;
    font-size: 12px;
    font-weight:;
    padding: 3px 5px;
    text-decoration: none;
</style>

<style>
.fit {
width:225px;
font-size:12px;
}
</style>

Miso er en brunlig pasta, fremstillet af saltede og gærede sojabønner. Miso bruges bl.a til misosuppe og til dressinger i det japanske køkken. Miso kan købes i helsekostforretninger og asiatiske butikker.


<$scrollable class='tc-scrollable-mad'>

Start dagen på den sunde måde, husk morgenmaden!

<$list filter="[tag[Morgenmad]]+[sort[title]]"><$link to={{!!title}}><$view field="title"/></$link><br>
</$list>
</$scrollable>
Lav en morgenmads smoothie af saften af 1 appelsin, 1½ dl skummetmælksyoghurt, 2 spsk. havregryn og ½ banan i en blender.
Hæld den gerne over isterninger.
Kog 5-6 madæbler til mos. Kom smør, sukker og rasp på en pande, og rist det, til det er sprødt. fordel æblemos og rasp lagdelt i en skål. Læg flødeskum over, og pynt med æblegele - uhm!

"""
2 æg
1½ dl mælk
225 g sukker
150 g smør/margaine
200 g mel
2 tsk bagepulver
2 tsk vanille
2 spsk kakao
"""

!!Snask:
"""
250 g flormelis
100 g margaine
1 tsk vanille
4 spsk kakao
12 spsk stærk kaffe
200 g kokosmel
"""

Denne kage kan både laves i microovn og i alm. ovn. Microovnens effekt er på 900 wat (microeffekt). OBS Til microovn vil ½ portion ofte være mere passende!!! (TIDERNE ER ANGIVET TIL DENNE EFFEKT)

''Dej:'' Sukker og æg piskes hvidt. Smør smeltes (30 sek fuld effekt). Kom smør og mælk i. De øvrige ingridienser sies i. Bages 20 min. ved 225 C i smurt form eller fuld effekt i 6 min. i form foret med bagepapir. Lad hvile i 5 min. i formen og lad køle på rist. Bland alle ingridienser til snaksket og fordel dette over kagen mens det er varmt.

Kilde: Morten Andersen, 10 Oct 93



Mug (ikke al mug) producerer mykotoksiner (giftstoffer). Ikke alle mykotoksiner er lige farlige. Men to mængder mykotoksiner, der hver for sig er uskadelige, kan tilsammen være skadelige.

En anden negativ egenskab ved mykotoksinerne er, at de generelt er meget varme - og processtabile. Det vil sige at man normalt ikke kan fjerne mykotoksinerne ved almindelige koge, stege eller andre industrielle processer.

Hvis en bager laver brød af "mugforurenet" mel, kan skimmelsvampen sagtens slås ihjel i ovnen, mens deres usynlige giftstoffer overlever i brødet.

!Skræmmende
Det skræmmende ved skimmelsvampe og ders mykotoksiner er at mange af dem  undertrykker immunforsvaret, så man bliver åben for andre infektioner. Og der er tale om effekter over lang tid i modsætning til bakterielle forureninger, som eksempelvis salmonella, hvor man ofte bliver syg efter nogle timer eller få døgn.

!Sådan undgår du mug:
# Sørg for at holde maden tildækket under servering, så bliver det ikke udsat for de svampesporer, der kan findes i luften
# Brug plastikfolie til at dække den mad, du gerne vil holde fugtig (skåret frugt, grønsager og salat)
# Fødevarer di dåser hældes over i plastikbøtter og sættes i køleskabet
# Lad ikke let fordærvelige fødevarer stå  uden for køleskabet i mere end to timer
# Brug madrester indenf ro tre til fire dage, så muggen ikke få en chance for at gro.

Mor laver lasagne. Da hun skal rive en muskatnød triller den på gulvet. Skal hun samle den op nu? - eller feje senere?
Hun bør samle den op. For muskat er i større mængder en utroligt giftig spise. Allerede i 1908 advarede den britiske læge A. R. Cushny mog lemfældig omgang med nødden. en otteårig dreng, fortæller Cushny døde efter 20 timers koma. Purken havde spist to muskatnødder, han havde fundet.
Allerde ved konventrationer ned til 25 gram er muskatnødden giftig for voksne. Første symptom er delirium. Men ved større koncentrationer giver lasagnekrydderiet dehydrering, smertefulde kramper og uregelmæssig hjerterytme.
{{!!url}}


Ønsker du at hold eop med at ryge, er det en god idé at drikke mælk elle rindtage andre mejeriprodukter, for de forringer nemlig smagen af cigaretter. En ny undersøgelse, viser at mælkeprodukter, frugt og grøntsager er gode fødevarer i en "kvit-smøterne-diær", hvorimod kaffe, te og cola får cigaretterne til at smage bedre.
Dette kan du undgå ved at gnide kasserollens øverste kant med smør.
Folkeskolen kender dem godt - urolige børn, der hele tiden larmer og ikke kan koncentrere sig. Den umulige opførsel forklares ofte med dårlig opdragelse, men måske er det i virkeligheden kosten, den er gal med. Mange børn har et kolossalt dagligt forbrug af slik, kager, chips og søde læskedrikke - fedt og sukkerstads, som ikke levner plads eller lyst til sund mad.

Selv om forbruget ikke er helt som ovennævnt....men kosten er sparsom, for meget hvidtmel, som i franskbrød og boller, småkager og den slags....sammenholdt med forringe fastemmåltider....jævnede suppeurter...består mest af vitaminfattige dåsegrøntsager smidt i vand jævnet med hvidt mel. 2 " kødboller i "sådan for lidt smag".... til 3-4 personer fysisk hårdtarbejde personer....gør ikke nogen positiv forskel.

Husk sloganet...."man er hvad man spiser".....

Bemærk hvor stort de menneskers behov for hjælp er/var....hovedpinen, manglende arbejdsevne og hukommelse!!!!! Tjah.

Hjernen og kroppen fungerer dårligt med fedt og sukker som drivmidddel. Børnene bliver irritable, aggressive og skiftwis sløve og hyperaktive.
Med ordentligmad blev børnene mere positie og aktive og i stand til at lytte og lære.

De vigtige kim lægges i barndommen....
Det er ikke godt at videreføre barndommens manglende udvikling med at gentage fejlspisningen hele livet.



Er olie af ristede sesamfrø. Olien bruges til at smage forskellige retter til med, ikke til at stege i. til stegning bruges kun olie presset af uristede frø eller kerner, ellers bliver olien jo "dobbelt ristet" og dermed brændt og sundhedsskadelige.
Natron =Natrium bicarbonat....= tvekkulsurt natrium

Bruges til mange ting i det store udland, hvor det også ofte er betydeligt billigere end i Danmark. 

!I badeværelset kan natron bruges til:

# Tandbørstning: En smule natron på tandbørsten bleger dine tænder. Anvend dog ikke mere end 1 gang om ugen.
# Hårvask: 1 skefuld natron i shampooen gør dit hår blødere og renere.
# Badekarret: ½ kop i badevandet minimerer kalkens udtørring af huden.
# Håndvask: 3 dele natron og 1 del vand fjerner snavs og dårlig lugt.
# Pedicure: 2 skefulde natron i fodbadet blødgør huden på dine fødder.

!I køkkenet kan natron bruges til:

# Vask af grøntsager: Et par skefulde natron i vand fjerner snavs, bakterier og pesticidrester.
# Tomatsovs: En knivspids natron neutraliserer syren i tomaterne og kan erstatte sukker.
# Æggekage: En knivspids pr. 3 æg gør æggekagen mere luftig.
# Bagværk: Giver dejen luft og gør småkager sprøde.

!Til rengøring kan natron bruges til:

# Universal rengøring: Et par skefulde natron opløst i ½ liter vand fjerner lugt, opløser fedt og desinficerer.
# Kaffekrus: Natron blandet med vand fjerner pletter, mærker og lugt fra te og kaffekrus.
# Køleskabet: En skål natron i køleskabet eller ved skraldespanden neutraliserer fra stærkt lugtende fødevarer.
# Badeværelset: En pasta af natron og vand kan erstatte skurecreme og toiletrens ved jævnlig rengøring.
# Ovnen: En pasta af natron og vand smurt på indersiden af ovnen kan efter et par minutter gøre det muligt at tørre snavset væk med en klud.
# Tæppet: Drys natron på tæppet og støvsug efter et par minutter og den dårlige lugt er væk i tæppe og støvsuger.
I de "gode gamle dage" var det helt normalt, men efter en årrække i glemslen er ukrudt og naturmad nu ved at få en renæssance. Det er igen blevet populært at gå ud i naturen og finde aftensmad.

Eks skovløg, brændenælder, skvalderkål, mælder og mælkebøtter
Sødskærmen kan bruges i supper, brød og pandekager.
Gederamsen og hvidkløverblomsten bruges til at forsøde teen. Vildroser kan bruges i hyldedrikken og mælkebøttesaften.
Brændenælder bruges i alt fra lasagne, pastasalat, tærter og brød til pandekager og urtesalt.

<$list filter="[tag[Natur]] -[[Natur]] +[!sort[title]]">

</$list>
Du skal naturligvis sikre dig, at det ikke er giftige planter. Det kan du f.eks. gøre ved at gå ind på:

http://www.skovognatur.dk

og søge på giftige planter.

"""
[[Find din mad i naturen|http://www.naturli.dk/naturli-viden/mad/9274-find-din-mad-i-nature]]
[[Gratis og sund mad fra naturen|http://nyhederne.tv2.dk/article.php/id-32355389:gratis-og-sund-mad-fra-naturen.html]]
"""
Der er rige muligheder i haven, skoven, marken og vejkanten. Hvis du plukker ved vejkanten, så skal du dog huske at vaske frugterne grundigt.

!Hyben
Der findes ca. 10 vilde rosentyper i Danmark, og frugterne fra dem alle kan bruges. Klitrosen (pimpinellifolia) er yderst velegnet og manges foretrukne, mens den, de fleste bruger til hybenmarmelade (rugosa), ærlig talt er lidt kedelig.

!Hyldebær
Hyld er en gammel lægeurt, og afkog af bærrene blev brugt mod forkølelse og influenza. Så hvorfor skulle hyldebærsnaps ikke have samme gavnlige virkning?

!Rønnebær
De er ikke bare sure, de er også bitre. Rønnebær indgår bl.a. i Gammel Dansk. Rønnebær er bedst at plukke og bruge efter nattefrost, da de så er mindre bitre og mere søde - og det fjerner også den parasorbinsyre, som i meget store mængder kan være skadelig.
For en sikkerheds skyld bør man komme dem i fryseren i 24 timer før brug.

!Pærer
Hvis man er heldig, kan man finde vilde pærer i skov- eller vejkanten. De er særlig gode. I Frankrig er der tradition for at bruge den engelske sort, der hedder Williams, til eau de vie'en Poire Williams. Det er blevet en specialitet at sætte flasker på træerne, så pærerne vokser inde i flasken, hvorefter eau de vie'en bliver fyldt på.

!Slåen
Skal have nattefrost eller en tur i fryseren. Man kan hælde både vodka og gin på bærrene. Begge giver efter et halvt års tid en pragtfuld snaps. Slåen er også dejlig med lidt sukker.

!Alle danske æblesorter
Passer perfekt til snaps, men såkaldte madævler er næsten bedst, f.eks. Belle De Boskoop. Madæbler kræver dog længere trækketid. Også paradisæbler og vilde æbler er perfekte til frugtsnaps, både med og uden sukker.





!Tærtedej:
Smuldr 125 g smør i 175 g mel (3 dl). Saml dejen med 3 spsk. koldt vand. Rul dejen ud og beklæd en tærteform, ca. 22 cm i diameter, med den. Prik dejen og stil den koldt 30 min.

!Fyld:
Pil og skær 4-5 løg i fine ringe.
Rist 200 g bacon i terninger i 1 spsk. olie. Tag baconen af panden og rist derpå løgene i fedtstoffet, tilsæt evt. lidt mere olie. Forbag tærtebunden ca. 10 min. ved 200 grader i den nederste halvdel af ovnen. Fordel løg og bacon over den forbagte bund. Pisk 3 æg let sammen med 2 dl mælk og 150 g reven ost og peber. Hæld æggemassen over løg og bacon. Bag tærten yderligere ca. 25 min. i den nederste halvdel af ovnen. Server retten med en skål god salat.




<span>

''Nemme filtede puder''

Har du nogle gamle uldsweatre, som ikke længere bruges?

Så kog dem!

Nr uldsweateren kommer ud af maskinen, er den blevet helt tæt som filt, og er et rigtigt godt materiale at sy betræk til sofapuderne af.
</span>
Når der er rigeligt at gode nudler, grøntsager og nødder, kan man skrue ned på kødmængden.
En hybenbusk kan være nyttig på mange måder- du kan både bruge hyben og rosenbladene i lækre specialiteter til madlavningen.
!Ingredienser

!!Antal: 1 portion giver ca. 8-10 stk.

"""
2 æg
2½ dl mælk
100 g hvedemel
25 g smeltet smør
Knsp salt
2 spsk sukker
Korn fra ½ vaniljestang
"""

!Fremgangsmåde
Har du en blender, så kører du blot alle ingredienserne i et par minutter, indtil dejen er glat. 
Husk kun at blende, til dejen lige netop er godt blandet sammen. Kører eller rører du for længe, kan pandekagerne blive seje i konsistensen. 

Bruger du en røremaskine eller håndmikser, så rør først æggene og det smeltede smør med alle de tørre ingredienser og tilsæt derefter mælken lidt ad gangen. Lad dejen hvile køligt i mindst ½ time, inden du bager pandekagerne. Det får dejen til at sætte sig, og gør den nemmere at arbejde med. Det er muligt, at du derefter må tilsætte lidt ekstra mælk, da stivelsen udvikler sig, mens dejen hviler. Bag pandekagerne på en slip-letpande i ca. 1-2 minutter på hver side.

Tip: Hvis du er choko-man kan du lave pandekagerne med en skefuld usødet kakaopulver og servere dem med vaniljeis, en skefuld nutella og måske nogle friske bananskiver.
Det er oxalsyren, der får tænderne til at føles ru og mærkelige, når man spiser rabarber og spinat. Oxalsyre binder kalk og er giftig i store mængder, men det er ikke noget problem i de mængder, vi får gennem maden. Vil du undgå den mærkelige fornemmelse på tænderne, kan du neutralisere syren ved hjælp af det produkt, der hedder non-oxal. Brugsanvisning på flasken.

Der er altså til lidt over 100 klejner i opskriften her, så..



135 g chokolade indeholder mere end 3.000 kJ. Hvis du ikke kan stoppe efter at have åbnet pakken, så køb et lille stykke i stedet, og nyd det. De gode nyheder er, at et lille stykke chokolade er godt for hjertet.
"næsten råkost" kan tilberedes sådan:

Snit kålen fint og læg i en sigte. Hæld kogende vand over. Skyld efter med koldt. Vend den nu lidt blødere kål med din favorit marinade.

Her er et sundt alternativ til nutella. Nøddecremen har en skøn smag af hasselnødder, hvorfor den minder om nutella. Jeg tvivler dog på, at denne nøddecreme kan erstatte nutella. Cremen er nem at lave, og passer perfekt til madpakken – både på rugbrød, grovbrød og knækbrød. Cremen vil også kunne bruges som dip til grøntsagsstænger. Der er kogte kolde kartofler i cremen, hvorfor det vil være oplagt at bruge rester af kartofler til denne creme.

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

Nødder indeholder masser af sundhedsfremmende olie. Hasselnødder har et højt indhold af de sunde omega-9-fedtsyrer og er rige på vigtige mineraler som f.eks. jern og kalcium. Valnødder indeholder stoffer, der er med til at sænke kolesterolniveauet og har en gavnlige virkning på hjertet. Desuden har de et højt indhold af e-vitamin, som hjælper til en sund hud.

Kan være grønne og røde. De minder meget om bøftomater.


Koldt ude. Suppetid. Vi tager den nemme løsning en færdig oksekødssuppe. Og fylder den med en masse godt. Middag på under 30 min.



Hvis du lider af diabetes 2 (gammelmandsssukkersyge) og derfor højst må spise ét helt æg om dagen, kan du udmærket lave en omelet eller æggekage af et helt æg og to æggehvider, som man nogenlunde må spise ubegrænset af. Hvis der skal bruges to æg i opskriften, kan du skifte det ene ud med to hvider - evt. pasteuriserede, hvid du ikke ved, hvad du skal stille op med blommerne.

@@.tabsstyle
<div>
<<tabs "[tag[kategori]]" "" "$:/state/tab2" "tc-vertical">>
</div>
@@
Er en omfattende side med mange lækre billeder, opskrifter og servicefunktioner.

du kan gratis blive oprettet som bruger, og det giver dig mulighed for at gemme favoritterne i en personlig kogebog samt udforme en ugeplan, hvor du får tilsendt en færdig indkøbsliste på mail. på den måde kan du hurtigt planlægge dine indkøb. Det er en lækker, overskuelig hjemmeside, som giver et hurtigt overblik samt inspiration til mad til enhver lejlighed

{{!!url}}

;Author:
:{{!!author}}

;Link:
{{!!url}}

Lav selv optændingsbrænde til brændeovnen

Brug tomme toiletruller/køkkenruller - rul gamle aviser stramt sammen og kom dem ind i toilet/køkkenrullen. Det er alletiders, og du er fri for at slæbe aviserne på containerpladsen.

Det er tidsrøvende og vi skal passe på med de materialer, vi brænder...
ikke malet og behandlet træ og ej heller kulørte tryksager.



Ost er en levende organisme, som har brug for at kunne ånde. Opbevar derfor ikke din skæreost i en tæt plastpose, da der let kan dannes mug på osten. Pak hellere din ost ind i frokostfolie - ikke for tæt. Frokostfolie kan købes i ruller.
Tre gode oste til frokosten er brie, roquefort eller gorgonzola og en god skæreost.
Grill-plader

350 gr. hakket oksekød til 2 store burgere
3 æg
1 revet løg
1/2 peberfrugt
chili-sauce
revet gulerod
salat
2 burger boller
ost

Æg, løg, salt, peber og paprika blandes godt med kødet. Form 2 burgere, og grille dem i 3-4 minutter i griletten. Pynt efter ønske med salat, løg og peberfrugt, ost og reven gulerod. Smag til med lidt chili-sauce, og anbring burgeren i burger-bollen.
Varm kniven, inden du skal skære ost, så får du langt pænere skiver - det er lige så let som at skære i smør.

I Sverige spises der rigtig mange pandekager. Også det, der kaldes ovnpandekage. Det er så nemt, så nemt. Dejen hældes i en smurt form og bages i ovnen. Du får en lidt tykkere pandekage, som smager herligt med hyben eller blåbær marmelade. Eller flødeskum og bær, hvis det skal være mere dessertagtigt. Knust kardemomme er en mulighed som krydderi i dejen.
|!Ovn temperatur konvertering|>|>|
|°F|GAS|°C|
|225|	1/4|	110|
|250|	1/2|	120|
|275|	1|	140|
|300|	2|	150|
|325|	3|	160|
|350|	4|	175|
|375|	5|	190|
|400|	6|	200|
|425|	7|	220|
|450|	8|	230|
|475|	9|	240|
|500|	10|	260|


Skal man lave rigtig mange frikadeller, det væres ig til fryseren elelr tilsomemrfesten, skal ovnen i brug. Du kan vælge denne opskrift på farsen eller din egen yndlingsopskrift, metoden er den samme.



''Personer:'' 4

"""
4 spsk olivenolie
6 kyllingeunderlår
1 løg, hakket
2 fed hvidløg, presset
1 lille blæksprutte i skiver tiarmet
1 grøn peberfrugt i strimler
225 g hakket flåede tomater
375 g løse ris
1 tsk paprika
3/4 dl tør hvidvin
½ tsk safran udblødt i 6 dl. kogende hønsebouillon
evt. 12 blåmuslinger i skal
175 g rød peber fra dåse, afdryppet og skåret i strimler
100 g rejer med skal
100 g frosne ærter
"""

!!Pynt:

"""
1t. friskhkt. persille
"""

Forvarm et stort bruningsfad i 7 min. på højste effekt, eller efter fabrikantens brugsanvisning. Kom kyllinglårene og halvdelen af olien i fadet og steg i 5min. på højeste effekt. Fydt dem 2 gange under tilberedningen. Kom resten af olien i et halvdybt fad, tilsæt hvidløg og blæksprutte og svits 4 min. på højste effekt. Tilsæt peberfrugt og tomater og kog 4min. på højste effekt. Tilsæt kylling, ris, paprika og vin og kog 3min. på højste effekt. Tilsæt bouillon med safran og evt. muslinger samt rød peber. Kog under låg (el. mikrobølgefilm) i 15min. på højste effekt. Tilsæt rejer og ærter. Kog under låg i 5min. på højste effekt. Pynt retten og server.

Kilde: Christian Phillip, 30 Jan 94

Mangler der lidt tilbehør til retten, så kan pandebrød være en mulighed.



Kom et par spiseskefulde sirup i pandekagedejen - det gør pandekagerne super-sprøde.
Pandekager uden æg – Det kan sagtens lade sig gøre at bage pandekager uden æg. Denne opskrift giver meget autentiske pandekager, der smager som pandekager skal. Server dem evt. med en god is eller mere traditionelt med sukker og marmelade.



Krydderiet paprika laves af den røde paprika, som er en frugt i familie med peberfrugt og chili. der findes flere slags af ret forskellig styrke. Styrken kan gå fra det helt milde til det ret krasse! Derfor er det altid en god idé at smage på den stødte paprika, INDEN du kommer den i maden.

Det er svært at tage den skrappe smag væk, når først krydderiet er havnet i gryden (jeg har prøvet!!!). Paprika skal i modsætning til f.eks. karry ikke svitses, for at den kan frigive sine smagsstoffer. Derimod vil den bare få en bitter og branket smag. I de små dekorative dåser med spansk papirka finder du den milde udgave under blåt låg og den ret stærke, med let røget smag, under rødt  låg.
Sandwichplader

4 skiver toastbrød
2 skiver mild ost
2 skiver skinke

Smør toastbrødet på den udvendige side, læg 1 skive ost og 1 skive skinke på hver side, og kom de to andre brødskiver over. Luk griletten, og giv toasten 3-4 minutter. Serveres varm.

Den sidste gnalling parmesan rækker ikke langt, men riv den fint og bland den med lidt fint revet citronskal og en masse fint hakket persille. Rør det hele med olivenolie, og bland det i en portion nykogt pasta.

Jeg har brugt grøn båndspaghetti, men brug den, du kan lide. Du kan f.eks. blande hakket svinemørbard fra i går i retten eller evt lidt skinke eller laks. Bruger du færdigkøbt bechamel, er retten endnu nemmere.
Kog 300 g pasta. Kog 2 dl bouillon op med 2 dl madlavningsfløde 18 %. Kom 200 g fine ærter fra frost i, kog op, og smag til med citronsaft, salt og peber. Vend pastaen i. Smyldr 4 stegte baconskiver over, og giv friskrevet parmesan til.











"""
(4 personer)
Arbejdstid: 15 min.
Ikke fryse-egnet

Ingredienser:
2 dåser tun i vand
2½ dl piskefløde
1 usprøjtet citron
3 spsk kapers
salt og peber
500 g frisk fettuccine
1 bundt purløg
"""

* Lad tunen dryppe af i en sigte.
* Kog fløden op med 2 tsk fintrevet citronskal og 2 spsk citronsaft. Skru ned til lav varme.
* Bryd tunen i store stykker og kom dem i fløden sammen med kapers.
* Lun tunen i fløden uden at røre for kraftigt. Smag sovsen til med peber og evt. salt (tun og kapers salter i sig selv).
* Kog pastaen i letsaltet vand i det antal minutter, som er angivet på emballagen. Lad pastaen dryppe af i en sigte og vend den forsigtigt med tunsovsen.
* Drys med hakket purløg og servér med det samme.


-som tilbehør til grillmaden eller som en selvstændig ret, salaten har sin faste plads på sommerbordet.



Med en stavblender kan du nemt lave kaloriefattige, grønne supper i alle farver, også rød


Barber Gel er et vidundermiddel på både gulvtæpper og duge.

Gnis det på pletten, så det skummer lidt og lad det sidde natten over. Tag en klud og lidt lunkent vand og pletten er væk.

Skærer man toppen af en persillerod og sætter den i et glas vand, vil den begynde at vokse. Den ser køn ud i vindueskarmen, og efter kort tid kan man klippe af den og anvende det grønne som persille.
Når man laver rullesteg eller benløse fugle, kan det være lidt af et problem at få persillen til at blive på sin plads. Hvis men, inden persillen skal bruges, overhælder den med lidt kogende vand og derefter hælder koldt vand over, er den let at arbejde med.

!!Sådan gør du:
Vask en håndfuld urter, dup dem tørre, og fjern stænglerne. Rist 2-3 spsk. pinjekerner eller solsikkekerner på en tør, varm pande. Blend urter og kerner med et nip salt, 2-3 spsk. revet parmesan og ca. 1 dl olivenolie - tilsæt olien lidt ad gangen, så konsistensen bliver rigtig. I køleskab har pestoen en holdbarhed pp 4-5 dage.

!!Egnede urter:
Basilikum, persille, purløg, rucola og koriander.

!!Tip:
Blend krydderuter og olie til en dejlig krydderolie, her kan du også bruge rosmarin og timian. Både pesto og krydderolie kan fryses, så er holdbarheden flere måneder. Frys krydderolien i isternebakker, så kan du løbende tage ud til marinader og saucer.


Steg nogle flade bøffer, og brug dem som fyld i pitabrød.
fyld op med coleslaw salat som kan købes færdigt i større supermarkeder.
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

\define thisListMacro()
<$view field=title/> - {{$:/data/Pletter##$(thisIndex)$}}<br>
\end

\define thisEditListMacro()
<$view field=title/> - {{$:/data/Pletter#$(thisIndex)$}} <$button>Fjern<$action-deletefield $tiddler='$:/data/Pletter' $field=$(thisIndex)$ $value=''/></$button><br>
\end

\define thisRegEx()
$(thisSearch)$(?i)
\end

\define thisSearchMacro()
<ul>
<$list filter="[[$:/data/Pletter]indexes[]regexp:title[(?i)$(thisSearch)$]]">
<li>''<<currentTiddler>>''<hr> <$transclude tiddler="$:/data/Pletter" index=<<currentTiddler>>/></li><br>
</$list>
</ul>
\end

\define thisEditMacro()
<ul>
<$list filter="[[$:/data/Pletter]indexes[]regexp:title[(?i)$(thisSearch)$]]">
<$set name=thisItem value=<<currentTiddler>>>
<li><<thisDeleteButton>> ''<<currentTiddler>>''<hr> <$transclude tiddler="$:/data/Pletter" index=<<currentTiddler>>/></li>

</$set>
</$list>
</ul>
\end

\define thisDeleteButton()
<$button set='$:/data/Pletter##$(thisItem)$'>{{$:/core/images/delete-button}}</$button>
\end

@@background:blue;color:white;font-weight:bold;{{!!blurb}}<br>Pletter på æren er svære at gøre noget ved, pletter på tøjet derimod findes der ofte råd for.@@

Udtryk: <div style="text-indent:px;"><$edit-text class='tc-edit-texteditor' size="60" tiddler='$:/temp/pletter' field='name'/></div>
Betydning: <div style="text-indent:px;"><$edit-text class='tc-edit-texteditor'  tag="textarea" tiddler='$:/temp/pletter' field='meaning'/></div>
<$reveal type='match' state='$:/temp/pletter!!name' text=''>
<$button>Tilføj betydning</$button>
</$reveal>
<$reveal type='nomatch' state='$:/temp/pletter!!name' text=''>
<$button>Tilføj Betydning
<$action-setfield $tiddler='$:/data/Pletter' $index={{$:/temp/pletter!!name}} $value={{$:/temp/pletter!!meaning}}/>
<$action-setfield $tiddler='$:/temp/pletter' name='' meaning=''/>
</$button>
</$reveal>
<$reveal type='nomatch' state='$:/state/pletter/editreveal' text='edit'>
<$button set='$:/state/pletter/editreveal' setTo='edit'>Redigér ordbog</$button>
</$reveal>
<$reveal type='match' state='$:/state/pletter/editreveal' text='edit'>
<$button set='$:/state/pletter/editreveal' setTo='noedit'>Afslut redigering</$button>
</$reveal><br>
Søg: <div style="text-indent:px;"><$edit-text tiddler='$:/temp/pletter' field='search'/></div>
<$reveal type='nomatch' state='$:/state/pletter/editreveal' text='edit'>
Skriv i søgefeltet for at finde specifikke udtryk på listen
</$reveal>
<$scrollable class='tc-scrollable-opslag'>

<$reveal type='match' state='$:/state/pletter/editreveal' text='edit'>
Klik på papirkurven for at fjerne et udtryk
</$reveal>
<$set name='thisSearch' value={{$:/temp/pletter!!search}}>
<$reveal type='nomatch' state='$:/state/pletter/editreveal' text='edit'>
<<thisSearchMacro>>
</$reveal>
<$reveal type='match' state='$:/state/pletter/editreveal' text='edit'>
<<thisEditMacro>>
</$reveal>
</$set>
</$scrollable>

<style>
.tc-scrollable-opslag{
	border: 1px solid blue;
	background-color: aliceblue;
	padding: 1em;
	height: 300px;
}
</style>


Står du og mangler purløg til pynt på f.eks. æggestand, så kan du i stedet tage et par pæne porreblade og klippe dem i small strimler på langs og derefter på den anden led. De skal helst være så små som muligt. Nu har du flot og grønt drys, som smager lige så godt som purløg.
Også porregrønt kan bruges. Gør det omhyggeligt rent, og læg det i en pla<stboks i køleskabet, det forlænger holdbarheden. Brug det grønne i krydderbuketter eller snit det fint til grønt drys på kartoffelmadder og urtesupper.
interens grøntsager kombineret med rejer er friskt og sundt.


!Kød

|Kød med ben til steg og lignende | 200 - 250 g.|
|Kød med ben til gryderetter og lignende | 125 - 200 g.|
|Kød med ben til kogning og lignende | 200 - 250 g.|
|Benfrit kød til kogning | 150 - 175 g.|
|Benfrit kød stegt på pande og lignende | 150 - 200 g.|
|Benfrit kød til gryderetter og lignende | 75 - 150 g.|
|Hakket kød til kødsovs og lignende | 75 - 125 g.|
|Hakket kød til bøf og lignende | 100 - 150 g.|
|Hakket kød til fars afhængigt af fyldstof | 75 - 125 g.|
|Indmad | 200 - 250 g.|

!Fisk

|Hel torsk | 400 - 450 g.|
|Udskåret torsk | 250 - 350 g.|
"""
2 spsk ribsgelé
2 tsk klar honning
1 lille fed hvidløg, presset
1 tsk soyasauce
2 tsk rødvinseddike
1 dråbe tabasco
salt & peber
350 g poussin, istandgjort
15 g smør
1 tsk majsmel eller maizena
"""

!!Pynt:

"""
Persille
æble i skiv.
"""

Kom ribsgelen i en lille skål og smelt den i 20-30 sek.på højste effekt. Tilsæt honning, hvidløg, soyasauce, eddike og tabasco. Forvarm et bruningsfad i 4 min. på højste effekt eller efter fabbrikantens brugsanvisning Kom smør i fadet og læg poussinen med brystsiden nedad. Kog i 1½ min. på højste effekt for at give farve. Vend den og kog i et min. på højste effekt. Hæld saucen over og kog under låg 5-6 min. på middel effekt, indtil kødsaften er klar. Læg puossinen på et opvarmet serveringsfad. Bland majsmelet med 2 tsk. vand og kom jævningen i saucen. Kog i 30-45 sek. på højste effekt, til saucen jævner. Rør rundt 2 gange. Hæld saucen over poussinen, pynt med persille og skiver af æbler og server.

Kilde: Christian Phillip, 30 Jan 94
;Author:
:{{!!author}}

;Link:
{{!!url}}








Er små, grønne franske linser. De har en god smag og koger ikke så let ud. Linser er rige på B-vitaminer, kostfibre og proteiner. Det er en god idé at blande linser i pasta, det gør pastaretter mere mættende og næringsrige. Linser kan også  bruges alene som tilbehør til kød- og fiskeretter, her kan du smage linserne til med citronsaft, hakket persille og evt. hvidløg.
;Author:
:{{!!author}}

;Link:
{{!!url}}
<$scrollable class='tc-scrollable-mad'>

<$list filter="[tag[Pynt]]+[sort[title]]"><$link to={{!!title}}><$view field="title"/></$link><br>
</$list>
</$scrollable>
Der findes mange forskellige slags pærer. Den almindelig pære, som vi kender på vores breddegrader, hjar en dejlig sød smag, når den er moden. Den umodne pære har en sur og bitter smag. Pærer kan anvendes i både desserter, salater og juice.

Kan være røde og gule - og er dejligt bløde i skindet og søde i smagen. Gode i stort set alle sammenhænge.
!Pålæg, opbevaring
Ofte bliver det dyrt indkøbte pålæg for gammelt eller blot kedeligt i køleskabet. Pak det ind i plastbøtter med lidt forskelligt i hver og frys ned. Nu kan en bøtte tages frem efter behov og alt bliver spist op.

!Billigt smørbart pålæg af rester

"""
1 kogt kartoffel
1 rest kød eller fisk
hakket løg efter smag
1 hårdkogt æg
Lidt sennep
"""

Moses med en gaffel, og man har en god og billig portion smørbar pålæg.




En dejlig rabarberdessert, som ikke ligger så tungt i maven og derfor er fin efter en mættende hovedret.

Denne rabarberdessert stammer oprindeligt fra Canada.









Har man ingen rasp til æblekagen, kan man i stedet bruge cornflakes, der knuses i en plastikpose med kagerullen.

{{!!url}}
{{!!url}}
<$macrocall $name=toc tag={{!!title}}/>


Dansk remoulade som den fra supermarkedet; men selvfølgelig meget bedre. Mikkel anbefaler at lave en stor portion pickles, som kan holde sig i månedsvis i køleskabet. Når du er i humør til remoulade, rører du en smule hakket pickles op med mayonnaise: nemt, lækkert og helt uden E-numre.
"""
Er der nogen, der husker, at
rense man kan
de snavsede flasker med
stene og vand?
Små bitte sten -
jeg selv bruger ral
at ryste flasken er så,
hvad du nu skal.
Men stop ikke vasken,
brug en si, min ven.
De sten kan jo bruges igen
og igen.
"""
Prøv dette billige råd i stedet for diverse læderrengøringsmidler.

Pisk en æggehvide og gnid det ind i læderet. Lad det sidde i cirka 15 minutter og tør efter med en tør klud.

Æggehviden pelejer og renser samtidig med, at den er billig og effektiv.


Revet squash fylder godt i gryderetter, brød og krydderkager, uden at man egentlig kan smage det. Og så bliver det hele både lettere og sundere af det!

!!Vil du have perfekt vasketøj, skal der stå tre forskellige typer vaskepulver ved vaskemskinen.

@@float:left;margin-right:15px;
<div class="groupbox">
<h3>Det rigtige pulver</h3>
<b>Til hvidt tøj:</b><br>
Vaskepulver emd blegemiddel, enzymer og TAED<br><br>

<b>Til kulørt tøj:</b><br>
Vaskepulver uden blegemiddel og optisk hvidt, men med ensymer til kulørt tøj.<br><br>

<b>Til uldtøj::</b><br>
Special vaskepulver til uld.<br>
</div>
@@

<style>
.groupbox
	{ display:block; padding:1em; -moz-border-radius:1em;-webkit-border-radius:1em; background-color:lemonchiffon; color:#000; border:2px #D1D1D1 inset;width:20em;height:23em;overflow:auto;}
</style><br>
Vi kender det. Det dyre, kridhvide håndklæde er blevet gråt og trist, og teenagerens røde sweatshirt ligner en afbleget las efter blot få ture i vaskemaskinen.

Ærgerligt og spild af penge til både tøj, vaskemaskine og -pulver.

Ifølge energirådgiverne hos SEAS-NVE skyldes de sørgelige resultater ofte, at vi ikke bruger det rigtige vaskemiddel til den rigtige opgave. Således bør vi investere  i mindst tre forskellige typer vaskepulver for at få så perfekt vasketøj som muligt.

Med det rigtige vaskemiddel kan du til gengæld vaske kulørt tøj rent på 30 Grader eller 40 grader, og det hvide, der tåler kogning, bliver rent på 60 grader.

Er vaskemidelet og temperaturen rigtig, kan du samtidig glæde dig over tøj, der holder sig pænt længe - og dertil et mindre elforbrug. Det sidste, du sksal tænke på, før du starter vaskemaskinen, er, om du har doseret rigtigt. Doseringen afhænger ikke kun af, hvor beskidt tøjet er, men også af, hvor i landet du bor. Jo hårdere grundvande ti hanerne er, jo mere vskemiddel skal du bruge. På kommunen kan de hjælpe dig med oplysninger om vandets hårdhedsgrad.

!!Hjælp til maskinen
Når tøjet er sorteret, og det rigtige pulver fundet, bør du lige efterse vaskemaskinen, så den også kan yde sit bedste. Tjek sæbeskuffen og rengør den gerne, hvis der sidder sæbe- eller kalkrester.

på de fleste vskemskiner er der også en trevlesi, som mange glmmer at rense regelmæssigt.

<div style="clear:both;line-height:0px;"></div>
Klassiske hvide ris er selvfølgelig mest udbredt, men også smagsmæssigt kedeligst.

De tilfører hurtigt optagelige kulhydrater, så er man vægtbevidst, er de et mindre godt valg. Fiberindholdet er lavt, ligesom hvide ris ikke tilfører vitaminer og mineraler af betydning.

<<tagging>>

Rester af løse ris kan fryses og siden bruges i salater, fars til frikadeller, kødboller og farsering af grønsager. De kan også fryses portionsvis, for de bliver fine, hvis de tøs op i mikroovnen.

Dette er en meget let og frisk risdessert med et strejf af appelsin…. jeg har valgt at servere den med rabarberkompot, men man kan jo lige så godt bruge en hindbærcoulis, ferskencoulis eller lign. Så kunne man også drysse desserten med ristede mandelflager…. 
2 personer

"""
½ l mælk
75 g grødris (1 dl)
1/4 tsk groft salt
"""

!!Tilbehør:

"""
kanelsukker
saftevand
smør
"""

''Kogetid:'' Ca 25 min. ved halv effekt.

Kom mælk og ris i en dyb skål (ca. 3 liter). Dæk skålen løst med plastfilm. Kog grøden i microbølgeovnen i ca. 10 min. Tag skålen ud og rør grøden igennem. Fortsæt kogningen i ca. 10 min. Rør atter grøden igennem. Kog den derefter i ca. 5 min. Lad grøden hvile tildækket i ca. 5 min. Smag til med salt.

Tips: Under hele kogningen i microbølgeovnen skal skålen være løst dækket med plastfilm.

Kilde: Karolines Køkken 5.
Når der skal koges risengrød er man næsten heldig, hvis den hverken brænder på eller koger over. Og føj for en ulækker gryde.

Derfor : kom risen i en koge-/stegepose, hæld mælken over luk til - ikke tæt - med "en plastikposelukker" og kog den (posen med risen) i vandbad i en stor gryde. Posens top trækkes ud under låget og fungerer som en slags "skorsten"

Det skal koge lige så længe som sædvanlig, men der skal ca. 1/4 del mere ris i den sædvanlige portion. Når risengrøden er kogt hældes den op i en skål der kommes en smule salt i og grøden piskes/røres til den har passende konsistens. Sommetider hælder jeg lidt mælk fra ved begyndelsen, så kan jeg bedre bestemme hvor stiv den skal være. 

Efter jeg er begyndt at anvende denne fremgangsmåde, får vi risengrød flere gange om året - det smager jo godt nok.

eller

Når jeg koger risengrød, lader jeg lige mælk og gryn koge op. Derefter pakker jeg gryden ind i et håndklæde og så ind under et tæppe eller dyne. Det er vigtigt at gryden bliver pakket rigtig godt ind for at bevare varmen. Lad det stå 1½ time. Derefter skal grøden lige koges lidt, og så er den klar - grøden når ikke at brænde på i gryden. Det er et gammelt bedstemor tricks og det virker! :-) Og så er det energibesparende og man undgår at skulle stå og røre i gryden særlig længe.

Bollerne bruges ofte i oksekøds- og hønsekødssupper sammen med kød- og melboller. Det kan let blive for meget, synes jeg - men i hyldbærsuppe smager de godt.


Vælg endelig de pølser, du bedst kan lide. Økologiske pølser med ramsløg fra www.aalbaekspecialiteter.dk anbefales.





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

Sandwichplader

4 skiver toastbrød
50 gr. Roquefort
50 gr. smør
8 valnødder

Hak nødderne, smør brødet på ydersiden, og læg 2 skiver i griletten. Bland resten af smørret med Roquefort og nødder. Fordel det på brødet. Læg toastskiver på toppen. Lul griletten og lad det stege 3-4 minutter.
Er en spændende pink bøftomat, som både er god tilberedt i madlavning og rå som snack eller i salater.

Rosenbrød er en klassiker som det nok kan være værd at prøve.

Det siges at dronning Kleopatra dagligt vaskede sit ansigt i rosenvand, og det bruges stadig til hudpleje, da det giver fugt til huden. Rosenvand har en parfumeret smag og bruges også til madlavning. Kan fås i indvandrerbutikker.
Stødt koriander er et godt brødkrydderi. Smagen er lidt citrusagtig og den står fint til rosiner.



Bager du selv rugbrød, har du sikkert oplevet, at skorpen har det med at revne, specielt når man skærer brødet i skiver. Undgå problemet således: Afkøl det bagte rugbrød i ca. 10 minutter og pensl top og sider (ikke bunden) med olie. Pak herefter brødet ind i et viskestykke og en plastpose og lad det hvile til næste dag. Nu vil brødet være lige til at skære i skiver, uden at skorpen revner.
For en lille menneskealder siden spiste vi danskere langt mere rugbrød. Ja, så meget at vores nutidige forbrug kun udgør en beskeden brøkdel af fortidens. Samtidig er forbruget af hvedebrød vokset.

Hveden har udkonkurreret rugen, og det er rigtig skidt for folkesundheden. Hvedemel går lige i blodt og giver en masse insulin, hvilket medfører fedme og flere følgesygdomme.

En af de vigtigste ting, du kan gøre for dit helbred er at nedsætte kroppens behov for at producere insulin. Det gøres sved at vælge de langsomt fordøjelige kulhydrater, som eksempelvis er dem, du finder i grøntsager. Men brødvalget er mindst lige så afgørende. Ordentligt rugbrød giver kun cirka 60 % af den insulinbelastning, som hvedebrød giver.

Men hvad er ordentligt rugbrød.

Det kan lyde indlysende, men er det ikke. Masser af "rugbrød" er for en stor dels vedkommende hvedebrød. Hvis ud læser på deklarationen, vil du finde hvedemelet på en fremtrædende plads - ikke mindst i de billige brødtyper, for det er billigere at lave hvedebrød end det er at lave rugbrød. Rugbrød på 100 % rug er definitiv t det bedste, og det må gerne være med flest muligt rugkerner. Hele kerner tilføjer ekstra naturlige fibre og er rige på helsebringende stoffer - og det er dem, der ofte går tabt ved formalingen.

et rigtigt godt rugbrød er også blegt. Nogle rugbrød har en mørk farve, og den kommer fra karamel eller hårdtristet malt. Ingen af delen er ligefremt sundt, så undgå de farvede og de sødeste typer. Det optimale rugbrød rugbrød er lavet på "gammeldags" mel malet på en grov stenkværn, så det er fri for skadelige små melpartikler. Melet skal have bevaret mest muligt af kliddet og helst også kimen - den lille spire, der sidder inderst i kernen.

Giv dig selv og dit helbred en håndsrækning. Lade hvedebrødet blive på bagerhylden, og vælg i stedet det kernesunde gammeldags rugbrød.





Da jeg forleden manglede min stålbørste til at rense mine ruskindssko, som var blevet meget grimme, fandt jeg på at tage en grydesvamp.
Den ru side fik lidt vand og derefter gned jeg skoene - det viste sig, at være meget bedre end stålbørsen. De blev bare SÅ flotte.

Godt råd til at fjerne "fingre", fedtpletter og meget andet fra hvidevarer lavet af rustrift stål: Brug babyolie på et stykke køkkenrulle, og tør af. Det er meget billigere end special-rengøringsmiddel, og det virker lige så effektivt.






Rødbeder har været i danskernes kost i mere end 400 år. Når de er helt nye, er de milde i smagen, men satdig fulde af alt det gode som A-vitaminer og fibre. Rødbeder har haft forwskellig betydning i dansk madkultur. I middelalderen og renæssancen havde vi selvstændige retter med rødbeder, idet man lagde vægt på retter medkontraster i farve og smag. Da rokokkokøkkenenet værdsatte blidere saucer og lysere mad, gled rødbeden i baggrunden og indtog en mindre plads som syltet rødbede. Da smørrebrødet udbviklede sig i 1900-tallet, var rødbeden en vigtig del, ligesom den også var naturlig følge til mange af gryderetterne fra 1800-tallet.

Hvis du har spist på en af de mere trendy cafeer eller restauranter for nylig, så har du næsten med garanti fået rødbede i en eller anden form, og det kan såmænd lige så vel være i forretten som i desserten - eller i hvoedretten selvfølgelig. Rødbeder er hot og kokkene er vilde med den rødlilla grøntsag, der kan pynte på enhver ret. Netop farven fortæller, at rødbeder er sprængfyldt med det, man med en fællesbetegnelse kalder for fytokemikalier. Fytokemikalierne er stoffer, der menes at beskytte mod kræft, samt mod sygdomme og de gebrækkeligheder, der følger med aldren og/eller skidt livsstil. Og kan det ikke overvinde din mistro mod en grøntsag, du hidtil har set forvist skiveskåret til sur eddikelage, så kan vi fortælle, at den og dens farvefæller også fungerer som indvendige rynkecremer Få fyldt op, før sommeren og rynkeskurken, solen, er over os.

Ovnbagt, syltet, presset til saft, rød og sød.
"komme hvad der komme vil, bare der er rødbede til, sang revykunstneren Osvald Helmuth.
Tanken faldt på den klassiske syltede rødbede. Den sursøde smag dølgede alt andet; leverpostejen, biksemaden og sildeslaten.
Rødbeden tog smag af indeklemt borgerkøkken, den faldt i unåde, men har fået nyt liv. Bagt som stave i ovenen med balsamico, kogt i suppe som russisk borsjtj, revet i salater, bagt i brød, presset til saft eller puré eller hjemmesyltet på gammeldags facon.
Rødbeden er i familie med blandt andet spinaten og sukkerroen. Den indeholder næsten 10 procent sukker og en anelse flere kalorier end en gulerod. Farven skyldes betalainer, der er gode antioxidanter. Rødbedem indeholder også folsyre, A-vitamin og kalium.

Sænker blodtrykket
Ny amerikansk forsksning har vist at rødebedejuice sænker blodtrykket og giver større udholdenhed, når man træner.

Røde ris indeholder foruden antocyaniner også stoffet lovostatin, der i andre sammenhænge benyttes som kolesterolsænkende medicin.

Røde ris er derfor et godt valg, hvis man har problemer med kolesteroltallet.

Lovostatin dannes af en gærsvamp, som har vokset på risene.

r en uundværlig følgesvend til flæske- og andestegen op til jul, og der er mange skønne måder at tilberede kålen på. Den mest enkle er rå og fintsnittet i salatskålen -gerne sammen med frugt og nødder. Rødkålen kom kom senere til Danmark end hvidkålen. Den første trykte opskrift med rødkål kan man finde i en kogebog fra 1785, og det er da trods alt et par år siden. Den smukt farvede kål er fyldt med C-vitamin og kostfibre, og den er herligt sund om vinteren, når der ikke er så mange andre danske grønsager på hylderne.
En dejlig mættende salat

Er rensende for kroppen og godt for kredsløbet.
Er der et enkelt glas rødvin tilbage i flasken? Lad det komme saucen til gode en dag, du steger bøffer eller koteletter.
kog panden af med vinen, lad den fordampe helt og fortsæt derefter, som du plejer, når du laver pandesauce.






Kan genbruges når du planter blomster, grøntsager og lignende i haven. Du bruger rørepindene til at skrive, hvad du har plantet.
En lækker forret eller velkomstret.



Hvis man vil lave nogle gode saftige karbonader, så er her et godt råd: Riv 1 dl gulerødder og ældt det i ca. 600 g hakket kød. Gulerødderne bevirker, at karbonaderne ikke bliver tørre, og de kan også fryses og beholde den gode saftige smag. Gulerødderne smager ikke igennem og det er desuden en både billig og sund løsning, da gulerødder jo ikke koster ret meget.
<$scrollable class='tc-scrollable-mad'>

<$list filter="[tag[Salat]]+[sort[title]]"><$link to={{!!title}}><$view field="title"/></$link><br>
</$list>
</$scrollable>




"""
(4 personer)
Arbejdstid: 15 min.
Ikke fryse-egnet

Ingredienser:
1 dåse aspargessnitter
200 g rejer
2 avocadoer
1 rød grapefrugt
1 salathoved
2 tsk tabasco
2 spsk citronsaft
1 spsk olivenolie

Tilbehør:
godt brød
"""

* Lad aspargesene og rejerne dryppe af i en sigte. Fjern skal og sten fra avocadoerne og skær dem i skiver.
* Skræl grapefrugten og skær den i kvarter – fjern den hvide kerne i midten. Skær grapekødet i skiver.
* Skyl og tør salaten, bryd den i stykker og anret den på et fad. Fordel asparges, rejer avocado og grapefrugt mellem salaten.
* mellem salaten. Rør tabasco, citronsaft og olie sammen og dryp dressingen over salaten. Servér med godt brød til.







Smagen af grøn salat er især god, når den kommer fra friland. Bløde salatblade kan bruges i dressing.

Blend 2 håndfulde salatblade med brødkrumme af 1 skive hvedebrød, lidt knust hvidløg, 1 spsk. vineddike og 3 spsk. jomfruolivenolie og smag til med salt og peber.

Salt klumper sig sammen, når det kommer i forbindelse med fugt - også selv om det er i en saltbøsse. Kom lidt løse ris ned i saltbøssen, så risene kan opsuge fugten. Så er saltet altid til at få ud.
Vokser helt ude på sandstranden - som en kaktus i ørkenen.

Frankmændene er vilde med den og sylter den eller salter den.

Prøv selv at plukke af de små grønne planter og klippe dem som purløg over salat og mad med tomat og æg.
Bager du sandkage med rosiner, så prøv at lægge rosinerne i appelsinsaft et par timer, inden de kommes i.
<$scrollable class='tc-scrollable-mad'>

<$list filter="[tag[Sandwich]]+[sort[title]]"><$link to={{!!title}}><$view field="title"/></$link><br>
</$list>
</$scrollable>




















Sandwichplader

4 skiver toastbrød
2 skiver mild ost
hvidløg
1/2 bdt. persille
35 gr. sardiner
2 spsk. kapers
2 spsk. olivenolie
1/4 tsk. sort peber
sorte oliven

Skær skorpen af brødet og smør det på ydersiden, læg 2 skiver i griletten. Lav en mos af sardiner, kapers og hvidløg, og bland olivenolie og hakket persille i. fordel massen på brødskiverne, og kom peber på. Læg osteskiverne og de 2 sidste brødskiver over
<$scrollable class='tc-scrollable-mad'>

Får måden til at glide ned, men kan også klistre den sammen.
Sovs, sauce.....kært barn har mange navne.......den er af mange anset for at være kartoflens bedste ven.

"""
[[Sæt forskellig smag på saucen]]
[[Sådan jævner du saucen]]
"""

<$list filter="[tag[Sauce]]+[sort[title]]"><$link to={{!!title}}><$view field="title"/></$link><br>
</$list>
</$scrollable>
(Medisterpølsering)
Savoykål minder en del om hvidkål, men har større og mere krusede blade og giver derfor mere fylde og struktur - og en meget smuk farve - til gryderetter og salater.

De yderste blade er nemme at skille fra hovedet og gøre savoykål ideel til at pakke om fisk, kyllingebryst eller en god fars. Til gengæld er det kun de inderste, lyse blade, der egner sig til salater.

Savoykål, der er skåret ud i strimler, smager desuden særligt godt i wok-retter stegt med hvidløg og ingefær og egner sig også glimrende som fyld i en lasagne.

I modsætning til hvidkål bliver savoykål hurtigt tør og bør derfor opbevares køligt og helst i en plasticpose.
Created using TWclassic

{{!!url}}


Det kan være rigtig svært at finde selv-hævende mel i Danmark, så jeg bruger en opskrift fra Nigella Lawson: 215g mel, 2½ tsk. bagepulver og 3/4 tsk. fint salt.

|Lille drikkeglas | 150 ml|
|Mellem drikkeglas | 200 ml|
|Stort drikkeglas | 250 ml|
|Hvid-/rødvinsglas | 150 ml|
|Ølglas | 330 ml|
|Hedvinsglas | 60 ml|
|Snapseglas | 20 ml|
|Kaffekop | 150 ml|
|Tekop | 200 ml|
|Krus | 250 ml|
|Plastbæger, kaffe | 150 ml|
|Suppetallerken | 250 ml|
|Kaffeske | 3 ml|
|Teske | 5 ml|
|Spiseske, stor | 15 ml|
|Knivspids (unøjagtigt mål)| ca. 1/4 ml|

I stedet for at købe dyre uldvaskemidler kan du bruge almindelig hårshampoo. Det er jo beregnet til at pleje og vaske hår og virker fint både tll hånd- og maskinvask.

Da jeg var barn, blev der spist byggrød i mange hjem, når det var sidst på måneden.

Jeg var derfor rimelig misundt af kvarteres unger, fordi min mor lavede meget bedre mad sidst på måneden. Der var rift om at være venner og spise med på det tidspunkt ;-)

Det kunne bestemt ikke forklares med større indtægt i husstanden - tværtimod. Min mor var blot forudseende og idérig....og orkede at gøre det ekstra arbejde oven på en meget lang arbejdsdag.

Det er nemlig ikke altid pengene, der afgør, om maden bliver god!
Mor lod den slunkne pengepung være en udfordring til fantasien i stedet for at gøre den til en undskyldning for at spise noget, der ikke gør én nogen gavn, ja, så er man kommet langt. tænk bare på, hvad det så kan blive til, når bedre tider melder sig.

Min far gik meget op i idræt..havde en landstræner funktion, men han havde ikke megen idé om kostbudgetter eller mad i det hele taget. Han havde NOGEN idéer, han havde samlet op hist og her og som blev citeret ustandselig. Hvordan vi skulle betale for det, se det overvejede han aldrig.

Ditto kom hans familie, mor og søster ustandselig til middag, andre sportsvenner til kaffe og hjemmebag. Budgettet til dette...næh, det deltog han ikke lige i.

Han bedyrede imidlertid ofte, at når nu han gik på arbejde og tjente penge!!!!!

Mor knoklede i hans butik, når han var ude med sin sport - derudover alt med hjem, tøj, vask, indkøb, pasning af hans gamle mor osv. Men tjah....han troede vel at tingene opstod af sig selv - ikke kostede noget osv.

Mor arbejdede også med servering i weekender til andre menneskers fester, men der var far jo til sports konkurrencer.

Ligesom med økonomien, tror jeg heller aldrig han overvejede, at mor gerne ville have lidt fri...eller måske blot gerne være sammen med sin mand en gang imellem, uden at der sad et helt selskab og ventede opvartning.

Han forstod ikke, at når hun nu var så træt, som hun sagde, at hun da så ikke bare skyndte sig i seng, lige så snart gæsterne var gået.

Men mor stoppede vasketøj i maskinen, lagde rent tøj frem til far, så han ikke blev ved med automatisk at gå i det samme, vaskede op og gjorde klar til en ny dags udfordringer. Uden...var hun blevet kvalt allerede på 2'nden eller 3'die dagen.



Vend sildefilter i rugmel. Dette sparer på fedtstoffet, da rugmel ikke suger nær så meget fedt som rasp, og så smager de faktisk også bedre.

{{!!url}}




Falder dit hjemmebagte brød sammen, eller har du rugbrødsrester? I stedet for at lave det til rasp eller give det til fuglene, brækker du ca. 1/4 i stykker og udbløder det i vand. Tilsæt 25gr. opløst gær og rør det op med mel. Bag det på sædvanlig måde og få et fint og velhævet brød.

Jeg lærte det af min mor, som kaldte det "Skorpebrød"
Mor lærte det i 30erne og da måtte intet gå til spilde.
Læg et par sammenfoldede avissider i bunden af skraldeposen. Avisen opsuger vædske, du slipper for spild i køkkenskabet, hvis posten er utæt.
Klip fingrene af en gammel gummihandske og lad dem glide ned omkring håndtaget på din kost, svaber og lignende. Det forhindrer redskaberne i at vælte, når du stiller dem op mod væggen. (Måske væggen heller ikke bliver lige så medtaget, som når Frank gør det).


Udskift halvdelen af skyllemidlet med eddike ved tøjvask i maskine.

Derved afkalkes maskinen ved hver vask, og der spares skyllemiddel.

Tøjet dufter stadig lige godt.
!Skønhed kommer indefra og er til at grine a'

Alle vi piger mellem 20 og 75 ser jo brølende godt ud, synes vi selv. Og vi bør ikke lade os rokke fra den mening, selv om andre ikke deler den.

Man går til frisøren, og han siger: "De krøller er ikke så gode, for Deres pande er temmelig lav!" Så forlader man ham og ser frem til at skulle frisere sig med en blæselampe de næste måneder.

Man prøver lykken i en kjoleforretning og bliver modtaget af en ældre "kropdue", der meddeler, at man nu er temmelig kortlivet. Heldigvis kan man gå ind i en anden butik og bede om at prøve en kjole, der står i vinduet.

Damen "synker" sine sølvøjenlåg, skyder parykken på plads og siger: - "Den kan du overhovedet ikke være i."

Så går man hjem og kigger i spejlet efter en tyk, kortlivet dame med neanderthal-pande. Og så griner man højt og vedvarende og tænker: De er alle sammen misundelige, for du ser stadigvæk brandgodt ud!

Det gør vi piger, bare vi husker at le. Og der er masser at le ad.


!!Gimpe vits

- Hej, søde Gitte, hvor har du været henne?

- Jeg kommer lige fra skønhedsklinikken!

- Nå, var der lukket!

Konkrete råd kan du søge i [[SøgbarOpslag/skønhedspleje]]
Med yoghurt naturel (lige dele af hvert), det bliver desserten kun sundere af.
Slås du mod kiloene, også selv om du både spiser rimeligt fornuftigt og bevæger dig? SÅ gå lige din dagligdag efter i sømmene. Arbejder du måske for meget? Eller sover du for lidt?

Arbejder du mere end ni timer pr. dag, øger du din risiko for at bliver overvægtig med hele 30% - og sover du mindre end seks timer pr. nat, stiger den med tyve procent, viser nye undersøgelser.

Hvorfor nu det? Måske fordi for meget arbejdede og for lidt søvn får kroppen til at stor-producere stresshormonet kortisol. Og kortisol får blodsukkeret til at svinge, øger appetitten og får kroppen til at lagre fedt på maven.
<$scrollable class='tc-scrollable-mad'>

<$list filter="[tag[Slik]]+[sort[title]]"><$link to={{!!title}}><$view field="title"/></$link><br>
</$list>
</$scrollable>



Tilsæt lidt olie til smør, der brunes, så branker smørret ikke så legt.





<$scrollable class='tc-scrollable-mad'>

<$list filter="[tag[Snacks]]+[sort[title]]"><$link to={{!!title}}><$view field="title"/></$link><br>
</$list>
</$scrollable>




Grønsagsretten fra oldemors køkken kan serveres som selvstændig ret eller med pølser eller røget kød til.

Soja kan i for store mængder øge kvinders risiko for brystkræft.
Rugbrød smager hverken sødt eller mildt, men er væsentligt i den danske madkultur. De fleste elsker et hjemmebagt rugbrød.

;Author:
:{{!!author}}

;Link:
{{!!url}}


Sæsonen for sommerhvidkål er kort.

Sommerhvidkål er en løsere, lidt mere sprød og mild form for hvidkål.
Brug den i salater som coleslaw og almindelige råkoster, eller prøve at snitte den og dampe den i smør, hakket tomat og evt. lidt vand.


Sommerlig og frisk salat, som serveres med et stykke godt rugbrød til.
Mange sandaler har den skavank, at de om sommeren hurtigt kommer til at lugte. vask dem indvendigt i Rodalon (bakteriedræbende middel), så forsvinder lugten. Fås hos materialisten og på apoteket. Man behøver ikke skylle Rodalonen af igen. Bare lad sandalerne tørre.


Sorte ris indeholder sunde stoffer af typen antocyaniner, der blandt andet menes at styrke immunforsvaret. Desuden er sorte ris rige på kostfibre, som styrker tarmfunktionen og mætter bedre.
Spaghetti med avocado er nemt lavet og smager skønt - både alene og som tilbehør til stegt kød.



Låner du på biblioteket (vel snart en anakronisme for brugerbetalere), så brug kvitteringen som bogmærke.

Du kan altid holde øje med afleveringsdatoen. Dummebøderne er blevet ganske høje, så bedst for alle, at de undgås.
* bag selv. Selv med økolgisk mel kan du bage til en fjerdedel af prisen på købebrød
* Udnyt rester. Gem alt, og få det hele brugt, inden det bliver dårligt. Brug køleskab og fryser, og vær omhyggelig med hygiejnen.
* Hav et lager af langtidsholdbare råvarer, som suppleres op, når tingene er på tilbud.
* Lav mad af det, du har, i stedet for atkøbe ind til en ret, du har i hovedet.
* Køb tunge, danske grøntsager. Kål, rodfrugter, løg og porrer er billigere og sundere end salat, agurk, auberginer mm.
* Sørg for rigeligt mættende tilbehør som kartofler, ris og pasta.
* Køb de fleste varer i discountbutikker og specialbutikker.

Kilde: Rolf Lund. Forfatter til "Kogebog for fattigrøve" og "Fattigrøvens sunde kogebog".
Vi ved jo alle, at salt forstærker smagen i mad og drikke.

Det kan du bruge til at spare på kaffebønnerne. Kom en knivspids salt i kaffen og tag et mål kaffe mindre end normalt. Kunne folk godt lide din kaffe før, så kan de stadig godt lide den, for de opdager det ikke.
!Websites der viser dig vedj til prissammenligninger:
* prislinks.dk
* prisportalen.dk
* forbrug.dk
* kelkoo.dk
* pricerunner.dk
* hvidevarepriser.dk
* edbpriser.dk
* bilpriser.dk
* bilbasen.dk
* forsikringsluppen.dk
* mybanker.dk


!Køb og salg af brugt:
http://www.dba.dk

http://www.trendsales.dk

!Pristjek af banker, forsikringer samt telefon og internet:
http://www.mybanker.dk

http://forsikringsguiden.dk

http://forsikringsluppen.dk

http://www.teleprisguide.dk

!Afbrudsrejser:
http://www.rejseguide.dk

!Strømforbrug og produktpriser:
http://www.hvidevarepriser.dk

http://www.edbpriser.dk

!El-spareråd:
http://www.elsparefonden.dk
Der er ikke meget arbejde ved spareribs, men de skal have deres tid i ovnen for at blive møre og gode.
Brug espressomaskine og tørretumber mindre.

Sluk lyset efter dig, og sænk temperatyren en grad.

Tag kortere brusebade

Sluk printer og computer, når du ikke bruger det.

Sammenlign priser og strømforbrug før køb af ny vaskemaskine eller køleskab. 

Indstil vaskemaskine til lavt vandforbrug, vask koldere og start først maskinen, når den er fuld.

Drik vand som er billigst og sundest.
Hvem kan tåle at spise med af retten - og være glade for deltagelsen...;-)

<div class="tc-link-info">

<$list filter="[tag[Special mad]] -[[Special mad]] +[!sort[title]limit[4]]">

<div class="tc-link-info-item">

! <$link><$view field="title"/></$link>


<div class="tc-subtitle">Opdateret <$view field="modified" format="relativedate"/></div>


<$transclude/>


</div>

</$list></div>
Vi udviklede en speciel opskrift på hjemmelavet nutella for nogle år siden:
Når spejler æg, bruger jeg meget lidt fedtstof. Lige før panden tages af komfuret, hælder jeg en smule vand langs kanten af æggene, og problemet med at få æggene fri af panden er løst.




Inspirationen er hentet fra den koreanske let gærede spicy kålsalat - dette er en lynudgave.
Dansk spidskål er en rigtig sommerting. Den er fint sartgrøn med mørkere yderblade. Selve kålen er løst "rullet" i modsætning til f.eks. hvidkål. Kålsmagen er helelr ikke så gennemrængende. Brug spidskål rå i salater, dampet som tilbehør eller strimlet og stuvet i en let mælkestuvning. En delikatesse til sommerlige frikadeller med masser af friske krydderuter og et stykke groft rugbrød.
;Kilde
:De Danske Vægtkonsulenter
Spinat er en superleverandør af det naturlige A-vitamin, kun overgået af gulerødder, dild og mælkebøtteblade. Og spinat er lettere at få i lidt større mængder end dild. Det naturlige A-vitamin er godt for især slimhinderne og huden.
Spinat har også et dejligt højt indhold af magnesium, som gavner både stressniveau og hjerte-kredsløb og giver også gode B- og E-vitaminer samt zink. Spinat indeholder også oxalsyre, så selv om det er sundt, skal man ikke overdrive. Det gælder især, hvis man har tendens til nyre- eller blæresten eller lider af gigt.




Næste gang, du står foran et tagselvbord, så tag af grønsagsretterne først.
Hvorlangt vil du gå for at få den rene, bløde og sunde hud? Alverdens dyre hudprodukter kan ikke stille noget op, hvis ikke du har styr på kosten.

Så start med at rense indefra, så du både syner og føles af mere. Det kan du gøre ved at få:

''Fisk'' som indeholder olier, dernærer din hud.
''Hørfrø'' som er en glimrende kilde til de omega-3 fedtstyrer, der er så vigtige for vores hud.
''A-vitaminer'', som er eseentielle for sund hud. Dem får du ved at spise gulerødder, søde kartofler, squash, broccoli og spinat.
''E-vitaminer'' som du kan få ved at spise nødder og mandler.
Større portioner af grønsager efterlader mindre plads til en energikompakt mad. Det betyder, at du kan spise dit mæt uden at tage på.
Nogle gange er en portionsjustering det eneste, der skal til for at spare kilojoules. Store portioner får folk til at tage større mundfulde og til at spise hurtigere.
!Spisetider
Ny forskning på det svenske Karolinska Institutet af over 4.000 60 årige bekæfter, at uregelmæssige spisevaner ikke bare øger din risiko for at få æblefacon (et taljemål over 80) og et for højt fedtindhold i blodet.
Sjuskede spisevaner gør også din risiko for at udvikle højt blodtryk, insulinresistens (sukkerafhængighed) og hjerte-kar-sygdom større.


Denne salat er fyldig nok til at være et let sommermåltid. Servér den med brød til og nyd, at noget så simpelt kan smage så godt.





Hvis spækkebrættet stadig lugter lidt af løg eller noget andet efter opvask, kan man komme det i fryseren i 24 timer. Det tager lugten.


Suppen er rundet af med lidt fløde. Huske at stille resten af fløden hurtigt på køl igen.


Der skal være gods i en stegepande, ellers slår den sig ved høj varme. Tykbundet af støbt aluminium med en kerne af jern. Slip let-behandlet på begge sider, så den er nemt at holde ren. Red spot, der viser, når panden har nået en passende temperatur til stegning.

Tefal har lavet nogen pander, der matcher signalementet.
Stevia sukker er udtræk af urten stevia, som har en utroligt sød smag - og sukkeret er derfor 100 % naturligt.
Original Stevia sukker søder ca. 5 gange så meget som almindeligt sukker og består af udtræk fra stevia-planten blandet med rørsukker. Den lille mængde rørsukker gør, at produktet kan karamelllisere og fungere som almindeligt sukker. Sukkeret fås også uden tilsætning af rørsukker og er i den variant helt uden kalorier.
Sukkeret fås i bl.a. helsekostbutikker og meget velassorterede supermarkeder.
Stikkelsbærbusken stammer oprindeligt fra Sydeuropa og Vestafrika, og først i 1600-tallet dukker den op i Danmark. I dag er den en af vores mest populære bærbuske. Bærrene findes i mange varianter med faver, der spænder lige fra grøn over ful og rød til purpurfarvet. Nogle bær er behårede, andre er næsten glatte, nogle er søde, mens andre må betegnes som syrlige - men alle er de meget velsmagende, uanset om de spises friske fra busken eller til brug i kager og desserter eller som middagstilbehør.







Er dit strygejern brændt på og har fået en belægning - så fortvivl ikke. Brug skraberen til det glaskeramiske komfur til at skrabe belægningen af med. Efter et par skrab er strygejernet så godt som nyt igen.
Vil du have fine, letstivede servietter eller duge, kan de nemt stives med denne klassiske blanding hældt på en sprayflaske.
Opløs 2 spsk. kartoffelmel i 2 dl koldt vand og pisk det i 1 liter kogende vand. Lad det afkøle, før du giver strygetøjet et pift.

på http://rolflund.dk finder du blandt andet 18 idéer til anvendelse af en rest kyllingebryst, andre idéer til at strække mad og 9 lette grøntsagsretter til at supplere med.

At skær ned på kødet er samtidig ofte at skær end på kronerne, og her er Rolf Lund en ekspert.

I 1992 fik han for første gang udgivet "Kogebog for fattigrøve", der er solgt i mange eksemplarer og er genudgivet flere gange.
Mængderne af ingredienser er ikke så afgørende, så det er en god måde at bruge små rester fra hylden på.
Alle opskrifter på dette link er indsendt af studerende til studerende.

Opskrifterne er derfor nemme og billige. Der er især mange gode forslag til hovedretter og desserter. Så hvis du kan lide at lave god mad, uden at det skal være alt for besværligt og dyrt, så er dette siden for dig.

{{!!url}}


[[Ingefær, hvidløgs snaps]]
Gamle, sorte stegegryder står i det rå jern og ruster derfor let, hvis man ikke opbevarer dem tørt nok. Moderne sorte gryder har en tynd emaljering, en såkaldt grundemalje, der beskytter mod rust. Den er til gengæld sårbar over for stød, og den tåler heller ikke hård opvarmning, uden at der er noget i gryden, eller pludselig afkøling.


Sukkeret i sig selv indeholder ingen næringsstoffer, og der er heller ikke nævneværdige mængder af vitaminer og mineraler i de sukkerholdige produkter. Man taler populært om tomme kalorier, det vil sige produkter, som giver energi, men ingen eller kun få vitaminer og mineraler. Det betyder at for meget af de søde sager optager pladsen fra andre sundere fødevarer. Hvis man vil leve sundt og undgå overvægt, er der ikke plads til sodavand, slik, chokolade og kage særligt ofte.
Fastbrændt sukker på panden kan være svært at få af. Jeg kommer lidt eddike på panden og lader den stå et par minutter, og så er det bare at skylle panden af.
I virkeligheden den kost, der ville være sundest for os alle sammen!

[[Hver 10.dansker får diabetes, er det dig?]]

<$list filter="[tag[Sukkersyge]] -[[Sukkersyge]] +[!sort[title]]">

</$list>
Brug som dip til chips og grøntsagstængler eller som smørrelse i en sandwich.
Da de indsatte i et engelsk fængsel fik en kost beriget med næringsstoffer og tilskud med omega-3, kunne man konstatere et fald i voldelige epeisoder på 33%. Dette fremgår af et forsøg, som er udført af forskere ved Oxford University.

!Nåh....det forklarer jo Esther, Annelise og Frank....

Esthers hvidemel med kulør og grønne kartofler.....Frank overtager konceptet og kan kun spise andet, når vi andrer betaler og laver det hele...

Som sin mor, KAN han ikke få mad på bordet, "Hvad skal det dog til for med al det mad"...ytret efter adskillige dage uden morgen, middag eller aftensmad.

Hvorfor er det lige at han skal købe ind og lave mad? spurgte Annelise

Jo, da jeg selv tjente penge, var det ikke nødvendigt...undtagen hvis jeg ville have noget at spise, når han havde taget alt fra min fryser med over til sin mor.

Da han ødelagde min karriere...for det "behøvede" jeg da ikke....han skulle jo bare over til Esther og Ejnar og bruge masser af penge og knokle, .....du kan jo bare tage med.

Om jeg nu ikke har mad i huset hjemme, eller tager med til Esther og heller ikke får noget at spise et par dage...så vil jeg helere sulte hjemme uden at skulle slide for hende og finde mig i voldelig adfærd og mordforsøg (kvælning).



Første betingelse for at kunne tale om MELLEM måltider er, at der reelt spises faste måltider. Normalen er 3 daglige måltider fordelt på morgen,middag og aften.
Morgenmåltidet skal give energi til dagens arbejde ligesom man ikke kan køre i sin bil uden at der fyldes benzin på.
Aftenens sidste måltid må ikke spises for sent, da tarmene skal have tid til at fordøje maden. Det menes at give forhøjet risiko for tarmkræft at spise lige før sengetid. I hvert fald kan et større måltid lige før sengetid lige så vel som sultfornemmelse forstyrre den gode og nødvendige søvn.

Spiser man alt for mange af de nemme og hurtige mellemmåltider, kan de være årsag til et alt for stort indtag af sukker og fedt. Halvliteres sodavand, poser med slik og chips er for mange hverdagskost, og selvom de små snacks ikke rigtig regnes for noget, bidrager de med mere "tom" energi, end man umiddelbart tror.

At det er sundt at spise flere små måltider spredt over hele dagen, ved de fleste.
Regelmæssige måltider giver et stabilt blodsukker og maven noget at arbejde med.
Kropen får ligeledes mulighed for at fordøje maden ordentligt, og der sker en bedre udnyttelse af næringsstofferne. Derved sikrer man lettere variation i kosten, man holder bedre vægten og indtagt af sukker og fedt begrænses.

Det er de færreste, der kan klare sig på en kost fordelt på tre måltider uden at blive småsulten og irritabel. For at forhindre at blodsukkeret falder, skal der helst ikke gå mere end 3 timer mellem måltiderne, og derfor kan det anbefales, at der foruden de tre hovedmåltider er to til tre mellemmåltider.

Mellemmåltiderne skal ifølge anbefalingerne dække mindst 20 % af dagens samlede energi, og derfor er det heller ikke ligegyldigt, hvad man spiser til mellemmåltid.

Kulhydratrige mellemmåltider som f.eks. brød, knækbrød, frugt og grøntsager, er noget af det sundeste. De giver en længere mæthedsfølelse, og samtidig bidrager de med masser af vitaminer og mineraler. Er man meget lækkersulten, kan en mad med marmelade eller honning måske dække behovet - ellers prøv med en lille håndfuld tørret frugt.


<$macrocall $name=toc tag={{!!title}}/>
<$scrollable class='tc-scrollable-mad'>
Når vinteren er koldest, og Kyndelmisse har slået sin knude, skal der gerne lidt ekstra kraft og krydderier i madlavningen til at holde varmen.

Her er forslag til dejlige hjemmelavede supper.<br><hr>

<$list filter="[tag[Suppe]]+[sort[title]]"><$link to={{!!title}}><$view field="title"/></$link><br>
</$list>
</$scrollable>
Den nemme opskrift på en hurtig gang sur/sød sovs, der kan bruges både som dip til en rulle, eller som sovs til asiatiske ris retter.
Svampe kan  passende være en del af den anbefalede mængde frugt og grønt. De er både sunde og alsidige grøntsager, da næringsindholdet er stort. De har et højt indhold af kalcium og B-vitamin, og som mange andre grøntsager har svampe et lavt fedtindhold, så spis bare løs.




!!Kartoffelmarcipan

Den består blot af et halvt kg fint mosede usaltede Kartofler (kogte), som æltes med et halvt kg Flormelis og smages til med et Par Dråber Mandelessens. Dersom Marcipanen er for tør, tilsættes Rosenvand. Den bør ikke gemmes for længe, da den bliver knastør, og så er den ikke god.
Kilde: Sven Holm: Farmacevtens Juleknas, 1945, side 26.

!!Svensk bondeglögg:

I en Gryde gives en Flaske Bayersk Øl et Opkog med en Håndfuld Rosiner (gerne Erstatnings) og en Håndfuld smuttede Mandler (Nøddekerner) samt et Par Stumper Appelsin- eller Citronskal eller syltet Pomeransskal. I dette varme Opkog blandes en Teskefuld Kanel (erstatning) eller bedst et Stykke hel Kanel, samt en Halvflaske dansk Cognac og en Helflaske Portvin (også dansk). Alt varmes til ca. 60 Grader, d.v.s. godt varm, og serveres straks.

Den er for Viderekomne.
Det bliver en meget lav, klæg kage med kraftig smag af chokolade.
Grill-plader

2 svinekoteletter uden ben
1 kvist frisk salvie
salt
peber

Koteletterne krydres med salt, peber og salvie, og grilles efter behag i grilletten. serveres med grøn salat og flutes.

4 personer

"""
4 svinekoteletter
1 spsk smør
"""

!!Sauce:

"""
2 løg
4 tomater
½ agurk
1 spsk smør
2 appelsiner
2 spsk sukker’
3 spsk hvidvinseddike
4 spsk sojasauce
1 tsk tørret ingefær eller 2 tsk frisk reven
2 spsk Maizena
¾ dl vand
salt
peber
"""

Pil løgene. Skær løgene i skiver og tomaterne i både. Skræl agurken. Skær den igennem på langs og derefter i tynde skiver. Bland løg og smør i tildækket skål. Tilbered på 650 watt i 5 minutter. Smelt smørret på panden til koteletterne og steg dem , mens saucen tilberedes. Pres appelsinerne. Bland tomaterne, agurkerne, sukker, hvidvinseddike, sojasauce, appelsinsaft og ingefær i de dampede løg. Tilbered på 650 watt i 4 minutter. Rør Maizena ud i vandet og bland i saucen. Tilbered på 650 watt i 4 minutter. Smag til med salt og peber. Server saucen til stegte koteletter og giv brød eller løse ris til.

Kilde: www.hoi.mobilixnet.dk - Birthes Madside - Mad/Bag lille 1



Svinekød,med dets milde smag, egner sig godt til at stege i wok sammen med krydderier. Her er brugt ingefær, chili og lime, men du kan selv eksterimentere med andre kombinationer. Ogsp grøntsagerne kan du skifte ud. Jeg har kun brugt porre, men andre grøntsager kan sagtens blandes i.
Når du skyller porrerne, er det bedst først at skære dem i ringe og derefter skylle dem.
Sådan bliver de renest.
"""
2 svinemørbrad (600 g)
½ dl sake
½ dl sojasauce
1 fed hvidløg
1 tsk frisk, reven ingefær
1 porre
peber
"""

Rens porren godt, vask den og snit den. Pil hvidløget og snit det. Læg hvidløg og porre i et fad sammen med sake, soja og ingefær. Lad mørbradene marinere i denne blanding i 12 timer. Vend dem et par gange. Efter de 12 timer sættes mørbradene tildækket i ovnen på 2/3 effekt i 3 - 4 min. på hver side. Tilsæt peber, når halvdelen af tiden er gået. Salt ikke da sojasaucen er meget salt. Lad dem hvile.

Serveres med kogt ris og friske sojabønnespirer, der er blancherede og ristet i smør.

Kilde: Mikrobølger - nem og hurtig madlavning af Christine & Bernard Charretton.

Udgivet af Moulinex.
Brug resten af mørbreaden til pålæg eller kom den i pastaretten i morgen. Bønnesalaten er hurtig at tilberede og også fin f.eks. at tage med til frokost næste dag.


En lille rest syltede agurker og rødbeder hakkes fint og røres i en almindelig frikadellefars sammen med samme mængde kapers og finthakket løg. Ca. 2 spsk. af hvert vil passe til fars af 500 g kød. Frikadellerne steges som sævanligt: langsomt ved hævn varme og heder nu
"Bøf Lindstrøm". (sådan da)
<$scrollable class='tc-scrollable-mad'>

"""
[[Sådan sylter du]]
[[8 gode sylteråd]]
"""

<span title="Sensommersylt"><$button message="tm-modal" param="Sensommersylt" >Sensommersylt</$button></span>

<$list filter="[tag[Syltning]]+[sort[title]]"><$link to={{!!title}}><$view field="title"/></$link><br>
</$list>
</$scrollable>

"""
Abrikoser juli-sept
Blommer juli-okt
Blåbær juli-sept
Brombær juli-aug
Ferskner juli-sept
Græskar aug.-okt
Hindbær juli-aug
Hyben aug.-okt
Hyldebær sept-nov
Jordbær juni-juli
Kirsebær aug.
kvæder okt-nov
Nektariner juli-sept
Paradisæbler aug.-sept
Pærer juli-nov
Rabarber april-sept
Ribs juli-aug
Rønnebær sept-okt
Solbær juli
Stikkelsbær juni-aug.
Tyttebær aug-nov
Valnødder aug. sept
"""

\define thisListMacro()
<$view field=title/> - {{$:/data/Opslag##$(thisIndex)$}}<br>
\end

\define thisEditListMacro()
<$view field=title/> - {{$:/data/Opslag#$(thisIndex)$}} <$button>Fjern<$action-deletefield $tiddler='$:/data/Opslag' $field=$(thisIndex)$ $value=''/></$button><br>
\end

\define thisRegEx()
$(thisSearch)$(?i)
\end

\define thisSearchMacro()
<ul>
<$list filter="[[$:/data/Opslag]indexes[]regexp:title[(?i)$(thisSearch)$]]">
<li>''<<currentTiddler>>''<hr> - <$transclude tiddler="$:/data/Opslag" index=<<currentTiddler>>/></li><br>
</$list>
</ul>
\end

\define thisEditMacro()
<ul>
<$list filter="[[$:/data/Opslag]indexes[]regexp:title[(?i)$(thisSearch)$]]">
<$set name=thisItem value=<<currentTiddler>>>
<li><<thisDeleteButton>> ''<<currentTiddler>>''<hr> - <$transclude tiddler="$:/data/Opslag" index=<<currentTiddler>>/></li>

</$set>
</$list>
</ul>
\end

\define thisDeleteButton()
<$button set='$:/data/Opslag##$(thisItem)$'>{{$:/core/images/delete-button}}</$button>
\end

@@background:blue;color:white;font-weight:bold;{{!!blurb}}@@

Udtryk: <div style="text-indent:px;"><$edit-text class='tc-edit-texteditor' size="60" tiddler='$:/temp/opslag' field='name'/></div>
Betydning: <div style="text-indent:px;"><$edit-text class='tc-edit-texteditor'  tag="textarea" tiddler='$:/temp/opslag' field='meaning'/></div>
<$reveal type='match' state='$:/temp/opslag!!name' text=''>
<$button>Tilføj betydning</$button>
</$reveal>
<$reveal type='nomatch' state='$:/temp/opslag!!name' text=''>
<$button>Tilføj Betydning
<$action-setfield $tiddler='$:/data/Opslag' $index={{$:/temp/opslag!!name}} $value={{$:/temp/opslag!!meaning}}/>
<$action-setfield $tiddler='$:/temp/opslag' name='' meaning=''/>
</$button>
</$reveal>
<$reveal type='nomatch' state='$:/state/opslag/editreveal' text='edit'>
<$button set='$:/state/opslag/editreveal' setTo='edit'>Redigér ordbog</$button>
</$reveal>
<$reveal type='match' state='$:/state/opslag/editreveal' text='edit'>
<$button set='$:/state/opslag/editreveal' setTo='noedit'>Afslut redigering</$button>
</$reveal><br>
Søg: <div style="text-indent:px;"><$edit-text tiddler='$:/temp/opslag' field='search'/></div>
<$reveal type='nomatch' state='$:/state/opslag/editreveal' text='edit'>
Skriv i søgefeltet for at finde specifikke udtryk på listen
</$reveal>
<$scrollable class='tc-scrollable-opslag'>

<$reveal type='match' state='$:/state/opslag/editreveal' text='edit'>
Klik på papirkurven for at fjerne et udtryk
</$reveal>
<$set name='thisSearch' value={{$:/temp/opslag!!search}}>
<$reveal type='nomatch' state='$:/state/opslag/editreveal' text='edit'>
<<thisSearchMacro>>
</$reveal>
<$reveal type='match' state='$:/state/opslag/editreveal' text='edit'>
<<thisEditMacro>>
</$reveal>
</$set>
</$scrollable>

<style>
.tc-scrollable-opslag{
	border: 1px solid blue;
	background-color: aliceblue;
	padding: 1em;
	height: 300px;
}
</style>
\define thisListMacro()
<$view field=title/> - {{$:/data/Par##$(thisIndex)$}}<br>
\end

\define thisEditListMacro()
<$view field=title/> - {{$:/data/Par#$(thisIndex)$}} <$button>Fjern<$action-deletefield $tiddler='$:/data/Par' $field=$(thisIndex)$ $value=''/></$button><br>
\end

\define thisRegEx()
$(thisSearch)$(?i)
\end

\define thisSearchMacro()
<ul>
<$list filter="[[$:/data/Par]indexes[]regexp:title[(?i)$(thisSearch)$]]">
<li>''<<currentTiddler>>''<hr>  <$transclude tiddler="$:/data/Par" index=<<currentTiddler>>/></li><br>
</$list>
</ul>
\end

\define thisEditMacro()
<ul>
<$list filter="[[$:/data/Par]indexes[]regexp:title[(?i)$(thisSearch)$]]">
<$set name=thisItem value=<<currentTiddler>>>
<li><<thisDeleteButton>> ''<<currentTiddler>>''<hr>  <$transclude tiddler="$:/data/Par" index=<<currentTiddler>>/></li>

</$set>
</$list>
</ul>
\end

\define thisDeleteButton()
<$button set='$:/data/Par##$(thisItem)$'>{{$:/core/images/delete-button}}</$button>
\end

@@background:blue;color:white;font-weight:bold;{{!!blurb}}@@

Udtryk: <div style="text-indent:px;"><$edit-text class='tc-edit-texteditor' size="60" tiddler='$:/temp/par' field='name'/></div>
Betydning: <div style="text-indent:px;"><$edit-text class='tc-edit-texteditor'  tag="textarea" tiddler='$:/temp/par' field='meaning'/></div>
<$reveal type='match' state='$:/temp/par!!name' text=''>
<$button>Tilføj betydning</$button>
</$reveal>
<$reveal type='nomatch' state='$:/temp/par!!name' text=''>
<$button>Tilføj Betydning
<$action-setfield $tiddler='$:/data/Par' $index={{$:/temp/par!!name}} $value={{$:/temp/par!!meaning}}/>
<$action-setfield $tiddler='$:/temp/par' name='' meaning=''/>
</$button>
</$reveal>
<$reveal type='nomatch' state='$:/state/par/editreveal' text='edit'>
<$button set='$:/state/par/editreveal' setTo='edit'>Redigér ordbog</$button>
</$reveal>
<$reveal type='match' state='$:/state/par/editreveal' text='edit'>
<$button set='$:/state/par/editreveal' setTo='noedit'>Afslut redigering</$button>
</$reveal><br>
Søg: <div style="text-indent:px;"><$edit-text tiddler='$:/temp/par' field='search'/></div>
<$reveal type='nomatch' state='$:/state/par/editreveal' text='edit'>
Skriv i søgefeltet for at finde specifikke udtryk på listen
</$reveal>
<$scrollable class='tc-scrollable-opslag'>

<$reveal type='match' state='$:/state/par/editreveal' text='edit'>
Klik på papirkurven for at fjerne et udtryk
</$reveal>
<$set name='thisSearch' value={{$:/temp/par!!search}}>
<$reveal type='nomatch' state='$:/state/par/editreveal' text='edit'>
<<thisSearchMacro>>
</$reveal>
<$reveal type='match' state='$:/state/par/editreveal' text='edit'>
<<thisEditMacro>>
</$reveal>
</$set>
</$scrollable>

<style>
.tc-scrollable-opslag{
	border: 1px solid blue;
	background-color: aliceblue;
	padding: 1em;
	height: 300px;
}
</style>
\define thisListMacro()
<$view field=title/> - {{$:/data/Pleje##$(thisIndex)$}}<br>
\end

\define thisEditListMacro()
<$view field=title/> - {{$:/data/Pleje#$(thisIndex)$}} <$button>Fjern<$action-deletefield $tiddler='$:/data/Pleje' $field=$(thisIndex)$ $value=''/></$button><br>
\end

\define thisRegEx()
$(thisSearch)$(?i)
\end

\define thisSearchMacro()
<ul>
<$list filter="[[$:/data/Pleje]indexes[]regexp:title[(?i)$(thisSearch)$]]">
<li>''<<currentTiddler>>''<hr>  <$transclude tiddler="$:/data/Pleje" index=<<currentTiddler>>/></li><br>
</$list>
</ul>
\end

\define thisEditMacro()
<ul>
<$list filter="[[$:/data/Pleje]indexes[]regexp:title[(?i)$(thisSearch)$]]">
<$set name=thisItem value=<<currentTiddler>>>
<li><<thisDeleteButton>> ''<<currentTiddler>>''<hr>  <$transclude tiddler="$:/data/Pleje" index=<<currentTiddler>>/></li>

</$set>
</$list>
</ul>
\end

\define thisDeleteButton()
<$button set='$:/data/Pleje##$(thisItem)$'>{{$:/core/images/delete-button}}</$button>
\end

@@background:blue;color:white;font-weight:bold;{{!!blurb}}@@

Udtryk: <div style="text-indent:px;"><$edit-text class='tc-edit-texteditor' size="60" tiddler='$:/temp/pleje' field='name'/></div>
Betydning: <div style="text-indent:px;"><$edit-text class='tc-edit-texteditor'  tag="textarea" tiddler='$:/temp/pleje' field='meaning'/></div>
<$reveal type='match' state='$:/temp/pleje!!name' text=''>
<$button>Tilføj betydning</$button>
</$reveal>
<$reveal type='nomatch' state='$:/temp/pleje!!name' text=''>
<$button>Tilføj Betydning
<$action-setfield $tiddler='$:/data/Pleje' $index={{$:/temp/pleje!!name}} $value={{$:/temp/pleje!!meaning}}/>
<$action-setfield $tiddler='$:/temp/pleje' name='' meaning=''/>
</$button>
</$reveal>
<$reveal type='nomatch' state='$:/state/pleje/editreveal' text='edit'>
<$button set='$:/state/pleje/editreveal' setTo='edit'>Redigér ordbog</$button>
</$reveal>
<$reveal type='match' state='$:/state/pleje/editreveal' text='edit'>
<$button set='$:/state/pleje/editreveal' setTo='noedit'>Afslut redigering</$button>
</$reveal><br>
Søg: <div style="text-indent:px;"><$edit-text tiddler='$:/temp/pleje' field='search'/></div>
<$reveal type='nomatch' state='$:/state/pleje/editreveal' text='edit'>
Skriv i søgefeltet for at finde specifikke udtryk på listen
</$reveal>
<$scrollable class='tc-scrollable-opslag'>

<$reveal type='match' state='$:/state/pleje/editreveal' text='edit'>
Klik på papirkurven for at fjerne et udtryk
</$reveal>
<$set name='thisSearch' value={{$:/temp/pleje!!search}}>
<$reveal type='nomatch' state='$:/state/pleje/editreveal' text='edit'>
<<thisSearchMacro>>
</$reveal>
<$reveal type='match' state='$:/state/pleje/editreveal' text='edit'>
<<thisEditMacro>>
</$reveal>
</$set>
</$scrollable>

<style>
.tc-scrollable-opslag{
	border: 1px solid blue;
	background-color: aliceblue;
	padding: 1em;
	height: 300px;
}
</style>
Sølvtøjet bliver sort i skuffer og skabe - det gør det det nødvendigt at pudse det, hver gang, det skal i brug.

Det er luftens ilt, der gør søvtøjet sort, og du kan modvirke det på følgende måde:
Kom sølvtøjet i en plastpose og sug luften ud af posen. På den måde holder sølvtøjet længere, inden det skal pudses igen, da det ikke får tilført ilt.

Du kan også pakke det ind i bløde klude, f.eks. de engangsklude der ligner flonel.

!Hurtigpudsning af sølvtøj
Dæk bunden af en skåpl eller balje med aluminiumsfolie og hæld en blanding af 1 dl doda pr. liter kogende vand i. Læg sølvtøjet i blandingen nogle sekunder, skyld det i rent vand, læg igen sølvtøjet i blandingen, hvis du ikke er tilfreds. Det er vigtigt at sølvtøjet kun ligger i baljen nogle få sekunder ad gangen, da det ellers kan blive ødelagt.<br>
Denne behandling kan kun bruges, hvis dit sølvtøj ikke er oxideret, dvs. har nogle mørke partier i mønsteret.<br>
''Advarsel'' BRug aldrig salt i stedet for sodag, da det ødelægger sølvtøjet.

Heæ ska I høe lidt um et synnejysk kaffeboe,
Det var hen ve Chresten Pæsens gammel moe,
hon hai boj'n en masse fremme,
det var et gild æ alle glemme.

Føst sat vi inn i æ daule døns å snagge,
så gæk æ dø' obb inn te di anne gemagge,
å vi kum inn te et boe mæ manne slaus kaech,
få' gammel Stinne Pæsen va goej te å baech.

Te å begynn fæk vi pumle mæ et tycht lau smø',
så va dæ kringel, sum det sæ hø',
dæ va chokoladeplaekaech å søstekaech,
å det hele sku' vi da smaech.

Da vi umsije o æ laukacech tau fat,
da va  æ leeres Marie sat.
"Næi, ve do no va Marie, æ brø'tåert ska do da smaech"
Soej Stinne, å gaw hin et orntle stygg kaech.

En riståert var dæ å, å en laukaech mæ fløe
det va da godt, di bodde hai høns å køe,
få' hai di sku køef oll det kraem te æ kaech,
hai dæ nok it væt manne peeng tebaech.

Endle noij vi te æ småkaech
-det æ vist en syw-oet slau, Stinne olltie baech -
æ ku næsten it fo en bi' me'e ne'e
men Stinne soej "tæi da en knæbbkaech, den æ it så feøe"

Te ollesidst kum æ ingenting,
da va æ mauskin liech ve å spring,
men Stinne gaw sæ it, vi sku smaech et ollt,
æ wunnert mæ ve, te æ mauskin hollt,
så wenn æn it æ sun å rask å ha en may så stoøe,
ska æn it go mæ te et synejysk kaffebo'e.
Men vænn i hæ løist det heæ, hæ i moske dåchens lyst å lauw
et richte synnejysk kaffeboe sum i gammel dauw.


En römertopf er lavet af ler og består af et dybt fad med låg. Hver gang du bruger fadet skal du starte med at skylle det i i koldt vand, så lerfadet mættes af væske. Det giver maden saftighed og det gør, at den ikke brænder fast. en römertopf er derfor også en sund måde at tilberede mad på, da der ikke benyttes fedtstof til at smøre med.
HVis du gerne vil lave retten uden römertopf, kan du bruge et almindeligt ovnfast fad med låg, eller en stegegryde me dlåg, som kan tåle at komme i ovnen.
<iframe width="210" height="158" src="//www.youtube.com/embed/7bMhK0AW6vI" frameborder="0" allowfullscreen></iframe>

\define tag-styles()
background-color:$(backgroundColor)$;
\end

Første afkrydsnings boks tilføjer tiddlere tagget med relevant tag til listen. Den anden fjerner tiddlere med matchende tags.

@@.threecolumns
<$list filter="[tags[]!prefix[$]sort[title]]"><dt><$checkbox tiddler="$:/TagSøg/TagTil" tag={{!!title}}/> <$checkbox tiddler="$:/TagSøg/TagFra" tag={{!!title}}/> <$transclude tiddler="$:/core/ui/TagTemplate"/> <small class="tc-menu-list-count"><$count filter="[is[current]tagging[]!prefix[$]]"/></small></dt>
</$list>
@@

---

<$list filter="[[$:/TagSøg/TagTil]tags[]!prefix[$]]"><$setvariable name="backgroundColor" value={{!!color}}><$button style=<<tag-styles>>   class="btn-invisible tc-tag-label"><$transclude tiddler={{!!icon}}/><$view field="title" format="text" /></$button></$setvariable></$list><$list filter="[[$:/TagSøg/TagFra]tags[]!prefix[$]]"><$setvariable name="backgroundColor" value={{!!color}}><$button style=<<tag-styles>>   class="btn-invisible tc-tag-label"><$transclude tiddler={{!!icon}}/>~~<$view field="title" format="text" />~~</$button></$setvariable> </$list>

---


<$list filter="[[$:/TagSøg/TagTil]tags[]tagging[]] -[[$:/TagSøg/TagFra]tags[]tagging[]]  -[prefix[$]] +[sort[title]]" template="$:/ExpandableTiddlerTemplate"/>
\define tag-styles()
background-color:$(backgroundColor)$;
\end

Første afkrydsnings boks tilføjer tiddlere tagget med relevant tag til listen. Den anden fjerner tiddlere med matchende tags.

@@.threecolumns
<$list filter="[tag[opskrift]tags[]!tag[kategori]!prefix[$]sort[title]]"><dt><$checkbox tiddler="$:/TagSøg/TagTil" tag={{!!title}}/> <$checkbox tiddler="$:/TagSøg/TagFra" tag={{!!title}}/> <$transclude tiddler="$:/core/ui/TagTemplate"/> <small class="tc-menu-list-count"><$count filter="[is[current]tagging[]!prefix[$]]"/></small></dt>
</$list>
@@

---

<$list filter="[[$:/TagSøg/TagTil]tags[]!prefix[$]]"><$setvariable name="backgroundColor" value={{!!color}}><$button style=<<tag-styles>>   class="btn-invisible tc-tag-label"><$transclude tiddler={{!!icon}}/><$view field="title" format="text" /></$button></$setvariable></$list><$list filter="[[$:/TagSøg/TagFra]tags[]!prefix[$]]"><$setvariable name="backgroundColor" value={{!!color}}><$button style=<<tag-styles>>   class="btn-invisible tc-tag-label"><$transclude tiddler={{!!icon}}/>~~<$view field="title" format="text" />~~</$button></$setvariable> </$list>

---


<$list filter="[[$:/TagSøg/TagTil]tags[]tagging[]] -[[$:/TagSøg/TagFra]tags[]tagging[]]  -[prefix[$]] +[sort[title]]" template="$:/ExpandableTiddlerTemplate"/>
\define tag-styles()
background-color:$(backgroundColor)$;
\end

Første afkrydsnings boks tilføjer tiddlere tagget med relevant tag til listen. Den anden fjerner tiddlere med matchende tags.

@@.threecolumns
<$list filter="[tag[Indhold]!prefix[$]sort[title]]"><dt><$checkbox tiddler="$:/TagSøg/TagTil" tag={{!!title}}/> <$checkbox tiddler="$:/TagSøg/TagFra" tag={{!!title}}/> <$transclude tiddler="$:/core/ui/TagTemplate"/> <small class="tc-menu-list-count"><$count filter="[is[current]tagging[]!prefix[$]]"/></small></dt>
</$list>
@@

---

<$list filter="[[$:/TagSøg/TagTil]tags[]!prefix[$]]"><$setvariable name="backgroundColor" value={{!!color}}><$button style=<<tag-styles>>   class="btn-invisible tc-tag-label"><$transclude tiddler={{!!icon}}/><$view field="title" format="text" /></$button></$setvariable></$list><$list filter="[[$:/TagSøg/TagFra]tags[]!prefix[$]]"><$setvariable name="backgroundColor" value={{!!color}}><$button style=<<tag-styles>>   class="btn-invisible tc-tag-label"><$transclude tiddler={{!!icon}}/>~~<$view field="title" format="text" />~~</$button></$setvariable> </$list>

---


<$list filter="[[$:/TagSøg/TagTil]tags[]tagging[]] -[[$:/TagSøg/TagFra]tags[]tagging[]]  -[prefix[$]] +[sort[title]]" template="$:/ExpandableTiddlerTemplate"/>



Grill-plader

125 gr. hakket oksekød
1 æg
1 revet løg
1 agurk
salt
peber
2 skiver Gaudaost
1 hårdkogt æg
salt
peber
1 tsk. paprika
2 burgerboller

Bland æg, løg, salt, peber og paprika godt med det hakkede kød. Form massen til 2 små burgere og steg dem i 3-4 minutter i griletten. Burgeren pyntes med løg, agurk, ost og hårdkogt æg og anbringes i burgerbollen.

!!Metode 1:
Termokander kan være svære at gøre helt rene, men her er en fidus, der gør den så god som ny. Kom ca. 2 teskefulde bagepulver i termokanden og hæld kogende vand over. Bagepulveret bruser op. Lad det stå i en halv time og gør kanden ren. Nu skulle din termokande gerne være som ny igen.

!!Metode 2:
Fyld termokanden op med varmt vand tilsat 2 spiseskefuld (15 ml) natriumbikarbonat. Lad det stå i 3 timer og skyl derefter kanden.
Når du renser  malerpensel med terpenting, hæld da væsken tilbage på en flaske. Når flasken har stået en uges tid, er farven sunket til bundst og du kan genbruge terpentinen. Først når flasken er næsten fuld af farve, afleveres den på modtagestationen for miljøfarligt affald.
<$list filter="[tag[kategori]tags[]]"/>



Der er det ved tiddlere, at tiddlere er vidunderlige.....ofte gengivet citat i oversættelse.

Tiddlere er noget noget småtteri. helt små børn, småfisk, vi på dansk ville kalde skidtfisk.

Julia Donaldsen skrev en børnehistorie kaldet "Tiddler". Tiddler fortæller altid historier og er altid for sent på den......der er alt for mange historier at opleve for lille tiddler.

Se den på youtube: https://www.youtube.com/watch?v=lWUPNFVgsOg

Jeg synes det med det mindre omfangsrige, fortælle historier om alt muligt og altid have noget spændende at opleve passer meget godt med Tiddlywiki og tiddlere.

Kan være grønne, røde eller brune - og har i alle tilfælde mørke striber. De minder meget om bøftomater.
<$scrollable class='tc-scrollable-mad'>

Husk der skal andet end kød på tallerkenen!

<$list filter="[tag[Tilbehør]]+[sort[title]]"><$link to={{!!title}}><$view field="title"/></$link><br>
</$list>
</$scrollable>
[[Tilbud på økologisk kød fra Kødbilen - aktuelle tilbud online på Kødbilen.dk|https://www.kodbilen.dk/produkt-kategori/tilbud/]]
Grill-plader

4 bøffer af ca. 2 cm tykkelse (150-200 gr.)
2 spsk. olie
6 kviste frisk timian

Pensl bøfferne med olie og strø timiankviste på begge sider. Bøfferne grilles efter behag i griletten. serveres med haricots verts, pommes frites og halve grillede tomater.

!Hvis dejen klistrer:
Sigt en anelse mel over både dejen og bordet, og ælt videre med let hånd. Sigt mere mel over, hvis det er nødvendigt, men brug så lidt mel som muligt.

!Hvis dejen er for stiv
Er der kommet for meget mel i dejen, er den svær at redde. Fede deje som tærtedeje kan man forsøge at redde ved at ælte lidt mere fedtstof i, men det lykkes sjældent at ælte væske ind i en stiv gærdej.

!Hvis dejen er klumpet:
Ælt videre, til den virker ensartet og glat. 100 tag er ikke for meget.


Server de kogte krebs med en god blandet salat, gerne fyldig med ærter, måske nogle kogte kartofler og masser af godt brød gerne både lyst brød og knækbrød. Hertil vores lidt anderledes cremede tomatsalat med masser af urter. Den fungerer både som salat og dressing og kan serveres lun eller kold.

Til 6 personer

"""
1 dl vermouth extra dry
en kvart piskefløde
1 kg modne søde tomater
1 dl blandede, grovhakkede urter, persille, basilikum og oregano.
Salt
Peber

Kom vermouth og fløde i en gryde, og lad det simre tykt i ca. 15 minutter.
Tag fra varmen. 
Skær tomaterne over, og læg på et dybt fad. 
Hæld den lune fløde over tomaterne. 
Drys salt og peber over samt urter.
Server.

"""
Tip: Drys gerne lidt revet parmesanost over tomatsalaten ved servering.

Gavner dit helbred.

Der findes 7000 varianter, men ligegyldigt hvilken én, du vælger, er alle tomater fyldt med næring. De indeholder bl.a masser af c-vitamin, som er stærkt virus-hæmmende, de er fulde af lycopin, der hjælper til at forebygge kræft, og så er tomater en god kilde til E-vitamin, der med til at bekytte kroppen mod toksiner.


<<list-links filter:"[tag[Tomatsorter]]">>
Har man for mange tomater, er det nemt at fryse dem ned og senere anvende dem i f.eks. sammenkogte retter.

Jeg fryser dem altid med skindet på, for det er meget nemmere at flå dem, når de er frosne.

skindet falder næsten af af sig selv, når den frosne tomat kommer i noget varmt.
Brug bløde og overmodne tomater i tomatsocs, gryderetter m.m. Smag til med lidt sukker, det fremhæver tomatsmagen.






Optøet helbladet spinat kan bruges i stedet for porre, det giver heller ikke for mange kalorier.



;Primære ingredienser:
: Rogn, vand, planteolie og lidt tomatpasta. 

;Sundhedsvurdering: 
:Ud over at være en fortrinlig kilde til muskelopbyggende og mættende proteiner byder torskerognen også på en fin fedtsyrefordeling. En halv dåse dækker 25-30 procent af dit dagsbehov for omega-3-fedtsyrer og giver dig desuden andre kredsløbsvenlige fedtsyrer. Du får også masser af D-vitamin, så fx skelettet kan vokse sig stærkt, samt immunforsvarstyrkende E-vitamin og selen. 

;Bonusinfo: 
:Vær ikke bange for at komme en stribe remoulade oven på rognen. En solid stribe giver dig blot 20 kcal, som tilmed stammer fra sunde fedtsyrer.
Disse frikadeller er uden æg. Æg anvendes i frikadeller som bindemiddel, hvorfor kartoffelmel kan anvendes som alternativ for æg.
Frikadellerne er perfekte til aftensmaden, madpakken og kan med fordel fryses. Forårsløg er tilsat for syns skyld, så har du andet grønt i køkkenet anvender du dette (eller udelader) – fx. persille, purløg, porre (fintskåret) eller andet.
Lun nogle tortillaer. Smør dem græsk yoghurt samgt til med hvidløg eller hakket dild, og fordel kogt skinke i skiver eller kyllingepålæg, revne gulerødder og agurketern over. Krydr med salt og peber. Rul tortitallerne sammen, og spis dem som aftensmad sammen med f.eks. cherrytomater og snackærter.

Grill-plader

4 tournedos-bøffer
1 lille ds. ananas
olie
salt
peber
1 grøn peber i ringe
4 skiver magert røget flæsk

Pensl bøfferne med olie. Lad ananasen dryppe af i en sigte og tryk saften af med et stykke køkkenrulle. Bøfferne, ananasstykkerne og flæsket lægges i griletten, og grilles efter behag. Serveres med grøn pber, sovs og flutes.



!Pas på den friske tun.
Tun kan indeholde kviksølv i for store mængder, og du skal være opmærksom, uanset om du går efter dåserne, den friske eller den frosne tun.

Faktisk er den friske og frosne tun en større synder end dåsetunen og kan indeholde op til ti gange så meget kviksølv som dåserne. Inden du helt dropper tunen, skal du dog lige huske, at der stadig er langt op til grænseværdien.
;Primære ingredienser: 
:Stykker af tun, der ligger i en lage af vand og salt. 

;Sundhedsvurdering: 
:Sætter du tun i vand på menuen, vil du maksimere din muskelopbygning og mæthed. Tun er nemlig en sand proteinbombe, for en enkelt dåse dækker uden videre 25 procent af dit dagsbehov. Andre kvaliteter er væskeregulerende kalium, D-vitamin og ikke mindst immunforsvarsstyrkende selen. 

;Bonusinfo: 
:Tun kan indeholde for mange tungmetaller. Undersøgelser viser dog, at dåsetunen her er de friske tunbøffer overlegen. Det skyldes, at det er yngre tun med mindre gift i kroppen, der havner i dåserne, mens de velvoksne skæres ud og bruges til bøffer.
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
Steg nogle lækre tunbøffer i olie på en pande, og lav en skøn salat af små tern skrællet mango blandet med tomater og agurketern. Smag salaten til med lidt limesaft, og drys snittet forårsløg over.
Kan nydes både kold og lun - som forret eller hovedret.








En gammel ærøsk sømandsret.
<<.fav "''Larry Russell's'' originale ~TiddlyWiki Cookbook [[http://cookbook.tiddlyspot.com/]] blev lavet i 2006-2007 med ~TiddlyWiki version 2.1.2 og blev konverteret til ~TiddlyWiki 5.1.5 i 2014 af ''Stephen Kimmel'' [[http://twcookbook.tiddlyspot.com/]]. Der blev tilføjet adskillige opskrifter ved denne lejlighed.">>

<<.fav "''Tobias Beer'' lavet en pæn udgave i 2015 ~TiddlyWiki 5.1.7 [[http://tobibeer.github.io/me/cook/#Welcome]]">>

;Author:
:{{!!author}}

;Link:
{{!!url}}


Mad skal først og fremmest være sund, varieret og smage godt. Men her er nogle helt enkle tommelfingerregler, som er gode at huske på, når du gerne vil skære ned på kalorierne.

#Undgå sukker. Hold øje med det skjulte 'sukker' f.eks. saft, juice og ketchup.
#Undgå fede fødevarer. Men husk, du skal have nogle fedtstoffer, så prøv at få dem i umættet form fra f.eks. olivenolie.
#Unddgå for meget salt, det binder væsken i kroppen.
#Proteiner sætter forbrændingen i gang.
#Kostfibre er bedre end rene kulhydrater (hvidt brød, kartofler, hvideris), fordi de passerer relativt ufordøjet gennem systemet, så du får en jævn stigning i dit blodsukker.
Her er anvendt en dej, der ikke er så fed som den traditionelle, men den bliver dejlig sprød og god alligevel
Pak tærtedejen ind i husholdningsfilm, når den er æltet, og læg den koldt. Senere bredes filmen ud på køkkenbordet, og dejen rulles ud på samme film. Når dejen har en passende størrelse, lægges tærteformen med bunden i vejret oven på dejen, og hele herligheden vendes om. Filmen tages af, og dejen trykkes ned i formen og rettes til. På denne måde har du styr på tærtedejen, og køkkenbordet bliver ikke svinet til.
Kan bruges som enkel metode til at få styr på økonomien. Hvis det er gammeldags tøjklemmer af træ kan du skrive på dem med tusch.

Eks: "bank", "Giro", "refunderes af Danmark (fra apoteket), "Benzin", "Mastercard", "Skal betales" osv. Kvittering/bon sættes fast i klemmen, og når kontoudtoget modtages, er det nemt at overskue, om der er overensstemmelse.
Skær appelsiner i tynde skiver og læg dem til tørre på radiatoren i et døgns tid, eller tænd ovnen på 100 grader og læg appelsinskiverne i ovnen spredt ud på en bageplade i et par timer.
Hold øje med, at skiverne ikke bliver brændte, måske skal ovnen skrues endnu længere ned. Bind sejlgarn i skiverne til ophæng, eller lad dem ligge på et gad og dufte.
!!Sådan gør du
Saml de rene urter i et bundt. Rul bundtet ind i en avisside, som et meget løst kræmmerhus, og hæng det med åbningen nedad i et lunt rum i nogle uger. Lad urterne hænge, til de er så tørre, at stænglerne kan knækkes og bladene smuldres. Nulr bladene af stænglerne og fyld dem i et glas med låg.

!!Egnede urter:
Urter med stive stængler, for eksempel timian, salvie, oregano, rosmarin og mynte.

!!Tip:
Mange urter er også gode at lave te af, for eksempel smager timiante dejligt. Og lav små suppeviske med tørret timian og laurbærblade - bind bomuldsgarn stramt omkring, så der er godt styr på bundtet, når det koger med.
Udstik kernehuset fra nogle æbler. Skær æblerne i tynde skiver, og læg dem i koldt vand med citronsaft i en times tid. Tag ævlerne op, og fordel dem i et lag på bageplader med bagepapir. Stil pladerne i varmluftsoven ved 125 grader i ca. 1½ time eller lidt længere, hvis de skal være helt sprøde. Smager godt som sunde snacks.
Står der "bløde" på posen med abrikoser, svesker elller figner, er der tale om tørret frugt, som er spiseklar uden udblødning. Mange af disse poser skal på køl efter åbning, så læs altid, hvordan de skal opbevares på emballagen. Gå uden om de orangefarvede abrikoser, da de er sprøjtet med svovl, de brune derimod har den naturlige farve, abrikoser skal have.
To små bolde kan give stor besparelse på elregningen.

Læg dem i tumbleren med det våde tøj, så sparer du ca. ½ time hver gang.

De lufter tøjet og fordeler varmen.

Tennisbolde, der ikke hopper godt mere, var førhen et yndet valg, så gik der produktion i det og nu, kan der købes nogen specielle piggede bolde. (Se godt efter priserne på nogen af dem er ret høj.)
{{!!url}}
Er det tøj, du vil stryge, blevet for tørt, så hæng det ud på tørresnoren sidst på eftermiddagen, og lad det hænge, til duggen er faldet. Så kan du tage det ind og stryge det med det samme.
<$scrollable class='tc-scrollable-mad'>

<$list filter="[tag[Udenlandsk]]+[sort[title]]"><$link to={{!!title}}><$view field="title"/></$link><br>
</$list>
</$scrollable>
<<tagging>>
Køb nye, tørrede krydderier eks. til julebagningen. Det koster ikke alverden, og dem du købte sidste år har mistet meget af smagen. Feinschmeckere køber hele krydderier og maler dem efterhånden, men mindre kan også gøre det.
Brug en kilojouleberegner til at finde kilojoule værdien i den mad, du spiser, og til at finde den mad med højt kilojoule-indhold, der kan udskiftes.

For eksempel indeholder en stor portion pommes frites over 2.000 kJ. så drop fritterne, og lær dig selv at elske dampede kartofler.

Tag et stk. stanniol og kram det sammen, kør det rundt i dejskålen, evt. med lidt vand. Dejresterne sætter sig i stanniolen og IKKE i opvaskebørsten.
Hvis man vil undgå kræsne børn, gælder det om, at de fra små får en masse smagsindtryk. 

Undgå søde mellemmåltider kort før middag (kiks, saft mv). Hvis dit barn ikke kan vente, så tilbyd en tallerken med udskåret frugt og grønt. Forsøg at bibeholde den gode atmosfære under maden.
Hav f.eks. et par favoritter på menuen hver uge, som du ved dit barn kan lide.
Lad selv dit barn vælge blandt de sunde madvarer og blev ved at tilbyde madvaren selvom barnet har afvist den en gang, men tving ikke barnet til at smage.

Hav gerne forskellige typer af grønsager i små skåle til aftensmaden - det er vigtigt for mindre børn at kunne overskue og kontrollere måltidernessituationen

Tag gerne dit barn med i køkkenet. Børn er mere åbne over for ny mad, hvis de selv har været med til at lave den.

Spar på det søde og lov aldrig slik, kager og dessert som belønning for at spise middagsmaden.

Urter har været brugt som medicin i århundreder - overleveret fra generation til generation. Tænk f.eks. på klostrenes urtehaver.

Mange moderne slags medicin er også baseret på planter. Planterne er i de tilfælde blevet undersøgt for aktive stoffer, så man kunne isolere og koncentrere dem. Derved blev opnået langt mere potente midler.

[[Urtete]]

!!Sådan gør du:
Vask urterne (for eksempel 1½ tsk. timian elst med blomster, eller 1 spsk. mynte). Dup urterne helt tørre og fjern stilkene. Hak bladene fint. Varm 1 dl honning op, så den bliver flydende. Rør honningen med urter, og tilføj eventuelt en smule kanel eller citronskal. Hæld urtehonningen på glas med det samme. Holdbarhed: 2-3 måneder i køleskab.

!!Egnede urter:
Mynte, timian (gerne med blomster), citronmelisse, rosmarin, lavendel (gerne med blomster)

!!Tip:
Krydderhonningen er lækkert smørepålæg til boller og brød, men den kan også bruges i marinaden til grillkødet eller til salatmarinaden.

I helsekostbutikker kan du købe tørrede lægeurter (og hele hyben).

!Immun-te
Siges at stimulere immunsystemet, virke vanddrivende og fremme udskillelsen af affaldstoffer.

"""
Bland:
1 tsk. rød solhat
1 tsk. morgenfrue
1 tsk. agerpadderokke
1 tsk. brændenælde
1 tsk. lakridsrod

"""
Kom 1 tsk. af blandingen i en kop, hæld 1½ dl kogende vand over, og lad teen trække i 10 min. Drik 1 kop immun-te 2 gange dagligt.

!Fordøjelses te
Siges at virke regulerende og afbalancerende på tarmsystemet.

"""
Bland:
1 tsk. mælkebøtte
1 tsk. valnøddeblade
1 tsk. vejbred
1 tsk. marietidsel
1 tsk. bukkehorn
"""

Kom 1 tsk. af blandingen i en kop, hæld 1½ dl kogende vand over, og lad teen trække i 10 min.
Drik 1 kop fordøjelses-te 2 gange dagligt.

!Antistress-te
Siges at virke beroligende og lindrende på stress, nervøsitet og angst.

"""
Bland:
1 tsk. pebermynte
1 tsk. citronmelisse
1 tsk. jernurt
1 tsk. lavendel
1 tsk. hvidtjørn
"""
Kom 1 tsk. af blandingen i en kop, hæld 1½ dl kogende vand over, og lad teen trække i 10 min. Drik 1 kop antistress-te 2 gange dagligt.

!Hyben-te
Siges at stimulere immunsystemet, rense nyre - og urinveje og lindre gigt- og ledesmerter.

Kom 10 - 15 hele hybeni en termokande, hæld kogende vand over, og lad det trække med låg på i minimum 10 timer.
Kan drikkes enten varm eller kold hen over dagen i stedet for vand.

Vaffel-plader

250 gr. mel
3 æg
100 gr. smør
1/2 l mælk
75 gr. flormelis
1 knsp. salt
vanillesukker

Smelt smørret i varm mælk, og lad det køle af. sigt melet og tilsæt salt, sukker og æg. Rør derefter mælken med det smeltede smør, og rør til dejen er helt jævn. Dejen er straks klar til brug. Hæld lidt af dejen på vaffelpladen, så dejen lige netop dækker. Bag til vaffelen løsner sig fra pladen og er jævnt brun.


!Vandbakkelser har ry for at være svære at lave, men det er kun, hvis man ikke kan! Du får de nødvendige fif her.

!!Sådan lykkes vandbakkelserne
# Dejen skal have den rigtige konsistens. Er dejen for blød, vil kagerne flyde, og er den for stiv, hæver de ikke optimalt.
# Ovnen skal have den rigtige temperatur fra begyndelsen. 190 grader, er passende til vandbakkelser af almindelig størrelse, dvs. 50-60 gg dej. Vil du bage minivandbakkelser til buffet eller suppepynt, skal temperaturen ned på 175-180 grader.
# Ikke kigge, ikke røre! De første 20 mi. af bagetiden må ovndøren ikke åbnes. Når bagetiden er gået, linder du forsigtigt på ovndøren og mærker, om bagværket føles fast. Er det tilfældet, tager du en enkelt ud, og lader den stå 5 min. Hvis den synker, kan du forsøge at bage videre på den, det lykkes sommetider. Prøv igen efter 5-10 min.
#Klip eller skær vandbakkelserne op, så snart du kan røre ved dem. Så kan dampen slippe bort, og de holder nemmere formen.
# Overskud af deses. Dej kan fryses. Den kan også koges som små kugler og blive til ægte melboller til suppen - mange børn er vilde med dem.

<$list filter="[tag[Vandbakkelser]]">

</$list>


Vanille planten stammer oprindelig fra Mexico, hvor indianerne havde en sød tand og brugte krydderiet i kakao. Planten dyrkes i dag i flere tropiske lande, ikke mindst på Madagascar, men også i lande som Uganda, Indien, Costa Rica og Columbia.

Det var spanierne, der i 1500-tallet bragte vaniljen med til Europa, hvor den i de første 100 år hovedsageligt blev brugt til kakaodrikke, og først senere fik anerkendelse som selvstændigt krydderi.

Hvordan skal en god vanillestang egentlig se ud?

En ægte vanillestang må gerne være tyk og fed. Den flækkes med en lille urtekniv.

Derefter skrabes den sorte marv, også kaldet "kornene", ud med kniven. Det tomme hylster kan gemmes i dåsen med sukker eller koges med i æblekompot og andre frugtretter.

Smid ikke de tomme vanillehylstre ud. Kom dem i et glas med det fine lyse rørsukker og du har dit eget vanillesukker, som du kan bruge af i koldskål, på jordbær, til is og drinks.




Mange er i tvivl om, hvorvidt opskrifterne for almindelig ovnstegning også gælder for varmluftovne. Generelt er stege- og bagetider ens i de to former for ovne, men termostaten stilles knap så højt - ca. 10 pct. lavere i varmluftovnen end i den traditionelle.
Temperaturer på 225 grader, 200 grader og 175 grader i en traditionel ovn svarer til henholdsvis ca. 200 grader, 175-180 grader og 160 grader i varmluftsovnen. I varmluftsovnen cirkulerer den varme luft, og derfor kan kan bage/stege på flere plader ad gangen i modsætning til den traditionelle ovn, hvor man kun kan sætte en plade ad gangen i ovnen.

Vask dit tøj ved 30 grader i stedet for 40 grader og brug 40 % mindre energi. Med nyt vaskepulver fra Ariel bliver tøjet akkutat lige så rent ved den lavere temperatur.

Vi ser allerede i dag de første tegn på, at naturen ændrer sig. Polernes is og verdens gletschere er begyndt at smelte, og den globale vandstand  havet stiger. Opvarmningen kommer til at betyde mere ustabile vejrforhold verden over.

__''Tøjet bliver stadig rent''__
Skal vi gøre en aktiv indsats for klimaforandringen, skal vi kigge kritisk på vores elforbrug, som er en af de helt store kilder til CO2 udledning. Det er derfor godt at vide, hvor du kan spare energi - og det kan du fx. ved at vaske dit tøj ved 30 grader. For så bruger du op til 40 % mindre energi end ved en vask på 40 grader.
Skal vi alle sammen til at vaske på 30 grader - i stedet for 40 grader - stiller det store krav til vaskepulveret. For kommer tøjet ud af maskine med plet - eller pulverrester, skruer mange bare op på en højere temperatur ved næste vask.
Med Ariel kan du dog roligt skrue ned på 30 grader og få lige så rent tøj som ved en højere temperatur - det sørger Ariels formel for.

Udviklet til effektivt at fjerne pleter allerede ved lave temperaturer.
Opløses allerede ved 20 grader.

''Tøjets farver og facon'' holder længere, når du vasker ved lav temperatur, du gør mere end du selv tror - og det koster dig ingenting, tværtimod.
Hvis vasken eller badet har rester efter kalk, sæberester elelr snavs, så brug sandpapir til at fjerne det med - helst korn i str. 240 og opefter.

Jeg har prøvet med alverdens kalfjernere,  men sandpapir er det mest effektive, og det slider ikke på emaljen, hvis nogen skulle være i tvivl.

FH insisterer på at ødelægge alt med eddikesyre, skønt VVS i Ollerup der er MIT hus, sagde nøjagtig det samme, som jeg ALTID har sagt...og som har ødelagt alle hans egne kummer AL- kan lide at bruge andres ting, før installationerne er færdig monteret.
Her kan kalk- og rustpletter fjernes med husholdningseddike. Væd en klud med eddike og anbring den på pletterne i et par timer. Vask efter med rent vand. Forkromede haner ligeså - der poleres efter med en tør klud.

Vask tøjet så hurtigt som muligt med et vaskemiddel der indeholder blegemidler og enzymer. Hvis stoffet er hvidt og pletten stadig væk kan ses, kan du prøve at duppe den med en brintoverilteopløsning og derefter skylle og vaske som normalt

Se efter behandlingsanvisning på varen. Farvede varer bør vaskes koldere end hvide. Stærkt farvede varer vaskes de første gange for sig selv.


Varer af uld og silke samt ikke-kogeægte, kulørte bomulds- og hørvarer må ikke sættes i blød. Strukturgarner (crepe, bulk, stretch) behandles som det materiale, hvoraf de er fremstillet: Nylon, akryl osv. Blandinger bør som hovedregel behandles som det sarteste stof, f.eks. skal varer af uld og bomuld behandles som uld. Der bør tages særlig hensyn til foer, vattering, besætning o. lign. Alle tekstilvarer bør vaskes eller renses, inden de bliver for snavsede.Til toppen

[[Brændte mærker efter strygejern]]

[[Bomuld og kemikalier]]

Jeg er ikke helt sikker på, hvad jeg skal kalde denne opskrift. Jeg er ikke vild med det engelske ord “spread”, men jeg synes heller ikke, at det er en bønnepostej. Det er selvfølgelig heller ikke en rigtig smøreost, for der er jo ingen mælk i….. på den anden side, så er jeg ret sikker på, at denne opskrift kan narre de fleste. Jeg synes det smager fuldstændig som en rigtig god smøreost med hvidløg og purløg. 

Pas på ''Veganere'' vil heller ikke have mælk og æg. Desuden glemmes ofte, at Ost..indeholder osteløbe...som normalt er lavet fra et dyremave ekstrakt.

[[Vegetar eller kødspiser fordele og ulemper]]
<hr>
<$list filter="[tag[Vegetar]] -[Vegetar]] +[!sort[title]]">

</$list>
Mange ''kødspisere'' får for meget animalsk, mættet fedt, for få fibre og for lidt frugt og grønt.

''Vegetarer'' får ofte for lidt protein. De forskellige kilder bør altså sammensættes, så alle de vigtige aminosyrer kommer med.

Mange ''vegetarer'' mangler desuden jern, som går ud over bloddannelsen og giver en bleg teint.

!Sundhed
Handler mere om råvarernes kvalitet og forholdet mellem protein, kulhydrat og fedstof - uanset om man er vegetar eller kødspiser.


https://www.sundhed.dk/borger/patienthaandbogen/sundhedsoplysning/kost/vegetarkost-og-protein/
<<.fav "''Birthe'' Jeg morede mig lidt, da jeg igår (15 sep 2019), fandt nogen gamle TW backups på en gammel længst glemt computer. Der var adskillige udgaver af denne måde at bruge TW som kogebog, stadier på vej til det, den er nu. Det morsomme var, at langt det meste stammer helt tilbage til TW 5.0.12-beta. Det må have været nyttigt for mig, siden jeg har brugt den så længe.">>

Danmark har nogle af verdens bedste æbler, og højsæsonen ligger fra september til oktober. De vigtigste sorter er:

"""
''Tidlige sorter:''
Transparente blanche, skovfoged og guldborg.

''Senere:''
Rød ananas, james grieve, graasten

''Sene:''
filippa, pigeon, cox orange og ingrid marie
"""

[img[https://lh5.googleusercontent.com/-8xbCrnnOBl4/TfDQhf8zMJI/AAAAAAAABU0/g5G7UaHHIcA/s128/vinglas.gif]]

Som bekendt er der forskel på størrelsen af rødvinsglas og hvidvinsglas.
Det skyldes sikkert, at man i hvert fald i vor tid og kultur oftest serverer en kølig hvidvin til forretten, der sjældent er ret stor, hvorfor man heller ikke drikker så meget vin til. Til hovedretten, ofte en kødret, serveres som regel en rødvin, der drikkes af store glas, som kun fyldes halvt op, så vinen iltes og udvikler duft og smag.
Naturligvis kan man udmærket anvende samme størrelse glas til hvidvin og rødvin. Og man kan også sagtens eksperimentere med vin til mad. I vinproducerende egne drikker man ofte den lokale vin, hvad enten den nu er rød eller hvid, til næsten alle retter.

!Hvor meget kan der være i glassene?
|Hvid-/rødvinsglas | 150 ml|
|Ølglas | 330 ml|
|Hedvinsglas | 60 ml|

Sandwichplader

4 skiver toastbrød
4 skiver hytteost
1 spsk. fløde
1 lille løg
purløg
salt
paprika
20 gr. smør

Finhak løg og purløg, og bland det med de andre ingredienser til en kugle. Skær skorpen af toastbrødet og smør dette på ydersiden. Læg de to skiver i griletten og fordel ostemassen på brødskiverne. Læg de sidste to skiver over. Luk grilletten og lad brødet blive gennemvarmt.
<$action-setfield $tiddler="$:/state/tab/sidebar--595412856" $value="Indhold"/>

|1 dl. Kakao | 40 gram|
|1 dl. Florsukker | 90 gram|
|1 dl. Grahamsmel | 60 gram|
|1 dl. fuldkornsmel | 60 – 65 gram|
|1 dl. Havregryn | 35 gram|
|1 dl. Hvedeklid | 25-30 gram|
|1 dl. Hvedemel | 55-60 gram|
|1 dl. Kartoffelmel | 70 gram|
|1 dl. knækkede rug kerner | 50 – 55 gram|
|1 dl. knækkede hvede kerner | 50 – 55 gram|
|1 dl. Kokosmel | 40 gram|
|1 dl. Maizenamel | 60 gram|
|1 dl. Mandler | 50 gram|
|1 dl. Olie | 100 gram|
|1 dl. Puddersukker | 60 gram|
|1 dl. Rasp | 50 gram|
|1 dl. Ost, reven | 50 gram|
|1 dl. Ris | 80 gram|
|1 dl. Rosiner | 60 gram|
|1 dl. Rugmel | 50-55 gram|
|1 dl. Sukker |  100 gram|

|  | 1 tsk. | 1 spsk. | 1 dl. |
|Farin – brun| - | 9 g| 60 g|
|Flormelis | - | 8 g| 50 g|
|Hvedeme | - | 9 g| 60 g|
|Kakao | - | 7 g| 45 g|
|Kartoffelmel | 3 g| 9 g| 60 g|
|Majsstivelse – Maizena | 3 g| 9 g| 60 g|
|Olie | 4½ g| 14 g| 90 g|
|Salt, fint | 7 g| 14 g| 110 g|
|Salt, groft | 4 g| 13 g| 80 g|
|Sirup | - | - | 145 g|
|Smør, smeltet | 4½ g| 14 g| 90 g|
|Sukker | 4 g| 12 g| 80 g|
!Få styr på kalorierne og tab dig
Vil du gerne gå en størrelse ned i tøj? Så vil et vægttab på 5 kilo eller 5 procent af din kropsvægt typisk være nok til at få lynlåsen til at glide lettere op.

Udfordringen ligger i at mindske følelsen af afsavn og lidelse. Én tilgang er, at du udskifter noget af den mad og drikke, du sædvanlig vis vælger, med lige så lækre alternativer, der har et lavere indhold af kilojoule/kalorier.

Her er 8 måder til at starte et varigt vægttab - udarbejdet af slanke-ekspert og professor Clare Colins fra University of Newcastle.

<<tagging>>

| !Væske konvertering |>|>|
|IMPERIAL|METRIC|US UNITS|
|1/2 fl|15 mL|1 tbsp|
|1 fl oz|30 mL|1/8 cup|
|2 fl oz|60 mL|1/4 cup|
|3 fl oz|90 mL|3/8 cup|
|4 fl oz|120 mL|1/2 cup|
|5 fl oz (1/4 pint)|150 mL|2/3 cup|
|6 fl oz|180 mL|3/4 cup|
|8 fl oz|240 mL|1 cup (1/2 pint)|
|10 fl oz (1/2 pint)|285 mL|300 mL|
|12 fl oz|340 mL|1 1/2 cup|
|16 fl oz|455 mL|2 cups (1 pint)|
|20 fl oz (1 pint)|570 mL|2 1/2 cups|
|1 1/2 pints|900 mL|3 3/4 cup|
|1 3/4 pints|1 liter|4 cups (1qt)|
|2 pints|1 1/4 liter|1 1/4 quarts|
|2 1/3 pints|1 1/2 liter|3 US pints|
|3 1/4 pints|2 liter|2 quarts|
| !Standards |>|>|
|1 tsp = 1/2 fl oz (5 mL)|1 UK pint = 20 fl oz| |
|1 tbsp = 1 1/2 fl oz (15 mL)|1 US pint = 16 fl oz| |
|1 fl oz = 30 mL|1 litre = 33 fl oz (1 US qt)| |
|1mL = 0.035 fl oz| | |
Er en slags japansk peberrod. Wasabi er lysegrøn og en vigtig smagsgiver til sushi. Wasabi kan enten købes færdig på tube eller som et pulver, der røres ud med lidt vand - den sidste slags er den mest velsmagende. Wasabi fås i asiatiske butikker.
[img[https://lh3.googleusercontent.com/-IabS9r9yH5k/TfDQlF-KtJI/AAAAAAAABU4/bXRdododeA8/s128/Wok.gif]]

Wok er en kinesisk gryde, som også har vundet indpas her. Den oprindelige wok var en tyndbundet gryde med rund bund, som blev sat direkte ned i ilden. Den var tyndbundet, fordi man ikke havde megen energi (ild) til maden. Det var også derfor, man findelte kød, fisk og grønsager, så det kun krævede kort stegetid. Arbejdet lå simpelthen i forarbejdet.
En wok er altså en mellemting mellem en stor stegepande og en gryde. Den store overflade gør, at maden kan steges hurtigt ved kraftig varme. Den kan så skubbes op langs siderne, og en sauce kan piskes sammen i bunden af wokken, hvorefter alt blandes igen.
Alt kan steges i en wok, fisk, kød og grønsager. Det er vigtigt, at alle ingredienserne er klar, inden man begynder, for selve tilberedningen går lynhurtigt. Den korte stegtid bevirker yderligere, at smag, vitaminer og farve bevares godt, og maden får et meget appetitligt udseende. Der findes flere kogebøger om wok bl.a. SUND MAD I WOK af Lynn Andersen og Wok Kogebogen af Kuo Huey Jen.

<<tagging>>
I en travl hverdag vil vi gerne lave nem, hurtig og sund aftensmad. Med en wok ved hånden får du alle tre ønsker opfyldt på én gang.

''Wok'' eller chow, som det hedder på kinesisk, har været brugt i flere tusinde år, og med god grund; det er hurtigt og nemt, giver minimale mængder opvask og er sundt på grund af de mange grønsager og korte stegetider, der bevarer vitaminerne. Desuden er det energibesparende, fordi der kun er tændt for ét blus i kort tid.
Du kan også spare på din egen energi-konto, vis du sætter børnene til at snitte grønsagerne.

!!Wok smager af....
Du kan kombinere krydderier til wok på utallige måder. En tommelfingerregel er, at smagen skal have en vis styrke, lidt sødme og eventuelt en anelse blødhed.

* ''Styrken'' kommer fra hvidløg, ingefær, soya, chili og koriander.
* ''Sødmen'' fra mangochutney og abrikosmarmelade.
* ''Blødheden'' stammer fra kokosmælk, creme fraiche eller madlavningsfløde. Både kokos- og mælkeprodukter kan tage toppen af styrken, hvis det er blevet for meget.

!!Forårsgrønt til wok
Grønsager giver smag, farve og sprødhed til wok-retter. Lige nu byder sæsonen på smagfulde bladselleri, løg og de første spidskål, farverige peberfrugter, grønne asparges og gulerødder, samt sprøde bønnespirer, sukkerærter og babymajs.

!Klar, parat, WOK!
Du skal bruge 200 gram grønsager og 100 gram kød eller fisk pr. person.

# Skær kød eller fisk i mindre strimler. Mariner gerne i soya og krydderier i mindst 15 min.
# Snit grønsager i tynde strimler og stil krydderier frem.
# Tilbered ris eller nudler, som der står på pakken.
# Opvarm wok-panden, til den er meget varm.
# Tilsæt en spiseske olie. Rapsolie er god - den er smagsneutral og tåler stærk varme.
# Steg fisk eller kød først. Stil det til side og hold det varmt.
# Tilsæt løg, hvidløg, ingefær og chili.
# Steg grønsagerne i rækkefølge efter, hvor længde de skal have, og ikke for længe - de skal stadig have bid.
# Bland alle ingredienser tilbage i wokken, og smag til med krydderier.
# Varm retten igennem og server straks.

HUSK steg små portioner ad gangen, så det ikke koger.

Grill-plader

300 g hakket kød til 2 burger
2 æg
1 revet løg
1 agurk
salt
peber
paprika
2 skiver skinke
ost
ketchup
salt
2 burgerboller

Æg, løg, salt, peber, og paprika blandes i kødet. Lav 2 burger som steges i 3-4 minutter i grilletten. Garner med skinke, ost, ketchup og anbring burgerne i bollerne.
Hjemmelavet yoghurt

[[Se også |http://www.kvalimad.dk/opskrifter/hjemmelavet-graesk-yoghurt-af-soedmaelk]]

Med dette yoghurtapparat er det muligt at lave den yoghurt, som mange kender fra Syden. Balkan- eller græsk yoghurt kaldes den bl.a.
1½ liter mælk tilsættes et brev frysetørret yoghurtkultur og hældes op i de 7 glas.
4-6 timer senere er yoghurten færdig til videremodning i køleskabet.
Ved den næste yoghurtfremstilling tages blot et par spsk. færdig yoghurt, som blandes med den nye mælk.

Yogurtkultur (Se produktnummer 2025, 2 poser ferment), der danner grundlag for fremstilling af minimum 75 l yogurt pr. pose, skal bestilles separat.

Glassenes kapacitet: ca. 2 dl

Strøm: 220 V

Fremgangsmåde:
Mælken opvarmes til min. 90 gr. Nedkøles derefter til ca 42 grader hvorefter man tilsætter yoghurtkulturen. Yoghurtapparatet holder yoghurten på ca 42-49 grader de næste 4-6 timer eller alt efter hvor længe man vil have den stående. Yoghurten skal derefter modne i køleskab i 12 timer inden man begynder at spise af den.

Hurtigt resultat kan opnås med steriliseret mælk eller UHT-mælk, da man ikke behøver at pasteurisere dette.

Vegetarer, allergikere og mange andre bruger også dette apparat til fremstilling af yoghurt af soya-mælk og speltmælk.

Brugertips for produktion af egen yoghurt efter SCD princippet (Specific Carbohydrate Diet (Kulhydrat specifik diet)):
Tilslut maskinen en timer der tænder og slukker hvert kvarter, d.v.s. tændt 15 minutter og slukket 15 minutter. Sæt en tehætte over maskinen. Ved stuetemperatur holder den nu perfekt 40-41 grader i 24 timer.
En anden mulighed er at tilsætte det naturlige enzym laktase, se produktnumrene 1066 og 1068, for at nedbryde mælkesukkeret (laktosen), som er en mindre tidskrævende process.

Svits nogle æblebåde, løgbåde og broccoli buketter i lidt olivenolie på en pande. krydr med salt og peber, og servér det som tilbehør til f.eks. en skinke- eller kalkunschnitzel.
















Vil du lave en klassisk æblekage med smør-og-sukker-ristet rasp og æblekompot i mange lag, kan du med fordel mørne de skrællede æbler i mikroovnen  helt uden væde.

/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCADHAP0DASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDzHo/zfL7Dpn61ftpYo8fMpYYBOOcenpWc87ZJYBm6DPU/4UxLko2M7OmScn/Oc/yrzFV0P0GFos6SKZNgLIiAnI56dzjmtLT7xIQSkSv83BJ46dgP89OtckLxQir5jL05LDn2/kfwq/a3rvGyq+Bn5jnnFL2vY76UoPRo7jTdUdXEzKgAPynJ4OOe/wBP/wBddbpl9b+V58pRyQNoAPHoMda8oaZABtfeuQTn8/6Vdg1V0+VXYAHAAPQ/5FN1NR1cNCotD2Gw1WDcNqFWJzyfz711ujaqu4KFXJ4OMEV4LbeIJIuFIdemBjI/p+fFdd4f1ue4CyM3lIeWIcDAH09f/r+tCxHK9Dw8wyu8HJI9icbLaSV0jCr8xPTGeTXzp+0J4tfVb1dE05nMEbgzMvIJA4X8+T+HvXo3iXxZNLa/ZoLkRq3Uh+g/OvG/EMtkk7FCJHJyTwSffJHX+f1r0H+9hZ7M+Rt7OWxx2keHdV1e58izQj5csx6KOO/5Vwfi1biw1uexlLJLATGSB6HJr0Q61rmnTyT2GyHIwcrnIznP+eK8x1p55L6e7vJHkuJJGkZickk9RWXJGFkKpVlcW2vrhNqO7HZ2Pep47mWS5WWLf5mc9etZcC5XzPM/+tXsvw0+CviDxFa2WoS3MFpZTkPgjLlTzwMAcj1+tZyouc7ReiNKddpe8Q/DLSrPUJzftODcRdVBGFx7Efrniui1mZEuHiVR8hzkYPGODmvQdc+Heg+C7KCbTIFilYASsGJ3YB68+3H9K8w1aWMyzBWfqQ2SfxrixlN00orc6cN+/m522Mm/k3xMyruwcqeNp/zxWTMJlViI2PtjGfw9Ku38u0NtXaAx2qCRj359f8Kpx3UjbVEZznAC/MTz/npWVKpJxs2e5GKjHQi87Zs8yLcrjsvQ9f8ACtG0SBlWUDDYPUdOoGf89/ycNI1WRPPlsbiG3GSZLrEQBBweXxjHT0zUGq6fqekRxXE9oUtpeYpkkR4mweoZCRn1GQe5AGM9MZy3ktBRqQ2ElaKBt3lrsJ/Xv/OmCeJ7nzDCijrg/eU+vT8apLMJGdmVj9G70zzAD833Rn6nHtRGTmrrYp1EmdbolxaRTIECuCcowH8PbtxXrfgu/gaA27eQPMHBIPuAen+favALPUNjblbGOOnX8PpXaeDNdM2pRRmTaFIQBh1z09P/ANVbRquLt0CooVqbRyX7R8FzY+JLa8S3fyrmI5YjqRn9fmrzDTbuCRpPtMbuu7CoOBXv/wC05CsdrpMn3onDqGYYwcZ6fT8OtfPkcghkZGj+XNdMZW916JnyFX3JX3LNxFFLc7LTKLj5fauj8I/D/wAV+K7lYvDlnJdYYCSQnbFHnuzdPw6+grsPgr8KZ/FEia3rrSWGiIQUQEiS5xz8v91cZye/OPWvqK2utN0HSYdN0KyhtIowqLGq4xjrTV07t6CUXM8j8G/svxyKLnxZ4rEEjoC0NnDuxnHV26/98jFd94X/AGcfh9pXiK11W31S/uTEwcQ3IQxs3ABICjvzWlceJJElIMo6cgHuOtaEGvyMm9CgiTHPetVWTVrGksM1q2el2nh3S4YwlvFYSRYx8kS9PpisvwvbW1r8UvEcUEUUSDRNL4RMDPnX/px0x+ntWdoXiH5VxIQwIyASfpV/wnfm9+KXiKVwqY0PSgCD1/f35qK1S8TFYbkkpI+NLxUQN0XnA+XqvPWs24CKSv3VzgMf4vT1/wA5q1fmRnzuG0dOOoNZ8kZTcHymeep4IPb6f1rwlLTRH6TVVnoOJ3AFRw3GM96l85ioXdtAzjB596jjiVwX+UNjOSev1qWCIb+PvZ5HT0/wq3K4qcXuXLSTZzK2B905P+f84q7CsTfMrO/GcA+nb8fWs8pu6gL17kY9OP1qRHm2+Wu4DnndUOT3OyM+VWNBbmNFEcEPz5BBPIA789v8/St7S9Quo5IoXkLZwoGOhxwPfH+PtUOleENYntoLuNIVjl4CtN82OB+A/Wup8OeDdStNbjvLww+VGS2Q2QW9/wBfqa1p0pVGkcmJzGhCnLW7/UxtR0rUS7TSecN/Uc/n+ORWJd6f5BLHAxg88nI4PPXv0/ngV9BXmnW+oWaqYxuz27GuC1zw1byTv5ibiv8Ae6/59/8AGvejTSSSPzqrWcpX7nlN40IiKYLZyAADXAeJtKZmMiowJOfmGK9u1PQ4bZDtgXJGMgjoD2rmNXsGbJ8ngZPIHIHXp17UpxUlZkK/MmeLpptwXDbTzyT6V6l4Y+J3i7SLW1s47mE2sAwY9nJxxjIPaql5pTtlI12EdCSB3+tVLPRZlxlSwyQSO3NcajKEtDoUU90ddqfxK1jXo/I1AxxxjnAOenuT74zx2rBv5ZLiEsiDcGydo9T/AJ/zip4tGPl7dhHHyknp7f1qvBDdW90tvJCxlb5Y1CklyTxgDkk5xgda5MVTqP3nqevl9WnFOC0ZjG5kEjbwsipwVPBIrc8K6pY6NqKXjRq+poD9jic4WKQf8tH4PI7D2ycYFes+D/AGnaLZweIfEoWK9MRkt7V1BWDAyHkyPvjqBkbc5POMch4StdJPiDWLnVdHJgvrtl0+4Xa7TgEsQRyeQM5PUDGeoqaWG+1Nk4rMFrCnr3OA1zXrvxHe2cl6omguZmj+R2C9BkMTnOCpb6Z6V3nww8VeH7e2OhxahPcG7cRuTCHhPzcA5yWBBxzgYOOe3aeLNK0GPRrxXtMQRwvJI0MA2wgjGF7FiMDHfjjtXiAtmu/EQ1PSLBbCWBMeXCPkVtwyApJ25ByOD1GT0Nd3s2lp0PMhiHJ7Wuej+KrEWIuH1bwRp0UMTEbrNgkMoJAUo6EODk4C8Hn14rCvPDeitatc2+n6lDNHIPMs0uFc7fUZDNnAB5OcE8Dv3Wji+1LwnNaarexzW9+RLGR+62kYI2YOVZeDgk5xzjJFeZ+P7zWtG1yS+haW6iDLC80YYtaAHCs649BgEgggckk8zzNK3Kb+0knqzobf4b6Xd2UGo2V7qs1rLJxcJFHIkGOMuoIJAOTwwz7dK5+DS73Q/EKJLNFJskBEkLZRwpIODgYwRgg4Ptggnvvh14jQanaat9nV4LhjFduriMkZ/wBYyEZYdORk8Z561t/EjwxBf6BdajpcaeZpzPKpgXCvk/vFKYyrEKGBGASCOMjGM6dm5J/I7sLiUmoz2ZyXxqjh8TeE4EgDrcI6uuF5GOD298f/AKsDifhf8KTrGqfb9VUvp9sVxGRgykcnJ9B16/1ruvDel3FxZh77lnxsBwcA9+T6Z+leg6SIrO3W2gUBANihc89v/wBVKNWUpa7HPjqNGnpH4mXvLSG3S1hjeKJMBQhAwBwOOw/LtioJAIYHkI+cuDgjPSrE91FHDwNvy8Fmyc1QadZGYbgUHIDDg/41bq6nDCHUr3ce/wAzCkkkEEEYwT/+ugwyA7VDu2OcDAHbjn8Kkuw+EEOQ316f17mrMMjxfKZOpJJK9/w+tJVGXJ66MtabcXMM/DBgcBlAxg9u/wCtdv8ACiUz/EDxMzorEaRpYBI/6a3361wf2krKCwGcjkDp6d/x/wAmuv8AgbK0vjjxUwP/ADDtMBAPH37yn7S+hpO/Ij5JmKk8n5umemDz/n8qjZJJT8rKFAzkntwD9Tz29D71Qlv4zIyeYTt45PfvT5dQto0ysyrz93P+favMtPsfY/WqbWrLyowKqew65z6V1GgeD9Z1S1a7tYo5EGeGfDEDuM/41yGh61oyaxbjVCJbXdh1R8Hnvkc8HmvS9N8U3VpAbPSYmkQEeW7gFApyck9egx09fatqcOW7kcmIzFQ0pbmVe+AfFccKSpp5KudwaOVeh9efX8q0LL4caymmtd3csUbbsmMPnAHOe/PX9a7DSNdv723V5vs0m0/u41+UBu2e571jR63eXG43c62E+9k8iIhuhxzkYxj/ADxWnLBdNDgq5pXnonYo6Nq97HfjSbiII8yvsKvyMY29DnHU+v0zVy717xRouoLYPbpc20q7jvkZdq4wcdeTnPX096iX+zdOvItYtpEvHIy6ykKy9zgkdOo7YxV/xLqWZINVjvlh09yqlSRtR8evocjqcfyohJwWrvb7zzm07eZe0fx2sskVsdK1GZlOyYIp+XOMMSfr+XPrXWTIt6l61pMJJI+cFhuXPTOPw/KuZ0jxHLYyhZoYWtZioNyqrtVicKS3Xriut07ULWS+la6uLa2ZwvKgHzMfj7V1UcRK71OepSg7aHiPjnxP4s0O7eK90Pfbliq3FuCyt1HOOVPsa5zS/iBa310lteQeUZDtDnGOcD/GvqnXFglgENzPFFbzqPKlCBdrHoCf1rzjxJ8M/D+r6dMdStYprpi+24iUJLnscgc9elaOT5rqXyEkrbHKDSY76ITxCOVdoOVINFvoceTgckjjjPfIxjrV3w94Em0MsljqNwQo/wBW5JGPp+H41a1SyvnjZku44GJ2hhjr0wAep6cDrxXXGqraowq4ecXdPQpQ6LH50K3GIIGLebNtBCKo9OMktgY6etQeGZvCb+I4Hg+03erQSOsUc22OOKUNgEAE7m4JDZIHXAOKfdafqtv4ZbT7Mg3V1IJJih2tKck7Sxzhc5JOOcYAyeMlNGe2llKWtt5RkEs7Mh+ZwQQ7DHUEZ9T+OByVKs5O3TtYuFOlbfU9FsopJrLzNVyziVpR50xeKPP3jk9FGQAg4wM4HSrsc+otYtZNNaNFcLmG4jjIVl9weD1469e+K8h1nSL0uLWzsLGHzHDpcRDerg9ZGYnIPOMY6ZPc12XgexvdDiWKbU59QV3Pms0ODwgYFOOFGD75bHphwk72sY1KcbaPc7LVbW8itEt2jiuIGQK0S8EjoTnIx64rzXxH4WurS2uhptjHatdP5rta3RDALkZaInDDnJCkZOCQcZHX33jGwbT1aK3eWX5lhRCWfIyyhhzwQBzzjNcBa+O5b3W3S8iuWlkCYtnjUBT0Cruxj1J55zjHFP2idkRGnJao6v4I6LNZ6be6brMMT6ikizhnbIeIcBTzkcbgPZSDiu30/wAJWEeqX/2+1iuLK+RVRZgPMThgy7hwQATjoQDjpiuBPiGyE8OtW12LKaRWinLK2JlUnpkcHO4c45Jz1qbxpqesar4YvbTw9fz/AG+J12Obja/Hz7CzdiD2/UcVC0VjdzcldnN6p4Lv/DetyXttaQzaYJWCSx7iyxrg5bAJUYyMZIOMH0rtvCevtFplzPDdLe2jbhGWbLH5VypAA6HPJ9vYnybwfr+vaDrtrvub4hJxLd+ZiYyrtLBmJOSDzxnjBJ5FdxqsOmjW49X8LLa6a1uDLPaof3LKeq9BsxgZwOo545aabvodT0itbnQHU9P1LWby2trdbee3LOw3nDpwSMEcMOuOchgeaSSeRZcxhiqYOR+X9ff+dUJobC3f+11itEuFuUktJm2oWDH7vB5yxIyOSTg52qK7TxZBBNpMOqQWsdtNKw3iMgq+7dnp3yKipFx94wrpy95HMmaSYo7A/K+c9umenr0/+vUysfKywZTtOeBx0IHTj6//AKqpRzFGwTjqPxHT+VSLeBAN5DMORuOOnJx1z6f/AKq5PaO5gm7aF6SV8A5IOSDj1yOv+e1VmucvgFiwyAcZ5J4+nTHvVK71NDGVIGc7j2/p/wDrqlLqSll8uQJjILj6jHOPf9a2U9Dro0bmzJdyo65j+Tpjaf8APXj/APVXffs8XH2nxd4skAIxY6aufX57v/GvLkvpJI1SNwxcDJGDux0J46d8V6P+zQc+J/GBABP2bTg3HQ5uu1OLudNWHLS+Z8MXWl6p5ziESsGfsePamtoWqu3zyOuevzV7zp3hnTpvNkurmKLYACGwf1/pVy78O6DY2bXzXUUiD5tmADn65x/n8amnUqStojtrYTC03aU7tHz9B4YvNuPN2nPf/PtXo3hq/ntNIk0y/Rm3RNHHJkgLx3Pauti1vwtaWrJPpwil28MyAqQehz3PB/GuR8Z6hrixPDp01qtlNgrAka/OPdu30zn1rWpGUndtWONzw8E1BO50fhJLywZzLeJPGf8AVlNx29Ox7DrUn9oCz1UtfJLcGScxwtGh2hSBkgdDgk+vSuW+HeqPCVtLwyK0o+ZXHMbA8Y+uetdorWLXM9y9yhlWM7o2fLIBz90dweh9D0rilGyXQcXzamvq11BBplrHHLE01w/liNlIIOeoqjpGvrZRR6VdyM8QY7QVBCZ5weucHGOO1ZWkXGmeIJvNvPme3cbSP4XycYIxkH+tZerakovxPbwR+QG2TRyOEIwcZHv65qXJ6OL/AOG6jglF2kdbZXmrTpf6hFbLdvBGGa3UAB8Hhh298jn61JoC69f3xuLpfIuAvmSLnChM9GYnaAAOpP8AhXP6TewxXpudPvZot7YRZCMICMFQeM59/wBK9B1TxFFpVtHZ/ZhJuAWWWQqQxI6AZIPfgnj8gd6Du2gktmXfDiav/Z97Dqd8Luzm3I0nksVjOflZeoJGRzwD17c35tOvtEvNMf8AtK6usqpy8Ry5x3xxg8nH+Rij4i2Z0qS4ltjcvCh3wrjfJtA5GccgZ46ngDJIqPwf8Z9J1WG6tysgRBkwmNmG7cAoAxnJJ6Ace2CK63CLtzHO3K/unobwW4ZruV4zHLt+UnnOK5zxa40/UbSbYnlOhGCOBg5J565yorEu9W1PW7G1lNksQiKsVVwuRuGeHYZxnPGSCDUXxI1m4aWwkjt5LYQr5fml/MikYnOBjowIJx+PbjaVlAxbm1ZlDVPFlqp8yW0keNZCoESF5CASCQOwzkZJGM+nXNi1n7Zqjx8fZfKDPCVGJAeSByM45JzgjIHtS3e+G3a7idfLfAzsyzljySMHgcYAHHr3HJWMVwPEdrbSXc2biJsqpOyMZJXdgjGeeSD0HpxyzlqkEVY9Cg1Ozgs5oow1xFKzFYNo8wyZyFwvTGcewHtSaDeu1nLd6jBNaSzP+4S1DOSgBwSeeOODhc54xkUzw/pGk6RLPdw3BZro72Qjoeh5wDz15569e3K+JNbvdIE32h7iyhR1ZLmQM3mE5GA5wuCAvGQQR9SW5O2m5nCPNPUl1vQpf+EhGsWt4zySuVwLfGADgHO7BPXHqDzjPPKX8ur6FFe33mRTXYlCrCpPmRAAAupwDkZGT1GeQMGtKXxOt7qR0+S/G55AEQLuDgjOM8ZJGCMDHTpxVe/nuDqh8wSTpI/lzqM+XwpO4ADIHU4BIOST7q6TvsdCjZWOdF9JBrcN5e6tDM7tFJPLHnMg4HJxnIGeec4H1r6G8R6bo/iC1gvI55dOu57MstymASoONj5xuAwGwem7tXz/AOKNA1R3bWYLVJkt8PPIjbnUEhcDdySAASQBwfbFey+CtR0i88OaZHcrGJY4l2QlzuKNzmPs6kBc84yuM5FaqT5vIxnFOFnujKki0uPWnt7mJpbmKNRttSSB3GADg5xwcZHPrza8P2lhqT3Wl39nBplxI7y20onYCdpMghuAQ7cZwOOOoxnT161tb2xu7zRdRt7QpF5b3UynbCu4hsuTj+HvjH0NeUXV6i+I47uDUJY7aNlxchsHAXG4E8DPHUDnHQYNKb5XdbDw95+6zq/DuqQ6FrWnaJr9tOipcFVDISsRzkZJ5ZR7jJ9snPs+hWml+IPD0mjLqEcq207S293A4cgcghx269OOleKfF6C41TTH1DTpbeWS7igJbIWdHYAFiBz0ZeccADcTxXT/ALNOi61pFrfvqN5cXcEkAKeW/wAgBIPQnBJGDgfUVrJx07BKMpXiy34jtp9D1WWwvU2yx853cMvY/Qj9PxrNjvYZB7knJI9R74J4H4/hW78aJhH4gsXuVbdLYx7pA2VkILA4GDjHGR/LnPCrdwgjfJyOAcjkdu3PX+leNW92o7bXJhSkXpLlZAQVUhvvDBA59/X0/wD1VFBJaZbOWULzgYBPfueCM/TFURexojgSJgDG7jdnof5989OO9UpL2DClWSPAwpGCD09u3H5daiM7s9WhTm9Dfe+S3UOi7QSAMg57c9fY/wCea9Y/ZXlaTXPFrH5ibbTskj3uT/Wvn83EDv8A63O04XIAO4jnof8APGa91/ZCDG/8XEHd+7sMn/wI4/z616FLWxrjKXs6Kv3PGb7R5pvMhOoTZXBQFCASRnkn86yLu2k3vHq+sbkjIIjjXaBjkdRyentV7VPF9iITeWUHmKg2lHPJPIGAPz/Ksyyt9Wv9O8++g/dO+Wdly+3+Ebc9Md/TvVSnFLucXLzbspaxdaXPaTM88pVc/Pt+9gYAHbFc7o17cI7wzK0sB5VnY8AdO3Fa93aX0V5OZIQLcJ+5L4AYA5OAePwrJlh1kbP7PXzIZQwWMLljn+E4GOKTlzWvaxlKnaOg2+khubOa6tbh4rqBwVkRt3T0+nAo8M+MYBeJFq6jLsAZwMNyOcj0weg9/XnY8NeGNSt44Vv7GJnlO0RJtIRcZyR7d896x/HuhmwhuDFaQ7I5MjaPunuCe4z/ACqoqMm4PoY3lSd1t2PRdISxsol+wyKqmPcpVjgg8ggkZPvn6VQXTPt97dTytHMzsCgfjC4zgDHc9/bvXl3h3xDf2th9nuVluLI9FUfcyedv+FeoaUl9rCRx2jSBplUxlcJKigdcHAAHrnj9K5K9CVNq+x2U5wmrrc6LwlocNxqlneLGVFsxLqRwMA7TggZOen58V0HiPTbia0nl8wMqkMy4zzkHJ4BAHTjPJPUZrU8NeH5tH0JMyeddqR5rZyxJC8gjA9B0/E9ao66Q2n38d7qE9vaMGztbacEY7c4OO2DyTmuiFPliuYxdTmnaPQ8q1BfE89xJeaeYrhItxACEKEAJIJAKjHPUjOav33ieG28OyS3XheeC9fYs1ysYiDAgMAd3zZBzgcDt2IritQt1jeeOyvJEMbfu4yNpIPrnPJOOOc+vFc+fEt8Y57G5QsxykiSZ7HJGO3Tt3JPFdkaT6fPsc8q+6e502o67Bqis95eSQ7wAqRS9Op5+U/kDwT71Ld+LdGV7a3YTrDbKSBb3JAzycNuHJJCk5GM+nQ8CbuGaPmFYx3ZeQv8An61SndRH5YDbM/w1pyx8jn9tLqej6D8RYTfBL6MwRPlC4+6B9DnAPQ4/Xmun0nWNM1rxG0NrBBL5CrKzw5CDaMIDtHqeMf8A168MKuAViGScYxXR/DbXpdD8QAsqi2udtvNnHygkfMDgjg888UqmHgkpRb9AVRvQ9wsLeV3u4Q7/AGhH+YsxQA54YAnkEkADnvzWlbXl75F1ZtDMygqDxhGGMep4JzwfQ+2aVreFE2vam1gYFvtETh9wIzzxnk+x5I6VAmuT2sBZmeaCZQVkVBmNiTkcDkY79ueua8+TitEbw5rkGoeB9GntEayD2t1GfNWcSHaD1+5wCMnHQEdjxUev3NvpvhlEa4MkTzobzylKMgz1z1HPHXoTgc4EtrrcEV+zPLJKmw7jIoypOMbeBweQQRnj2q3c3AurWS3he1cyAh45F4K5AIxyQQMj6gemaXtG1Y1StubmpwRLpMOoxWSQxiN45GknGVXAAyCSCMAk55wCOM4OBe6tHLqulpp+ovLHa27BojCzFUwDkoFGSc5xgkADg8GtLVNKtnEEFyjtNJAFlZAAz4BAxzwM9D1B/EGraCxs9et7nmQGMCKGaYk+YcDgjJwAMkEdT2GM6u6lZ+QQjFq5V8K6tqkCahpl9cRalC8032mNEyoVzjy8n3LHJGBxgYGaVtK0g6VBei0jS3jnTzgsYEpXng8dRwB74GCc55rR7C3tdcuJYDctA10zOdxTKg8DPJ9eCcjJHODnr/ByW9zOtzLeXklvHljaXI++QTnBXlgBjrwCOeQDWjlDlt3Jpxncj+JEejXDw69pWtzRCKIrFp8cG4XOOB5Y/hyAQwAORk4znM/wX1I6H4ok0TTlnuJFSUOsC7ncBSVRgDlmxt465JxnJql8RPDmgxeK7HxFZXsOmxzSlJYZ4ykMJUAF1PQKccj+83XFdv8ACqFtF8Zz3GltPC2orveaSy3ozEA/fPO3sOQcYyDnNKDu/e0t2Ndlocx8UpNZv9RTRdLtIHNlJK8lubrNxG7YypBPA4+72xx7+d3Op6jYlxexz27nORMhGen+Fe/638PdD8b+Kb3xHcXZgvGCRNdWBeCSNk+Us6HKsemfunHTjr4740+HXiOzvp9P1i+1CaFpSiyliYZguMFWIwQeuAe+COCKWJoUJLmd153Jw9OtOXKrX7HNx6o05O1mk4yfmxnOP8KtW0lxKyLJHKVHBw35c/49KsaX4Cjs3CrcNk8kl+CM/wCfWt6HwqhKGW5ccZ2lsDOO/T/Jrzakqa2f4Hv0MFiOqOcjligc73eV1P3FOemf8/hX0b+xhNJdS+LpjGI+LIAZ7Ynx3+teNaf4atYvLIt3bLc/LwP6jt+de+fssQRWeo+K4YV8tAlicBcc4mrfCVFe3SxOa0KkKKb7nzefC32HxI1lawyrBE+WlY5LD2OOTiu8vtBN3Ej2l28YIC+WDt9yScc9P51Kk1y+mNKscUkygcg7c5zz3P8AXrT4bzUbeaBZliAI5CZJVh05H580KW77nmS0VnuTy+BIb+wjilmcqoA3AD8RjHfHXnrTX0vTYIJLOybAtxt+T7ynHTHt1rfgNtIF+Zw7AFhk5yPUZ/Hiql+8VswECxlSSDsTJJ6EnB9z7/Tmt99UtTl50t3ocFdy3WivLfJY3dxESELr8+cc5xjI/Ksjxta2ep6HcXQt7iMMgfzSvHqf1ru7Wy8QXuvhbbSr2XTUjwSls7FnPbPTtmq9/wCB/H2uSvp9t4XurbTicebJhMjByOTn161pCjN9H/X6GNWrDl3PnjSreKC7kiFxutVXLY4z+Few/BOGC20q6v2eSRS7IshP3UHLDnoPfufYVJD8AfGto0l7c2Ol2sMZZpUlugxEYySTtz0HNbfw5W1h8MwWUSLJbmNyuDlWXJByMY55JOO/1pVYzivfRWGmpXsdvZXMOo2IlRn2SR7gWOCykZXH4HNch4xto9Wjj0j7a0VzAGmIY48xOF5CnIHJ9OM98Y27S5+23ItoGKxoNw4KqdoC7Rkcjt2GOR3rJ8Q3Up1S1itmtvvMWXJ3Yx6A8gEgZJ9eOc1i3zRsdDXLK+x8+au7yT3IihIMM/licp8pXPcnkc9vbsRVHVoY5pIrecwxSMijzFHy5zznqSMc5Hb14r1zxbq1rBoUt3PBHGWcoIdh3K2RkDcPukDknjA4Hp5HqmrLLCF8mB7ZvmVNgIQjPTFdNCq5eS9DGtCMddypJZQWGpywzghCePLIdSvUMpPPvnr/ACqjqVzZtCIYLchlZiTjaSOADxx2q0biB1jaOOAdQRyp596Sy06G9vvs8BimLMBHlgpc+x9u/WuyEur6HFbUyxbwfZXkkkk809P/AK9Ph066ntJbiMbEXOMgjfjqB2rq9O8MXFlpj6hrMJAkIijj8zlckjkHnjBxjviqmsJBbxMbS1miggw0gDnYxbpwc7eoHsTQ6urW3kDXZl3wf4/v9JAtdQb7RZiLYpYEtx0HXpjj6YrtbfxTJdRSXFiunyJdIEAkuShUEYI2joRknivFbuSGScPGuxM9M5P41NpMj22pwzW8iqyuGHmY2+vOeD06d+lZ1cGp2a/4H4M1jXcVqexS6zDA7LqzIouY0aM7W8tgBjaQx4bIB4Pr1p1l4mtGuC9nqMNw+C4QS7XQjsDnOOcj0I47V5PfGT7TKILk3UZJSAux5XoCMnIx71iuJOEYMuD37VmsDdbu5X1m/Q+j9R8RLdwxOrSPLGAQTJ8ysBxkqOO2emfpVfRri51C8e5WeCGS3jLROkhcNuOOBjAzjJIORx14z4Fa3dzaFjBeTxgjDeWxXI9DW34fvNXhWY2GqPbrIMujfNuHPP8APpUywTWrevS9ylioroep6pNLbam7rO0SxkNIkbKQ/A3E+x68Z57itrRL2G5W01CC5Z4oQJYo+CzfKQQMdScjPpk+mR4vql3rBlWG4vC0rrtLKSSR05Hb8a7nw34fGseGLgWNpNaCGykBQOz/AL8BsMzJgjJwNpBzk8YFZqg1bmfUuNVS1ii14l8Q3Go+LYI4NON/baYPnRZPNYyO+SVTkOw+XAIPzD1Nd2vjnUrqwiutI1G6JMsaeYUG6JSeUfBzjcT6EHPWuL0Pwtqmj28+nXsDAxYSSKU5UMWUbduDlT0ycAZzz0GpaaRqI1adLHRp4Y5WeQi3hdWZgCcNxkj5uOBkcDIwK3UrLYIq7vc7vQ/iFqVtdRy6ykkjBXKXMhMiBAASg2AHbwR825hwOnJ9R8KeNPBnjewt01VdsSzF497FYjLggjj8fzBr5v8AC+r6zYXRsjbXGpMpZpJI08wKNxyzehHPDYBBweMmtH7JY6jZXi26JpusBkdbiIBIZSHOGkjOQPm4DYJ4JyeSDyt95p/eiz6I8QfDmxu2eXw9JscncbOWX7p/2W9frXCX2g3GnXLwXVvJFIv3gc/j/npWh8KPE+o32lRW2qXLNOrFEcwSR428YYPzkkHgZHpXptvcwazbCPUkS5WPGHHEsR9DkAr9G/KsqmApVtY6M9HC53Xwvu1VzLueRwWSo/3AOvUfryPx4r0f4AQRp4g8UhVCjybEYz3Hn+1T694fN0wuNNjWVF4dIVw568le/wCFTfBmEW/ifxPGiSL+4sc5zk/6/rWVPCui3c1zHMKeLoRcN7i2fwU8P29mYZb68nJGc/KvTvwK27f4WeE4HEjWCO4/id2JJ/Ou2WVdgLFcY5zUYnj4EfcivTjFLZHzM5cz1Zi2vgvw3bHdBomnqwIO7ygx7+v1rSg0u3jj2x28UXGFCr04wO1T3MzLCSDt2kcAYzVRbqUtw77Rnb78961jcwm4p2J5rUdTt5PTJ44qpdxZfdEQM5XbjpxSXtwxlLLK5X5fukYrLurucZUFyDkcjHarjcxlbXQqeIQIrCcs6qCGYt6ZGOfwr5u0S30qwvbyG2ikh8u5mtF84suF80tjaeMH5SPUEdeDX0Pf3Be3kDbnUpgZH+fWvAfijY3GgeMLbV4l36LdgxXu/c3lyAZRh2C9VJ+mRgZHLi4Ocb9jpwc1CVn1IHNxparFFE8iSzrHG0UDlExkN8wzjHT3JwBxWXPpMk+sQ3058gQ74lmYg7wwIMeCR6ZPBwQBkZr0n+0oLPToZJLWSd2iBKxxAqQVyRjqev4ZqtcT6zr9vJbWyTwWZdJII2m8vJBOTwQfTgk5x6HFeVyRTsm2evzNu8kcN4q8N22saaNNkijljOGUoQXXB+9wc8Y69D+leH/EfQ5tIvhHE8cqvhmEaADjj7oPH49a+s9M8PSizkeUmKBg0Qt2Yq5LZ3DbjAGMMP8AeI7Cub8UeBbUtbHWLATQzB7eRmUvjILK4YD5cY4YHgnbzmuhXXvdjKag3yo+Q5NnmsGVDLjHBJ59aZ9olikjkt5GSZWDqyH5lI54r6Tv/hd8PL23+y2gmsbt4nDSyTyfu5PXZICeD14z0xg4rxjV/AN3ZNNcahJa28KXAt/MX5iX+9kAfeyvIPAII9a6FVV9bfccksPJM5t9b1v7Wlzc6jLNIzmURyfMgJ/2TwM/hUupalcan5k0dv5buo/eQEhSgx8rDOOD3/pipm0EQrKtxPKrKSGLJlW4JBB6+9ZunpJHFJe2s2GVDvJ5+vH0/wAitU4vVdSHTdzOe3MF2kV1G8e5uWPHB70t5aGG9Mds7TLtyG2Fa3Gv7O+e2Go2e6YOBvjAC7MYAI+vr+dZOpy3C3sgO5ACQhPGE3cVrCX2b6EtO+pJozeYZIJN5dhgAevXr26Ut5YPbwRtMrF5GOeO+efy96t+D5Im8QM9wzksjFVA+83ofbGc1sa1avAiRzXkKRviRokUhyDnLMQCSSAM/X61lObhK1/+CUoXOb0zT2vrpDughjLqpaRgijPGcntXqXgvwqt5cGcWcSmCJYjJcN8srcn5BgYBJHUHI9OtO8F6RYXbx3JiuIms2ZI1dFKFiMh+hJxkYJI/Liu78Iy6Ze2jTtaskqSvFJHID+7bBXIJ65AB49sE1m3KTXmNuMVax514m8LRWWtwLFc6dDhPMnt0bd83GST16Hnnj8Ca9D+G8UUWnW+qWOgRWtn5p8ie4l8rvyFBwSASeeQQO/fau5rE65DbJaxyIqYiZozITx/ewcHCk8nJ4+lcv40uoNF1q21XVpFt4Y4hFFkEtvyxGO4BAHqefbNRJX1WppTl9l6HqWjeNPC0hl8P+Kb23lngcyFnBKp94gZ4wRt4xz9c1pTjS72ee70PxANRkZPMtrdZg0aDaCo+UZUEHIJzn8q+YfEPi2wnvzdW0VxC1yw810dl3Njr688cA44BxnNW9J8e3UNzFcadfGzaKUIJJIgVOAQGwM54wCCMYP1qeaa9DX2dN907HqfjvXr439ot/pS3Nt5xDwCEh1+T7rMegJPAI9exrk49U8PXMqzArAZJTI1ubhMQOWAUqGBDEkHJ5AyR1walvvHEuvXdxF4jsHtbpFBj1S1kKzkKf4Y14f2OMHgcYGLltpujefHdvdGCBHkeG5MCr+9ALEYwfmOM8dTnA70QUrvXc0U1FWa2Ou8P2+nS67arZidvPxdGKO5aJJWyw+62RgMMnBUDIwMfd9g8Laok/hCOa3KsloNjp5rMVKjGzcw+70GTxyM15B4c17TptAutR0e0FxqigJmaTyIZVJ2sRuAAKcE4GCOmc16Z8PjPY2wttVtbe3gnzFMFkEiOSvOeo5A6HH61pHni79yKsoTVmdlY6oY2WQko6g8qMkHHTjir/ge+ju/HfiWUFd32OwDEfxH9/wA/y/Ks/QtV0me8k066RPtEMmwgJjnjHTp1Hsat+CbO0j8eeJljPy/ZbA4z6+f+ddEmnTbRw25ZqPT/AIB0b3WB1JK9jnmoHvdsXLMOvBrIur5lfCgsegx6YNVZdUVWOVHyckVokYuRdbVJEXAy4J+bcx9Nx6/5/Cq82vbRxwmBj8s+lYNzq8bRozqFVhuAxken8qxdX8SaJo1k82oXVtCpIAD4y2eB05znjFEpRW5UacpbHYS62wII4L/Lhug+vHSqT6ykqLuwMgE9m+teWan8QLZcrbaexRW+UqeQR2IUHHAPJPUYrk/Fvjh5biKOO5ggVQzQxlz5s+3IO4beFGehPJJzggGs/bR6HRHCTv72h7NqXiLynb97EgAIJJ7Af0ri7/ULTxHetY3MBmsQS002V2cY4POec+hGM9MiuL0rVxqMlho6PLFc3dwkb7oS/lb87iDwSAN3oBgY4FdTpunaNpOmXSm5trid3XeywiGMkE7SACSSc8sSSTzwOK55YiUtErG/1WENW7mne6xpVjfrKJttyGYqc5yQuMD0+7145PHJ5afEqzTBgEiVXU4kuDwCO4A4HHfpnmvLNbutZvLe4exu/sht8nC2/QZAOevBznqOnGBwdbRhctYE3hWZzEAqqAWYgYDqBx8w5G7BH0rniuZ7FylZbnV33xKjsNQfTDNDOSoZRbqZBkDOTjgE9Pr7Vyeu/FG9uZPsRtWtxKuUMhwWIHIA9MZz3wcVzurXUJkaF4I4DKQkl3cIU44BTjABKkDPX09aqar4c1bXbmV3iha2McZtyjFs85JyRx14x15HUVEo1JJpGiqU4tMsN4gsXlEt1xuO1mgfDqWwRwMdMjBGDj8q6az0681T7NFdQQatb43QJdRBsAYAxngkDGN2COSBzkcd4e8FTtrUj3KvcPFB+8M/HmHPygZ4yAMAZ6c8dK7TS5ru216KOO9WK0iZVkhZQCN2ATvGMYJzg8EE/gqVNwV3ccsRzaIwvil4Ut9T1ZdT0Fbexu7eKWG4s5YyiSOvQ5zjcecHBPHtmvDJdLu4NTudMubB7G6tCxeJjyc45yeOwII4I5GetfR/xB8X295OILXS5J5oW2yXaqcIoIIwTgvnBPp6E1w/j6PSdWhitbq/C6lJbkDUNmVToRFMQcbcHHP3fxweqM43sYShdc1zySDQr99rcqUbhncbs+46j/PvVXU7WRHlW8kdmj4LgEE84zz+VXruyv7W/ltkaZXhyspHYntnucHrzVeX7U9t5MoAlbCF37An/wCvV3aku5i4q1yvoKy22uWVxOPkVzgbsbsDOPx6Vf1/UZRqxmdEY20rGMyqWLZbcuV6YA4A6VD4Wk+1+L7NUiAWMsyK2SMhSd2Pbrjjp1FXta0y8XVijXCLNIrSPJjKtGR27kYPem2lJX3FDY1LXxReDwpdmGG1kvZ3U3EjrvM2QMDBXGflwVHb61htqk11FHuWX7LbucRBwqcncTt4BySx4x1qTz447SHS5pZWjgd22RgqMtx8x64AIx6Z/Gk086ZEGe6c5lJWOFcgA9mJ6+vB68A4yTRKKY4ytqdjpPia+FlEqlL6W5cpA4uMNAgAY5C43MRwCeAB+Wx40tFvfDE1qL0yKEFwiTHLkjHQk5DE9gORnk9a87a9CKyWEFukLt5bZiZcDbtLg/w56nHP5V1OqQSS6BbG8uIbxW2m0QO/zckMzA9unc/KPTFTGKjcTldpvQytMWxjtnnnYxwTll2+Tkbwc/xDGR8vAwefwNixvNOgiaeaGNY4JCY3MSr5hGdoJAyWJ4HYA5IFctfSzx3QtkuDLDG5DbOiAH+EZA9xjH4V1/hJrW+t4LZJNPujAZJ4TPFhoWOAcKpwS23nnAx64pOLcdWzT2liC98bardXt1qUNjPbFgoSQoSLdM58skAYBJJ9+M5Aqrp2va3HdCa1ub23uDicqm9sqMkEqB/Cf0z2qbxpdh5S09wZYrkqggt2LQh1xjcDyuRg4HHHTjifww9orLcvcLChAhDZ+W3XJGSAcnrz2Axwc8ElG2qHGUtrnfeCPinqEktvZ6tMPKuHCFZGX5TuGQBtPynHTg9D1r6OtlEmmRanaqGSYASwnhWZsfP/APW75HrXylpvh+xbxf510YrlFkh8oxFzEW4z82fvHG7qe3TpX0lpNzJY29nZ2pt7iz8xo7hJGLE5AZNoP3gOc/hgYpQdm+xc2pRXQ6rQG+y65E80EUV85xcbW5CDAG7vgZxz/dFdb4QiX/hPvE2AMfZbAjHoRMf61xAv9POreUk/lOFilV0X5kAJyD144B/D3ro/hTqlrqviHX7qIY221lG3yEDKiYcZ7Vrze44swnBc8ZL+tGVtSvUeIorMCRuGwcisS+vPJMnmSjaSMlh0+n/18VX1LUtrMeiqfrj+lcjrd7JPG7JOkYk3IJNp+U9AQAf1yOgxnNVWq+zjcmjR55WIvEPioRzLbWMZuZFjYlFPzgDgfKOTxkknHQ1za6ampaimp61FaMXVVRJgWeAkKcspOBjjgDAI59RRs7YJr0s1sDdIV2+dcSsC7Ak5xnOCQTjBznnsK0NavBa6cG06V5pAdqurgojHuQQQADnp05BBxiuGVbn3Z6kKCprRFTW7K4W6+zWdrCkbujCe1IiM+T22k9ACScAcZx0NeceJrgpctFbo6TMu5ZSdyFQSDhjkg/e4JznoOmOjXxXfqb+4uImjjgKBEnhZHO4nIAJO4YBOc4AIwOgqnfaXJr8LXczvFOkYnRhxHJ2UAkgk4GcDH9KmMmpWuEm+XY4zQ/F9xoetabI8aqbScPdCNn3MDlTuJzng9DxwOOteszeK9LtTDff2hbzwTvGUGSBIHyGbBORtII5GQR+A8wm0uZNDafU7RLdZmRomly0kqIwJA4OODnPHHXJPPIjxHf3/AJ9p5dvPaO25YJUGFyMZU9VOB1/StORys4HK5pO0j3zxlcX1laSX+mohimlQXEgfhQobLjOeMNnjGRj0q7pCTXGlR3ENvDFPFb7BIkm1XI7FScc8EHJHc9K880LXLTxDYR6ZLL5sgA8+0uXPABU5TGBJ0+uQTgECtm48SC3sodM0pktQ8SGRppzuQ9dq4IIOACSSQQ34lqfvamUoNRZVvYNR1GZp/EkslvZpiMw24DBzjIPPcHHOeTjscDV8M+INIs9OvbNNReSJULZu48MGXkZYdc88cY6DiuA068u5NSjP2ifULuKX/VBy+7JGCOx4xxnH44rsZZNGifzDo7xzyvtnKOyhHGOMEcE+hAHTqeije11+P9fgRzLY6Lw54gku42R2S5hEyhJS+5VyPuk4JGMggdjnnvXTahd3FsZ7VLYGM7WMka53YxnBwcnGOOCfwrkxNpVppsNoHmi/tBtuBwJATtIJ4AI3ZPfA/LqtOglxbStcfuwvGWJYjHO4kcnJ9j0JPY7U00rXM5Su72OG1LWru019JZ7K3j0fzFWW4YqJFlIOARwQQQPlIzk46EYpXEUWt6rduyogtorhSyN5nnAgOGJxyAMcHAAPPJBO3440PS9ZtRYa7HOBLKX+1xuuYXzj9efbA+grn/B3gzWvCuqT2ckgvtLuED297DyEZTnlM5GRwRyMdCecTa73uaqVuhzsmhXl9pMFrJcxLqNpEzxIPmMsLElVBzzjJwDwM4yc8ec30s1wvlQQF25Dbl5R1znjtX0dYeD4bjRLnV7W5WNrRRJbbAZDEisS8eRjcCMY4G0DGMDnm28Fw6xczanawND5zfvYgwb5x1YdsHIPU55PfJ0oxjKSvuTiHaLnHbt2PE9J07VLS5hvooyjRnIHqvcf/rrrfFS3uowqUVAJyqxtG43sQOCeB6EfiK9BbwKIxnBOCT0yc5GM/Xk1nzeH/sWoW8s5ZUgZsdAuG4J68YyD06iuith27TVro46WL1s9meQnT7w3EiQu0kyt87IMr7nPOMdK2dH0hYLz7RqXluYkziT5VDHkA9K76Dw7p9lFNFaWkjqRtYrjBGTkMGPzHBznHOfXNct4pSBEjnimieEyElVIEh2nBB7gA56DGOa5J1W/U7VZkEN1Y2N5Fcvb+bDA5eVdmdzZIOCQQcjucenvVf8AtFp4wbaF/scDmXa0YRE5yI8AdstznPzNnNZVvc/Z4332xjQSnkfK3XgD6fl9a6bS3Grabse3a0uIkMhc/cYDC7mHA3Ebsk+h49G7xja42/e5lsUbtLGVbu/8+PzriJlEZhyEb0znoOfXgd81d8N39lY6fPFaQ2Kz3CeTJKBhjkgYHXHQdOpP0xjFd6TWssqOzyER75OnPr/gPzqLT7G5s7oStbk+U2C/mbVHpzj68j1FTGWlvuKa1XU0tX1Nrm3ttPhFzDDD95GKqGBGCQFX69emT26dN4ftrScWUNroYFo7g3Dm4YHJBwRgnvgkn2HQ4qPRPDdteacNTdpIrkMrxOz5EinOQcAnoRzjqPQEVr6f4duY7yeazeaKBBuQJNvLOW5B9c8DBGeADyMmOdroVBJt3O8+E1lKbG4XWF8mBhKWdWBk69d2Ac9Md/rxnttf0yVZrC703U5NkD7HTaQGLbTvx34Vge/PB61yuhPJALfR5YfKmkUSXEKOPMWIHC59dxBORjpxWtrU5t7ozG8uGtkKl4oXUNGwHODgZPIBBP5Va+GxMpXktDestGjg1W41eK/nkuZoQUhYrlk2hRgcHt3716L8INPhi13xDHECESKzjwOMMolU+nORXlvgC8svEGoxapo8LyXSv5KqdqGeTJCqQRkY6gnGOa9r+HenzaX4j1qykdHmistPWZv78nlyb2OAMktk5xzmtI+9BvoRP3ZRX9bM8S8R6gixyKJW2YAyeM8//XFc9p1xJP5DRSpJGNygscZfLHp0OBnvx1x0rnZfhz4m1KRpdd1u9lUnJjjPlooJ6YWul8Paba+GNMTSi2yNWJAkkHzFmOPQ5zn681GMUlTvYMFO9QdLZX1ukcdu8UTHO/MbMwBBLAEEAcDGTnnrk4quhgs7Z006GWQozRp5UOSCdoYk7skjPJJA2nGONp2jqUV0C8crRumPlU5Kg5+vGQefUc0aSkcieWEKhTuZ0UAHLEnkY45HH4epPmpts9Xnt1OJsY4JdbuLO+0+GB9xiR5Y8iQkZIDHGMADkAglhjnIrZlMMFi9vJEGjAZPJdSytljjGRkcDGO2cYODV3xldQ2bSXKWUV08ZUmF8b5Dnh884HPUc9vatK8WJbVrqe3XczjeqoAevTj0yTn61onbRGTnzbnnmseHbS/WOS8sYHiJ8tYQCI9meMYORgjseD6cV5f440DQ9DuPsOmJctesVlaEMGjijPAyxG7J7dcck8kCvddY8l7qGWCCcorMCwUHYD2HI5JyT7A+teZaiqalPLPMRKWc7ribaC2OAB14xkfTP1rrpNqNrHnVn79+h5tp7ziUp5bxo7fKQD8h9v8AP611nhrUrTWVXTtVjaQN8qzZPBHHJxnHUZ7Z4x3brsdlBdwxoUluR8z4YYjHJ9+SScjgDiqnglYpfEMVnbgmQSlxHEMq3zfw+3pnilKN3d7kwn2PRU0a38NtFeRafJaW7ht8jSHyw+RjbnJOcdCB3PPYvtNsUaWaeWaK+nC3Ang6zHowI5XGMZJAPIII4Ne06TbQPosFlcwpIrx4lSUBweOR83BrjfFPw2t2jkuvDMot5HUg2kr/ACEc5CnOVABwAeMAcgdOiWHnHWGq7GUa0JaS08zzXV7nWLyOLTYI/sqCBmjSVPME5QkHGcsD6dDxknoa27LxtqFjp2nTalHHbTzW+yRpcKUYZIPPHzDryR+VbXhqOeyuJf7ajaz1NgWEcsmUjx6Z7EgngkHOMkCovE2h6ZrlhFbbvOmQPNFmXdnPUAZ4HIxkYyB3FZQ28wknH0LGharZ6rb3MaSS31pdQm5tZSA6qwyGQHthh0xxk+9adnZrolqJUnd4XQNNbGTcSSCF4JwDx2xnBznFZ3h22uND0NdOis5H2x5O0CPLAdAMccDAHTitWTWRJpMIm05WkU4eOcKQ+PQjOeSRk4rWyte2oKb2ucj4z8fz6PpcGm6TZXVtPLyJHUBQrZzgj+PJ6dB1HpXVeBb61vvCVk8RWD5tr7kAG4Ajk9ODnnPIx24ODd6WuoaxBdHy7u3h+dLWZC0asAcAj0PJ7Hgc+j/AFjq09jPp8Vo/70qzS7RsXBGcg9iT2weAOlc3vqoranVGcXBpu3c75rMOoJBJ2khQB+P+FYusaQJYmKqDknO4deB9Otd/BaOIUGzccDlR/jzTZbFioIjDBsrzjivcS7nhN66HgGvNqOhyExwsYmyuFHI47ZzwAOnoD061wWr3GnandQzNDJAElBlMZUP8x6lfTpnPIHTjivqy48OrdqUeA4x0Kjmua1X4S6Jqkh87T42OfvbB0PbPP9K5qmF5nzJ2N4YlxVmeDzaXpJaSJbcpKyb45kcfviRkDGMADqQCBnPNR+H0QuzizuPs0cADs54kJ3ZAHR1xngj04Jr0u5+AtlBe/aNNl1HTmRjtkRgykdDgHPHrwPxBpJfg/wCIREYodYVwB8n2iyDYweMEHr74xx+FYSwlS91qbRxcbas83Oiw3dw88IiWORVLK0ZCOc5yMgYHQccg81palcWEcVtYJBBLdnIZWT5GB7AYzngjJPT6V19z8FPiJJ8qa/ZIAD8y2zKc4653Hrn+lSaX+z742D77vxPYODjf5ltnb124IbIx1rKOCq2s/wCvxNHjYX0f5/5FLw7ZwLPEzlUAiKyKTggEjHGeT1yevPSpI9b0nwk0gDm5QuoDEhcfNyCSecYxwD9MCuz0P9m29mkSXW/H2oOeoS2twu0d8MxPPbOOM12ek/s0/DW1njk1hdW1mZG3Fr284Y9eVTb/AF7j62sFPrYl4xPWJxGgeKoddvS8ctjLcbQlrHCGZ0UZySTjHJ6DptzyeKsaf4X1fxW72iWculaYNsMsskbLLIqnJCqBn5ucsSOCOte/6B4R8HeG0WLTPD2nWm0YVo4VyB2AJ5x7VuxXdvEpPlrgYxjAB9K6o4eKVpambxLvdHGfDfwbpHheYPplgttNIoWWSV8vtH6A89gK6XwyyDx94qDMD+7su/8A0zerNzqtsJPugt1wTjHHasjwLK1z408VyR4Kg2aghuP9UeP1orpRpuyt/wAOFCcp1VzO/wDwzOXvLISKxCKrD+EYHHr+lcF8QPDkWp6W6zxMGRt+5cgnbyOnJweRjvXt95pErRuvlYz3Gawb7QblwVEbDI5zz3qJxU48rNqc3CSl1PHPD9tp91YmW2uba6uUhEbMkoKse7EjpnqT/hVe1guE10Rw6dFb25mdZGVyytEsfBOAP4uMHPfn07LWPhxbjUpdW0+xFjqTIwM0QZQ+SD86ghX5GckE+hHWuD1rSPGemXU8g8I3F+kkfLW1yjRGTpkBmV8EAEjB9snr5VTBzjbl1PTp4unL4tDVeK21a1vbRXuLaOHEbNGdrNwCdp/HqMemRioNXswtg/m3zMyMvlSMw7D7zYwCSSOAMHj8OSi1PWtDtJYr3RtchWViUkhsZZCmB3DZAOCSQMjjI5rkPFkMi20rQ3OotIUU+R5RSHec8vGSehz07fTAUYTfxRYp1IfZZpeNPG08NitjoMMk06Nta5bkEDJ3KOmeoyRx0x6+Sarq08FpLbtdCW5kIYrktgY4B9/pXU6V4Q8X6vbx7YZLa38wnd5W3g88LwSM49uDya6Wx+Gly8pnu4TJMVCtJ5ewZHqM/wCf59lPDye6PNq14rrqeNLcXt2JA0EqghggAPHFdh4BW40e/F2sQWVvvuS271P4cCvSrb4cEAYtDg4HC/n/AC/TtWna+AxH8yxNkYByB07d89a6Y4dxd9kYTxPMrIZa+Op4ly6sSOmS3Xoc/wCfyxT/APhY8ikn7KST3JODkf56VYk8EyYYLAFOTkgd8jnjr/njJ5pzeCbkKCYGK4PUE8Hg9+npmuhp9DnumtSrq3xFgvrR7bUNKedXRlBDkMFI6qeozkcd+vOK5qx8RafAswdrl5Q+6DJ8rGM8EqQOD0xj2Hp0N34FufvJbysQORt55PAHc/5HpVLUvAF7bwQzm2lkEwZlXYxK4OBn64zjjA9q5q2F9q7vfv1N6WI9npujsvB2qI/hZZLvKXRGFjmPzPGSFDZJ+96g4zjOOa6Cz0fSryy8nUkmm2OkkblWTYc5UBgeoIIOCARkGvHoPD+u6f5a29lcTQJKJEjQMGBByQMD17Hjr0JzXbaH4nuIryOG60jU7Xyk5dYn2lAx+8meCB3xzyD2NYctWnpJHVGVOprF6nU3OmBPFJMf2kRTYcTRoCsi4OQe4IPORz68V6doOj2EFhbC3tsIEEmH65Pc1w3hi+tdfuYJ/skj3SSb43eJoyCBt+VT9Oo4wc16tbziMKR06AY59f8ACtqDd2yMRFWSIotMhZQQpI579x71ONJRsBVGBxVu3vBJIUaFsYyWzjH9K1VWJkKs7cjqM5H09K6ednJyRMOPRon+QqygnnnBNTvpyJGVgSMOF+UsCQG9SM1s+YqxYG/gfePNRNIoKl/M55OKfMxWSMaWxjL8oQD8w45zn/61Pj0223AeWCP4mzgfjzWoZIj8u5cgA4K9OaryTW8cZZnQMBkH1p8xPLroK1pbp94IQw25U8ZpqRWqykBCWByVJrD1HX7GEBUuI9yknHrXN3ni2NHYvPGijt3o5l3LVKTex6HDc2kTOjkBk6ktxjFNutUsUjJ82NeeCHz/AJ7V4V4k+JWiaczfa9YsonQ7iryhT9MZ/T3rg9Z+Pvh2BPLt2uL11JYLDEdvr1YgcVLqRXU2hhZy6H0ndeJLZGbBLKvJOfesDVPFEUBPlzKvQbt2f89a+XLr4zeIr0smm+HJGXI2tO+AD06AYH9e9ZtzqvxJ1xAr3sNhHg4WCMcc55PJ5+pzgVhPFwj1O2jls57RPpq98YWaL++vYlXOHJYDgev0rrf2ddbtNdvPFl7ZXEVzGt1bxFojkBhDyM+vPNfGVp8OdQvpFfVNSurh8glnkJ/QmvqT9jLQz4f0jxVp6BVAv4HIJzyYF5rmnilNWR1VMvlRSlJWPXprye3Rt3mlRyHUq/FFt4gEWPtG26iLY3r1H4VwHh7W723ZxdyPPAxwCx3Mv+Iq7c6nAjtLbKFd/lcD5Qw7dPr+tdSijzJTa2PRludMnhRjDGytyOAfxoC6W5yLdcg8bBXCeHtZPmvaK6NGRviAIyMHkVsjU7lgQAyr2ycVSRDmzoTb6WpIaBTnjBHWqk8WiiTm0QseSNmRWYl80yqTIQvAb5h/nNLLcwq4B25x1JAJ/GqSIcmWpbLRXxi3gIxwNn/1qr/2doolOIYcn/YFRvJEDnuD03DmmLcxA48kAZ5ZHGfrTJuPOkaWRiO3hJ7YUcU2LR9PYbWgt8+uwdKaLtCnJ259TtJP+FMe7GzcAgVedxbOe+O1ArrexZGl2MYzttxg7Pu9zwOlTpptm+W2w8A5x14rIn1CMZALj6mq/wDaKqSUPUc56ZpWY+ZbHRR6JZld67AG6A1N/Y1sw27A7AY+UjrXFtrJDiMOR1OeeO1QXGs3CKoN0F52kZNPlYuZdjuDpFspBKBg3TnmpY9LhXrtCr8zYH6D3rzeXxTDAWZ7yRuercAGs6fx9cT/AC204Cj5QFYn8efpQ7lxg30PXXgslAUQKuBjcSNxqpcjTzI5cIznHAxzXjtx8QrhN++ZsoNuXfA+vOOK5bxD8ZNNsnK3Gv2SOP4fNDEn6A5H+elLmS6lqhUl0Po6K104MApUcdu/+eaqXl1ZWkpV50VQDwTXyjqX7QmmLOqWN5dTExZcRRMcN0K8juBnIyPWsbUfjN4k1WIRaP4fvpMk5e5bYM546dR37E5rKVeEd2dFPL6s7JI+q77xhYWxLNcDIGT8uMGua1b4i6dErO0youCSWOc46/lXy/PefE7XpXWW5t9OVzk+UhZs498+mfXNRp8NtZ1Nk/tjXb+6wBx5mFA9KxljIp6Ho08iqy1aPbtT+NmiWpLy6zZwgEgfvPT0HX8Oe1cRq/x80wmRbUX+pzHOBBESp9Tk4/rWDpPwi0eAbZLdJBjln557c4rrtJ8C6bbbI1tYwuMhVHcewH5Vi8XJ7I76eRxj8TPOtR+I/wAQtcUrp2krYK7EiSX5mGeM44GeO4x7YrEHhXxvrTBtU128eN2JZFlIBzk+uPWvoOy0KxgA+VQO+DxjBB4/Icf141IdNgxtIALHJJwDntn36frWEqlaezsd8MvwlPWV2fPui/CC33FrrfM/JbzM8Y64x19a7XSPhhpcJ3R2kDcZyyAfXHfPf6CvVFsfLAcIoPUtjv3xj1/Crtvax714AIHI56H+VKNKTWruac9Cn8EUee2PguzjUItvCCO4/TnH4dh0rct/CkcbldiA9BgD374/w7dhx3MNtEAhKbiAM4z/AFrVtYIdv3fm54A7itYYdHPVxzWxwtt4bVASUiIBOGxyR9eCR7V3XwMtl0/U/FcBIX/SbbjaR/ywX071oR2AUhpEJUnqR1HSpPhrFEPE3iwKucT2o5Ocf6OvTHFbSoqMG0eRiMU6soxff9GcwJrBbfzUlHlYOcoeMde3TqabcX9mtqpSQiRMoWVSD19f8+lFFdKbPIlaxi2erW0WuMI5gGDmVRtYKSRhh/I/jWuvieJJ3V5CQAGO3K4B6dqKKpMlpWHHxLbbmHmgOeGOxuv5f5xSjxbGj7ZJRuYHpGeg/wA/pRRVXIsmSyeJbVlyZm/iwMNwe/41WufEcKOQ0r4HBABIHoelFFFxJK5BP4wsIJUM0pCyOBxGTj36e1Uj43s1Ox53YqM7dhx29vf9RRRUuTOmNGDMXUPHtqkci73JXPVDx6GsfVvilpVpbGSUhBjhhExOTx6epAoornqV5xi2dkcLT00OL1P446PE0kTTXEinoI4TngfNyce1cxffHO6vPMh0/SpbhFOd00oQ/XjkdPx70UVVCcqqV+pPLGMbpGePGnxA1KYPY2dnZIQTueXfjP1P9P1q1DZfEzU49s/iQQRkEsLdVXOePb1oormxEpRejPawGEpVo3mrj4PhfcX536prt/d+vmSkj24z9O9dBpvwp8OQbQ1r5zA8lsH+f/16KK4Y1Jz1bPUjh6UNIxR0Nl4J0Cz2pDZwoOTlY1BI7g8VrjRtNjVVSBYyOT8oPPP68f8A16KK1gk73JlVa0RoQ21rECAihuM4XjI/z+lT2/2fOdwQ4ycJnj/P+fQorTqZKbbL8bwoCmN3bkcc+36dv1pROokADLkjdwCM+/X0z6UUU4q6KqSaJoWB6FV6HleDWhbMNxLyMT03Dk8//W/mKKK0ilc46kmTLJE4U8DPoCM1qwCPYWzkYyxI6A8YoorS1jnc21qWYFXcu1x9QD9Sf8/WtKCOMfvC4IABCtyQPy70UVrE5quxp25h3lMsN3A759qk8AxxHxV4s2kti4tQcjHP2dKKKKnwM85u9n5/oz//2Q==

Æbleskive-plader

240 gr. mel
1 tsk. reven citronskal
1/2 tsk. natron
1 spsk. sukker
1/4 tsk. salt
ca. 4 dl kærnemælk
3 æg
50 g smeltet smør eller margarine

Pisk væske og de øvrige ingredienser undtagen æggehvider til en tyk jævning. Lad dejen hvile 1/2 time. smelt fedtstoffet og kom det i dejen. Hæld dejen i en kande. Åben grilletten helt, så alle hullerne kan bruges på een gang. fyld kun hullerne 3/4 med dejen.
Æbleskiver skal bages ganske langsomt, så de ikke bliver mørke uden på, før de er gennembagt.


Der har været mange debatter om, hvor mange æg, vi bør spise.

I dag mener man, at vi uden problemer kan spise et æg hver dag. Det er ikke usundt for os, snarere tværtimod.

Frygten for dets indhold af kolesterol er ubegrundet, for det er ikke æggets kolesterol, der fremkalder blodpropper, men i langt højere grad mættet fedt, altså mælkefedtet, samt det synlige fedt på rødt kød.

Når vi får kolesterol ind i kroppen via æg, laver stofskiftet bare tilsvarende mindre kolesterol og så passer pengene.

Såfremt man har arvelig tendens til kolesterolforhøjelse i familien eller lider af diabetes, bør man dog holde sig til tre-fire æg om ugen.

Salt kan presse blodtrykket op hos nogle mennesker, så hold igen med fingerdrysset på ægget.

Tit går æggeblommen i stykker, når man deler et æg med en kniv. Bind et stykke sytråd i håndtaget på et af overskabene, og del ægget med sytråden. Det fungerer på samme måde, som en ostestreng.
Det er svært at se på et æg om det er kogt. Læg ægget på bordet og få det til at snurre rundt. Rå æg drejer meget dårligt, mens kogte æg snurrer lystigt rundt.
Man kan godt koge revnede æg uden at de revner helt. Rul ægget ind i aluminiumsfolie og kog det som normalt - kogetiden er den samme.
eller
Undgå at ægget revner under kogning. Tilsæt det kogte vand en lille grand salt, inden ægget kommes i, og så sker der med garanti ingenting.


Er sagen, når man skal koge æg, en nål kan selvfølgelig også gøre det. For at undgå overtryk i ægget under kogningen prikkes et hul i den ende, der har vendt opad i æggebakken.
Tilblødkogt æg lægges et mellemstort æg i spilkogende vand og koger præcis 5 minutter, inden det hurtigt skylles under den kolde hane.
Smilende æg og hårdkogte æg behandles på samme måde, blot skal de smilende koge 7 minutter og de hårdkogte 9 minutter. Både smilende og hårdkogte æg skal afkøles i så lang tid, at de føles kolde - så kan de bedre pilles pænt!



Dømmer vi ude, fordi både smag og konsistens er så ringe, at dåsevarianten på ingen måde tåler sammenligning med det frosne alternativ – endsige den friske vare.







Luksusøllebrød laves med kanel, citron eller appelsin og flødeskum på troppen. Øllebrød er mormormad, der er mere end 800 år gammel. 

!Opskrift på nem øllebrød

!!Du skal bruge:

"""
350 g rugbrødsrester
1/2 l vand
2 hvidtøl
100 gram sukker
"""

!!Sådan gør du:

Lad rugbrødet trække i øl i køleskabet natten over. Kog øllebrøden igennem ca. 10-15 minutter. Pres den evt. igennem en sigte og varm den op igen. Server med flødeskum eller mælk.
Pift øllebrøden op med kakao eller kanel

#    Tilsæt et stort stykke appelsinskræl fra en økologisk appelsin og en kanelstang til grøden, mens den koger. Fisk det op, når den øllebrøden skal sis eller serveres.
#    Tilsæt revet citronskal fra en økologisk citron.
#   Tilsæt 2 teskefulde kakaopulver.