From 3738463c1a61a67513e88d04e12220f44075fe97 Mon Sep 17 00:00:00 2001 From: freenandes Date: Wed, 25 Dec 2024 23:04:22 +0000 Subject: [PATCH] Go --- content/.obsidian/community-plugins.json | 1 - content/.obsidian/core-plugins.json | 50 ++- .../obsidian-languagetool-plugin/data.json | 13 - .../obsidian-languagetool-plugin/main.js | 7 - .../manifest.json | 10 - .../obsidian-languagetool-plugin/styles.css | 159 ------- .../2024-12-25T23_01_00.307Z.Desktop.edn | 423 ++++++++++++++++++ .../2024-12-25T23_01_55.274Z.Desktop.edn | 423 ++++++++++++++++++ content/logseq/config.edn | 423 ++++++++++++++++++ content/logseq/custom.css | 0 content/note/structure-of-enjoyment.md | 5 +- content/pages/contents.md | 1 + 12 files changed, 1304 insertions(+), 211 deletions(-) delete mode 100644 content/.obsidian/plugins/obsidian-languagetool-plugin/data.json delete mode 100644 content/.obsidian/plugins/obsidian-languagetool-plugin/main.js delete mode 100644 content/.obsidian/plugins/obsidian-languagetool-plugin/manifest.json delete mode 100644 content/.obsidian/plugins/obsidian-languagetool-plugin/styles.css create mode 100644 content/logseq/bak/logseq/config/2024-12-25T23_01_00.307Z.Desktop.edn create mode 100644 content/logseq/bak/logseq/config/2024-12-25T23_01_55.274Z.Desktop.edn create mode 100644 content/logseq/config.edn create mode 100644 content/logseq/custom.css create mode 100644 content/pages/contents.md diff --git a/content/.obsidian/community-plugins.json b/content/.obsidian/community-plugins.json index a1889710..8074d9a5 100644 --- a/content/.obsidian/community-plugins.json +++ b/content/.obsidian/community-plugins.json @@ -1,5 +1,4 @@ [ "obsidian-paste-png-to-jpeg", - "obsidian-languagetool-plugin", "obsidian-smart-typography" ] \ No newline at end of file diff --git a/content/.obsidian/core-plugins.json b/content/.obsidian/core-plugins.json index 0997356c..faa88641 100644 --- a/content/.obsidian/core-plugins.json +++ b/content/.obsidian/core-plugins.json @@ -1,20 +1,30 @@ -[ - "file-explorer", - "global-search", - "switcher", - "graph", - "backlink", - "canvas", - "outgoing-link", - "tag-pane", - "properties", - "page-preview", - "daily-notes", - "templates", - "note-composer", - "command-palette", - "editor-status", - "bookmarks", - "outline", - "file-recovery" -] \ No newline at end of file +{ + "file-explorer": true, + "global-search": true, + "switcher": true, + "graph": true, + "backlink": true, + "canvas": true, + "outgoing-link": true, + "tag-pane": true, + "properties": true, + "page-preview": true, + "daily-notes": true, + "templates": true, + "note-composer": true, + "command-palette": true, + "slash-command": false, + "editor-status": true, + "bookmarks": true, + "markdown-importer": false, + "zk-prefixer": false, + "random-note": false, + "outline": true, + "word-count": false, + "slides": false, + "audio-recorder": false, + "workspaces": false, + "file-recovery": true, + "publish": false, + "sync": false +} \ No newline at end of file diff --git a/content/.obsidian/plugins/obsidian-languagetool-plugin/data.json b/content/.obsidian/plugins/obsidian-languagetool-plugin/data.json deleted file mode 100644 index e5b5ee15..00000000 --- a/content/.obsidian/plugins/obsidian-languagetool-plugin/data.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "serverUrl": "https://api.languagetoolplus.com", - "urlMode": "premium", - "glassBg": false, - "shouldAutoCheck": false, - "autoCheckDelay": 2950, - "pickyMode": true, - "username": "pmcf@outlook.com", - "staticLanguage": "auto", - "englishVeriety": "en-US", - "portugueseVeriety": "pt-PT", - "apikey": "pit-uhmcRpOoNcTt" -} \ No newline at end of file diff --git a/content/.obsidian/plugins/obsidian-languagetool-plugin/main.js b/content/.obsidian/plugins/obsidian-languagetool-plugin/main.js deleted file mode 100644 index 1db1c307..00000000 --- a/content/.obsidian/plugins/obsidian-languagetool-plugin/main.js +++ /dev/null @@ -1,7 +0,0 @@ -"use strict";var e=require("obsidian"),t=require("path"),n=require("@codemirror/view"),r=require("@codemirror/state"),i=require("@codemirror/language");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a=o(t);function s(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{u(r.next(e))}catch(e){o(e)}}function s(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){e.done?i(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}u((r=r.apply(e,t||[])).next())}))}class u extends Map{constructor(e={}){if(super(),!(e.maxSize&&e.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");if("number"==typeof e.maxAge&&0===e.maxAge)throw new TypeError("`maxAge` must be a number greater than 0");this.maxSize=e.maxSize,this.maxAge=e.maxAge||Number.POSITIVE_INFINITY,this.onEviction=e.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_emitEvictions(e){if("function"==typeof this.onEviction)for(const[t,n]of e)this.onEviction(t,n.value)}_deleteIfExpired(e,t){return"number"==typeof t.expiry&&t.expiry<=Date.now()&&("function"==typeof this.onEviction&&this.onEviction(e,t.value),this.delete(e))}_getOrDeleteIfExpired(e,t){if(!1===this._deleteIfExpired(e,t))return t.value}_getItemValue(e,t){return t.expiry?this._getOrDeleteIfExpired(e,t):t.value}_peek(e,t){const n=t.get(e);return this._getItemValue(e,n)}_set(e,t){this.cache.set(e,t),this._size++,this._size>=this.maxSize&&(this._size=0,this._emitEvictions(this.oldCache),this.oldCache=this.cache,this.cache=new Map)}_moveToRecent(e,t){this.oldCache.delete(e),this._set(e,t)}*_entriesAscending(){for(const e of this.oldCache){const[t,n]=e;if(!this.cache.has(t)){!1===this._deleteIfExpired(t,n)&&(yield e)}}for(const e of this.cache){const[t,n]=e;!1===this._deleteIfExpired(t,n)&&(yield e)}}get(e){if(this.cache.has(e)){const t=this.cache.get(e);return this._getItemValue(e,t)}if(this.oldCache.has(e)){const t=this.oldCache.get(e);if(!1===this._deleteIfExpired(e,t))return this._moveToRecent(e,t),t.value}}set(e,t,{maxAge:n=this.maxAge}={}){const r="number"==typeof n&&n!==Number.POSITIVE_INFINITY?Date.now()+n:void 0;this.cache.has(e)?this.cache.set(e,{value:t,expiry:r}):this._set(e,{value:t,expiry:r})}has(e){return this.cache.has(e)?!this._deleteIfExpired(e,this.cache.get(e)):!!this.oldCache.has(e)&&!this._deleteIfExpired(e,this.oldCache.get(e))}peek(e){return this.cache.has(e)?this._peek(e,this.cache):this.oldCache.has(e)?this._peek(e,this.oldCache):void 0}delete(e){const t=this.cache.delete(e);return t&&this._size--,this.oldCache.delete(e)||t}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}resize(e){if(!(e&&e>0))throw new TypeError("`maxSize` must be a number greater than 0");const t=[...this._entriesAscending()],n=t.length-e;n<0?(this.cache=new Map(t),this.oldCache=new Map,this._size=t.length):(n>0&&this._emitEvictions(t.slice(0,n)),this.oldCache=new Map(t.slice(n)),this.cache=new Map,this._size=0),this.maxSize=e}*keys(){for(const[e]of this)yield e}*values(){for(const[,e]of this)yield e}*[Symbol.iterator](){for(const e of this.cache){const[t,n]=e;!1===this._deleteIfExpired(t,n)&&(yield[t,n.value])}for(const e of this.oldCache){const[t,n]=e;if(!this.cache.has(t)){!1===this._deleteIfExpired(t,n)&&(yield[t,n.value])}}}*entriesDescending(){let e=[...this.cache];for(let t=e.length-1;t>=0;--t){const n=e[t],[r,i]=n;!1===this._deleteIfExpired(r,i)&&(yield[r,i.value])}e=[...this.oldCache];for(let t=e.length-1;t>=0;--t){const n=e[t],[r,i]=n;if(!this.cache.has(r)){!1===this._deleteIfExpired(r,i)&&(yield[r,i.value])}}}*entriesAscending(){for(const[e,t]of this._entriesAscending())yield[e,t.value]}get size(){if(!this._size)return this.oldCache.size;let e=0;for(const t of this.oldCache.keys())this.cache.has(t)||e++;return Math.min(this._size+e,this.maxSize)}entries(){return this.entriesAscending()}forEach(e,t=this){for(const[n,r]of this.entriesAscending())e.call(t,r,n,this)}get[Symbol.toStringTag](){return JSON.stringify([...this.entriesAscending()])}}function c(e){var t={exports:{}};return e(t,t.exports),t.exports}var l=c((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.defaults=t.composeannotation=t.collecttextnodes=t.build=void 0;const n={children:e=>e.children,annotatetextnode:(e,t)=>"text"===e.type?{offset:{end:e.position.end.offset,start:e.position.start.offset},text:t.substring(e.position.start.offset,e.position.end.offset)}:null,interpretmarkup:(e="")=>e};function r(e,t,r=n){const i=[];return function e(n){const o=r.annotatetextnode(n,t);null!==o&&i.push(o);const a=r.children(n);null!==a&&Array.isArray(a)&&a.forEach(e)}(e),i}function i(e,t,r=n){const i=[];let o={offset:{end:0,start:0}};for(const n of t){const t=e.substring(o.offset.end,n.offset.start);i.push({interpretAs:r.interpretmarkup(t),markup:t,offset:{end:n.offset.start,start:o.offset.end}}),i.push(n),o=n}const a=e.substring(o.offset.end,e.length);return i.push({interpretAs:r.interpretmarkup(a),markup:a,offset:{end:e.length,start:o.offset.end}}),{annotation:i}}t.defaults=n,t.collecttextnodes=r,t.composeannotation=i,t.build=function(e,t,o=n){return i(e,r(t(e),e,o),o)}})),f=c((function(e){!function(){var t;function n(e){for(var t,n,r,i,o=1,a=[].slice.call(arguments),s=0,u=e.length,c="",l=!1,f=!1,d=function(){return a[o++]},p=function(){for(var n="";/\d/.test(e[s]);)n+=e[s++],t=e[s];return n.length>0?parseInt(n):null};s13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||65535==(65535&n)||65534==(65535&n)||n>1114111?"�":M(n)};var N=function(e){return e<-2};var U=function(e){return-2===e||-1===e||32===e};var j=function(e,t,n,r){var i=r?r-1:1/0,o=0;return function(r){if(U(r))return e.enter(n),a(r);return t(r)};function a(r){return U(r)&&o++t;)i.containerState=o[s][1],o[s][0].exit.call(i,e);o.length=t}},Y={tokenize:function(e,t,n){return j(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.indexOf("codeIndented")>-1?void 0:4)}},J={tokenize:function(e,t,n){return j(e,e.lazy(this.parser.constructs.flow,t,n),"linePrefix",this.parser.constructs.disable.null.indexOf("codeIndented")>-1?void 0:4)}};var Z=Q,K=Object.defineProperty({tokenize:Z},"__esModule",{value:!0});var X=function(e){for(var t=-1,n=0;++to?0:o+t:t>o?o:t,n=n>0?n:0,r.length<1e4)(i=Array.from(r)).unshift(t,n),te.apply(e,i);else for(n&&te.apply(e,[t,n]);a-1||ee(r.events,"linePrefix")<4?e.interrupt(r.parser.constructs.flow,n,t)(i):t(i)}},partial:!0};var ue=ae;var ce=function(e){var t=this,n=e.attempt($,(function(r){if(null===r)return void e.consume(r);return e.enter("lineEndingBlank"),e.consume(r),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}),e.attempt(this.parser.constructs.flowInitial,r,j(e,e.attempt(this.parser.constructs.flow,r,e.attempt(ue,r)),"linePrefix")));return n;function r(r){if(null!==r)return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),t.currentConstruct=void 0,n;e.consume(r)}},le=Object.defineProperty({tokenize:ce},"__esModule",{value:!0}),fe=pe("text"),de=pe("string");function pe(e){return{tokenize:function(t){var n=this,r=this.parser.constructs[e],i=t.attempt(r,o,a);return o;function o(e){return u(e)?i(e):a(e)}function a(e){if(null!==e)return t.enter("data"),t.consume(e),s;t.consume(e)}function s(e){return u(e)?(t.exit("data"),i(e)):(t.consume(e),s)}function u(e){var t=r[e],i=-1;if(null===e)return!0;if(t)for(;++i-1&&(n[0]=n[0].slice(i)),a>0&&n.push(e[o].slice(0,a))),n};var Te=function(e,t,n){var r=n?re(n):{line:1,column:1,offset:0},i={},o=[],a=[],s=[],u={consume:function(e){N(e)?(r.line++,r.column=1,r.offset+=-3===e?2:1,y()):-1!==e&&(r.column++,r.offset++);r._bufferIndex<0?r._index++:(r._bufferIndex++,r._bufferIndex===a[r._index].length&&(r._bufferIndex=-1,r._index++));c.previous=e},enter:function(e,t){var n=t||{};return n.type=e,n.start=d(),c.events.push(["enter",n,c]),s.push(n),n},exit:function(e){var t=s.pop();return t.end=d(),c.events.push(["exit",t,c]),t},attempt:m((function(e,t){v(e,t.from)})),check:m(g),interrupt:m(g,{interrupt:!0}),lazy:m(g,{lazy:!0})},c={previous:null,events:[],parser:e,sliceStream:f,sliceSerialize:function(e){return Ae(f(e))},now:d,defineSkip:function(e){i[e.line]=e.column,y()},write:function(e){if(a=Se(a,e),p(),null!==a[a.length-1])return[];return v(t,0),c.events=Ce(o,c.events,c),c.events}},l=t.tokenize.call(c,u);return t.resolveAll&&o.push(t),r._index=0,r._bufferIndex=-1,c;function f(e){return De(a,e)}function d(){return re(r)}function p(){for(var e,t;r._index-1)return v();return e.tokenize.call(t?O({},c,t):c,u,m,v)(n)}}function m(t){return e(f,p),i}function v(e){return p.restore(),++l1&&e[l][1].end.offset-e[l][1].start.offset>1?2:1,o={type:s>1?"strongSequence":"emphasisSequence",start:Re(re(e[n][1].end),-s),end:re(e[n][1].end)},a={type:s>1?"strongSequence":"emphasisSequence",start:re(e[l][1].start),end:Re(re(e[l][1].start),s)},i={type:s>1?"strongText":"emphasisText",start:re(e[n][1].end),end:re(e[l][1].start)},r={type:s>1?"strong":"emphasis",start:re(o.start),end:re(a.end)},e[n][1].end=re(o.start),e[l][1].start=re(a.end),u=[],e[n][1].end.offset-e[n][1].start.offset&&(u=Se(u,[["enter",e[n][1],t],["exit",e[n][1],t]])),u=Se(u,[["enter",r,t],["enter",o,t],["exit",o,t],["enter",i,t]]),u=Se(u,Ce(t.parser.constructs.insideSpan.null,e.slice(n+1,l),t)),u=Se(u,[["exit",i,t],["enter",a,t],["exit",a,t],["exit",r,t]]),e[l][1].end.offset-e[l][1].start.offset?(c=2,u=Se(u,[["enter",e[l][1],t],["exit",e[l][1],t]])):c=0,ne(e,n-1,l-n+3,u),l=n+u.length-c-2;break}l=-1;for(;++l-1?void 0:4)}},exit:function(e){e.exit("blockQuote")}};var je=Ue,He=Le(/[!-/:-@[-`{-~]/);var Ge={name:"characterEscape",tokenize:function(e,t,n){return function(t){return e.enter("characterEscape"),e.enter("escapeMarker"),e.consume(t),e.exit("escapeMarker"),r};function r(r){return He(r)?(e.enter("characterEscapeValue"),e.consume(r),e.exit("characterEscapeValue"),e.exit("characterEscape"),t):n(r)}}},We={AEli:"Æ",AElig:"Æ",AM:"&",AMP:"&",Aacut:"Á",Aacute:"Á",Abreve:"Ă",Acir:"Â",Acirc:"Â",Acy:"А",Afr:"𝔄",Agrav:"À",Agrave:"À",Alpha:"Α",Amacr:"Ā",And:"⩓",Aogon:"Ą",Aopf:"𝔸",ApplyFunction:"⁡",Arin:"Å",Aring:"Å",Ascr:"𝒜",Assign:"≔",Atild:"Ã",Atilde:"Ã",Aum:"Ä",Auml:"Ä",Backslash:"∖",Barv:"⫧",Barwed:"⌆",Bcy:"Б",Because:"∵",Bernoullis:"ℬ",Beta:"Β",Bfr:"𝔅",Bopf:"𝔹",Breve:"˘",Bscr:"ℬ",Bumpeq:"≎",CHcy:"Ч",COP:"©",COPY:"©",Cacute:"Ć",Cap:"⋒",CapitalDifferentialD:"ⅅ",Cayleys:"ℭ",Ccaron:"Č",Ccedi:"Ç",Ccedil:"Ç",Ccirc:"Ĉ",Cconint:"∰",Cdot:"Ċ",Cedilla:"¸",CenterDot:"·",Cfr:"ℭ",Chi:"Χ",CircleDot:"⊙",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",Colon:"∷",Colone:"⩴",Congruent:"≡",Conint:"∯",ContourIntegral:"∮",Copf:"ℂ",Coproduct:"∐",CounterClockwiseContourIntegral:"∳",Cross:"⨯",Cscr:"𝒞",Cup:"⋓",CupCap:"≍",DD:"ⅅ",DDotrahd:"⤑",DJcy:"Ђ",DScy:"Ѕ",DZcy:"Џ",Dagger:"‡",Darr:"↡",Dashv:"⫤",Dcaron:"Ď",Dcy:"Д",Del:"∇",Delta:"Δ",Dfr:"𝔇",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",Diamond:"⋄",DifferentialD:"ⅆ",Dopf:"𝔻",Dot:"¨",DotDot:"⃜",DotEqual:"≐",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",Downarrow:"⇓",Dscr:"𝒟",Dstrok:"Đ",ENG:"Ŋ",ET:"Ð",ETH:"Ð",Eacut:"É",Eacute:"É",Ecaron:"Ě",Ecir:"Ê",Ecirc:"Ê",Ecy:"Э",Edot:"Ė",Efr:"𝔈",Egrav:"È",Egrave:"È",Element:"∈",Emacr:"Ē",EmptySmallSquare:"◻",EmptyVerySmallSquare:"▫",Eogon:"Ę",Eopf:"𝔼",Epsilon:"Ε",Equal:"⩵",EqualTilde:"≂",Equilibrium:"⇌",Escr:"ℰ",Esim:"⩳",Eta:"Η",Eum:"Ë",Euml:"Ë",Exists:"∃",ExponentialE:"ⅇ",Fcy:"Ф",Ffr:"𝔉",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",Fopf:"𝔽",ForAll:"∀",Fouriertrf:"ℱ",Fscr:"ℱ",GJcy:"Ѓ",G:">",GT:">",Gamma:"Γ",Gammad:"Ϝ",Gbreve:"Ğ",Gcedil:"Ģ",Gcirc:"Ĝ",Gcy:"Г",Gdot:"Ġ",Gfr:"𝔊",Gg:"⋙",Gopf:"𝔾",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",Gt:"≫",HARDcy:"Ъ",Hacek:"ˇ",Hat:"^",Hcirc:"Ĥ",Hfr:"ℌ",HilbertSpace:"ℋ",Hopf:"ℍ",HorizontalLine:"─",Hscr:"ℋ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",IEcy:"Е",IJlig:"IJ",IOcy:"Ё",Iacut:"Í",Iacute:"Í",Icir:"Î",Icirc:"Î",Icy:"И",Idot:"İ",Ifr:"ℑ",Igrav:"Ì",Igrave:"Ì",Im:"ℑ",Imacr:"Ī",ImaginaryI:"ⅈ",Implies:"⇒",Int:"∬",Integral:"∫",Intersection:"⋂",InvisibleComma:"⁣",InvisibleTimes:"⁢",Iogon:"Į",Iopf:"𝕀",Iota:"Ι",Iscr:"ℐ",Itilde:"Ĩ",Iukcy:"І",Ium:"Ï",Iuml:"Ï",Jcirc:"Ĵ",Jcy:"Й",Jfr:"𝔍",Jopf:"𝕁",Jscr:"𝒥",Jsercy:"Ј",Jukcy:"Є",KHcy:"Х",KJcy:"Ќ",Kappa:"Κ",Kcedil:"Ķ",Kcy:"К",Kfr:"𝔎",Kopf:"𝕂",Kscr:"𝒦",LJcy:"Љ",L:"<",LT:"<",Lacute:"Ĺ",Lambda:"Λ",Lang:"⟪",Laplacetrf:"ℒ",Larr:"↞",Lcaron:"Ľ",Lcedil:"Ļ",Lcy:"Л",LeftAngleBracket:"⟨",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",LeftRightArrow:"↔",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",Leftarrow:"⇐",Leftrightarrow:"⇔",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",LessLess:"⪡",LessSlantEqual:"⩽",LessTilde:"≲",Lfr:"𝔏",Ll:"⋘",Lleftarrow:"⇚",Lmidot:"Ŀ",LongLeftArrow:"⟵",LongLeftRightArrow:"⟷",LongRightArrow:"⟶",Longleftarrow:"⟸",Longleftrightarrow:"⟺",Longrightarrow:"⟹",Lopf:"𝕃",LowerLeftArrow:"↙",LowerRightArrow:"↘",Lscr:"ℒ",Lsh:"↰",Lstrok:"Ł",Lt:"≪",Map:"⤅",Mcy:"М",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",MinusPlus:"∓",Mopf:"𝕄",Mscr:"ℳ",Mu:"Μ",NJcy:"Њ",Nacute:"Ń",Ncaron:"Ň",Ncedil:"Ņ",Ncy:"Н",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",Nfr:"𝔑",NoBreak:"⁠",NonBreakingSpace:" ",Nopf:"ℕ",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",Nscr:"𝒩",Ntild:"Ñ",Ntilde:"Ñ",Nu:"Ν",OElig:"Œ",Oacut:"Ó",Oacute:"Ó",Ocir:"Ô",Ocirc:"Ô",Ocy:"О",Odblac:"Ő",Ofr:"𝔒",Ograv:"Ò",Ograve:"Ò",Omacr:"Ō",Omega:"Ω",Omicron:"Ο",Oopf:"𝕆",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",Or:"⩔",Oscr:"𝒪",Oslas:"Ø",Oslash:"Ø",Otild:"Õ",Otilde:"Õ",Otimes:"⨷",Oum:"Ö",Ouml:"Ö",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",PartialD:"∂",Pcy:"П",Pfr:"𝔓",Phi:"Φ",Pi:"Π",PlusMinus:"±",Poincareplane:"ℌ",Popf:"ℙ",Pr:"⪻",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",Prime:"″",Product:"∏",Proportion:"∷",Proportional:"∝",Pscr:"𝒫",Psi:"Ψ",QUO:'"',QUOT:'"',Qfr:"𝔔",Qopf:"ℚ",Qscr:"𝒬",RBarr:"⤐",RE:"®",REG:"®",Racute:"Ŕ",Rang:"⟫",Rarr:"↠",Rarrtl:"⤖",Rcaron:"Ř",Rcedil:"Ŗ",Rcy:"Р",Re:"ℜ",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",Rfr:"ℜ",Rho:"Ρ",RightAngleBracket:"⟩",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",Rightarrow:"⇒",Ropf:"ℝ",RoundImplies:"⥰",Rrightarrow:"⇛",Rscr:"ℛ",Rsh:"↱",RuleDelayed:"⧴",SHCHcy:"Щ",SHcy:"Ш",SOFTcy:"Ь",Sacute:"Ś",Sc:"⪼",Scaron:"Š",Scedil:"Ş",Scirc:"Ŝ",Scy:"С",Sfr:"𝔖",ShortDownArrow:"↓",ShortLeftArrow:"←",ShortRightArrow:"→",ShortUpArrow:"↑",Sigma:"Σ",SmallCircle:"∘",Sopf:"𝕊",Sqrt:"√",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",Sscr:"𝒮",Star:"⋆",Sub:"⋐",Subset:"⋐",SubsetEqual:"⊆",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",SuchThat:"∋",Sum:"∑",Sup:"⋑",Superset:"⊃",SupersetEqual:"⊇",Supset:"⋑",THOR:"Þ",THORN:"Þ",TRADE:"™",TSHcy:"Ћ",TScy:"Ц",Tab:"\t",Tau:"Τ",Tcaron:"Ť",Tcedil:"Ţ",Tcy:"Т",Tfr:"𝔗",Therefore:"∴",Theta:"Θ",ThickSpace:"  ",ThinSpace:" ",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",Topf:"𝕋",TripleDot:"⃛",Tscr:"𝒯",Tstrok:"Ŧ",Uacut:"Ú",Uacute:"Ú",Uarr:"↟",Uarrocir:"⥉",Ubrcy:"Ў",Ubreve:"Ŭ",Ucir:"Û",Ucirc:"Û",Ucy:"У",Udblac:"Ű",Ufr:"𝔘",Ugrav:"Ù",Ugrave:"Ù",Umacr:"Ū",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",Uopf:"𝕌",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",UpDownArrow:"↕",UpEquilibrium:"⥮",UpTee:"⊥",UpTeeArrow:"↥",Uparrow:"⇑",Updownarrow:"⇕",UpperLeftArrow:"↖",UpperRightArrow:"↗",Upsi:"ϒ",Upsilon:"Υ",Uring:"Ů",Uscr:"𝒰",Utilde:"Ũ",Uum:"Ü",Uuml:"Ü",VDash:"⊫",Vbar:"⫫",Vcy:"В",Vdash:"⊩",Vdashl:"⫦",Vee:"⋁",Verbar:"‖",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",Vopf:"𝕍",Vscr:"𝒱",Vvdash:"⊪",Wcirc:"Ŵ",Wedge:"⋀",Wfr:"𝔚",Wopf:"𝕎",Wscr:"𝒲",Xfr:"𝔛",Xi:"Ξ",Xopf:"𝕏",Xscr:"𝒳",YAcy:"Я",YIcy:"Ї",YUcy:"Ю",Yacut:"Ý",Yacute:"Ý",Ycirc:"Ŷ",Ycy:"Ы",Yfr:"𝔜",Yopf:"𝕐",Yscr:"𝒴",Yuml:"Ÿ",ZHcy:"Ж",Zacute:"Ź",Zcaron:"Ž",Zcy:"З",Zdot:"Ż",ZeroWidthSpace:"​",Zeta:"Ζ",Zfr:"ℨ",Zopf:"ℤ",Zscr:"𝒵",aacut:"á",aacute:"á",abreve:"ă",ac:"∾",acE:"∾̳",acd:"∿",acir:"â",acirc:"â",acut:"´",acute:"´",acy:"а",aeli:"æ",aelig:"æ",af:"⁡",afr:"𝔞",agrav:"à",agrave:"à",alefsym:"ℵ",aleph:"ℵ",alpha:"α",amacr:"ā",amalg:"⨿",am:"&",amp:"&",and:"∧",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",aogon:"ą",aopf:"𝕒",ap:"≈",apE:"⩰",apacir:"⩯",ape:"≊",apid:"≋",apos:"'",approx:"≈",approxeq:"≊",arin:"å",aring:"å",ascr:"𝒶",ast:"*",asymp:"≈",asympeq:"≍",atild:"ã",atilde:"ã",aum:"ä",auml:"ä",awconint:"∳",awint:"⨑",bNot:"⫭",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",barvee:"⊽",barwed:"⌅",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",beta:"β",beth:"ℶ",between:"≬",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxDL:"╗",boxDR:"╔",boxDl:"╖",boxDr:"╓",boxH:"═",boxHD:"╦",boxHU:"╩",boxHd:"╤",boxHu:"╧",boxUL:"╝",boxUR:"╚",boxUl:"╜",boxUr:"╙",boxV:"║",boxVH:"╬",boxVL:"╣",boxVR:"╠",boxVh:"╫",boxVl:"╢",boxVr:"╟",boxbox:"⧉",boxdL:"╕",boxdR:"╒",boxdl:"┐",boxdr:"┌",boxh:"─",boxhD:"╥",boxhU:"╨",boxhd:"┬",boxhu:"┴",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxuL:"╛",boxuR:"╘",boxul:"┘",boxur:"└",boxv:"│",boxvH:"╪",boxvL:"╡",boxvR:"╞",boxvh:"┼",boxvl:"┤",boxvr:"├",bprime:"‵",breve:"˘",brvba:"¦",brvbar:"¦",bscr:"𝒷",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",bumpeq:"≏",cacute:"ć",cap:"∩",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",caps:"∩︀",caret:"⁁",caron:"ˇ",ccaps:"⩍",ccaron:"č",ccedi:"ç",ccedil:"ç",ccirc:"ĉ",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",cedi:"¸",cedil:"¸",cemptyv:"⦲",cen:"¢",cent:"¢",centerdot:"·",cfr:"𝔠",chcy:"ч",check:"✓",checkmark:"✓",chi:"χ",cir:"○",cirE:"⧃",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledR:"®",circledS:"Ⓢ",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",clubs:"♣",clubsuit:"♣",colon:":",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",conint:"∮",copf:"𝕔",coprod:"∐",cop:"©",copy:"©",copysr:"℗",crarr:"↵",cross:"✗",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",cupbrcap:"⩈",cupcap:"⩆",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curre:"¤",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dArr:"⇓",dHar:"⥥",dagger:"†",daleth:"ℸ",darr:"↓",dash:"‐",dashv:"⊣",dbkarow:"⤏",dblac:"˝",dcaron:"ď",dcy:"д",dd:"ⅆ",ddagger:"‡",ddarr:"⇊",ddotseq:"⩷",de:"°",deg:"°",delta:"δ",demptyv:"⦱",dfisht:"⥿",dfr:"𝔡",dharl:"⇃",dharr:"⇂",diam:"⋄",diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",digamma:"ϝ",disin:"⋲",div:"÷",divid:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"𝕕",dot:"˙",doteq:"≐",doteqdot:"≑",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",downarrow:"↓",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"𝒹",dscy:"ѕ",dsol:"⧶",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",dzigrarr:"⟿",eDDot:"⩷",eDot:"≑",eacut:"é",eacute:"é",easter:"⩮",ecaron:"ě",ecir:"ê",ecirc:"ê",ecolon:"≕",ecy:"э",edot:"ė",ee:"ⅇ",efDot:"≒",efr:"𝔢",eg:"⪚",egrav:"è",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",empty:"∅",emptyset:"∅",emptyv:"∅",emsp13:" ",emsp14:" ",emsp:" ",eng:"ŋ",ensp:" ",eogon:"ę",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",equals:"=",equest:"≟",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erDot:"≓",erarr:"⥱",escr:"ℯ",esdot:"≐",esim:"≂",eta:"η",et:"ð",eth:"ð",eum:"ë",euml:"ë",euro:"€",excl:"!",exist:"∃",expectation:"ℰ",exponentiale:"ⅇ",fallingdotseq:"≒",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"𝔣",filig:"fi",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"𝕗",forall:"∀",fork:"⋔",forkv:"⫙",fpartint:"⨍",frac1:"¼",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac3:"¾",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",gE:"≧",gEl:"⪌",gacute:"ǵ",gamma:"γ",gammad:"ϝ",gap:"⪆",gbreve:"ğ",gcirc:"ĝ",gcy:"г",gdot:"ġ",ge:"≥",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"𝔤",gg:"≫",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",gl:"≷",glE:"⪒",gla:"⪥",glj:"⪤",gnE:"≩",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"𝕘",grave:"`",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",g:">",gt:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",hArr:"⇔",hairsp:" ",half:"½",hamilt:"ℋ",hardcy:"ъ",harr:"↔",harrcir:"⥈",harrw:"↭",hbar:"ℏ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",horbar:"―",hscr:"𝒽",hslash:"ℏ",hstrok:"ħ",hybull:"⁃",hyphen:"‐",iacut:"í",iacute:"í",ic:"⁣",icir:"î",icirc:"î",icy:"и",iecy:"е",iexc:"¡",iexcl:"¡",iff:"⇔",ifr:"𝔦",igrav:"ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",imacr:"ī",image:"ℑ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",intcal:"⊺",integers:"ℤ",intercal:"⊺",intlarhk:"⨗",intprod:"⨼",iocy:"ё",iogon:"į",iopf:"𝕚",iota:"ι",iprod:"⨼",iques:"¿",iquest:"¿",iscr:"𝒾",isin:"∈",isinE:"⋹",isindot:"⋵",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",iukcy:"і",ium:"ï",iuml:"ï",jcirc:"ĵ",jcy:"й",jfr:"𝔧",jmath:"ȷ",jopf:"𝕛",jscr:"𝒿",jsercy:"ј",jukcy:"є",kappa:"κ",kappav:"ϰ",kcedil:"ķ",kcy:"к",kfr:"𝔨",kgreen:"ĸ",khcy:"х",kjcy:"ќ",kopf:"𝕜",kscr:"𝓀",lAarr:"⇚",lArr:"⇐",lAtail:"⤛",lBarr:"⤎",lE:"≦",lEg:"⪋",lHar:"⥢",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",lang:"⟨",langd:"⦑",langle:"⟨",lap:"⪅",laqu:"«",laquo:"«",larr:"←",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",late:"⪭",lates:"⪭︀",lbarr:"⤌",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",lcedil:"ļ",lceil:"⌈",lcub:"{",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",leftarrow:"←",leftarrowtail:"↢",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",leftthreetimes:"⋋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",lessgtr:"≶",lesssim:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"𝔩",lg:"≶",lgE:"⪑",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",ll:"≪",llarr:"⇇",llcorner:"⌞",llhard:"⥫",lltri:"◺",lmidot:"ŀ",lmoust:"⎰",lmoustache:"⎰",lnE:"≨",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",longleftrightarrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",l:"<",lt:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltrPar:"⦖",ltri:"◃",ltrie:"⊴",ltrif:"◂",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",mDDot:"∺",mac:"¯",macr:"¯",male:"♂",malt:"✠",maltese:"✠",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",mdash:"—",measuredangle:"∡",mfr:"𝔪",mho:"℧",micr:"µ",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middo:"·",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"𝕞",mp:"∓",mscr:"𝓂",mstpos:"∾",mu:"μ",multimap:"⊸",mumap:"⊸",nGg:"⋙̸",nGt:"≫⃒",nGtv:"≫̸",nLeftarrow:"⇍",nLeftrightarrow:"⇎",nLl:"⋘̸",nLt:"≪⃒",nLtv:"≪̸",nRightarrow:"⇏",nVDash:"⊯",nVdash:"⊮",nabla:"∇",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbs:" ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",ndash:"–",ne:"≠",neArr:"⇗",nearhk:"⤤",nearr:"↗",nearrow:"↗",nedot:"≐̸",nequiv:"≢",nesear:"⤨",nesim:"≂̸",nexist:"∄",nexists:"∄",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",ngsim:"≵",ngt:"≯",ngtr:"≯",nhArr:"⇎",nharr:"↮",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",nlArr:"⇍",nlE:"≦̸",nlarr:"↚",nldr:"‥",nle:"≰",nleftarrow:"↚",nleftrightarrow:"↮",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nlsim:"≴",nlt:"≮",nltri:"⋪",nltrie:"⋬",nmid:"∤",nopf:"𝕟",no:"¬",not:"¬",notin:"∉",notinE:"⋹̸",notindot:"⋵̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrArr:"⇏",nrarr:"↛",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntild:"ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",num:"#",numero:"№",numsp:" ",nvDash:"⊭",nvHarr:"⤄",nvap:"≍⃒",nvdash:"⊬",nvge:"≥⃒",nvgt:">⃒",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwArr:"⇖",nwarhk:"⤣",nwarr:"↖",nwarrow:"↖",nwnear:"⤧",oS:"Ⓢ",oacut:"ó",oacute:"ó",oast:"⊛",ocir:"ô",ocirc:"ô",ocy:"о",odash:"⊝",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",ofcir:"⦿",ofr:"𝔬",ogon:"˛",ograv:"ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",omega:"ω",omicron:"ο",omid:"⦶",ominus:"⊖",oopf:"𝕠",opar:"⦷",operp:"⦹",oplus:"⊕",or:"∨",orarr:"↻",ord:"º",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oscr:"ℴ",oslas:"ø",oslash:"ø",osol:"⊘",otild:"õ",otilde:"õ",otimes:"⊗",otimesas:"⨶",oum:"ö",ouml:"ö",ovbar:"⌽",par:"¶",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"𝔭",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",plusm:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",pointint:"⨕",popf:"𝕡",poun:"£",pound:"£",pr:"≺",prE:"⪳",prap:"⪷",prcue:"≼",pre:"⪯",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",primes:"ℙ",prnE:"⪵",prnap:"⪹",prnsim:"⋨",prod:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"𝓅",psi:"ψ",puncsp:" ",qfr:"𝔮",qint:"⨌",qopf:"𝕢",qprime:"⁗",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quo:'"',quot:'"',rAarr:"⇛",rArr:"⇒",rAtail:"⤜",rBarr:"⤏",rHar:"⥤",race:"∽̱",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",rangd:"⦒",range:"⦥",rangle:"⟩",raqu:"»",raquo:"»",rarr:"→",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",rarrw:"↝",ratail:"⤚",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",rcedil:"ŗ",rceil:"⌉",rcub:"}",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",re:"®",reg:"®",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",rhov:"ϱ",rightarrow:"→",rightarrowtail:"↣",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",rightthreetimes:"⋌",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",roplus:"⨮",rotimes:"⨵",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",rsaquo:"›",rscr:"𝓇",rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",ruluhar:"⥨",rx:"℞",sacute:"ś",sbquo:"‚",sc:"≻",scE:"⪴",scap:"⪸",scaron:"š",sccue:"≽",sce:"⪰",scedil:"ş",scirc:"ŝ",scnE:"⪶",scnap:"⪺",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",sdot:"⋅",sdotb:"⊡",sdote:"⩦",seArr:"⇘",searhk:"⤥",searr:"↘",searrow:"↘",sec:"§",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"𝔰",sfrown:"⌢",sharp:"♯",shchcy:"щ",shcy:"ш",shortmid:"∣",shortparallel:"∥",sh:"­",shy:"­",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",squarf:"▪",squf:"▪",srarr:"→",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",subE:"⫅",subdot:"⪽",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",subseteq:"⊆",subseteqq:"⫅",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",sum:"∑",sung:"♪",sup:"⊃",sup1:"¹",sup2:"²",sup3:"³",supE:"⫆",supdot:"⪾",supdsub:"⫘",supe:"⊇",supedot:"⫄",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swArr:"⇙",swarhk:"⤦",swarr:"↙",swarrow:"↙",swnwar:"⤪",szli:"ß",szlig:"ß",target:"⌖",tau:"τ",tbrk:"⎴",tcaron:"ť",tcedil:"ţ",tcy:"т",tdot:"⃛",telrec:"⌕",tfr:"𝔱",there4:"∴",therefore:"∴",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",thinsp:" ",thkap:"≈",thksim:"∼",thor:"þ",thorn:"þ",tilde:"˜",time:"×",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"𝓉",tscy:"ц",tshcy:"ћ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uArr:"⇑",uHar:"⥣",uacut:"ú",uacute:"ú",uarr:"↑",ubrcy:"ў",ubreve:"ŭ",ucir:"û",ucirc:"û",ucy:"у",udarr:"⇅",udblac:"ű",udhar:"⥮",ufisht:"⥾",ufr:"𝔲",ugrav:"ù",ugrave:"ù",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",um:"¨",uml:"¨",uogon:"ų",uopf:"𝕦",uparrow:"↑",updownarrow:"↕",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",upsi:"υ",upsih:"ϒ",upsilon:"υ",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",urtri:"◹",uscr:"𝓊",utdot:"⋰",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uum:"ü",uuml:"ü",uwangle:"⦧",vArr:"⇕",vBar:"⫨",vBarv:"⫩",vDash:"⊨",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vcy:"в",vdash:"⊢",vee:"∨",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",vert:"|",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"𝕧",vprop:"∝",vrtri:"⊳",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",vzigzag:"⦚",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",wedgeq:"≙",weierp:"℘",wfr:"𝔴",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"𝔵",xhArr:"⟺",xharr:"⟷",xi:"ξ",xlArr:"⟸",xlarr:"⟵",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrArr:"⟹",xrarr:"⟶",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacut:"ý",yacute:"ý",yacy:"я",ycirc:"ŷ",ycy:"ы",ye:"¥",yen:"¥",yfr:"𝔶",yicy:"ї",yopf:"𝕪",yscr:"𝓎",yucy:"ю",yum:"ÿ",yuml:"ÿ",zacute:"ź",zcaron:"ž",zcy:"з",zdot:"ż",zeetrf:"ℨ",zeta:"ζ",zfr:"𝔷",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",zscr:"𝓏",zwj:"‍",zwnj:"‌"},$e=function(e){return!!Qe.call(We,e)&&We[e]},Qe={}.hasOwnProperty;var Ye=Le(/\d/),Je=Le(/[\dA-Fa-f]/);function Ze(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var Ke=Ze($e),Xe={name:"characterReference",tokenize:function(e,t,n){var r,i,o=this,a=0;return function(t){return e.enter("characterReference"),e.enter("characterReferenceMarker"),e.consume(t),e.exit("characterReferenceMarker"),s};function s(t){return 35===t?(e.enter("characterReferenceMarkerNumeric"),e.consume(t),e.exit("characterReferenceMarkerNumeric"),u):(e.enter("characterReferenceValue"),r=31,i=ze,c(t))}function u(t){return 88===t||120===t?(e.enter("characterReferenceMarkerHexadecimal"),e.consume(t),e.exit("characterReferenceMarkerHexadecimal"),e.enter("characterReferenceValue"),r=6,i=Je,c):(e.enter("characterReferenceValue"),r=7,i=Ye,c(t))}function c(s){var u;return 59===s&&a?(u=e.exit("characterReferenceValue"),i!==ze||Ke.default(o.sliceSerialize(u))?(e.enter("characterReferenceMarker"),e.consume(s),e.exit("characterReferenceMarker"),e.exit("characterReference"),t):n(s)):i(s)&&a++-1?void 0:4);function o(t){return e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),a(t)}function a(t){return t===r?(e.consume(t),i++,a):ic?n(i):(e.consume(i),h):41===i?l--?(e.consume(i),h):(e.exit("chunkString"),e.exit(s),e.exit(a),e.exit(r),t(i)):null===i||qe(i)?l?n(i):(e.exit("chunkString"),e.exit(s),e.exit(a),e.exit(r),t(i)):_e(i)?n(i):(e.consume(i),92===i?g:h)}function g(t){return 40===t||41===t||92===t?(e.consume(t),h):h(t)}};var ot=function(e,t,n,r,i,o){var a,s=this,u=0;return function(t){return e.enter(r),e.enter(i),e.consume(t),e.exit(i),e.enter(o),c};function c(f){return null===f||91===f||93===f&&!a||94===f&&!u&&"_hiddenFootnoteSupport"in s.parser.constructs||u>999?n(f):93===f?(e.exit(o),e.enter(i),e.consume(f),e.exit(i),e.exit(r),t):N(f)?(e.enter("lineEnding"),e.consume(f),e.exit("lineEnding"),c):(e.enter("chunkString",{contentType:"string"}),l(f))}function l(t){return null===t||91===t||93===t||N(t)||u++>999?(e.exit("chunkString"),c(t)):(e.consume(t),a=a||!U(t),92===t?f:l)}function f(t){return 91===t||92===t||93===t?(e.consume(t),u++,l):l(t)}};var at=function(e,t){var n;return function r(i){if(N(i))return e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),n=!0,r;if(U(i))return j(e,r,n?"linePrefix":"lineSuffix")(i);return t(i)}};var st=function(e,t,n,r,i,o){var a;return function(t){return e.enter(r),e.enter(i),e.consume(t),e.exit(i),a=40===t?41:t,s};function s(n){return n===a?(e.enter(i),e.consume(n),e.exit(i),e.exit(r),t):(e.enter(o),u(n))}function u(t){return t===a?(e.exit(o),s(a)):null===t?n(t):N(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),j(e,u,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),c(t))}function c(t){return t===a||null===t||N(t)?(e.exit("chunkString"),u(t)):(e.consume(t),92===t?l:c)}function l(t){return t===a||92===t?(e.consume(t),c):c(t)}},ut={name:"definition",tokenize:function(e,t,n){var r,i=this;return function(t){return e.enter("definition"),ot.call(i,e,o,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(t)};function o(t){return r=z(i.sliceSerialize(i.events[i.events.length-1][1]).slice(1,-1)),58===t?(e.enter("definitionMarker"),e.consume(t),e.exit("definitionMarker"),at(e,it(e,e.attempt(ct,j(e,a,"whitespace"),j(e,a,"whitespace")),n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString"))):n(t)}function a(o){return null===o||N(o)?(e.exit("definition"),i.parser.defined.indexOf(r)<0&&i.parser.defined.push(r),t(o)):n(o)}}},ct={tokenize:function(e,t,n){return function(t){return qe(t)?at(e,r)(t):n(t)};function r(t){return 34===t||39===t||40===t?st(e,j(e,i,"whitespace"),n,"definitionTitle","definitionTitleMarker","definitionTitleString")(t):n(t)}function i(e){return null===e||N(e)?t(e):n(e)}},partial:!0};var lt={name:"headingAtx",tokenize:function(e,t,n){var r=this,i=0;return function(t){return e.enter("atxHeading"),e.enter("atxHeadingSequence"),o(t)};function o(s){return 35===s&&i++<6?(e.consume(s),o):null===s||qe(s)?(e.exit("atxHeadingSequence"),r.interrupt?t(s):a(s)):n(s)}function a(n){return 35===n?(e.enter("atxHeadingSequence"),s(n)):null===n||N(n)?(e.exit("atxHeading"),t(n)):U(n)?j(e,a,"whitespace")(n):(e.enter("atxHeadingText"),u(n))}function s(t){return 35===t?(e.consume(t),s):(e.exit("atxHeadingSequence"),a(t))}function u(t){return null===t||35===t||qe(t)?(e.exit("atxHeadingText"),a(t)):(e.consume(t),u)}},resolve:function(e,t){var n,r,i=e.length-2,o=3;"whitespace"===e[o][1].type&&(o+=2);i-2>o&&"whitespace"===e[i][1].type&&(i-=2);"atxHeadingSequence"===e[i][1].type&&(o===i-1||i-4>o&&"whitespace"===e[i-2][1].type)&&(i-=o+1===i?2:4);i>o&&(n={type:"atxHeadingText",start:e[o][1].start,end:e[i][1].end},r={type:"chunkText",start:e[o][1].start,end:e[i][1].end,contentType:"text"},ne(e,o,i-o+1,[["enter",n,t],["enter",r,t],["exit",r,t],["exit",n,t]]));return e}};var ft=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","section","source","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],dt=["pre","script","style","textarea"],pt={name:"htmlFlow",tokenize:function(e,t,n){var r,i,o,a,s,u=this;return function(t){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(t),c};function c(a){return 33===a?(e.consume(a),l):47===a?(e.consume(a),p):63===a?(e.consume(a),r=3,u.interrupt?t:P):Be(a)?(e.consume(a),o=M(a),i=!0,h):n(a)}function l(i){return 45===i?(e.consume(i),r=2,f):91===i?(e.consume(i),r=5,o="CDATA[",a=0,d):Be(i)?(e.consume(i),r=4,u.interrupt?t:P):n(i)}function f(r){return 45===r?(e.consume(r),u.interrupt?t:P):n(r)}function d(r){return r===o.charCodeAt(a++)?(e.consume(r),a===o.length?u.interrupt?t:A:d):n(r)}function p(t){return Be(t)?(e.consume(t),o=M(t),h):n(t)}function h(a){return null===a||47===a||62===a||qe(a)?47!==a&&i&&dt.indexOf(o.toLowerCase())>-1?(r=1,u.interrupt?t(a):A(a)):ft.indexOf(o.toLowerCase())>-1?(r=6,47===a?(e.consume(a),g):u.interrupt?t(a):A(a)):(r=7,u.interrupt?n(a):i?v(a):m(a)):45===a||ze(a)?(e.consume(a),o+=M(a),h):n(a)}function g(r){return 62===r?(e.consume(r),u.interrupt?t:A):n(r)}function m(t){return U(t)?(e.consume(t),m):S(t)}function v(t){return 47===t?(e.consume(t),S):58===t||95===t||Be(t)?(e.consume(t),y):U(t)?(e.consume(t),v):S(t)}function y(t){return 45===t||46===t||58===t||95===t||ze(t)?(e.consume(t),y):k(t)}function k(t){return 61===t?(e.consume(t),x):U(t)?(e.consume(t),k):v(t)}function x(t){return null===t||60===t||61===t||62===t||96===t?n(t):34===t||39===t?(e.consume(t),s=t,b):U(t)?(e.consume(t),x):(s=void 0,w(t))}function b(t){return t===s?(e.consume(t),E):null===t||N(t)?n(t):(e.consume(t),b)}function w(t){return null===t||34===t||39===t||60===t||61===t||62===t||96===t||qe(t)?k(t):(e.consume(t),w)}function E(e){return 47===e||62===e||U(e)?v(e):n(e)}function S(t){return 62===t?(e.consume(t),C):n(t)}function C(t){return U(t)?(e.consume(t),C):null===t||N(t)?A(t):n(t)}function A(t){return 45===t&&2===r?(e.consume(t),q):60===t&&1===r?(e.consume(t),L):62===t&&4===r?(e.consume(t),R):63===t&&3===r?(e.consume(t),P):93===t&&5===r?(e.consume(t),I):!N(t)||6!==r&&7!==r?null===t||N(t)?D(t):(e.consume(t),A):e.check(ht,R,D)(t)}function D(t){return e.exit("htmlFlowData"),T(t)}function T(t){return null===t?V(t):N(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),T):(e.enter("htmlFlowData"),A(t))}function q(t){return 45===t?(e.consume(t),P):A(t)}function L(t){return 47===t?(e.consume(t),o="",F):A(t)}function F(t){return 62===t&&dt.indexOf(o.toLowerCase())>-1?(e.consume(t),R):Be(t)&&o.length<8?(e.consume(t),o+=M(t),F):A(t)}function I(t){return 93===t?(e.consume(t),P):A(t)}function P(t){return 62===t?(e.consume(t),R):A(t)}function R(t){return null===t||N(t)?(e.exit("htmlFlowData"),V(t)):(e.consume(t),R)}function V(n){return e.exit("htmlFlow"),t(n)}},resolveTo:function(e){var t=e.length;for(;t--&&("enter"!==e[t][0]||"htmlFlow"!==e[t][1].type););t>1&&"linePrefix"===e[t-2][1].type&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2));return e},concrete:!0},ht={tokenize:function(e,t,n){return function(r){return e.exit("htmlFlowData"),e.enter("lineEndingBlank"),e.consume(r),e.exit("lineEndingBlank"),e.attempt($,t,n)}},partial:!0};var gt={name:"htmlText",tokenize:function(e,t,n){var r,i,o,a,s=this;return function(t){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(t),u};function u(t){return 33===t?(e.consume(t),c):47===t?(e.consume(t),w):63===t?(e.consume(t),x):Be(t)?(e.consume(t),C):n(t)}function c(t){return 45===t?(e.consume(t),l):91===t?(e.consume(t),i="CDATA[",o=0,g):Be(t)?(e.consume(t),k):n(t)}function l(t){return 45===t?(e.consume(t),f):n(t)}function f(t){return null===t||62===t?n(t):45===t?(e.consume(t),d):p(t)}function d(e){return null===e||62===e?n(e):p(e)}function p(t){return null===t?n(t):45===t?(e.consume(t),h):N(t)?(a=p,P(t)):(e.consume(t),p)}function h(t){return 45===t?(e.consume(t),V):p(t)}function g(t){return t===i.charCodeAt(o++)?(e.consume(t),o===i.length?m:g):n(t)}function m(t){return null===t?n(t):93===t?(e.consume(t),v):N(t)?(a=m,P(t)):(e.consume(t),m)}function v(t){return 93===t?(e.consume(t),y):m(t)}function y(t){return 62===t?V(t):93===t?(e.consume(t),y):m(t)}function k(t){return null===t||62===t?V(t):N(t)?(a=k,P(t)):(e.consume(t),k)}function x(t){return null===t?n(t):63===t?(e.consume(t),b):N(t)?(a=x,P(t)):(e.consume(t),x)}function b(e){return 62===e?V(e):x(e)}function w(t){return Be(t)?(e.consume(t),E):n(t)}function E(t){return 45===t||ze(t)?(e.consume(t),E):S(t)}function S(t){return N(t)?(a=S,P(t)):U(t)?(e.consume(t),S):V(t)}function C(t){return 45===t||ze(t)?(e.consume(t),C):47===t||62===t||qe(t)?A(t):n(t)}function A(t){return 47===t?(e.consume(t),V):58===t||95===t||Be(t)?(e.consume(t),D):N(t)?(a=A,P(t)):U(t)?(e.consume(t),A):V(t)}function D(t){return 45===t||46===t||58===t||95===t||ze(t)?(e.consume(t),D):T(t)}function T(t){return 61===t?(e.consume(t),q):N(t)?(a=T,P(t)):U(t)?(e.consume(t),T):A(t)}function q(t){return null===t||60===t||61===t||62===t||96===t?n(t):34===t||39===t?(e.consume(t),r=t,L):N(t)?(a=q,P(t)):U(t)?(e.consume(t),q):(e.consume(t),r=void 0,I)}function L(t){return t===r?(e.consume(t),F):null===t?n(t):N(t)?(a=L,P(t)):(e.consume(t),L)}function F(e){return 62===e||47===e||qe(e)?A(e):n(e)}function I(t){return null===t||34===t||39===t||60===t||61===t||96===t?n(t):62===t||qe(t)?A(t):(e.consume(t),I)}function P(t){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),j(e,R,"linePrefix",s.parser.constructs.disable.null.indexOf("codeIndented")>-1?void 0:4)}function R(t){return e.enter("htmlTextData"),a(t)}function V(r){return 62===r?(e.consume(r),e.exit("htmlTextData"),e.exit("htmlText"),t):n(r)}}};var mt={name:"labelEnd",tokenize:function(e,t,n){var r,i,o=this,a=o.events.length;for(;a--;)if(("labelImage"===o.events[a][1].type||"labelLink"===o.events[a][1].type)&&!o.events[a][1]._balanced){r=o.events[a][1];break}return function(t){if(!r)return n(t);return r._inactive?u(t):(i=o.parser.defined.indexOf(z(o.sliceSerialize({start:r.end,end:o.now()})))>-1,e.enter("labelEnd"),e.enter("labelMarker"),e.consume(t),e.exit("labelMarker"),e.exit("labelEnd"),s)};function s(n){return 40===n?e.attempt(vt,t,i?t:u)(n):91===n?e.attempt(yt,t,i?e.attempt(kt,t,u):u)(n):i?t(n):u(n)}function u(e){return r._balanced=!0,n(e)}},resolveTo:function(e,t){var n,r,i,o,a,s,u,c=e.length,l=0;for(;c--;)if(o=e[c][1],a){if("link"===o.type||"labelLink"===o.type&&o._inactive)break;"enter"===e[c][0]&&"labelLink"===o.type&&(o._inactive=!0)}else if(s){if("enter"===e[c][0]&&("labelImage"===o.type||"labelLink"===o.type)&&!o._balanced&&(a=c,"labelLink"!==o.type)){l=2;break}}else"labelEnd"===o.type&&(s=c);return n={type:"labelLink"===e[a][1].type?"link":"image",start:re(e[a][1].start),end:re(e[e.length-1][1].end)},r={type:"label",start:re(e[a][1].start),end:re(e[s][1].end)},i={type:"labelText",start:re(e[a+l+2][1].end),end:re(e[s-2][1].start)},u=Se(u=[["enter",n,t],["enter",r,t]],e.slice(a+1,a+l+3)),u=Se(u,[["enter",i,t]]),u=Se(u,Ce(t.parser.constructs.insideSpan.null,e.slice(a+l+4,s-3),t)),u=Se(u,[["exit",i,t],e[s-2],e[s-1],["exit",r,t]]),u=Se(u,e.slice(s+1)),u=Se(u,[["exit",n,t]]),ne(e,a,e.length,u),e},resolveAll:function(e){var t,n=-1;for(;++n-1?void 0:4)(i)}}},exit:function(e){e.exit(this.containerState.type)}},St={tokenize:function(e,t,n){var r=this;return j(e,(function(e){return U(e)||!ee(r.events,"listItemPrefixWhitespace")?n(e):t(e)}),"listItemPrefixWhitespace",r.parser.constructs.disable.null.indexOf("codeIndented")>-1?void 0:5)},partial:!0},Ct={tokenize:function(e,t,n){var r=this;return j(e,(function(e){return ee(r.events,"listItemIndent")===r.containerState.size?t(e):n(e)}),"listItemIndent",r.containerState.size+1)},partial:!0};var At={name:"setextUnderline",tokenize:function(e,t,n){var r,i,o=this,a=o.events.length;for(;a--;)if("lineEnding"!==o.events[a][1].type&&"linePrefix"!==o.events[a][1].type&&"content"!==o.events[a][1].type){i="paragraph"===o.events[a][1].type;break}return function(t){if(!o.lazy&&(o.interrupt||i))return e.enter("setextHeadingLine"),e.enter("setextHeadingLineSequence"),r=t,s(t);return n(t)};function s(t){return t===r?(e.consume(t),s):(e.exit("setextHeadingLineSequence"),j(e,u,"lineSuffix")(t))}function u(r){return null===r||N(r)?(e.exit("setextHeadingLine"),t(r)):n(r)}},resolveTo:function(e,t){var n,r,i,o,a=e.length;for(;a--;)if("enter"===e[a][0]){if("content"===e[a][1].type){n=a;break}"paragraph"===e[a][1].type&&(r=a)}else"content"===e[a][1].type&&e.splice(a,1),i||"definition"!==e[a][1].type||(i=a);o={type:"setextHeading",start:re(e[r][1].start),end:re(e[e.length-1][1].end)},e[r][1].type="setextHeadingText",i?(e.splice(r,0,["enter",o,t]),e.splice(i+1,0,["exit",e[n][1],t]),e[n][1].end=re(e[i][1].end)):e[n][1]=o;return e.push(["exit",o,t]),e}};var Dt={38:Xe,92:Ge},Tt={"-5":xt,"-4":xt,"-3":xt,33:{name:"labelStartImage",tokenize:function(e,t,n){var r=this;return function(t){return e.enter("labelImage"),e.enter("labelImageMarker"),e.consume(t),e.exit("labelImageMarker"),i};function i(t){return 91===t?(e.enter("labelMarker"),e.consume(t),e.exit("labelMarker"),e.exit("labelImage"),o):n(t)}function o(e){return 94===e&&"_hiddenFootnoteSupport"in r.parser.constructs?n(e):t(e)}},resolveAll:mt.resolveAll},38:Xe,42:Oe,60:[Ne,gt],91:{name:"labelStartLink",tokenize:function(e,t,n){var r=this;return function(t){return e.enter("labelLink"),e.enter("labelMarker"),e.consume(t),e.exit("labelMarker"),e.exit("labelLink"),i};function i(e){return 94===e&&"_hiddenFootnoteSupport"in r.parser.constructs?n(e):t(e)}},resolveAll:mt.resolveAll},92:[{name:"hardBreakEscape",tokenize:function(e,t,n){return function(t){return e.enter("hardBreakEscape"),e.enter("escapeMarker"),e.consume(t),r};function r(r){return N(r)?(e.exit("escapeMarker"),e.exit("hardBreakEscape"),t(r)):n(r)}}},Ge],93:mt,95:Oe,96:rt},qt={91:ut},Lt={null:[]},Ft={42:Et,43:Et,45:Et,48:Et,49:Et,50:Et,51:Et,52:Et,53:Et,54:Et,55:Et,56:Et,57:Et,62:je},It={35:lt,42:wt,45:[At,wt],60:pt,61:At,95:wt,96:et,126:et},Pt={"-2":tt,"-1":tt,32:tt},Rt={null:[Oe,ke.resolver]},Vt=Dt,Ot=Tt,Bt=Object.defineProperty({contentInitial:qt,disable:Lt,document:Ft,flow:It,flowInitial:Pt,insideSpan:Rt,string:Vt,text:Ot},"__esModule",{value:!0});var zt=function(e){var t={defined:[],constructs:Ee([Bt].concat(xe((e||{}).extensions))),content:n(W),document:n(K),flow:n(le),string:n(ke.string),text:n(ke.text)};return t;function n(e){return function(n){return Te(t,e,n)}}},Mt=/[\0\t\n\r]/g;var _t=function(){var e,t=!0,n=1,r="";return function(i,o,a){var s,u,c,l,f,d=[];i=r+i.toString(o),c=0,r="",t&&(65279===i.charCodeAt(0)&&c++,t=void 0);for(;c-1&&(q.call(this,e),L.call(this,e))}function I(){a("atHardBreak",!0)}function R(){var e=this.resume();this.stack[this.stack.length-1].value=e}function V(){var e=this.resume();this.stack[this.stack.length-1].value=e}function M(){var e=this.resume();this.stack[this.stack.length-1].value=e}function N(){var e=this.stack[this.stack.length-1];s("inReference")?(e.type+="Reference",e.referenceType=s("referenceType")||"shortcut",delete e.url,delete e.title):(delete e.identifier,delete e.label,delete e.referenceType),a("referenceType")}function U(){var e=this.stack[this.stack.length-1];s("inReference")?(e.type+="Reference",e.referenceType=s("referenceType")||"shortcut",delete e.url,delete e.title):(delete e.identifier,delete e.label,delete e.referenceType),a("referenceType")}function j(e){this.stack[this.stack.length-2].identifier=z(this.sliceSerialize(e)).toLowerCase()}function H(){var e=this.stack[this.stack.length-1],t=this.resume();this.stack[this.stack.length-1].label=t,a("inReference",!0),"link"===this.stack[this.stack.length-1].type?this.stack[this.stack.length-1].children=e.children:this.stack[this.stack.length-1].alt=t}function G(){var e=this.resume();this.stack[this.stack.length-1].url=e}function W(){var e=this.resume();this.stack[this.stack.length-1].title=e}function $(){a("inReference")}function Q(){a("referenceType","collapsed")}function Y(e){var t=this.resume();this.stack[this.stack.length-1].label=t,this.stack[this.stack.length-1].identifier=z(this.sliceSerialize(e)).toLowerCase(),a("referenceType","full")}function J(e){a("characterReferenceType",e.type)}function Z(e){var t,n,r=this.sliceSerialize(e),i=s("characterReferenceType");i?(t=_(r,"characterReferenceMarkerNumeric"===i?10:16),a("characterReferenceType")):t=$e(r),(n=this.stack.pop()).value+=t,n.position.end=u(e.end)}function K(e){L.call(this,e),this.stack[this.stack.length-1].url=this.sliceSerialize(e)}function X(e){L.call(this,e),this.stack[this.stack.length-1].url="mailto:"+this.sliceSerialize(e)}function ee(){return{type:"blockquote",children:[]}}function te(){return{type:"code",lang:null,meta:null,value:""}}function ne(){return{type:"inlineCode",value:""}}function re(){return{type:"definition",identifier:"",label:null,title:null,url:""}}function ie(){return{type:"emphasis",children:[]}}function oe(){return{type:"heading",depth:void 0,children:[]}}function ae(){return{type:"break"}}function se(){return{type:"html",value:""}}function ue(){return{type:"image",title:null,url:"",alt:null}}function ce(){return{type:"link",title:null,url:"",children:[]}}function le(e){return{type:"list",ordered:"listOrdered"===e.type,start:null,spread:e._spread,children:[]}}function fe(e){return{type:"listItem",spread:e._spread,checked:null,children:[]}}function de(){return{type:"paragraph",children:[]}}function pe(){return{type:"strong",children:[]}}function he(){return{type:"text",value:""}}function ge(){return{type:"thematicBreak"}}}(n)(Nt(zt(n).document().write(_t()(e,t,!0))))};function Qt(e,t){var n,r;for(n in t)r=B.call(e,n)?e[n]:e[n]={},"canContainEols"===n||"transforms"===n?e[n]=[].concat(r,t[n]):Object.assign(r,t[n])}var Yt=$t,Jt=function(e){var t=this;this.Parser=function(n){return Yt(n,Object.assign({},t.data("settings"),e,{extensions:t.data("micromarkExtensions")||[],mdastExtensions:t.data("fromMarkdownExtensions")||[]}))}};var Zt=function(e){if(e)throw e} -/*! - * Determine if an object is a Buffer - * - * @author Feross Aboukhadijeh - * @license MIT - */;var Kt=function(e){return null!=e&&null!=e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)},Xt=Object.prototype.hasOwnProperty,en=Object.prototype.toString,tn=Object.defineProperty,nn=Object.getOwnPropertyDescriptor,rn=function(e){return"function"==typeof Array.isArray?Array.isArray(e):"[object Array]"===en.call(e)},on=function(e){if(!e||"[object Object]"!==en.call(e))return!1;var t,n=Xt.call(e,"constructor"),r=e.constructor&&e.constructor.prototype&&Xt.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!n&&!r)return!1;for(t in e);return void 0===t||Xt.call(e,t)},an=function(e,t){tn&&"__proto__"===t.name?tn(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue},sn=function(e,t){if("__proto__"===t){if(!Xt.call(e,t))return;if(nn)return nn(e,t).value}return e[t]},un=function e(){var t,n,r,i,o,a,s=arguments[0],u=1,c=arguments.length,l=!1;for("boolean"==typeof s&&(l=s,s=arguments[1]||{},u=2),(null==s||"object"!=typeof s&&"function"!=typeof s)&&(s={});u{if("[object Object]"!==Object.prototype.toString.call(e))return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.prototype},ln=[].slice,fn=function(e,t){var n;return function(){var t,o=ln.call(arguments,0),a=e.length>o.length;a&&o.push(r);try{t=e.apply(null,o)}catch(e){if(a&&n)throw e;return r(e)}a||(t&&"function"==typeof t.then?t.then(i,r):t instanceof Error?r(t):i(t))};function r(){n||(n=!0,t.apply(null,arguments))}function i(e){r(null,e)}};var dn=hn;hn.wrap=fn;var pn=[].slice;function hn(){var e=[],t={run:function(){var t=-1,n=pn.call(arguments,0,-1),r=arguments[arguments.length-1];if("function"!=typeof r)throw new Error("Expected function as last argument, not "+r);function i(o){var a=e[++t],s=pn.call(arguments,0),u=s.slice(1),c=n.length,l=-1;if(o)r(o);else{for(;++l1)for(var n=1;n-1)throw new Error("`"+t+"` cannot be a path: did not expect `"+kn.sep+"`")}function Jn(e,t){if(!e)throw new Error("`"+t+"` cannot be empty")}function Zn(e,t){if(!e)throw new Error("Setting `"+t+"` requires `path` to be set too")}Qn.prototype.toString=function(e){return(this.contents||"").toString(e)},Object.defineProperty(Qn.prototype,"path",{get:function(){return this.history[this.history.length-1]},set:function(e){Jn(e,"path"),this.path!==e&&this.history.push(e)}}),Object.defineProperty(Qn.prototype,"dirname",{get:function(){return"string"==typeof this.path?kn.dirname(this.path):void 0},set:function(e){Zn(this.path,"dirname"),this.path=kn.join(e||"",this.basename)}}),Object.defineProperty(Qn.prototype,"basename",{get:function(){return"string"==typeof this.path?kn.basename(this.path):void 0},set:function(e){Jn(e,"basename"),Yn(e,"basename"),this.path=kn.join(this.dirname||"",e)}}),Object.defineProperty(Qn.prototype,"extname",{get:function(){return"string"==typeof this.path?kn.extname(this.path):void 0},set:function(e){if(Yn(e,"extname"),Zn(this.path,"extname"),e){if(46!==e.charCodeAt(0))throw new Error("`extname` must start with `.`");if(e.indexOf(".",1)>-1)throw new Error("`extname` cannot contain multiple dots")}this.path=kn.join(this.dirname,this.stem+(e||""))}}),Object.defineProperty(Qn.prototype,"stem",{get:function(){return"string"==typeof this.path?kn.basename(this.path,this.extname):void 0},set:function(e){Jn(e,"stem"),Yn(e,"stem"),this.path=kn.join(this.dirname||"",e+(this.extname||""))}});var Kn=Gn;Gn.prototype.message=function(e,t,n){var r=new gn(e,t,n);this.path&&(r.name=this.path+":"+r.name,r.file=this.path);return r.fatal=!1,this.messages.push(r),r},Gn.prototype.info=function(){var e=this.message.apply(this,arguments);return e.fatal=null,e},Gn.prototype.fail=function(){var e=this.message.apply(this,arguments);throw e.fatal=!0,e};var Xn=Kn,er=function e(){var t,n=[],r=dn(),i={},o=-1;return a.data=function(e,n){if("string"==typeof e)return 2===arguments.length?(sr("data",t),i[e]=n,a):nr.call(i,e)&&i[e]||null;if(e)return sr("data",t),i=e,a;return i},a.freeze=s,a.attachers=n,a.use=function(e){var r;if(sr("use",t),null==e);else if("function"==typeof e)l.apply(null,arguments);else{if("object"!=typeof e)throw new Error("Expected usable value, not `"+e+"`");"length"in e?c(e):o(e)}r&&(i.settings=un(i.settings||{},r));return a;function o(e){c(e.plugins),e.settings&&(r=un(r||{},e.settings))}function s(e){if("function"==typeof e)l(e);else{if("object"!=typeof e)throw new Error("Expected usable value, not `"+e+"`");"length"in e?l.apply(null,e):o(e)}}function c(e){var t=-1;if(null==e);else{if("object"!=typeof e||!("length"in e))throw new Error("Expected a list of plugins, not `"+e+"`");for(;++tl.defaults.children(e),annotatetextnode:(e,t)=>l.defaults.annotatetextnode(e,t),interpretmarkup:(e="")=>"\n".repeat((e.match(/\n/g)||[]).length),remarkoptions:{}};t.defaults=n,t.build=function(e,t=n){const r=er().use(Jt,t.remarkoptions).use(I,["yaml","toml"]);return l.build(e,r.parse,t)}}));const fr=/frontmatter|code|math|templater|blockid|hashtag|internal/;function dr(e){let t=0;if(0===e.length)return t;for(let n=0;n/^`[^`]+`$/.test(e)?e:"\n".repeat((e.match(/\n/g)||[]).length)})),i=n(),{enabledCategories:o,disabledCategories:a}=function(e){return{enabledCategories:e.ruleOtherCategories?e.ruleOtherCategories.split(","):[],disabledCategories:e.ruleOtherDisabledRules?e.ruleOtherDisabledRules.split(","):[]}}(i),u={data:JSON.stringify(r),language:"auto",enabledOnly:"false",level:i.pickyMode?"picky":"default"};let c,l;o.length&&(u.enabledCategories=o.join(",")),a.length&&(u.disabledCategories=a.join(",")),i.ruleOtherRules&&(u.enabledRules=i.ruleOtherRules),i.ruleOtherDisabledRules&&(u.disabledRules=i.ruleOtherDisabledRules),i.englishVeriety&&(u.preferredVariants=`${u.preferredVariants?`${u.preferredVariants},`:""}${i.englishVeriety}`),i.germanVeriety&&(u.preferredVariants=`${u.preferredVariants?`${u.preferredVariants},`:""}${i.germanVeriety}`),i.portugueseVeriety&&(u.preferredVariants=`${u.preferredVariants?`${u.preferredVariants},`:""}${i.portugueseVeriety}`),i.catalanVeriety&&(u.preferredVariants=`${u.preferredVariants?`${u.preferredVariants},`:""}${i.catalanVeriety}`),i.apikey&&i.username&&i.apikey.length>1&&i.username.length>1&&(u.username=i.username,u.apiKey=i.apikey),i.staticLanguage&&i.staticLanguage.length>0&&"auto"!==i.staticLanguage&&(u.language=i.staticLanguage);try{c=yield fetch(`${i.serverUrl}/v2/check`,{method:"POST",body:Object.keys(u).map((e=>`${encodeURIComponent(e)}=${encodeURIComponent(u[e])}`)).join("&"),headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"}})}catch(t){return new e.Notice("Request to LanguageTool server failed. Please check your connection and LanguageTool server URL",5e3),Promise.reject(t)}if(!c.ok)return yield function(e,t){var n,r;return s(this,void 0,void 0,(function*(){let i=`${(new Date).toLocaleString()}:\n url used for request: ${e.url}\n Status: ${e.status}\n Body: ${(yield e.text()).slice(0,200)}\n Settings: ${JSON.stringify(Object.assign(Object.assign({},t),{username:"REDACTED",apikey:"REDACTED"}))}\n `;(t.username||t.apikey)&&(i=i.replaceAll(null!==(n=t.username)&&void 0!==n?n:"username","<>").replaceAll(null!==(r=t.apikey)&&void 0!==r?r:"apiKey","<>")),hr.push(i),hr.length>10&&hr.shift()}))}(c,i),new e.Notice(`Request to LanguageTool failed\n${c.statusText}Check Plugin Settings for Logs`,5e3),Promise.reject(new Error(`unexpected status ${c.status}, see network tab`));try{l=yield c.json()}catch(t){return new e.Notice("Error processing response from LanguageTool server",5e3),Promise.reject(t)}return l}))}const mr={serverUrl:"https://api.languagetool.org",urlMode:"standard",glassBg:!1,shouldAutoCheck:!1,autoCheckDelay:3e3,pickyMode:!1};function vr(e){return"standard"===e?"https://api.languagetool.org":"premium"===e?"https://api.languagetoolplus.com":""}class yr extends e.PluginSettingTab{constructor(e,t){super(e,t),this.plugin=t}configureAutoCheckDelaySlider(e,t){const n=function(e){return"standard"===e?3e3:"premium"===e?750:0}(t);this.plugin.settings.autoCheckDelaye.json()));return this.languages=e,this.languages}))}display(){const{containerEl:t}=this;let n=null,r=null;t.empty(),t.createEl("h2",{text:"Settings for LanguageTool"});const i=t.createEl("button",{text:"Copy failed Request Logs"});i.onclick=()=>s(this,void 0,void 0,(function*(){yield window.navigator.clipboard.writeText(hr.join("\n")),new e.Notice("Logs copied to clipboard")})),i.style.marginBottom="5px",new e.Setting(t).setName("Endpoint").setDesc("Endpoint that will be used to make requests to").then((e=>{e.controlEl.style.display="inline-grid";let t=null;e.addDropdown((e=>{n=e,e.addOptions({standard:"(Standard) api.languagetool.org",premium:"(Premium) api.languagetoolplus.com",custom:"Custom URL"}).setValue(this.plugin.settings.urlMode).onChange((e=>s(this,void 0,void 0,(function*(){this.plugin.settings.urlMode=e,this.plugin.settings.serverUrl=vr(e),null==t||t.setValue(this.plugin.settings.serverUrl),null==t||t.setDisabled("custom"!==e),this.configureAutoCheckDelaySlider(r,e),yield this.plugin.saveSettings()}))))})),e.addText((e=>{t=e,e.setPlaceholder("https://your-custom-url.com").setValue(this.plugin.settings.serverUrl).setDisabled("custom"===this.plugin.settings.urlMode).onChange((e=>s(this,void 0,void 0,(function*(){this.plugin.settings.serverUrl=e.replace(/\/v2\/check\/$/,"").replace(/\/$/,""),yield this.plugin.saveSettings()}))))}))})),new e.Setting(t).setName("API Username").setDesc("Enter a username/email for API Access").addText((e=>e.setPlaceholder("peterlustig@gmail.com").setValue(this.plugin.settings.username||"").onChange((e=>s(this,void 0,void 0,(function*(){this.plugin.settings.username=e.replace(/\s+/g,""),yield this.plugin.saveSettings()})))))).then((e=>{e.descEl.createEl("br"),e.descEl.createEl("a",{text:"Click here for information about Premium Access",href:"https://github.com/Clemens-E/obsidian-languagetool-plugin#premium-accounts"},(e=>{e.setAttr("target","_blank")}))}));let o,a,u,c,l,f=!1;new e.Setting(t).setName("API Key").setDesc("Enter an API Key").addText((t=>t.setValue(this.plugin.settings.apikey||"").onChange((t=>s(this,void 0,void 0,(function*(){if(this.plugin.settings.apikey=t.replace(/\s+/g,""),this.plugin.settings.apikey.length>0&&"premium"!==this.plugin.settings.urlMode&&!f){const r=new e.Modal(this.app);r.titleEl.createEl("span",{text:"Warning"}),r.contentEl.createEl("p",{text:"You have entered an API Key but you are not using the Premium Endpoint"}),r.contentEl.style.display="grid";const i=r.contentEl.createEl("div",{attr:{style:"justify-self:center"}});i.createEl("button",{text:"I know what I'm doing",attr:{style:"justify-self:flex-start; color:red;"}}).onclick=()=>{f=!0,r.close()},i.createEl("button",{text:"Change to Premium",attr:{style:"justify-self:flex-end"}}).onclick=()=>s(this,void 0,void 0,(function*(){return this.plugin.settings.urlMode="premium",null==n||n.setValue("premium"),this.plugin.settings.serverUrl=vr(t),yield this.plugin.saveSettings(),r.close()})),r.open()}yield this.plugin.saveSettings()})))))).then((e=>{e.descEl.createEl("br"),e.descEl.createEl("a",{text:"Click here for information about Premium Access",href:"https://github.com/Clemens-E/obsidian-languagetool-plugin#premium-accounts"},(e=>{e.setAttr("target","_blank")}))})),new e.Setting(t).setName("Autocheck Text").setDesc("Check text as you type").addToggle((e=>{e.setValue(this.plugin.settings.shouldAutoCheck).onChange((e=>s(this,void 0,void 0,(function*(){this.plugin.settings.shouldAutoCheck=e,yield this.plugin.saveSettings()}))))})),new e.Setting(t).setName("AutoCheck Delay (ms)").setDesc("Length of time to wait for AutoCheck after last key press").addSlider((e=>{r=e,n&&this.configureAutoCheckDelaySlider(r,n.getValue()),e.setValue(this.plugin.settings.autoCheckDelay).onChange((e=>s(this,void 0,void 0,(function*(){this.plugin.settings.autoCheckDelay=e,yield this.plugin.saveSettings()})))),e.setDynamicTooltip()})),new e.Setting(t).setName("Glass Background").setDesc("Use the secondary background color of the theme or a glass background").addToggle((e=>{e.setValue(this.plugin.settings.glassBg).onChange((e=>s(this,void 0,void 0,(function*(){this.plugin.settings.glassBg=e,yield this.plugin.saveSettings()}))))})),new e.Setting(t).setName("Static Language").setDesc("Set a static language that will always be used (LanguageTool tries to auto detect the language, this is usually not necessary)").addDropdown((e=>{o=e,this.requestLanguages().then((t=>{var n;e.addOption("auto","Auto Detect"),t.forEach((t=>e.addOption(t.longCode,t.name))),e.setValue(null!==(n=this.plugin.settings.staticLanguage)&&void 0!==n?n:"auto"),e.onChange((e=>s(this,void 0,void 0,(function*(){this.plugin.settings.staticLanguage=e,"auto"!==e&&(this.plugin.settings.englishVeriety=void 0,null==a||a.setValue("default"),this.plugin.settings.germanVeriety=void 0,null==u||u.setValue("default"),this.plugin.settings.portugueseVeriety=void 0,null==c||c.setValue("default"),this.plugin.settings.catalanVeriety=void 0,null==l||l.setValue("default")),yield this.plugin.saveSettings()}))))})).catch(console.error)})),t.createEl("h3",{text:"Language Varieties"}),t.createEl("p",{text:"Some languages have varieties depending on the country they are spoken in."}),new e.Setting(t).setName("Interpret English as").addDropdown((e=>{var t;a=e,e.addOptions({default:"---","en-US":"English (US)","en-GB":"English (British)","en-CA":"English (Canada)","en-AU":"English (Australia)","en-ZA":"English (South Africa)","en-NZ":"English (New Zealand)"}).setValue(null!==(t=this.plugin.settings.englishVeriety)&&void 0!==t?t:"default").onChange((e=>s(this,void 0,void 0,(function*(){"default"===e?this.plugin.settings.englishVeriety=void 0:(this.plugin.settings.staticLanguage="auto",null==o||o.setValue("auto"),this.plugin.settings.englishVeriety=e),yield this.plugin.saveSettings()}))))})),new e.Setting(t).setName("Interpret German as").addDropdown((e=>{var t;u=e,e.addOptions({default:"---","de-DE":"German (Germany)","de-CH":"German (Switzerland)","de-AT":"German (Austria)"}).setValue(null!==(t=this.plugin.settings.germanVeriety)&&void 0!==t?t:"default").onChange((e=>s(this,void 0,void 0,(function*(){"default"===e?this.plugin.settings.germanVeriety=void 0:(this.plugin.settings.staticLanguage="auto",null==o||o.setValue("auto"),this.plugin.settings.germanVeriety=e),yield this.plugin.saveSettings()}))))})),new e.Setting(t).setName("Interpret Portuguese as").addDropdown((e=>{var t;c=e,e.addOptions({default:"---","pt-BR":"Portuguese (Brazil)","pt-PT":"Portuguese (Portugal)","pt-AO":"Portuguese (Angola)","pt-MZ":"Portuguese (Mozambique)"}).setValue(null!==(t=this.plugin.settings.portugueseVeriety)&&void 0!==t?t:"default").onChange((e=>s(this,void 0,void 0,(function*(){"default"===e?this.plugin.settings.portugueseVeriety=void 0:(this.plugin.settings.staticLanguage="auto",null==o||o.setValue("auto"),this.plugin.settings.portugueseVeriety=e),yield this.plugin.saveSettings()}))))})),new e.Setting(t).setName("Interpret Catalan as").addDropdown((e=>{var t;l=e,e.addOptions({default:"---","ca-ES":"Catalan","ca-ES-valencia":"Catalan (Valencian)"}).setValue(null!==(t=this.plugin.settings.catalanVeriety)&&void 0!==t?t:"default").onChange((e=>s(this,void 0,void 0,(function*(){"default"===e?this.plugin.settings.catalanVeriety=void 0:(this.plugin.settings.staticLanguage="auto",null==o||o.setValue("auto"),this.plugin.settings.catalanVeriety=e),yield this.plugin.saveSettings()}))))})),t.createEl("h3",{text:"Rule Categories"}),new e.Setting(t).setName("Picky Mode").setDesc("Provides more style and tonality suggestions, detects long or complex sentences, recognizes colloquialism and redundancies, proactively suggests synonyms for commonly overused words").addToggle((e=>{e.setValue(this.plugin.settings.pickyMode).onChange((e=>s(this,void 0,void 0,(function*(){this.plugin.settings.pickyMode=e,yield this.plugin.saveSettings()}))))})),new e.Setting(t).setName("Other rule categories").setDesc("Enter a comma-separated list of categories").addText((e=>e.setPlaceholder("Eg. CATEGORY_1,CATEGORY_2").setValue(this.plugin.settings.ruleOtherCategories||"").onChange((e=>s(this,void 0,void 0,(function*(){this.plugin.settings.ruleOtherCategories=e.replace(/\s+/g,""),yield this.plugin.saveSettings()})))))).then((e=>{e.descEl.createEl("br"),e.descEl.createEl("a",{text:"Click here for a list of rules and categories",href:"https://community.languagetool.org/rule/list"},(e=>{e.setAttr("target","_blank")}))})),new e.Setting(t).setName("Enable Specific Rules").setDesc("Enter a comma-separated list of rules").addText((e=>e.setPlaceholder("Eg. RULE_1,RULE_2").setValue(this.plugin.settings.ruleOtherRules||"").onChange((e=>s(this,void 0,void 0,(function*(){this.plugin.settings.ruleOtherRules=e.replace(/\s+/g,""),yield this.plugin.saveSettings()})))))).then((e=>{e.descEl.createEl("br"),e.descEl.createEl("a",{text:"Click here for a list of rules and categories",href:"https://community.languagetool.org/rule/list"},(e=>{e.setAttr("target","_blank")}))})),new e.Setting(t).setName("Disable Specific Rules").setDesc("Enter a comma-separated list of rules").addText((e=>e.setPlaceholder("Eg. RULE_1,RULE_2").setValue(this.plugin.settings.ruleOtherDisabledRules||"").onChange((e=>s(this,void 0,void 0,(function*(){this.plugin.settings.ruleOtherDisabledRules=e.replace(/\s+/g,""),yield this.plugin.saveSettings()})))))).then((e=>{e.descEl.createEl("br"),e.descEl.createEl("a",{text:"Click here for a list of rules and categories",href:"https://community.languagetool.org/rule/list"},(e=>{e.setAttr("target","_blank")}))}))}}function kr(t){let r=-1,i=1/0,o=-1/0;return n.EditorView.inputHandler.of(((n,a,s,u)=>{if(!t.settings.shouldAutoCheck||!u.trim())return!1;const c=n.state.field(e.editorViewField);return i=Math.min(i,Math.min(a,s)),o=Math.max(o,Math.max(a,s)),clearTimeout(r),r=window.setTimeout((()=>{const e=n.lineBlockAt(i),r=n.lineBlockAt(o);t.runDetection(n,c,e.from,r.to).catch((e=>{console.error(e)}))}),t.settings.autoCheckDelay),!1}))}const xr=r.StateEffect.define(),br=r.StateEffect.define(),wr=r.StateEffect.define(),Er=r.StateEffect.define();function Sr(e,t,n,r){return!(e>=n&&e<=r)&&(!(t>=n&&t<=r)&&(!(n>=e&&n<=t)&&!(r>=e&&r<=t)))}const Cr=r.StateField.define({create:()=>({marks:n.Decoration.none,ignoredRanges:new Set}),update(e,t){e.marks=e.marks.map(t.changes),e.ignoredRanges.clear(),e.marks.between(0,t.newDoc.length,((t,n)=>{e.ignoredRanges.add(`${t},${n}`)})),t.docChanged&&t.selection&&e.marks.size&&(e.marks=e.marks.update({filter:(n,r)=>{const i=Sr(n,r,t.selection.main.from,t.selection.main.to);return i||e.ignoredRanges.delete(`${n},${r}`),i}}));for(const r of t.effects)if(r.is(Er)){const{from:t,to:i}=r.value;e.ignoredRanges.add(`${t},${i}`),e.marks=e.marks.update({add:[n.Decoration.mark({}).range(t,i)]})}return e}}),Ar=r.StateField.define({create:()=>n.Decoration.none,update(e,t){const{ignoredRanges:r}=t.state.field(Cr),o=new Set,a={};let s=null;e=e.map(t.changes);const u=e=>{if(void 0!==a[e])return a[e];s||(s=i.syntaxTree(t.state));const n=s.resolveInner(e,1).type.prop(i.tokenClassNodeProp);return n&&fr.test(n)?a[e]=!1:a[e]=!0,a[e]},c=(e,n,r)=>{if("TYPOS"===e.rule.category.id){const e=window.app.vault.getConfig("spellcheckDictionary"),i=t.state.sliceDoc(n,r);if(e&&e.includes(i))return!1}s||(s=i.syntaxTree(t.state));const o=s.resolve(t.newDoc.lineAt(n).from,1).type.prop(i.tokenClassNodeProp);return!(null==o?void 0:o.includes("table"))||"WHITESPACE_RULE"!==e.rule.id};t.docChanged&&t.selection&&e.size&&(e=e.update({filter:(e,n)=>Sr(e,n,t.selection.main.from,t.selection.main.to)}));for(const i of t.effects)if(i.is(xr)){const{from:t,to:a,match:s}=i.value,l=`${t},${a}`;!r.has(l)&&!o.has(l)&&u(t)&&u(a)&&c(s,t,a)&&(o.add(l),e=e.update({add:[n.Decoration.mark({class:`lt-underline ${pr(s.rule.category.id)}`,match:s}).range(t,a)]}))}else i.is(br)?e=n.Decoration.none:(i.is(wr)||i.is(Er))&&(e=e.update({filter:(e,t)=>Sr(e,t,i.value.from,i.value.to)}));return e},provide:e=>n.EditorView.decorations.from(e)});function Dr(t,n,r){const i=r.match,o=i.message,a=i.shortMessage,s=(i.replacements||[]).slice(0,3).map((e=>e.value)).filter((e=>e.trim())),u=i.rule.category.id,c=t.settings.glassBg?"lt-predictions-container-glass":"lt-predictions-container";return createDiv({cls:[c,pr(u)]},(i=>{a&&i.createSpan({cls:"lt-title"},(e=>{e.createSpan({text:a})})),o&&i.createSpan({cls:"lt-message",text:o});const c=wr.of({from:r.from,to:r.to}),l=Er.of({from:r.from,to:r.to});s.length&&i.createDiv({cls:"lt-buttoncontainer"},(e=>{for(const t of s)e.createEl("button",{text:t},(e=>{e.onclick=()=>{n.dispatch({changes:[{from:r.from,to:r.to,insert:t}],effects:[c]})}}))})),i.createDiv({cls:"lt-ignorecontainer"},(i=>{i.createEl("button",{cls:"lt-ignore-btn"},(i=>{"TYPOS"===u?(e.setIcon(i.createSpan(),"plus-with-circle"),i.createSpan({text:"Add to personal dictionary"}),i.onclick=()=>{const e=t.app.vault.getConfig("spellcheckDictionary")||[];t.app.vault.setConfig("spellcheckDictionary",[...e,n.state.sliceDoc(r.from,r.to)]),n.dispatch({effects:[c]})}):(e.setIcon(i.createSpan(),"cross"),i.createSpan({text:"Ignore suggestion"}),i.onclick=()=>{n.dispatch({effects:[l]})})}))}))}))}function Tr(e,t,n){const r=n.field(Ar);if(0===r.size||n.selection.ranges.length>1)return[];let i=null;if(r.between(n.selection.main.from,n.selection.main.to,((e,t,n)=>{i={from:e,to:t,match:n.spec.match}})),null!==i){const{from:n,to:r}=i;if(e.length){const t=e[0];if(t.pos===n&&t.end===r)return e}return[{pos:n,end:r,above:!0,strictSide:!1,arrow:!1,create:e=>({dom:Dr(t,e,i)})}]}return[]}function qr(e){return r.StateField.define({create:t=>Tr([],e,t),update:(t,n)=>Tr(t,e,n.state),provide:e=>n.showTooltip.computeN([e],(t=>t.field(e)))})}class Lr{constructor(t,n){const r=t.match.message,i=t.match.shortMessage,o=(t.match.replacements||[]).slice(0,3).map((e=>e.value)),a=t.match.rule.category.id;this.elem=createDiv({cls:[n,pr(a)]},(n=>{n.style.setProperty("left",`${t.position.left}px`),n.style.setProperty("top",`${t.position.bottom}px`),i&&n.createSpan({cls:"lt-title"},(e=>{e.createSpan({text:i})})),r&&n.createSpan({cls:"lt-message",text:r}),o.length&&n.createDiv({cls:"lt-buttoncontainer"},(e=>{for(const n of o)e.createEl("button",{text:n},(e=>{e.onclick=()=>{t.onClick(n)}}))})),n.createDiv({cls:"lt-ignorecontainer"},(n=>{n.createEl("button",{cls:"lt-ignore-btn"},(n=>{"TYPOS"===a?(e.setIcon(n.createSpan(),"plus-with-circle"),n.createSpan({text:"Add to personal dictionary"}),n.onclick=()=>{t.addToDictionary(t.matchedString)}):(e.setIcon(n.createSpan(),"cross"),n.createSpan({text:"Ignore suggestion"}),n.onclick=()=>{t.ignoreSuggestion()})}))}))})),document.body.append(this.elem);const s=this.elem.clientHeight,u=this.elem.clientWidth;t.position.bottom+s>window.innerHeight&&this.elem.style.setProperty("top",t.position.top-s+"px"),t.position.left+u>window.innerWidth&&this.elem.style.setProperty("left",window.innerWidth-u-15+"px")}get element(){return this.elem}destroy(){var e;null===(e=this.elem)||void 0===e||e.remove()}}function Fr(e,t){if(!e.getLine(t.line))return!1;const n=e.getTokenTypeAt(t);return!n||!fr.test(n)}function Ir(e,t,n,r){const i=t=>{var n;(null===(n=t.attributes)||void 0===n?void 0:n.isIgnored)||(e.delete(t),t.clear())};if(n&&r)return t.findMarks(n,r).forEach(i);t.getAllMarks().forEach(i)}class Pr{constructor(e){this.onCodemirrorChange=(e,t)=>{if(this.openWidget&&(this.openWidget.destroy(),this.openWidget=void 0),this.markerMap.size>0&&t.origin&&"+"===t.origin[0]){const n=e.findMarksAt(t.from);n.length&&n.forEach((e=>e.clear()))}if(this.plugin.settings.shouldAutoCheck&&t.origin&&("+"===t.origin[0]||"paste"===t.origin)){const n=this.dirtyLines.has(e)?this.dirtyLines.get(e):[];t.text.forEach(((r,i)=>{const o=t.from.line+i;Fr(e,Object.assign(Object.assign({},t.from),{line:o}))&&n.push(o)})),this.dirtyLines.set(e,n),this.plugin.setStatusBarWorking(),this.checkLines(e)}},this.runAutoDetection=e=>s(this,void 0,void 0,(function*(){const t=this.dirtyLines.get(e);if(!t||0===t.length)return this.plugin.setStatusBarReady();this.dirtyLines.delete(e);const n=t.sort(((e,t)=>e-t)),r=n[n.length-1],i=e.getLine(r),o={line:n[0],ch:0},a={line:n[n.length-1],ch:i.length};try{yield this.runDetection(e,o,a)}catch(e){console.error(e),this.plugin.setStatusBarReady()}})),this.plugin=e,this.app=e.app}onload(){return s(this,void 0,void 0,(function*(){this.markerMap=new Map,this.hashLru=new u({maxSize:10}),this.dirtyLines=new WeakMap,this.checkLines=e.debounce(this.runAutoDetection,3e3,!0),this.initLegacyEditorHandler()}))}onunload(){this.openWidget&&(this.openWidget.destroy(),this.openWidget=void 0),this.app.workspace.iterateCodeMirrors((e=>{Ir(this.markerMap,e),e.off("change",this.onCodemirrorChange)}))}initLegacyEditorHandler(){this.plugin.registerCodeMirror((e=>{e.on("change",this.onCodemirrorChange)})),this.plugin.registerDomEvent(document,"pointerup",(t=>{var n,r;const i=this.app.workspace.getActiveViewOfType(e.MarkdownView);if(!i)return;if(t.target===(null===(n=this.openWidget)||void 0===n?void 0:n.element)||(null===(r=this.openWidget)||void 0===r?void 0:r.element.contains(t.target)))return;if(this.openWidget&&(this.openWidget.destroy(),this.openWidget=void 0),0===this.markerMap.size||t.target instanceof HTMLElement&&!t.target.hasClass("lt-underline"))return;const o=i.editor.cm;if(!o.getWrapperElement().contains(t.target))return;const a=o.coordsChar({left:t.clientX,top:t.clientY}),s=o.findMarksAt(a);if(0===s.length)return;const u=s[0],c=this.markerMap.get(u);if(!c)return;const{from:l,to:f}=u.find(),d=o.cursorCoords(l),p=o.getRange(l,f);this.openWidget=new Lr({match:c,matchedString:p,position:d,onClick:e=>{var t;o.replaceRange(e,l,f),u.clear(),null===(t=this.openWidget)||void 0===t||t.destroy(),this.openWidget=void 0},addToDictionary:e=>{var t;const n=this.app.vault.getConfig("spellcheckDictionary")||[];this.app.vault.setConfig("spellcheckDictionary",[...n,e]),u.clear(),null===(t=this.openWidget)||void 0===t||t.destroy(),this.openWidget=void 0},ignoreSuggestion:()=>{var e;o.markText(l,f,{clearOnEnter:!1,attributes:{isIgnored:"true"}}),u.clear(),null===(e=this.openWidget)||void 0===e||e.destroy(),this.openWidget=void 0}},this.plugin.settings.glassBg?"lt-predictions-container-glass":"lt-predictions-container")}))}runDetection(e,t,n){return s(this,void 0,void 0,(function*(){this.plugin.setStatusBarWorking();const r=e.getDoc(),i=t&&n?e.getRange(t,n):e.getValue(),o=t&&n?r.indexFromPos(t):0,a=dr(i);if(this.hashLru.has(a))return this.hashLru.get(a);let s;try{s=yield gr(i,(()=>this.plugin.settings)),this.hashLru.set(a,s)}catch(e){return this.plugin.setStatusBarReady(),Promise.reject(e)}if(t&&n?Ir(this.markerMap,e,t,n):Ir(this.markerMap,e),!s.matches)return this.plugin.setStatusBarReady();for(const t of s.matches){const n=r.posFromIndex(t.offset+o),i=e.findMarksAt(n);if(i&&i.length>0)continue;const a=r.posFromIndex(t.offset+o+t.length);if(!Fr(e,n)||!Fr(e,a)||!this.matchAllowed(e,t,n,a))continue;const s=e.markText(n,a,{className:`lt-underline ${pr(t.rule.category.id)}`,clearOnEnter:!1});this.markerMap.set(s,t)}this.plugin.setStatusBarReady()}))}matchAllowed(e,t,n,r){var i;const o=e.getRange(n,r);if("TYPOS"===t.rule.category.id){const e=this.app.vault.getConfig("spellcheckDictionary");if(e&&e.includes(o))return!1}const a=e.getLineTokens(n.line);return!a.length||!(null===(i=a[0].type)||void 0===i?void 0:i.includes("table"))||"WHITESPACE_RULE"!==t.rule.id}}class Rr extends e.Plugin{constructor(){super(...arguments),this.isloading=!1,this.handleStatusBarClick=()=>{var t;const n=null===(t=this.statusBarText.parentElement)||void 0===t?void 0:t.getBoundingClientRect(),r=this.statusBarText.getBoundingClientRect();new e.Menu(this.app).addItem((t=>{t.setTitle("Check current document"),t.setIcon("checkbox-glyph"),t.onClick((()=>s(this,void 0,void 0,(function*(){const t=this.app.workspace.activeLeaf;if((null==t?void 0:t.view)instanceof e.MarkdownView&&"source"===t.view.getMode())try{this.isLegacyEditor?yield this.legacyPlugin.runDetection(t.view.editor.cm):yield this.runDetection(t.view.editor.cm,t.view)}catch(e){console.error(e)}}))))})).addItem((e=>{e.setTitle(this.settings.shouldAutoCheck?"Disable automatic checking":"Enable automatic checking"),e.setIcon("uppercase-lowercase-a"),e.onClick((()=>s(this,void 0,void 0,(function*(){this.settings.shouldAutoCheck=!this.settings.shouldAutoCheck,yield this.saveSettings()}))))})).addItem((t=>{t.setTitle("Clear suggestions"),t.setIcon("reset"),t.onClick((()=>{const t=this.app.workspace.getActiveViewOfType(e.MarkdownView);if(t)if(this.isLegacyEditor){const e=t.editor.cm;Ir(this.legacyPlugin.markerMap,e)}else{t.editor.cm.dispatch({effects:[br.of(null)]})}}))})).showAtPosition({x:r.right+5,y:((null==n?void 0:n.top)||0)-5})}}onload(){return s(this,void 0,void 0,(function*(){this.isLegacyEditor=Boolean(!this.app.isMobile&&this.app.vault.getConfig("legacyEditor")),yield this.loadSettings();let t=yield this.loadData();if(t&&0!==Object.keys(t).length||(t=this.settings),!t.urlMode||0===t.urlMode.length){const{serverUrl:t}=this.settings;this.settings.urlMode="https://api.languagetool.org"===t?"standard":"https://api.languagetoolplus.com"===t?"premium":"custom";try{yield this.saveSettings(),yield this.loadSettings(),new e.Notice("updated LanguageTool Settings, please confirm your server URL in the settings tab",1e4)}catch(e){console.error(e)}}if(this.settings.serverUrl.includes("/v2/check")){new e.Notice("invalid or outdated LanguageTool Settings, I'm trying to fix it.\nIf it does not work, simply reinstall the plugin",1e4),this.settings.serverUrl=this.settings.serverUrl.replace("/v2/check","");try{yield this.saveSettings()}catch(e){console.error(e)}}var r;this.addSettingTab(new yr(this.app,this)),this.app.workspace.onLayoutReady((()=>{this.statusBarText=this.addStatusBarItem(),this.setStatusBarReady(),this.registerDomEvent(this.statusBarText,"click",this.handleStatusBarClick)})),this.isLegacyEditor?(this.legacyPlugin=new Pr(this),yield this.legacyPlugin.onload()):(this.hashLru=new u({maxSize:10}),this.registerEditorExtension((r=this,[n.tooltips({position:"absolute",tooltipSpace:e=>{const t=e.dom.getBoundingClientRect();return{top:t.top,left:t.left,bottom:t.bottom,right:t.right}}}),Cr,Ar,qr(r),kr(r)]))),this.registerCommands()}))}onunload(){this.isLegacyEditor&&this.legacyPlugin.onunload(),this.hashLru.clear()}registerCommands(){this.addCommand({id:"ltcheck-text",name:"Check Text",editorCallback:(e,t)=>{if(this.isLegacyEditor){const t=e.cm;e.somethingSelected()?this.legacyPlugin.runDetection(t,t.getCursor("from"),t.getCursor("to")).catch((e=>{console.error(e)})):this.legacyPlugin.runDetection(t).catch((e=>{console.error(e)}))}else this.runDetection(e.cm,t).catch((e=>{console.error(e)}))}}),this.addCommand({id:"ltautocheck-text",name:"Toggle Automatic Checking",callback:()=>s(this,void 0,void 0,(function*(){this.settings.shouldAutoCheck=!this.settings.shouldAutoCheck,yield this.saveSettings()}))}),this.addCommand({id:"ltclear",name:"Clear Suggestions",editorCallback:e=>{if(this.isLegacyEditor){if(this.legacyPlugin.markerMap.size>0){const t=e.cm;Ir(this.legacyPlugin.markerMap,t)}}else{e.cm.dispatch({effects:[br.of(null)]})}}}),this.addCommand({id:"ltjump-to-next-suggestion",name:"Jump to next Suggestion",editorCheckCallback:(e,t)=>{const n=t.cm,r=t.posToOffset(t.getCursor());let i=null;if(n.state.field(Ar).between(r+1,1/0,((e,t)=>{(!i||i.from>e)&&(i={from:e,to:t})})),e)return Boolean(i);i&&n.dispatch({selection:{anchor:i.from,head:i.to}})}}),this.addCommand(this.getApplySuggestionCommand(1)),this.addCommand(this.getApplySuggestionCommand(2)),this.addCommand(this.getApplySuggestionCommand(3))}getApplySuggestionCommand(e){return{id:`ltaccept-suggestion-${e}`,name:`Accept suggestion #${e} when the cursor is within a Language-Tool-Hint`,editorCheckCallback(t,n){var r,i,o,a,s;const u=n.cm,c=n.posToOffset(n.getCursor()),l=[];u.state.field(Ar).between(c,c,((e,t,n)=>{l.push({from:e,to:t,value:n})}));const f=1===l.length&&(null===(s=null===(a=null===(o=null===(i=null===(r=l[0])||void 0===r?void 0:r.value)||void 0===i?void 0:i.spec)||void 0===o?void 0:o.match)||void 0===a?void 0:a.replacements)||void 0===s?void 0:s.length)>=e;if(t)return f;if(!f)return void console.error("Preconditions were not successfull to apply LT-suggestions.");const{from:d,to:p,value:h}=l[0],g={from:d,to:p,insert:h.spec.match.replacements[e-1].value};u.dispatch({changes:[g],effects:[wr.of({from:d,to:p})]})}}}setStatusBarReady(){this.isloading=!1,this.statusBarText.empty(),this.statusBarText.createSpan({cls:"lt-status-bar-btn"},(e=>{e.createSpan({cls:"lt-status-bar-check-icon",text:"Aa"})}))}setStatusBarWorking(){this.isloading||(this.isloading=!0,this.statusBarText.empty(),this.statusBarText.createSpan({cls:["lt-status-bar-btn","lt-loading"]},(t=>{e.setIcon(t,"sync-small")})))}runDetection(e,t,n,r){return s(this,void 0,void 0,(function*(){this.setStatusBarWorking();const i=e.state.selection.main;let o=t.data,a=0,s=!1,u=0,c=0;void 0===n&&i&&i.from!==i.to&&(n=i.from,r=i.to),void 0!==n&&void 0!==r&&(o=e.state.sliceDoc(n,r),a=n,u=n,c=r,s=!0);const l=dr(o);let f;if(this.hashLru.has(l))f=this.hashLru.get(l);else try{f=yield gr(o,(()=>this.settings)),this.hashLru.set(l,f)}catch(e){return this.setStatusBarReady(),Promise.reject(e)}const d=[];if(s?d.push(wr.of({from:u,to:c})):d.push(br.of(null)),f.matches)for(const e of f.matches){const t=e.offset+a,n=e.offset+a+e.length;d.push(xr.of({from:t,to:n,match:e}))}d.length&&e.dispatch({effects:d}),this.setStatusBarReady()}))}loadSettings(){return s(this,void 0,void 0,(function*(){this.settings=Object.assign({},mr,yield this.loadData())}))}saveSettings(){return s(this,void 0,void 0,(function*(){yield this.saveData(this.settings)}))}}module.exports=Rr; diff --git a/content/.obsidian/plugins/obsidian-languagetool-plugin/manifest.json b/content/.obsidian/plugins/obsidian-languagetool-plugin/manifest.json deleted file mode 100644 index fa8fc53a..00000000 --- a/content/.obsidian/plugins/obsidian-languagetool-plugin/manifest.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "id": "obsidian-languagetool-plugin", - "name": "LanguageTool Integration", - "version": "0.3.4", - "minAppVersion": "0.15.2", - "description": "Inofficial LanguageTool plugin", - "author": "Clemens Ertle", - "authorUrl": "https://github.com/Clemens-E", - "isDesktopOnly": false -} diff --git a/content/.obsidian/plugins/obsidian-languagetool-plugin/styles.css b/content/.obsidian/plugins/obsidian-languagetool-plugin/styles.css deleted file mode 100644 index 06cc5871..00000000 --- a/content/.obsidian/plugins/obsidian-languagetool-plugin/styles.css +++ /dev/null @@ -1,159 +0,0 @@ -.lt-underline { - cursor: pointer; - transition: background-color 100ms ease-out; -} - -.lt-underline.lt-minor { - box-shadow: inset 0 -2px #e9b35f; -} - -.lt-underline.lt-major { - box-shadow: inset 0 -2px #da615c; -} - -.lt-underline.lt-style { - box-shadow: inset 0 -2px #8981f3; -} - -.lt-underline.lt-minor:hover { - background-color: #e9b35f21; -} - -.lt-underline.lt-major:hover { - background-color: #da615c21; -} - -.lt-underline.lt-style:hover { - background-color: #8981f321; -} - -@keyframes lineInserted { - from { - opacity: 0; - } - - to { - opacity: 1; - } -} - -.lt-predictions-container-glass.cm-tooltip, -.lt-predictions-container.cm-tooltip, -.lt-predictions-container-glass, -.lt-predictions-container { - position: absolute; - animation-duration: 150ms; - animation-name: lineInserted; - font-family: var(--default-font); - font-size: 0.93rem; - padding: 12px 0 0; - background-color: var(--background-primary); - border: 1px solid var(--background-modifier-border); - box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); - border-radius: 6px; - width: 300px; - line-height: 1.5; - z-index: var(--layer-popover); - overflow: hidden; -} - -.lt-predictions-container-glass { - background: hsla(0, 0%, 100%, 0.25); - backdrop-filter: blur(12px); -} - -.lt-predictions-container > button { - transition-delay: 0.5s; -} - -.lt-buttoncontainer:not(:empty) { - padding: 10px 12px 0; -} - -.lt-buttoncontainer > button { - border: 1px solid var(--background-modifier-border); - font-size: 1rem; - margin-right: 4px; - margin-bottom: 4px; - padding: 4px 10px; -} - -.lt-title { - display: block; - font-weight: 600; - margin-bottom: 6px; - padding: 0 12px; -} - -.lt-message { - padding: 0 12px; - display: block; -} - -.lt-ignorecontainer { - padding-top: 10px; - display: flex; -} - -.lt-status-bar-btn { - height: 100%; - display: flex; - cursor: pointer; - line-height: 1; - align-items: center; -} - -.lt-status-bar-check-icon { - display: block; - text-decoration: underline; - text-decoration-style: dotted; -} - -.lt-ignore-btn { - margin: 0; - padding: 12px; - display: flex; - width: 100%; - text-align: left; - border-radius: 0; - align-items: center; - line-height: 1; - border-top: 1px solid var(--background-modifier-border); -} - -.lt-ignore-btn > span { - display: flex; -} - -.lt-ignore-btn > span:last-child { - margin-left: 5px; -} - -.lt-minor .lt-title > span { - box-shadow: inset 0 -2px #e9b35f88; -} - -.lt-major .lt-title > span { - box-shadow: inset 0 -2px #da615c88; -} - -.lt-style .lt-title > span { - box-shadow: inset 0 -2px #8981f388; -} - -.lt-loading > svg { - animation-name: spin; - animation-duration: 1s; - animation-iteration-count: infinite; - animation-timing-function: linear; -} - -@keyframes spin { - from { - transform: rotate(0deg); - } - - to { - transform: rotate(360deg); - } -} diff --git a/content/logseq/bak/logseq/config/2024-12-25T23_01_00.307Z.Desktop.edn b/content/logseq/bak/logseq/config/2024-12-25T23_01_00.307Z.Desktop.edn new file mode 100644 index 00000000..1956d801 --- /dev/null +++ b/content/logseq/bak/logseq/config/2024-12-25T23_01_00.307Z.Desktop.edn @@ -0,0 +1,423 @@ +{:meta/version 1 + + ;; Set the preferred format. + ;; Available options: + ;; - Markdown (default) + ;; - Org + ;; :preferred-format "Markdown" + + ;; Set the preferred workflow style. + ;; Available options: + ;; - :now for NOW/LATER style (default) + ;; - :todo for TODO/DOING style + :preferred-workflow :now + + ;; Exclude directories/files. + ;; Example usage: + ;; :hidden ["/archived" "/test.md" "../assets/archived"] + :hidden [] + + ;; Define the default journal page template. + ;; Enter the template name between the quotes. + :default-templates + {:journals ""} + + ;; Set a custom date format for the journal page title. + ;; Default value: "MMM do, yyyy" + ;; e.g., "Jan 19th, 2038" + ;; Example usage e.g., "Tue 19th, Jan 2038" + ;; :journal/page-title-format "EEE do, MMM yyyy" + + ;; Specify the journal filename format using a valid date format string. + ;; !Warning: + ;; This configuration is not retroactive and affects only new journals. + ;; To show old journal files in the app, manually rename the files in the + ;; journal directory to match the new format. + ;; Default value: "yyyy_MM_dd" + ;; :journal/file-name-format "yyyy_MM_dd" + + ;; Enable tooltip preview on hover. + ;; Default value: true + :ui/enable-tooltip? true + + ;; Display brackets [[]] around page references. + ;; Default value: true + ;; :ui/show-brackets? true + + ;; Display all lines of a block when referencing ((block)). + ;; Default value: false + :ui/show-full-blocks? false + + ;; Automatically expand block references when zooming in. + ;; Default value: true + :ui/auto-expand-block-refs? true + + ;; Enable Block timestamps. + ;; Default value: false + :feature/enable-block-timestamps? false + + ;; Disable accent marks when searching. + ;; After changing this setting, rebuild the search index by pressing (^C ^S). + ;; Default value: true + :feature/enable-search-remove-accents? true + + ;; Enable journals. + ;; Default value: true + ;; :feature/enable-journals? true + + ;; Enable flashcards. + ;; Default value: true + ;; :feature/enable-flashcards? true + + ;; Enable whiteboards. + ;; Default value: true + ;; :feature/enable-whiteboards? true + + ;; Disable the journal's built-in 'Scheduled tasks and deadlines' query. + ;; Default value: false + ;; :feature/disable-scheduled-and-deadline-query? false + + ;; Specify the number of days displayed in the future for + ;; the 'scheduled tasks and deadlines' query. + ;; Example usage: + ;; Display all scheduled and deadline blocks for the next 14 days: + ;; :scheduled/future-days 14 + ;; Default value: 7 + ;; :scheduled/future-days 7 + + ;; Specify the first day of the week. + ;; Available options: + ;; - integer from 0 to 6 (Monday to Sunday) + ;; Default value: 6 (Sunday) + :start-of-week 6 + + ;; Specify a custom CSS import. + ;; This option takes precedence over the local `logseq/custom.css` file. + ;; Example usage: + ;; :custom-css-url "@import url('https://cdn.jsdelivr.net/gh/dracula/logseq@master/custom.css');" + + ;; Specify a custom JS import. + ;; This option takes precedence over the local `logseq/custom.js` file. + ;; Example usage: + ;; :custom-js-url "https://cdn.logseq.com/custom.js" + + ;; Set a custom Arweave gateway + ;; Default gateway: https://arweave.net + ;; :arweave/gateway "https://arweave.net" + + ;; Set bullet indentation when exporting + ;; Available options: + ;; - `:eight-spaces` as eight spaces + ;; - `:four-spaces` as four spaces + ;; - `:two-spaces` as two spaces + ;; - `:tab` as a tab character (default) + ;; :export/bullet-indentation :tab + + ;; Publish all pages within the Graph + ;; Regardless of whether individual pages have been marked as public. + ;; Default value: false + ;; :publishing/all-pages-public? false + + ;; Define the default home page and sidebar status. + ;; If unspecified, the journal page will be loaded on startup and the right sidebar will stay hidden. + ;; The `:page` value represents the name of the page displayed at startup. + ;; Available options for `:sidebar` are: + ;; - "Contents" to display the Contents page in the right sidebar. + ;; - A specific page name to display in the right sidebar. + ;; - An array of multiple pages, e.g., ["Contents" "Page A" "Page B"]. + ;; If `:sidebar` remains unset, the right sidebar will stay hidden. + ;; Examples: + ;; 1. Set "Changelog" as the home page and display "Contents" in the right sidebar: + ;; :default-home {:page "Changelog", :sidebar "Contents"} + ;; 2. Set "Jun 3rd, 2021" as the home page without the right sidebar: + ;; :default-home {:page "Jun 3rd, 2021"} + ;; 3. Set "home" as the home page and display multiple pages in the right sidebar: + ;; :default-home {:page "home", :sidebar ["Page A" "Page B"]} + + ;; Set the default location for storing notes. + ;; Default value: "pages" + ;; :pages-directory "pages" + + ;; Set the default location for storing journals. + ;; Default value: "journals" + ;; :journals-directory "journals" + + ;; Set the default location for storing whiteboards. + ;; Default value: "whiteboards" + ;; :whiteboards-directory "whiteboards" + + ;; Enabling this option converts + ;; [[Grant Ideas]] to [[file:./grant_ideas.org][Grant Ideas]] for org-mode. + ;; For more information, visit https://github.com/logseq/logseq/issues/672 + ;; :org-mode/insert-file-link? false + + ;; Configure custom shortcuts. + ;; Syntax: + ;; 1. + indicates simultaneous key presses, e.g., `Ctrl+Shift+a`. + ;; 2. A space between keys represents key chords, e.g., `t s` means + ;; pressing `t` followed by `s`. + ;; 3. mod refers to `Ctrl` for Windows/Linux and `Command` for Mac. + ;; 4. Use false to disable a specific shortcut. + ;; 5. You can define multiple bindings for a single action, e.g., ["ctrl+j" "down"]. + ;; The full list of configurable shortcuts is available at: + ;; https://github.com/logseq/logseq/blob/master/src/main/frontend/modules/shortcut/config.cljs + ;; Example: + ;; :shortcuts + ;; {:editor/new-block "enter" + ;; :editor/new-line "shift+enter" + ;; :editor/insert-link "mod+shift+k" + ;; :editor/highlight false + ;; :ui/toggle-settings "t s" + ;; :editor/up ["ctrl+k" "up"] + ;; :editor/down ["ctrl+j" "down"] + ;; :editor/left ["ctrl+h" "left"] + ;; :editor/right ["ctrl+l" "right"]} + :shortcuts {} + + ;; Configure the behavior of pressing Enter in document mode. + ;; if set to true, pressing Enter will create a new block. + ;; Default value: false + :shortcut/doc-mode-enter-for-new-block? false + + ;; Block content larger than `block/content-max-length` will not be searchable + ;; or editable for performance. + ;; Default value: 10000 + :block/content-max-length 10000 + + ;; Display command documentation on hover. + ;; Default value: true + :ui/show-command-doc? true + + ;; Display empty bullet points. + ;; Default value: false + :ui/show-empty-bullets? false + + ;; Pre-defined :view function to use with advanced queries. + :query/views + {:pprint + (fn [r] [:pre.code (pprint r)])} + + ;; Advanced queries `:result-transform` function. + ;; Transform the query result before displaying it. + :query/result-transforms + {:sort-by-priority + (fn [result] (sort-by (fn [h] (get h :block/priority "Z")) result))} + + ;; The following queries will be displayed at the bottom of today's journal page. + ;; The "NOW" query returns tasks with "NOW" or "DOING" status. + ;; The "NEXT" query returns tasks with "NOW", "LATER", or "TODO" status. + :default-queries + {:journals + [{:title "🔨 NOW" + :query [:find (pull ?h [*]) + :in $ ?start ?today + :where + [?h :block/marker ?marker] + [(contains? #{"NOW" "DOING"} ?marker)] + [?h :block/page ?p] + [?p :block/journal? true] + [?p :block/journal-day ?d] + [(>= ?d ?start)] + [(<= ?d ?today)]] + :inputs [:14d :today] + :result-transform (fn [result] + (sort-by (fn [h] + (get h :block/priority "Z")) result)) + :group-by-page? false + :collapsed? false} + {:title "📅 NEXT" + :query [:find (pull ?h [*]) + :in $ ?start ?next + :where + [?h :block/marker ?marker] + [(contains? #{"NOW" "LATER" "TODO"} ?marker)] + [?h :block/page ?p] + [?p :block/journal? true] + [?p :block/journal-day ?d] + [(> ?d ?start)] + [(< ?d ?next)]] + :inputs [:today :7d-after] + :group-by-page? false + :collapsed? false}]} + + ;; Add custom commands to the command palette + ;; Example usage: + ;; :commands + ;; [ + ;; ["js" "Javascript"] + ;; ["md" "Markdown"] + ;; ] + :commands [] + + ;; Enable collapsing blocks with titles but no children. + ;; By default, only blocks with children can be collapsed. + ;; Setting `:outliner/block-title-collapse-enabled?` to true allows collapsing + ;; blocks with titles (multiple lines) and content. For example: + ;; - block title + ;; block content + ;; Default value: false + :outliner/block-title-collapse-enabled? false + + ;; Macros replace texts and will make you more productive. + ;; Example usage: + ;; Change the :macros value below to: + ;; {"poem" "Rose is $1, violet's $2. Life's ordered: Org assists you."} + ;; input "{{poem red,blue}}" + ;; becomes + ;; Rose is red, violet's blue. Life's ordered: Org assists you. + :macros {} + + ;; Configure the default expansion level for linked references. + ;; For example, consider the following block hierarchy: + ;; - a [[page]] (level 1) + ;; - b (level 2) + ;; - c (level 3) + ;; - d (level 4) + ;; + ;; With the default value of level 2, block b will be collapsed. + ;; If the level's value is set to 3, block c will be collapsed. + ;; Default value: 2 + :ref/default-open-blocks-level 2 + + ;; Configure the threshold for linked references before collapsing. + ;; Default value: 100 + :ref/linked-references-collapsed-threshold 50 + + ;; Graph view configuration. + ;; Example usage: + ;; :graph/settings + ;; {:orphan-pages? true ; Default value: true + ;; :builtin-pages? false ; Default value: false + ;; :excluded-pages? false ; Default value: false + ;; :journal? false} ; Default value: false + + ;; Graph view configuration. + ;; Example usage: + ;; :graph/forcesettings + ;; {:link-dist 180 ; Default value: 180 + ;; :charge-strength -600 ; Default value: -600 + ;; :charge-range 600} ; Default value: 600 + + ;; Favorites to list on the left sidebar + :favorites [] + + ;; Set flashcards interval. + ;; Expected value: + ;; - Float between 0 and 1 + ;; higher values result in faster changes to the next review interval. + ;; Default value: 0.5 + ;; :srs/learning-fraction 0.5 + + ;; Set the initial interval after the first successful review of a card. + ;; Default value: 4 + ;; :srs/initial-interval 4 + + ;; Hide specific block properties. + ;; Example usage: + ;; :block-hidden-properties #{:public :icon} + + ;; Create a page for all properties. + ;; Default value: true + :property-pages/enabled? true + + ;; Properties to exclude from having property pages + ;; Example usage: + ;; :property-pages/excludelist #{:duration :author} + + ;; By default, property value separated by commas will not be treated as + ;; page references. You can add properties to enable it. + ;; Example usage: + ;; :property/separated-by-commas #{:alias :tags} + + ;; Properties that are ignored when parsing property values for references + ;; Example usage: + ;; :ignored-page-references-keywords #{:author :website} + + ;; logbook configuration. + ;; :logbook/settings + ;; {:with-second-support? false ;limit logbook to minutes, seconds will be eliminated + ;; :enabled-in-all-blocks true ;display logbook in all blocks after timetracking + ;; :enabled-in-timestamped-blocks false ;don't display logbook at all + ;; } + + ;; Mobile photo upload configuration. + ;; :mobile/photo + ;; {:allow-editing? true + ;; :quality 80} + + ;; Mobile features options + ;; Gestures + ;; Example usage: + ;; :mobile + ;; {:gestures/disabled-in-block-with-tags ["kanban"]} + + ;; Extra CodeMirror options + ;; See https://codemirror.net/5/doc/manual.html#config for possible options + ;; Example usage: + ;; :editor/extra-codemirror-options + ;; {:lineWrapping false ; Default value: false + ;; :lineNumbers true ; Default value: true + ;; :readOnly false} ; Default value: false + + ;; Enable logical outdenting + ;; Default value: false + ;; :editor/logical-outdenting? false + + ;; Prefer pasting the file when text and a file are in the clipboard. + ;; Default value: false + ;; :editor/preferred-pasting-file? false + + ;; Quick capture templates for receiving content from other apps. + ;; Each template contains three elements {time}, {text} and {url}, which can be auto-expanded + ;; by receiving content from other apps. Note: the {} cannot be omitted. + ;; - {time}: capture time + ;; - {date}: capture date using current date format, use `[[{date}]]` to get a page reference + ;; - {text}: text that users selected before sharing. + ;; - {url}: URL or assets path for media files stored in Logseq. + ;; You can also reorder them or use only one or two of them in the template. + ;; You can also insert or format any text in the template, as shown in the following examples. + ;; :quick-capture-templates + ;; {:text "[[quick capture]] **{time}**: {text} from {url}" + ;; :media "[[quick capture]] **{time}**: {url}"} + + ;; Quick capture options. + ;; - insert-today? Insert the capture at the end of today's journal page (boolean). + ;; - redirect-page? Redirect to the quick capture page after capturing (boolean). + ;; - default-page The default page to capture to if insert-today? is false (string). + ;; :quick-capture-options + ;; {:insert-today? false ;; Default value: true + ;; :redirect-page? false ;; Default value: false + ;; :default-page "quick capture"} ;; Default page: "quick capture" + + ;; File sync options + ;; Ignore these files when syncing, regexp is supported. + ;; :file-sync/ignore-files [] + + ;; Configure the Enter key behavior for + ;; context-aware editing with DWIM (Do What I Mean). + ;; context-aware Enter key behavior implies that pressing Enter will + ;; have different outcomes based on the context. + ;; For instance, pressing Enter within a list generates a new list item, + ;; whereas pressing Enter in a block reference opens the referenced block. + ;; :dwim/settings + ;; {:admonition&src? true ;; Default value: true + ;; :markup? false ;; Default value: false + ;; :block-ref? true ;; Default value: true + ;; :page-ref? true ;; Default value: true + ;; :properties? true ;; Default value: true + ;; :list? false} ;; Default value: false + + ;; Configure the escaping method for special characters in page titles. + ;; Warning: + ;; This is a dangerous operation. To modify the setting, + ;; access the 'Filename format' setting and follow the instructions. + ;; Otherwise, You may need to manually rename all affected files and + ;; re-index them on all clients after synchronization. + ;; Incorrect handling may result in messy page titles. + ;; Available options: + ;; - :triple-lowbar (default) + ;; ;use triple underscore `___` for slash `/` in page title + ;; ;use Percent-encoding for other invalid characters + :file/name-format :triple-lowbar + :feature/enable-journals? false + :default-home {}} diff --git a/content/logseq/bak/logseq/config/2024-12-25T23_01_55.274Z.Desktop.edn b/content/logseq/bak/logseq/config/2024-12-25T23_01_55.274Z.Desktop.edn new file mode 100644 index 00000000..436aeaea --- /dev/null +++ b/content/logseq/bak/logseq/config/2024-12-25T23_01_55.274Z.Desktop.edn @@ -0,0 +1,423 @@ +{:meta/version 1 + + ;; Set the preferred format. + ;; Available options: + ;; - Markdown (default) + ;; - Org + ;; :preferred-format "Markdown" + + ;; Set the preferred workflow style. + ;; Available options: + ;; - :now for NOW/LATER style (default) + ;; - :todo for TODO/DOING style + :preferred-workflow :now + + ;; Exclude directories/files. + ;; Example usage: + ;; :hidden ["/archived" "/test.md" "../assets/archived"] + :hidden [] + + ;; Define the default journal page template. + ;; Enter the template name between the quotes. + :default-templates + {:journals ""} + + ;; Set a custom date format for the journal page title. + ;; Default value: "MMM do, yyyy" + ;; e.g., "Jan 19th, 2038" + ;; Example usage e.g., "Tue 19th, Jan 2038" + ;; :journal/page-title-format "EEE do, MMM yyyy" + + ;; Specify the journal filename format using a valid date format string. + ;; !Warning: + ;; This configuration is not retroactive and affects only new journals. + ;; To show old journal files in the app, manually rename the files in the + ;; journal directory to match the new format. + ;; Default value: "yyyy_MM_dd" + ;; :journal/file-name-format "yyyy_MM_dd" + + ;; Enable tooltip preview on hover. + ;; Default value: true + :ui/enable-tooltip? true + + ;; Display brackets [[]] around page references. + ;; Default value: true + ;; :ui/show-brackets? true + + ;; Display all lines of a block when referencing ((block)). + ;; Default value: false + :ui/show-full-blocks? false + + ;; Automatically expand block references when zooming in. + ;; Default value: true + :ui/auto-expand-block-refs? true + + ;; Enable Block timestamps. + ;; Default value: false + :feature/enable-block-timestamps? false + + ;; Disable accent marks when searching. + ;; After changing this setting, rebuild the search index by pressing (^C ^S). + ;; Default value: true + :feature/enable-search-remove-accents? true + + ;; Enable journals. + ;; Default value: true + ;; :feature/enable-journals? true + + ;; Enable flashcards. + ;; Default value: true + ;; :feature/enable-flashcards? true + + ;; Enable whiteboards. + ;; Default value: true + ;; :feature/enable-whiteboards? true + + ;; Disable the journal's built-in 'Scheduled tasks and deadlines' query. + ;; Default value: false + ;; :feature/disable-scheduled-and-deadline-query? false + + ;; Specify the number of days displayed in the future for + ;; the 'scheduled tasks and deadlines' query. + ;; Example usage: + ;; Display all scheduled and deadline blocks for the next 14 days: + ;; :scheduled/future-days 14 + ;; Default value: 7 + ;; :scheduled/future-days 7 + + ;; Specify the first day of the week. + ;; Available options: + ;; - integer from 0 to 6 (Monday to Sunday) + ;; Default value: 6 (Sunday) + :start-of-week 6 + + ;; Specify a custom CSS import. + ;; This option takes precedence over the local `logseq/custom.css` file. + ;; Example usage: + ;; :custom-css-url "@import url('https://cdn.jsdelivr.net/gh/dracula/logseq@master/custom.css');" + + ;; Specify a custom JS import. + ;; This option takes precedence over the local `logseq/custom.js` file. + ;; Example usage: + ;; :custom-js-url "https://cdn.logseq.com/custom.js" + + ;; Set a custom Arweave gateway + ;; Default gateway: https://arweave.net + ;; :arweave/gateway "https://arweave.net" + + ;; Set bullet indentation when exporting + ;; Available options: + ;; - `:eight-spaces` as eight spaces + ;; - `:four-spaces` as four spaces + ;; - `:two-spaces` as two spaces + ;; - `:tab` as a tab character (default) + ;; :export/bullet-indentation :tab + + ;; Publish all pages within the Graph + ;; Regardless of whether individual pages have been marked as public. + ;; Default value: false + ;; :publishing/all-pages-public? false + + ;; Define the default home page and sidebar status. + ;; If unspecified, the journal page will be loaded on startup and the right sidebar will stay hidden. + ;; The `:page` value represents the name of the page displayed at startup. + ;; Available options for `:sidebar` are: + ;; - "Contents" to display the Contents page in the right sidebar. + ;; - A specific page name to display in the right sidebar. + ;; - An array of multiple pages, e.g., ["Contents" "Page A" "Page B"]. + ;; If `:sidebar` remains unset, the right sidebar will stay hidden. + ;; Examples: + ;; 1. Set "Changelog" as the home page and display "Contents" in the right sidebar: + ;; :default-home {:page "Changelog", :sidebar "Contents"} + ;; 2. Set "Jun 3rd, 2021" as the home page without the right sidebar: + ;; :default-home {:page "Jun 3rd, 2021"} + ;; 3. Set "home" as the home page and display multiple pages in the right sidebar: + ;; :default-home {:page "home", :sidebar ["Page A" "Page B"]} + + ;; Set the default location for storing notes. + ;; Default value: "pages" + ;; :pages-directory "pages" + + ;; Set the default location for storing journals. + ;; Default value: "journals" + ;; :journals-directory "journals" + + ;; Set the default location for storing whiteboards. + ;; Default value: "whiteboards" + ;; :whiteboards-directory "whiteboards" + + ;; Enabling this option converts + ;; [[Grant Ideas]] to [[file:./grant_ideas.org][Grant Ideas]] for org-mode. + ;; For more information, visit https://github.com/logseq/logseq/issues/672 + ;; :org-mode/insert-file-link? false + + ;; Configure custom shortcuts. + ;; Syntax: + ;; 1. + indicates simultaneous key presses, e.g., `Ctrl+Shift+a`. + ;; 2. A space between keys represents key chords, e.g., `t s` means + ;; pressing `t` followed by `s`. + ;; 3. mod refers to `Ctrl` for Windows/Linux and `Command` for Mac. + ;; 4. Use false to disable a specific shortcut. + ;; 5. You can define multiple bindings for a single action, e.g., ["ctrl+j" "down"]. + ;; The full list of configurable shortcuts is available at: + ;; https://github.com/logseq/logseq/blob/master/src/main/frontend/modules/shortcut/config.cljs + ;; Example: + ;; :shortcuts + ;; {:editor/new-block "enter" + ;; :editor/new-line "shift+enter" + ;; :editor/insert-link "mod+shift+k" + ;; :editor/highlight false + ;; :ui/toggle-settings "t s" + ;; :editor/up ["ctrl+k" "up"] + ;; :editor/down ["ctrl+j" "down"] + ;; :editor/left ["ctrl+h" "left"] + ;; :editor/right ["ctrl+l" "right"]} + :shortcuts {} + + ;; Configure the behavior of pressing Enter in document mode. + ;; if set to true, pressing Enter will create a new block. + ;; Default value: false + :shortcut/doc-mode-enter-for-new-block? false + + ;; Block content larger than `block/content-max-length` will not be searchable + ;; or editable for performance. + ;; Default value: 10000 + :block/content-max-length 10000 + + ;; Display command documentation on hover. + ;; Default value: true + :ui/show-command-doc? true + + ;; Display empty bullet points. + ;; Default value: false + :ui/show-empty-bullets? false + + ;; Pre-defined :view function to use with advanced queries. + :query/views + {:pprint + (fn [r] [:pre.code (pprint r)])} + + ;; Advanced queries `:result-transform` function. + ;; Transform the query result before displaying it. + :query/result-transforms + {:sort-by-priority + (fn [result] (sort-by (fn [h] (get h :block/priority "Z")) result))} + + ;; The following queries will be displayed at the bottom of today's journal page. + ;; The "NOW" query returns tasks with "NOW" or "DOING" status. + ;; The "NEXT" query returns tasks with "NOW", "LATER", or "TODO" status. + :default-queries + {:journals + [{:title "🔨 NOW" + :query [:find (pull ?h [*]) + :in $ ?start ?today + :where + [?h :block/marker ?marker] + [(contains? #{"NOW" "DOING"} ?marker)] + [?h :block/page ?p] + [?p :block/journal? true] + [?p :block/journal-day ?d] + [(>= ?d ?start)] + [(<= ?d ?today)]] + :inputs [:14d :today] + :result-transform (fn [result] + (sort-by (fn [h] + (get h :block/priority "Z")) result)) + :group-by-page? false + :collapsed? false} + {:title "📅 NEXT" + :query [:find (pull ?h [*]) + :in $ ?start ?next + :where + [?h :block/marker ?marker] + [(contains? #{"NOW" "LATER" "TODO"} ?marker)] + [?h :block/page ?p] + [?p :block/journal? true] + [?p :block/journal-day ?d] + [(> ?d ?start)] + [(< ?d ?next)]] + :inputs [:today :7d-after] + :group-by-page? false + :collapsed? false}]} + + ;; Add custom commands to the command palette + ;; Example usage: + ;; :commands + ;; [ + ;; ["js" "Javascript"] + ;; ["md" "Markdown"] + ;; ] + :commands [] + + ;; Enable collapsing blocks with titles but no children. + ;; By default, only blocks with children can be collapsed. + ;; Setting `:outliner/block-title-collapse-enabled?` to true allows collapsing + ;; blocks with titles (multiple lines) and content. For example: + ;; - block title + ;; block content + ;; Default value: false + :outliner/block-title-collapse-enabled? false + + ;; Macros replace texts and will make you more productive. + ;; Example usage: + ;; Change the :macros value below to: + ;; {"poem" "Rose is $1, violet's $2. Life's ordered: Org assists you."} + ;; input "{{poem red,blue}}" + ;; becomes + ;; Rose is red, violet's blue. Life's ordered: Org assists you. + :macros {} + + ;; Configure the default expansion level for linked references. + ;; For example, consider the following block hierarchy: + ;; - a [[page]] (level 1) + ;; - b (level 2) + ;; - c (level 3) + ;; - d (level 4) + ;; + ;; With the default value of level 2, block b will be collapsed. + ;; If the level's value is set to 3, block c will be collapsed. + ;; Default value: 2 + :ref/default-open-blocks-level 2 + + ;; Configure the threshold for linked references before collapsing. + ;; Default value: 100 + :ref/linked-references-collapsed-threshold 50 + + ;; Graph view configuration. + ;; Example usage: + ;; :graph/settings + ;; {:orphan-pages? true ; Default value: true + ;; :builtin-pages? false ; Default value: false + ;; :excluded-pages? false ; Default value: false + ;; :journal? false} ; Default value: false + + ;; Graph view configuration. + ;; Example usage: + ;; :graph/forcesettings + ;; {:link-dist 180 ; Default value: 180 + ;; :charge-strength -600 ; Default value: -600 + ;; :charge-range 600} ; Default value: 600 + + ;; Favorites to list on the left sidebar + :favorites [] + + ;; Set flashcards interval. + ;; Expected value: + ;; - Float between 0 and 1 + ;; higher values result in faster changes to the next review interval. + ;; Default value: 0.5 + ;; :srs/learning-fraction 0.5 + + ;; Set the initial interval after the first successful review of a card. + ;; Default value: 4 + ;; :srs/initial-interval 4 + + ;; Hide specific block properties. + ;; Example usage: + ;; :block-hidden-properties #{:public :icon} + + ;; Create a page for all properties. + ;; Default value: true + :property-pages/enabled? true + + ;; Properties to exclude from having property pages + ;; Example usage: + ;; :property-pages/excludelist #{:duration :author} + + ;; By default, property value separated by commas will not be treated as + ;; page references. You can add properties to enable it. + ;; Example usage: + ;; :property/separated-by-commas #{:alias :tags} + + ;; Properties that are ignored when parsing property values for references + ;; Example usage: + ;; :ignored-page-references-keywords #{:author :website} + + ;; logbook configuration. + ;; :logbook/settings + ;; {:with-second-support? false ;limit logbook to minutes, seconds will be eliminated + ;; :enabled-in-all-blocks true ;display logbook in all blocks after timetracking + ;; :enabled-in-timestamped-blocks false ;don't display logbook at all + ;; } + + ;; Mobile photo upload configuration. + ;; :mobile/photo + ;; {:allow-editing? true + ;; :quality 80} + + ;; Mobile features options + ;; Gestures + ;; Example usage: + ;; :mobile + ;; {:gestures/disabled-in-block-with-tags ["kanban"]} + + ;; Extra CodeMirror options + ;; See https://codemirror.net/5/doc/manual.html#config for possible options + ;; Example usage: + ;; :editor/extra-codemirror-options + ;; {:lineWrapping false ; Default value: false + ;; :lineNumbers true ; Default value: true + ;; :readOnly false} ; Default value: false + + ;; Enable logical outdenting + ;; Default value: false + ;; :editor/logical-outdenting? false + + ;; Prefer pasting the file when text and a file are in the clipboard. + ;; Default value: false + ;; :editor/preferred-pasting-file? false + + ;; Quick capture templates for receiving content from other apps. + ;; Each template contains three elements {time}, {text} and {url}, which can be auto-expanded + ;; by receiving content from other apps. Note: the {} cannot be omitted. + ;; - {time}: capture time + ;; - {date}: capture date using current date format, use `[[{date}]]` to get a page reference + ;; - {text}: text that users selected before sharing. + ;; - {url}: URL or assets path for media files stored in Logseq. + ;; You can also reorder them or use only one or two of them in the template. + ;; You can also insert or format any text in the template, as shown in the following examples. + ;; :quick-capture-templates + ;; {:text "[[quick capture]] **{time}**: {text} from {url}" + ;; :media "[[quick capture]] **{time}**: {url}"} + + ;; Quick capture options. + ;; - insert-today? Insert the capture at the end of today's journal page (boolean). + ;; - redirect-page? Redirect to the quick capture page after capturing (boolean). + ;; - default-page The default page to capture to if insert-today? is false (string). + ;; :quick-capture-options + ;; {:insert-today? false ;; Default value: true + ;; :redirect-page? false ;; Default value: false + ;; :default-page "quick capture"} ;; Default page: "quick capture" + + ;; File sync options + ;; Ignore these files when syncing, regexp is supported. + ;; :file-sync/ignore-files [] + + ;; Configure the Enter key behavior for + ;; context-aware editing with DWIM (Do What I Mean). + ;; context-aware Enter key behavior implies that pressing Enter will + ;; have different outcomes based on the context. + ;; For instance, pressing Enter within a list generates a new list item, + ;; whereas pressing Enter in a block reference opens the referenced block. + ;; :dwim/settings + ;; {:admonition&src? true ;; Default value: true + ;; :markup? false ;; Default value: false + ;; :block-ref? true ;; Default value: true + ;; :page-ref? true ;; Default value: true + ;; :properties? true ;; Default value: true + ;; :list? false} ;; Default value: false + + ;; Configure the escaping method for special characters in page titles. + ;; Warning: + ;; This is a dangerous operation. To modify the setting, + ;; access the 'Filename format' setting and follow the instructions. + ;; Otherwise, You may need to manually rename all affected files and + ;; re-index them on all clients after synchronization. + ;; Incorrect handling may result in messy page titles. + ;; Available options: + ;; - :triple-lowbar (default) + ;; ;use triple underscore `___` for slash `/` in page title + ;; ;use Percent-encoding for other invalid characters + :file/name-format :triple-lowbar + :feature/enable-journals? true + :default-home {}} diff --git a/content/logseq/config.edn b/content/logseq/config.edn new file mode 100644 index 00000000..c688cfa3 --- /dev/null +++ b/content/logseq/config.edn @@ -0,0 +1,423 @@ +{:meta/version 1 + + ;; Set the preferred format. + ;; Available options: + ;; - Markdown (default) + ;; - Org + ;; :preferred-format "Markdown" + + ;; Set the preferred workflow style. + ;; Available options: + ;; - :now for NOW/LATER style (default) + ;; - :todo for TODO/DOING style + :preferred-workflow :todo + + ;; Exclude directories/files. + ;; Example usage: + ;; :hidden ["/archived" "/test.md" "../assets/archived"] + :hidden [] + + ;; Define the default journal page template. + ;; Enter the template name between the quotes. + :default-templates + {:journals ""} + + ;; Set a custom date format for the journal page title. + ;; Default value: "MMM do, yyyy" + ;; e.g., "Jan 19th, 2038" + ;; Example usage e.g., "Tue 19th, Jan 2038" + ;; :journal/page-title-format "EEE do, MMM yyyy" + + ;; Specify the journal filename format using a valid date format string. + ;; !Warning: + ;; This configuration is not retroactive and affects only new journals. + ;; To show old journal files in the app, manually rename the files in the + ;; journal directory to match the new format. + ;; Default value: "yyyy_MM_dd" + ;; :journal/file-name-format "yyyy_MM_dd" + + ;; Enable tooltip preview on hover. + ;; Default value: true + :ui/enable-tooltip? true + + ;; Display brackets [[]] around page references. + ;; Default value: true + ;; :ui/show-brackets? true + + ;; Display all lines of a block when referencing ((block)). + ;; Default value: false + :ui/show-full-blocks? false + + ;; Automatically expand block references when zooming in. + ;; Default value: true + :ui/auto-expand-block-refs? true + + ;; Enable Block timestamps. + ;; Default value: false + :feature/enable-block-timestamps? false + + ;; Disable accent marks when searching. + ;; After changing this setting, rebuild the search index by pressing (^C ^S). + ;; Default value: true + :feature/enable-search-remove-accents? true + + ;; Enable journals. + ;; Default value: true + ;; :feature/enable-journals? true + + ;; Enable flashcards. + ;; Default value: true + ;; :feature/enable-flashcards? true + + ;; Enable whiteboards. + ;; Default value: true + ;; :feature/enable-whiteboards? true + + ;; Disable the journal's built-in 'Scheduled tasks and deadlines' query. + ;; Default value: false + ;; :feature/disable-scheduled-and-deadline-query? false + + ;; Specify the number of days displayed in the future for + ;; the 'scheduled tasks and deadlines' query. + ;; Example usage: + ;; Display all scheduled and deadline blocks for the next 14 days: + ;; :scheduled/future-days 14 + ;; Default value: 7 + ;; :scheduled/future-days 7 + + ;; Specify the first day of the week. + ;; Available options: + ;; - integer from 0 to 6 (Monday to Sunday) + ;; Default value: 6 (Sunday) + :start-of-week 6 + + ;; Specify a custom CSS import. + ;; This option takes precedence over the local `logseq/custom.css` file. + ;; Example usage: + ;; :custom-css-url "@import url('https://cdn.jsdelivr.net/gh/dracula/logseq@master/custom.css');" + + ;; Specify a custom JS import. + ;; This option takes precedence over the local `logseq/custom.js` file. + ;; Example usage: + ;; :custom-js-url "https://cdn.logseq.com/custom.js" + + ;; Set a custom Arweave gateway + ;; Default gateway: https://arweave.net + ;; :arweave/gateway "https://arweave.net" + + ;; Set bullet indentation when exporting + ;; Available options: + ;; - `:eight-spaces` as eight spaces + ;; - `:four-spaces` as four spaces + ;; - `:two-spaces` as two spaces + ;; - `:tab` as a tab character (default) + ;; :export/bullet-indentation :tab + + ;; Publish all pages within the Graph + ;; Regardless of whether individual pages have been marked as public. + ;; Default value: false + ;; :publishing/all-pages-public? false + + ;; Define the default home page and sidebar status. + ;; If unspecified, the journal page will be loaded on startup and the right sidebar will stay hidden. + ;; The `:page` value represents the name of the page displayed at startup. + ;; Available options for `:sidebar` are: + ;; - "Contents" to display the Contents page in the right sidebar. + ;; - A specific page name to display in the right sidebar. + ;; - An array of multiple pages, e.g., ["Contents" "Page A" "Page B"]. + ;; If `:sidebar` remains unset, the right sidebar will stay hidden. + ;; Examples: + ;; 1. Set "Changelog" as the home page and display "Contents" in the right sidebar: + ;; :default-home {:page "Changelog", :sidebar "Contents"} + ;; 2. Set "Jun 3rd, 2021" as the home page without the right sidebar: + ;; :default-home {:page "Jun 3rd, 2021"} + ;; 3. Set "home" as the home page and display multiple pages in the right sidebar: + ;; :default-home {:page "home", :sidebar ["Page A" "Page B"]} + + ;; Set the default location for storing notes. + ;; Default value: "pages" + ;; :pages-directory "pages" + + ;; Set the default location for storing journals. + ;; Default value: "journals" + ;; :journals-directory "journals" + + ;; Set the default location for storing whiteboards. + ;; Default value: "whiteboards" + ;; :whiteboards-directory "whiteboards" + + ;; Enabling this option converts + ;; [[Grant Ideas]] to [[file:./grant_ideas.org][Grant Ideas]] for org-mode. + ;; For more information, visit https://github.com/logseq/logseq/issues/672 + ;; :org-mode/insert-file-link? false + + ;; Configure custom shortcuts. + ;; Syntax: + ;; 1. + indicates simultaneous key presses, e.g., `Ctrl+Shift+a`. + ;; 2. A space between keys represents key chords, e.g., `t s` means + ;; pressing `t` followed by `s`. + ;; 3. mod refers to `Ctrl` for Windows/Linux and `Command` for Mac. + ;; 4. Use false to disable a specific shortcut. + ;; 5. You can define multiple bindings for a single action, e.g., ["ctrl+j" "down"]. + ;; The full list of configurable shortcuts is available at: + ;; https://github.com/logseq/logseq/blob/master/src/main/frontend/modules/shortcut/config.cljs + ;; Example: + ;; :shortcuts + ;; {:editor/new-block "enter" + ;; :editor/new-line "shift+enter" + ;; :editor/insert-link "mod+shift+k" + ;; :editor/highlight false + ;; :ui/toggle-settings "t s" + ;; :editor/up ["ctrl+k" "up"] + ;; :editor/down ["ctrl+j" "down"] + ;; :editor/left ["ctrl+h" "left"] + ;; :editor/right ["ctrl+l" "right"]} + :shortcuts {} + + ;; Configure the behavior of pressing Enter in document mode. + ;; if set to true, pressing Enter will create a new block. + ;; Default value: false + :shortcut/doc-mode-enter-for-new-block? false + + ;; Block content larger than `block/content-max-length` will not be searchable + ;; or editable for performance. + ;; Default value: 10000 + :block/content-max-length 10000 + + ;; Display command documentation on hover. + ;; Default value: true + :ui/show-command-doc? true + + ;; Display empty bullet points. + ;; Default value: false + :ui/show-empty-bullets? false + + ;; Pre-defined :view function to use with advanced queries. + :query/views + {:pprint + (fn [r] [:pre.code (pprint r)])} + + ;; Advanced queries `:result-transform` function. + ;; Transform the query result before displaying it. + :query/result-transforms + {:sort-by-priority + (fn [result] (sort-by (fn [h] (get h :block/priority "Z")) result))} + + ;; The following queries will be displayed at the bottom of today's journal page. + ;; The "NOW" query returns tasks with "NOW" or "DOING" status. + ;; The "NEXT" query returns tasks with "NOW", "LATER", or "TODO" status. + :default-queries + {:journals + [{:title "🔨 NOW" + :query [:find (pull ?h [*]) + :in $ ?start ?today + :where + [?h :block/marker ?marker] + [(contains? #{"NOW" "DOING"} ?marker)] + [?h :block/page ?p] + [?p :block/journal? true] + [?p :block/journal-day ?d] + [(>= ?d ?start)] + [(<= ?d ?today)]] + :inputs [:14d :today] + :result-transform (fn [result] + (sort-by (fn [h] + (get h :block/priority "Z")) result)) + :group-by-page? false + :collapsed? false} + {:title "📅 NEXT" + :query [:find (pull ?h [*]) + :in $ ?start ?next + :where + [?h :block/marker ?marker] + [(contains? #{"NOW" "LATER" "TODO"} ?marker)] + [?h :block/page ?p] + [?p :block/journal? true] + [?p :block/journal-day ?d] + [(> ?d ?start)] + [(< ?d ?next)]] + :inputs [:today :7d-after] + :group-by-page? false + :collapsed? false}]} + + ;; Add custom commands to the command palette + ;; Example usage: + ;; :commands + ;; [ + ;; ["js" "Javascript"] + ;; ["md" "Markdown"] + ;; ] + :commands [] + + ;; Enable collapsing blocks with titles but no children. + ;; By default, only blocks with children can be collapsed. + ;; Setting `:outliner/block-title-collapse-enabled?` to true allows collapsing + ;; blocks with titles (multiple lines) and content. For example: + ;; - block title + ;; block content + ;; Default value: false + :outliner/block-title-collapse-enabled? false + + ;; Macros replace texts and will make you more productive. + ;; Example usage: + ;; Change the :macros value below to: + ;; {"poem" "Rose is $1, violet's $2. Life's ordered: Org assists you."} + ;; input "{{poem red,blue}}" + ;; becomes + ;; Rose is red, violet's blue. Life's ordered: Org assists you. + :macros {} + + ;; Configure the default expansion level for linked references. + ;; For example, consider the following block hierarchy: + ;; - a [[page]] (level 1) + ;; - b (level 2) + ;; - c (level 3) + ;; - d (level 4) + ;; + ;; With the default value of level 2, block b will be collapsed. + ;; If the level's value is set to 3, block c will be collapsed. + ;; Default value: 2 + :ref/default-open-blocks-level 2 + + ;; Configure the threshold for linked references before collapsing. + ;; Default value: 100 + :ref/linked-references-collapsed-threshold 50 + + ;; Graph view configuration. + ;; Example usage: + ;; :graph/settings + ;; {:orphan-pages? true ; Default value: true + ;; :builtin-pages? false ; Default value: false + ;; :excluded-pages? false ; Default value: false + ;; :journal? false} ; Default value: false + + ;; Graph view configuration. + ;; Example usage: + ;; :graph/forcesettings + ;; {:link-dist 180 ; Default value: 180 + ;; :charge-strength -600 ; Default value: -600 + ;; :charge-range 600} ; Default value: 600 + + ;; Favorites to list on the left sidebar + :favorites [] + + ;; Set flashcards interval. + ;; Expected value: + ;; - Float between 0 and 1 + ;; higher values result in faster changes to the next review interval. + ;; Default value: 0.5 + ;; :srs/learning-fraction 0.5 + + ;; Set the initial interval after the first successful review of a card. + ;; Default value: 4 + ;; :srs/initial-interval 4 + + ;; Hide specific block properties. + ;; Example usage: + ;; :block-hidden-properties #{:public :icon} + + ;; Create a page for all properties. + ;; Default value: true + :property-pages/enabled? true + + ;; Properties to exclude from having property pages + ;; Example usage: + ;; :property-pages/excludelist #{:duration :author} + + ;; By default, property value separated by commas will not be treated as + ;; page references. You can add properties to enable it. + ;; Example usage: + ;; :property/separated-by-commas #{:alias :tags} + + ;; Properties that are ignored when parsing property values for references + ;; Example usage: + ;; :ignored-page-references-keywords #{:author :website} + + ;; logbook configuration. + ;; :logbook/settings + ;; {:with-second-support? false ;limit logbook to minutes, seconds will be eliminated + ;; :enabled-in-all-blocks true ;display logbook in all blocks after timetracking + ;; :enabled-in-timestamped-blocks false ;don't display logbook at all + ;; } + + ;; Mobile photo upload configuration. + ;; :mobile/photo + ;; {:allow-editing? true + ;; :quality 80} + + ;; Mobile features options + ;; Gestures + ;; Example usage: + ;; :mobile + ;; {:gestures/disabled-in-block-with-tags ["kanban"]} + + ;; Extra CodeMirror options + ;; See https://codemirror.net/5/doc/manual.html#config for possible options + ;; Example usage: + ;; :editor/extra-codemirror-options + ;; {:lineWrapping false ; Default value: false + ;; :lineNumbers true ; Default value: true + ;; :readOnly false} ; Default value: false + + ;; Enable logical outdenting + ;; Default value: false + ;; :editor/logical-outdenting? false + + ;; Prefer pasting the file when text and a file are in the clipboard. + ;; Default value: false + ;; :editor/preferred-pasting-file? false + + ;; Quick capture templates for receiving content from other apps. + ;; Each template contains three elements {time}, {text} and {url}, which can be auto-expanded + ;; by receiving content from other apps. Note: the {} cannot be omitted. + ;; - {time}: capture time + ;; - {date}: capture date using current date format, use `[[{date}]]` to get a page reference + ;; - {text}: text that users selected before sharing. + ;; - {url}: URL or assets path for media files stored in Logseq. + ;; You can also reorder them or use only one or two of them in the template. + ;; You can also insert or format any text in the template, as shown in the following examples. + ;; :quick-capture-templates + ;; {:text "[[quick capture]] **{time}**: {text} from {url}" + ;; :media "[[quick capture]] **{time}**: {url}"} + + ;; Quick capture options. + ;; - insert-today? Insert the capture at the end of today's journal page (boolean). + ;; - redirect-page? Redirect to the quick capture page after capturing (boolean). + ;; - default-page The default page to capture to if insert-today? is false (string). + ;; :quick-capture-options + ;; {:insert-today? false ;; Default value: true + ;; :redirect-page? false ;; Default value: false + ;; :default-page "quick capture"} ;; Default page: "quick capture" + + ;; File sync options + ;; Ignore these files when syncing, regexp is supported. + ;; :file-sync/ignore-files [] + + ;; Configure the Enter key behavior for + ;; context-aware editing with DWIM (Do What I Mean). + ;; context-aware Enter key behavior implies that pressing Enter will + ;; have different outcomes based on the context. + ;; For instance, pressing Enter within a list generates a new list item, + ;; whereas pressing Enter in a block reference opens the referenced block. + ;; :dwim/settings + ;; {:admonition&src? true ;; Default value: true + ;; :markup? false ;; Default value: false + ;; :block-ref? true ;; Default value: true + ;; :page-ref? true ;; Default value: true + ;; :properties? true ;; Default value: true + ;; :list? false} ;; Default value: false + + ;; Configure the escaping method for special characters in page titles. + ;; Warning: + ;; This is a dangerous operation. To modify the setting, + ;; access the 'Filename format' setting and follow the instructions. + ;; Otherwise, You may need to manually rename all affected files and + ;; re-index them on all clients after synchronization. + ;; Incorrect handling may result in messy page titles. + ;; Available options: + ;; - :triple-lowbar (default) + ;; ;use triple underscore `___` for slash `/` in page title + ;; ;use Percent-encoding for other invalid characters + :file/name-format :triple-lowbar + :feature/enable-journals? true + :default-home {}} diff --git a/content/logseq/custom.css b/content/logseq/custom.css new file mode 100644 index 00000000..e69de29b diff --git a/content/note/structure-of-enjoyment.md b/content/note/structure-of-enjoyment.md index af9ad62b..3fb01656 100644 --- a/content/note/structure-of-enjoyment.md +++ b/content/note/structure-of-enjoyment.md @@ -9,4 +9,7 @@ tags: --- > As our studies have suggested, the phenomenology of enjoyment has eight major components. When people reflect on how it feels when their experience is most positive, they mention at least one, and often all, of the following. First, the experience usually occurs when we confront tasks we have a chance of completing. Second, we must be able to concentrate on what we are doing. Third and fourth, the concentration is usually possible because the task undertaken has clear goals and provides immediate feedback. Fifth, one acts with a deep but effortless involvement that removes from awareness the worries and frustrations of everyday life. Sixth, enjoyable experiences allow people to exercise a sense of control over their actions. Seventh, concern for the self disappears, yet paradoxically the sense of self emerges stronger after the flow experience is over. Finally, the sense of the duration of time is altered; hours pass by in minutes, and minutes can stretch out to seem like hours. The combination of all these elements causes a sense of deep enjoyment that is so rewarding people feel that expending a great deal of energy is worthwhile simply to be able to feel it. -Csikszentmihalyi, Mihaly (1990). Flow: The Psychology of Optimal Experience. New York: Harper and Row. \ No newline at end of file +Csikszentmihalyi, Mihaly (1990). Flow: The Psychology of Optimal Experience. New York: Harper and Row. + +- +- Test \ No newline at end of file diff --git a/content/pages/contents.md b/content/pages/contents.md new file mode 100644 index 00000000..3cf20d57 --- /dev/null +++ b/content/pages/contents.md @@ -0,0 +1 @@ +- \ No newline at end of file