nadesiko3 3.6.12 → 3.6.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/core/command/plugin_snako.mjs +112 -0
- package/core/command/snako.mjs +114 -0
- package/core/package.json +1 -1
- package/core/sample/hoge.mjs +7 -0
- package/core/src/nako_gen.mjs +11 -2
- package/core/src/nako_gen.mts +15 -4
- package/core/test/error_message_test.mjs +15 -0
- package/core/tsconfig.json +4 -4
- package/package.json +2 -1
- package/release/_hash.txt +77 -12
- package/release/_script-tags.txt +33 -20
- package/release/editor/edit_main.js +48 -0
- package/release/editor/edit_main.js.map +7 -0
- package/release/editor/version_main.js +44 -0
- package/release/editor/version_main.js.map +7 -0
- package/release/editor.js +48 -3
- package/release/src/plugin_caniuse.js +2 -0
- package/release/src/plugin_caniuse.js.map +7 -0
- package/release/src/plugin_datetime.js +2 -0
- package/release/src/plugin_datetime.js.map +7 -0
- package/release/src/plugin_kansuji.js +2 -0
- package/release/src/plugin_kansuji.js.map +7 -0
- package/release/src/plugin_keigo.js +2 -0
- package/release/src/plugin_keigo.js.map +7 -0
- package/release/src/plugin_markup.js +64 -0
- package/release/src/plugin_markup.js.map +7 -0
- package/release/src/plugin_three.js +2 -0
- package/release/src/plugin_three.js.map +7 -0
- package/release/src/plugin_turtle.js +2 -0
- package/release/src/plugin_turtle.js.map +7 -0
- package/release/src/plugin_webworker.js +4 -0
- package/release/src/plugin_webworker.js.map +7 -0
- package/release/src/plugin_weykturtle3d.js +2 -0
- package/release/src/plugin_weykturtle3d.js.map +7 -0
- package/release/src/wnako3.js +482 -0
- package/release/src/wnako3.js.map +7 -0
- package/release/src/wnako3webworker.js +428 -0
- package/release/src/wnako3webworker.js.map +7 -0
- package/release/version.js +44 -3
- package/release/wnako3.js +1 -1
- package/release/wnako3.js.map +1 -1
- package/src/nako_version.mjs +2 -2
- package/src/nako_version.mts +2 -2
- package/src/plugin_browser_canvas.mjs +1 -1
- package/src/plugin_browser_canvas.mts +1 -1
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* file: plugin_snako.js
|
|
3
|
+
* 簡単なファイル読み書きのプラグイン
|
|
4
|
+
*/
|
|
5
|
+
import fs from 'node:fs';
|
|
6
|
+
import { execSync } from 'node:child_process';
|
|
7
|
+
import path from 'node:path';
|
|
8
|
+
export default {
|
|
9
|
+
'meta': {
|
|
10
|
+
type: 'const',
|
|
11
|
+
value: {
|
|
12
|
+
pluginName: 'plugin_snako', // プラグインの名前
|
|
13
|
+
description: '最小の機能を提供するプラグイン', // プラグインの説明
|
|
14
|
+
pluginVersion: '3.6.3', // プラグインのバージョン
|
|
15
|
+
nakoRuntime: ['cnako'], // 対象ランタイム
|
|
16
|
+
nakoVersion: '3.6.3' // 要求なでしこバージョン
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
'初期化': {
|
|
20
|
+
type: 'func',
|
|
21
|
+
josi: [],
|
|
22
|
+
pure: true,
|
|
23
|
+
fn: function (sys) {
|
|
24
|
+
sys.__getBokanPath = () => {
|
|
25
|
+
let nakofile;
|
|
26
|
+
const cmd = path.basename(process.argv[1]);
|
|
27
|
+
if (cmd.indexOf('snako') < 0) {
|
|
28
|
+
nakofile = process.argv[1];
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
nakofile = process.argv[2];
|
|
32
|
+
}
|
|
33
|
+
return path.dirname(path.resolve(nakofile));
|
|
34
|
+
};
|
|
35
|
+
sys.__setSysVar('コマンドライン', process.argv);
|
|
36
|
+
sys.__setSysVar('ナデシコランタイムパス', process.argv[0]);
|
|
37
|
+
sys.__setSysVar('ナデシコランタイム', path.basename(process.argv[0]));
|
|
38
|
+
sys.__setSysVar('母艦パス', sys.__getBokanPath());
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
// @SNAKO
|
|
42
|
+
'コマンドライン': { type: 'const', value: '' },
|
|
43
|
+
'ナデシコランタイムパス': { type: 'const', value: '' },
|
|
44
|
+
'ナデシコランタイム': { type: 'const', value: '' },
|
|
45
|
+
'母艦パス': { type: 'const', value: '' },
|
|
46
|
+
'読': {
|
|
47
|
+
type: 'func',
|
|
48
|
+
josi: [['を', 'から']],
|
|
49
|
+
pure: true,
|
|
50
|
+
fn: function (f) {
|
|
51
|
+
return '' + fs.readFileSync(f);
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
'開': {
|
|
55
|
+
type: 'func',
|
|
56
|
+
josi: [['を', 'から']],
|
|
57
|
+
pure: true,
|
|
58
|
+
fn: function (f) {
|
|
59
|
+
return '' + fs.readFileSync(f);
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
'保存': {
|
|
63
|
+
type: 'func',
|
|
64
|
+
josi: [['を'], ['に', 'へ']],
|
|
65
|
+
pure: true,
|
|
66
|
+
fn: function (s, f) {
|
|
67
|
+
fs.writeFileSync(f, s, 'utf-8');
|
|
68
|
+
},
|
|
69
|
+
return_none: true
|
|
70
|
+
},
|
|
71
|
+
'起動待機': {
|
|
72
|
+
type: 'func',
|
|
73
|
+
josi: [['を']],
|
|
74
|
+
pure: true,
|
|
75
|
+
fn: function (s) {
|
|
76
|
+
const r = execSync(s);
|
|
77
|
+
return r.toString();
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
'ファイル名抽出': {
|
|
81
|
+
type: 'func',
|
|
82
|
+
josi: [['から', 'の']],
|
|
83
|
+
pure: true,
|
|
84
|
+
fn: function (s) {
|
|
85
|
+
return path.basename(s);
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
'パス抽出': {
|
|
89
|
+
type: 'func',
|
|
90
|
+
josi: [['から', 'の']],
|
|
91
|
+
pure: true,
|
|
92
|
+
fn: function (s) {
|
|
93
|
+
return path.dirname(s);
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
'絶対パス変換': {
|
|
97
|
+
type: 'func',
|
|
98
|
+
josi: [['を', 'の']],
|
|
99
|
+
pure: true,
|
|
100
|
+
fn: function (a) {
|
|
101
|
+
return path.resolve(a);
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
'相対パス展開': {
|
|
105
|
+
type: 'func',
|
|
106
|
+
josi: [['を'], ['で']],
|
|
107
|
+
pure: true,
|
|
108
|
+
fn: function (a, b) {
|
|
109
|
+
return path.resolve(path.join(a, b));
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
};
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
#!/usr/bin/env node --no-warnings=ExperimentalWarning --loader ts-node/esm
|
|
2
|
+
import fs from 'node:fs';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
import com from '../index.mjs';
|
|
5
|
+
import { argv as nodejs_argv } from 'node:process';
|
|
6
|
+
import * as url from 'node:url';
|
|
7
|
+
import { NakoGenOptions } from '../src/nako_gen.mjs';
|
|
8
|
+
import PluginSnako from './plugin_snako.mjs';
|
|
9
|
+
const __dirname = url.fileURLToPath(new URL('.', import.meta.url));
|
|
10
|
+
/** コマンドラインオプション */
|
|
11
|
+
class CommandOptions {
|
|
12
|
+
isDebug;
|
|
13
|
+
filename;
|
|
14
|
+
nodePath;
|
|
15
|
+
scriptPath;
|
|
16
|
+
evalStr;
|
|
17
|
+
flagConvert;
|
|
18
|
+
constructor() {
|
|
19
|
+
this.nodePath = '';
|
|
20
|
+
this.scriptPath = '';
|
|
21
|
+
this.filename = '';
|
|
22
|
+
this.evalStr = '';
|
|
23
|
+
this.isDebug = false;
|
|
24
|
+
this.flagConvert = false;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
/** メイン処理 */
|
|
28
|
+
async function main(argvOrg) {
|
|
29
|
+
// コマンドラインオプションを確認
|
|
30
|
+
const argv = [...argvOrg];
|
|
31
|
+
const opt = new CommandOptions();
|
|
32
|
+
opt.nodePath = argv.shift() || '';
|
|
33
|
+
opt.scriptPath = argv.shift() || '';
|
|
34
|
+
while (argv.length > 0) {
|
|
35
|
+
const arg = argv.shift() || '';
|
|
36
|
+
if (arg === '-d' || arg === '--debug') {
|
|
37
|
+
opt.isDebug = true;
|
|
38
|
+
continue;
|
|
39
|
+
}
|
|
40
|
+
if (arg === '-e' || arg === '--eval') {
|
|
41
|
+
opt.evalStr = argv.shift() || '';
|
|
42
|
+
continue;
|
|
43
|
+
}
|
|
44
|
+
if (arg === '-c' || arg === '--convert') {
|
|
45
|
+
opt.flagConvert = true;
|
|
46
|
+
continue;
|
|
47
|
+
}
|
|
48
|
+
if (opt.filename === '') {
|
|
49
|
+
opt.filename = arg;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
// なでしこのコンパイラを生成
|
|
53
|
+
const nako = new com.NakoCompiler();
|
|
54
|
+
nako.addPluginObject('PluginSnako', PluginSnako);
|
|
55
|
+
// 実行前にイベントを挟みたいとき
|
|
56
|
+
nako.addListener('beforeRun', (g) => {
|
|
57
|
+
g.__varslist[0].set('ナデシコ種類', 'snako');
|
|
58
|
+
});
|
|
59
|
+
// logger を設定 --- リスナーを登録することでデバッグレベルを指定
|
|
60
|
+
const logger = nako.getLogger();
|
|
61
|
+
if (opt.isDebug) {
|
|
62
|
+
logger.addListener('trace', (data) => {
|
|
63
|
+
console.log(data.nodeConsole);
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
logger.addListener('stdout', (data) => {
|
|
67
|
+
console.log(data.noColor);
|
|
68
|
+
});
|
|
69
|
+
// -e オプションを実行したとき
|
|
70
|
+
if (opt.evalStr) {
|
|
71
|
+
await nako.runAsync(opt.evalStr, 'main.nako3');
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
// パラメータが空だったとき
|
|
75
|
+
if (opt.filename === '') {
|
|
76
|
+
showHelp();
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
// ソースコードをファイルから読み込む
|
|
80
|
+
const code = fs.readFileSync(opt.filename, 'utf-8');
|
|
81
|
+
// -c オプションが指定されたとき
|
|
82
|
+
if (opt.flagConvert) {
|
|
83
|
+
convert(nako, code, opt);
|
|
84
|
+
}
|
|
85
|
+
// 実行
|
|
86
|
+
await nako.runAsync(code, opt.filename);
|
|
87
|
+
}
|
|
88
|
+
// -c オプションを指定したとき
|
|
89
|
+
function convert(nako, code, opt) {
|
|
90
|
+
// オプションを指定
|
|
91
|
+
const genOpt = new NakoGenOptions(false, ['nako_errors.mjs', 'nako_core_version.mjs', 'plugin_system.mjs'], '__self.__varslist[0].set(\'ナデシコ種類\', \'snako\')');
|
|
92
|
+
// スタンドアロンコードを生成
|
|
93
|
+
const js = nako.compileStandalone(code, opt.filename, genOpt);
|
|
94
|
+
const jsFilename = opt.filename + '.js';
|
|
95
|
+
fs.writeFileSync(jsFilename, js, { encoding: 'utf-8' });
|
|
96
|
+
// 必要なライブラリをコピー
|
|
97
|
+
const runtimeDir = path.join(path.dirname(jsFilename), 'nako3runtime');
|
|
98
|
+
const srcDir = path.join(__dirname, '..', 'src');
|
|
99
|
+
if (!fs.existsSync(runtimeDir)) {
|
|
100
|
+
fs.mkdirSync(runtimeDir);
|
|
101
|
+
}
|
|
102
|
+
for (const f of genOpt.importFiles) {
|
|
103
|
+
fs.copyFileSync(path.join(srcDir, f), path.join(runtimeDir, f));
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
/** 使い方を表示 */
|
|
107
|
+
function showHelp() {
|
|
108
|
+
console.log('●なでしこ(簡易版) # v.' + com.version.version);
|
|
109
|
+
console.log('[使い方] node snako.mjs [--debug|-d] (filename)');
|
|
110
|
+
console.log('[使い方] node snako.mjs [--eval|-e] (source)');
|
|
111
|
+
console.log('[使い方] node snako.mjs [-c] (source) ... convert');
|
|
112
|
+
}
|
|
113
|
+
/** メイン処理を実行 */
|
|
114
|
+
main(nodejs_argv);
|
package/core/package.json
CHANGED
package/core/src/nako_gen.mjs
CHANGED
|
@@ -191,11 +191,11 @@ export class NakoGen {
|
|
|
191
191
|
varname_set(name, jsvalue) {
|
|
192
192
|
if (this.varslistSet.length === 3) {
|
|
193
193
|
// グローバル
|
|
194
|
-
return `__self.__varslist[${2}].set(${JSON.stringify(name)}, ${jsvalue})`;
|
|
194
|
+
return `__self.__varslist[${2}].set(${JSON.stringify(name)}, (${jsvalue}))`;
|
|
195
195
|
}
|
|
196
196
|
else {
|
|
197
197
|
// ローカル
|
|
198
|
-
return `__self.__vars.set(${JSON.stringify(name)}, ${jsvalue})`;
|
|
198
|
+
return `__self.__vars.set(${JSON.stringify(name)}, (${jsvalue}))`;
|
|
199
199
|
}
|
|
200
200
|
}
|
|
201
201
|
/**
|
|
@@ -1638,9 +1638,18 @@ export class NakoGen {
|
|
|
1638
1638
|
if (this.speedMode.invalidSore === 0) {
|
|
1639
1639
|
value = this.varname_get('それ');
|
|
1640
1640
|
}
|
|
1641
|
+
// 値のプログラムを生成
|
|
1641
1642
|
if (node.value) {
|
|
1643
|
+
const ast = node.value;
|
|
1644
|
+
if (ast.type === 'func' && ast.name !== undefined) {
|
|
1645
|
+
const func = this.__self.getFunc(ast.name);
|
|
1646
|
+
if (func && func.return_none) {
|
|
1647
|
+
throw NakoSyntaxError.fromNode(`関数『${ast.name}』は戻り値がないので結果を代入できません。`, node);
|
|
1648
|
+
}
|
|
1649
|
+
}
|
|
1642
1650
|
value = this._convGen(node.value, true);
|
|
1643
1651
|
}
|
|
1652
|
+
// 戻り値の検証
|
|
1644
1653
|
if (value == null) {
|
|
1645
1654
|
throw NakoSyntaxError.fromNode('代入する先の変数名がありません。', node);
|
|
1646
1655
|
}
|
package/core/src/nako_gen.mts
CHANGED
|
@@ -269,10 +269,10 @@ export class NakoGen {
|
|
|
269
269
|
varname_set (name: string, jsvalue: string): string {
|
|
270
270
|
if (this.varslistSet.length === 3) {
|
|
271
271
|
// グローバル
|
|
272
|
-
return `__self.__varslist[${2}].set(${JSON.stringify(name)}, ${jsvalue})`
|
|
272
|
+
return `__self.__varslist[${2}].set(${JSON.stringify(name)}, (${jsvalue}))`
|
|
273
273
|
} else {
|
|
274
274
|
// ローカル
|
|
275
|
-
return `__self.__vars.set(${JSON.stringify(name)}, ${jsvalue})`
|
|
275
|
+
return `__self.__vars.set(${JSON.stringify(name)}, (${jsvalue}))`
|
|
276
276
|
}
|
|
277
277
|
}
|
|
278
278
|
|
|
@@ -1693,10 +1693,22 @@ export class NakoGen {
|
|
|
1693
1693
|
// もし値が省略されていたら、変数「それ」に代入する
|
|
1694
1694
|
let value = null
|
|
1695
1695
|
if (this.speedMode.invalidSore === 0) { value = this.varname_get('それ') }
|
|
1696
|
-
|
|
1696
|
+
// 値のプログラムを生成
|
|
1697
|
+
if (node.value) {
|
|
1698
|
+
const ast = node.value
|
|
1699
|
+
if (ast.type === 'func' && ast.name !== undefined) {
|
|
1700
|
+
const func = this.__self.getFunc(ast.name)
|
|
1701
|
+
if (func && func.return_none) {
|
|
1702
|
+
throw NakoSyntaxError.fromNode(`関数『${ast.name}』は戻り値がないので結果を代入できません。`, node)
|
|
1703
|
+
}
|
|
1704
|
+
}
|
|
1705
|
+
value = this._convGen(node.value, true)
|
|
1706
|
+
}
|
|
1707
|
+
// 戻り値の検証
|
|
1697
1708
|
if (value == null) {
|
|
1698
1709
|
throw NakoSyntaxError.fromNode('代入する先の変数名がありません。', node)
|
|
1699
1710
|
}
|
|
1711
|
+
|
|
1700
1712
|
// 変数名
|
|
1701
1713
|
const name: string = (node.name as Ast).value
|
|
1702
1714
|
const res = this.findVar(name, value)
|
|
@@ -1712,7 +1724,6 @@ export class NakoGen {
|
|
|
1712
1724
|
}
|
|
1713
1725
|
code = `${res.js_set};`
|
|
1714
1726
|
}
|
|
1715
|
-
|
|
1716
1727
|
return ';' + this.convLineno(node, false) + code + '\n'
|
|
1717
1728
|
}
|
|
1718
1729
|
|
|
@@ -207,4 +207,19 @@ describe('error_message', () => {
|
|
|
207
207
|
assert.strictEqual(log, '')
|
|
208
208
|
})
|
|
209
209
|
})
|
|
210
|
+
it('戻り値のない関数を代入文の結果に使おうとする #175', async () => {
|
|
211
|
+
const compiler = new NakoCompiler()
|
|
212
|
+
const logger = compiler.getLogger()
|
|
213
|
+
logger.addListener('error', ({ level, noColor }) => {
|
|
214
|
+
const s = (noColor + '\n').split('\n')[0].replace('[エラー]', '')
|
|
215
|
+
assert.strictEqual(level, 'error')
|
|
216
|
+
assert.strictEqual(s, '[文法エラー]main.nako3(1行目): 関数『表示』は戻り値がないので結果を代入できません。')
|
|
217
|
+
return true
|
|
218
|
+
})
|
|
219
|
+
try {
|
|
220
|
+
await compiler.runAsync('A=「あ」を表示', 'main.nako3')
|
|
221
|
+
} catch (_) {
|
|
222
|
+
// pass
|
|
223
|
+
}
|
|
224
|
+
})
|
|
210
225
|
})
|
package/core/tsconfig.json
CHANGED
|
@@ -30,14 +30,14 @@
|
|
|
30
30
|
// "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */
|
|
31
31
|
|
|
32
32
|
/* Modules */
|
|
33
|
-
"module": "NodeNext",
|
|
33
|
+
"module": "NodeNext", /* Specify what module code is generated. */
|
|
34
34
|
// "rootDir": "./", /* Specify the root folder within your source files. */
|
|
35
|
-
"moduleResolution": "NodeNext",
|
|
36
|
-
"baseUrl": "./",
|
|
35
|
+
"moduleResolution": "NodeNext", /* Specify how TypeScript looks up a file from a given module specifier. */
|
|
36
|
+
"baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */
|
|
37
37
|
// "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */
|
|
38
38
|
// "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */
|
|
39
39
|
"typeRoots": ["src/@types", "node_modules/@types"], /* Specify multiple folders that act like `./node_modules/@types`. */
|
|
40
|
-
"types": ["node"
|
|
40
|
+
"types": ["node"], /* Specify type package names to be included without being referenced in a source file. */
|
|
41
41
|
// "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */
|
|
42
42
|
// "resolveJsonModule": true, /* Enable importing .json files */
|
|
43
43
|
// "noResolve": true, /* Disallow `import`s, `require`s or `<reference>`s from expanding the number of files TypeScript should add to a project. */
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nadesiko3",
|
|
3
|
-
"version": "3.6.
|
|
3
|
+
"version": "3.6.13",
|
|
4
4
|
"description": "Japanese Programming Language",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "src/index.mjs",
|
|
@@ -29,6 +29,7 @@
|
|
|
29
29
|
"build:nako_version": "node src/cnako3.mjs batch/build_nako_version.nako3",
|
|
30
30
|
"build:tsc": "tsc",
|
|
31
31
|
"build": "npm run build:tsc && npm run build:nako_version && npm run build:tsc && npm run build:command && npm run build:esbuild && node src/cnako3.mjs batch/calc_hash.nako3",
|
|
32
|
+
"build:watch": "node bundle_esbuild.js --watch",
|
|
32
33
|
"clean": "npm run build:tsc && node src/cnako3.mjs batch/clean.nako3",
|
|
33
34
|
"tsc": "tsc --watch",
|
|
34
35
|
"build:esbuild": "tsc && node bundle_esbuild.js",
|
package/release/_hash.txt
CHANGED
|
@@ -18,11 +18,21 @@ edit_main.js:
|
|
|
18
18
|
sha256(hex): d6a8060e3d48b1a54f2c463d5279407b4c59e0a8ca823912a52b723e7184352c
|
|
19
19
|
sha256(base64): 1qgGDj1IsaVPLEY9UnlAe0xZ4KjKgjkSpStyPnGENSw=
|
|
20
20
|
sha512(base64): chJSrv6X4XeV+t0MehOr1mrmsz4ZTNJUA0wfSu99I0A7EvRPX9MgR3LXeOMcTHWyuLj7htmRhCch6j0zXjTYRQ==
|
|
21
|
+
edit_main.js:
|
|
22
|
+
md5(hex): b21c330f008df8c5d9d2a63c206e2235
|
|
23
|
+
sha256(hex): d6a8060e3d48b1a54f2c463d5279407b4c59e0a8ca823912a52b723e7184352c
|
|
24
|
+
sha256(base64): 1qgGDj1IsaVPLEY9UnlAe0xZ4KjKgjkSpStyPnGENSw=
|
|
25
|
+
sha512(base64): chJSrv6X4XeV+t0MehOr1mrmsz4ZTNJUA0wfSu99I0A7EvRPX9MgR3LXeOMcTHWyuLj7htmRhCch6j0zXjTYRQ==
|
|
26
|
+
version_main.js:
|
|
27
|
+
md5(hex): 2d14cb91d486038e934b6afd1d275259
|
|
28
|
+
sha256(hex): b2c3a51c08fdbfeaf8c79676b354f519807cfc0ce8e38237bc1df7e27370bb1b
|
|
29
|
+
sha256(base64): ssOlHAj9v+r4x5Z2s1T1GYB8/Azo44I3vB334nNwuxs=
|
|
30
|
+
sha512(base64): OWs22aZ0QaDY3L3J4Be4/hWf/0iSWXuMVY1vvl6wynYrem4fe1Sh3CIclOWdQnolRzTFXHGMnBp9FUv8NcQsQA==
|
|
21
31
|
editor.js:
|
|
22
|
-
md5(hex):
|
|
23
|
-
sha256(hex):
|
|
24
|
-
sha256(base64):
|
|
25
|
-
sha512(base64):
|
|
32
|
+
md5(hex): b21c330f008df8c5d9d2a63c206e2235
|
|
33
|
+
sha256(hex): d6a8060e3d48b1a54f2c463d5279407b4c59e0a8ca823912a52b723e7184352c
|
|
34
|
+
sha256(base64): 1qgGDj1IsaVPLEY9UnlAe0xZ4KjKgjkSpStyPnGENSw=
|
|
35
|
+
sha512(base64): chJSrv6X4XeV+t0MehOr1mrmsz4ZTNJUA0wfSu99I0A7EvRPX9MgR3LXeOMcTHWyuLj7htmRhCch6j0zXjTYRQ==
|
|
26
36
|
nako_gen_async.js:
|
|
27
37
|
md5(hex): 42d5fed01039474ff197d449c27c84ad
|
|
28
38
|
sha256(hex): d78d516b32b551c4a51ceef529568760783c84f6c5d90029fa9b38922d5b4430
|
|
@@ -78,21 +88,76 @@ plugin_weykturtle3d.js:
|
|
|
78
88
|
sha256(hex): e74ba47893348954dd3ea94eee8517427c9ac70395f6984ac07241245112538d
|
|
79
89
|
sha256(base64): 50ukeJM0iVTdPqlO7oUXQnyaxwOV9phKwHJBJFESU40=
|
|
80
90
|
sha512(base64): ONFdombPCdgdnXs7VMUAHpe8IBvTuLzSgzmERf1jEhHo4l06wDpkpRRCk3/9a1hiXRHQ+le2LZBT7XH4VA27sQ==
|
|
91
|
+
plugin_caniuse.js:
|
|
92
|
+
md5(hex): 7aa93b13b4ab775d7bc5a0fb99d4df93
|
|
93
|
+
sha256(hex): 3a47ea016531a8e78a13599d27a4303964ba878d9d10f36a3634645ffa159705
|
|
94
|
+
sha256(base64): OkfqAWUxqOeKE1mdJ6QwOWS6h42dEPNqNjRkX/oVlwU=
|
|
95
|
+
sha512(base64): V6nOBHnhxPChu+S/LfB7elCeBk985ukLmBmkCyPk4ai5VfoJZuOIttg72PbZSxWfP5eQTrlLNajsorfwNw/vcA==
|
|
96
|
+
plugin_datetime.js:
|
|
97
|
+
md5(hex): 90a1fcbe222cd79351faedf1c6a62c47
|
|
98
|
+
sha256(hex): d8c7be82e986e2d223f51b1b4202d63bc322ad575460766ec7efb22ab75b3eb4
|
|
99
|
+
sha256(base64): 2Me+gumG4tIj9RsbQgLWO8MirVdUYHZux++yKrdbPrQ=
|
|
100
|
+
sha512(base64): ofb5jVaHjjTRoCAmHnbewc2fS8vr1oEkX/B3WoOCjYpDnZ3nnl3EDz6fdAS8CFFzGvuekCk2RFN5BuM9kX6FAg==
|
|
101
|
+
plugin_kansuji.js:
|
|
102
|
+
md5(hex): 06fb701ed190ab224f60260858fccdfd
|
|
103
|
+
sha256(hex): a73466d59fd94e4e6fdfe54daafdff92bc7050c33488acc3f660d5534595129c
|
|
104
|
+
sha256(base64): pzRm1Z/ZTk5v3+VNqv3/krxwUMM0iKzD9mDVU0WVEpw=
|
|
105
|
+
sha512(base64): N+S8Th1yCiQy3q5jh0TFvlTOtrWNE82a4UJZ9O3ml3BGBYA141bpWlJR5c34dObTe1prbLJZ7v5WvV0vnDnr9A==
|
|
106
|
+
plugin_keigo.js:
|
|
107
|
+
md5(hex): 17c9d515a107feeb621e59e635e6d92c
|
|
108
|
+
sha256(hex): d4866cde44e4da71e5f74377172ab5b85afc1295a60c081f6d7c24525f403e0d
|
|
109
|
+
sha256(base64): 1IZs3kTk2nHl90N3Fyq1uFr8EpWmDAgfbXwkUl9APg0=
|
|
110
|
+
sha512(base64): u067+CeBvMb6+oINFY9Wz77GBk4NSxS2+k35GJ3RsFFmphJliwzwmV2ceID0gZ4mbjJ0xJHQX9WIypiyI6yfdA==
|
|
111
|
+
plugin_markup.js:
|
|
112
|
+
md5(hex): c67475a1be3fb260086ffb9782ce0b08
|
|
113
|
+
sha256(hex): 6f8edea132abefa955b8431707633a5f48dd40b04b76693245411e21c17e1ecb
|
|
114
|
+
sha256(base64): b47eoTKr76lVuEMXB2M6X0jdQLBLdmkyRUEeIcF+Hss=
|
|
115
|
+
sha512(base64): O5gWVMkfYr1neke9fSBDOa3BmSQDWUwGBh8VxPtHW2AEJYvaGyuER9lmPwOTP+WtMB/kc4K9DM/OvNsCWfvL7Q==
|
|
116
|
+
plugin_three.js:
|
|
117
|
+
md5(hex): 5fa1fba6c48576ba6046e9302b3bcf89
|
|
118
|
+
sha256(hex): e2b2c54d9674837d51cc91d032e3aa9f2a1cc8fbc11b6be503649a1cccfe08cb
|
|
119
|
+
sha256(base64): 4rLFTZZ0g31RzJHQMuOqnyocyPvBG2vlA2SaHMz+CMs=
|
|
120
|
+
sha512(base64): 4loRkhlxZ9A9v5t3sk5VECW7T33axIVbBQgwkNdgcjk03yRqAvxut5OS4n3BBS4jnWWHOE3i0vj9qxOOp4uV3Q==
|
|
121
|
+
plugin_turtle.js:
|
|
122
|
+
md5(hex): 544cfa3bd85bad6e968cf90250799f45
|
|
123
|
+
sha256(hex): 90a4a5f26ea1a362dac7fe7a272c4e167a76f749265b88961d3053f64c576209
|
|
124
|
+
sha256(base64): kKSl8m6ho2Lax/56JyxOFnp290kmW4iWHTBT9kxXYgk=
|
|
125
|
+
sha512(base64): ce8etr+HoC+UjUyXSgxJzy3+pOYhsBdt9jDzhks2H/eEPQ1gIz7M8hoeyP0223zLLZHBBzlHiL/a6mmJdoKQ+w==
|
|
126
|
+
plugin_webworker.js:
|
|
127
|
+
md5(hex): ae0adac0834f5e6032708a5c7672b817
|
|
128
|
+
sha256(hex): 46a0bb24c1d8f1d0652057e9348eaca1b26a857f0ffc993e9070ae683609c045
|
|
129
|
+
sha256(base64): RqC7JMHY8dBlIFfpNI6sobJqhX8P/Jk+kHCuaDYJwEU=
|
|
130
|
+
sha512(base64): 6UHX2dgMPRY4BuIxLXaERKaA8Wg5eK2pWy+OysU0/+gt2E15M7K5Vr8+4CQt6hylWnmzmJQJfgObIr+yjW5kPw==
|
|
131
|
+
plugin_weykturtle3d.js:
|
|
132
|
+
md5(hex): fb981a85ea64ff05f29fb05c99294e94
|
|
133
|
+
sha256(hex): e74ba47893348954dd3ea94eee8517427c9ac70395f6984ac07241245112538d
|
|
134
|
+
sha256(base64): 50ukeJM0iVTdPqlO7oUXQnyaxwOV9phKwHJBJFESU40=
|
|
135
|
+
sha512(base64): ONFdombPCdgdnXs7VMUAHpe8IBvTuLzSgzmERf1jEhHo4l06wDpkpRRCk3/9a1hiXRHQ+le2LZBT7XH4VA27sQ==
|
|
136
|
+
wnako3.js:
|
|
137
|
+
md5(hex): c75e89be9d951df1ed05e0d7d6571175
|
|
138
|
+
sha256(hex): a351605c360072aa2d0c109666c58b9e8e82b2efacc21390909b2c0fa4f0469b
|
|
139
|
+
sha256(base64): o1FgXDYAcqotDBCWZsWLno6Csu+swhOQkJssD6TwRps=
|
|
140
|
+
sha512(base64): OynXQRRt0dv7GIW23ZlWFVfqqXpg8ZqUDpcv8kqDiNCkRTzLW41PS9aEHdOieLI7Twwu9f6r5+4MlxvE3UYqVw==
|
|
141
|
+
wnako3webworker.js:
|
|
142
|
+
md5(hex): bca0766f8a4b9510fc4b87409e297880
|
|
143
|
+
sha256(hex): 9dbfbeb5f4922ab54ebedca251298c701b3c09b5ba57e6eae048ec2e2e2128ad
|
|
144
|
+
sha256(base64): nb++tfSSKrVOvtyiUSmMcBs8CbW6V+bq4EjsLi4hKK0=
|
|
145
|
+
sha512(base64): 97yLnnWQfc6SSs51PMT93W5ROTIFqO01Ox7ic2hZGlrw4dzPehJG02J99n8Iv3k6sy9m3Eg74QdACYVwIr4oSg==
|
|
81
146
|
version.js:
|
|
82
|
-
md5(hex):
|
|
83
|
-
sha256(hex):
|
|
84
|
-
sha256(base64):
|
|
85
|
-
sha512(base64):
|
|
147
|
+
md5(hex): fadb4046dc4fc1c9fe87e6802e40a546
|
|
148
|
+
sha256(hex): a7607bf33d941d7d39f06688245ad96ebcdfe6925c0c057b5df71ea740e4dec1
|
|
149
|
+
sha256(base64): p2B78z2UHX058GaIJFrZbrzf5pJcDAV7Xfcep0Dk3sE=
|
|
150
|
+
sha512(base64): 5I8dZgHE9dwZN3wYyZRlTwLIjYKhwbyFHSfxJS6qysZyb+JKOrmeUsHQywYrgAfmeboMiUMboLlovx8l1IX76g==
|
|
86
151
|
version_main.js:
|
|
87
152
|
md5(hex): fadb4046dc4fc1c9fe87e6802e40a546
|
|
88
153
|
sha256(hex): a7607bf33d941d7d39f06688245ad96ebcdfe6925c0c057b5df71ea740e4dec1
|
|
89
154
|
sha256(base64): p2B78z2UHX058GaIJFrZbrzf5pJcDAV7Xfcep0Dk3sE=
|
|
90
155
|
sha512(base64): 5I8dZgHE9dwZN3wYyZRlTwLIjYKhwbyFHSfxJS6qysZyb+JKOrmeUsHQywYrgAfmeboMiUMboLlovx8l1IX76g==
|
|
91
156
|
wnako3.js:
|
|
92
|
-
md5(hex):
|
|
93
|
-
sha256(hex):
|
|
94
|
-
sha256(base64):
|
|
95
|
-
sha512(base64):
|
|
157
|
+
md5(hex): 1fcbc67fb6d0b75a8db5e0e2075627d2
|
|
158
|
+
sha256(hex): f9d35aff98f4f59509a4f73aa92c3d69ed761f90c2f7c14b268b8b479aa069e0
|
|
159
|
+
sha256(base64): +dNa/5j09ZUJpPc6qSw9ae12H5DC98FLJouLR5qgaeA=
|
|
160
|
+
sha512(base64): 7WovIXqX2HnkOVAag2xaf1PY8Pf1wiVbQrSlY9DEyY/CrekxnwytZQposyQp8vFSXw5JHbK61J45+a1pV/pn1Q==
|
|
96
161
|
wnako3webworker.js:
|
|
97
162
|
md5(hex): 0fa4059c0f5f4fff126480dd7662ebd5
|
|
98
163
|
sha256(hex): fc7a53d66e54e74e78b677c73feab18b99139ddaaf45fbde9e6e2aef0d9aaaeb
|
package/release/_script-tags.txt
CHANGED
|
@@ -1,20 +1,33 @@
|
|
|
1
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.
|
|
2
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.
|
|
3
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.
|
|
4
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.
|
|
5
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.
|
|
6
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.
|
|
7
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.
|
|
8
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.
|
|
9
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.
|
|
10
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.
|
|
11
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.
|
|
12
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.
|
|
13
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.
|
|
14
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.
|
|
15
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.
|
|
16
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.
|
|
17
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.
|
|
18
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.
|
|
19
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.
|
|
20
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.
|
|
1
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.13&f=release/command.json.js" integrity="sha512-cM2Az1P66nPoDyzHmyJ08fgslW0MGQx9sB8ChXiywo7vqlRoqsCYi+YmVyiMHsWuEewYXPTlrMFriKaey2C9tA==" crossorigin="anonymous"></script>
|
|
2
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.13&f=release/core_src_nako_josi_list_mjs.js" integrity="sha512-0+LAeEfPy2Lrl+DeJMjbBIUda9Y5ttpLGy3/FW8rjSW8bN3udrALJa5V/bhjxU7mYouumV/QGN2wt3oxMCKy9g==" crossorigin="anonymous"></script>
|
|
3
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.13&f=release/core_src_nako_reserved_words_mjs.js" integrity="sha512-UzZigh2tIhgBO3+Sp1wnqKMvAGfhqSRdH2+ffmRy4+8CVNEeepddaDV0oKJ+vyvi28zQLmXeMsjRu+Frj3YlTg==" crossorigin="anonymous"></script>
|
|
4
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.13&f=release/edit_main.js" integrity="sha512-chJSrv6X4XeV+t0MehOr1mrmsz4ZTNJUA0wfSu99I0A7EvRPX9MgR3LXeOMcTHWyuLj7htmRhCch6j0zXjTYRQ==" crossorigin="anonymous"></script>
|
|
5
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.13&f=release/edit_main.js" integrity="sha512-chJSrv6X4XeV+t0MehOr1mrmsz4ZTNJUA0wfSu99I0A7EvRPX9MgR3LXeOMcTHWyuLj7htmRhCch6j0zXjTYRQ==" crossorigin="anonymous"></script>
|
|
6
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.13&f=release/version_main.js" integrity="sha512-OWs22aZ0QaDY3L3J4Be4/hWf/0iSWXuMVY1vvl6wynYrem4fe1Sh3CIclOWdQnolRzTFXHGMnBp9FUv8NcQsQA==" crossorigin="anonymous"></script>
|
|
7
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.13&f=release/editor.js" integrity="sha512-chJSrv6X4XeV+t0MehOr1mrmsz4ZTNJUA0wfSu99I0A7EvRPX9MgR3LXeOMcTHWyuLj7htmRhCch6j0zXjTYRQ==" crossorigin="anonymous"></script>
|
|
8
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.13&f=release/nako_gen_async.js" integrity="sha512-/73lycspxJ921s+NmqaOKF58X9rCsgEZrZT4O4sW1aCe5CSXtQevIasAoGgIoL3a5RmlaghbaIVASwAgmoE3+g==" crossorigin="anonymous"></script>
|
|
9
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.13&f=release/plugin_caniuse.js" integrity="sha512-V6nOBHnhxPChu+S/LfB7elCeBk985ukLmBmkCyPk4ai5VfoJZuOIttg72PbZSxWfP5eQTrlLNajsorfwNw/vcA==" crossorigin="anonymous"></script>
|
|
10
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.13&f=release/plugin_datetime.js" integrity="sha512-ofb5jVaHjjTRoCAmHnbewc2fS8vr1oEkX/B3WoOCjYpDnZ3nnl3EDz6fdAS8CFFzGvuekCk2RFN5BuM9kX6FAg==" crossorigin="anonymous"></script>
|
|
11
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.13&f=release/plugin_kansuji.js" integrity="sha512-N+S8Th1yCiQy3q5jh0TFvlTOtrWNE82a4UJZ9O3ml3BGBYA141bpWlJR5c34dObTe1prbLJZ7v5WvV0vnDnr9A==" crossorigin="anonymous"></script>
|
|
12
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.13&f=release/plugin_keigo.js" integrity="sha512-u067+CeBvMb6+oINFY9Wz77GBk4NSxS2+k35GJ3RsFFmphJliwzwmV2ceID0gZ4mbjJ0xJHQX9WIypiyI6yfdA==" crossorigin="anonymous"></script>
|
|
13
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.13&f=release/plugin_markup.js" integrity="sha512-O5gWVMkfYr1neke9fSBDOa3BmSQDWUwGBh8VxPtHW2AEJYvaGyuER9lmPwOTP+WtMB/kc4K9DM/OvNsCWfvL7Q==" crossorigin="anonymous"></script>
|
|
14
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.13&f=release/plugin_three.js" integrity="sha512-4loRkhlxZ9A9v5t3sk5VECW7T33axIVbBQgwkNdgcjk03yRqAvxut5OS4n3BBS4jnWWHOE3i0vj9qxOOp4uV3Q==" crossorigin="anonymous"></script>
|
|
15
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.13&f=release/plugin_toml.js" integrity="sha512-Z4JmOCY66VuyoD8m4dCzKttEbCTEUfqyuqlmcOhs69m/88skKcPYWXi+4W+Td5LdI3xqezn4BkN32F9ZkPzUpQ==" crossorigin="anonymous"></script>
|
|
16
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.13&f=release/plugin_turtle.js" integrity="sha512-ce8etr+HoC+UjUyXSgxJzy3+pOYhsBdt9jDzhks2H/eEPQ1gIz7M8hoeyP0223zLLZHBBzlHiL/a6mmJdoKQ+w==" crossorigin="anonymous"></script>
|
|
17
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.13&f=release/plugin_webworker.js" integrity="sha512-6UHX2dgMPRY4BuIxLXaERKaA8Wg5eK2pWy+OysU0/+gt2E15M7K5Vr8+4CQt6hylWnmzmJQJfgObIr+yjW5kPw==" crossorigin="anonymous"></script>
|
|
18
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.13&f=release/plugin_weykturtle3d.js" integrity="sha512-ONFdombPCdgdnXs7VMUAHpe8IBvTuLzSgzmERf1jEhHo4l06wDpkpRRCk3/9a1hiXRHQ+le2LZBT7XH4VA27sQ==" crossorigin="anonymous"></script>
|
|
19
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.13&f=release/plugin_caniuse.js" integrity="sha512-V6nOBHnhxPChu+S/LfB7elCeBk985ukLmBmkCyPk4ai5VfoJZuOIttg72PbZSxWfP5eQTrlLNajsorfwNw/vcA==" crossorigin="anonymous"></script>
|
|
20
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.13&f=release/plugin_datetime.js" integrity="sha512-ofb5jVaHjjTRoCAmHnbewc2fS8vr1oEkX/B3WoOCjYpDnZ3nnl3EDz6fdAS8CFFzGvuekCk2RFN5BuM9kX6FAg==" crossorigin="anonymous"></script>
|
|
21
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.13&f=release/plugin_kansuji.js" integrity="sha512-N+S8Th1yCiQy3q5jh0TFvlTOtrWNE82a4UJZ9O3ml3BGBYA141bpWlJR5c34dObTe1prbLJZ7v5WvV0vnDnr9A==" crossorigin="anonymous"></script>
|
|
22
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.13&f=release/plugin_keigo.js" integrity="sha512-u067+CeBvMb6+oINFY9Wz77GBk4NSxS2+k35GJ3RsFFmphJliwzwmV2ceID0gZ4mbjJ0xJHQX9WIypiyI6yfdA==" crossorigin="anonymous"></script>
|
|
23
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.13&f=release/plugin_markup.js" integrity="sha512-O5gWVMkfYr1neke9fSBDOa3BmSQDWUwGBh8VxPtHW2AEJYvaGyuER9lmPwOTP+WtMB/kc4K9DM/OvNsCWfvL7Q==" crossorigin="anonymous"></script>
|
|
24
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.13&f=release/plugin_three.js" integrity="sha512-4loRkhlxZ9A9v5t3sk5VECW7T33axIVbBQgwkNdgcjk03yRqAvxut5OS4n3BBS4jnWWHOE3i0vj9qxOOp4uV3Q==" crossorigin="anonymous"></script>
|
|
25
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.13&f=release/plugin_turtle.js" integrity="sha512-ce8etr+HoC+UjUyXSgxJzy3+pOYhsBdt9jDzhks2H/eEPQ1gIz7M8hoeyP0223zLLZHBBzlHiL/a6mmJdoKQ+w==" crossorigin="anonymous"></script>
|
|
26
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.13&f=release/plugin_webworker.js" integrity="sha512-6UHX2dgMPRY4BuIxLXaERKaA8Wg5eK2pWy+OysU0/+gt2E15M7K5Vr8+4CQt6hylWnmzmJQJfgObIr+yjW5kPw==" crossorigin="anonymous"></script>
|
|
27
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.13&f=release/plugin_weykturtle3d.js" integrity="sha512-ONFdombPCdgdnXs7VMUAHpe8IBvTuLzSgzmERf1jEhHo4l06wDpkpRRCk3/9a1hiXRHQ+le2LZBT7XH4VA27sQ==" crossorigin="anonymous"></script>
|
|
28
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.13&f=release/wnako3.js" integrity="sha512-OynXQRRt0dv7GIW23ZlWFVfqqXpg8ZqUDpcv8kqDiNCkRTzLW41PS9aEHdOieLI7Twwu9f6r5+4MlxvE3UYqVw==" crossorigin="anonymous"></script>
|
|
29
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.13&f=release/wnako3webworker.js" integrity="sha512-97yLnnWQfc6SSs51PMT93W5ROTIFqO01Ox7ic2hZGlrw4dzPehJG02J99n8Iv3k6sy9m3Eg74QdACYVwIr4oSg==" crossorigin="anonymous"></script>
|
|
30
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.13&f=release/version.js" integrity="sha512-5I8dZgHE9dwZN3wYyZRlTwLIjYKhwbyFHSfxJS6qysZyb+JKOrmeUsHQywYrgAfmeboMiUMboLlovx8l1IX76g==" crossorigin="anonymous"></script>
|
|
31
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.13&f=release/version_main.js" integrity="sha512-5I8dZgHE9dwZN3wYyZRlTwLIjYKhwbyFHSfxJS6qysZyb+JKOrmeUsHQywYrgAfmeboMiUMboLlovx8l1IX76g==" crossorigin="anonymous"></script>
|
|
32
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.13&f=release/wnako3.js" integrity="sha512-7WovIXqX2HnkOVAag2xaf1PY8Pf1wiVbQrSlY9DEyY/CrekxnwytZQposyQp8vFSXw5JHbK61J45+a1pV/pn1Q==" crossorigin="anonymous"></script>
|
|
33
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.13&f=release/wnako3webworker.js" integrity="sha512-n6GS1iHW9cBD/5ucIxWXAnY/QaFuitBY3LSPHQpyKFHlsTpE45q9awHDch0JiyrwI3JVtroFqz/ECcQMLHNphA==" crossorigin="anonymous"></script>
|