From 49ad72a82cffa1ad97f7180121477b0d0e9a6842 Mon Sep 17 00:00:00 2001 From: BlueRose <378100977@qq.com> Date: Fri, 30 Jun 2023 15:32:06 +0800 Subject: [PATCH 01/11] vault backup: 2023-06-30 15:32:06 --- .obsidian/community-plugins.json | 1 - .../plugins/obsidian-bartender/data.json | 46 - .obsidian/plugins/obsidian-bartender/main.js | 13 - .../plugins/obsidian-bartender/manifest.json | 1 - .../plugins/obsidian-bartender/styles.css | 140 --- .../.github/FUNDING.yml | 6 - .../.github/ISSUE_TEMPLATE/bug_report.md | 38 - .../.github/ISSUE_TEMPLATE/feature_request.md | 20 - .../obsidian-editing-toolbar/.gitignore | 22 - .../plugins/obsidian-editing-toolbar/LICENSE | 373 -------- .../obsidian-editing-toolbar/README-zh_cn.md | 105 --- .../obsidian-editing-toolbar/README.md | 99 -- .../build/manifest.json | 10 - .../obsidian-editing-toolbar/build/styles.css | 846 ------------------ .../obsidian-editing-toolbar/cmenu-demo.gif | Bin 788259 -> 0 bytes .../obsidian-editing-toolbar/manifest.json | 1 - .../obsidian-editing-toolbar/package.json | 44 - .../obsidian-editing-toolbar/rollup.config.js | 33 - .../src/icons/appIcons.ts | 166 ---- .../src/icons/customIcons.ts | 87 -- .../src/modals/cMenuToolbarModal.ts | 755 ---------------- .../src/modals/suggesterModals.ts | 256 ------ .../src/plugin/main.ts | 741 --------------- .../src/settings/settingsData.ts | 219 ----- .../src/settings/settingsTab.ts | 466 ---------- .../src/translations/helper.ts | 59 -- .../src/translations/locale/ar.ts | 3 - .../src/translations/locale/cz.ts | 3 - .../src/translations/locale/da.ts | 3 - .../src/translations/locale/de.ts | 3 - .../src/translations/locale/en-gb.ts | 3 - .../src/translations/locale/en.ts | 35 - .../src/translations/locale/es.ts | 3 - .../src/translations/locale/fr.ts | 1 - .../src/translations/locale/hi.ts | 3 - .../src/translations/locale/id.ts | 3 - .../src/translations/locale/it.ts | 3 - .../src/translations/locale/ja.ts | 3 - .../src/translations/locale/ko.ts | 3 - .../src/translations/locale/nl.ts | 3 - .../src/translations/locale/no.ts | 3 - .../src/translations/locale/pl.ts | 3 - .../src/translations/locale/pt-br.ts | 1 - .../src/translations/locale/pt.ts | 1 - .../src/translations/locale/ro.ts | 3 - .../src/translations/locale/ru.ts | 3 - .../src/translations/locale/tr.ts | 3 - .../src/translations/locale/zh-cn.ts | 36 - .../src/translations/locale/zh-tw.ts | 3 - .../src/util/cmenuGlobal.d.ts | 13 - .../src/util/fullscreen.ts | 131 --- .../src/util/obsidian-ext.ts | 30 - .../src/util/statusBarConstants.ts | 32 - .../obsidian-editing-toolbar/src/util/util.ts | 188 ---- .../obsidian-editing-toolbar/styles.css | 846 ------------------ .../obsidian-editing-toolbar/tsconfig.json | 23 - .../obsidian-editing-toolbar/versions.json | 3 - 57 files changed, 5941 deletions(-) delete mode 100644 .obsidian/plugins/obsidian-bartender/data.json delete mode 100644 .obsidian/plugins/obsidian-bartender/main.js delete mode 100644 .obsidian/plugins/obsidian-bartender/manifest.json delete mode 100644 .obsidian/plugins/obsidian-bartender/styles.css delete mode 100644 .obsidian/plugins/obsidian-editing-toolbar/.github/FUNDING.yml delete mode 100644 .obsidian/plugins/obsidian-editing-toolbar/.github/ISSUE_TEMPLATE/bug_report.md delete mode 100644 .obsidian/plugins/obsidian-editing-toolbar/.github/ISSUE_TEMPLATE/feature_request.md delete mode 100644 .obsidian/plugins/obsidian-editing-toolbar/.gitignore delete mode 100644 .obsidian/plugins/obsidian-editing-toolbar/LICENSE delete mode 100644 .obsidian/plugins/obsidian-editing-toolbar/README-zh_cn.md delete mode 100644 .obsidian/plugins/obsidian-editing-toolbar/README.md delete mode 100644 .obsidian/plugins/obsidian-editing-toolbar/build/manifest.json delete mode 100644 .obsidian/plugins/obsidian-editing-toolbar/build/styles.css delete mode 100644 .obsidian/plugins/obsidian-editing-toolbar/cmenu-demo.gif delete mode 100644 .obsidian/plugins/obsidian-editing-toolbar/manifest.json delete mode 100644 .obsidian/plugins/obsidian-editing-toolbar/package.json delete mode 100644 .obsidian/plugins/obsidian-editing-toolbar/rollup.config.js delete mode 100644 .obsidian/plugins/obsidian-editing-toolbar/src/icons/appIcons.ts delete mode 100644 .obsidian/plugins/obsidian-editing-toolbar/src/icons/customIcons.ts delete mode 100644 .obsidian/plugins/obsidian-editing-toolbar/src/modals/cMenuToolbarModal.ts delete mode 100644 .obsidian/plugins/obsidian-editing-toolbar/src/modals/suggesterModals.ts delete mode 100644 .obsidian/plugins/obsidian-editing-toolbar/src/plugin/main.ts delete mode 100644 .obsidian/plugins/obsidian-editing-toolbar/src/settings/settingsData.ts delete mode 100644 .obsidian/plugins/obsidian-editing-toolbar/src/settings/settingsTab.ts delete mode 100644 .obsidian/plugins/obsidian-editing-toolbar/src/translations/helper.ts delete mode 100644 .obsidian/plugins/obsidian-editing-toolbar/src/translations/locale/ar.ts delete mode 100644 .obsidian/plugins/obsidian-editing-toolbar/src/translations/locale/cz.ts delete mode 100644 .obsidian/plugins/obsidian-editing-toolbar/src/translations/locale/da.ts delete mode 100644 .obsidian/plugins/obsidian-editing-toolbar/src/translations/locale/de.ts delete mode 100644 .obsidian/plugins/obsidian-editing-toolbar/src/translations/locale/en-gb.ts delete mode 100644 .obsidian/plugins/obsidian-editing-toolbar/src/translations/locale/en.ts delete mode 100644 .obsidian/plugins/obsidian-editing-toolbar/src/translations/locale/es.ts delete mode 100644 .obsidian/plugins/obsidian-editing-toolbar/src/translations/locale/fr.ts delete mode 100644 .obsidian/plugins/obsidian-editing-toolbar/src/translations/locale/hi.ts delete mode 100644 .obsidian/plugins/obsidian-editing-toolbar/src/translations/locale/id.ts delete mode 100644 .obsidian/plugins/obsidian-editing-toolbar/src/translations/locale/it.ts delete mode 100644 .obsidian/plugins/obsidian-editing-toolbar/src/translations/locale/ja.ts delete mode 100644 .obsidian/plugins/obsidian-editing-toolbar/src/translations/locale/ko.ts delete mode 100644 .obsidian/plugins/obsidian-editing-toolbar/src/translations/locale/nl.ts delete mode 100644 .obsidian/plugins/obsidian-editing-toolbar/src/translations/locale/no.ts delete mode 100644 .obsidian/plugins/obsidian-editing-toolbar/src/translations/locale/pl.ts delete mode 100644 .obsidian/plugins/obsidian-editing-toolbar/src/translations/locale/pt-br.ts delete mode 100644 .obsidian/plugins/obsidian-editing-toolbar/src/translations/locale/pt.ts delete mode 100644 .obsidian/plugins/obsidian-editing-toolbar/src/translations/locale/ro.ts delete mode 100644 .obsidian/plugins/obsidian-editing-toolbar/src/translations/locale/ru.ts delete mode 100644 .obsidian/plugins/obsidian-editing-toolbar/src/translations/locale/tr.ts delete mode 100644 .obsidian/plugins/obsidian-editing-toolbar/src/translations/locale/zh-cn.ts delete mode 100644 .obsidian/plugins/obsidian-editing-toolbar/src/translations/locale/zh-tw.ts delete mode 100644 .obsidian/plugins/obsidian-editing-toolbar/src/util/cmenuGlobal.d.ts delete mode 100644 .obsidian/plugins/obsidian-editing-toolbar/src/util/fullscreen.ts delete mode 100644 .obsidian/plugins/obsidian-editing-toolbar/src/util/obsidian-ext.ts delete mode 100644 .obsidian/plugins/obsidian-editing-toolbar/src/util/statusBarConstants.ts delete mode 100644 .obsidian/plugins/obsidian-editing-toolbar/src/util/util.ts delete mode 100644 .obsidian/plugins/obsidian-editing-toolbar/styles.css delete mode 100644 .obsidian/plugins/obsidian-editing-toolbar/tsconfig.json delete mode 100644 .obsidian/plugins/obsidian-editing-toolbar/versions.json diff --git a/.obsidian/community-plugins.json b/.obsidian/community-plugins.json index 0837055..656dfaa 100644 --- a/.obsidian/community-plugins.json +++ b/.obsidian/community-plugins.json @@ -31,7 +31,6 @@ "workspaces-plus", "Enhanced-editing", "obsidian42-brat", - "obsidian-editing-toolbar", "remotely-save", "table-editor-obsidian", "dataview", diff --git a/.obsidian/plugins/obsidian-bartender/data.json b/.obsidian/plugins/obsidian-bartender/data.json deleted file mode 100644 index a7a431d..0000000 --- a/.obsidian/plugins/obsidian-bartender/data.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "statusBarOrder": [ - "44751841237401602368623156", - "12843970849669122596921091", - "86515888475340801543377291", - "21212843474944064247010", - "59523608157880323101081134", - "4185832177008644156991330", - "35658965975040004261697505", - "86589804862504962434026302", - "6265085974544384162810726" - ], - "ribbonBarOrder": [ - "79372327069941761204210982", - "798508723260620822378052", - "10343183191900161451753391", - "88573907954565123003701357", - "62657388095733763115464037", - "60992143375728644142598242", - "70995981201571844078151274", - "76874417040261121352673776", - "20512377258639363877619960", - "6844575847022592185085343", - "4384744997388288661022522", - "4370133518647296621305815" - ], - "fileExplorerOrder": {}, - "actionBarOrder": { - "markdown-table-editor-view": [ - "3424304410656768167261794", - "19187852294225921578290960", - "30107033550192642960974060", - "73781782889103362323969276" - ], - "markdown": [ - "6146527697305603961893867", - "3424304410656768167261794", - "19187852294225921578290960", - "30107033550192642960974060", - "73781782889103362323969276" - ] - }, - "autoHide": false, - "autoHideDelay": 500, - "dragDelay": 200 -} \ No newline at end of file diff --git a/.obsidian/plugins/obsidian-bartender/main.js b/.obsidian/plugins/obsidian-bartender/main.js deleted file mode 100644 index 52d9003..0000000 --- a/.obsidian/plugins/obsidian-bartender/main.js +++ /dev/null @@ -1,13 +0,0 @@ -/* -THIS IS A GENERATED/BUNDLED FILE BY ESBUILD -if you want to view the source, please visit the github repository of this plugin -*/ - -var ln=Object.create;var Le=Object.defineProperty;var cn=Object.getOwnPropertyDescriptor;var un=Object.getOwnPropertyNames,rr=Object.getOwnPropertySymbols,hn=Object.getPrototypeOf,nr=Object.prototype.hasOwnProperty,dn=Object.prototype.propertyIsEnumerable;var ir=(n,e,t)=>e in n?Le(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,he=(n,e)=>{for(var t in e||(e={}))nr.call(e,t)&&ir(n,t,e[t]);if(rr)for(var t of rr(e))dn.call(e,t)&&ir(n,t,e[t]);return n};var or=n=>Le(n,"__esModule",{value:!0});var fn=(n,e)=>{or(n);for(var t in e)Le(n,t,{get:e[t],enumerable:!0})},pn=(n,e,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of un(e))!nr.call(n,r)&&r!=="default"&&Le(n,r,{get:()=>e[r],enumerable:!(t=cn(e,r))||t.enumerable});return n},Tt=n=>pn(or(Le(n!=null?ln(hn(n)):{},"default",n&&n.__esModule&&"default"in n?{get:()=>n.default,enumerable:!0}:{value:n,enumerable:!0})),n);var ye=(n,e,t)=>new Promise((r,i)=>{var o=l=>{try{a(t.next(l))}catch(c){i(c)}},s=l=>{try{a(t.throw(l))}catch(c){i(c)}},a=l=>l.done?r(l.value):Promise.resolve(l.value).then(o,s);a((t=t.apply(n,e)).next())});fn(exports,{default:()=>er});function de(n){return Array.isArray?Array.isArray(n):lr(n)==="[object Array]"}var gn=1/0;function mn(n){if(typeof n=="string")return n;let e=n+"";return e=="0"&&1/n==-gn?"-0":e}function bn(n){return n==null?"":mn(n)}function fe(n){return typeof n=="string"}function sr(n){return typeof n=="number"}function vn(n){return n===!0||n===!1||yn(n)&&lr(n)=="[object Boolean]"}function ar(n){return typeof n=="object"}function yn(n){return ar(n)&&n!==null}function U(n){return n!=null}function Dt(n){return!n.trim().length}function lr(n){return n==null?n===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(n)}var En="Incorrect 'index' type",Sn=n=>`Invalid value for key ${n}`,wn=n=>`Pattern length exceeds max of ${n}.`,Tn=n=>`Missing ${n} property in key`,Dn=n=>`Property 'weight' in key '${n}' must be a positive integer`,cr=Object.prototype.hasOwnProperty,ur=class{constructor(e){this._keys=[],this._keyMap={};let t=0;e.forEach(r=>{let i=hr(r);t+=i.weight,this._keys.push(i),this._keyMap[i.id]=i,t+=i.weight}),this._keys.forEach(r=>{r.weight/=t})}get(e){return this._keyMap[e]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}};function hr(n){let e=null,t=null,r=null,i=1;if(fe(n)||de(n))r=n,e=dr(n),t=Ct(n);else{if(!cr.call(n,"name"))throw new Error(Tn("name"));let o=n.name;if(r=o,cr.call(n,"weight")&&(i=n.weight,i<=0))throw new Error(Dn(o));e=dr(o),t=Ct(o)}return{path:e,id:t,weight:i,src:r}}function dr(n){return de(n)?n:n.split(".")}function Ct(n){return de(n)?n.join("."):n}function Cn(n,e){let t=[],r=!1,i=(o,s,a)=>{if(!!U(o))if(!s[a])t.push(o);else{let l=s[a],c=o[l];if(!U(c))return;if(a===s.length-1&&(fe(c)||sr(c)||vn(c)))t.push(bn(c));else if(de(c)){r=!0;for(let u=0,h=c.length;un.score===e.score?n.idx{this._keysMap[t.id]=r})}create(){this.isCreated||!this.docs.length||(this.isCreated=!0,fe(this.docs[0])?this.docs.forEach((e,t)=>{this._addString(e,t)}):this.docs.forEach((e,t)=>{this._addObject(e,t)}),this.norm.clear())}add(e){let t=this.size();fe(e)?this._addString(e,t):this._addObject(e,t)}removeAt(e){this.records.splice(e,1);for(let t=e,r=this.size();t{let s=this.getFn(e,i.path);if(!!U(s)){if(de(s)){let a=[],l=[{nestedArrIndex:-1,value:s}];for(;l.length;){let{nestedArrIndex:c,value:u}=l.pop();if(!!U(u))if(fe(u)&&!Dt(u)){let h={v:u,i:c,n:this.norm.get(u)};a.push(h)}else de(u)&&u.forEach((h,d)=>{l.push({nestedArrIndex:d,value:h})})}r.$[o]=a}else if(!Dt(s)){let a={v:s,n:this.norm.get(s)};r.$[o]=a}}}),this.records.push(r)}toJSON(){return{keys:this.keys,records:this.records}}};function fr(n,e,{getFn:t=y.getFn,fieldNormWeight:r=y.fieldNormWeight}={}){let i=new tt({getFn:t,fieldNormWeight:r});return i.setKeys(n.map(hr)),i.setSources(e),i.create(),i}function Fn(n,{getFn:e=y.getFn,fieldNormWeight:t=y.fieldNormWeight}={}){let{keys:r,records:i}=n,o=new tt({getFn:e,fieldNormWeight:t});return o.setKeys(r),o.setIndexRecords(i),o}function rt(n,{errors:e=0,currentLocation:t=0,expectedLocation:r=0,distance:i=y.distance,ignoreLocation:o=y.ignoreLocation}={}){let s=e/n.length;if(o)return s;let a=Math.abs(r-t);return i?s+a/i:a?1:s}function Nn(n=[],e=y.minMatchCharLength){let t=[],r=-1,i=-1,o=0;for(let s=n.length;o=e&&t.push([r,i]),r=-1)}return n[o-1]&&o-r>=e&&t.push([r,o-1]),t}var Te=32;function kn(n,e,t,{location:r=y.location,distance:i=y.distance,threshold:o=y.threshold,findAllMatches:s=y.findAllMatches,minMatchCharLength:a=y.minMatchCharLength,includeMatches:l=y.includeMatches,ignoreLocation:c=y.ignoreLocation}={}){if(e.length>Te)throw new Error(wn(Te));let u=e.length,h=n.length,d=Math.max(0,Math.min(r,h)),p=o,g=d,b=a>1||l,C=b?Array(h):[],O;for(;(O=n.indexOf(e,g))>-1;){let R=rt(e,{currentLocation:O,expectedLocation:d,distance:i,ignoreLocation:c});if(p=Math.min(R,p),g=O+u,b){let V=0;for(;V=ve;W-=1){let ae=W-1,te=t[n.charAt(ae)];if(b&&(C[ae]=+!!te),ee[W]=(ee[W+1]<<1|1)&te,R&&(ee[W]|=(_[W+1]|_[W])<<1|1|_[W+1]),ee[W]&J&&(F=rt(e,{errors:R,currentLocation:ae,expectedLocation:d,distance:i,ignoreLocation:c}),F<=p)){if(p=F,g=ae,g<=d)break;ve=Math.max(1,2*d-g)}}if(rt(e,{errors:R+1,currentLocation:d,expectedLocation:d,distance:i,ignoreLocation:c})>p)break;_=ee}let X={isMatch:g>=0,score:Math.max(.001,F)};if(b){let R=Nn(C,a);R.length?l&&(X.indices=R):X.isMatch=!1}return X}function Pn(n){let e={};for(let t=0,r=n.length;t{this.chunks.push({pattern:d,alphabet:Pn(d),startIndex:p})},h=this.pattern.length;if(h>Te){let d=0,p=h%Te,g=h-p;for(;d{let{isMatch:O,score:_,indices:F}=kn(e,g,b,{location:i+C,distance:o,threshold:s,findAllMatches:a,minMatchCharLength:l,includeMatches:r,ignoreLocation:c});O&&(d=!0),h+=_,O&&F&&(u=[...u,...F])});let p={isMatch:d,score:d?h/this.chunks.length:1};return d&&r&&(p.indices=u),p}},pe=class{constructor(e){this.pattern=e}static isMultiMatch(e){return pr(e,this.multiRegex)}static isSingleMatch(e){return pr(e,this.singleRegex)}search(){}};function pr(n,e){let t=n.match(e);return t?t[1]:null}var gr=class extends pe{constructor(e){super(e)}static get type(){return"exact"}static get multiRegex(){return/^="(.*)"$/}static get singleRegex(){return/^=(.*)$/}search(e){let t=e===this.pattern;return{isMatch:t,score:t?0:1,indices:[0,this.pattern.length-1]}}},mr=class extends pe{constructor(e){super(e)}static get type(){return"inverse-exact"}static get multiRegex(){return/^!"(.*)"$/}static get singleRegex(){return/^!(.*)$/}search(e){let r=e.indexOf(this.pattern)===-1;return{isMatch:r,score:r?0:1,indices:[0,e.length-1]}}},br=class extends pe{constructor(e){super(e)}static get type(){return"prefix-exact"}static get multiRegex(){return/^\^"(.*)"$/}static get singleRegex(){return/^\^(.*)$/}search(e){let t=e.startsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,this.pattern.length-1]}}},vr=class extends pe{constructor(e){super(e)}static get type(){return"inverse-prefix-exact"}static get multiRegex(){return/^!\^"(.*)"$/}static get singleRegex(){return/^!\^(.*)$/}search(e){let t=!e.startsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}},yr=class extends pe{constructor(e){super(e)}static get type(){return"suffix-exact"}static get multiRegex(){return/^"(.*)"\$$/}static get singleRegex(){return/^(.*)\$$/}search(e){let t=e.endsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[e.length-this.pattern.length,e.length-1]}}},Er=class extends pe{constructor(e){super(e)}static get type(){return"inverse-suffix-exact"}static get multiRegex(){return/^!"(.*)"\$$/}static get singleRegex(){return/^!(.*)\$$/}search(e){let t=!e.endsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}},_t=class extends pe{constructor(e,{location:t=y.location,threshold:r=y.threshold,distance:i=y.distance,includeMatches:o=y.includeMatches,findAllMatches:s=y.findAllMatches,minMatchCharLength:a=y.minMatchCharLength,isCaseSensitive:l=y.isCaseSensitive,ignoreLocation:c=y.ignoreLocation}={}){super(e);this._bitapSearch=new xt(e,{location:t,threshold:r,distance:i,includeMatches:o,findAllMatches:s,minMatchCharLength:a,isCaseSensitive:l,ignoreLocation:c})}static get type(){return"fuzzy"}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(e){return this._bitapSearch.searchIn(e)}},It=class extends pe{constructor(e){super(e)}static get type(){return"include"}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(e){let t=0,r,i=[],o=this.pattern.length;for(;(r=e.indexOf(this.pattern,t))>-1;)t=r+o,i.push([r,t-1]);let s=!!i.length;return{isMatch:s,score:s?0:1,indices:i}}},Mt=[gr,It,br,vr,Er,yr,mr,_t],Sr=Mt.length,Rn=/ +(?=([^\"]*\"[^\"]*\")*[^\"]*$)/,Ln="|";function Bn(n,e={}){return n.split(Ln).map(t=>{let r=t.trim().split(Rn).filter(o=>o&&!!o.trim()),i=[];for(let o=0,s=r.length;o!!(n[nt.AND]||n[nt.OR]),jn=n=>!!n[Ft.PATH],$n=n=>!de(n)&&ar(n)&&!Nt(n),Tr=n=>({[nt.AND]:Object.keys(n).map(e=>({[e]:n[e]}))});function Dr(n,e,{auto:t=!0}={}){let r=i=>{let o=Object.keys(i),s=jn(i);if(!s&&o.length>1&&!Nt(i))return r(Tr(i));if($n(i)){let l=s?i[Ft.PATH]:o[0],c=s?i[Ft.PATTERN]:i[l];if(!fe(c))throw new Error(Sn(l));let u={keyId:Ct(l),pattern:c};return t&&(u.searcher=Ot(c,e)),u}let a={children:[],operator:o[0]};return o.forEach(l=>{let c=i[l];de(c)&&c.forEach(u=>{a.children.push(r(u))})}),a};return Nt(n)||(n=Tr(n)),r(n)}function Gn(n,{ignoreFieldNorm:e=y.ignoreFieldNorm}){n.forEach(t=>{let r=1;t.matches.forEach(({key:i,norm:o,score:s})=>{let a=i?i.weight:null;r*=Math.pow(s===0&&a?Number.EPSILON:s,(a||1)*(e?1:o))}),t.score=r})}function Yn(n,e){let t=n.matches;e.matches=[],!!U(t)&&t.forEach(r=>{if(!U(r.indices)||!r.indices.length)return;let{indices:i,value:o}=r,s={indices:i,value:o};r.key&&(s.key=r.key.src),r.idx>-1&&(s.refIndex=r.idx),e.matches.push(s)})}function Xn(n,e){e.score=n.score}function Vn(n,e,{includeMatches:t=y.includeMatches,includeScore:r=y.includeScore}={}){let i=[];return t&&i.push(Yn),r&&i.push(Xn),n.map(o=>{let{idx:s}=o,a={item:e[s],refIndex:s};return i.length&&i.forEach(l=>{l(o,a)}),a})}var le=class{constructor(e,t={},r){this.options=he(he({},y),t),this.options.useExtendedSearch,this._keyStore=new ur(this.options.keys),this.setCollection(e,r)}setCollection(e,t){if(this._docs=e,t&&!(t instanceof tt))throw new Error(En);this._myIndex=t||fr(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}add(e){!U(e)||(this._docs.push(e),this._myIndex.add(e))}remove(e=()=>!1){let t=[];for(let r=0,i=this._docs.length;r-1&&(l=l.slice(0,t)),Vn(l,this._docs,{includeMatches:r,includeScore:i})}_searchStringList(e){let t=Ot(e,this.options),{records:r}=this._myIndex,i=[];return r.forEach(({v:o,i:s,n:a})=>{if(!U(o))return;let{isMatch:l,score:c,indices:u}=t.searchIn(o);l&&i.push({item:o,idx:s,matches:[{score:c,value:o,norm:a,indices:u}]})}),i}_searchLogical(e){let t=Dr(e,this.options),r=(a,l,c)=>{if(!a.children){let{keyId:h,searcher:d}=a,p=this._findMatches({key:this._keyStore.get(h),value:this._myIndex.getValueForItemAtKeyId(l,h),searcher:d});return p&&p.length?[{idx:c,item:l,matches:p}]:[]}let u=[];for(let h=0,d=a.children.length;h{if(U(a)){let c=r(t,a,l);c.length&&(o[l]||(o[l]={idx:l,item:a,matches:[]},s.push(o[l])),c.forEach(({matches:u})=>{o[l].matches.push(...u)}))}}),s}_searchObjectList(e){let t=Ot(e,this.options),{keys:r,records:i}=this._myIndex,o=[];return i.forEach(({$:s,i:a})=>{if(!U(s))return;let l=[];r.forEach((c,u)=>{l.push(...this._findMatches({key:c,value:s[u],searcher:t}))}),l.length&&o.push({idx:a,item:s,matches:l})}),o}_findMatches({key:e,value:t,searcher:r}){if(!U(t))return[];let i=[];if(de(t))t.forEach(({v:o,i:s,n:a})=>{if(!U(o))return;let{isMatch:l,score:c,indices:u}=r.searchIn(o);l&&i.push({score:c,key:e,value:o,idx:s,norm:a,indices:u})});else{let{v:o,n:s}=t,{isMatch:a,score:l,indices:c}=r.searchIn(o);a&&i.push({score:l,key:e,value:o,norm:s,indices:c})}return i}};le.version="6.5.3";le.createIndex=fr;le.parseIndex=Fn;le.config=y;le.parseQuery=Dr;Wn(wr);function ge(n,e){let t=Object.keys(e).map(r=>Kn(n,r,e[r]));return t.length===1?t[0]:function(){t.forEach(r=>r())}}function Kn(n,e,t){let r=n[e],i=n.hasOwnProperty(e),o=t(r);return r&&Object.setPrototypeOf(o,r),Object.setPrototypeOf(s,o),n[e]=s,a;function s(...l){return o===r&&n[e]===s&&a(),o.apply(this,l)}function a(){n[e]===s&&(i?n[e]=r:delete n[e]),o!==r&&(o=r,Object.setPrototypeOf(s,r||Function))}}var x=Tt(require("obsidian"));function Cr(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function ce(n){for(var e=1;e=0)&&(t[i]=n[i]);return t}function qn(n,e){if(n==null)return{};var t=Un(n,e),r,i;if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(n);for(i=0;i=0)&&(!Object.prototype.propertyIsEnumerable.call(n,r)||(t[r]=n[r]))}return t}function Qn(n){return Jn(n)||Zn(n)||ei(n)||ti()}function Jn(n){if(Array.isArray(n))return kt(n)}function Zn(n){if(typeof Symbol!="undefined"&&n[Symbol.iterator]!=null||n["@@iterator"]!=null)return Array.from(n)}function ei(n,e){if(!!n){if(typeof n=="string")return kt(n,e);var t=Object.prototype.toString.call(n).slice(8,-1);if(t==="Object"&&n.constructor&&(t=n.constructor.name),t==="Map"||t==="Set")return Array.from(n);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return kt(n,e)}}function kt(n,e){(e==null||e>n.length)&&(e=n.length);for(var t=0,r=new Array(e);t"&&(e=e.substring(1)),n)try{if(n.matches)return n.matches(e);if(n.msMatchesSelector)return n.msMatchesSelector(e);if(n.webkitMatchesSelector)return n.webkitMatchesSelector(e)}catch(t){return!1}return!1}}function ii(n){return n.host&&n!==document&&n.host.nodeType?n.host:n.parentNode}function ne(n,e,t,r){if(n){t=t||document;do{if(e!=null&&(e[0]===">"?n.parentNode===t&&ot(n,e):ot(n,e))||r&&n===t)return n;if(n===t)break}while(n=ii(n))}return null}var Mr=/\s+/g;function L(n,e,t){if(n&&e)if(n.classList)n.classList[t?"add":"remove"](e);else{var r=(" "+n.className+" ").replace(Mr," ").replace(" "+e+" "," ");n.className=(r+(t?" "+e:"")).replace(Mr," ")}}function m(n,e,t){var r=n&&n.style;if(r){if(t===void 0)return document.defaultView&&document.defaultView.getComputedStyle?t=document.defaultView.getComputedStyle(n,""):n.currentStyle&&(t=n.currentStyle),e===void 0?t:t[e];!(e in r)&&e.indexOf("webkit")===-1&&(e="-webkit-"+e),r[e]=t+(typeof t=="string"?"":"px")}}function De(n,e){var t="";if(typeof n=="string")t=n;else do{var r=m(n,"transform");r&&r!=="none"&&(t=r+" "+t)}while(!e&&(n=n.parentNode));var i=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return i&&new i(t)}function Ar(n,e,t){if(n){var r=n.getElementsByTagName(e),i=0,o=r.length;if(t)for(;i=o:s=i<=o,!s)return r;if(r===ue())break;r=Ee(r,!1)}return!1}function Me(n,e,t,r){for(var i=0,o=0,s=n.children;o2&&arguments[2]!==void 0?arguments[2]:{},i=r.evt,o=qn(r,hi);je.pluginEvent.bind(v)(e,t,ce({dragEl:f,parentEl:k,ghostEl:S,rootEl:A,nextEl:Ce,lastDownEl:st,cloneEl:P,cloneHidden:Se,dragStarted:Ye,putSortable:j,activeSortable:v.active,originalEvent:i,oldIndex:Oe,oldDraggableIndex:Ge,newIndex:q,newDraggableIndex:we,hideGhostForTarget:$r,unhideGhostForTarget:Gr,cloneNowHidden:function(){Se=!0},cloneNowShown:function(){Se=!1},dispatchSortableEvent:function(a){Y({sortable:t,name:a,originalEvent:i})}},o))};function Y(n){$e(ce({putSortable:j,cloneEl:P,targetEl:f,rootEl:A,oldIndex:Oe,oldDraggableIndex:Ge,newIndex:q,newDraggableIndex:we},n))}var f,k,S,A,Ce,st,P,Se,Oe,q,Ge,we,at,j,Fe=!1,lt=!1,ct=[],xe,ie,Wt,jt,Rr,Lr,Ye,Ne,Xe,Ve=!1,ut=!1,ht,G,$t=[],Gt=!1,dt=[],ft=typeof document!="undefined",pt=_r,Br=Be||be?"cssFloat":"float",di=ft&&!ni&&!_r&&"draggable"in document.createElement("div"),Hr=function(){if(!!ft){if(be)return!1;var n=document.createElement("x");return n.style.cssText="pointer-events:auto",n.style.pointerEvents==="auto"}}(),Wr=function(e,t){var r=m(e),i=parseInt(r.width)-parseInt(r.paddingLeft)-parseInt(r.paddingRight)-parseInt(r.borderLeftWidth)-parseInt(r.borderRightWidth),o=Me(e,0,t),s=Me(e,1,t),a=o&&m(o),l=s&&m(s),c=a&&parseInt(a.marginLeft)+parseInt(a.marginRight)+M(o).width,u=l&&parseInt(l.marginLeft)+parseInt(l.marginRight)+M(s).width;if(r.display==="flex")return r.flexDirection==="column"||r.flexDirection==="column-reverse"?"vertical":"horizontal";if(r.display==="grid")return r.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(o&&a.float&&a.float!=="none"){var h=a.float==="left"?"left":"right";return s&&(l.clear==="both"||l.clear===h)?"vertical":"horizontal"}return o&&(a.display==="block"||a.display==="flex"||a.display==="table"||a.display==="grid"||c>=i&&r[Br]==="none"||s&&r[Br]==="none"&&c+u>i)?"vertical":"horizontal"},fi=function(e,t,r){var i=r?e.left:e.top,o=r?e.right:e.bottom,s=r?e.width:e.height,a=r?t.left:t.top,l=r?t.right:t.bottom,c=r?t.width:t.height;return i===a||o===l||i+s/2===a+c/2},pi=function(e,t){var r;return ct.some(function(i){var o=i[$].options.emptyInsertThreshold;if(!(!o||Pt(i))){var s=M(i),a=e>=s.left-o&&e<=s.right+o,l=t>=s.top-o&&t<=s.bottom+o;if(a&&l)return r=i}}),r},jr=function(e){function t(o,s){return function(a,l,c,u){var h=a.options.group.name&&l.options.group.name&&a.options.group.name===l.options.group.name;if(o==null&&(s||h))return!0;if(o==null||o===!1)return!1;if(s&&o==="clone")return o;if(typeof o=="function")return t(o(a,l,c,u),s)(a,l,c,u);var d=(s?a:l).options.group.name;return o===!0||typeof o=="string"&&o===d||o.join&&o.indexOf(d)>-1}}var r={},i=e.group;(!i||it(i)!="object")&&(i={name:i}),r.name=i.name,r.checkPull=t(i.pull,!0),r.checkPut=t(i.put),r.revertClone=i.revertClone,e.group=r},$r=function(){!Hr&&S&&m(S,"display","none")},Gr=function(){!Hr&&S&&m(S,"display","")};ft&&document.addEventListener("click",function(n){if(lt)return n.preventDefault(),n.stopPropagation&&n.stopPropagation(),n.stopImmediatePropagation&&n.stopImmediatePropagation(),lt=!1,!1},!0);var _e=function(e){if(f){e=e.touches?e.touches[0]:e;var t=pi(e.clientX,e.clientY);if(t){var r={};for(var i in e)e.hasOwnProperty(i)&&(r[i]=e[i]);r.target=r.rootEl=t,r.preventDefault=void 0,r.stopPropagation=void 0,t[$]._onDragOver(r)}}},gi=function(e){f&&f.parentNode[$]._isOutsideThisEl(e.target)};function v(n,e){if(!(n&&n.nodeType&&n.nodeType===1))throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(n));this.el=n,this.options=e=re({},e),n[$]=this;var t={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(n.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return Wr(n,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(s,a){s.setData("Text",a.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:v.supportPointer!==!1&&"PointerEvent"in window&&!He,emptyInsertThreshold:5};je.initializePlugins(this,n,t);for(var r in t)!(r in e)&&(e[r]=t[r]);jr(e);for(var i in this)i.charAt(0)==="_"&&typeof this[i]=="function"&&(this[i]=this[i].bind(this));this.nativeDraggable=e.forceFallback?!1:di,this.nativeDraggable&&(this.options.touchStartThreshold=1),e.supportPointer?T(n,"pointerdown",this._onTapStart):(T(n,"mousedown",this._onTapStart),T(n,"touchstart",this._onTapStart)),this.nativeDraggable&&(T(n,"dragover",this),T(n,"dragenter",this)),ct.push(this.el),e.store&&e.store.get&&this.sort(e.store.get(this)||[]),re(this,li())}v.prototype={constructor:v,_isOutsideThisEl:function(e){!this.el.contains(e)&&e!==this.el&&(Ne=null)},_getDirection:function(e,t){return typeof this.options.direction=="function"?this.options.direction.call(this,e,t,f):this.options.direction},_onTapStart:function(e){if(!!e.cancelable){var t=this,r=this.el,i=this.options,o=i.preventOnFilter,s=e.type,a=e.touches&&e.touches[0]||e.pointerType&&e.pointerType==="touch"&&e,l=(a||e).target,c=e.target.shadowRoot&&(e.path&&e.path[0]||e.composedPath&&e.composedPath()[0])||l,u=i.filter;if(Ti(r),!f&&!(/mousedown|pointerdown/.test(s)&&e.button!==0||i.disabled)&&!c.isContentEditable&&!(!this.nativeDraggable&&He&&l&&l.tagName.toUpperCase()==="SELECT")&&(l=ne(l,i.draggable,r,!1),!(l&&l.animated)&&st!==l)){if(Oe=B(l),Ge=B(l,i.draggable),typeof u=="function"){if(u.call(this,e,l,this)){Y({sortable:t,rootEl:c,name:"filter",targetEl:l,toEl:r,fromEl:r}),K("filter",t,{evt:e}),o&&e.cancelable&&e.preventDefault();return}}else if(u&&(u=u.split(",").some(function(h){if(h=ne(c,h.trim(),r,!1),h)return Y({sortable:t,rootEl:h,name:"filter",targetEl:l,fromEl:r,toEl:r}),K("filter",t,{evt:e}),!0}),u)){o&&e.cancelable&&e.preventDefault();return}i.handle&&!ne(c,i.handle,r,!1)||this._prepareDragStart(e,a,l)}}},_prepareDragStart:function(e,t,r){var i=this,o=i.el,s=i.options,a=o.ownerDocument,l;if(r&&!f&&r.parentNode===o){var c=M(r);if(A=o,f=r,k=f.parentNode,Ce=f.nextSibling,st=r,at=s.group,v.dragged=f,xe={target:f,clientX:(t||e).clientX,clientY:(t||e).clientY},Rr=xe.clientX-c.left,Lr=xe.clientY-c.top,this._lastX=(t||e).clientX,this._lastY=(t||e).clientY,f.style["will-change"]="all",l=function(){if(K("delayEnded",i,{evt:e}),v.eventCanceled){i._onDrop();return}i._disableDelayedDragEvents(),!xr&&i.nativeDraggable&&(f.draggable=!0),i._triggerDragStart(e,t),Y({sortable:i,name:"choose",originalEvent:e}),L(f,s.chosenClass,!0)},s.ignore.split(",").forEach(function(u){Ar(f,u.trim(),Yt)}),T(a,"dragover",_e),T(a,"mousemove",_e),T(a,"touchmove",_e),T(a,"mouseup",i._onDrop),T(a,"touchend",i._onDrop),T(a,"touchcancel",i._onDrop),xr&&this.nativeDraggable&&(this.options.touchStartThreshold=4,f.draggable=!0),K("delayStart",this,{evt:e}),s.delay&&(!s.delayOnTouchOnly||t)&&(!this.nativeDraggable||!(Be||be))){if(v.eventCanceled){this._onDrop();return}T(a,"mouseup",i._disableDelayedDrag),T(a,"touchend",i._disableDelayedDrag),T(a,"touchcancel",i._disableDelayedDrag),T(a,"mousemove",i._delayedDragTouchMoveHandler),T(a,"touchmove",i._delayedDragTouchMoveHandler),s.supportPointer&&T(a,"pointermove",i._delayedDragTouchMoveHandler),i._dragStartTimer=setTimeout(l,s.delay)}else l()}},_delayedDragTouchMoveHandler:function(e){var t=e.touches?e.touches[0]:e;Math.max(Math.abs(t.clientX-this._lastX),Math.abs(t.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){f&&Yt(f),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var e=this.el.ownerDocument;w(e,"mouseup",this._disableDelayedDrag),w(e,"touchend",this._disableDelayedDrag),w(e,"touchcancel",this._disableDelayedDrag),w(e,"mousemove",this._delayedDragTouchMoveHandler),w(e,"touchmove",this._delayedDragTouchMoveHandler),w(e,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(e,t){t=t||e.pointerType=="touch"&&e,!this.nativeDraggable||t?this.options.supportPointer?T(document,"pointermove",this._onTouchMove):t?T(document,"touchmove",this._onTouchMove):T(document,"mousemove",this._onTouchMove):(T(f,"dragend",this),T(A,"dragstart",this._onDragStart));try{document.selection?mt(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch(r){}},_dragStarted:function(e,t){if(Fe=!1,A&&f){K("dragStarted",this,{evt:t}),this.nativeDraggable&&T(document,"dragover",gi);var r=this.options;!e&&L(f,r.dragClass,!1),L(f,r.ghostClass,!0),v.active=this,e&&this._appendGhost(),Y({sortable:this,name:"start",originalEvent:t})}else this._nulling()},_emulateDragOver:function(){if(ie){this._lastX=ie.clientX,this._lastY=ie.clientY,$r();for(var e=document.elementFromPoint(ie.clientX,ie.clientY),t=e;e&&e.shadowRoot&&(e=e.shadowRoot.elementFromPoint(ie.clientX,ie.clientY),e!==t);)t=e;if(f.parentNode[$]._isOutsideThisEl(e),t)do{if(t[$]){var r=void 0;if(r=t[$]._onDragOver({clientX:ie.clientX,clientY:ie.clientY,target:e,rootEl:t}),r&&!this.options.dragoverBubble)break}e=t}while(t=t.parentNode);Gr()}},_onTouchMove:function(e){if(xe){var t=this.options,r=t.fallbackTolerance,i=t.fallbackOffset,o=e.touches?e.touches[0]:e,s=S&&De(S,!0),a=S&&s&&s.a,l=S&&s&&s.d,c=pt&&G&&Fr(G),u=(o.clientX-xe.clientX+i.x)/(a||1)+(c?c[0]-$t[0]:0)/(a||1),h=(o.clientY-xe.clientY+i.y)/(l||1)+(c?c[1]-$t[1]:0)/(l||1);if(!v.active&&!Fe){if(r&&Math.max(Math.abs(o.clientX-this._lastX),Math.abs(o.clientY-this._lastY))=0&&(Y({rootEl:k,name:"add",toEl:k,fromEl:A,originalEvent:e}),Y({sortable:this,name:"remove",toEl:k,originalEvent:e}),Y({rootEl:k,name:"sort",toEl:k,fromEl:A,originalEvent:e}),Y({sortable:this,name:"sort",toEl:k,originalEvent:e})),j&&j.save()):q!==Oe&&q>=0&&(Y({sortable:this,name:"update",toEl:k,originalEvent:e}),Y({sortable:this,name:"sort",toEl:k,originalEvent:e})),v.active&&((q==null||q===-1)&&(q=Oe,we=Ge),Y({sortable:this,name:"end",toEl:k,originalEvent:e}),this.save()))),this._nulling()},_nulling:function(){K("nulling",this),A=f=k=S=Ce=P=st=Se=xe=ie=Ye=q=we=Oe=Ge=Ne=Xe=j=at=v.dragged=v.ghost=v.clone=v.active=null,dt.forEach(function(e){e.checked=!0}),dt.length=Wt=jt=0},handleEvent:function(e){switch(e.type){case"drop":case"dragend":this._onDrop(e);break;case"dragenter":case"dragover":f&&(this._onDragOver(e),mi(e));break;case"selectstart":e.preventDefault();break}},toArray:function(){for(var e=[],t,r=this.el.children,i=0,o=r.length,s=this.options;ir.right+i||n.clientX<=r.right&&n.clientY>r.bottom&&n.clientX>=r.left:n.clientX>r.right&&n.clientY>r.top||n.clientX<=r.right&&n.clientY>r.bottom+i}function Ei(n,e,t,r,i,o,s,a){var l=r?n.clientY:n.clientX,c=r?t.height:t.width,u=r?t.top:t.left,h=r?t.bottom:t.right,d=!1;if(!s){if(a&&htu+c*o/2:lh-ht)return-Xe}else if(l>u+c*(1-i)/2&&lh-c*o/2)?l>u+c/2?1:-1:0}function Si(n){return B(f)1&&(E.forEach(function(a){o.addAnimationState({target:a,rect:z?M(a):s}),Bt(a),a.fromRect=s,r.removeAnimationState(a)}),z=!1,Ci(!this.options.removeCloneOnHide,i))},dragOverCompleted:function(t){var r=t.sortable,i=t.isOwner,o=t.insertion,s=t.activeSortable,a=t.parentEl,l=t.putSortable,c=this.options;if(o){if(i&&s._hideClone(),qe=!1,c.animation&&E.length>1&&(z||!i&&!s.options.sort&&!l)){var u=M(I,!1,!0,!0);E.forEach(function(d){d!==I&&(Pr(d,u),a.appendChild(d))}),z=!0}if(!i)if(z||Et(),E.length>1){var h=yt;s._showClone(r),s.options.animation&&!yt&&h&&Q.forEach(function(d){s.addAnimationState({target:d,rect:Qe}),d.fromRect=Qe,d.thisAnimationDuration=null})}else s._showClone(r)}},dragOverAnimationCapture:function(t){var r=t.dragRect,i=t.isOwner,o=t.activeSortable;if(E.forEach(function(a){a.thisAnimationDuration=null}),o.options.animation&&!i&&o.multiDrag.isMultiDrag){Qe=re({},r);var s=De(I,!0);Qe.top-=s.f,Qe.left-=s.e}},dragOverAnimationComplete:function(){z&&(z=!1,Et())},drop:function(t){var r=t.originalEvent,i=t.rootEl,o=t.parentEl,s=t.sortable,a=t.dispatchSortableEvent,l=t.oldIndex,c=t.putSortable,u=c||this.sortable;if(!!r){var h=this.options,d=o.children;if(!ke)if(h.multiDragKey&&!this.multiDragKeyDown&&this._deselectMultiDrag(),L(I,h.selectedClass,!~E.indexOf(I)),~E.indexOf(I))E.splice(E.indexOf(I),1),Ue=null,$e({sortable:s,rootEl:i,name:"deselect",targetEl:I,originalEvt:r});else{if(E.push(I),$e({sortable:s,rootEl:i,name:"select",targetEl:I,originalEvt:r}),r.shiftKey&&Ue&&s.el.contains(Ue)){var p=B(Ue),g=B(I);if(~p&&~g&&p!==g){var b,C;for(g>p?(C=p,b=g):(C=g,b=p+1);C1){var O=M(I),_=B(I,":not(."+this.options.selectedClass+")");if(!qe&&h.animation&&(I.thisAnimationDuration=null),u.captureAnimationState(),!qe&&(h.animation&&(I.fromRect=O,E.forEach(function(D){if(D.thisAnimationDuration=null,D!==I){var J=z?M(D):O;D.fromRect=J,u.addAnimationState({target:D,rect:J})}})),Et(),E.forEach(function(D){d[_]?o.insertBefore(D,d[_]):o.appendChild(D),_++}),l===B(I))){var F=!1;E.forEach(function(D){if(D.sortableIndex!==B(D)){F=!0;return}}),F&&a("update")}E.forEach(function(D){Bt(D)}),u.animateAll()}oe=u}(i===o||c&&c.lastPutMode!=="clone")&&Q.forEach(function(D){D.parentNode&&D.parentNode.removeChild(D)})}},nullingGlobal:function(){this.isMultiDrag=ke=!1,Q.length=0},destroyGlobal:function(){this._deselectMultiDrag(),w(document,"pointerup",this._deselectMultiDrag),w(document,"mouseup",this._deselectMultiDrag),w(document,"touchend",this._deselectMultiDrag),w(document,"keydown",this._checkKeyDown),w(document,"keyup",this._checkKeyUp)},_deselectMultiDrag:function(t){if(!(typeof ke!="undefined"&&ke)&&oe===this.sortable&&!(t&&ne(t.target,this.options.draggable,this.sortable.el,!1))&&!(t&&t.button!==0))for(;E.length;){var r=E[0];L(r,this.options.selectedClass,!1),E.shift(),$e({sortable:this.sortable,rootEl:this.sortable.el,name:"deselect",targetEl:r,originalEvt:t})}},_checkKeyDown:function(t){t.key===this.options.multiDragKey&&(this.multiDragKeyDown=!0)},_checkKeyUp:function(t){t.key===this.options.multiDragKey&&(this.multiDragKeyDown=!1)}},re(n,{pluginName:"multiDrag",utils:{select:function(t){var r=t.parentNode[$];!r||!r.options.multiDrag||~E.indexOf(t)||(oe&&oe!==r&&(oe.multiDrag._deselectMultiDrag(),oe=r),L(t,r.options.selectedClass,!0),E.push(t))},deselect:function(t){var r=t.parentNode[$],i=E.indexOf(t);!r||!r.options.multiDrag||!~i||(L(t,r.options.selectedClass,!1),E.splice(i,1))}},eventProperties:function(){var t=this,r=[],i=[];return E.forEach(function(o){r.push({multiDragElement:o,index:o.sortableIndex});var s;z&&o!==I?s=-1:z?s=B(o,":not(."+t.options.selectedClass+")"):s=B(o),i.push({multiDragElement:o,index:s})}),{items:Qn(E),clones:[].concat(Q),oldIndicies:r,newIndicies:i}},optionListeners:{multiDragKey:function(t){return t=t.toLowerCase(),t==="ctrl"?t="Control":t.length>1&&(t=t.charAt(0).toUpperCase()+t.substr(1)),t}}})}function Ci(n,e){E.forEach(function(t,r){var i=e.children[t.sortableIndex+(n?Number(r):0)];i?e.insertBefore(t,i):e.appendChild(t)})}function Kr(n,e){Q.forEach(function(t,r){var i=e.children[t.sortableIndex+(n?Number(r):0)];i?e.insertBefore(t,i):e.appendChild(t)})}function Et(){E.forEach(function(n){n!==I&&n.parentNode&&n.parentNode.removeChild(n)})}v.mount(new Di);v.mount(Jt,Qt);var Ie=v;var Je=Tt(require("obsidian")),zr=new Intl.Collator(void 0,{usage:"sort",sensitivity:"base",numeric:!0}).compare;var Ur=i18next.t.bind(i18next),xi="up-and-down-arrows",_i={alphabetical:"plugins.file-explorer.label-sort-a-to-z",alphabeticalReverse:"plugins.file-explorer.label-sort-z-to-a",byModifiedTime:"plugins.file-explorer.label-sort-new-to-old",byModifiedTimeReverse:"plugins.file-explorer.label-sort-old-to-new",byCreatedTime:"plugins.file-explorer.label-sort-created-new-to-old",byCreatedTimeReverse:"plugins.file-explorer.label-sort-created-old-to-new",custom:"Custom"},Ii=[["alphabetical","alphabeticalReverse"],["byModifiedTime","byModifiedTimeReverse"],["byCreatedTime","byCreatedTimeReverse"],["custom"]],qr=function(n,e){let t=this.fileExplorer,r=this.file.children.slice();r.sort(function(i,o){let s,a;if(e&&((s=i instanceof Je.TFolder)||(a=o instanceof Je.TFolder)))return s&&!a?1:a&&!s?-1:zr(i.name,o.name);{if(!n)return zr(i.name,o.name);let l=n.indexOf(i.path),c=n.indexOf(o.path);return(l>-1?l:1/0)-(c>-1?c:1/0)}}),this.children=r.map(i=>t.fileItems[i.path]).filter(i=>i)},Qr=function(n,e){let t=this,r=this.addNavButton(xi,Ur("plugins.file-explorer.action-change-sort"),function(i){i.preventDefault();let o=new Je.Menu(t.app);for(let s=e(),a=0,l=Ii;a{r.setAttribute("data-sort-method",e())},100),this.addNavButton("three-horizontal-bars","Drag to rearrange",function(i){i.preventDefault();let o=!this.hasClass("is-active");this.toggleClass("is-active",o),t.app.workspace.trigger("file-explorer-draggable-change",o)}).addClass("drag-to-rearrange"),this.addNavButton("search","Filter items",function(i){var a,l;i.preventDefault();let o=!this.hasClass("is-active");this.toggleClass("is-active",o);let s=document.body.querySelector('.workspace-leaf-content[data-type="file-explorer"] .search-input-container > input');s&&!o?((a=s.parentElement)==null||a.hide(),s.value="",s.dispatchEvent(new Event("input"))):((l=s==null?void 0:s.parentElement)==null||l.show(),s==null||s.focus()),t.app.workspace.trigger("file-explorer-draggable-change",o)}),r};var Pe=Tt(require("obsidian")),Jr={statusBarOrder:[],ribbonBarOrder:[],fileExplorerOrder:{},actionBarOrder:{},autoHide:!1,autoHideDelay:2e3,dragDelay:200},Zt=class extends Pe.PluginSettingTab{constructor(e,t){super(e,t);this.plugin=t}hide(){}display(){let{containerEl:e}=this;e.empty(),new Pe.Setting(e).setName("Auto Collapse").setDesc("Automatically hide ribbon and status bar items once your mouse leaves the icon container").addToggle(t=>t.setValue(this.plugin.settings.autoHide).onChange(r=>{this.plugin.settings.autoHide=r,this.plugin.saveSettings()})),new Pe.Setting(e).setName("Auto Collapse Delay").setDesc("How long to wait before auto collapsing hidden icons on the ribbon and status bar").addText(t=>{t.setPlaceholder(String(2e3)),t.inputEl.type="number",t.setValue(String(this.plugin.settings.autoHideDelay)),t.onChange(r=>ye(this,null,function*(){this.plugin.settings.autoHideDelay=Number(r),this.plugin.saveSettings()}))}),new Pe.Setting(e).setName("Drag Start Delay (ms)").setDesc("How long to wait before triggering the drag behavior after clicking. \u26A0\uFE0F Requires an app restart.").addText(t=>{t.setPlaceholder(String(200)),t.inputEl.type="number",t.setValue(String(this.plugin.settings.dragDelay)),t.onChange(r=>ye(this,null,function*(){this.plugin.settings.dragDelay=Number(r),this.plugin.saveSettings()}))})}};function Zr(n,e){for(var t=[];n=n.previousSibling;)n.nodeType!==3&&(!e||e(n))&&t.push(n);return t}function en(n,e){for(var t=[];n=n.nextSibling;)n.nodeType!==3&&(!e||e(n))&&t.push(n);return t}function tn(n,e){var i,o;let t=(e==null?void 0:e.useClass)?Array.from(n.classList).filter(s=>!s.startsWith("is-")).sort().join(" "):"",r=((e==null?void 0:e.useTag)?n.tagName:"")+((e==null?void 0:e.useClass)?t:"")+((e==null?void 0:e.useText)?n.textContent:"")+((e==null?void 0:e.useAria)?n.getAttr("aria-label"):"")+((e==null?void 0:e.useIcon)?(o=(i=n.querySelector("svg"))==null?void 0:i.className)==null?void 0:o.baseVal:"");return Mi(r)}var Mi=function(n,e=0){let t=3735928559^e,r=1103547991^e;for(let i=0,o;i>>16,2246822507)^Math.imul(r^r>>>13,3266489909),r=Math.imul(r^r>>>16,2246822507)^Math.imul(t^t>>>13,3266489909),4294967296*(2097151&r)+(t>>>0).toString()};function St(n,e,t,r=1){return n.splice(t,0,...n.splice(e,r)),n}var wt=n=>{let e=[];return n.reduce((t,r)=>(r.children?r.children.length&&(e=[...e,...r.children]):t.push(r),t),[]).concat(e.length?wt(e):e)},rn=(n,e="suggestion-highlight")=>{let t=(i,o,s)=>{let a=o.split("."),l;for(l=0;lo.reduce((a,[l,c])=>(a[l]=`${a[l]}`,a[c]=`${a[c]}`,a),i.split("")).join("");return n.filter(({matches:i})=>i&&i.length).map(({item:i,matches:o})=>{let s=he({},i);return o.forEach(a=>{var l;s.titleInnerEl.origContent||(s.titleInnerEl.origContent=s.titleInnerEl.textContent),t(s,"titleInnerEl.innerHTML",r(a.value,a.indices)),(l=s.titleInnerEl)==null||l.addClass("has-matches")}),s})};function nn(n){return typeof n=="string"||n instanceof String?n.replace(/.md$/,""):n}function on(n,e){var t=le.config.getFn(n,e);return Array.isArray(t)?t.map(r=>nn(r)):nn(t)}Ie.mount(new Vr);var Ai="body > div.app-container div.status-bar",Oi="body > div.app-container div.side-dock-actions",so=(x.Platform.isMobile,200),Ze=500,er=class extends x.Plugin{constructor(){super(...arguments);this.fileExplorerFilter=function(){var t,r,i;if(!!((t=this==null?void 0:this.rootEl)==null?void 0:t.fileExplorer))if(((r=this.filter)==null?void 0:r.length)>=1){this.filtered||(this.rootEl._children=this.rootEl.children,this.filtered=!0);let o={includeScore:!0,includeMatches:!0,useExtendedSearch:!0,getFn:on,threshold:.1,ignoreLocation:!0,keys:["file.path"]},s=wt(this.rootEl._children),a=new le(s,o),l=200,c=a.search(this.filter).slice(0,l);this.rootEl.children=rn(c)}else((i=this.filter)==null?void 0:i.length)<1&&this.filtered&&(this.rootEl._children&&(this.rootEl.children=this.rootEl._children),wt(this.rootEl._children).map(s=>{s.titleInnerEl.origContent&&(s.titleInnerEl.setText(s.titleInnerEl.origContent),delete s.titleInnerEl.origContent,s.titleInnerEl.removeClass("has-matches"))}),this.filtered=!1)}}onload(){return ye(this,null,function*(){yield this.loadSettings(),this.registerMonkeyPatches(),this.registerEventHandlers(),this.registerSettingsTab(),this.initialize()})}loadSettings(){return ye(this,null,function*(){this.settings=Object.assign({},Jr,yield this.loadData())})}saveSettings(){return ye(this,null,function*(){yield this.saveData(this.settings)})}patchFileExplorerFolder(){let e=this,t=this.app.workspace.getLeaf(),r=this.app.viewRegistry.viewByType["file-explorer"](t),i=new x.TFolder(x.Vault,""),o=r.createFolderDom(i).constructor;this.register(ge(o.prototype,{sort(s){return function(...a){let l=e.settings.fileExplorerOrder[this.file.path];return this.fileExplorer.sortOrder==="custom"?qr.call(this,l,...a):s.call(this,...a)}}}))}initialize(){this.app.workspace.onLayoutReady(()=>{this.patchFileExplorerFolder(),setTimeout(()=>{if(x.Platform.isDesktop){this.insertSeparator(Ai,"status-bar-item",!0,16),this.setStatusBarSorter();let e=this.app.workspace.leftSplit.children,t=this.app.workspace.rightSplit.children;e.concat(t).forEach(r=>{r.hasOwnProperty("tabsInnerEl")&&!r.iconSorter&&(r.iconSorter=this.setTabBarSorter(r.tabsInnerEl,r))})}this.setFileExplorerSorter(),this.insertSeparator(Oi,"side-dock-ribbon-action",!1,18),this.setRibbonBarSorter(),this.app.workspace.iterateRootLeaves(e=>{var t,r;((t=e==null?void 0:e.view)==null?void 0:t.hasOwnProperty("actionsEl"))&&!((r=e==null?void 0:e.view)==null?void 0:r.hasOwnProperty("iconSorter"))&&(e.view.iconSorter=this.setViewActionSorter(e.view.actionsEl,e.view))})},x.Platform.isMobile?3e3:400)})}registerSettingsTab(){this.settingsTab=new Zt(this.app,this),this.addSettingTab(this.settingsTab)}clearFileExplorerFilter(){let e=this.getFileExplorer(),t=document.body.querySelector('.workspace-leaf-content[data-type="file-explorer"] .search-input-container > input');t&&(t.value=""),e.dom.infinityScroll.filter="",e.dom.infinityScroll.compute()}registerEventHandlers(){this.registerEvent(this.app.workspace.on("file-explorer-draggable-change",e=>{this.toggleFileExplorerSorters(e)})),this.registerEvent(this.app.workspace.on("file-explorer-sort-change",e=>{e==="custom"?setTimeout(()=>{this.setFileExplorerSorter()},10):this.cleanupFileExplorerSorters()})),this.registerEvent(this.app.workspace.on("file-explorer-load",e=>{setTimeout(()=>{this.setFileExplorerSorter(e)},1e3)})),this.registerEvent(this.app.workspace.on("bartender-leaf-split",(e,t)=>{let r=t.tabsInnerEl;t.type==="tabs"&&t instanceof x.WorkspaceTabs&&this.setTabBarSorter(r,t)})),this.registerEvent(this.app.workspace.on("ribbon-bar-updated",()=>{setTimeout(()=>{this.settings.ribbonBarOrder&&this.ribbonBarSorter&&(this.setElementIDs(this.ribbonBarSorter.el,{useClass:!0,useAria:!0,useIcon:!0}),this.ribbonBarSorter.sort(this.settings.ribbonBarOrder))},0)})),this.registerEvent(this.app.workspace.on("status-bar-updated",()=>{setTimeout(()=>{this.settings.statusBarOrder&&this.statusBarSorter&&(this.setElementIDs(this.statusBarSorter.el,{useClass:!0,useIcon:!0}),this.statusBarSorter.sort(this.settings.statusBarOrder))},0)}))}registerMonkeyPatches(){let e=this;if(this.register(ge(this.app.viewRegistry.constructor.prototype,{registerView(t){return function(r,i,...o){return e.app.workspace.trigger("view-registered",r,i),t.call(this,r,i,...o)}}})),this.app.workspace.layoutReady){let t=this.getFileExplorer();this.patchFileExplorer(t)}else{let t=this.app.workspace.on("view-registered",(r,i)=>{if(r!=="file-explorer")return;this.app.workspace.offref(t);let o=new x.WorkspaceLeaf(e.app),s=i(o);this.patchFileExplorer(s)})}this.register(ge(x.View.prototype,{onunload(t){return function(...r){try{this.iconSorter&&(this.iconSorter.destroy(),this.iconSorter=null)}catch(i){}return t.call(this,...r)}},onload(t){return function(...r){return setTimeout(()=>{if(this.app.workspace.layoutReady)try{this.leaf.parentSplit instanceof x.WorkspaceTabs||this.hasOwnProperty("actionsEl")&&!this.iconSorter&&(this.iconSorter=e.setViewActionSorter(this.actionsEl,this))}catch(i){}},200),t.call(this,...r)}}})),x.Platform.isDesktop&&this.register(ge(HTMLDivElement.prototype,{addEventListener(t){return function(r,i,o){if(r==="mousedown"&&i instanceof Function&&this.hasClass("workspace-tab-header")){let a=i;i=l=>{l instanceof MouseEvent&&((l==null?void 0:l.altKey)||(l==null?void 0:l.metaKey))||a(l)}}return t.call(this,r,i,o)}}})),this.register(ge(x.Workspace.prototype,{splitLeaf(t){return function(r,i,o,s,...a){let l=t.call(this,r,i,o,s,...a);return this.trigger("bartender-leaf-split",r,i),l}},changeLayout(t){return function(r,...i){return ye(this,null,function*(){let o=yield t.call(this,r,...i);return this.trigger("bartender-workspace-change"),o})}}})),this.register(ge(x.Plugin.prototype,{addStatusBarItem(t){return function(...r){let i=t.call(this,...r);return this.app.workspace.trigger("status-bar-updated"),i}},addRibbonIcon(t){return function(...r){let i=t.call(this,...r);return this.app.workspace.trigger("ribbon-bar-updated"),i}}}))}patchFileExplorer(e){let t=this;if(e){let r=e.dom.infinityScroll.constructor;this.register(()=>this.clearFileExplorerFilter()),this.register(ge(r.prototype,{compute(i){return function(...o){try{this.scrollEl.hasClass("nav-files-container")&&t.fileExplorerFilter.call(this)}catch(a){}return i.call(this,...o)}}})),this.register(ge(e.headerDom.constructor.prototype,{addSortButton(i){return function(...o){var s,a,l;return((l=(a=(s=this.navHeaderEl)==null?void 0:s.parentElement)==null?void 0:a.dataset)==null?void 0:l.type)==="file-explorer"?(t.setFileExplorerFilter(this),Qr.call(this,...o)):i.call(this,...o)}}}))}}insertSeparator(e,t,r,i=16){document.body.querySelectorAll(e).forEach(s=>{let a=r?Zr:en;if(s){let l=s.createDiv(`${t} separator`);r&&s.prepend(l);let c=l.createDiv("glyph");(0,x.setIcon)(c,"plus-with-circle",i),l.addClass("is-collapsed"),this.register(()=>l.detach());let h;l.onClickEvent(d=>{l.hasClass("is-collapsed")?(Array.from(s.children).forEach(p=>p.removeClass("is-hidden")),l.removeClass("is-collapsed")):(a(l).forEach(p=>p.addClass("is-hidden")),l.addClass("is-collapsed"))}),s.onmouseenter=d=>{h&&clearTimeout(h)},s.onmouseleave=d=>{this.settings.autoHide&&(h=setTimeout(()=>{a(l).forEach(p=>p.addClass("is-hidden")),l.addClass("is-collapsed")},this.settings.autoHideDelay))},setTimeout(()=>{a(l).forEach(d=>d.addClass("is-hidden")),l.addClass("is-collapsed")},0)}})}setElementIDs(e,t){Array.from(e.children).forEach(r=>{r instanceof HTMLElement&&(r.getAttribute("data-id")||r.setAttribute("data-id",tn(r,t)))})}setTabBarSorter(e,t){return this.setElementIDs(e,{useClass:!0,useIcon:!0}),Ie.create(e,{group:"leftTabBar",dataIdAttr:"data-id",delay:x.Platform.isMobile?200:this.settings.dragDelay,dropBubble:!1,dragoverBubble:!1,animation:Ze,onChoose:()=>{var i;return(i=e.parentElement)==null?void 0:i.addClass("is-dragging")},onUnchoose:()=>{var i;return(i=e.parentElement)==null?void 0:i.removeClass("is-dragging")},onStart:()=>{var i;document.body.addClass("is-dragging"),(i=e.querySelector(".separator"))==null||i.removeClass("is-collapsed"),Array.from(e.children).forEach(o=>o.removeClass("is-hidden"))},onEnd:i=>{document.body.removeClass("is-dragging"),i.oldIndex!==void 0&&i.newIndex!==void 0&&(St(t.children,i.oldIndex,i.newIndex),t.currentTab=i.newIndex,t.recomputeChildrenDimensions()),this.app.workspace.requestSaveLayout()}})}setStatusBarSorter(){let e=document.body.querySelector("body > div.app-container > div.status-bar");e&&(this.setElementIDs(e,{useClass:!0,useAria:!0,useIcon:!0}),this.statusBarSorter=Ie.create(e,{group:"statusBar",dataIdAttr:"data-id",delay:x.Platform.isMobile?200:this.settings.dragDelay,animation:Ze,onChoose:()=>{Array.from(e.children).forEach(t=>t.removeClass("is-hidden"))},onStart:()=>{var t;(t=e.querySelector(".separator"))==null||t.removeClass("is-collapsed"),Array.from(e.children).forEach(r=>r.removeClass("is-hidden"))},store:{get:t=>this.settings.statusBarOrder,set:t=>{this.settings.statusBarOrder=t.toArray(),this.saveSettings()}}}))}setViewActionSorter(e,t){if(this.setElementIDs(e,{useClass:!0,useIcon:!0}),Object.values(e).find(s=>s==null?void 0:s.hasOwnProperty("nativeDraggable")))return;let i=(t==null?void 0:t.getViewType())||"unknown";return new Ie(e,{group:"actionBar",dataIdAttr:"data-id",delay:x.Platform.isMobile?200:this.settings.dragDelay,sort:!0,animation:Ze,onStart:()=>{var s;(s=e.querySelector(".separator"))==null||s.removeClass("is-collapsed"),Array.from(e.children).forEach(a=>a.removeClass("is-hidden"))},store:{get:()=>this.settings.actionBarOrder[i],set:s=>{this.settings.actionBarOrder[i]=s.toArray(),this.saveSettings()}}})}setRibbonBarSorter(){let e=document.body.querySelector("body > div.app-container div.side-dock-actions");e&&(this.setElementIDs(e,{useClass:!0,useAria:!0,useIcon:!0}),this.ribbonBarSorter=Ie.create(e,{group:"ribbonBar",dataIdAttr:"data-id",delay:x.Platform.isMobile?200:this.settings.dragDelay,animation:Ze,onChoose:()=>{Array.from(e.children).forEach(t=>t.removeClass("is-hidden"))},onStart:()=>{var t;(t=e.querySelector(".separator"))==null||t.removeClass("is-collapsed"),Array.from(e.children).forEach(r=>r.removeClass("is-hidden"))},store:{get:t=>this.settings.ribbonBarOrder,set:t=>{this.settings.ribbonBarOrder=t.toArray(),this.saveSettings()}}}))}setFileExplorerFilter(e){let t=e.navHeaderEl;if(t){let r=t.createDiv("search-input-container");t.insertAdjacentElement("afterend",r);let i=r.createEl("input");i.placeholder="Type to filter...",i.type="text",r.hide(),i.oninput=s=>{let a=this.getFileExplorer();s.target instanceof HTMLInputElement&&(s.target.value.length?o.show():o.hide(),a.dom.infinityScroll.filter=s.target.value),a.dom.infinityScroll.compute()};let o=r.createDiv("search-input-clear-button",function(s){s.addEventListener("click",function(){i.value="",o.hide(),i.focus(),i.dispatchEvent(new Event("input"))}),s.hide()})}}setFileExplorerSorter(e){var r;if(e||(e=this.getFileExplorer()),!e||e.sortOrder!=="custom"||e.hasCustomSorter)return;let t=this.getRootFolders(e);if(!(!t||!t.length))for(let i of t){let o=i==null?void 0:i.childrenEl;if(!o)continue;let s;e.hasCustomSorter=!0;let a=!!((r=document.body.querySelector("div.nav-action-button.drag-to-rearrange"))==null?void 0:r.hasClass("is-active"));i.sorter=Ie.create(o,{group:"fileExplorer"+i.file.path,multiDrag:!0,multiDragKey:"alt",delay:x.Platform.isMobile?200:this.settings.dragDelay,sort:a,animation:Ze,onStart:l=>{l.items.length?s=l.items:s=[l.item]},onMove:l=>{if(!i.children||!(s==null?void 0:s.length))return;let c=i.children.map(b=>b.el),u=l.related,h=c.indexOf(u),d=s.first(),p=c.indexOf(d),g=s.slice();p>h&&g.reverse();for(let b of g){let C=c.indexOf(b);i.children=St(i.children,C,h),c=St(c,C,h)}this.settings.fileExplorerOrder[i.file.path]=i.children.map(b=>b.file.path),this.saveSettings()},onEnd:l=>{var c;s=[],(c=document.querySelector("body>div.drag-ghost"))==null||c.detach()}})}}getFileExplorer(){var t,r;return(r=(t=this.app.workspace.getLeavesOfType("file-explorer"))==null?void 0:t.first())==null?void 0:r.view}getRootFolders(e){var i,o;if(e||(e=this.getFileExplorer()),!e)return;let t=(o=(i=e.dom)==null?void 0:i.infinityScroll)==null?void 0:o.rootEl;return t&&this.traverseRoots(t)}traverseRoots(e,t){t||(t=[e]);for(let r of e.children||[])r.children&&t.push(r),this.traverseRoots(r,t);return t}toggleFileExplorerSorters(e){let t=this.getFileExplorer(),r=this.getRootFolders(t);if(r==null?void 0:r.length)for(let i of r)i.sorter&&i.sorter.option("sort",e)}cleanupFileExplorerSorters(){let e=this.getFileExplorer(),t=this.getRootFolders(e);if(t==null?void 0:t.length)for(let r of t)r.sorter&&(r.sorter.destroy(),delete r.sorter,Object.keys(r.childrenEl).forEach(i=>i.startsWith("Sortable")&&delete r.childrenEl[i]),r.childrenEl.querySelectorAll("div.nav-file-title").forEach(i=>i.draggable=!0),r.childrenEl.querySelectorAll("div.nav-folder-title").forEach(i=>i.draggable=!0));delete e.hasCustomSorter}onunload(){var e,t;(e=this.statusBarSorter)==null||e.destroy(),(t=this.ribbonBarSorter)==null||t.destroy(),this.app.workspace.iterateAllLeaves(r=>{var o,s,a;let i;if((i=(r==null?void 0:r.iconSorter)?r:!1)||(i=((o=r==null?void 0:r.view)==null?void 0:o.iconSorter)?r.view:!1)||(i=(r==null?void 0:r.parentSplit)instanceof x.WorkspaceTabs&&((s=r==null?void 0:r.parentSplit)==null?void 0:s.iconSorter)?r==null?void 0:r.parentSplit:!1))try{(a=i.iconSorter)==null||a.destroy()}catch(l){}finally{delete i.iconSorter}}),this.cleanupFileExplorerSorters()}}; -/**! - * Sortable 1.14.0 - * @author RubaXa - * @author owenm - * @license MIT - */ diff --git a/.obsidian/plugins/obsidian-bartender/manifest.json b/.obsidian/plugins/obsidian-bartender/manifest.json deleted file mode 100644 index d559f3f..0000000 --- a/.obsidian/plugins/obsidian-bartender/manifest.json +++ /dev/null @@ -1 +0,0 @@ -{"id":"obsidian-bartender","name":"Bartender","version":"0.5.2","minAppVersion":"0.12.5","description":"Allows for rearranging the elements in the status bar and sidebar ribbon","author":"NothingIsLost","authorUrl":"https://github.com/nothingislost","isDesktopOnly":false} \ No newline at end of file diff --git a/.obsidian/plugins/obsidian-bartender/styles.css b/.obsidian/plugins/obsidian-bartender/styles.css deleted file mode 100644 index 82e04bd..0000000 --- a/.obsidian/plugins/obsidian-bartender/styles.css +++ /dev/null @@ -1,140 +0,0 @@ -:root { - --left-indicator: url('data:image/svg+xml;utf8,'); - --right-indicator: url('data:image/svg+xml;utf8,'); - --up-indicator: url('data:image/svg+xml;utf8,'); - --down-indicator: url('data:image/svg+xml;utf8,'); -} - -.side-dock-actions .sortable-ghost, -.status-bar .sortable-ghost, -.view-actions .sortable-ghost, -.workspace-tab-header-container .sortable-ghost { - visibility: hidden; -} - -.side-dock-ribbon div.separator { - cursor: grab; - padding: 0px 4px; - display: flex; - place-items: center; - justify-content: center; - height: 1em; -} - -div.separator svg { - background-color: currentColor; -} - -.side-dock-ribbon div.separator .glyph { - /* margin-top: -4px; */ - display: flex; - align-self: flex-end; -} - -.side-dock-ribbon div.separator:hover { - /* some themes highlight the hovered icon and it looks bad on the separator */ - background: none; -} - -.side-dock-ribbon div.separator svg { - -webkit-mask-image: var(--up-indicator); -} -.side-dock-ribbon div.separator.is-collapsed.sortable-chosen svg { - /* so that the icon updates to show the expand icon on drag start */ - -webkit-mask-image: var(--up-indicator); -} -.side-dock-ribbon div.separator.is-collapsed svg { - -webkit-mask-image: var(--down-indicator); -} - -/* for minimal floating ribbon support */ - -.hider-ribbon .side-dock-ribbon div.separator { - height: 26px; -} - -.hider-ribbon .side-dock-ribbon div.separator .glyph { - display: flex; - align-self: flex-end; -} -.hider-ribbon .side-dock-ribbon div.separator svg { - -webkit-mask-image: var(--left-indicator); -} -.hider-ribbon .side-dock-ribbon div.separator.is-collapsed.sortable-chosen svg { - /* so that the icon updates to show the expand icon on drag start */ - -webkit-mask-image: var(--left-indicator); -} -.hider-ribbon .side-dock-ribbon div.separator.is-collapsed svg { - -webkit-mask-image: var(--right-indicator); -} - -.view-actions div.separator.is-collapsed { - transform: rotateY(180deg); -} - -.status-bar .is-hidden, -.side-dock-ribbon .is-hidden, -.view-actions .is-hidden { - /* if you're mad about this !important - set the --is-hidden-display variable to override it */ - --is-hidden-display: none; - display: var(--is-hidden-display) !important; -} - -.status-bar div.separator { - --cursor: grab; /* to deal with minimal theme */ - cursor: grab; - padding: 0px 4px; - display: flex; - align-items: center; - /* line-height: 1; */ -} - -.status-bar div.separator .glyph { - display: flex; -} - -.status-bar div.separator svg, -.status-bar div.separator.is-collapsed.sortable-chosen svg { - -webkit-mask-image: var(--right-indicator); -} - -.status-bar div.separator.is-collapsed svg { - -webkit-mask-image: var(--left-indicator); -} - -.side-dock-ribbon div.side-dock-ribbon-action.sortable-chosen, -.side-dock-ribbon div.separator.sortable-chosen, -.status-bar div.separator.sortable-chosen { - --cursor: grabbing; - cursor: grabbing; -} - -body.is-dragging .tooltip { - display: none; -} - -.workspace-tab-header-container.is-dragging .workspace-tab-header, -.workspace-tab-header-container.is-dragging .workspace-tab-container-before, -.workspace-tab-header-container.is-dragging .workspace-tab-container-after { - background: none; -} -.workspace-tab-header-container.is-dragging .workspace-tab-header-inner-icon:hover { - background: none; -} - -.workspace-leaf-content[data-type="file-explorer"] .nav-header .search-input-container { - display: none; -} - -.workspace-leaf-content[data-type="file-explorer"] .nav-header .search-input-container.is-active { - display: block; -} - -div.nav-action-button[data-sort-method] + div.nav-action-button.drag-to-rearrange { - display: none; -} - -div.nav-action-button[data-sort-method="custom"] + div.nav-action-button.drag-to-rearrange { - display: block; -} diff --git a/.obsidian/plugins/obsidian-editing-toolbar/.github/FUNDING.yml b/.obsidian/plugins/obsidian-editing-toolbar/.github/FUNDING.yml deleted file mode 100644 index 8ca9748..0000000 --- a/.obsidian/plugins/obsidian-editing-toolbar/.github/FUNDING.yml +++ /dev/null @@ -1,6 +0,0 @@ -github: cumany -custom: - [ - "https://www.buymeacoffee.com/cuman", - "https://user-images.githubusercontent.com/42957010/172568261-8a732d3d-303a-4367-993e-23c3efbf62a8.png", - ] diff --git a/.obsidian/plugins/obsidian-editing-toolbar/.github/ISSUE_TEMPLATE/bug_report.md b/.obsidian/plugins/obsidian-editing-toolbar/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index dd84ea7..0000000 --- a/.obsidian/plugins/obsidian-editing-toolbar/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -name: Bug report -about: Create a report to help us improve -title: '' -labels: '' -assignees: '' - ---- - -**Describe the bug** -A clear and concise description of what the bug is. - -**To Reproduce** -Steps to reproduce the behavior: -1. Go to '...' -2. Click on '....' -3. Scroll down to '....' -4. See error - -**Expected behavior** -A clear and concise description of what you expected to happen. - -**Screenshots** -If applicable, add screenshots to help explain your problem. - -**Desktop (please complete the following information):** - - OS: [e.g. iOS] - - Browser [e.g. chrome, safari] - - Version [e.g. 22] - -**Smartphone (please complete the following information):** - - Device: [e.g. iPhone6] - - OS: [e.g. iOS8.1] - - Browser [e.g. stock browser, safari] - - Version [e.g. 22] - -**Additional context** -Add any other context about the problem here. diff --git a/.obsidian/plugins/obsidian-editing-toolbar/.github/ISSUE_TEMPLATE/feature_request.md b/.obsidian/plugins/obsidian-editing-toolbar/.github/ISSUE_TEMPLATE/feature_request.md deleted file mode 100644 index bbcbbe7..0000000 --- a/.obsidian/plugins/obsidian-editing-toolbar/.github/ISSUE_TEMPLATE/feature_request.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -name: Feature request -about: Suggest an idea for this project -title: '' -labels: '' -assignees: '' - ---- - -**Is your feature request related to a problem? Please describe.** -A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] - -**Describe the solution you'd like** -A clear and concise description of what you want to happen. - -**Describe alternatives you've considered** -A clear and concise description of any alternative solutions or features you've considered. - -**Additional context** -Add any other context or screenshots about the feature request here. diff --git a/.obsidian/plugins/obsidian-editing-toolbar/.gitignore b/.obsidian/plugins/obsidian-editing-toolbar/.gitignore deleted file mode 100644 index 0bbf403..0000000 --- a/.obsidian/plugins/obsidian-editing-toolbar/.gitignore +++ /dev/null @@ -1,22 +0,0 @@ -# Intellij -*.iml -.idea - -# npm -node_modules -package-lock.json - -# build -main.js -.DS_Store -*.js.map -.env - -# obsidian -data.json - -#history -.history - -#DS Store -.DS_Store diff --git a/.obsidian/plugins/obsidian-editing-toolbar/LICENSE b/.obsidian/plugins/obsidian-editing-toolbar/LICENSE deleted file mode 100644 index a612ad9..0000000 --- a/.obsidian/plugins/obsidian-editing-toolbar/LICENSE +++ /dev/null @@ -1,373 +0,0 @@ -Mozilla Public License Version 2.0 -================================== - -1. Definitions --------------- - -1.1. "Contributor" - means each individual or legal entity that creates, contributes to - the creation of, or owns Covered Software. - -1.2. "Contributor Version" - means the combination of the Contributions of others (if any) used - by a Contributor and that particular Contributor's Contribution. - -1.3. "Contribution" - means Covered Software of a particular Contributor. - -1.4. "Covered Software" - means Source Code Form to which the initial Contributor has attached - the notice in Exhibit A, the Executable Form of such Source Code - Form, and Modifications of such Source Code Form, in each case - including portions thereof. - -1.5. "Incompatible With Secondary Licenses" - means - - (a) that the initial Contributor has attached the notice described - in Exhibit B to the Covered Software; or - - (b) that the Covered Software was made available under the terms of - version 1.1 or earlier of the License, but not also under the - terms of a Secondary License. - -1.6. "Executable Form" - means any form of the work other than Source Code Form. - -1.7. "Larger Work" - means a work that combines Covered Software with other material, in - a separate file or files, that is not Covered Software. - -1.8. "License" - means this document. - -1.9. "Licensable" - means having the right to grant, to the maximum extent possible, - whether at the time of the initial grant or subsequently, any and - all of the rights conveyed by this License. - -1.10. "Modifications" - means any of the following: - - (a) any file in Source Code Form that results from an addition to, - deletion from, or modification of the contents of Covered - Software; or - - (b) any new file in Source Code Form that contains any Covered - Software. - -1.11. "Patent Claims" of a Contributor - means any patent claim(s), including without limitation, method, - process, and apparatus claims, in any patent Licensable by such - Contributor that would be infringed, but for the grant of the - License, by the making, using, selling, offering for sale, having - made, import, or transfer of either its Contributions or its - Contributor Version. - -1.12. "Secondary License" - means either the GNU General Public License, Version 2.0, the GNU - Lesser General Public License, Version 2.1, the GNU Affero General - Public License, Version 3.0, or any later versions of those - licenses. - -1.13. "Source Code Form" - means the form of the work preferred for making modifications. - -1.14. "You" (or "Your") - means an individual or a legal entity exercising rights under this - License. For legal entities, "You" includes any entity that - controls, is controlled by, or is under common control with You. For - purposes of this definition, "control" means (a) the power, direct - or indirect, to cause the direction or management of such entity, - whether by contract or otherwise, or (b) ownership of more than - fifty percent (50%) of the outstanding shares or beneficial - ownership of such entity. - -2. License Grants and Conditions --------------------------------- - -2.1. Grants - -Each Contributor hereby grants You a world-wide, royalty-free, -non-exclusive license: - -(a) under intellectual property rights (other than patent or trademark) - Licensable by such Contributor to use, reproduce, make available, - modify, display, perform, distribute, and otherwise exploit its - Contributions, either on an unmodified basis, with Modifications, or - as part of a Larger Work; and - -(b) under Patent Claims of such Contributor to make, use, sell, offer - for sale, have made, import, and otherwise transfer either its - Contributions or its Contributor Version. - -2.2. Effective Date - -The licenses granted in Section 2.1 with respect to any Contribution -become effective for each Contribution on the date the Contributor first -distributes such Contribution. - -2.3. Limitations on Grant Scope - -The licenses granted in this Section 2 are the only rights granted under -this License. No additional rights or licenses will be implied from the -distribution or licensing of Covered Software under this License. -Notwithstanding Section 2.1(b) above, no patent license is granted by a -Contributor: - -(a) for any code that a Contributor has removed from Covered Software; - or - -(b) for infringements caused by: (i) Your and any other third party's - modifications of Covered Software, or (ii) the combination of its - Contributions with other software (except as part of its Contributor - Version); or - -(c) under Patent Claims infringed by Covered Software in the absence of - its Contributions. - -This License does not grant any rights in the trademarks, service marks, -or logos of any Contributor (except as may be necessary to comply with -the notice requirements in Section 3.4). - -2.4. Subsequent Licenses - -No Contributor makes additional grants as a result of Your choice to -distribute the Covered Software under a subsequent version of this -License (see Section 10.2) or under the terms of a Secondary License (if -permitted under the terms of Section 3.3). - -2.5. Representation - -Each Contributor represents that the Contributor believes its -Contributions are its original creation(s) or it has sufficient rights -to grant the rights to its Contributions conveyed by this License. - -2.6. Fair Use - -This License is not intended to limit any rights You have under -applicable copyright doctrines of fair use, fair dealing, or other -equivalents. - -2.7. Conditions - -Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted -in Section 2.1. - -3. Responsibilities -------------------- - -3.1. Distribution of Source Form - -All distribution of Covered Software in Source Code Form, including any -Modifications that You create or to which You contribute, must be under -the terms of this License. You must inform recipients that the Source -Code Form of the Covered Software is governed by the terms of this -License, and how they can obtain a copy of this License. You may not -attempt to alter or restrict the recipients' rights in the Source Code -Form. - -3.2. Distribution of Executable Form - -If You distribute Covered Software in Executable Form then: - -(a) such Covered Software must also be made available in Source Code - Form, as described in Section 3.1, and You must inform recipients of - the Executable Form how they can obtain a copy of such Source Code - Form by reasonable means in a timely manner, at a charge no more - than the cost of distribution to the recipient; and - -(b) You may distribute such Executable Form under the terms of this - License, or sublicense it under different terms, provided that the - license for the Executable Form does not attempt to limit or alter - the recipients' rights in the Source Code Form under this License. - -3.3. Distribution of a Larger Work - -You may create and distribute a Larger Work under terms of Your choice, -provided that You also comply with the requirements of this License for -the Covered Software. If the Larger Work is a combination of Covered -Software with a work governed by one or more Secondary Licenses, and the -Covered Software is not Incompatible With Secondary Licenses, this -License permits You to additionally distribute such Covered Software -under the terms of such Secondary License(s), so that the recipient of -the Larger Work may, at their option, further distribute the Covered -Software under the terms of either this License or such Secondary -License(s). - -3.4. Notices - -You may not remove or alter the substance of any license notices -(including copyright notices, patent notices, disclaimers of warranty, -or limitations of liability) contained within the Source Code Form of -the Covered Software, except that You may alter any license notices to -the extent required to remedy known factual inaccuracies. - -3.5. Application of Additional Terms - -You may choose to offer, and to charge a fee for, warranty, support, -indemnity or liability obligations to one or more recipients of Covered -Software. However, You may do so only on Your own behalf, and not on -behalf of any Contributor. You must make it absolutely clear that any -such warranty, support, indemnity, or liability obligation is offered by -You alone, and You hereby agree to indemnify every Contributor for any -liability incurred by such Contributor as a result of warranty, support, -indemnity or liability terms You offer. You may include additional -disclaimers of warranty and limitations of liability specific to any -jurisdiction. - -4. Inability to Comply Due to Statute or Regulation ---------------------------------------------------- - -If it is impossible for You to comply with any of the terms of this -License with respect to some or all of the Covered Software due to -statute, judicial order, or regulation then You must: (a) comply with -the terms of this License to the maximum extent possible; and (b) -describe the limitations and the code they affect. Such description must -be placed in a text file included with all distributions of the Covered -Software under this License. Except to the extent prohibited by statute -or regulation, such description must be sufficiently detailed for a -recipient of ordinary skill to be able to understand it. - -5. Termination --------------- - -5.1. The rights granted under this License will terminate automatically -if You fail to comply with any of its terms. However, if You become -compliant, then the rights granted under this License from a particular -Contributor are reinstated (a) provisionally, unless and until such -Contributor explicitly and finally terminates Your grants, and (b) on an -ongoing basis, if such Contributor fails to notify You of the -non-compliance by some reasonable means prior to 60 days after You have -come back into compliance. Moreover, Your grants from a particular -Contributor are reinstated on an ongoing basis if such Contributor -notifies You of the non-compliance by some reasonable means, this is the -first time You have received notice of non-compliance with this License -from such Contributor, and You become compliant prior to 30 days after -Your receipt of the notice. - -5.2. If You initiate litigation against any entity by asserting a patent -infringement claim (excluding declaratory judgment actions, -counter-claims, and cross-claims) alleging that a Contributor Version -directly or indirectly infringes any patent, then the rights granted to -You by any and all Contributors for the Covered Software under Section -2.1 of this License shall terminate. - -5.3. In the event of termination under Sections 5.1 or 5.2 above, all -end user license agreements (excluding distributors and resellers) which -have been validly granted by You or Your distributors under this License -prior to termination shall survive termination. - -************************************************************************ -* * -* 6. Disclaimer of Warranty * -* ------------------------- * -* * -* Covered Software is provided under this License on an "as is" * -* basis, without warranty of any kind, either expressed, implied, or * -* statutory, including, without limitation, warranties that the * -* Covered Software is free of defects, merchantable, fit for a * -* particular purpose or non-infringing. The entire risk as to the * -* quality and performance of the Covered Software is with You. * -* Should any Covered Software prove defective in any respect, You * -* (not any Contributor) assume the cost of any necessary servicing, * -* repair, or correction. This disclaimer of warranty constitutes an * -* essential part of this License. No use of any Covered Software is * -* authorized under this License except under this disclaimer. * -* * -************************************************************************ - -************************************************************************ -* * -* 7. Limitation of Liability * -* -------------------------- * -* * -* Under no circumstances and under no legal theory, whether tort * -* (including negligence), contract, or otherwise, shall any * -* Contributor, or anyone who distributes Covered Software as * -* permitted above, be liable to You for any direct, indirect, * -* special, incidental, or consequential damages of any character * -* including, without limitation, damages for lost profits, loss of * -* goodwill, work stoppage, computer failure or malfunction, or any * -* and all other commercial damages or losses, even if such party * -* shall have been informed of the possibility of such damages. This * -* limitation of liability shall not apply to liability for death or * -* personal injury resulting from such party's negligence to the * -* extent applicable law prohibits such limitation. Some * -* jurisdictions do not allow the exclusion or limitation of * -* incidental or consequential damages, so this exclusion and * -* limitation may not apply to You. * -* * -************************************************************************ - -8. Litigation -------------- - -Any litigation relating to this License may be brought only in the -courts of a jurisdiction where the defendant maintains its principal -place of business and such litigation shall be governed by laws of that -jurisdiction, without reference to its conflict-of-law provisions. -Nothing in this Section shall prevent a party's ability to bring -cross-claims or counter-claims. - -9. Miscellaneous ----------------- - -This License represents the complete agreement concerning the subject -matter hereof. If any provision of this License is held to be -unenforceable, such provision shall be reformed only to the extent -necessary to make it enforceable. Any law or regulation which provides -that the language of a contract shall be construed against the drafter -shall not be used to construe this License against a Contributor. - -10. Versions of the License ---------------------------- - -10.1. New Versions - -Mozilla Foundation is the license steward. Except as provided in Section -10.3, no one other than the license steward has the right to modify or -publish new versions of this License. Each version will be given a -distinguishing version number. - -10.2. Effect of New Versions - -You may distribute the Covered Software under the terms of the version -of the License under which You originally received the Covered Software, -or under the terms of any subsequent version published by the license -steward. - -10.3. Modified Versions - -If you create software not governed by this License, and you want to -create a new license for such software, you may create and use a -modified version of this License if you rename the license and remove -any references to the name of the license steward (except to note that -such modified license differs from this License). - -10.4. Distributing Source Code Form that is Incompatible With Secondary -Licenses - -If You choose to distribute Source Code Form that is Incompatible With -Secondary Licenses under the terms of this version of the License, the -notice described in Exhibit B of this License must be attached. - -Exhibit A - Source Code Form License Notice -------------------------------------------- - - This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. - -If it is not possible or desirable to put the notice in a particular -file, then You may include the notice in a location (such as a LICENSE -file in a relevant directory) where a recipient would be likely to look -for such a notice. - -You may add additional accurate notices of copyright ownership. - -Exhibit B - "Incompatible With Secondary Licenses" Notice ---------------------------------------------------------- - - This Source Code Form is "Incompatible With Secondary Licenses", as - defined by the Mozilla Public License, v. 2.0. diff --git a/.obsidian/plugins/obsidian-editing-toolbar/README-zh_cn.md b/.obsidian/plugins/obsidian-editing-toolbar/README-zh_cn.md deleted file mode 100644 index 73dcb75..0000000 --- a/.obsidian/plugins/obsidian-editing-toolbar/README-zh_cn.md +++ /dev/null @@ -1,105 +0,0 @@ -# obsidian-editing-toolbar 插件 - -感谢 [cmenu](https://github.com/chetachiezikeuzor/cMenu-Plugin)插件的开发,给我了很多灵感,但这个插件已经一年多没有维护了,于是我重新魔改了它,并增加了很多有趣的功能,包括置顶工具栏,光标跟随等,于是 Cmenu toolbar 就诞生了。 -**Obsidian Editing Toolbar**是一个提供类似于 MS-Word 的工具栏的插件,并增加了一个最小的和用户友好的文本编辑器模式,以获得更顺畅的写作/编辑体验。不需要记住复杂的 markdown 命令,类似于富文本编辑器的所见即所得。 -这个插件是专门为那些希望有一个简单的文本编辑器来帮助标记他们的笔记设计的。它解决了必须记住许多热键或命令来实现所需要的功能的问题。一个简单的工具条可以改善你在 Obsidian 中的写作体验。 - -> 建议配合[增强编辑插件](https://github.com/obsidian-canzi/Enhanced-editing),可以添加更多的实用的编辑指令。 - -![](cmenu-demo.gif) - -## 目录导航 - - - [如何安装](#如何安装) - - [视频介绍](#视频介绍) - - [功能特性](#功能特性) - - [跟其他插件协作](#跟其他插件协作) - - [完整示例库分享](#完整示例库分享) - -## 如何安装 - -1. brat 安装。插件目前还没有上架官方商店可以通过  [BRAT Plugin](https://obsidian.md/plugins?id=obsidian42-brat)去安装。 - `cumany/obsidian-editing-toolbar` -2. 手动安装 参考教程 - [Plugins mini FAQ ](https://forum.obsidian.md/t/plugins-mini-faq/7737) - [如何安装 obsdiain 插件](https://publish.obsidian.md/chinesehelp/01+2021%E6%96%B0%E6%95%99%E7%A8%8B/%E5%A6%82%E4%BD%95%E5%AE%89%E8%A3%85obsdiain%E6%8F%92%E4%BB%B6) - -## 视频介绍 - -[谁说 Obsidian 不如语雀,这个插件让你使用 ob 不用再记那么多指令了,ob 工具栏你值得拥有](https://www.bilibili.com/video/BV1mY4y1T7g2/) - -## 功能特性 - -功能在延续之前 cmenu 功能的基础上增加了下面额外的功能。 - -1. 增加新的工具栏样式 tiny - - ![|400](https://ghproxy.com/https://raw.githubusercontent.com/cumany/cumany/main//pic/202209071131715.png) -2. 增加工具栏位置选项,top,following - - ![|400](https://ghproxy.com/https://raw.githubusercontent.com/cumany/cumany/main//pic/202209071133753.png) - ![](https://ghproxy.com/https://raw.githubusercontent.com/cumany/cumany/main//pic/202209071751006.gif) - -3. 增加一些内置命令 - 1. change-font-color - 字体颜色调色板和格式刷 - 2. change-background-color - 背景颜色调色板和格式刷 - 3. indent-list - 列表缩进 - 4. undent-list - 列表反缩进 - 5. editor-undo - 6. editor-redo - 7. hrline - 会插入一个`---`分割线 - 8. justify 两端对齐 - 插入一个 html 代码,让文字两端对齐`

.....

` - 9. left - 插入一个 html 代码,让文字左对齐`

.....

` - 10. right - 插入一个 html 代码,让文字右对齐`

.....

` - 11. center 居中对齐 - 插入一个 html 代码,让文字居中`
.....
` - 12. fullscreen-focus - 默认绑定快捷键`Ctrl+shift+F11`。 - 将使笔记页面全屏显示,让你更专注于写作本身。要退出全屏,请按 ESC 或再次执行全屏命令。 - 13. workplace-fullscreen-focus - 默认绑定快捷键`Ctrl+F11`。 - 与全屏聚焦模式不同,这个模式只是隐藏了左右侧边栏的面板,它只是工作区全屏。 - 14. head 1-6 级标题设置 - 默认绑定快捷键`Ctrl+1,ctrl+2,...Ctrl+6`。 - - ![](https://ghproxy.com/https://raw.githubusercontent.com/cumany/cumany/main//pic/202209071707695.png) - 15. 支持自定义命令图标 - - ![](https://ghproxy.com/https://raw.githubusercontent.com/cumany/cumany/main//pic/202209071717111.gif) - 16. 支持修改命令名称 - - ![](https://ghproxy.com/https://raw.githubusercontent.com/cumany/cumany/main//pic/202209071720159.gif) - 17. 支持添加子菜单 - - ![](https://ghproxy.com/https://raw.githubusercontent.com/cumany/cumany/main//pic/202209071722207.gif) - 18. 支持菜单拖动排序 - 19. 增加格式刷功能 内置字体颜色和背景颜色两种格式刷(鼠标中键或者右键可取消格式刷状态) - - ![](https://ghproxy.com/https://raw.githubusercontent.com/cumany/cumany/main//pic/202209071731151.gif) - 20. 工具栏图标宽度自适应收缩 - - ![](https://ghproxy.com/https://raw.githubusercontent.com/cumany/cumany/main/pic/202209072157728.gif) - -### 跟其他插件协作 - -1. [emjoi toolbar ](obsidian://show-plugin?id=obsidian-emoji-toolbar)快捷插入表情 - ![](https://ghproxy.com/https://raw.githubusercontent.com/cumany/cumany/main/pic/202209092001600.gif) - - -2. [Obsidian-Table-Generator](https://github.com/Quorafind/Obsidian-Table-Generator/) & [ob-table-enhance](https://github.com/Stardusten/ob-table-enhancer) 快捷插入表格并编辑 - ![](https://ghproxy.com/https://raw.githubusercontent.com/cumany/cumany/main/pic/202209092008571.gif) - -> 上面插件均可从示例库获取,示例库的插件一般都经过了优化并修复了一些错误 -☟☟☟ -### 完整示例库分享 - -这是可以让你大开眼界的 Obsidian 示例库,里面有很多眼花缭乱的功能和示例,相信你看过一定会惊叹,这是 Obsidian 吗? -[Blue-topaz-examples](https://github.com/cumany/Blue-topaz-examples) diff --git a/.obsidian/plugins/obsidian-editing-toolbar/README.md b/.obsidian/plugins/obsidian-editing-toolbar/README.md deleted file mode 100644 index a08c474..0000000 --- a/.obsidian/plugins/obsidian-editing-toolbar/README.md +++ /dev/null @@ -1,99 +0,0 @@ -# obsidian-editing-toolbar Plugin - -![](cmenu-demo.gif) - -Thanks to the [cmenu](https://github.com/chetachiezikeuzor/cMenu-Plugin) plugin, which gave me a lot of inspiration, but this plugin has not been maintained for more than a year, so I re-modified it and added a lot of interesting features, including the top toolbar, cursor following, etc., so editing toolbar was created. - -**Obsidian Editing Toolbar** is a plugin that provides a toolbar similar to MS-Word,and adds a minimal and user friendly text editor modal for a smoother writing/editing experience . This plugin makes text editing and firing commands easier for those that don't wish to configure a multitude of hotkeys.No need to remember complex markdown commands, similar to a rich text editor as WYSIWYG. -This plugin was specifically designed for note-takers that want to have a simple text editor to aid in marking up their notes. It solves the issue of having to memorize numerous hotkeys and/or use multiple key presses to get the desired markup. A simple toolbar to improve your writing experience in Obsidian! - -> It is recommended to work with [Enhanced Editing Plugin](https://github.com/obsidian-canzi/Enhanced-editing), which can add more useful editing commands. - -_[点击这里](./README-zh_cn.md)查看中文文档。_ - -## TOC - -- [obsidian-editing-toolbar Plugin](#obsidian-editing-toolbar-plugin) - - [TOC](#toc) - - [how-to-install](#how-to-install) - - [Video Introduction](#video-introduction) - - [Key Features](#key-features) - - [Work with other plugins](#work-with-other-plugins) - - [Full Vault showcase](#full-vault-showcase) - -## how-to-install - -Please Refer: [How to install Obsidian Plugins](https://forum.obsidian.md/t/plugins-mini-faq/7737) - -## Video Introduction - -[About Cmenu toolbar](https://www.bilibili.com/video/BV1mY4y1T7g2/) - -## Key Features - -1. add a new toolbar style tiny - - ![](https://ghproxy.com/https://raw.githubusercontent.com/cumany/cumany/main//pic/202209071131715.png) - -2. add toolbar position options, top, following - - ![](https://ghproxy.com/https://raw.githubusercontent.com/cumany/cumany/main//pic/202209071133753.png) - ![](https://ghproxy.com/https://raw.githubusercontent.com/cumany/cumany/main//pic/202209071751006.gif) - -3. add some built-in commands - 1. change-font-color - 2. change-background-color - 3. indent-list - 4. undent-list - 5. editor-undo - 6. editor-redo - 7. hrline - will insert a `---` split line - 8. justify Both ends aligned - Inserts an html code to align the text at both ends `

.....

` - 9. left - Insert an html code to align the text left `

.....

` - 10. right - Insert an html code to align the text right `

.....

` - 11. center - Insert an html code to center the text `
.....
` - 12. fullscreen-focus - Default binding shortcut key `Ctrl+shift+F11` - Will make the notes page display full screen, let you focus more on the writing itself. To exit full screen press ESC or execute the full screen command again - 13. workplace-fullscreen-focus - Default binding shortcut key `Ctrl+F11` - Unlike fullscreen-focus mode, this one just hides the left and right sidebar panels, it's only workspace full screen - 14. head 1-6 level heading settings - Default binding shortcut key `Ctrl+1,ctrl+2,...Ctrl+6` - ![](https://ghproxy.com/https://raw.githubusercontent.com/cumany/cumany/main//pic/202209071707695.png) - 15. support custom command icons - ![](https://ghproxy.com/https://raw.githubusercontent.com/cumany/cumany/main//pic/202209071717111.gif) - 16. Support modify command name - ![](https://ghproxy.com/https://raw.githubusercontent.com/cumany/cumany/main//pic/202209071720159.gif) - 17. Support for adding submenus - ![](https://ghproxy.com/https://raw.githubusercontent.com/cumany/cumany/main//pic/202209071722207.gif) - 18. Support menu dragging and sorting - 19. Add formatting brush function Built-in two kinds of formatting brush for font color and background color (middle mouse button or right click can cancel the formatting brush status) - ![](https://ghproxy.com/https://raw.githubusercontent.com/cumany/cumany/main//pic/202209071731151.gif) - 20. Adaptive shrinkage of toolbar icon width - ![](https://ghproxy.com/https://raw.githubusercontent.com/cumany/cumany/main/pic/202209072157728.gif) - - - -### Work with other plugins - -1. [emjoi toolbar ](obsidian://show-plugin?id=obsidian-emoji-toolbar) Quickly Insert a emoji - ![](https://ghproxy.com/https://raw.githubusercontent.com/cumany/cumany/main/pic/202209092001600.gif) - - -2. [Obsidian-Table-Generator](https://github.com/Quorafind/Obsidian-Table-Generator/) & [ob-table-enhance](https://github.com/Stardusten/ob-table-enhancer) Quickly Insert a table and edit - ![](https://ghproxy.com/https://raw.githubusercontent.com/cumany/cumany/main/pic/202209092008571.gif) - -> The above plugins are available from the example vault , all of which have been optimized and have some bugs fixed -☟☟☟ - - -### Full Vault showcase - -This is the Obsidian example vault is amazing, there are a lot of dazzling features and showcase, I believe you will wonder a bit, is this Obsidian? -[Blue-topaz-examples](https://github.com/cumany/Blue-topaz-examples) diff --git a/.obsidian/plugins/obsidian-editing-toolbar/build/manifest.json b/.obsidian/plugins/obsidian-editing-toolbar/build/manifest.json deleted file mode 100644 index 8ca2847..0000000 --- a/.obsidian/plugins/obsidian-editing-toolbar/build/manifest.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "id": "obsidian-editing-toolbar", - "name": "Obsidian Editing Toolbar", - "version": "2.1.0", - "minAppVersion": "0.9.12", - "description": "The Obsidian Editing Toolbar is modified from cmenu, which provides more powerful customization settings and has many built-in editing commands to be a MS Word-like toolbar editing experience.", - "author": "Cuman", - "authorUrl": "https://github.com/cumany/obsidian-editing-toolbar", - "isDesktopOnly": true -} \ No newline at end of file diff --git a/.obsidian/plugins/obsidian-editing-toolbar/build/styles.css b/.obsidian/plugins/obsidian-editing-toolbar/build/styles.css deleted file mode 100644 index c55f004..0000000 --- a/.obsidian/plugins/obsidian-editing-toolbar/build/styles.css +++ /dev/null @@ -1,846 +0,0 @@ - - -#cMenuToolbarModalBar { - width: auto; - height: auto; - padding: 3px; - display: grid; - user-select: none; - border-radius: 6px; - position: absolute; - transition: 200ms ease; - -webkit-transition: 200ms ease; - min-width: fit-content; - justify-content: space-around; - z-index: var(--layer-status-bar); - box-shadow: 0px 3px 32px rgb(31 38 135 / 15%); - border: 1px solid var(--background-modifier-border); -} -#cMenuToolbarModalBar.cMenuToolbarFlex { - display: flex; -} -#cMenuToolbarModalBar.cMenuToolbarFlex :is(.cMenuToolbarCommandItem,button[class^=cMenuToolbarCommandsubItem]) { - min-width: 20px; -} -#cMenuToolbarModalBar .cMenuToolbarCommandItem { - margin: 2px; - border: none; - display: flex; - cursor: pointer; - padding: 5px 6px; - box-shadow: none; - margin-left: 3px; - margin-right: 3px; - position: relative; - border-radius: 3px; - font-size: initial !important; - background-color: var(--background-primary-alt); -} - -#cMenuToolbarModalBar button.cMenuToolbarCommandItem:hover { - background-color: var(--background-secondary); -} - -/* #cMenuToolbarModalBar button.cMenuToolbarCommandItem svg { - width: 1.3em; - height: 1.3em; -} */ - -/*---------------------------------------------------------------- -cMenuToolbar SETTINGS BUTTONS -----------------------------------------------------------------*/ - -.modal.mod-settings - button:not(.mod-cta):not(.mod-warning).cMenuToolbarSettingsButton.cMenuToolbarSettingsButtonAdd, -button:not(.mod-cta):not(.mod-warning).cMenuToolbarSettingsButton.cMenuToolbarSettingsButtonAdd { - background-color: var(--interactive-accent); -} - -.modal.mod-settings - button:not(.mod-cta):not(.mod-warning).cMenuToolbarSettingsButton.cMenuToolbarSettingsButtonDelete, -button:not(.mod-cta):not(.mod-warning).cMenuToolbarSettingsButton.cMenuToolbarSettingsButtonDelete { - background-color: #989cab; -} - -.modal.mod-settings - button:not(.mod-cta):not(.mod-warning).cMenuToolbarSettingsButton.cMenuToolbarSettingsButtonRefresh, -button:not(.mod-cta):not(.mod-warning).cMenuToolbarSettingsButton.cMenuToolbarSettingsButtonRefresh { - background-color: var(--text-accent); -} - -button.cMenuToolbarSettingsButton { - padding: 4px 14px; - border-radius: 6px; -} - - - -/*---------------------------------------------------------------- -cMenuToolbar SETTING ITEMS -----------------------------------------------------------------*/ -.setting-item.cMenuToolbarCommandItem:first-child { - padding-top: 18px; -} - -.cMenuToolbarCommandItem { - cursor: grab; - padding: 18px 0 18px 0; -} - -.sortable-fallback { - cursor: grabbing; - box-shadow: 0px 3px 32px rgb(31 38 135 / 15%); -} - -.sortable-grab { - cursor: grabbing !important; -} - -.sortable-ghost { - opacity: 0.4; - cursor: grabbing; -} - -.sortable-chosen { - cursor: grabbing; - padding: 18px 0 18px 18px; - background-color: var(--background-primary); -} - -.sortable-drag { - cursor: grabbing; - box-shadow: 0px 3px 32px rgb(31 38 135 / 15%); -} - -.cMenuToolbarSettingsTabsContainer { - border-top: 1px solid var(--background-modifier-border); - border-bottom: 1px solid var(--background-modifier-border); -} - -/*---------------------------------------------------------------- -cMenuToolbar CLASS CHANGES -----------------------------------------------------------------*/ - -#cMenuToolbarModalBar.cMenuToolbarDefaultAesthetic -{ -border: 1px solid var(--background-modifier-border); -} -#cMenuToolbarModalBar.cMenuToolbarDefaultAesthetic:not(.top) :is(.cMenuToolbarCommandItem,button[class^=cMenuToolbarCommandsubItem]) -{ -min-height:28px ; -} -#cMenuToolbarModalBar.cMenuToolbarDefaultAesthetic:not(.top) button[class^=cMenuToolbarCommandsubItem] { - margin: auto; - padding: 6px; - - border: none; - background-color: transparent; - - place-items: center; - -} -.cMenuToolbarDefaultAesthetic { -background-color: var(--background-primary); -} - - -#cMenuToolbarModalBar.cMenuToolbarGlassAesthetic ,#cMenuToolbarModalBar.cMenuToolbarGlassAesthetic ~#cMenuToolbarPopoverBar { - backdrop-filter: blur(6px); - -webkit-backdrop-filter: blur(6px); - box-shadow:none; - background-color: transparent; -} - - #cMenuToolbarModalBar.cMenuToolbarGlassAesthetic:not(.top) button[class^=cMenuToolbarCommandsubItem] { - margin: auto; - padding: 0px; - box-shadow: none; - border: none; - display: flex; - border-radius: 3px; - font-size: 10px; - margin-right: 0px; - position: relative; - background-color: transparent; - place-items: center; - clear: both; - max-width: 28px; - max-height: 23px; - } - -/*---------------------------------------------------------------- -cMenuToolbar ICONS -----------------------------------------------------------------*/ - -.cMenuToolbarIconPick { - line-height: normal; - vertical-align: middle; - margin-right: 8px; -} - -.cMenuToolbarIconPick svg { - width: 17px; - height: 17px; -} - -/*---------------------------------------------------------------- -cMenuToolbar STATUS BAR MENU -----------------------------------------------------------------*/ - -.cMenuToolbar-statusbar-menu { - text-align: center; - width: 200px; -} - - -.cMenuToolbar-statusbar-menu .menu-item { - display: flex; - align-items: center; - flex-direction: row; -} - -.cMenuToolbar-statusbar-menu .menu-item.settings-item { - font-size: 12px; - text-align: center; - line-height: 1; - border-radius: 5px; - height: auto; - padding: 8px 5px 0px 5px; - margin: 0 auto; - width: fit-content; - color: var(--text-faint); -} - -.cMenuToolbar-statusbar-menu .menu-item.settings-item .menu-item-title { - text-align: center; -} - -.cMenuToolbar-statusbar-menu .menu-item:hover, -.cMenuToolbar-statusbar-menu .menu-item .selected:hover, -.cMenuToolbar-statusbar-menu .menu-item.selected:not(.is-disabled):not(.is-label) { - background-color: transparent; -} - -.cMenuToolbar-statusbar-menu .menu-item-title { - margin-right: 10px; -} - -.cMenuToolbar-statusbar-menu .slider { - width: 100%; -} - -.cMenuToolbar-statusbar-menu .menu-item.buttonitem { - padding-top: 10px; - padding-bottom: 4px; - height: fit-content; -} - -.cMenuToolbar-statusbar-menu .menu-item.buttonitem button.cMenuToolbarSettingsButton { - margin: 0; -} - -.cMenuToolbar-statusbar-menu .menu-item-icon svg path { - fill: var(--text-muted); -} -.cMenuToolbar-statusbar-menu .menu-item-icon svg { - stroke: var(--text-muted); -} -.cMenuToolbar-statusbar-menu > .menu-item:is([data-section="ButtonAdd"]) { - display: inline-flex; - padding: 0px 0px 5px 5px; - align-items: center; -} - -.cMenuToolbar-statusbar-menu > .menu-item { - display: inline-flex; - padding: 0px 0px 5px 5px; - align-items: center; -} -.cMenuToolbar-statusbar-menu > .menu-item:is([data-section="ButtonAdd"]) .menu-item-icon{ - text-align: center; -} - - -/*---------------------------------------------------------------- -cMenuToolbar STATUS BAR BUTTONS -----------------------------------------------------------------*/ - -.cMenuToolbar-statusbar-button { - cursor: pointer; - display: flex; - align-items: center; - line-height: 1; -} - -.cMenuToolbar-statusbar-button svg { - display: flex; - width: 1.3em; - height: 1.3em; -} - -/*---------------------------------------------------------------- -cMenuToolbar SUPPORT ----------------------------------------------`-------------------*/ - -.cDonationSection { - width: 60%; - height: 50vh; - margin: 0 auto; - text-align: center; - color: var(--text-normal); -} - - -#cMenuToolbarModalBar{ - align-items: center; - justify-items: center; - border: none; - backdrop-filter: none; -} - -#cMenuToolbarModalBar.cMenuToolbarGlassAesthetic .cMenuToolbarCommandItem{ - -background-color:#ffffff00; -} - -#cMenuToolbarModalBar.cMenuToolbarGlassAesthetic [class^=cMenuToolbarCommandsubItem]{ - - background-color:#ffffff00; - } -#cMenuToolbarModalBar .cMenuToolbarCommandItem{ - justify-content: center; - align-content: center; - place-items: center; - - } - - -/* #cMenuToolbarModalBar.cMenuToolbarTinyAesthetic .cMenuToolbarCommandItem svg{ - width: 1em; - height: 1em; - } */ - - - -div.modal-container.cMenuToolbar-Modal:not(.changename) .modal-bg -{ - background-color:transparent!important; - backdrop-filter: none!important; -position: relative; -} -.modal-container.cMenuToolbar-Modal:not(.changename) .modal { - padding: 10px 30px; - min-width: 130px; - position: absolute; - bottom: 2em; - right: 0.5em; - background-color: rgb(var(--background-primary-rgb),0.5); - backdrop-filter: blur(4px); -} -.modal-container.cMenuToolbar-Modal .modal-title -{ - display: none; -} - -.modal-container.cMenuToolbar-Modal .modal input[type='range'] { - width: 90%; - -} -body.theme-dark .modal-container.cMenuToolbar-Modal .modal input[type='range'] { - background-color: var(--background-secondary); -} -/*tiny 样式*/ -#cMenuToolbarModalBar.cMenuToolbarTinyAesthetic { - align-items: center; - justify-items: center; - border: none; - backdrop-filter: none; - background-color: var(--background-secondary); - box-shadow: 0 3px 6px -4px rgb(0 0 0 / 12%), 0 6px 16px 0 rgb(0 0 0 / 8%), 0 9px 28px 8px rgb(0 0 0 / 5%); - } - - - #cMenuToolbarModalBar.cMenuToolbarTinyAesthetic .cMenuToolbarCommandItem { - margin: auto; - padding: 0px; - box-shadow: none; - margin-left: 0px; - margin-right: 0px; - position: relative; - background-color:transparent; - backdrop-filter: blur(8px); - -webkit-backdrop-filter: blur(8px); - -} - #cMenuToolbarModalBar .cMenuToolbarCommandItem { - margin: auto; - - padding: 0px; - box-shadow: none; - - margin-left: 4px; - margin-right: 0px; - position: relative; - background-color:transparent; - backdrop-filter: blur(8px); - -webkit-backdrop-filter: blur(8px); - - } - - -:is(#cMenuToolbarModalBar).cMenuToolbarTinyAesthetic:not(.top) button[class^=cMenuToolbarCommandsubItem] { - margin: auto; - padding: 0px; - box-shadow: none; - border: none; - display: flex; - border-radius: 3px; -font-size: 10px; - margin-right: 0px; - position: relative; - background-color: transparent; - - place-items: center; - clear: both; - max-width: 28px; - max-height: 23px; - -} - button[class^=cMenuToolbarCommandsubItem]::after { - - content: url("data:image/svg+xml,%3Csvg width='4' height='4' version='1.1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024' enable-background='new 0 0 1024 1024' xml:space='preserve'%3E%3Cpath fill='%23666' d='M13.24 80.11 l461.75 560.8 q14.56 16.02 36.41 16.02 q21.85 0 36.42 -16.02 l463.2 -560.8 q10.2 -10.19 12.38 -24.75 q2.18 -14.57 -3.64 -27.68 q-5.82 -13.11 -18.21 -20.39 q-12.39 -7.29 -26.95 -7.29 l-924.95 0 q-20.4 0 -34.23 13.11 q-13.84 13.11 -15.29 32.77 q-1.46 19.66 13.11 34.23 Z'/%3E%3C/svg%3E"); - - margin-left: 1px; - margin-top:6px; - -} - - -:is(#cMenuToolbarModalBar,#cMenuToolbarPopoverBar) button[class^=cMenuToolbarCommandsubItem] >.subitem -{ - background-color: var(--background-primary); - border-radius: 4px; - border: 1px solid var(--background-modifier-border); - box-shadow: 0 2px 8px var(--background-modifier-box-shadow); - position: absolute; - z-index: var(--layer-menu); - user-select: none; - transform: translateY(90%) translateX(-40%); - -webkit-transform: translateY(90%) translateX(-40%); - display: flex; - -} -:is(#cMenuToolbarModalBar,#cMenuToolbarPopoverBar) button[class^=cMenuToolbarCommandsubItem] >.subitem svg -{ - max-width: 1.3em; - max-height: 1.3em; -} - -:is(#cMenuToolbarModalBar,#cMenuToolbarPopoverBar) button[class^=cMenuToolbarCommandsubItem] >.subitem button.menu-item -{ - background-color: var(--background-primary); - line-height:2em; - display: inline; -} - -:is(#cMenuToolbarModalBar,#cMenuToolbarPopoverBar) button[class^=cMenuToolbarCommandsubItem] >.subitem button:hover -{ - background-color: var(--interactive-hover); -} - - -:is(#cMenuToolbarModalBar,#cMenuToolbarPopoverBar) button[class^=cMenuToolbarCommandsubItem] >.subitem .menu-item { - - margin-right: 4px; - padding: 0px 4px 0px 4px; -} -:is(#cMenuToolbarModalBar,#cMenuToolbarPopoverBar) button[class^=cMenuToolbarCommandsubItem] >.subitem { - - visibility:hidden; - transition: all 0.3s linear; - -webkit-transition: all 0.3s linear; -} - - - - - -:is(#cMenuToolbarModalBar,#cMenuToolbarPopoverBar) button.cMenuToolbarCommandsubItem-font-color .triangle-icon -{ - position: absolute; - margin-left: 18px; - bottom: 8%; -background-size: 4px 4px; -background-image: url("data:image/svg+xml,%3Csvg width='4' height='4' version='1.1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024' enable-background='new 0 0 1024 1024' xml:space='preserve'%3E%3Cpath fill='%23666' d='M13.24 80.11 l461.75 560.8 q14.56 16.02 36.41 16.02 q21.85 0 36.42 -16.02 l463.2 -560.8 q10.2 -10.19 12.38 -24.75 q2.18 -14.57 -3.64 -27.68 q-5.82 -13.11 -18.21 -20.39 q-12.39 -7.29 -26.95 -7.29 l-924.95 0 q-20.4 0 -34.23 13.11 q-13.84 13.11 -15.29 32.77 q-1.46 19.66 13.11 34.23 Z'/%3E%3C/svg%3E"); - - width: 16px; - height: 20px; - background-position: center; - - background-repeat: no-repeat; - min-width: unset; - border-left: 2px solid transparent; - } - - :is(#cMenuToolbarModalBar,#cMenuToolbarPopoverBar):not(.top) button.cMenuToolbarCommandsubItem-font-color .triangle-icon - { - margin-left: 16px; - - } - - :is(#cMenuToolbarModalBar,#cMenuToolbarPopoverBar):not(.top) button.cMenuToolbarCommandsubItem-font-color .x-color-picker-wrapper -{ - top:auto; -bottom:calc(100% + 1em); -} - - -:is(#cMenuToolbarModalBar,#cMenuToolbarPopoverBar) button.cMenuToolbarCommandsubItem-font-color .subitem -{ - visibility:hidden; - transition: all 0.3s linear; - -webkit-transition: all 0.3s linear; - } - -:is(#cMenuToolbarModalBar,#cMenuToolbarPopoverBar) button.cMenuToolbarCommandsubItem-font-color .subitem:hover { - visibility:visible; - transition: all 0.3s linear; - -webkit-transition: all 0.3s linear; - } - - -:is(#cMenuToolbarModalBar,#cMenuToolbarPopoverBar) button[class^=cMenuToolbarCommandsubItem]:hover >.subitem { - - visibility:visible; - transition: all 0.3s linear; - -webkit-transition: all 0.3s linear; -} -:is(#cMenuToolbarModalBar,#cMenuToolbarPopoverBar) button[class^=cMenuToolbarCommandsubItem] >.subitem:hover { - visibility:visible; - transition: all 0.3s linear; - -webkit-transition: all 0.3s linear; - } - - .cMenuToolbarCommandsubItem-font-color button -{ - background-color: transparent; -} -.cMenuToolbarCommandsubItem-font-color button:hover -{ - background-color: var(--interactive-normal); -} - - .cMenuToolbarSettingsTabsContainer .cMenuToolbarCommandItem .setting-item-info { - - flex:30%; -margin: 0; -} - .cMenuToolbarSettingsTabsContainer .cMenuToolbarSettingsTabsContainer_sub - { - border-left: 1px solid var(--background-modifier-border); - flex-flow: column; - min-height: 45px; - display: flex; - padding: 0; - margin-left: 10px; - flex: 70%; - } - .cMenuToolbarSettingsTabsContainer .cMenuToolbarSettingsTabsContainer_sub:empty - { - border: 2px dashed rgba(var(--interactive-accent-rgb),0.5); - } - .cMenuToolbarSettingsTabsContainer .cMenuToolbarSettingsTabsContainer_sub:empty::before { - content: "✖️Drag it here"; - margin: auto; - font-size: 12px; -} - .cMenuToolbarSettingsTabsContainer .cMenuToolbarSettingsTabsContainer_sub .cMenuToolbarCommandItem - { - flex: auto; - margin-left: 2em;; - } - .cMenuToolbarSettingsTabsContainer .cMenuToolbarSettingsTabsContainer_sub .setting-item-control - { -flex: 0; - } - - .cMenuToolbarSettingsTabsContainer .cMenuToolbarCommandSubItem>.setting-item-info - { - flex: 70px; - } - .cMenuToolbarCommandSubItem>.setting-item-control -{ - - justify-content: flex-start; -} - .modal.mod-settings button:not(.mod-cta):not(.mod-warning).cMenuToolbarSettingsButton.cMenuToolbarSettingsButtonaddsub { - background-color: var(--background-secondary-alt); -} - - -.setting-item button.cMenuToolbarSettingsIcon{ - display: block; - transform: translateX(-30%); - -webkit-transform: translateX(-30%); -} -.setting-item button.cMenuToolbarSettingsIcon:empty::before{ - content: "❗"; -} -.setting-item button.cMenuToolbarSettingsIcon svg{ - max-width: 1.5em; - max-height: 1.5em; -} -.modal.mod-settings button:not(.mod-cta):not(.mod-warning).cMenuToolbarSettingsIcon:hover{ - background-color: var(--interactive-accent-hover); -} -.modal.mod-settings button:not(.mod-cta):not(.mod-warning).cMenuToolbarSettingsIcon -{ - background-color: transparent; - box-shadow: 0 1px 1px 0px var(--background-modifier-border); -} -@media screen and (min-width: 781px){ - .cMenuToolbar-Modal .wideInputPromptInputEl { - width: 40rem; - max-width: 100%; - height: 20rem; - background-color: rgb(var(--background-primary-rgb),0.8); -} -} - -.cMenuToolbarcustomIcon svg { - max-width: 1.3em; - max-height: 1.3em; - display: flex; -} - - -.cMenuToolbarSettingsButton svg { - max-width: 1.3em; - max-height: 1.3em; - display: flex; -} - -.cmdr-page-header -{ - min-width: 1em;; -} - - -.x-color-picker-wrapper { - right: 0px; - top:1.8em; - min-width: 1px; - padding: 10px; - box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.14); - position: absolute; - width: fit-content; - font-weight: 400; - font-family: Source Sans Pro,sans-serif; - border-radius: 4px; - background-color: var(--background-primary); -} -.markdown-source-view.mod-cm6 .x-color-picker-wrapper table.x-color-picker-table#x-color-picker-table { - width: unset; - border-collapse: separate; - border-spacing: 6px; - margin: auto !important; -} -.x-color-picker-wrapper table.x-color-picker-table#x-backgroundcolor-picker-table { - width: unset; - border-collapse: separate; - border-spacing: 6px; - margin: auto !important; -} -.x-color-picker-wrapper .x-color-picker-table th { - border: 0; - text-align: left; - font-weight: normal; - background: transparent !important; - color: #718096; -} -.x-color-picker-wrapper #x-color-picker-table td { - font-size: 1px; - padding: 9px; - cursor: pointer; - border: solid 1px var(--background-modifier-border); -} -.x-color-picker-wrapper #x-backgroundcolor-picker-table td { - font-size: 1px; - border-radius: 50%; - padding: 9px; - cursor: pointer; - border: solid 1px var(--background-modifier-border); -} -.x-color-picker-wrapper .x-color-picker-table tr td:hover { - box-shadow: 0 3px 6px -4px rgba(0,0,0,.12),0 6px 16px 0 rgba(0,0,0,.08),0 9px 28px 8px rgba(0,0,0,.05); -} -.x-color-picker-wrapper tbody>tr:hover -{ -background-color:transparent !important; -} -/**top**/ -#cMenuToolbarModalBar.top { - display: flex; - flex-wrap: nowrap; - position: relative; - height: 38px; - align-items: center; - transition: all 0.2s linear; - -webkit-transition: all 0.2s linear; - -} - -#cMenuToolbarModalBar.top :is(.cMenuToolbarCommandItem,button[class^=cMenuToolbarCommandsubItem]):not(.cMenuToolbar-Divider-Line) -{ -font-size: 10px; - margin-right: 0px; - clear: both; - opacity: 1; - flex-shrink:0; - height: 26px; - padding: 0; - border: none; - background: transparent; - cursor: pointer; - outline: none; - box-shadow: none; - border-radius: 2px; - display: inline-flex; - justify-content: center; - align-items: center; - transition: all 0.2s linear; - -webkit-transition: all 0.2s linear; - - - - -} -#cMenuToolbarModalBar.top button.cMenuToolbarCommandItem:hover { - background-color: var(--interactive-hover); -} - - - -#cMenuToolbarPopoverBar{ - - padding: 0 10px; - display: inline-flex; - align-items: center; - width: fit-content; - z-index: var(--layer-status-bar); - background-color: var(--background-secondary); - background-clip: padding-box; - border-radius: 6px; - box-shadow: 0 3px 6px -4px rgba(0,0,0,.12),0 6px 16px 0 rgba(0,0,0,.08),0 9px 28px 8px rgba(0,0,0,.05); - box-shadow: 0 0 8px rgba(0,0,0,.15)\9; - margin-left: auto; - margin-right: 25px; - transition: all 0.1s linear; - -webkit-transition: all 0.1s linear; - margin-top: 32px; - position: absolute; - right: 0; -} - -#cMenuToolbarPopoverBar :is(.cMenuToolbarCommandItem,button[class^=cMenuToolbarCommandsubItem]){ - - height: 26px; -margin-left: 4px; - font-size: 10px; - margin-right: 4px; - clear: both; - opacity: 1; - flex-shrink:0; - height: 26px; - padding: 0; - border: none; - background: transparent; - cursor: pointer; - outline: none; - box-shadow: none; - border-radius: 2px; - display: inline-flex; - justify-content: center; - align-items: center; - transition: all 0.2s linear; - -webkit-transition: all 0.2s linear; - -} -#cMenuToolbarPopoverBar :is(.cMenuToolbarCommandItem,button[class^=cMenuToolbarCommandsubItem]):hover{ - background-color: var(--interactive-hover); -} - -#cMenuToolbarModalBar .more-menu { - display: flex; - align-items: center; - box-shadow:none; - margin-left: 4px; - border-left: 1px inset var( --background-modifier-form-field); - height: 24px; - opacity: 0.8; -} - /*Divider-Line**/ - - .cMenuToolbarSettingsTabsContainer .cMenuToolbar-Divider-Line - { - padding: 0; - - line-height: 0px; - border-left: 200px solid rgba(var(--interactive-accent-rgb),0.05); - border-right: 200px solid rgba(var(--interactive-accent-rgb),0.05); - text-align: center; - background: rgba(var(--interactive-accent-rgb),0.2); - } - .cMenuToolbarSettingsTabsContainer .cMenuToolbar-Divider-Line .setting-item-control button:not(:last-child) - { - display: none; - } - - .cMenuToolbarSettingsTabsContainer .cMenuToolbar-Divider-Line .setting-item-info - { - flex: 1 1 auto; - } - .cMenuToolbarSettingsTabsContainer .cMenuToolbar-Divider-Line .setting-item-control - { - justify-content: flex-start; - } - .cMenuToolbarSettingsTabsContainer .cMenuToolbar-Divider-Line .setting-item-info .setting-item-name - { - font-size: 12px; - text-align: right; - - } - .cMenuToolbarSettingsTabsContainer .cMenuToolbar-Divider-Line .setting-item-control button:last-child - { - padding: 0; - background-color: transparent!important; - } - .cMenuToolbarSettingsTabsContainer .cMenuToolbar-Divider-Line .setting-item-control button:last-child svg - { - display: none; - } - .cMenuToolbarSettingsTabsContainer .cMenuToolbar-Divider-Line .setting-item-control button:last-child::before - { - content: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M511.674077 66.707284c-246.52265 0-446.347744 199.835328-446.347744 446.347744s199.825095 446.356954 446.347744 446.356954c246.50423 0 446.348768-199.844537 446.348768-446.356954S758.177284 66.707284 511.674077 66.707284zM744.967424 667.159826c21.8701 21.8701 21.8701 57.310264 0 79.199807-21.8701 21.851681-57.30924 21.851681-79.198783-0.019443L511.674077 592.264045 357.56007 746.359632c-21.8701 21.8701-57.30924 21.851681-79.17934-0.019443s-21.8701-57.290821 0-79.160921L432.493713 513.065262 278.379707 358.950232c-21.8701-21.86089-21.8701-57.328683 0-79.18855 21.8701-21.87931 57.30924-21.87931 79.17934 0l154.114007 154.104797 154.095587-154.104797c21.889543-21.87931 57.32766-21.87931 79.198783-0.010233 21.8701 21.8701 21.8701 57.348126 0 79.207993L590.89128 513.065262 744.967424 667.159826z' fill='%23666666'/%3E%3C/svg%3E"); - } -:is(#cMenuToolbarModalBar,#cMenuToolbarPopoverBar) button.cMenuToolbarCommandItem.cMenuToolbar-Divider-Line -{ - min-width:unset; - flex-shrink: 0; - display: inline-flex; - width: 0.6px; - background-color: var(--background-modifier-border); - height: 22px; - opacity: 0.8; - margin: 0; -} -.theme-dark :is(#cMenuToolbarModalBar,#cMenuToolbarPopoverBar) button.cMenuToolbarCommandItem.cMenuToolbar-Divider-Line -{ - - background-color: #4f4f5188; - -} -:is(#cMenuToolbarModalBar,#cMenuToolbarPopoverBar) button.cMenuToolbarCommandItem.cMenuToolbar-Divider-Line svg -{ - display: none; -} diff --git a/.obsidian/plugins/obsidian-editing-toolbar/cmenu-demo.gif b/.obsidian/plugins/obsidian-editing-toolbar/cmenu-demo.gif deleted file mode 100644 index 6944b5600c6c410b02388e2954d315973d4463d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 788259 zcmYh>1xy@K!!BT8VHa9t7g^lh7k76l#i10ZXo2EVq`=}1#R{}VTA)~QX`#j4-C=QO zabIq~`~CmTojjA1OinV%OmcGao>xUpSyaqQ9`gv@4-Jj}>A9AYzMg`dwh})N41kXI z@6jzLCg9)5_3uXe&$Qx;t%S?{)SHv6+q0bei_iC0U+%B+{^L6T{<`S)s^h%2T`uytl?EiCmdGr4uFRuUV*(zAKTiL-`seU}9U!m%Ho8Le71M=AG`k?{)5~-JlQ??=lGwUgX8Ug_D{C)U(l+q;OZe|8XCTWgyes~elE8`~@ETmLNo zgV_9MX>H@5#nttN6~z4V+WgYm+|uelvx_VL%*-!O&n->OEl$oZ{4+5<_s{s$?0=0- z&Wwyt4UbI@j*brukM#}=b@vZ+_4c=S^|W<%|Ly4d)85(I*75sKdvj}B&M28M=u`UX0>x-YeL zUcS`U(t7#gg_eefrkc9CimHl|vXZ=lf~=gJw2X|Tq?Ck>)kbh={0=kPtt=051&2 z&BMdV$;r;n&c?>Z%F4>Z!otkV%)r1v|GyVD3QYx@O0_Dl9ga=JVcJ)f-x&pFRL@nd zF6fRU6L4DUt1j$KqEm>aQmgsa|B+3v)U?0m`(P%_W*}FswrDs<)N_BSzqWYvt1SE( zwR&C2c%kY?4zq!}ACtw}7GKER3-)nHIE;~VcN@{OOlnyVWLD^5^R*6>rDlT-6^o5- z8v~y;8Y`E7`tZ>{Tl*!PNUgWh3JeX;xr#>s@~|0+$1I;^lxaA#44vMe z`XMD{Gd-{owZ~|c(qw!noIIaCF`+V>(`&%Bm+zGLqxn)DFSdBN;VQDuXZ<*WP#0w5ikrgItM{WUzp)g z{`Qw-ZDsbYG<`$IE$4@rMsoZ9={Jl7Qqfsm>2ER|w?8=)z4~q|6K}K>sb-Q+l4Zsx zSCH+u{bT3LA|8eUof{TLCtcvPR~STD&Hmpq4L*z5JC;!E?0!o#bo%i&I-Cf{G$kA! zZJGQApk_HLSvUhN!EcBtd2RaM@EeNE!=EOBkNp-Spscy{pt9vkeU=7ci9yPOI7FX= zj)oUH3s+p#D~ZnM)?+aZ@H~&H4zVS|XBswNkozFh(#D(%V<)#Z{!>(T{OdOc=i%!v z>x09ZXotbWmT`I6qnde#=SL;MF8NWy2;&LvQtaXdMoNDJ;iabC;m!Gkwns1-et;;3 zDzvFxE(+5#eOv|D7__F+=p3WT|J&Xlmwyl@uzOt9eV6ViS|krU`Wq-USl)`3Q!h}* zwpbtacY3}2-GrJwRW7Eg}$;zmz%>BHrVYebJJA?9mKTpL^_YA>_|nZvPh z=vo-jF)3ZNua*d1V87fogWaWzh*bfjc|3zK83-A~v zZ`naEkvMCUIs-`;m!vrB!%u$+6{OFXyD^};Qw6_RSS!1da6ZuI(8C&{x$4>zJZ>>W zO?GAc=fD_3T^hIy?lHJE%qir?U9d4&*0UNgoMJN%L?04q#bs@q?1p&7AlBa=o|^m= zU}YAl+KB-LMumF;`;GT9m4s`eo6<&)C?JUrW84%7hwxW{nWUEVN!(@Y^Je8)b)?dK z32wIxH&seea!A*B#O^EP7-3Jxp%vK}rY0q2MmXY4iH2ACK&~bLdMDNaw&%m7+Z4;h zCGPyNk7C2@Uuna8^4`FyaJIA}^d}4Jv4vB&w3}%CQ14U>r9!oBS~xgrw~z4y60uDs zFUAzex6cZ>e^K*ygsNb}=&2N#Sj^LeaGTh8c}GKfV0Pm1Z>yR0=E??1FKxM41Pe`u z+4f%bmAqJ&%gb3HXEo*VD4{**p`lwN)<#n-^C45&LIfiKcI8J+>Lzt7Nz<` z(g8stL6UT*=yezLlsCvI=|Aq#nS2*qE^R>RixfOTrqm2^iAc!@UwoB15)6U_2l7Zr zlNZyvt>X^|6KOP@%1Q%*?3Q-Cazv8v7=1OAiiA^S@s*S;L&aMuE=;E6XiqP1GTRVT ziQ;VP+N%^7|6=u{|_4o20_YmeXVboX|F0U)h~bPq#p?U56$N z_;?<5t33E>G&`bh#mwcc1?6J29kR0C%-M$a`NY++@;3xH>{WQkgq5)SCy9i(h7vNe zuN8H1;2U-!m|Oy7rgM-9=5_#A)IoB0!!ezSc2gy#VZ5Is}YR3%T==6xGH7gXjXk6Yc zkp7ne{%$Py?)o~uVNX}q_oq7a?foxURkoK=4pPsyPJA+blXuTDJLAox3FrHc6E0lV zI4!WpM803w$9)*Zh|vl#3ACH%H7ABH$p=bPsnohZiit@&~ zg;#nnMe5Z7Nt^k2{=_n8c4qR8pFW-%HfxP9FKhln<32>ZF}(q6J*0#LH7L zR$j4TVus}s^Lizdy4=~eih}QOi$Kh_Jpt@PZX^cLzy%hJSlB}Gn;B% zCi%B@7&<>J?JCgT?GaFXt)Yqt0kjm38*U5;t*=2vnun<)WZlx2^{=8Nb3@}LzhPA= zTt{7q)2zs6F43~SY<_~x@5)0T)^IZG<}4KUZf8g_IHtXV-}MOk$K3H01#8r}E<^PQ z7>qTUrnGBsGlN{3Va}j>i@CPC4%P%K_mnCzdKSJi*dFIlPh9Qr8R9q0EdaZl3GlI+ z-}>fVOw0=v@}Z7MX+(O4`bA~o2tc~aoBFP`w-bG}@cGZa*%ES#AUiD;AQd@^@P%3f8XF7SF;4b`i74H^32e~@6#a{0w zkj}5(0Mo4i8PpK|$3Mf~hP6*_9Zeg!1-eSsPTi2X zu*6HY1U1(L!ZWn(#?g^QA7tJ@_2{q@)^L4=ITWq}FlJv>LbbUCIlgV#Yh?vS*+G4= z>a}hbru2}4PHD}o%C=)><8ow`=!w0MwAMJN8S&@YGv2V#@-sT5_wG*?2qKxMP z-GyUE?PYc} zWeQr1^?NpX>u#D zSa5O{ZdPXer${Ep)CMuK-%}cYi8X7oNbAWyE(v_h?}<|;^3ApL6KaO`G$+lxf%Z&s zD92cId`cUH=d5)pYsQdjp+rn5%Ly133q~Hb`-#k(PsH;I8td+m56%PqvW={D%zH*E_gMh90*(#7 zC=R8tA>K(UR>b=nku7%@3A_Nx%*e&G8B1~4)$YBP=mk2vMU$)W0|xNCkXU4_pQJ&h zVH`$ZI|_PyvH1*B3drpT?-T%c_~~ody4z;u;_g2wY^oi9V2P(*i+)>qpLW6@{A2^&Mx?fp&!nNK8e(9{C|K;Nzam;+XAJp7xcZs^e9Xlzuge4u7j5#vN*? zn`J0ijH-||$qAj2U-1S=T*-_l8x~T0Be<4HB1=YG(5dRm+0rvQf~%0k0gl4tzWO0`kk~fC@|X+)3rGII)-t2wVplcmuEI5r zRAmafWummhkvB;mHi#*B#xJM^Z#0;aiWK2!>lExWmQ03xkI@kln~Rs2)9-<#^H*1y zjFXg{7P+NhCA!Ig-(nNple)n0x+L_A z#32sQZZtub8#aA^!_q)zII%e&47WrAHwgI##fILuMbHycY9Nwqp8^`!#$QUtwm`wk zKryZ28@So3nQU-C6^GIM7!d6?*v|Wx=Z|0Z=-7MOs)=+sZu9j{e1$X9^}%4%4k z--`*2)|tU9v+J7Wy9P{LQujfqCnxFO`ELQU0{0l)kGkA~+l>@iuy4Y;3wa=BW9rjv z(&*yP31vmeuQ~P9n$;|u-;D$F;C!3xWEZ4Z3p-G1xA)Fgm^zl(?hwp)Hc~m+&RDq* zpKqWwq&@+Bz{>h?f4)xXawsoVr#oM#oHJAziJ1*2lUwU@wd!Jiu8p zKxvfmYj88ba`L=p{>DTcSZ|oOdfkKA%5(Bj)${fxJDmOeLHweDhgdP zqM$eNcTvjg4m=G~_+f?Mfy`YVKHpWHHvgc9?H~$1nE5amM9+qP4Gl)Jwoy@+a&_Pg z5~e<9{}4FjjQ&Tyj9>xQCdDxPq%b^#JG`_se3vp5xHRB$H?WcmrB22Qb^{tyG4JG# z9GH$EsYcJyN0NRIagGnM#CM#vj6N)lqBKX#H9IyQhES$sz@V`)+%ZN|o=VLz?8h-M z^?1XNv8!^z8_f~I&*K!W<4ua=L6Xg6!{ZE66HG@OG~6S>fv67V)(NiV2`7&UjL#Ey zhZBNklfugku;DR4#e~T6r1aw?QR?Jm)1(0sofZuM1Cyw?PH8SrX+2J9Q%~zkP0NH% zDRWP)vQMhu0hnc{%^#;Nsb{REX5N_1*bNghhfKjjrk^d2u~Grlf@VCVX1&a2eS&8F zKF^Ay1Nhozh7M;8zyPy~*>JPD$e_9C&vUWVGt6VN^i(5!coXTr=hDpPGlJ%`KF?>r zAY@&ey~dp*X`L^STKHzRP!zOaxjdg_HcERm#2UX)MZH)fwOD7iD2|wi;>|U*F19Q$ z{&`$%`wVXSOh_s<-yXEo_jzfcbtyt>iA`te=kU@5N@{t^YPvQ=)??{vfC-5foNfD|A5XH9W%* z$U86|zT7z){dBQb>90SqGmR&-EQ z@+ORj5SK;{!UO@+5EA|Y(^L`~xI%;|Tl!=PqpCJVLN~DyTV&|lAone)d@Rd+tF9sl zhb5MpC6*x!s&ER3M1nL?_>J$wh-wlcX%^U@x3dd#pdd87-_E@_Gh3vw44v5F`*m%Ipvbgfq`{jSmCBB{z zhvN6U;mXTgD9T*)hu~+^oTC!e*D4|Ku6rh|MS z^VS}!YR7*C;`Ij)CW6bVf$L)dF|5Kp1rrRzfK+^EkZ|0@${p$yOe7@^KP}|L$qw0w z97YmE9yJ9n4u-%+_j+j|?<@&~KJ1E)Lg29Dtg4S|GT2bWuC@iL1oZ%I#~c3wmdV3l zbi-UqzL=>+qtwZoF)=1D!ZMxcMRT2ZmSnby2Bk@$?#b)tFa%}s! zSl-%{yq1rmCO7BX=3V&8`I_oeobPV9N(TO-TbXXe>zoWB7yfVCC)E6IsJ3Oyg(_B| zNVoS4&rO(P+G!z||B!>o> zb_GA1MCVrzns_`aYO}Wq{KE3*>| z0S$#cqI&J@Q#xfMuT@(yA02sh%hmwH^ej!}cG;@O3gr_Tp9a0cUq~3F^VgVgBV{Ae zY{uj=81x-FqPZj$sa-2u8z^1=S^?Pj24af3A{(NMvwmP|FeC`3viamO?@_o8&BdP; zQ$+2i*E7;4Iqb8SFW{B-Rs2$~`R=E)<)NX5@AZ=BGnabPph!g+ypiLR;xsKxWFszH zACHU3GH=4!VfYgB?PPuo?F-HkTaZD;h_zo+2i1qV=CB&shfrm4v?mn5UcKDId=Z#9 z&L0^s(^X$OEJd-HfH>wX7BZD+Oxf2R#u=z4rsli{G^JCvD7rjI zk^>BZyR8b!D_yUnm#bh@@Q=T6CB%NGYW>`(NuKi8c&=+5dW1!ZqPU$(OZGzuKHwBU z=hf6nZE_rRBAWivxE`t(`qR}yHd3U?J%Ypdn4n)aTn_mWN|+6f;CPe&{3n_MIgnZ4 z4|?G{BrBQGDHivG9u?p%zvO^+pL}ALGRZRtwm8rl94s2O=gKc=EyhH#rAh-Yl8diY z(lCGm7#M67e+D5d>D}*_b#Jh~eHgFu)8!*<$C#H?6;5(8K)2R-&mccwJjzA2X>Q@V z!*W5_!>z0t_sA1TeAF)IWbkRC8!Y(auDzVux**jKAGIkxFr`L0#@73KT?cz$b5E<( zY7n*>7H=cQ0zr`}Q>LM5$dX zn%(Ffu__Co!=+(l;;!L>Die}~_IPNx5YdkPe%n2lu0(qfbulw?`dcA;z-QtR@)Sf_( z+``xP(JGR_YFwF6Ro*R3@Koe^j+gq$M_C+2apKbm&Pr`uZbbx?iH{&#^3p?uN)F$@ zPl2{_KM!R*sui*^o!wVRX?Y5ue3laLstF*kB$^?vAY2&F5RUutFC8^INVyW*i*L_8 zRw(*D!Gv3oxD}U7^o}3Hs-M5>T`*d2Rw9Jhd~E4br(1fKr5P9c-3&odmp<>oV z#80X3kc)boSn&)7ax#1Ve5(O>FQHdhKriy99gfJtdi1Q$)%=x1gxX3JV94NBv9L#MP@3#dsF%>S$njxfrAUPFr)^MKz|xpg$1AK8 z&Qg4RhTL@dlO^ZjT%6~;dgw#Sv&z$L)%35lC7Xo1|E-=Vhb?(Sc9w!*!Rfx(RPt3) z>-0S~*ZLkew{88>-Yyef?_YX^>!%syMa+Vzv0A4UxrD)8JAq7O6#X{<$U1MsP7=sx zMsb-<_mU(~ga1mL{W2jJ<%lP4bfaANmxAxT=iadLA2JhnV4ih5#(q=?PYDQkkDFjY6=Toi@Ae7EWx63*+Ih#2h>KGO*Qi zsXZh zpl;D;of;3y$bl#v)az4`+eVd<Y^f&L!>6tH#Elis_Zx47o&pJpL2; zyzi$+!1rsjXOZ;E!5>Lm=qYxL8-$tUK*S_rQ*u@iks|cM#KSK~S3!fVb~K0;{h(R{ z^k2wQ&5JNwieSfTjftqukF$Lr=xm}Rg$vM+E%tjfd;CFV@Gp)N;<$0of8L9mKmXl@ zh7bH5Q_~q=%h_;0`1kR7Y)CEnhc*(lSkUFfb3TViv~>V^e>{u3P@Z<^TMt6lKEPv$ zjPYx1{M28GZ8DD=f4315=sMc z1{xJ>i(JkcN=~Cdp7$5G_+kpt1@>A16sH*{8X0LP3$)LQWb}gzTXqVpg({TA(%ys# zumN_-(79zHE|YQDu`zxQ4H13vh`dNX6Hau@Skq^6oO_KBRhi-eo+}Ah{aR{sYG$ch zoMS*0_p7d)kaq1m0hc*|#>HQ(=dx&f0Ka`WhCb2y+H*IyIJ1o^Gm5x79oZhn?-A~J z7kMnQm`bIVDIRFbmV!~9|Gt=8`<^JsgAL?LR!l#h`r8T5?ADspQEZP{8AaEOpcDD0^vU6Qw0SLrADxY$NBLl97I}Gg=_dlI{Lvk6e5X2 z6b7ooMjV>!ECH^&0B$#d09=)j(?8vezgLXGLhsd*92D~d6fq>eT%Aj@qBAHs<9x|W z^;(SA;!-i1z^i}7$tIWMla?~Oi(M%Dyik-R?+tcIF3m+1vz%Ny4OJ*7EV@b%`>R|$ z?HI<`c$m$_z%Ce|%9a2_l)Fo)$A-$~h>CZysh0I6z}7XEtJK%$ML3?f#Ui-6N-$Mr zhr0BKy2~-A`v%#{8pGYy839ojp9BCu{zYVcG-8@vY48YecvpG2>LE4@4CsslLOH2o za7M>)RE06lg-ygHaED-asK+s?0-e?()v^BsKkE{>9gb}3Ke%U8{YG|}!dEN$vEj#{ z0K428_K>^j;NG{9ebd3((9Er=m_JJir$o4%$jEIZP@+ytMGUi9p0duZ>~A?glKACW zcp1A5;hv--M>7xWseB3|leUe@zb)hGFw#Fy5Pc(bn@(d|HB3!=49j*5=&gnX z$N4_?tU^2VK}_el`1&F12G{6ZGVhgUTwgLR?fn>$(m1if_>Xm*9;@63({ZwNoifpI z@0Kqx9nQwoGV-nQMAb16)&wY_Igc%z&PChKq?C4k>~d1=$No4C(Ku^5YJ&ay1V{Y@ zXZHlx^u*qs4&&tnJytAJ^iVjuUe1*EWi5CN?vG6p<;wddrHZ6O4(aqnWReU#UzWAkYfFmM)#EF^wf*3 zDXmr!HEMD7N4=NK)4D>_dP>v!2GgQg)47L}pP7aY(x+d2pEjwVe%)=*>M*^hJ8613 zZGkmoNit(aGG)dsr1SU;pLxdCcE-+o#y-MuT@2kOh(lF!%%OY6d3wfWYsPsC-HBW4 zO+}c}!HkE{tf$hf*R(zh+AKcFESI*1clxaV_u2RLvt(PLTnePM5f=AzT*V!j)P4bO6G&k1-dnv)o@w}o+|!C7z6Ln`J{ zh2}ph&089T()wY*+KkzajU7p5S=++6(B}Er0D`J;Vb!mq$?&h~0CDg_KJ!9>&_bco z!Z(A3@3sp?-V4PM3nl3bKfW)N)-RNGFO*L&RBSC&UM~E^TC5^jtY%)U5n8NOTC6iz ztfzjRmkt+I{VJ>q5M+b%xy^I6g|SA@*N1koB8_vf;CyYbJ}e@TG% zcrW!vEcK-?^?zR)s9zfFUK*NS8s1tOxm+5>S{@@=9%o)gO$aSdDlJbLEKl1m&v-A- zMl8>zFVBBpUZ`IlFf+YWTM`m9_0E6Y-ujv=8KZUDICpc-Xqt%yxtP5i#*1y*E(PCJ zg71A_*|UWobgvvvuN-Zy9AB=SV67raR!^B%&xBUbl~ykdRxfQ=ue?{UBUW$HS8u(W*6G+JmUt;)2&~VoB;=}s7&wXRTvhYW{;UD6 z)_JAZn4uedEF1j78v@E3f`%JHb{oPz8zPY#q8S@vMH}J`8xlPmk~14p+Z)nX8#2I6 zS?H!5%ci{Wrh@XOqM;4U?#-I_I_3}5voWo7JrD%#6#*vskJ%bnT#yuJ73YVRv>KM%T}&$3@2ykDri|IKj!yPeZF9>)*V zdnt(+?#B*se|BBI=x+*D(akx~?>Zy__mUI$t66qxgb!+!59$mL>g^61d=45T51KL# znu`v8H5~lzIcS+VXx%>eb9L|+`0o(*u$|?wL-?>$`LN6IuzTg8n&zOYXg~3IpRR4! zI<$*!Z9f6HlZbyXa&Mw7XEd` zdXAQ6j+VENR<8bKna69;V+70by72J~@M!bu@Mq<2f01)JzCndD4OQD=<(1R+)o#qc z4eIvs@zwDO@B|4xIb}IH6FxatKDjVFxwJdE@;SMVJh{m@xh*=mYdE>@IeC~ldE7oh zUA;S-IqtJ_J?L?!DseUl?V@Z#9~yBU?m2eDM`C9paf*@88j;U?k+`$}Nzd@Fkp!Sq zFzG3T^^{QLlt|^2*yxnR{uJtaN*Z-amU&8Ed`i*iPX57dj2?;cHx%HThH2yme209u za!4g|#;9_}WQ00nwm)O>J!6eJW6L~aFFxaFJmc&=lQcvYl-{{i7 z{?gF*(kSZEIP>yV@uf-Qx97qB-}Y}AWZhDbF$ zRCD%1xHr^M#s}DV{I>VXdG^X>=gRf^>K*9Xjr7``_1Z(^+EeA)%jnwM{@Ta)+BfRj zFZ0?TReb%v@j9UQI&k(nXy-ck@3j*z($VNjGYZ{~meBr#kHhMPqrION$nQhcO?2i> zOz}-@<4s)eP5kUl!p=?N^-U7U-ve|L^6uu%J5PrsbTYOZ5t$W@pJ4>rx8X*9j=ZAq{!OU?eF$M>N(>Y*?5p}+WHpz&d__hD%EVR+{O zHFEth3VIwPeH>?foDg}ORC$~-dYra@obi2}je4AW8Pxsqp-tqW9RyZAMC;rM$|`mZ@bX)v%*Z6eb`}8pT^tkhcx_){BMU!EG2)P`P zbRFT(Nco+2k@Q{BK&!SJ%TtCPe2OwAF^^3U0hB{4O_Xn)X&{ZmsK$BEgSnsRUw`xl z!KX%&AkKHTsdmabmM0%Y$nA8&Ht|h8liy|kf_5^ln+@#Ut2(^F7Iag)f zo67z6>Tvdpleg>P4c}&8D(}ujMH&D0P_{_fo4z)~!i6@{aY7#F8`yeREUCc%Ok&lG z{P)6D{2;OSnC$#T%VPyr8AET+u}A)t3Rt)v-3cAe)!0u~y4(vNFa7d8KR&t_L9TT~ z5%Ib{h@Nc@WD2}Heh?cSDi!&CNj1Bv`^Ka7NkVlj+i4gb4|h44Wnxr_zuXjwgOY7Y#n@v{ng=H!LRgI&W>EjFWTc$LPN>S!?^4vKqd)hlzhD_F!rrC5VLot?5w%PtH*^Z^nEIBT} zZdr2O2gF!EdoTF2e(~RLX8js;cgva=T0p)XdjAS!ooO1ZMwf5&?2heQin=)a_jHr@ z>_wlPez6ySesAJf$VySl>=P5)#HK|UzOY+d@#~JGym~;Kv!Z_CJ!j?5O7#-V!YiZF zA7}+85t!Yjzc_39Iev514vXJ&)s3r5aMw?p1aLRZJN@QvTz-Gg-Gqph;Q80;4B+{- zPO(@P^%of6e7)2GL!4bbJn;^l^HNkEeY9mQ{Da)TANYs(1|`qC*`g%RGMJNm zYKEm)H3i1xo=XXiD^UgsPE6jlT>KIRl%4yW;%9M88oUk?ntAoMRcO{M;8AGKDo#px z-Zm#lc)_u(Rd~_m_oMKV`=FG_vZVxGeZOudHu|df{iDcQ=yPdNLR9tIxup(fE0mr`eD5H82* z-sLI0q>u1Ck-F)LeTkYl$mDHd*tyvly$_BSc)AbnP5Llz>{dv?l+D_PPFNKJl+0Vo z@NM3pPvRNSqr<$P5qi$lK{*p0wh&&0?NU-my)Fu*l4T7gW3nbc&H6GE7J~O78t|Nc z5re7ZwAGu$Iv8DXkv!Txp86~~D$dUe*WRI=;%*~Sim?DP3XP`WcaKVLqn^D9!SNXT zY5cCFOSrV8ft3t{Xz(UdZ0Hov21yU-PGulDXKj#d>7?zGrK8$l>lK@D_k*-B0w`}% zK`Yfs;JQ~JCPadrDcA){rYP~?o@gtIVx&fm_42z_RdS^PB1{A@MWFQZ(bKS??o@e! zg6fF6@pj6yELskoJvFUoryujFzE?}PMawebrWNQf^6UN>ynS`{wprhXsV+-cD!MaZ zQ#4XwB%dINYy;49XFG2Vi+AqJPn>CC5w895qUyFf=h;vp&Fc=8cc}tl!F`c550-c= zX|Ad6Y@#A+aUa8`m`eIkrNV^G zG2X}BN%eZ|H4o!6boOXQ3fipQEf2BiK`hU2beDDt^mOR5Rh={;c_lKM?YtdP1sHW!?NudPHzFc$EZuCR!K*-0-XMZX_7EgZW@^!{9jBztFk=1+zBWf2Y zjf5nsx1nJ`Z{U1?5b=%X$9UszQ8G*Je$VO7x%mNw7c zM@LE`Q}DzuPRr$Q99-VzEH3Y#H@3I7(;GG=P!ks7wqClf9>Q>41sSlD!BNt4?F;K_ zc?9!$QPN%GxUPL0R47Mdb6P06UP3S$q1)IFjEX(U!MNT}Pqj)0y0rFp-5cES9VAtC z8o9pQ1}XWjBG?lmc3IO1NK}oILsTk%-dL0ja$ZDr2u>CmqA0Oq1;TDYr*b=H-KLUD@*?Ym42ML?-U`R- zZF`U0^u1wTKuq-Ebq4Iv0i|bj64$@9m&c$A^Ke`o6wiIe&jt1v2C5U6G76~{&;Xd4 z%ex|3Ho^UTgmoOe4DYJ)2VNzAhr$gPgY7sP0E|6ccorgoO zaKSI^4{1UkP`5~#Kkk;;*j5qo$P4~(SVYCk{IbA%|1m}tFBb*6if3Hnt5;|QfkUJi z(N(A@kpgwkcT8q$EK3R^AI)000|8W3hU^RrfzE&KTi=C>^j6QSUs(=({30J6DKjxF z^5#aNO>nhGe8Ekue$j@~?Iwge+_Pf zYUy!OnP6KocDn(;GvrC=|`VStVjA+$t}(kZn2^$G3yJV;k8{s%-CemkbKA` z#ye$6B#+N~PV*vIbokbwR&bp{2!z0Xm&cb@Y&g>5vgO6&&D*4t&wmSdaBQWYmM!q) zGC{Ue%%g`jXk= z1^4PXcM@UItI<}y0`CyM8-Ns7C#4(h6Bd<93_LMm^-*W7C5Zn16ZL}?oIW?7o;YmD z#flVv`7VW;e4TE-oepz|1WjI+vK+qIo!4@kvJycosY$jfi!o`XPX{HS7p5lbp|kt} z#^xCX9lzQfqkqUJl-307*IOEo(_<))m^!ZE*-=_{=Yul}*uOAv6fsystVI7c`snFj zY+2#Sk0~^#6TScZTzLe~a)HqbfYU+8oJeh{7VM`vRdQdR#9`CQ%~l=uQ#SG+GWDYLiaJ_XyF9LdrAfefrdvqIIfHXU;7^Tz9?Y zQywwh>{&cw-+*zoB~(1Elg3yU1jCRbQ;=5Dg6(~kRxjib{-z+!q^SIjwz`0(*;-3U zjt*0v$pOHCiE%ZppCv|zd1}DyJWVu{%y2eLiVG+pF^Bq)40L~f?9bQ42^H7{i0I3c zwj$VKZBBEiu}{BhW*4$4Z_E$V%Oq}4pUs!%>xya{q3^GnCd|LQgEPf58kDXWtkW`@ zCqA>KS;g#-Xj2g2l4l6)lw@Ik2%>*6vdL8Xo$*_$v?zSHJ5Qbk#i*eE&HR|z;_5q6 z=MCT$lNQ2Ml-SNn%kqUmhA>(CndbD~Cng?3xOCPOF_Qx6iY&haCGIhi#2afKDDx^) zm~@M|c!Mp<%IvfbU38Al{ymG}7dvSN+tGOhp${6rLnkG!JbfCvwDQ)O_6k5bkx6rV zGiGxOw^*}+aej+FFXENBWkGNd0C)y z2HzXmRedP`zrKkf?J8Rbr99iv@@q^Sj9ak|32mdWyUs9_utS7-V&t8Hvk4m}afuKW z8|G4*kh0unRlB$(0RBsl2V!|j7bYD7*E=01^6CseOGrF(*nDtE?jVUJEQnBVW8MXv zOz((M8Q4jWw7;$fXbFcgg#)D40KyNUMPZ>r7wOb62imbt2~iAcQw+)7P6=6gTG%c$ zcb_>AeYGp3RY;+fV~j{YLzE0qO#$G~g^N0rqNv?C0)m`M5}kgm@Bfreml|@S*AG+v z#8Jxc0A%a<{tUyVy&Voc27RN1RpfP8wEjRD4hdbO7)Pw+!SQIFTx~W zp{!k{{*t~59eVbn-Mpjy>;>fEr683&qnCoD=svwOI(*+Dr#@R$RDrpzBuUp?;G$jb zOL?U{+Rr=q&u9C&EEN+x+>^n2zhUtiF+`c%1_Z950*VAJj(|@j1Z0-*>$caz4(6Nj z=px@zg>kv_i*yC4nCL`xc_%`JhX{n$P-t8EsZwZcn6e$S!EhR4g>d>$bZzqw4hrD5 z5Zv}f4U!~UQ|AY@Lpgcb#STj0wu+?*7mnqMR&@Z!_fC!Jqlcx6xT4e+^su!%fKW*e zBdpSt!R}PD{qftxUW3i|d_s}vudE}-4^yt2(d-<13hUxwUkV5%oj0}uDlugj0E7wOhO2~LzxM*5RvaOa`U(C2#`__8ZJQg)_A6Vq5c9FR)HmFv22 z#r+@NhgAE|>%*U&Oo5Ve#ER`3^2w0R6O{P~-sZ_*iry1V2}Dw^pFL-%e&XL&8-L|is!xyV>Riy8!calaurov@y3t0!fUl86Q@eP$ZrW;SD4I>Y za@Z$Ym(t{+VR_v>Qc(JE{tUwFX^i*1{cyF!bsDRWtorDCg*lexziGa-Y`N!qjs?Ay% z0zo;_I=KyE*{5D%T0sSoI)y<``M16DGJ;A*bxIPRiaQAsC&Nmm{umx2! z>(stp2=IE02=c3I3abAV)a<>ukM-J0uG3r<)Y|caOnOZ@du1xU0e?fv{#c}LuX+w= z$7IdWA$@6)tfvQ9#W*>6MDhOnb2^kWxU83&QuSK4_3R$rm{{l-fP4tH5GLlOm6?!g zKYox@yG|{t#yH8N=hW+L&WmFO?cxUT2{n1C4aYghqkIGS+r29`28g9Gv?LJzPr{}E zri3+|93{!fvW*PCw7H)ma_$TyGz6-K{VP7ckZQ2n&(ad!rm#0hZOCi_BNrtsf5p51kriKjVGoD|<&i6ECvk@AZdX$m?Q7-_KcKr)P z8}K_EL=K-j8wSyZ;T(BOM7UmZB){t)dvq*u-=8AGRj95MsV@2o$I|g19R=F&`5zF| zRfzEMpVg;hnqUx`U}T1~%(6yj>e0W^rFGnW zKfeG+=NdNJCxL6g8pvlync2o?niVMx>yl_F^qAxhJ~3yHf{5!=!KAuoo7+Te^W_x_t&=xYyLb zgOrQfgFYlfn>T|z*h3S49X(is&>4XRY5E5&povBfA=2pOEUw4jRKF9su_OCk9C=Rx z!Xg|bES?m}E$UTaSa3l=w(nHI2UWOdz%vX3xTkoU*LzU4mAavOi_(={@p*)<_9@1D zl(p&EDf)N6sPB#ZU^zWbT{^Z8{Dk}bL|OerS^P1WgE%bV5fj5YeBloJtBc0|?i~># z+ZVkeksx2CdQDM1a+kcxw=~KJl_NNVrV~_US;D(+7Q<)#I)#=$j23qF&1t39YJHTA z#a1(@bsK1xZhcx5{1)C`U^5gK3-+6mML`}wmvr5G@f3Uz{BPys*5&h7=2HW;6RjbL z7mJJ7>&JeIt`{TVzmdG+pr40jDrp<` zAyGGc@{9?2xDrAPL)iRnGiGeqn1{>W+3Ayw9zASmSVDNy%$>h;izGZmgXvwoW-}KB zm5^uHw?sHDvC}6mQPP8ShH+z*!BIMSf*$6HCeL5GVMZPmE zGX%Bt@cm>RmiS6R{+6*UQfVSel@JwfdlLm2J#JZ8x`Zi{X8vRdsOcfiG|eE8O_FBp z=?elx&e>x&|m#zVI0ARqC!^6cH3^hU8!11_4FqidPZf79XlTSq8oXJX;z6y%b=s+95pMh;Ml(SqEry+2i=qeIgGLPWphEytI16m(dGw(SjL9ew zN67J~8E2NsAktnbeF9>CrlAI(bId8(nLJsVwbom6-Swbl=E=sMbjo3?nHkZYbhgN^|;TqUp`z3o!NS=k{l9s_SdJl-zsid&bsBw7{wvLDLUV1yM8N?v;Y?ZsCzp>4%g*Mm^j2OGiL@rN2WIXA|0 z&_yR5g4PUulbkr`tn*HwrOtHIPCxa>oI=>?wauVVey5T`E|CYvHwg8o_1w=HX6dH= z!NwAN+V$t@gPzC+RKpKKHC%=rhFIc*8Yvl`L%`|PoN414o9N9EGX3*mLLZ&L)&xOB zpB52%rkNsLK>!Zz*alo6pa_5P z?;sLrhCjaXhJyqFCX6^0dV&xIJw^dS5a{9;A>ci8jWLjs8{`4?01tdrB43BFhd0nT zMQ@yubIFK@9(GhMuB{{s--z2o4l$=`b@G!R6Qvjr2nm1iWscFnS-vEs2&-*l9c)-h zBJClc4$wh$7*gdXJ!Os~8etoWkPHl{F^|5KAsvt;5F-5Xj;_SdAI`LkH9S@+LkjXB zez1o@4gv;o{0@~X*#cme;lw<=qm~3Z4=}~ZjW!&F3EI#{r^-mlG_G+aBjTQB`T!4l z4{8)%uKVW@QHxp^4yi~-N|Fs>8(S(RDTi7*0+&+zB@0|)8b{1+ zhTd^n;3|(>*?_}T5D-FXciOrPG-I<5;pWlC_yI^n1&pu4?g1HL$hr24 zyuGR{LZ~a(LV6bh=Q59Yzsnk{TFo2WYmIl;B%>T@GAQBIF9bd?4S!VDzbgswfH9h` zjs1!pCGyTNrqwY)0aqOCm^7x*1?W9stH_*f}Y)&{`z`U+1 z57>-$z~PW$?dV_`o6VNOx4rOyE(9bIIqhdL)R)vw#|ku4zXlg+#Y*Ji_iv*sa@4#CozSxQM8LpmVsilbs6(aa_gQT4sqDI z$TiM1d)*soc!D~5g|N51Bbn}XLz*S=2IIWjOGrJdn0pemT)Lc0E%+|O$1HJ#Vj2Ep z2t1sP{)PaI{elf08+qdc?-7Qr8z5~60@FEqbf$qR=DtZdYTFcafmNL9fFJPWN832P z0gnC?7GIpl-8FKtfy>^+ZqnlgDy|a`f=pXOK+Y6gE3VxQ0c6~h*n>q7H0ELqaoAcA zA}4u|SdQ`}FWJQ6XlHB4jy<#6vZ{*qb|2To-ax~fkdnDU-rz9|S0}oU7RR_YX?|mV zYo_Kr2RP2h&XRPqlqHPtm>~2~3C503=aPv+F+in`zDVE+dyGOa&D2grv_nw(Gl-cK zt;z-8SszX}`e~=$sn?G<+qEZ9vRf-dXYYQ7(AME?d1!md0D>E`KehyCtQl`oLx^u5 zd`oiYISUWG=+~Wj*Qz2Zx*w3P@4nxBeIE5f=3L<57c7(4<%kN(0kXbTI6T8X_x@|% zoSS|pWc-6e4cT=Z{1+DQAws7u0s%t=LK|uYh1v|B;w}CR@A-s69m-)3Bp?G8!L2aO z;tH?w#4ac_u*IQ@0`*b7Yd*z=%?vCII31#r5aOA|S!4A$rMVv=Lf}#wv!5_e3ZzQO^{%IKe!I+Za zcl;^{S_7CYuI-eg@EEZ0gl`dlBuH2*hF**JBoRt{PuhZy5f7pbv>_6h{-6_$zyglV zOeRD#606IM?%USHs32eqhQU!v$q;u+t=cWYg1{N{fg6S=v7k`i?nv&0s5NBK`Yf*d z#Lwf-?;+mc0DC1Ic?+VG-B?=!g*l5Tq{{&>XF=5z0#+nxU7larVsR=H4skHm(e7@fLGY z(2nu@*el4+3kBbSs*a}N9zuU81QF)pLST?mMr7##(gQmVkc!U!QpwT&1dj<1q8;Bc9xJWq zR`R`MQbe%E{mjL1h(XCXZ3~0o8RYQ9QY;1n;ob_N4=~M}kYNhM0i34mk{F@7uq)xJ zitG^48az@FF;Vz%4-%Pe68UmTDshMI@`}P?Fb9(xsO-1cN*jt`4$naysB8%jVi*+Y zO_D*fVn9OBW#D83>cVf!^Z}e^anb&*7g>T0z=6g#^Du>xkmgY|Yx0`7Cj*c{8{R+= z3SkU>Lr0!*B_!m(fNV0QZWLF-fzX90S3-ge#Z1znxfn17b)*b4pb|DO5$HkgAmF3) z$u4=(#J=I8?$PDEYYV^u6W*W@{@~LXEdvE|JNvC5Bgg*qkP>wj~gy;#K>qU(-XTp6LVqBk86@)Ib`9J%Nf8UQ>H-rJ^K#kxa!dab_^vcC#mOI- z0nKKrgKQE)(%>AfXLZs+LDnQQ=WDuVr;XTZ7kLge)yPiAk2DX(W8~DK{-aJe^1VQ_ z7|rj<21|mX(o1%;BK6@FpP(DoRDU29txD(hTV zB3&O6{2((;*VI>~iYM!Cu9ov5Btgemv?%@6N|EwZNhejC^6&_iCD`>L+*LD1q;|inafF9n#5$NC&;6WeW0TRe^6}NT=V<5uKoGRS9@OO!reLv{)+*9=N1gzp`k;bFL>?R=3(mk9=;44Kq6oO*f#^UH!0Lep z;R@gDX8iyVmH{8MVXz{19v}h!HxD8W(g7cip%5g29M-`n{vZmHLVxB2SH!^??B*e~ zHo4$dI@n=y7gKH3*TPnUa3R5P5f=@xL494V2p|e>zcy^gwrtNfZ5eBL7oix;Ey)_@ z5Bwlf%7Mz3wrLX~c~?g(qCpRY_8q!`TN%tA6f-CSm}?g!2=XQ!E@2U8k8f2omR47*B>ll zS|~WV*mm45few-)1OEP?fE8g{+BSOn05-5!d%5>RlHq$j2%-vM2bIqr3ioik_>9AN zjQx>w0D&A*1dSGf7?fi@G`WIWLtXsf4E|&tc?9x+G+C<=A;zs89N`Oa7aul>k_&hd z{=ma{xGjD-i0NU7ix_*hfski5wOTe3Use)h_7c0<_O^g}$x9!!p$~8v8$iWhvLS>a zU<_`?cXqIh%FFctAsze$8|WZmL_8oQ1s)thS@`jl3uzu&nqHhJ1FGe#MYj+frLFW1Cj22A783_t zsiOUXWKG&1!YUcc%OLQ%SMZi4LVBd@LaSXG21Kz}vdN&~D53pfp{+|&s!*+413aGE z8TQVq_fhsVk-YFB8RkDRtZ8kryt-Gwnn2{`siS(T zsgh$vx>rbAFv&|EE&zCjLk1T8&sLG;050c_RCiyRj03DT#${_C}kI}l`> zwzc^jXtRw^$eeSZ;0f|12;h7g&SB?bfDdQ-x2BxSKd+6JoF%&4$LVv5+T2U>2+uM8 zAuP-Pyg}XQ;wir3XSUw$z1e8o z;yJ$KzeL|#NmA0W6G%~k3$tae=7^0yls2b%Vpbh?#!Ly9v z5SSe2fj;Pke(2L3<1;?CHlFB}-r})b8;W8bv>_3gd+C+k4{#7ynstb9pc23VJkFsR zBoOD{fMapcI;j5a(LU|fzK4wd=xr$J*FNs$e(veM?(P2W@jma3t?k{OhTvZB0YC5s zfA9&v@D2a)uaximeoFox@g4v1AwTjZfAT3GN_>KSg zhu`;qzxI*8`JMmyp+EZVUioLA`KAB*u|NB@fBW5?`b*#Xx&I&@VE+8czx>O;-^YIu z&42yLUq>Dw{KcRB&ENgse`V_*{`Xz}*PkWyfBx~`_5h+vk|Rfc@L-|hM2Qn48ajLk zF`~qY6eB7;p@IdE9|V(BfdDe3$dM#VnmmazrOK5oQA&6cq$SH6Pco#WX_MrG1`8A< zKmatT&;$z@IFN}HLWZ14A;19nU?+o~MH@JH(9~pyC{q;({fZ!gf&~pmK5)Qb>Vm3R zQ)YN_BdgrGA;A>t(?O+#r*vBec_KmN%a|u0bOrl$EQ7XC9W?05mT}+0QmHbqnjuPD zkuU;J{tSBLV5Fl}cIZlJ$-h>F!BKUlhMTJJHm|aWO z-NO%yCrRK)JpAyJ4>3#`S>aAK!WfhSTLLw}C!A~&3RnnYiDsH=&NW;?2PL%7a&pdT z(L&B~bc9E1?wQpTkWiB(Qc*p&mX`?x0E#BTj73)dROJCuj5_L>^(B`<{l}Uh89I{G z4c6EbOl~lqDc2sEc(O@>mUg)xmkBIJ5*w9lGa;WXJ<*Lga@-J!Jcpn}$2SqaPr$Ogtxo~D zTD5_S6qRGjGN4E?=48TbvW0}x2m@n0gUn^iUIlMoJCVDpdjkLf3MXa82yVg_U+i0( z#lguCogT~CoJM%+iE+szX?kr+l`$+-0iSdtfNcIX(3Yo@io`&}U?t#SXiPK%O_53U z!3hAXzABdk351fW&Q2q6BT10dYBEWV=!5=9NKd5n!7$jg!GN|;eIQIIojNGO*i z?y3)q`gGJKWv~b!EosRm0Gj|n6jpm^Q^}PvL?TDkO|31Gi((@X0GS33;K?VV7Epk< z@fn^{wqr96fC1%pGBMc;U`~4JEouDbaUZXaT*%Mm8J+0~Bd#(7EFiK98UTtX127Mt zNq*Q9eM$`k50>6WBQShPjQC@p>?+ZYw}Fj^j+g*QOlPmEnCT3&IRZqka$gYu=wib& z{Yg-Qs54HSScgH0xNc;zo8X$j$No0kttxjhgCGN{;SS${M10IsK*AodI0L0mP+n19 z_EuHDkU-CLM(~FBRszEtYOi}JQro}w-p8f?8R&`xJl+J`Ha5t8f`LMDAOMGA#xBb7Vin|A2JiTg4MJy*Dk(xG#Gwy) z7()mmp~En^!3Z2c0+8&e#0N;yhG@9MAMOyx5zWE?M0H{lo>*Q`3;+O6aDo$_=!EWs z0!mSmQWM!wAp{r@%1vqN)k|_MC9DWE%87iTT{$YF|5#7LtAPMQ31?bWfpQc} zglRHDFo)ZdM?9Kg3}Y+;0ytPi zG_dgmG)w~@(zroSPc^?!#P~B52y5g+8kx`pClUbI2DL>3h6u(eKjBHr zt#eGBKvhx$fC+B?02L%fSj0E{L5-YVq6i^TBp~UL4ZB$ro5O&>zwp7Sk*JiI#zf|N zmf6f_mLw0+C{a3wVFXA@l9HBWk>&_s)lCR=M~*`b0RVumPmnbf=L5=OISBwZo)Z~B z6)I6TBN{(UqnY0j?MX&DNq0;m4Y|w)q(NGO->46V=lEky}2nJ$>V#@&p zca{OLB~Z-83AL8>mH_~reo@s+&k+SA66h#CK)Z+0X4ACcKrJ6H%$ho?4v%-#BkVA2 z5<94)9hF!FH~c}2ki5Yh8A?Vs=wXg?V8;?8aRfcmVGKt!10I(QNwz}KPFu#4@}5o z9p#v$I3OVpceL3b>Ucv)hEXE?f#eA%_Qy1+fsb>TJSWXK$< z5lI=gA>%-oqZ~UO26oI*2=w?v8$n=%IyA92{DJ~>x+LX0uX-+0igMNe6(uN~%!zw! zHU3ahNCrOav5W;Fv=gl$H7ORg~hOpb)NEmz)WHPy-DO@Ix>( zG3AM;b10+BK%@|x)|eGQ0HsicD_DVwQA8}>Oa6p1_>s0t%$d#Qhz4Q401kO9!x7NH z2Z;9E=Vm}cLjI@(Nv@sdHP89Yah`LXM>6$pK;jbQ@CP`)AQBtnSjRkOQSlr|WmUgX zjED*4CL0^M^BI6?N8ThTM8&jbpj+MSCW*`KL5)P zd!(ZrCBlX!@WJL1Wm+UiSNbCMJ--0J;^C(@wJ&@@i&eDs6RH&DskaRAUesb0{#W&7 z%Z-5#XDD7C?63m__?#iBQ{CzyZa!T!d_fLp(8DBiK1g6djd@(O4C(MjZbPC6c;F+X z5IBTAydRQ3(1RL;fdB|ssDQ?S!gB~~$3K|w;>Qys{VRLFG- z4wq%UU<>o3H)TR*B2fu+_6Hyl1lW)sg%B7)04N(J66|7ZTR?2ffCC_r2k)>BY!F0k z)d_1v0Hp8=xS$KZ&}N#UVHgE4Z>j=0i6|6w7aM>G6s>lD=)zWqk0fGg)&%! zvIiy$6aYzhYP!g3n*a(0uwaP5J|U3^`VfvFp^VJvj74O9H7OI&*D=zELDbhl)+Y#; zKp1xz62W2(*wsU6lL5_ujOAz+U<6#tBR>T|05r!6Rp|<=7YnfP3agL`q#ytV77FyY zXfG2pGC~KH$3e)q*crYQ8Xq zw6Kd!6BL>7h2H~|AaRF9Sbs;@mTt*}>)2cZ&*TL=;e3ITT+64S$Y zBJl?7kb+8~ly&$$NzyjDlp6&g3eOpx$C;cT`k|$O3Z?L&9vYpbz)5iP3HIQdD8U4l z;9Uv|cKQ$rosva!lK(w@a zTt=8$W}b)%6o|l|Bk`C?Lp^G2t^u6$Ljb0rk-7k_xtFKYnq{%)NdyoK)~Pk!fDQ^r zW!;&HxB#9)5eiratNv6`I4eO90X8I0AS(<5crWK1bU@=Z((h9XO zm>{dMgETt9$3Z=9Oi&_$mny`=xvy+ON>XAe&_z9)3nL0}g zk>*LA5UN(1K0sEk7<5tN{`TAHT`voT2 z1Fql6iDStMzbma-W}Ym_i0wF?<)R7UFmd7Q38tW_AX^Krz*foIufdqRBN4Vv+pmoJ zx6z}p5b(aYs%Q7>ei-^95A!mvK!Y3mxemv%92>Gj78E6WvLqn^ey|MUaAu|(5`7R3 z83GTE;2Fp&vm30z5HO^d`m?bxz*)u$4CJ#w`>{4Sv{1SL!2)BkJ8sKRu!0-4H7pWS zOSKziC=T!P2yE8WJp2WV0j+sXz-lYrw>-nKvi^BvdXymM(US zdtMd_y2Q6qGry0Dm;RE9yMs#yI&!I4mbQAz3Z9AppTM6z{KG-)8l<{pZFy>|5CCAt zL;^qyo~yQatElrAA1MnGw%WlWH4HqahLO6!qp1=!?8unJyQeV1L0f~=TD*F^ugVJ& z4XFtR06Aq6y$U$4K;bg>nu)V8w5`@oa5IbXMmhe~Mw}1~Y}8NW>$#a+YO#>Mny{bA z$}YB9Nbewqs`<2FOuu0a62Wq%w>psa`wmCEzZT1Cq*PWJ%gf~(u7I4l+kC+8`o<=k z5?P=P_+Sl?AWRZm9)h3^`tWr4Yi#UWx?D8OHOqoUD#9R3!b`eFC_KDQy27bS6#9F+ z$!x<>i^Dlg{wF(JlVD&D+wgsYJH*zIHfQsoOzFWaBR`_BdaWA8+uW+HfLx4dE++gk zYAnDFsHhMqzsn5MFH6Qhv<&Kj#x0l%iF>40=t-ckm=G<|$UM1rY^vl*3#iIOKpVxh zKnj4Fh{t2d5P-;&?3l@*X)*AP`7<@l_tKGE#)%9S%letl3eF;l$@aMl>C3NTI}*YW z3}2}`rR;F09BQz@&sxUHU={!Z6qW+`vt%L)rH~4&@Cu^Pi=Ge+)4Qs}3(mSA3v4w2 zn-I)3_Guzf2ofd9$}Gm4y=UT((dC5=;xGjU``OhTPHL1J0-((TeAjEN$ss#SY^1;` zF@cKy0Ldn?2s;H5e83J~3)b`;vmoIJl|7`a$T&F*vR&qpP594Es=`D&07P*%+;$R~ zozPIb&5-@@0SSd_n3ZUrCT&9tlY-;I> z3$S1cjL0LL2xcmsxGY_gF5S1xe4%4(Y=T?UbWpgLiny*#g^Vi{p0JqU4HDu#)R9@L z3J7sW4c$u?gGw`c@8K4OB@C}0CvT*PX?2rhW z25tJl4UHfP;Q(LQ@CO$gj~RQeyCID@VCyGNSs=xUe%AOK>OE&`xVEvUuxjSHfH zP#&iT9dH)M5*0;o4E)dxY!DbR@T<*02Z50R!`%#hkP~1~4f}uzbYL%hfc~_Jz*!LR z1=cVRkiZ2%0ZNS}3iP>vIy(!eKqk#~0E&4D`wjuKt`Ep?>)%ih@*oU6g<5CHTiK$<`ei*O0)Fb^)-2b?uU#^L~ra1ZR@2!>z`@eom$ zUuU(@5~?wXJ8dnBvXFC4(zZ9cu^PD;18Ej z2wQ+eSibYk>UynbY8!dq!HeH*%SmO`anisJickhNf$#ia4SawDgW>=k;8&fXDows+ zumB2s911Zb0H|>7(aNbNDJqcD^1A%@=PC-4ao)8Q4{(bEo*~Pg*P{DBc zuFD8Ow+MzX47SPj?9d2ZkO$1r4vsKI8Sn>fzX*TevL#Uj-&pT~Q3H~&56nOZR^b4S zzz@s-@XgE)_y7%h@CA+F4&8uuAd&3L-t5o*2T`y9pxN@5_$24PyK*(UAZlLot8t9B~N%iW2|?2m-*;<*S!2T)KMsqO~e00s@{kg%YI;DXyfw zj>F@!2fjvV>HgN2F{B~Fas+}ZPI(4j?-2A%nY3Kl$mOiohe@oU(zG1^h* z&mTNTg(Nl$a>JT!+le3m(g&QH+u`YK>%&Gz8$WfR3Oo&3;8amxMsY1YiZy9=qgJzb z$BI3?E?THK1wbG`>L&Q02AuLe|yJm}}k%Ckhy-0q&eJGI$0! zeE@;L7#f6h9##D&=y5<03l7 z@n#uKLJ5GAsR#fdMfd=)ue_sJ0qe&g0gwf}UdsOS#g zKmi2+e98b&f@y{uZXSZiAC4dxgByQFyyqD%7|>JCLa1Sr8*ebF;ekb{2__g#Ht}SD zpb}Vs0flZ*5IBDvxyTqw{W zi{(lUH_;@Xc(~D|%x)1#z>{UXIqMAt+mY}tN$3Gi9!N5{NRWEg$tIXi5?D7z0us>V z8FA`i=SB!VfJ7dD=xLa}poS84JY8mS>L~z#+=M)qx$-r|{}M<*09QHOnSm(2;fK`dxu;3mApmVvD6^d0K2qzF1h$4vK&Q2AIye z=V=M+DFTA+nYzv$NbCUyi2uH4{znxupSl57LEbxBT%q}?1VBfe`0BZzuIB-=PeuRg zi~<(#!v!s7(Uop3;0aOaz~RPpzNZvm0Lw}M;EG_E8x%nS2RL8#1`sSVK@fbAdkpyk zM1X5OPlfhj6#^u@E92B;nkyY)EGO|AhCykfVg_rWhl?svh1fDv@}0Fq%* z04ri%9qYJ4JLZuV(d(8CAt=EEbgltL*d1VS7lkJ{jfOlc<5M1|kc(tsfqqn5vD_9Q z2^uMRToGXtz38Y0DCQvk3-BWZK^aB}IDnLmbesqsM?%}hQkIP|9c3(o8O^v(m%A*D zW@5LRBeZ6g!z5;G8qhNU#A1b5F<>iHk&08KVim7g-ZF8)3NK=kK0KUXBOAp4R1$^( zrSv8lF-Zzmz+x7$XvHZQl|YP;kDMax9}oZcJprVm6|fCVc^ zA;O3jYl)3CUOHzXi*_DSp*vk@Lj|Kso;Gp;hKu7<22hGrBvq+PO@%68@w{0)lc`Ka zg-(M?KhG_Od>{T*X!`!*07^d9l5gvk5)ru5tOCY?^DLw1BBo`Q+nR9-g|%Fw$w;IMJ+S!4Ss zzJqMGjP+FBJt0Uf2#y7=oJ~MOkIC69R?wjgIAIEp)WV=vaEw>vTPLjA9%7lajK76o zOpi3vgbE;=uqEhN0HaE_GFP^DfulkN(2D2rk-6nOsNu>dU4y1FtjW9N4b6Jh3Wiah ztaYwtw_DJ{##eNBy`}2!-4eFz!o6z)q_`TrNDs3TZTNX<8swO_406-y?3{j_~4?gL3 zjcXs|R#?XYa&AW4yW@aTm&M+^ZgxEjISbHVb+me+!0XT15dklfqGMAx4 z-tlz*`(?$@H+8whZ<#}*-@x`4%xjj-l7$83O}=!v!OfnEwV6H3c2%HUMsi!-tWXWx zhZY>}b5{!uPf>FD#`VE1lHJ3JPZ)T{g03-h7ww%KANsvlZh(ll>t!E%TE+>6-jOx! zGmhFN%N4HRc*ok=DqFcA6lS%kuR2sV=lU*U)~lI)?HM%BPS?YBs2>f0;^WG>k&`ag z{(_6=U_p1Y05c*$000n{8SM{!2>IiT1aNHt1R&emhM)loaBg&`JE7B_k+rc+?m$nG z&=E{`z1L0cZ-;x_1T}ZP)s0DSUweWCAa{ULjhKgW582*nbcN3yZ~!Qm;3TCprJ3k& zbpNnA=pMkrv9c|UUmW8F7x2hQZh#pL;Mx)=`8R18U3TYNx#y-%zcH@ypy1jr312p; zkEC6mKAd{sW_io0)8m7DnB67xDt@NkaBDj3^x1<(~QiuU-b`p(<}1b`H(c*QL01B+FVLIBfY zHvB3L(c5Ew6xh$aDxivr+jo-ymd}1E-YH;Fl;8Xj6aXnaUmsbp;uMKTA7AE)^2WD9 z7WIjRDoQbZs35=F+q{J$DuODqs3O4P5r9%?Lmpa%QQ$!Y z7yv-TwCV_eRM@}lGKJ*|ii4XR;)AN=i>u^A1vE@RQYe7xW2WmPsqB$50k9?&YPdp_ z!)80O0YC+bVh>I{h1ip+swyba8URx8xg$B2QZNx*w7xHrL{US)Qd>7aOe|}ng;pR1 z$_tPR`Y|&KfK&K9s1n3S>?~=-it;L}6l@PtxI4UigQnsqtZxRkOinH zg_L9_Rd~eUL%2yKuS(1?nIy$Q3jmEo#-16)K$J03q{ILj08~7ZSWrb)WJhr$1!Kgc zRxq`mDMObOv{euy9{NOYK@7xE9I-se01?KYJF-<8N>lL0qb#6gG&<1=090Vawsadi z6d@91G!sl4v%<=wqy<*6N&y3aRcK4M1OTy{o^@kpH*PVLUc)4n2)xk1y$&yNK~tww4|NfDdk+w8tlrU3`L_HPDVRE zrEJA+Sw)HRLD|H+D&#x?TFzGZ%qj9p1$Yf-6qa7}4h2NDo(ayS98OtSNt)tH?!<~% zC=R4_V2q{QKz z1=OUUdgM8%D83n`PJ#SS?Cchzgv{-PQd9g+s0`1ilqpl7OOSNO;wl9%g;HM(5DayU z_-v2)#ESa#nc@Ke_T)|@LeC#1FjO#30>wrHMbX=01qJ;}R!B!hB-3+QJpz!>!aD^- zwGUW0QlHVe54Ece<tIGrMkwascA(ug%uMDwoN${q<+1(=OlnT^?0$g?s$ zS3=F!Dt$0fBvfVv&!pVaXbs8p3D=I**#dlwH0{>s`_{C?C9gGQrpT;EfgK%x{a3%j%>8o0wf!%GZC3B_O35@pQN`Cg z^GO3@9@acE0XS8xc!g6K1^&c!z*u;nS1{BX{hqzUBLkX+YErC^ElEovzyhGi7~P{( zCQHzUaW=M>&4y`f`vTG+IIEZ z)MZUV1Ip2jKT{xuQ6L3)99_VC#Iohi{ao3(ou#&Q+tvx#`;{+%RNng7OHQ>5E-L_z z&7QucN>m^P01yRJSVTNJJ_Ep9ZdDQE)(<^+fqyR6%nE@EcF-sSomBTCWVyBURWTmqoO88 zV+G6l!Zc=7F#ci5t)oU|#$D}S(#c=_%`do3Gf$2$35WrJbV(|)-@7Q_1LmQ|Dp*TG z1xBHsrw|1%mc0a?qUMC$RVZDMdfXeT$f!D40APjU)lmVXU>2%X;~63Vb>`z?$Ad*# zs7eJZ45D2Ae#vf1fDT|F=sXjYD^`#M<4&|b%gU!@b_J4~Ql2GNB?4pq`Q6~PVmw-f z#tNdWlm$LaUc8g!ZaL;;USq@v0^RYk=ruA3@@F-+tnsT_XXV2H*k-rMXKFD8!lln} z3xM+@WK81It~6&87C)kF22n9^4+NH3CN*v%$?G|Q^wqb=>B^ty~K#@f`!B=P*OQM+p_yktC3SNFq z&J$(u2Y(QRaBdGz z_zC`Uwx%2d0I9HwKupI=gC7{_CU@3Kc-|y=4o_4}nU<+%qq<^Tt;WdZQcMB>Ii8|b zNXK|p4jOS>@e2r(q7O2^g5d{V5iq0n1zbpKx?^fh1&it!Rc7jn;GF8J zen+f+Fl9TDu9hj$18XD_YwmGktY`(}M1arUuoIRNm2pwLl+Cx*qvwZu!^NX z3eA2Z&UV(y7Ekh0(Z*&|A{PpXcFWYhiw{7AWrzpY#)uo3hG1xLHBBDd?r;7NhO+ z)w$Nm7u}9gF_%?<59tYnzYc5y2nA3O03Ii>DIS1U5ORi7(H_m7SBSK-Oky))a@_V^ z`zQ)2cgpPPWxW3Pt7wX{{M`dOtxzCqi!)QihyrprbBq`SO_-nSI`s081tLG^RiXDA z%H`fo8-=`DWU>-0AzZDBMW0{DcC)>>5E^)`mzLc%H0tKuyUg)>| z9Sh{WnIN#AOF}Uao1JV?6-%b+p(huY-XBE<1~Wf@m?2_?wD+x%TVKCx z4It`L(cr4HY9l&>Ha3~@X}HjWE6OnZGoc6y8df;&LQ?QumBo9z1in}YpmAI9@ALsG zfo@>6LsNsGgYY|ZxnhHij~PcA=5(LV;~CNXRV~E>Q~?>V+gKY93MK%-PjrmrtrD4c zWK$7IS!RYN@@944l!A(tJb+A^x2BV+UA#;L_Io?dL~TgH98M_9BfIO-rx?fG4G>ow z^Sx*M;87dUJt|(KVS5k=(5-a({czSSp-vc%Fz;-97)r%@AA0*`#}wP_>Ll|0OXYv( zTmPTp>ZJM~k@z1eGamQfhJP59=*dZVu#VYAK{zdTz>YkT*|d--ffJO`)#)*~NsOmSE-2 z)15Ot_|J5O^c41;1@b`-M%wb9H+2Nb?xznW$Su0ZJqBe{QUR%O3p#=>@QEP@E27I? zEildcR$+-lOmQL)gyCUY6jL&@@Vg1_(tMlM-=>)#gBP6ziZ*hRMW4Nk+%v?KasvS5 z%#mhnlLO(jvLVvH)1Uf~pXBCRxecZWF8PWK36^GKi9^lhcoIRUVpx<>BAW6RF6%9C z9RW=aIB`jT!|gIGQZT;@1H1)%^vaB+{F0IL79aS&tyAxeGKW+QkBhG+ahQAKumK-V zD)iRd1yqbEuwv^0u$vLvh``73(xVS~#Aztie+XH})|82R+Uf$n*u5-!D1e`te`MrQ z*`_1#w$FhDn)RlbR(W&cLyigj0vXT$nu?d_y{x$CEhh?E7(wVlQ~IuOFzclbYMtTh zQkg&Z85IdR2ry(l*OTufM4HnvC^Z%A!3IQ(4hoHN&aqJ!JR{$WX_b6ArSndCvL|*@ zmTl($n!CNWO?L9i*TOqeTXvPCl>?B`tc} zbxC9la0sKm!`yZC>%*Rw95I@d@&OF(l*FaW0)+2Gzvk(Zr3t?1Wsh`tt$J0MfI#(d z5ZAQ?8qTxzYq)iv_sot0P&mWKPV{&{q~w?*H0Yw2g~dph6o$YVoDAF6ug4sCJ5pO@ ze~!#I>d!?r(HVM^FxXzE%5sw9_&vGxn;x#%B{E};`$&-UHk>@WdZ~v=1b$mUq%W%I~br)W2OS&du}m*ptmwAReO2;h`vxz zgF!yvw(_}f;-jfZVJA?pQDc!A>t99(X~~*w>21Mz{1=5GB<6WXw-6Xi1_z$7D!ik- z)!-2gP}t*R&NM+R=-lEG*o2vQZPHUG&n>%ws5CNkE!uDzp5&>T1rs#(o|W3HilMP; z+#hazkkb(7%EXZae$oTHH&@8RCEgj)Sd+9&C6M2dG`123Xz>mW)%I69cE!94t z7NL7J+<*ZpLY8zrfJBMhH9xv!g60<%T{X%qViwCjgh_Ijb7KCJ#tK>mBnE=E=%eB2 zZS`VI$EcHd@wWQgJ47G838XqxRrE%@Tw(O%ZInQrl_l+qO$9)5qvpiO@Xe;JHY|~Vm?x2K!PRL=D;RM;x^QN`D-k9e+s;5Kt;Tg4txi*hvMxo3 zafJ%T2^dHa1?whA-r+Az1fhTerH&g*!9A9Q1}4B$c9*9DffMCQo6DaVVmj*379jjY zg-(=N_6D(F+<&p#e3Q{Xj2);U=eAzVu(YaLG#U8X}|k<_&ZO_b%?kKNtAlo>J?oPS+k$FOF%JchZoi;~M|$n9Wf zAev{p2?8Aew>h?Ae2R7?P_ybvXZUo1XW<-vR=RG2RSXI)4947bMb(+s@~svN3ZI%Rt-li_f8EaG%7g?m0Yb48 zy=}S3JQ^>gs30Avur@Za+j(gh|4R_AAx8dP!wEeUbpl?lg$md;U&a z%35m*0UsPcG4=X&B4OG2{^e^`hFS*I2~xUD>nK%jx`HF&u=WDn+(&XF` zT6z)l+M)MeF;t!`-#45(C6fiP8rhiZ?dTrxWb4xi6DpGWJ{w6%*#7b7AIWr6ROzTT z#6YWs74zwIXZ&P-@RxqkOATG1^tu#S@RtAxU)j2MF@8eMup!>$m>QA)q^|C4c}dy- zez5Q_LYp}Rx^wFa7==7el8;&eE>lVdsr|Yr%8}bu= zl8iZaPmj?kOf`ZhVn6HJgpJpHt_0&6 zAbzFuII5;~g5M>Klo#OM5jL#HEZzc5ADvH-pHKX0K#FF|11>fy+pFDYTN0!9w>Dpi zx%aPgz7=CNdtx*i0Toiu1I(~cOy%FQF2KS}^&)#dmD+tC(42t)&M||I9GJvAr{6eGMaHJ0~I9Sc%X!q>U@mKy za+m_XCLpM*Ur83azu^_ZFdR(dT9kX!ze6@cfETeNGo9->eihlcK z*lE2(SHHE+)y$c>jnzOuBolGdzWZZscY7Wr;zLrjqMaU30}f@pRJKvmT;z%*8K}8C zdPFXuM4sFiw;8zTLr^!%;Q8X-^BDt>{6@-{S?I=&01CLIbhpuMu_|+--E<_X8IskwW1-zZXT*_6(NHm2%sS3cw&koEZADShUhjdvp^8-va3BJ5}AB6e7q4#PR>`JnXJcZ zPLBcOF8{**ZE(}nFKNZ73r~<6MSXjyr0GuR%UyZU;SnZ>9(HM9HI(c(G;weTm*&ED zj>v|NmhbIEkc5Q5@Y>rCqkGEq=>B1>6Hr!$13hB9MgF1yOE}@kszCH4>SMxAL{f%?#{`=obZn;x3cY(Ztik#6t5-#k;awN%xv1G|W+ZUsQt zCvhFc%I_60z;kH|tmlCcY;IEUk%I#roxM z_zT561fS}1i4b~35!psgakpnk1hyyq%cw_aKtMgN)N|(`VU7(N_u7GSs@c6i5S&W~ z2#SoV$hU@h^_5%MCw)~{n6*vei&Mk`ls?;i9CP+^(8<`aiy|*k!&757Nu0mIjNohh zBP859pjex{*e-;W&f7Q@-g2fs!|UjFqity~=CboB9sNi<9F=%wH8rJ&6|55B`o(F) z^uHWppECepHd{09W-wqK{vQKAQ=BYIcsCO8~@w&yr?^N%3zJ(*uVdL^72)nRx$HFfKnT$=z%^^Mhwa3~noA1a3@IR@|4K!{m zVQb=-$)9RJ&qLx+7Gp6Sc29^P zy4-z-6u!sPg|VS5=)9F|J3T~U&3V2I}!64gQ!64@wz zQ9rHqOwfveUAp2S>$xY0zgx`2OGTyr%i3;iY+=m6S+~1leA6jvvnT-`CE8*f@7;6Z z5%F0`4`^k7xpOknaRe9d|B#}&4-nEEm=@$^X_hnM1xQMHbo4ty8k+)D2c+Jq19?EdO;BOawXGVu1& z3u@3HNDryr2c3wsUwXNdJQ*F8tnC6Ss)yf!IcU_YNxAp(MQAl9o|5tw|ARoA9v*nD z|NPIXNI-5AA72etoW8pqErMU;_|FnJqPMsCtz7|B^!U&uA*`f~<(haXPQ^p4678qr zk?=kIG)50lpInrzXzrX3J|NfWfZVP|z9p4(X*+uioz#pXxA`Ns znAEhk!cRf_?{V@SiGM&dPY~cajc#_ntDZc$fY}H2#-6u$u3HpDyvq7_lcR1$oDWH? z1ZishZ}|chDH`$@5rQ)!?0-lG-7AcjT=#QGz`x@Rueq7*M}}{pfCgJc@qC!uh#*4p zgIJXv$!kJnvdxnirdw8-lcju5kLmoxD|{QiwXshAM1s`Wg|rTZL?UlhEt;f<%C#_Y zl&Gb0yb=A;5HNH4U{%t6*ViM{kJBVynGjxyA>2fTTya2OTkH)|Y^sD2l~v<9F}a|G z$MCbl&ijM|CNvmWa~N=dH$5~f)Uc|-KXB0fN88-`*22riUv<9&j;2L$k#%_QtblkP z3W8uV7DyAht!q~(gzEC)6^_UdubscuIxOI_Xu!*ANHl{MT`>sO_#ikomZW*aYejs8~^&z=1=u|v=J zzI@vFs6cYsGp*c^sEk4PUM@imm{GWDNiUx$iOdA4a$PugdNpmF5+BJ3@UX zyA^}gxYRLRHzvFb=Fzm|gN8R^<$mn7ce>xYabNUG2Pc`xb;vB^TnR5oWneM{g0oXF zsZbB!rWv@fhvm?Ca876NpT{7=I5O?#nDl7y-$Yd5VFv(UeVld^zWiQ9LHM#0M2xG=x~t7l!<;HLy}Uh@iE=a&h#ksn_# z;HKaekhoXR{!*uS%h7q{LOd9-)cGx@&b>; zBR`#{?X`5RJnb8+?h?%i6AkDxZ4Ox???v$@n79D%d{ZMWRYR!1QLQ26AYc^d)ld;I zZEC{!r;z)`0TT5u!SXcPL_lX$>B}XzilTtM~Pwr%c}R2pb>xqhD6@17ex_;yU! zvyI%3y6HXoZ?Kdnjox3?QeXl@*c}f538;{1=#&p;`97xQKADmH`c_XCt*b$eT-?_l zeLNLH5D;7VE=EzSt04x5t}M7MvRTwGj2_d^$1=jaW4F~`OSp<%spAOc`jy$5q8`Gy z3H?Imlbk);+cL~Ivg-7nAy<>^%+*Iy5N5)@V=;_?h__sG1Y>eHda1{axjW9tG0eS? zA5PLR?W{W?tj`~Qt+vjpP2Cy-qJeaHMf!V zC$a~fO|cY!B#8PeZD-TeW~>}296`v2XE4jZUpJ%5{GA&nLf*vkeSM=*>Cwwifcewy z2l*t1>#BhJ3r~2h0jPDA3=s2#usJ|b7*h-g5bUZFB_Z$_PB=xP@7u8ey1$3 z{+6Tx0PJX-nYO4z2AG<;wAWg@H3?u27LCS%sKJO5s7K6==4Z2S#FQ}+3j+cpcu%{? zEMDM3L6oS-J}bM0)L}8l7_v<9W+e@EW4n@4MnD%29uQ$tU)m8}g-z2D@V_6alR}I^0f&4DRYW7y5augvH~f^%hm?7{r8A%9Qx=U%>yos?m)4ACMvi=$x13|%9JOee^X;11IOg7e8poHf z+V_JRePiTe`Wejb589p(d_1nYDE%Mz`!s?9xKrzu$T_3HAH{#R&c53JCmrQlJbGtY zu;49m!@FIsl_%5r?SDk&-La>>JjubL>d4Uh{VIX1DF7B`>aC3d|J}+JA*1@(e!4pK z3PH4>oFje7^8rRZZuFQo0~dLZwx*Rx(yY2!?5%Dm#wvpC;E|^A7*QGIDe}Q|j(etQ zrUMct5N`{7cUtb>9TOTpoN@DPm-Lo;Vt9R7Cx$edP7?ZjDQ(P(Z7fUJ?$j$9V~SvR zZy{%Nw4VQwfFDlHmdGZ6!dtmFKLjy|k*CxL$EdApi^Ii`!p6Km>2gJh5dh~Du;2mR z67`o`?*qRMze-7WdAht;cd=9UGUv_P{=~FT*ZT1ELUsLtqOY<2`6zBsJgvE&dQGDk zEJ;SvK1?0c!P}*dXjlgcC^&Y|!UZF4e!Kn#^J=$E)+K8iBVTznD$V!%^2&6ur7pJg zo@&zrRn#G{USmqzY&Y9P3`=%wKNl>OiPNr^Tm|!)@ttl z3{D=|_fp-RdOc`Z)_o1pR}M5?<^1F9l`$#gBJtU33dhkmpwdAB(1m#*gv7ku~J=8=D6Agh<~VBSREZhOIkk}0o6*U{rW ztGv&OJ*-u6_ta4gK+&E_i#bO91b!Df#KN9YlTIcdt=k@>v1ulgNKT}#U%rTX+8d^i zi^s(ulcnu^Sz5I54-ugnLHE*hElUT!*82s&(Agkn%l3`VC&qM003>x7YP^5OJ@%oS z@MBih`ufO^#eF3MxZaCBGxhJJ?rEe$eKUzns$UqC=SQV;Jsm@0aPOhV1y!KI_qsoN&s5**Y{)!nHe8tUUJ-okxaZJ< zkAGxKl6W=AM?b(+Uy&63d#1+Fl!^&8%cE)irr9hyE3}fck!*)4&eT20=T0qq;`4hh z_V3HSpvX>>A|FrNbN!R2#eE&pb{sODg9sLB=aDFQG6-qW162P>Khv_+H*E=H;$xbs zwKyNX#?4jLU7U%wlvgN>gF9=7eG?kUcF$8G@4nVN4bgvUU$OnCbx`S7N90*7+jWjf zVpEx&<#35IU58<9^10Hj5PG?}Uw9DFvyLRK!xKx6m`;*${)AHYNbza|euX-J=smXH z8_d*sW9L_5Q0Ue0nVZqj?&CwLTv@Zmiq^SUKey2DPBsLrT}xL@?XST{E~+ci-Q?fv zBJUj;VmS`WyS*c{Q(`Sg!k8TWYsGpD;;dUp7*X~MB%DUaS0g0feUjQmAD=QlZ@$m# z^7^~*Gvba(9hS-UQ`v&OPi*`P%kME-%^Ie3)ZKFlCuJ2|0Ql`cv3BoHeUc(`H~jwe zM}{!H7t~1VN&9Pkf7PT0buFq{)%&%$pv(WWv5P<)kzCsve6SFtW)vHCNjyb_wO;g>x-1j zU%u$2VSOrsfc<;7q<-O$gd)=1DDM$j3Gd@-mSz*GF=q^$|SELod50?(8h$vc~U@whBrJ_FwO*E zpDM$N;7Ujpk~-uYe=k&Qf>5`Wa#6;A1OO#{kb;}gr>(rU=v|N)WsNWL60~5gT`?Yg#RB3~! zudl@L)a~n^TJCiQ-}aFXh2UFo1-vhxf2siK2ay+}U8hrAj1B_bz9{`P=?h{8Yg7y9AI*HZ9Grp@B!sS66$Q zD4QZBKkdu=5OccnbZqo1acTJm5rIbTI$Wk|8 zb6jNWe<53?b`g})WXa68A7f~x)f0Tw|EouJ|CCitQ~UT7DE`dOLAqI64g23ukwsGd zsuOy?8gxl@k6f81(nR^=cMRpU@@SGWrKw8uz8Z3h&d?XAG~JckD01&CI58dVNPlN_ zuUY*>71${EZF0WhnYgKeCQlr&q*0z3uWcE%Xp=t8jKG-p0_SIR86|a__ci2+(!dH& zgZ&Ts!@j`t#)Qj8yO9~8TWINU>0R;+MQT&y%59zLGQ;|_I|9#LH_a4}8j(nI>AR;I z^chA%8H*=R%!a3o_MYlGrcXPVnEXv&WX0){m@7JeTr)5Syp!;7$80L30Mxs;)t#&! zCOa=eO_5TDw-Zc}CdU6Y%A^ZnOwC7U2or!IVbtgX;wNOZ9XCB=6~*z*Xu}sZpZW0+-a8jM(eeSlz!;&K;V%b zhmUKg`Jt1A`CaD+L zpV3o92>Q21{;b{4uh!)*9?c$4FyxNMnTrh1o$`8tFVDU5G6YJ`AKGRrfIr*%=-SSi z%Ps!)5%8cp*!n&j&Fc+Ni^KV|M`b!%x9sj z?EW&@c$RP7Ts7T(B6HFN1RGY3V;w-^*6bG|`<$C>wjow%LY+wd$~(!#qlW;KxEBs- z=$6cMOywoeZ388v9i5Q?|L0l$fA^j_W<5{w|8lj?MkImHSf+DZ`i6%4Ze)dI7NVlF zUag`z>VPz{c;-b6Ex!=0up`@5;j?;i(klRcAJWfSm=sXRJhKrxCjcAkhNAb$Yr47m zHYjt|z;H*F&BEa0TOoIad39YHRv24-0f+69E)a0n8zB$m zQn&qI9t-G^&430koX^p0!pPvc*UX!axWC*Fz7ikMvI9NzN#U^hIY|dP-Yw}&Oe{Tr z(w__YJ1xnopP5T8lK+;&S{&){JX8bSG5Ms)WD6V|7%o_$w2NG-Ku*G^kK#{C`&=kg z&Wo|?u?#hnf2-!?LET&t^REil*_gwny%FR_#i_UD9VO*u!15s}cW-=I$u>-s4k>&D z<3HX_w|N2j7Z7hw3K8y((_&E=xrh%JMaNO+9Z%lGH?#f;ya{0;xs(fy8KFIL%+*)R zmM?qrqFJ6HF#9V7d=c{si74=|$=b=0nQhHits^bkVE??HR~jzEx07y^gROaB!A$|U zQ)m&?V(*fZ`R_sg?LwK$R%d`h_N|;|;>jFWJTMm-%3g#PFAbC-zbv6uP-qOydtUs~ z_HusSfn!8IMD9|0Vqwlj9(-yLw zgmN}G(&~~@FdGQ0>_Ln!ANh8^LUrLWd{jcgFelWtmPUhd|a z+JM*olXfD&>bkj_3S(b~wo@)ZFVSuLKsNA_^eUc(@Q#`zL*+zf?Gd0W=FnA+$vdTK7Fw+L^>k@NR_juq!sxy0?$MWa2+$K*&R&O?v5w^~d{LZ^u`8y7A z359U*=l1S<9q(VzRb8XJ@bD%pNt^o(*3K*gK)Ou~dzfv`4^|TR{e>J38GtPtNSW@= zJlq>I9E&I9A__Cn{oS#OR{jgB>M0WYpGwNeD;lWrExu5F(e%%Z*Q zRLJMoj&JTd(-M#zXQ7-Uh3tLZqe#Tgk|Q%akS(6G7P$@?0p9N6kW^x6Z{1**W7{8g zJQ!c#ste_uEo3L$<1kRMk4K`|9hn!qxhjB;CNFpHy{ysU*%`#ZnSj#TtTIf6H(WH= za^cNr5}Oid#U7IF2+1+j{URkNDdz>9a3RN$<8tfjA+_p}ArE!@0xO~r-h$yOY1x0P za+rf8t`|<%fiYhM{7SO>WlT!px5}B@O?%-=)rVwFo~3=$P2{Wt zj;;aNi9Ip<1v|Dcb47C43EjWNoSDr?PsrY$K)8O6TXVGm;o_m}SA|=a#b+XpSH+<{ z$aQK0hBLF94iDrybIkQ$<+>4ZM>#(Yt}yI_>qS7B4)N( z6wNC0JDp~P$!?NOT&;poj(5NQBqsLC?q2<^cF`+UQHN4b9?lNX$%iDfAI$tM&FgTC zso2jucPt+hST-{#)*N4!4<@3F=`Uv1Q2DRN_J?J`z%bxjIZvt`bDWUH$7c&Sx3iY- z?YdUGK57hS)|ls!2S9czr^^fqq$Q|R1=wd?p-Y(+GX8PAv3R z2Afd(n>(}6tc;EX4^9=&$Qy;#z+kGV_16qMJv3qlmhXH?PPT(kL?s~evj=W zfeHc%t?G8RI-`t*$4-Wfg%e&avt}EHxI}NQ@exrC)2LmS4Pr9g5^oW`7f>N0TA7=_ z$WV%?GZC+Hst)gEc(SbZMKNJNys2I*EEp}8gde^ zni#KHZh*DgDphl@q6Fr7VPO$>Vz5RLcYc2Jd5ieH&=jw_+_(XwU;IWIZQ$MbA%PAm z(1FG1)>ey4Vl&3n<%WudJhyO^n@GoX?Q$Jk{x(>vF^F;@NkJ@dcL<(E$rI| zD4T-B=68c|r`&^F&#pjI2|2lKEv3yFzely2lvu-neD2=W)+lbO75X($0I3XKX2{^3 z!v6laY-n4oe$L1)d8+YW1!^DtwN(HUgSPA6@2^y>dB^*x&Hcgm%Hq4i*u5ma3%5b z=+lRUarhhNg5;E`YP0eZx`zPg${`5<rXw083?sP- zCGq-U%NF@+o+?D@hy5AqI`PcwCC<%AFM3kMBD;Foj zG(~?wK&gePqIbN*F1XW&+yl^ad=vJU)0EIUjK<{pK@iLxp@{W^`ys{!MX58Qq6+)i z;k|-=Ru-^pi~_`t)}V7*hg?LvU!Li4s6wFy2L&S*T>z6B&!*sdoc7ugrk^JJA$<_l z%KyZDJR&&&Fx&X~V-4dveLjpxumm8eOe>riioiJWPDxyI|ES1QQo_nf6IQ3nSZ!2$ z1^#@BK!HVsxl6}#{;gQWAMU5x|)eY)9EA!!(L>}UZ@S$^NrXyS@>SV+Ts=@w@@;{;Bk~PUc%A`&!qW@toq5j`en;q-Au}PR_n(x!;ai(UbZ}C z67A$ThpX;HH|0l#GeLt52V&HQ2~~#WHnpiKOeAH>-|f0%E4M9-suTAQ6ija{tMp

RK()pJ`ac0Dmm-- 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