418 lines
149 KiB
JavaScript
418 lines
149 KiB
JavaScript
|
'use strict';
|
||
|
|
||
|
var obsidian = require('obsidian');
|
||
|
|
||
|
const defaultMaxLength = 50;
|
||
|
const DEFAULT_DATA = {
|
||
|
recentFiles: [],
|
||
|
omittedPaths: [],
|
||
|
maxLength: null,
|
||
|
openType: 'tab',
|
||
|
};
|
||
|
const RecentFilesListViewType = 'recent-files';
|
||
|
class RecentFilesListView extends obsidian.ItemView {
|
||
|
constructor(leaf, plugin, data) {
|
||
|
super(leaf);
|
||
|
this.redraw = () => {
|
||
|
const openFile = this.app.workspace.getActiveFile();
|
||
|
const rootEl = createDiv({ cls: 'nav-folder mod-root' });
|
||
|
const childrenEl = rootEl.createDiv({ cls: 'nav-folder-children' });
|
||
|
this.data.recentFiles.forEach((currentFile) => {
|
||
|
const navFile = childrenEl.createDiv({
|
||
|
cls: 'tree-item nav-file recent-files-file',
|
||
|
});
|
||
|
const navFileTitle = navFile.createDiv({
|
||
|
cls: 'tree-item-self is-clickable nav-file-title recent-files-title',
|
||
|
});
|
||
|
const navFileTitleContent = navFileTitle.createDiv({
|
||
|
cls: 'tree-item-inner nav-file-title-content recent-files-title-content',
|
||
|
});
|
||
|
navFileTitleContent.setText(currentFile.basename);
|
||
|
if (openFile && currentFile.path === openFile.path) {
|
||
|
navFileTitle.addClass('is-active');
|
||
|
}
|
||
|
navFileTitle.setAttr('draggable', 'true');
|
||
|
navFileTitle.addEventListener('dragstart', (event) => {
|
||
|
const file = this.app.metadataCache.getFirstLinkpathDest(currentFile.path, '');
|
||
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||
|
const dragManager = this.app.dragManager;
|
||
|
const dragData = dragManager.dragFile(event, file);
|
||
|
dragManager.onDragStart(event, dragData);
|
||
|
});
|
||
|
navFileTitle.addEventListener('mouseover', (event) => {
|
||
|
this.app.workspace.trigger('hover-link', {
|
||
|
event,
|
||
|
source: RecentFilesListViewType,
|
||
|
hoverParent: rootEl,
|
||
|
targetEl: navFile,
|
||
|
linktext: currentFile.path,
|
||
|
});
|
||
|
});
|
||
|
navFileTitle.addEventListener('contextmenu', (event) => {
|
||
|
const menu = new obsidian.Menu();
|
||
|
const file = this.app.vault.getAbstractFileByPath(currentFile.path);
|
||
|
this.app.workspace.trigger('file-menu', menu, file, 'link-context-menu');
|
||
|
menu.showAtPosition({ x: event.clientX, y: event.clientY });
|
||
|
});
|
||
|
navFileTitleContent.addEventListener('click', (event) => {
|
||
|
this.focusFile(currentFile, event.ctrlKey || event.metaKey);
|
||
|
});
|
||
|
const navFileDelete = navFileTitle.createDiv({
|
||
|
cls: 'recent-files-file-delete menu-item-icon',
|
||
|
});
|
||
|
navFileDelete.appendChild(obsidian.getIcon('lucide-x'));
|
||
|
navFileDelete.addEventListener('click', async () => {
|
||
|
await this.removeFile(currentFile);
|
||
|
this.redraw();
|
||
|
});
|
||
|
});
|
||
|
const contentEl = this.containerEl.children[1];
|
||
|
contentEl.empty();
|
||
|
contentEl.appendChild(rootEl);
|
||
|
};
|
||
|
this.removeFile = async (file) => {
|
||
|
this.data.recentFiles = this.data.recentFiles.filter((currFile) => currFile.path !== file.path);
|
||
|
await this.plugin.pruneLength(); // Handles the save
|
||
|
};
|
||
|
this.updateData = async (file) => {
|
||
|
this.data.recentFiles = this.data.recentFiles.filter((currFile) => currFile.path !== file.path);
|
||
|
this.data.recentFiles.unshift({
|
||
|
basename: file.basename,
|
||
|
path: file.path,
|
||
|
});
|
||
|
await this.plugin.pruneLength(); // Handles the save
|
||
|
};
|
||
|
this.update = async (openedFile) => {
|
||
|
if (!openedFile || !this.plugin.shouldAddFile(openedFile)) {
|
||
|
return;
|
||
|
}
|
||
|
await this.updateData(openedFile);
|
||
|
this.redraw();
|
||
|
};
|
||
|
/**
|
||
|
* Open the provided file in the most recent leaf.
|
||
|
*
|
||
|
* @param shouldSplit Whether the file should be opened in a new split, or in
|
||
|
* the most recent split. If the most recent split is pinned, this is set to
|
||
|
* true.
|
||
|
*/
|
||
|
this.focusFile = (file, shouldSplit = false) => {
|
||
|
const targetFile = this.app.vault
|
||
|
.getFiles()
|
||
|
.find((f) => f.path === file.path);
|
||
|
if (targetFile) {
|
||
|
let leaf = this.app.workspace.getMostRecentLeaf();
|
||
|
const createLeaf = shouldSplit || leaf.getViewState().pinned;
|
||
|
if (createLeaf) {
|
||
|
if (this.plugin.data.openType === 'split') {
|
||
|
leaf = this.app.workspace.getLeaf('split');
|
||
|
}
|
||
|
else if (this.plugin.data.openType === 'window') {
|
||
|
leaf = this.app.workspace.getLeaf('window');
|
||
|
}
|
||
|
else {
|
||
|
leaf = this.app.workspace.getLeaf('tab');
|
||
|
}
|
||
|
}
|
||
|
leaf.openFile(targetFile);
|
||
|
}
|
||
|
else {
|
||
|
new obsidian.Notice('Cannot find a file with that name');
|
||
|
this.data.recentFiles = this.data.recentFiles.filter((fp) => fp.path !== file.path);
|
||
|
this.plugin.saveData();
|
||
|
this.redraw();
|
||
|
}
|
||
|
};
|
||
|
this.plugin = plugin;
|
||
|
this.data = data;
|
||
|
}
|
||
|
async onOpen() {
|
||
|
this.redraw();
|
||
|
}
|
||
|
getViewType() {
|
||
|
return RecentFilesListViewType;
|
||
|
}
|
||
|
getDisplayText() {
|
||
|
return 'Recent Files';
|
||
|
}
|
||
|
getIcon() {
|
||
|
return 'clock';
|
||
|
}
|
||
|
onPaneMenu(menu) {
|
||
|
menu
|
||
|
.addItem((item) => {
|
||
|
item
|
||
|
.setTitle('Clear list')
|
||
|
.setIcon('sweep')
|
||
|
.onClick(async () => {
|
||
|
this.data.recentFiles = [];
|
||
|
await this.plugin.saveData();
|
||
|
this.redraw();
|
||
|
});
|
||
|
})
|
||
|
.addItem((item) => {
|
||
|
item
|
||
|
.setTitle('Close')
|
||
|
.setIcon('cross')
|
||
|
.onClick(() => {
|
||
|
this.app.workspace.detachLeavesOfType(RecentFilesListViewType);
|
||
|
});
|
||
|
});
|
||
|
}
|
||
|
load() {
|
||
|
super.load();
|
||
|
this.registerEvent(this.app.workspace.on('file-open', this.update));
|
||
|
}
|
||
|
}
|
||
|
class RecentFilesPlugin extends obsidian.Plugin {
|
||
|
constructor() {
|
||
|
super(...arguments);
|
||
|
this.pruneOmittedFiles = async () => {
|
||
|
this.data.recentFiles = this.data.recentFiles.filter(this.shouldAddFile);
|
||
|
await this.saveData();
|
||
|
};
|
||
|
this.pruneLength = async () => {
|
||
|
const toRemove = this.data.recentFiles.length - (this.data.maxLength || defaultMaxLength);
|
||
|
if (toRemove > 0) {
|
||
|
this.data.recentFiles.splice(this.data.recentFiles.length - toRemove, toRemove);
|
||
|
}
|
||
|
await this.saveData();
|
||
|
};
|
||
|
this.shouldAddFile = (file) => {
|
||
|
const patterns = this.data.omittedPaths.filter((path) => path.length > 0);
|
||
|
const fileMatchesRegex = (pattern) => {
|
||
|
try {
|
||
|
return new RegExp(pattern).test(file.path);
|
||
|
}
|
||
|
catch (err) {
|
||
|
console.error('Recent Files: Invalid regex pattern: ' + pattern);
|
||
|
return false;
|
||
|
}
|
||
|
};
|
||
|
return !patterns.some(fileMatchesRegex);
|
||
|
};
|
||
|
this.initView = async () => {
|
||
|
let leaf = null;
|
||
|
for (leaf of this.app.workspace.getLeavesOfType(RecentFilesListViewType)) {
|
||
|
if (leaf.view instanceof RecentFilesListView)
|
||
|
return;
|
||
|
// The view instance was created by an older version of the plugin,
|
||
|
// so clear it and recreate it (so it'll be the new version).
|
||
|
// This avoids the need to reload Obsidian to update the plugin.
|
||
|
await leaf.setViewState({ type: 'empty' });
|
||
|
break;
|
||
|
}
|
||
|
(leaf !== null && leaf !== void 0 ? leaf : this.app.workspace.getLeftLeaf(false)).setViewState({
|
||
|
type: RecentFilesListViewType,
|
||
|
active: true,
|
||
|
});
|
||
|
};
|
||
|
this.handleRename = async (file, oldPath) => {
|
||
|
const entry = this.data.recentFiles.find((recentFile) => recentFile.path === oldPath);
|
||
|
if (entry) {
|
||
|
entry.path = file.path;
|
||
|
entry.basename = this.trimExtension(file.name);
|
||
|
this.view.redraw();
|
||
|
await this.saveData();
|
||
|
}
|
||
|
};
|
||
|
this.handleDelete = async (file) => {
|
||
|
const beforeLen = this.data.recentFiles.length;
|
||
|
this.data.recentFiles = this.data.recentFiles.filter((recentFile) => recentFile.path !== file.path);
|
||
|
if (beforeLen !== this.data.recentFiles.length) {
|
||
|
this.view.redraw();
|
||
|
await this.saveData();
|
||
|
}
|
||
|
};
|
||
|
// trimExtension can be used to turn a filename into a basename when
|
||
|
// interacting with a TAbstractFile that does not have a basename property.
|
||
|
// private readonly trimExtension = (name: string): string => name.split('.')[0];
|
||
|
// from: https://stackoverflow.com/a/4250408/617864
|
||
|
this.trimExtension = (name) => name.replace(/\.[^/.]+$/, '');
|
||
|
}
|
||
|
async onload() {
|
||
|
console.log('Recent Files: Loading plugin v' + this.manifest.version);
|
||
|
await this.loadData();
|
||
|
obsidian.addIcon('sweep', sweepIcon);
|
||
|
this.registerView(RecentFilesListViewType, (leaf) => (this.view = new RecentFilesListView(leaf, this, this.data)));
|
||
|
this.addCommand({
|
||
|
id: 'recent-files-open',
|
||
|
name: 'Open',
|
||
|
callback: async () => {
|
||
|
let [leaf] = this.app.workspace.getLeavesOfType(RecentFilesListViewType);
|
||
|
if (!leaf) {
|
||
|
leaf = this.app.workspace.getLeftLeaf(false);
|
||
|
await leaf.setViewState({ type: RecentFilesListViewType });
|
||
|
}
|
||
|
this.app.workspace.revealLeaf(leaf);
|
||
|
},
|
||
|
});
|
||
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||
|
this.app.workspace.registerHoverLinkSource(RecentFilesListViewType, {
|
||
|
display: 'Recent Files',
|
||
|
defaultMod: true,
|
||
|
});
|
||
|
if (this.app.workspace.layoutReady) {
|
||
|
this.initView();
|
||
|
}
|
||
|
else {
|
||
|
this.registerEvent(this.app.workspace.on('layout-ready', this.initView, this));
|
||
|
}
|
||
|
this.registerEvent(this.app.vault.on('rename', this.handleRename));
|
||
|
this.registerEvent(this.app.vault.on('delete', this.handleDelete));
|
||
|
this.addSettingTab(new RecentFilesSettingTab(this.app, this));
|
||
|
}
|
||
|
onunload() {
|
||
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||
|
this.app.workspace.unregisterHoverLinkSource(RecentFilesListViewType);
|
||
|
}
|
||
|
async loadData() {
|
||
|
this.data = Object.assign(DEFAULT_DATA, await super.loadData());
|
||
|
if (!this.data.maxLength) {
|
||
|
console.log('Recent Files: maxLength is not set, using default (' +
|
||
|
defaultMaxLength.toString() +
|
||
|
')');
|
||
|
}
|
||
|
}
|
||
|
async saveData() {
|
||
|
await super.saveData(this.data);
|
||
|
}
|
||
|
}
|
||
|
class RecentFilesSettingTab extends obsidian.PluginSettingTab {
|
||
|
constructor(app, plugin) {
|
||
|
super(app, plugin);
|
||
|
this.plugin = plugin;
|
||
|
}
|
||
|
display() {
|
||
|
const { containerEl } = this;
|
||
|
containerEl.empty();
|
||
|
containerEl.createEl('h2', { text: 'Recent Files List' });
|
||
|
const fragment = document.createDocumentFragment();
|
||
|
const link = document.createElement('a');
|
||
|
link.href =
|
||
|
'https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#writing_a_regular_expression_pattern';
|
||
|
link.text = 'MDN - Regular expressions';
|
||
|
fragment.append('RegExp patterns to ignore. One pattern per line. See ');
|
||
|
fragment.append(link);
|
||
|
fragment.append(' for help.');
|
||
|
new obsidian.Setting(containerEl)
|
||
|
.setName('Omitted pathname patterns')
|
||
|
.setDesc(fragment)
|
||
|
.addTextArea((textArea) => {
|
||
|
textArea.inputEl.setAttr('rows', 6);
|
||
|
textArea
|
||
|
.setPlaceholder('^daily/\n\\.png$\nfoobar.*baz')
|
||
|
.setValue(this.plugin.data.omittedPaths.join('\n'));
|
||
|
textArea.inputEl.onblur = (e) => {
|
||
|
const patterns = e.target.value;
|
||
|
this.plugin.data.omittedPaths = patterns.split('\n');
|
||
|
this.plugin.pruneOmittedFiles();
|
||
|
this.plugin.view.redraw();
|
||
|
};
|
||
|
});
|
||
|
new obsidian.Setting(containerEl)
|
||
|
.setName('List length')
|
||
|
.setDesc('Maximum number of filenames to keep in the list.')
|
||
|
.addText((text) => {
|
||
|
var _a;
|
||
|
text.inputEl.setAttr('type', 'number');
|
||
|
text.inputEl.setAttr('placeholder', defaultMaxLength);
|
||
|
text
|
||
|
.setValue((_a = this.plugin.data.maxLength) === null || _a === void 0 ? void 0 : _a.toString())
|
||
|
.onChange((value) => {
|
||
|
const parsed = parseInt(value, 10);
|
||
|
if (!Number.isNaN(parsed) && parsed <= 0) {
|
||
|
new obsidian.Notice('List length must be a positive integer');
|
||
|
return;
|
||
|
}
|
||
|
});
|
||
|
text.inputEl.onblur = (e) => {
|
||
|
const maxfiles = e.target.value;
|
||
|
const parsed = parseInt(maxfiles, 10);
|
||
|
this.plugin.data.maxLength = parsed;
|
||
|
this.plugin.pruneLength();
|
||
|
this.plugin.view.redraw();
|
||
|
};
|
||
|
});
|
||
|
new obsidian.Setting(containerEl)
|
||
|
.setName('Open note in')
|
||
|
.setDesc('Open the clicked recent file record in a new tab, split, or window (only works on the desktop app).')
|
||
|
.addDropdown((dropdown) => {
|
||
|
const options = {
|
||
|
tab: 'tab',
|
||
|
split: 'split',
|
||
|
window: 'window',
|
||
|
};
|
||
|
dropdown
|
||
|
.addOptions(options)
|
||
|
.setValue(this.plugin.data.openType)
|
||
|
.onChange(async (value) => {
|
||
|
this.plugin.data.openType = value;
|
||
|
await this.plugin.saveData();
|
||
|
this.display();
|
||
|
});
|
||
|
});
|
||
|
const div = containerEl.createEl('div', {
|
||
|
cls: 'recent-files-donation',
|
||
|
});
|
||
|
const donateText = document.createElement('p');
|
||
|
donateText.appendText('If this plugin adds value for you and you would like to help support ' +
|
||
|
'continued development, please use the buttons below:');
|
||
|
div.appendChild(donateText);
|
||
|
const parser = new DOMParser();
|
||
|
div.appendChild(createDonateButton('https://paypal.me/tgrosinger', parser.parseFromString(paypal, 'text/xml').documentElement));
|
||
|
div.appendChild(createDonateButton('https://www.buymeacoffee.com/tgrosinger', parser.parseFromString(buyMeACoffee, 'text/xml').documentElement));
|
||
|
}
|
||
|
}
|
||
|
const createDonateButton = (link, img) => {
|
||
|
const a = document.createElement('a');
|
||
|
a.setAttribute('href', link);
|
||
|
a.addClass('recent-files-donate-button');
|
||
|
a.appendChild(img);
|
||
|
return a;
|
||
|
};
|
||
|
const sweepIcon = `
|
||
|
<svg fill="currentColor" stroke="currentColor" version="1.1" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg">
|
||
|
<path d="m495.72 1.582c-7.456-3.691-16.421-0.703-20.142 6.694l-136.92 274.08-26.818-13.433c-22.207-11.118-49.277-2.065-60.396 20.083l-6.713 13.405 160.96 80.616 6.713-13.411c11.087-22.143 2.227-49.18-20.083-60.381l-26.823-13.435 136.92-274.08c3.706-7.412 0.703-16.421-6.694-20.141z"/>
|
||
|
<circle cx="173" cy="497" r="15"/>
|
||
|
<circle cx="23" cy="407" r="15"/>
|
||
|
<circle cx="83" cy="437" r="15"/>
|
||
|
<path d="m113 482h-60c-8.276 0-15-6.724-15-15 0-8.291-6.709-15-15-15s-15 6.709-15 15c0 24.814 20.186 45 45 45h60c8.291 0 15-6.709 15-15s-6.709-15-15-15z"/>
|
||
|
<path d="m108.64 388.07c-6.563 0.82-11.807 5.845-12.92 12.349-1.113 6.519 2.153 12.993 8.057 15.952l71.675 35.889c12.935 6.475 27.231 9.053 41.177 7.573-1.641 6.65 1.479 13.784 7.852 16.992l67.061 33.589c5.636 2.78 12.169 1.8 16.685-2.197 2.347-2.091 53.436-48.056 83.3-98.718l-161.6-80.94c-36.208 48.109-120.36 59.39-121.28 59.511z"/>
|
||
|
</svg>`;
|
||
|
const buyMeACoffee = `
|
||
|
<svg width="150" height="42" viewBox="0 0 260 73" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||
|
<path d="M0 11.68C0 5.22932 5.22931 0 11.68 0H248.2C254.651 0 259.88 5.22931 259.88 11.68V61.32C259.88 67.7707 254.651 73 248.2 73H11.68C5.22931 73 0 67.7707 0 61.32V11.68Z" fill="#FFDD00"/>
|
||
|
<path d="M52.2566 24.0078L52.2246 23.9889L52.1504 23.9663C52.1802 23.9915 52.2176 24.0061 52.2566 24.0078Z" fill="#0D0C22"/>
|
||
|
<path d="M52.7248 27.3457L52.6895 27.3556L52.7248 27.3457Z" fill="#0D0C22"/>
|
||
|
<path d="M52.2701 24.0024C52.266 24.0019 52.2619 24.0009 52.258 23.9995C52.2578 24.0022 52.2578 24.0049 52.258 24.0076C52.2624 24.007 52.2666 24.0052 52.2701 24.0024Z" fill="#0D0C22"/>
|
||
|
<path d="M52.2578 24.0094H52.2643V24.0054L52.2578 24.0094Z" fill="#0D0C22"/>
|
||
|
<path d="M52.6973 27.3394L52.7513 27.3086L52.7714 27.2973L52.7897 27.2778C52.7554 27.2926 52.7241 27.3135 52.6973 27.3394Z" fill="#0D0C22"/>
|
||
|
<path d="M52.3484 24.0812L52.2956 24.031L52.2598 24.0115C52.279 24.0454 52.3108 24.0705 52.3484 24.0812Z" fill="#0D0C22"/>
|
||
|
<path d="M39.0684 56.469C39.0262 56.4872 38.9893 56.5158 38.9609 56.552L38.9943 56.5306C39.0169 56.5098 39.0489 56.4853 39.0684 56.469Z" fill="#0D0C22"/>
|
||
|
<path d="M46.7802 54.9518C46.7802 54.9041 46.7569 54.9129 46.7626 55.0826C46.7626 55.0687 46.7683 55.0549 46.7708 55.0417C46.7739 55.0115 46.7764 54.982 46.7802 54.9518Z" fill="#0D0C22"/>
|
||
|
<path d="M45.9844 56.469C45.9422 56.4872 45.9053 56.5158 45.877 56.552L45.9103 56.5306C45.9329 56.5098 45.9649 56.4853 45.9844 56.469Z" fill="#0D0C22"/>
|
||
|
<path d="M33.6307 56.8301C33.5987 56.8023 33.5595 56.784 33.5176 56.7773C33.5515 56.7937 33.5855 56.81 33.6081 56.8226L33.6307 56.8301Z" fill="#0D0C22"/>
|
||
|
<path d="M32.4118 55.6598C32.4068 55.6103 32.3916 55.5624 32.3672 55.519C32.3845 55.5642 32.399 55.6104 32.4106 55.6573L32.4118 55.6598Z" fill="#0D0C22"/>
|
||
|
<path d="M40.623 34.7221C38.9449 35.4405 37.0404 36.2551 34.5722 36.2551C33.5397 36.2531 32.5122 36.1114 31.5176 35.834L33.2247 53.3605C33.2851 54.093 33.6188 54.7761 34.1595 55.2739C34.7003 55.7718 35.4085 56.0482 36.1435 56.048C36.1435 56.048 38.564 56.1737 39.3716 56.1737C40.2409 56.1737 42.8474 56.048 42.8474 56.048C43.5823 56.048 44.2904 55.7716 44.831 55.2737C45.3716 54.7759 45.7052 54.0929 45.7656 53.3605L47.594 33.993C46.7769 33.714 45.9523 33.5286 45.0227 33.5286C43.415 33.5279 42.1196 34.0817 40.623 34.7221Z" fill="white"/>
|
||
|
<path d="M26.2344 27.2449L26.2633 27.2719L26.2821 27.2832C26.2676 27.2688 26.2516 27.2559 26.2344 27.2449Z" fill="#0D0C22"/>
|
||
|
<path d="M55.4906 25.6274L55.2336 24.3307C55.0029 23.1673 54.4793 22.068 53.2851 21.6475C52.9024 21.513 52.468 21.4552 52.1745 21.1768C51.881 20.8983 51.7943 20.4659 51.7264 20.0649C51.6007 19.3289 51.4825 18.5923 51.3537 17.8575C51.2424 17.2259 51.1544 16.5163 50.8647 15.9368C50.4876 15.1586 49.705 14.7036 48.9269 14.4025C48.5282 14.2537 48.1213 14.1278 47.7082 14.0254C45.7642 13.5125 43.7202 13.324 41.7202 13.2165C39.3197 13.084 36.9128 13.1239 34.518 13.3359C32.7355 13.4981 30.8581 13.6942 29.1642 14.3108C28.5451 14.5364 27.9071 14.8073 27.4364 15.2856C26.8587 15.8733 26.6702 16.7821 27.0919 17.515C27.3917 18.0354 27.8996 18.4031 28.4382 18.6463C29.1398 18.9597 29.8726 19.1982 30.6242 19.3578C32.7172 19.8204 34.885 20.0021 37.0233 20.0794C39.3932 20.175 41.767 20.0975 44.1256 19.8474C44.7089 19.7833 45.2911 19.7064 45.8723 19.6168C46.5568 19.5118 46.9961 18.6168 46.7943 17.9933C46.553 17.2479 45.9044 16.9587 45.1709 17.0712C45.0628 17.0882 44.9553 17.1039 44.8472 17.1196L44.7692 17.131C44.5208 17.1624 44.2723 17.1917 44.0238 17.219C43.5105 17.2743 42.9959 17.3195 42.4801 17.3547C41.3249 17.4352 40.1665 17.4722 39.0088 17.4741C37.8712 17.4741 36.7329 17.4421 35.5978 17.3673C35.0799 17.3333 34.5632 17.2902 34.0478 17.2378C33.8134 17.2133 33.5796 17.1875 33.3458 17.1586L33.1233 17.1303L33.0749 17.1234L32.8442 17.0901C32.3728 17.0191 31.9014 16.9374 31.435 16.8387C31.388 16.8283 31.3459 16.8021 31.3157 16.7645C31.2856 16.7269 31.2691 16.6801 31.2691 16.6319C31.2691 16.5837 31.2856 16.5369 31.3157 16.4993C31.3459 16.4617 31.388 16.4356 31.435 16.4251H31.4438C31.848 16.339 32.2553 16.2655 32.6638 16.2014C32.8 16.18 32.9366 16.159 33.0736 16.1385H33.0774C33.3332 16.1215 33.5903 16.0757 33.8448 16.0455C36.0595 15.8151 38.2874 15.7366 40.5128 15.8104C41.5933 15.8419 42.6731 15.9053 43.7485 16.0147C43.9798 16.0386 44.2098 16.0637 44.4399 16.092C44.5279 16.1027 44.6165 16.1153 44.7051 16.1259L44.8836 16.1517C45.404 16.2292 45.9217 16.3233 46.4367 16.4339C47.1997 16.5999 48.1796 16.6539 48.519 17.4898C48.6271 17.7551 48.6761 18.0499 48.7359 18.3283L48.8119 18.6834C48.8139 18.6898 48.8154 18.6963 48.8163 18.7029C48.9961 19.5409 49.176 20.379 49.3562 21.217C49.3694 21.2789 49.3697 21.3429 49.3571 21.4049C49.3445 21.4669 49.3193 21.5257 49.2829 21.5776C49.2466 21.6294 49.2 21.6732 49.146 21.7062C49.092 21.7392 49.0317 21.7608 48.969 21.7695H48.964L48.854 21.7846L48.7453 21.799C48.4009 21.8439 48.056 21.8858 47.7107 21.9247C47.0307 22.0022 46.3496 22.0693 45.6674 22.1259C44.3119 22.2386 42.9536 22.3125 41.5927 22.3477C40.8992 22.3662 40.2059 22.3748 39.5129 22.3735C36.7543 22.3713 33.9981 22.211 31.2578 21.8933C30.9611 21.8581 30.6645 21.8204 30.3678 21.7821C30.5978 21.8116 30.2006 21.7594 30.1202 21.7481C29.9316 21.7217 29.7431 21.6943 29.5545 21.6658C28.9216 21.5709 28.2924 21.454 27.6607 21.3515C26.8971 21.2258 26.1667 21.2887 25.476 21.6658C24.909 21.976 24.4501 22.4518 24.1605 23.0297C23.8626 23.6456 23.7739 24.3163 23.6407 24.9781C23.5074 25.6399 23.3 26.3521 23.3786 27.0315C23.5477 28.4979 24.5728 29.6895 26.0473 29.956C27.4345 30.2074 28.8292 30.4111 30.2276 30.5846C35.7212 31.2574 41.2711 31.3379 46.7818 30.8247C47.2305 30.7828 47.6787 30.7371 48.1262 30.6876C48.266 30.6723 48.4074 30.6884 48.5401 30.7348C48.6729 30.7812 48.7936 30.8566 48.8934 30.9557C48.9932 31.0548 49.0695 31.1749 49.1169 31.3073C49.1642 31.4397 49.1814 31.5811 49.167 31.7209L49.0275 33.0773C48.7463 35.8181 48.4652 38.5587 48.184 41.299C47.8907 44.1769 47.5955 47.0545 47.2984 49.9319C47.2146 50.7422 47.1308 51.5524 47.047 52.3624C46.9666 53.16 46.9552 53.9827 46.8038 54.7709C46.5649 56.0103 45.7258 56.7715 44.5015 57.0499C43.3798 57.3052 42.2339 57.4392 41.0836 57.4497C39.8083 57.4566 38.5336 57.4 37.2583 57.4069C35.897 57.4145 34.2295 57.2887 33.1786 56.2756C32.2553 55.3856 32.1277 53.9921 32.002 52.7872C31.8344 51.192 31.6682 49.5971 31.5036 48.0023L30.5796 39.1344L29.9819 33.3966C29.9718 33.3017 29.9618 33.208 29.9524 33.1125C29.8807 32.428 29.3961 31.758 28.6324 31.7926C27.9788 31.8215 27.2359 32.3771 27.3125 33.1125L27.7557 37.3664L28.672 46.1657C28
|
||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M81.1302 40.1929C80.8556 40.7169 80.4781 41.1732 79.9978 41.5604C79.5175 41.9479 78.9571 42.2633 78.3166 42.5062C77.6761 42.7497 77.0315 42.9131 76.3835 42.9964C75.7352 43.0799 75.106 43.0727 74.4963 42.9735C73.8863 42.8749 73.3674 42.6737 72.9408 42.3695L73.4214 37.3779C73.8633 37.2261 74.4197 37.0703 75.0909 36.9107C75.7619 36.7513 76.452 36.6371 77.1613 36.5689C77.8705 36.5003 78.5412 36.5084 79.1744 36.5917C79.8068 36.6753 80.3065 36.8765 80.6725 37.1958C80.8707 37.378 81.0387 37.5754 81.176 37.7883C81.313 38.0011 81.3969 38.2214 81.4276 38.4493C81.5037 39.0875 81.4047 39.6687 81.1302 40.1929ZM74.153 29.5602C74.4734 29.3627 74.8585 29.1877 75.3083 29.0356C75.7581 28.8841 76.2195 28.7774 76.6923 28.7167C77.1648 28.6562 77.6262 28.6481 78.0763 28.6938C78.5258 28.7395 78.9228 28.8647 79.2659 29.0697C79.6089 29.2751 79.8643 29.5714 80.032 29.9586C80.1997 30.3464 80.2456 30.8365 80.1693 31.429C80.1083 31.9001 79.9211 32.2991 79.6089 32.6256C79.2963 32.9526 78.9147 33.2259 78.4652 33.4462C78.0154 33.6668 77.5388 33.8415 77.0356 33.9702C76.5321 34.0997 76.0477 34.1949 75.5828 34.2553C75.1176 34.3163 74.7137 34.3545 74.3706 34.3692C74.0273 34.3845 73.8021 34.3921 73.6956 34.3921L74.153 29.5602ZM83.6007 36.9676C83.3566 36.4361 83.0287 35.9689 82.6172 35.5658C82.2054 35.1633 81.717 34.8709 81.1531 34.6885C81.3969 34.491 81.6371 34.1795 81.8737 33.7539C82.1099 33.3288 82.3119 32.865 82.4796 32.3636C82.6474 31.8619 82.762 31.357 82.8229 30.8478C82.8836 30.3389 82.8607 29.902 82.7544 29.537C82.4947 28.6256 82.087 27.9114 81.5303 27.3946C80.9734 26.8782 80.3257 26.5211 79.586 26.3233C78.8462 26.1264 78.0304 26.0842 77.1383 26.1981C76.2462 26.312 75.3347 26.5361 74.4049 26.8704C74.4049 26.7946 74.4124 26.7148 74.4278 26.6312C74.4426 26.548 74.4504 26.4604 74.4504 26.369C74.4504 26.1411 74.3361 25.9439 74.1074 25.7765C73.8787 25.6093 73.6155 25.5107 73.3183 25.4801C73.0209 25.45 72.731 25.5142 72.4489 25.6738C72.1665 25.8334 71.9721 26.1264 71.8656 26.5511C71.7434 27.9189 71.6215 29.3398 71.4996 30.8134C71.3774 32.2875 71.248 33.7767 71.1107 35.2812C70.9735 36.7855 70.8362 38.2784 70.6989 39.7598C70.5616 41.2414 70.4244 42.6659 70.2871 44.0333C70.333 44.4436 70.4473 44.7629 70.6304 44.9907C70.8133 45.2189 71.0268 45.3556 71.2709 45.401C71.5147 45.4467 71.7704 45.4045 72.0371 45.2755C72.3038 45.1469 72.5365 44.9222 72.735 44.6032C73.3447 44.9375 74.0311 45.1541 74.7938 45.253C75.5561 45.3516 76.3298 45.3516 77.1157 45.253C77.9007 45.1541 78.6747 44.9682 79.4374 44.6943C80.1997 44.4211 80.8936 44.079 81.519 43.669C82.1441 43.2586 82.6703 42.7911 83.0975 42.2671C83.5244 41.7426 83.8065 41.1767 83.9437 40.5691C84.081 39.946 84.119 39.3231 84.0581 38.7C83.9971 38.0771 83.8445 37.5 83.6007 36.9676Z" fill="#0D0C23"/>
|
||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M105.915 49.0017C105.832 49.5031 105.713 50.0311 105.561 50.586C105.408 51.1403 105.229 51.6458 105.023 52.1018C104.818 52.5575 104.589 52.9256 104.337 53.207C104.085 53.488 103.815 53.606 103.525 53.5606C103.296 53.5297 103.151 53.3854 103.091 53.1274C103.029 52.8686 103.029 52.5497 103.091 52.17C103.151 51.7901 103.269 51.3607 103.445 50.8821C103.62 50.4035 103.834 49.9284 104.085 49.4577C104.337 48.9864 104.623 48.5347 104.943 48.1015C105.264 47.6686 105.599 47.3075 105.95 47.0189C106.026 47.11 106.06 47.3378 106.053 47.7028C106.045 48.0674 105.999 48.5006 105.915 49.0017ZM113.67 39.1097C113.464 38.8819 113.213 38.7529 112.915 38.7223C112.618 38.6919 112.317 38.859 112.012 39.2237C111.813 39.5883 111.562 39.9379 111.257 40.2722C110.952 40.6067 110.635 40.9103 110.307 41.1839C109.98 41.4572 109.667 41.6931 109.37 41.8903C109.072 42.0881 108.84 42.2324 108.672 42.3235C108.611 41.8374 108.576 41.3132 108.569 40.7507C108.561 40.1886 108.573 39.619 108.603 39.0415C108.649 38.2209 108.744 37.393 108.889 36.557C109.034 35.7213 109.244 34.9007 109.518 34.0951C109.518 33.67 109.419 33.3242 109.221 33.0582C109.022 32.7924 108.782 32.625 108.5 32.5567C108.218 32.4885 107.929 32.5264 107.631 32.6707C107.334 32.8153 107.078 33.0775 106.865 33.4569C106.682 33.9586 106.472 34.5207 106.236 35.1436C105.999 35.7667 105.732 36.4012 105.435 37.0469C105.138 37.6931 104.806 38.3197 104.44 38.9273C104.074 39.5354 103.674 40.075 103.239 40.5457C102.804 41.0168 102.331 41.3854 101.821 41.6512C101.31 41.9172 100.757 42.0349 100.162 42.0045C99.8876 41.9285 99.6893 41.7235 99.5675 41.3889C99.4453 41.0549 99.373 40.6368 99.3504 40.1354C99.3275 39.634 99.3504 39.0831 99.4189 38.4828C99.4877 37.8828 99.5791 37.2863 99.6934 36.6938C99.8078 36.101 99.9337 35.5389 100.071 35.0071C100.208 34.4753 100.337 34.0268 100.46 33.6622C100.643 33.2218 100.643 32.8529 100.46 32.5567C100.277 32.2604 100.025 32.0631 99.705 31.964C99.3846 31.8654 99.0489 31.8694 98.6983 31.9755C98.3474 32.0819 98.0958 32.3173 97.9435 32.682C97.684 33.3054 97.4475 34.004 97.2342 34.779C97.0206 35.5539 96.8491 36.3558 96.7197 37.1836C96.5896 38.0121 96.5171 38.8327 96.502 39.6456C96.5011 39.6985 96.5037 39.7488 96.5034 39.8014C96.1709 40.6848 95.854 41.3525 95.553 41.7992C95.1641 42.377 94.7253 42.6277 94.2375 42.5513C94.0236 42.4603 93.8832 42.2477 93.8147 41.9132C93.7453 41.5792 93.7227 41.1689 93.7453 40.6822C93.7688 40.1964 93.826 39.6456 93.9171 39.0299C94.0091 38.4146 94.1229 37.7764 94.2601 37.1154C94.3977 36.4541 94.5425 35.7899 94.6949 35.121C94.8472 34.4525 94.9845 33.8218 95.107 33.2291C95.0916 32.6973 94.9352 32.291 94.6377 32.0097C94.3405 31.7289 93.9247 31.6187 93.3913 31.6791C93.0253 31.8312 92.7542 32.029 92.579 32.2719C92.4034 32.5148 92.2623 32.8265 92.1558 33.2062C92.0946 33.404 92.0032 33.799 91.8813 34.3918C91.7591 34.984 91.603 35.6644 91.4123 36.4315C91.2217 37.1992 90.9967 38.0005 90.7376 38.8362C90.4781 39.6719 90.1885 40.4283 89.8684 41.1041C89.548 41.7801 89.1972 42.3235 88.8161 42.7338C88.4348 43.1438 88.023 43.3113 87.5807 43.2352C87.3366 43.1895 87.1805 42.9388 87.112 42.4831C87.0432 42.0271 87.0319 41.4653 87.0775 40.7964C87.1233 40.1279 87.2148 39.3946 87.352 38.5971C87.4893 37.7993 87.63 37.0434 87.7752 36.3289C87.92 35.6149 88.0535 34.984 88.1756 34.4372C88.2975 33.8901 88.3814 33.5254 88.4272 33.3433C88.4272 32.9026 88.3277 32.5495 88.1298 32.2832C87.9313 32.0178 87.6913 31.8503 87.4092 31.7818C87.1268 31.7136 86.8372 31.7514 86.54 31.8957C86.2426 32.0403 85.9872 32.3026 85.7736 32.682C85.6973 33.0923 85.598 33.5674 85.4761 34.1067C85.3539 34.6459 85.2361 35.2006 85.1218 35.7705C85.0074 36.3404 84.9003 36.8988 84.8014 37.4459C84.7021 37.993 84.6299 38.4716 84.584 38.8819C84.5536 39.2008 84.519 39.5923 84.4813 40.0556C84.443 40.5194 84.4238 41.0092 84.4238 41.5257C84.4238 42.0427 84.4618 42.5554 84.5385 43.0643C84.6145 43.5735 84.7518 44.0408 84.95 44.4659C85.1482 44.8915 85.4265 45.2408 85.7852 45.5144C86.1433 45.7879 86.5972 45.9397 87.1463 45.9704C87.7101 46.0005 88.202 45.9591 88.6217 45.8449C89.0
|
||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M142.53 37.6515C142.575 37.3022 142.644 36.9335 142.735 36.546C142.827 36.1585 142.941 35.7823 143.079 35.4177C143.216 35.0531 143.376 34.7379 143.559 34.4718C143.742 34.2061 143.937 34.0161 144.142 33.9019C144.348 33.7883 144.558 33.7995 144.771 33.936C145 34.0731 145.141 34.3617 145.195 34.8021C145.248 35.2433 145.195 35.7141 145.034 36.2155C144.874 36.7172 144.588 37.1879 144.177 37.6286C143.765 38.0696 143.208 38.3579 142.507 38.4947C142.476 38.2824 142.484 38.0011 142.53 37.6515ZM150.456 38.5857C150.204 38.5103 149.964 38.5025 149.735 38.5632C149.506 38.6239 149.361 38.7835 149.301 39.042C149.178 39.5281 148.984 40.0258 148.717 40.5347C148.45 41.0439 148.122 41.5262 147.734 41.9822C147.345 42.438 146.906 42.8408 146.418 43.1901C145.93 43.5397 145.419 43.7904 144.886 43.9422C144.351 44.1096 143.91 44.1284 143.559 43.9991C143.208 43.8705 142.93 43.6498 142.724 43.3384C142.518 43.027 142.369 42.6508 142.278 42.2101C142.186 41.7694 142.133 41.3137 142.118 40.8424C142.987 40.9034 143.761 40.7478 144.44 40.3751C145.118 40.0032 145.694 39.509 146.167 38.8937C146.639 38.2784 146.998 37.587 147.242 36.8195C147.485 36.0524 147.623 35.2887 147.653 34.5288C147.669 33.8146 147.562 33.2108 147.333 32.7169C147.105 32.2233 146.796 31.839 146.407 31.5658C146.018 31.2922 145.572 31.1326 145.069 31.0872C144.566 31.0415 144.054 31.11 143.536 31.2922C142.91 31.505 142.381 31.8506 141.946 32.3294C141.512 32.808 141.149 33.3629 140.86 33.9933C140.57 34.6239 140.341 35.3038 140.173 36.033C140.005 36.7626 139.883 37.4806 139.807 38.1873C139.739 38.8214 139.702 39.4278 139.689 40.013C139.657 40.0874 139.625 40.1588 139.59 40.2383C139.354 40.7782 139.079 41.3062 138.766 41.8226C138.454 42.3394 138.107 42.7725 137.726 43.1218C137.344 43.4714 136.948 43.5929 136.536 43.4865C136.292 43.426 136.159 43.1444 136.136 42.6433C136.113 42.1416 136.139 41.5187 136.216 40.7741C136.292 40.0298 136.38 39.2239 136.479 38.3579C136.578 37.4918 136.628 36.664 136.628 35.8737C136.628 35.1898 136.498 34.5329 136.239 33.9019C135.979 33.2718 135.625 32.7473 135.175 32.3294C134.725 31.9113 134.203 31.634 133.608 31.4975C133.013 31.3605 132.373 31.4518 131.687 31.7708C131 32.09 130.455 32.5382 130.051 33.1157C129.647 33.6934 129.277 34.3009 128.942 34.9391C128.819 34.4528 128.641 34.0011 128.404 33.583C128.167 33.1651 127.878 32.8005 127.535 32.4888C127.191 32.1776 126.806 31.9344 126.38 31.7595C125.953 31.5851 125.502 31.4975 125.03 31.4975C124.572 31.4975 124.149 31.5851 123.76 31.7595C123.371 31.9344 123.017 32.1583 122.696 32.4318C122.376 32.7056 122.087 33.013 121.827 33.3551C121.568 33.6969 121.339 34.0352 121.141 34.3692C121.11 33.9742 121.076 33.6286 121.038 33.332C121 33.0359 120.931 32.7852 120.832 32.5801C120.733 32.3748 120.592 32.2193 120.409 32.1129C120.226 32.0067 119.967 31.9532 119.632 31.9532C119.464 31.9532 119.296 31.9874 119.128 32.0556C118.96 32.1241 118.811 32.2193 118.682 32.3407C118.552 32.4627 118.453 32.6105 118.385 32.7852C118.316 32.9598 118.297 33.1614 118.327 33.3892C118.342 33.5566 118.385 33.7576 118.453 33.9933C118.522 34.2289 118.587 34.5369 118.648 34.9163C118.708 35.2962 118.758 35.756 118.796 36.2953C118.834 36.8349 118.846 37.4959 118.831 38.2784C118.815 39.0611 118.758 39.9763 118.659 41.0248C118.56 42.0733 118.403 43.289 118.19 44.6714C118.16 44.9907 118.282 45.2492 118.556 45.4467C118.831 45.6439 119.143 45.7578 119.494 45.7885C119.845 45.8188 120.177 45.7578 120.489 45.6063C120.802 45.4539 120.981 45.1882 121.027 44.8085C121.072 44.0943 121.16 43.3347 121.29 42.529C121.419 41.724 121.579 40.9262 121.77 40.1359C121.961 39.346 122.178 38.5938 122.422 37.8793C122.666 37.1651 122.937 36.5347 123.234 35.9876C123.532 35.4405 123.84 35.0039 124.161 34.6771C124.481 34.3504 124.816 34.187 125.167 34.187C125.594 34.187 125.926 34.3805 126.162 34.7679C126.398 35.1557 126.566 35.6536 126.666 36.2609C126.765 36.869 126.81 37.5341 126.803 38.2555C126.795 38.9773 126.765 39.6724 126.711 40.341C126.658 41.0098 126.597 41.606 126.528 42.1303C126.46 42.6545 126.41 43.0157 126.38 43.2129C126.3
|
||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M162.887 36.0434C162.81 36.4918 162.707 36.986 162.578 37.525C162.448 38.0646 162.284 38.623 162.086 39.2004C161.888 39.7779 161.644 40.2984 161.354 40.7616C161.064 41.2254 160.733 41.5935 160.359 41.8671C159.985 42.1406 159.555 42.2546 159.066 42.2089C158.822 42.1788 158.635 42.0117 158.506 41.7075C158.376 41.4038 158.308 41.0161 158.3 40.545C158.292 40.0743 158.334 39.5575 158.426 38.9951C158.517 38.4333 158.658 37.8821 158.849 37.3426C159.04 36.8036 159.272 36.3056 159.547 35.8496C159.821 35.3939 160.138 35.0405 160.496 34.7898C160.854 34.5391 161.247 34.4217 161.674 34.4365C162.101 34.4518 162.559 34.6643 163.047 35.0747C163.016 35.2725 162.963 35.5954 162.887 36.0434ZM171.019 37.787C170.782 37.6656 170.538 37.6392 170.287 37.7075C170.035 37.7757 169.856 38.0076 169.749 38.4026C169.688 38.8283 169.551 39.3294 169.338 39.9069C169.124 40.4843 168.861 41.0317 168.548 41.5478C168.236 42.0646 167.877 42.494 167.473 42.8358C167.069 43.1778 166.638 43.3337 166.181 43.3028C165.799 43.2727 165.532 43.079 165.38 42.7218C165.227 42.3647 165.147 41.9168 165.14 41.3769C165.132 40.838 165.186 40.2301 165.3 39.5538C165.414 38.8777 165.552 38.2054 165.712 37.5363C165.872 36.868 166.036 36.2258 166.204 35.6105C166.371 34.9951 166.508 34.4747 166.616 34.0493C166.738 33.6693 166.699 33.3466 166.501 33.0803C166.303 32.8149 166.055 32.6246 165.758 32.5107C165.46 32.3967 165.159 32.3664 164.854 32.4196C164.549 32.4728 164.351 32.6362 164.259 32.9094C163.359 32.1345 162.494 31.7166 161.663 31.6559C160.831 31.5952 160.065 31.7776 159.364 32.203C158.662 32.6284 158.041 33.2437 157.5 34.0493C156.958 34.8549 156.52 35.7322 156.184 36.6818C155.849 37.6314 155.639 38.6004 155.555 39.5879C155.471 40.5757 155.536 41.4761 155.75 42.289C155.963 43.1018 156.34 43.7669 156.882 44.283C157.423 44.7998 158.159 45.0583 159.089 45.0583C159.501 45.0583 159.898 44.9747 160.279 44.8076C160.66 44.6401 161.011 44.4426 161.331 44.2148C161.651 43.9869 161.933 43.7475 162.178 43.4968C162.421 43.2461 162.612 43.0373 162.749 42.8699C162.856 43.417 163.032 43.8808 163.276 44.2605C163.519 44.6401 163.798 44.9521 164.111 45.1948C164.423 45.4376 164.751 45.6164 165.094 45.7306C165.437 45.8445 165.769 45.9015 166.089 45.9015C166.806 45.9015 167.477 45.6583 168.102 45.1719C168.727 44.6861 169.288 44.0893 169.784 43.3829C170.279 42.6762 170.687 41.9319 171.007 41.1491C171.328 40.3666 171.541 39.6715 171.648 39.0634C171.755 38.8355 171.735 38.5964 171.591 38.3457C171.446 38.095 171.255 37.909 171.019 37.787Z" fill="#0D0C23"/>
|
||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M212.194 50.3701C212.064 50.8866 211.862 51.3238 211.587 51.6806C211.313 52.0377 210.97 52.2239 210.558 52.2393C210.299 52.2543 210.101 52.1175 209.963 51.8289C209.826 51.5401 209.731 51.1679 209.678 50.7122C209.624 50.2562 209.601 49.747 209.609 49.1849C209.616 48.6227 209.639 48.0681 209.678 47.521C209.715 46.9742 209.761 46.4647 209.815 45.9939C209.868 45.5226 209.91 45.1586 209.94 44.9C210.459 44.9608 210.89 45.1846 211.233 45.5723C211.576 45.9598 211.839 46.4193 212.022 46.9514C212.205 47.4831 212.312 48.0568 212.343 48.6722C212.373 49.2875 212.323 49.8534 212.194 50.3701ZM203.913 50.3701C203.783 50.8866 203.581 51.3238 203.307 51.6806C203.032 52.0377 202.689 52.2239 202.277 52.2393C202.018 52.2543 201.82 52.1175 201.683 51.8289C201.545 51.5401 201.45 51.1679 201.397 50.7122C201.343 50.2562 201.32 49.747 201.328 49.1849C201.336 48.6227 201.358 48.0681 201.397 47.521C201.434 46.9742 201.48 46.4647 201.534 45.9939C201.587 45.5226 201.629 45.1586 201.66 44.9C202.178 44.9608 202.609 45.1846 202.952 45.5723C203.295 45.9598 203.558 46.4193 203.741 46.9514C203.924 47.4831 204.031 48.0568 204.062 48.6722C204.092 49.2875 204.042 49.8534 203.913 50.3701ZM195.415 37.4241C195.399 37.7884 195.365 38.1114 195.312 38.3925C195.258 38.6741 195.186 38.8522 195.095 38.9283C194.927 38.8369 194.721 38.6018 194.477 38.2216C194.233 37.8419 194.042 37.4122 193.905 36.9336C193.768 36.4551 193.725 35.9843 193.779 35.5205C193.832 35.0573 194.073 34.6967 194.5 34.4379C194.667 34.3468 194.812 34.3809 194.934 34.5405C195.056 34.7001 195.155 34.9318 195.232 35.2357C195.308 35.5399 195.361 35.8892 195.392 36.2842C195.422 36.6795 195.43 37.0591 195.415 37.4241ZM193.39 41.9711C193.154 42.2215 192.89 42.4381 192.601 42.6206C192.311 42.803 192.014 42.9398 191.709 43.0309C191.404 43.1223 191.129 43.1448 190.885 43.0991C190.199 42.9627 189.673 42.666 189.307 42.2103C188.941 41.7545 188.708 41.219 188.609 40.6037C188.51 39.9881 188.521 39.3308 188.644 38.6319C188.765 37.933 188.971 37.2835 189.261 36.6832C189.551 36.0829 189.902 35.5662 190.313 35.1333C190.725 34.7001 191.175 34.4306 191.663 34.3239C191.48 35.0989 191.419 35.9007 191.48 36.7286C191.541 37.5568 191.739 38.3355 192.075 39.0648C192.288 39.506 192.544 39.9082 192.841 40.2729C193.139 40.6378 193.501 40.9492 193.928 41.2075C193.806 41.466 193.626 41.7204 193.39 41.9711ZM218.702 37.6519C218.747 37.3026 218.816 36.9336 218.908 36.5462C218.999 36.159 219.114 35.7828 219.251 35.4181C219.388 35.0532 219.548 34.738 219.731 34.4723C219.914 34.2065 220.108 34.0163 220.314 33.9024C220.52 33.7884 220.73 33.7997 220.943 33.9365C221.172 34.0735 221.313 34.3621 221.367 34.8025C221.42 35.2435 221.367 35.7142 221.207 36.2159C221.046 36.7173 220.761 37.1884 220.349 37.6288C219.937 38.07 219.38 38.3583 218.679 38.4951C218.648 38.2826 218.656 38.0015 218.702 37.6519ZM227.921 37.6519C227.966 37.3026 228.035 36.9336 228.126 36.5462C228.218 36.159 228.332 35.7828 228.47 35.4181C228.607 35.0532 228.767 34.738 228.95 34.4723C229.133 34.2065 229.328 34.0163 229.533 33.9024C229.739 33.7884 229.949 33.7997 230.162 33.9365C230.391 34.0735 230.532 34.3621 230.586 34.8025C230.639 35.2435 230.586 35.7142 230.425 36.2159C230.265 36.7173 229.979 37.1884 229.568 37.6288C229.156 38.07 228.599 38.3583 227.898 38.4951C227.867 38.2826 227.875 38.0015 227.921 37.6519ZM236.488 38.9852C236.312 38.7955 236.099 38.6625 235.847 38.5862C235.595 38.5104 235.355 38.5029 235.126 38.5636C234.897 38.6244 234.752 38.784 234.692 39.0422C234.57 39.5286 234.375 40.0262 234.108 40.5349C233.841 41.0444 233.514 41.5267 233.125 41.9824C232.736 42.4381 232.297 42.8412 231.81 43.1905C231.321 43.5401 230.81 43.7908 230.277 43.9423C229.743 44.1101 229.301 44.1289 228.95 43.9996C228.599 43.8706 228.321 43.6503 228.115 43.3389C227.909 43.0271 227.761 42.6512 227.669 42.2103C227.578 41.7699 227.524 41.3142 227.509 40.8428C228.378 40.9038 229.152 40.7483 229.831 40.3755C230.509 40.0034 231.085 39.5092 231.558 38.8939C232.031 38.2788 232.389 37.5874 232.633 36.82C232.877 36.0526 233.014 35.2892 233.045 34.529
|
||
|
</svg>`;
|
||
|
const paypal = `
|
||
|
<svg xmlns="http://www.w3.org/2000/svg" width="150" height="40">
|
||
|
<path fill="#253B80" d="M46.211 6.749h-6.839a.95.95 0 0 0-.939.802l-2.766 17.537a.57.57 0 0 0 .564.658h3.265a.95.95 0 0 0 .939-.803l.746-4.73a.95.95 0 0 1 .938-.803h2.165c4.505 0 7.105-2.18 7.784-6.5.306-1.89.013-3.375-.872-4.415-.972-1.142-2.696-1.746-4.985-1.746zM47 13.154c-.374 2.454-2.249 2.454-4.062 2.454h-1.032l.724-4.583a.57.57 0 0 1 .563-.481h.473c1.235 0 2.4 0 3.002.704.359.42.469 1.044.332 1.906zM66.654 13.075h-3.275a.57.57 0 0 0-.563.481l-.145.916-.229-.332c-.709-1.029-2.29-1.373-3.868-1.373-3.619 0-6.71 2.741-7.312 6.586-.313 1.918.132 3.752 1.22 5.031.998 1.176 2.426 1.666 4.125 1.666 2.916 0 4.533-1.875 4.533-1.875l-.146.91a.57.57 0 0 0 .562.66h2.95a.95.95 0 0 0 .939-.803l1.77-11.209a.568.568 0 0 0-.561-.658zm-4.565 6.374c-.316 1.871-1.801 3.127-3.695 3.127-.951 0-1.711-.305-2.199-.883-.484-.574-.668-1.391-.514-2.301.295-1.855 1.805-3.152 3.67-3.152.93 0 1.686.309 2.184.892.499.589.697 1.411.554 2.317zM84.096 13.075h-3.291a.954.954 0 0 0-.787.417l-4.539 6.686-1.924-6.425a.953.953 0 0 0-.912-.678h-3.234a.57.57 0 0 0-.541.754l3.625 10.638-3.408 4.811a.57.57 0 0 0 .465.9h3.287a.949.949 0 0 0 .781-.408l10.946-15.8a.57.57 0 0 0-.468-.895z"/>
|
||
|
<path fill="#179BD7" d="M94.992 6.749h-6.84a.95.95 0 0 0-.938.802l-2.766 17.537a.569.569 0 0 0 .562.658h3.51a.665.665 0 0 0 .656-.562l.785-4.971a.95.95 0 0 1 .938-.803h2.164c4.506 0 7.105-2.18 7.785-6.5.307-1.89.012-3.375-.873-4.415-.971-1.142-2.694-1.746-4.983-1.746zm.789 6.405c-.373 2.454-2.248 2.454-4.062 2.454h-1.031l.725-4.583a.568.568 0 0 1 .562-.481h.473c1.234 0 2.4 0 3.002.704.359.42.468 1.044.331 1.906zM115.434 13.075h-3.273a.567.567 0 0 0-.562.481l-.145.916-.23-.332c-.709-1.029-2.289-1.373-3.867-1.373-3.619 0-6.709 2.741-7.311 6.586-.312 1.918.131 3.752 1.219 5.031 1 1.176 2.426 1.666 4.125 1.666 2.916 0 4.533-1.875 4.533-1.875l-.146.91a.57.57 0 0 0 .564.66h2.949a.95.95 0 0 0 .938-.803l1.771-11.209a.571.571 0 0 0-.565-.658zm-4.565 6.374c-.314 1.871-1.801 3.127-3.695 3.127-.949 0-1.711-.305-2.199-.883-.484-.574-.666-1.391-.514-2.301.297-1.855 1.805-3.152 3.67-3.152.93 0 1.686.309 2.184.892.501.589.699 1.411.554 2.317zM119.295 7.23l-2.807 17.858a.569.569 0 0 0 .562.658h2.822c.469 0 .867-.34.939-.803l2.768-17.536a.57.57 0 0 0-.562-.659h-3.16a.571.571 0 0 0-.562.482z"/>
|
||
|
<path fill="#253B80" d="M7.266 29.154l.523-3.322-1.165-.027H1.061L4.927 1.292a.316.316 0 0 1 .314-.268h9.38c3.114 0 5.263.648 6.385 1.927.526.6.861 1.227 1.023 1.917.17.724.173 1.589.007 2.644l-.012.077v.676l.526.298a3.69 3.69 0 0 1 1.065.812c.45.513.741 1.165.864 1.938.127.795.085 1.741-.123 2.812-.24 1.232-.628 2.305-1.152 3.183a6.547 6.547 0 0 1-1.825 2c-.696.494-1.523.869-2.458 1.109-.906.236-1.939.355-3.072.355h-.73c-.522 0-1.029.188-1.427.525a2.21 2.21 0 0 0-.744 1.328l-.055.299-.924 5.855-.042.215c-.011.068-.03.102-.058.125a.155.155 0 0 1-.096.035H7.266z"/>
|
||
|
<path fill="#179BD7" d="M23.048 7.667c-.028.179-.06.362-.096.55-1.237 6.351-5.469 8.545-10.874 8.545H9.326c-.661 0-1.218.48-1.321 1.132L6.596 26.83l-.399 2.533a.704.704 0 0 0 .695.814h4.881c.578 0 1.069-.42 1.16-.99l.048-.248.919-5.832.059-.32c.09-.572.582-.992 1.16-.992h.73c4.729 0 8.431-1.92 9.513-7.476.452-2.321.218-4.259-.978-5.622a4.667 4.667 0 0 0-1.336-1.03z"/>
|
||
|
<path fill="#222D65" d="M21.754 7.151a9.757 9.757 0 0 0-1.203-.267 15.284 15.284 0 0 0-2.426-.177h-7.352a1.172 1.172 0 0 0-1.159.992L8.05 17.605l-.045.289a1.336 1.336 0 0 1 1.321-1.132h2.752c5.405 0 9.637-2.195 10.874-8.545.037-.188.068-.371.096-.55a6.594 6.594 0 0 0-1.017-.429 9.045 9.045 0 0 0-.277-.087z"/>
|
||
|
<path fill="#253B80" d="M9.614 7.699a1.169 1.169 0 0 1 1.159-.991h7.352c.871 0 1.684.057 2.426.177a9.757 9.757 0 0 1 1.481.353c.365.121.704.264 1.017.429.368-2.347-.003-3.945-1.272-5.392C20.378.682 17.853 0 14.622 0h-9.38c-.66 0-1.223.48-1.325 1.133L.01 25.898a.806.806 0 0 0 .795.932h5.791l1.454-9.225 1.564-9.906z"/>
|
||
|
</svg>`;
|
||
|
|
||
|
module.exports = RecentFilesPlugin;
|
||
|
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZXMiOlsibWFpbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBhZGRJY29uLFxuICBBcHAsXG4gIGdldEljb24sXG4gIEl0ZW1WaWV3LFxuICBNZW51LFxuICBOb3RpY2UsXG4gIFBsdWdpbixcbiAgUGx1Z2luU2V0dGluZ1RhYixcbiAgU2V0dGluZyxcbiAgVEFic3RyYWN0RmlsZSxcbiAgVEZpbGUsXG4gIFdvcmtzcGFjZUxlYWYsXG59IGZyb20gJ29ic2lkaWFuJztcblxuaW50ZXJmYWNlIEZpbGVQYXRoIHtcbiAgcGF0aDogc3RyaW5nO1xuICBiYXNlbmFtZTogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgUmVjZW50RmlsZXNEYXRhIHtcbiAgcmVjZW50RmlsZXM6IEZpbGVQYXRoW107XG4gIG9taXR0ZWRQYXRoczogc3RyaW5nW107XG4gIG1heExlbmd0aDogbnVtYmVyO1xuICBvcGVuVHlwZTogc3RyaW5nO1xufVxuXG5jb25zdCBkZWZhdWx0TWF4TGVuZ3RoOiBudW1iZXIgPSA1MDtcblxuY29uc3QgREVGQVVMVF9EQVRBOiBSZWNlbnRGaWxlc0RhdGEgPSB7XG4gIHJlY2VudEZpbGVzOiBbXSxcbiAgb21pdHRlZFBhdGhzOiBbXSxcbiAgbWF4TGVuZ3RoOiBudWxsLFxuICBvcGVuVHlwZTogJ3RhYicsXG59O1xuXG5jb25zdCBSZWNlbnRGaWxlc0xpc3RWaWV3VHlwZSA9ICdyZWNlbnQtZmlsZXMnO1xuXG5jbGFzcyBSZWNlbnRGaWxlc0xpc3RWaWV3IGV4dGVuZHMgSXRlbVZpZXcge1xuICBwcml2YXRlIHJlYWRvbmx5IHBsdWdpbjogUmVjZW50RmlsZXNQbHVnaW47XG4gIHByaXZhdGUgZGF0YTogUmVjZW50RmlsZXNEYXRhO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGxlYWY6IFdvcmtzcGFjZUxlYWYsXG4gICAgcGx1Z2luOiBSZWNlbnRGaWxlc1BsdWdpbixcbiAgICBkYXRhOiBSZWNlbnRGaWxlc0RhdGEsXG4gICkge1xuICAgIHN1cGVyKGxlYWYpO1xuXG4gICAgdGhpcy5wbHVnaW4gPSBwbHVnaW47XG4gICAgdGhpcy5kYXRhID0gZGF0YTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBvbk9wZW4oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5yZWRyYXcoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRWaWV3VHlwZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBSZWNlbnRGaWxlc0xpc3RWaWV3VHlwZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXREaXNwbGF5VGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiAnUmVjZW50IEZpbGVzJztcbiAgfVxuXG4gIHB1YmxpYyBnZXRJY29uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdjbG9jayc7XG4gIH1cblxuICBwdWJsaWMgb25QYW5lTWVudShtZW51OiBNZW51KTogdm9pZCB7XG4gICAgbWVudVxuICAgICAgLmFkZEl0ZW0oKGl0ZW0pID0+IHtcbiAgICAgICAgaXRlbVxuICAgICAgICAgIC5zZXRUaXRsZSgnQ2xlYXIgbGlzdCcpXG4gICAgICAgICAgLnNldEljb24oJ3N3ZWVwJylcbiAgICAgICAgICAub25DbGljayhhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmRhdGEucmVjZW50RmlsZXMgPSBbXTtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMucGx1Z2luLnNhdmVEYXRhKCk7XG4gICAgICAgICAgICB0aGlzLnJlZHJhdygpO1xuICAgICAgICAgIH0pO1xuICAgICAgfSlcbiAgICAgIC5hZGRJdGVtKChpdGVtKSA9PiB7XG4gICAgICAgIGl0ZW1cbiAgICAgICAgICAuc2V0VGl0bGUoJ0Nsb3NlJylcbiAgICAgICAgICAuc2V0SWNvbignY3Jvc3MnKVxuICAgICAgICAgIC5vbkNsaWNrKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuYXBwLndvcmtzcGFjZS5kZXRhY2hMZWF2ZXNPZlR5cGUoUmVjZW50RmlsZXNMaXN0Vmlld1R5cGUpO1xuICAgICAgICAgIH0pO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbG9hZCgpOiB2b2lkIHtcbiAgICBzdXBlci5sb2FkKCk7XG4gICAgdGhpcy5yZWdpc3RlckV2ZW50KHRoaXMuYXBwLndvcmtzcGFjZS5vbignZmlsZS1vcGVuJywgdGhpcy51cGRhdGUpKTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSByZWRyYXcgPSAoKTogdm9pZCA9PiB7XG4gICAgY29uc3Qgb3BlbkZpbGUgPSB0aGlzLmFwcC53b3Jrc3BhY2UuZ2V0QWN0aXZlRmlsZSgpO1xuXG4gICAgY29uc3Qgcm9vdEVsID0gY3JlYXRlRGl2KHsgY2xzOiAnbmF2LWZvbGRlciBtb2Qtcm9vdCcgfSk7XG4gICAgY29uc3QgY2hpbGRyZW5FbCA9IHJvb3RFbC5jcmVhdGVEaXYoeyBjbHM6ICduYXYtZm9sZGVyLWNoaWxkcmVuJyB9KTtcblxuICAgIHRoaXMuZGF0YS5yZWNlbnRGaWxlcy5mb3JFYWNoKChjdXJyZW50RmlsZSkgPT4ge1xuICAgICAgY29uc3QgbmF2RmlsZSA9IGNoaWxkcmVuRWwuY3JlYXRlRGl2KHtcbiAgICAgICAgY2xzOiAndHJlZS1pdGVtIG5hdi1maWxlIHJlY2VudC1maWxlcy1maWxlJyxcbiAgICAgIH0pO1xuICAgICAgY29uc3QgbmF2RmlsZVRpdGxlID0gbmF2RmlsZS5jcmVhdGVEaXYoe1xuICAgICAgICBjbHM6ICd0cmVlLWl0ZW0tc2VsZiBpcy1jbGlja2FibGUgbmF2LWZpbGUtdGl0bGUgcmVjZW50LWZpbGVzLXRpdGxlJyxcbiAgICAgIH0pO1xuICAgICAgY29uc3QgbmF2RmlsZVRpdGxlQ29udGVudCA9IG5hdkZpbGVUaXRsZS5jcmVhdGVEaXYoe1xuICAgICAgICBjbHM6ICd0cmVlLWl0ZW0taW5uZXIgbmF2LWZpbGUtdGl0bGUtY29udGVudCByZWNlbnQtZmlsZXMtdGl0bGUtY29udGVudCcsXG4gICAgICB9KTtcblxuICAgICAgbmF2RmlsZVRpdGxlQ29udGVudC5zZXRUZXh0KGN1cnJlbnRGaWxlLmJhc2VuYW1lKTtcblxuICAgICAgaWYgKG9wZW5GaWxlICYmIGN1cnJlbnRGaWxlLnBhdGggPT09IG9wZW5GaWxlLnBhdGgpIHtcbiAgICAgICAgbmF2RmlsZVRpdGxlLmFkZENsYXNzKCdpcy1hY3RpdmUnKTtcbiAgICAgIH1cblxuICAgICAgbmF2RmlsZVRpdGxlLnNldEF0dHIoJ2RyYWdnYWJsZScsICd0cnVlJyk7XG4gICAgICBuYXZGaWxlVGl0bGUuYWRkRXZlbnRMaXN0ZW5lcignZHJhZ3N0YXJ0JywgKGV2ZW50OiBEcmFnRXZlbnQpID0+IHtcbiAgICAgICAgY29uc3QgZmlsZSA9IHRoaXMuYXBwLm1ldGFkYXRhQ2FjaGUuZ2V0Rmlyc3RMaW5rcGF0aERlc3Q
|