āϰā§āĻŦāĻŋ 3.2.0 āĻĒā§āϰāĻāĻžāĻļ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§, āĻāĻāĻāĻŋ āĻāϤāĻŋāĻļā§āϞ āĻŦāϏā§āϤā§-āĻāĻŋāϤā§āϤāĻŋāĻ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽāĻŋāĻ āĻāĻžāώāĻž āϝāĻž āĻĒā§āϰā§āĻā§āϰāĻžāĻŽ āĻĄā§āĻā§āϞāĻĒāĻŽā§āύā§āĻā§ āĻ āϤā§āϝāύā§āϤ āĻĻāĻā§āώ āĻāĻŦāĻ āĻĒāĻžāϰā§āϞ, āĻāĻžāĻāĻž, āĻĒāĻžāĻāĻĨāύ, āϏā§āĻŽāϞāĻāĻ, āĻāĻāĻĢā§āϞ, āĻ ā§āϝāĻžāĻĄāĻž āĻāĻŦāĻ āϞāĻŋāϏā§āĻĒā§āϰ āϏā§āϰāĻž āĻŦā§āĻļāĻŋāώā§āĻā§āϝāĻā§āϞāĻŋāĻā§ āĻ āύā§āϤāϰā§āĻā§āĻā§āϤ āĻāϰā§āĨ¤ āĻĒā§āϰāĻāϞā§āĻĒ āĻā§āĻĄ āĻŦāĻŋāĻāϏāĻĄāĻŋ ("2-āĻā§āϞāĻ BSDL") āĻāĻŦāĻ "āϰā§āĻŦāĻŋ" āϞāĻžāĻāϏā§āύā§āϏā§āϰ āĻ āϧā§āύ⧠āĻŦāĻŋāϤāϰāĻŖ āĻāϰāĻž āĻšāϝāĻŧ, āϝāĻž GPL āϞāĻžāĻāϏā§āύā§āϏā§āϰ āϏāϰā§āĻŦāĻļā§āώ āϏāĻāϏā§āĻāϰāĻŖāĻā§ āύāĻŋāϰā§āĻĻā§āĻļ āĻāϰ⧠āĻāĻŦāĻ GPLv3 āĻāϰ āϏāĻžāĻĨā§ āϏāĻŽā§āĻĒā§āϰā§āĻŖ āϏāĻžāĻŽāĻā§āĻāϏā§āϝāĻĒā§āϰā§āĻŖāĨ¤
āĻĒā§āϰāϧāĻžāύ āĻāύā§āύāϤāĻŋ:
- CRuby āĻāύā§āĻāĻžāϰāĻĒā§āϰā§āĻāĻžāϰā§āϰ āĻāĻāĻāĻŋ āĻĒā§āϰāĻžāĻĨāĻŽāĻŋāĻ āĻĒā§āϰā§āĻ āϝā§āĻ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§āĨ¤ āĻāĻāĻŋ āĻāϝāĻŧā§āĻŦ āĻŦā§āϰāĻžāĻāĻāĻžāϰ⧠āĻ āĻĨāĻŦāĻž wasmtime-āĻāϰ āĻŽāϤ⧠āĻāϞāĻžāĻĻāĻž āϰāĻžāύāĻāĻžāĻāĻŽā§āϰ āĻ āϧā§āύ⧠āĻāĻžāϞāĻžāύā§āϰ āĻāύā§āϝ WebAssembly āĻāύā§āĻāĻžāϰāĻŽāĻŋāĻĄāĻŋāϝāĻŧā§āĻ āĻā§āĻĄā§ āĻāĻŽā§āĻĒāĻžāĻāϞ āĻšāϝāĻŧāĨ¤ āϏā§āĻŦāϤāύā§āϤā§āϰāĻāĻžāĻŦā§ āĻāϞāĻžāϰ āϏāĻŽāϝāĻŧ āĻ āĻĒāĻžāϰā§āĻāĻŋāĻ āϏāĻŋāϏā§āĻā§āĻŽā§āϰ āϏāĻžāĻĨā§ āϏāϰāĻžāϏāϰāĻŋ āϝā§āĻāĻžāϝā§āĻā§āϰ āĻāύā§āϝ WASI (WebAssembly System Interface) API āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āĻšāϝāĻŧāĨ¤ āĻ āύā§āϝāĻžāύā§āϝ āϏā§āĻŦāĻŋāϧāĻžāϰ āĻŽāϧā§āϝā§, WASI-āĻāϰ āĻāĻĒāϰ āĻāĻāĻāĻŋ VFS āϰâā§āϝāĻžāĻĒāĻžāϰ āĻĒā§āϰāĻĻāĻžāύ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§, āϝāĻž āĻāĻāĻāĻŋ āϏāĻŽā§āĻĒā§āϰā§āĻŖ āϰā§āĻŦāĻŋ āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύāĻā§ āĻāĻāĻāĻŋāĻŽāĻžāϤā§āϰ .wasm āĻĢāĻžāĻāϞ āĻšāĻŋāϏā§āĻŦā§ āĻĒā§āϝāĻžāĻā§āĻ āĻāϰāĻžāϰ āϏā§āϝā§āĻ āĻĻā§āϝāĻŧāĨ¤ āĻŦā§āϰāĻžāĻāĻāĻžāϰ⧠āĻāĻāĻŋ āĻāĻžāϞāĻŋāϝāĻŧā§ TryRuby-āĻāϰ āĻŽāϤ⧠āĻĒā§āϰāĻļāĻŋāĻā§āώāĻŖ āĻ āĻĒā§āϰāĻĻāϰā§āĻļāύā§āĻŽā§āϞāĻ āĻāϝāĻŧā§āĻŦ āϏāĻžāϰā§āĻāĻŋāϏ āϤā§āϰāĻŋ āĻāϰāĻž āϝāĻžāϝāĻŧāĨ¤ āĻāύā§āύāϝāĻŧāύā§āϰ āĻŦāϰā§āϤāĻŽāĻžāύ āĻĒāϰā§āϝāĻžāϝāĻŧā§, āĻĒā§āϰā§āĻāĻāĻŋ āĻŦā§āϏāĻŋāĻ āĻāĻŦāĻ āĻŦā§āĻāϏā§āĻā§āϰā§āϝāĻžāĻĒ āĻā§āϏā§āĻ āϏā§āϝā§āĻ āϏāĻĢāϞāĻāĻžāĻŦā§ āĻĒāĻžāϏ āĻāϰā§āĻā§, āϝā§āĻā§āϞā§āϤ⧠āĻĨā§āϰā§āĻĄ āĻāĻĒāĻŋāĻāĻ (Thread API) āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āĻšāϝāĻŧ āύāĻžāĨ¤ āĻĒā§āϰā§āĻāĻāĻŋ āĻĢāĻžāĻāĻŦāĻžāϰ, āĻāĻā§āϏā§āĻĒāĻļāύ āĻŦāĻž āĻāĻžāϰā§āĻŦā§āĻ āĻāĻžāϞā§āĻāĻļāύāĻ āϏāĻŽāϰā§āĻĨāύ āĻāϰ⧠āύāĻžāĨ¤
- āϰā§āĻāϞāϏ āĻĢā§āϰā§āĻŽāĻāϝāĻŧāĻžāϰā§āĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻāĻŦāĻ āĻāĻāĻžāϧāĻŋāĻ āĻŽā§āĻĨāĻĄ āĻāϞ āĻāϰ⧠āĻāĻŽāύ āϰā§āĻŦāĻŋ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽā§āϰ āĻĒāĻžāϰāĻĢāϰāĻŽā§āϝāĻžāύā§āϏ āĻāύā§āύāϤ āĻāϰāĻžāϰ āĻāĻāĻāĻŋ āĻāĻĻā§āϝā§āĻā§āϰ āĻ
āĻāĻļ āĻšāĻŋāϏā§āĻŦā§ āĻļāĻĒāĻŋāĻĢāĻžāĻ āĻ-āĻāĻŽāĻžāϰā§āϏ āĻĒā§āϞā§āϝāĻžāĻāĻĢāϰā§āĻŽā§āϰ āĻĄā§āĻā§āϞāĻĒāĻžāϰāĻĻā§āϰ āĻĻā§āĻŦāĻžāϰāĻž āϤā§āϰāĻŋ YJIT āĻāύ-āĻĒā§āϰāϏā§āϏ JIT āĻāĻŽā§āĻĒāĻžāĻāϞāĻžāϰāĻāĻŋāĻā§ āϏā§āĻĨāĻŋāϤāĻŋāĻļā§āϞ āĻāĻŦāĻ āĻĒā§āϰā§āĻĄāĻžāĻāĻļāύ āĻŦā§āϝāĻŦāĻšāĻžāϰā§āϰ āĻāύā§āϝ āĻĒā§āϰāϏā§āϤā§āϤ āĻŦāϞ⧠āĻā§āώāĻŖāĻž āĻāϰāĻž āĻšāϝāĻŧā§āĻā§āĨ¤ āĻĒā§āϰā§āĻŦā§ āĻŦā§āϝāĻŦāĻšā§āϤ MJIT JIT āĻāĻŽā§āĻĒāĻžāĻāϞāĻžāϰā§āϰ āϏāĻžāĻĨā§ āĻāϰ āĻŽā§āϞ āĻĒāĻžāϰā§āĻĨāĻā§āϝ āĻšāϞā§, YJIT āϞā§āĻāĻŋ āĻŦā§āϏāĻŋāĻ āĻŦā§āϞāĻ āĻāĻžāϰā§āϏāύāĻŋāĻ (LBBV) āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻāĻŦāĻ āĻāϤ⧠āĻāĻāĻāĻŋ āĻāύā§āĻāĻŋāĻā§āϰā§āĻā§āĻĄ JIT āĻāĻŽā§āĻĒāĻžāĻāϞāĻžāϰ āϰāϝāĻŧā§āĻā§āĨ¤ MJIT āĻāĻŽā§āĻĒāĻžāĻāϞāĻžāϰāĻāĻŋ āϏāĻŽā§āĻĒā§āϰā§āĻŖ āĻŽā§āĻĨāĻĄ āĻĒā§āϰāϏā§āϏ āĻāϰāĻžāϰ āĻāĻĒāϰ āĻāĻŋāϤā§āϤāĻŋ āĻāϰ⧠āϤā§āϰāĻŋ āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻāĻā§āϏāĻāĻžāϰā§āύāĻžāϞ C āĻāĻŽā§āĻĒāĻžāĻāϞāĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āĨ¤ LBBV-āĻāϰ āĻāϞā§āϝāĻžāĻŖā§, JIT āĻĒā§āϰāĻĨāĻŽā§ āĻāĻāĻāĻŋ āĻŽā§āĻĨāĻĄā§āϰ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻļā§āϰā§āĻāĻž āĻāĻŽā§āĻĒāĻžāĻāϞ āĻāϰ⧠āĻāĻŦāĻ āĻāĻā§āϏāĻŋāĻāĻŋāĻāĻļāύā§āϰ āϏāĻŽāϝāĻŧ āĻŦā§āϝāĻŦāĻšā§āϤ āĻā§āϰāĻŋāϝāĻŧā§āĻŦāϞ āĻ āĻāϰā§āĻā§āĻŽā§āύā§āĻā§āϰ āĻāĻžāĻāĻĒ āύāĻŋāϰā§āϧāĻžāϰāĻŋāϤ āĻšāĻāϝāĻŧāĻžāϰ āĻĒāϰ āĻŦāĻžāĻāĻŋ āĻ
āĻāĻļ āĻāĻŽā§āĻĒāĻžāĻāϞ āĻāϰā§āĨ¤ YJIT x86-64 āĻāĻŦāĻ arm64/aarch64 āĻāϰā§āĻāĻŋāĻā§āĻāĻāĻžāϰā§āϰ āĻāύā§āϝ āĻāĻĒāϞāĻŦā§āϧāĨ¤ Linux, MacOS, BSD āĻāĻŦāĻ āĻ
āύā§āϝāĻžāύā§āϝ UNIX āĻĒā§āϞā§āϝāĻžāĻāĻĢāϰā§āĻŽāĨ¤
CRuby-āĻāϰ āĻĨā§āĻā§ āĻāĻŋāύā§āύ, YJIT āϰāĻžāϏā§āĻ (Rust) āĻāĻžāώāĻžāϝāĻŧ āϞā§āĻāĻž āĻāĻŦāĻ āĻāĻāĻŋ āĻāĻŽā§āĻĒāĻžāĻāϞ āĻāϰāĻžāϰ āĻāύā§āϝ rustc 1.58.0+ āĻāĻŽā§āĻĒāĻžāĻāϞāĻžāϰ āĻĒā§āϰāϝāĻŧā§āĻāύāĨ¤ āϤāĻžāĻ, YJIT āĻŦāĻŋāϞā§āĻĄ āĻāϰāĻž āĻĄāĻŋāĻĢāϞā§āĻāϰā§āĻĒā§ āύāĻŋāώā§āĻā§āϰāĻŋāϝāĻŧ āĻĨāĻžāĻā§ āĻāĻŦāĻ āĻāĻāĻŋ āĻāĻā§āĻāĻŋāĻāĨ¤ āĻĻā§āĻāĻž āĻā§āĻā§ āϝā§, āĻāύā§āĻāĻžāϰāĻĒā§āϰā§āĻā§āĻĄ āĻā§āĻĄā§āϰ āϤā§āϞāύāĻžāϝāĻŧ YJIT āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϞ⧠yjit-bench āĻŦā§āĻā§āĻāĻŽāĻžāϰā§āĻā§ āĻĒāĻžāϰāĻĢāϰāĻŽā§āϝāĻžāύā§āϏ ā§Ēā§§% āĻāύā§āύāϤ āĻšāϝāĻŧāĨ¤

- āĻ āĻĻāĻā§āώ āĻāĻŦāĻ āĻĻā§āϰā§āĻ āϏāĻŽāϝāĻŧ āϧāϰ⧠āĻāϞāĻž āϰā§āĻā§āϞāĻžāϰ āĻāĻā§āϏāĻĒā§āϰā§āĻļāύ⧠āĻŦāĻžāĻšā§āϝāĻŋāĻ āĻĄā§āĻāĻž āĻĒā§āϰāϏā§āϏ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻĄāĻŋāύāĻžāϝāĻŧāĻžāϞ-āĻ āĻĢ-āϏāĻžāϰā§āĻāĻŋāϏ āĻ ā§āϝāĻžāĻāĻžāĻ (ReDoS)-āĻāϰ āĻŦāĻŋāϰā§āĻĻā§āϧ⧠āĻ āϤāĻŋāϰāĻŋāĻā§āϤ āϏā§āϰāĻā§āώāĻž āϝā§āĻ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§āĨ¤ āĻŽā§āĻŽā§āĻāĻā§āĻļāύ āĻā§āĻļāϞ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰ⧠āĻŽā§āϝāĻžāĻāĻŋāĻ āĻ ā§āϝāĻžāϞāĻāϰāĻŋāĻĻāĻŽāĻāĻŋāĻā§ āĻāϞā§āϞā§āĻāϝā§āĻā§āϝāĻāĻžāĻŦā§ āĻāύā§āύāϤ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§āĨ¤ āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, '/^a*b?a*$/ =~ "a" * 50000 + "x"' āĻāĻā§āϏāĻĒā§āϰā§āĻļāύāĻāĻŋāϰ āĻāĻā§āϏāĻŋāĻāĻŋāĻāĻļāύ āĻāĻžāĻāĻŽ ā§§ā§Ļ āϏā§āĻā§āύā§āĻĄ āĻĨā§āĻā§ āĻāĻŽāĻŋāϝāĻŧā§ ā§Ļ.ā§Ļā§Ļā§Š āϏā§āĻā§āύā§āĻĄ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§āĨ¤ āĻāĻ āĻ āĻĒāĻāĻŋāĻŽāĻžāĻāĻā§āĻļāύā§āϰ āĻĢāϞ⧠āĻŽā§āĻŽā§āϰāĻŋ āĻāϰāĻ āĻŦā§āĻĄāĻŧā§ āϝāĻžāϝāĻŧ, āϝāĻž āĻāύāĻĒā§āĻ āĻĄā§āĻāĻžāϰ āĻāĻāĻžāϰā§āϰ āĻĒā§āϰāĻžāϝāĻŧ ā§§ā§Ļ āĻā§āĻŖāĨ¤ āĻĻā§āĻŦāĻŋāϤā§āϝāĻŧ āĻāĻāĻāĻŋ āĻĒā§āϰāĻļāĻŽāύ āĻŦā§āϝāĻŦāϏā§āĻĨāĻž āĻšāϞ⧠āĻāĻāĻāĻŋ āĻāĻžāĻāĻŽāĻāĻāĻ (āϝā§āĻŽāύ, "Regexp.timeout = 10") āύāĻŋāϰā§āϧāĻžāϰāĻŖ āĻāϰāĻžāϰ āϏā§āĻŦāĻŋāϧāĻž, āϝāĻžāϰ āĻŽāϧā§āϝ⧠āϰā§āĻā§āϞāĻžāϰ āĻāĻā§āϏāĻĒā§āϰā§āĻļāύāĻāĻŋ āĻ āĻŦāĻļā§āϝāĻ āĻĒā§āϰāϏā§āϏ āĻāϰāϤ⧠āĻšāĻŦā§āĨ¤
- āĻāĻāύ syntax_suggest āĻŽā§āĻĄ āĻ āύā§āϤāϰā§āĻā§āĻā§āϤ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§, āϝāĻž āĻāĻāĻāĻŋ āĻ āύā§āĻĒāϏā§āĻĨāĻŋāϤ āĻŦāĻž āĻ āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧ āĻā§āϞā§āĻāĻŋāĻ "end" āϏā§āĻā§āĻāĻŽā§āύā§āĻ āϏāĻŽā§āĻĒāϰā§āĻāĻŋāϤ āϤā§āϰā§āĻāĻŋāϰ āĻāĻžāϰāĻŖ āύāĻŋāϰā§āĻŖāϝāĻŧ āĻāϰāϤ⧠āϏāĻžāĻšāĻžāϝā§āϝ āĻāϰā§āĨ¤ āĻ āĻŽāĻŋāϞ 'end', āĻ āύā§āĻĒāϏā§āĻĨāĻŋāϤ āĻā§āĻāϝāĻŧāĻžāϰā§āĻĄ ('do', 'def', 'if', āĻāϤā§āϝāĻžāĻĻāĻŋ) ? 1 class Dog > 2 defbark > 3 end 4 end
- āĻāϰāϰ āϞā§āĻā§āĻļāύ āĻĄāĻŋāϏāĻĒā§āϞ⧠āĻŽā§āĻĄā§ āĻāĻžāĻāĻĒ āĻāĻŦāĻ āĻāϰā§āĻā§āĻŽā§āύā§āĻ āϏāĻŽā§āĻĒāϰā§āĻāĻŋāϤ āĻāϰāϰā§āϰ āĻāύā§āϝ āĻāϰā§āĻā§āĻŽā§āύā§āĻ āĻāĻŋāĻšā§āύāĻŋāϤ āĻāϰāĻžāϰ āĻā§āώāĻŽāϤāĻž āϝā§āĻ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§, āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ: test.rb:2:in `+': nil can't be coerced into Integer (TypeError) sum = ary[0] + ary[1] ^^^^^^
- āĻ āύā§āϝāĻžāύā§āϝ āĻŽā§āĻĨāĻĄā§ āĻāϰā§āĻā§āĻŽā§āύā§āĻā§āϰ āϏā§āĻ āĻĢāϰā§āϝāĻŧāĻžāϰā§āĻĄ āĻāϰāĻžāϰ āĻāύā§āϝ āύāϤā§āύ āϏāĻŋāύāĻā§āϝāĻžāĻā§āϏ āϝā§āĻ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§: def foo(*) bar(*) end def baz(**) quux(**) end
- ruby_vm/mjit/compiler āĻšāϞ⧠āĻĒā§āϰā§āύ⧠MJIT JIT āĻāĻŽā§āĻĒāĻžāĻāϞāĻžāϰā§āϰ āĻāĻāĻāĻŋ āϰā§āĻŦāĻŋ-āĻāĻŋāϤā§āϤāĻŋāĻ āĻĒā§āύāϰā§āϞāĻŋāĻāύāĨ¤ āĻāĻāĻŋ MJIT-āĻā§ āĻāϝāĻŧāĻžāϰā§āĻāĻžāϰ āĻĨā§āϰā§āĻĄā§āϰ āĻĒāϰāĻŋāĻŦāϰā§āϤ⧠āĻāĻāĻāĻŋ āĻĒā§āĻĨāĻ āĻĒā§āϰāϏā§āϏ⧠āĻāĻžāϞāĻžāϝāĻŧāĨ¤
- āĻŦāĻžāύā§āĻĄāϞāĻžāϰ ⧍.ā§Ē āĻāĻāύ āĻĄāĻŋāĻĒā§āύā§āĻĄā§āύā§āϏāĻŋ āĻšā§āϝāĻžāύā§āĻĄā§āϞ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻĒāĻžāĻŦāĻā§āϰāĻžāĻŦ āĻāĻžāϰā§āϏāύ āĻā§āĻāĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§, āϝāĻž āĻĄāĻžāϰā§āĻ āĻāĻžāώāĻžāϰ āĻĒāĻžāĻŦ āĻĒā§āϝāĻžāĻā§āĻ āĻŽā§āϝāĻžāύā§āĻāĻžāϰā§āĻ āĻŦā§āϝāĻŦāĻšā§āϤ āĻšāϝāĻŧāĨ¤ āĻĒā§āϰā§āĻŦā§ āĻŦā§āϝāĻŦāĻšā§āϤ āĻŽāϞāĻŋāύāĻŋāϞ⧠āĻ ā§āϝāĻžāϞāĻāϰāĻŋāĻĻāĻŽ āϰā§āĻŦāĻŋāĻā§āĻŽāϏ⧠āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ āĻŦā§āϝāĻžāĻšāϤ āϰāϝāĻŧā§āĻā§, āϤāĻŦā§ āĻāĻŦāĻŋāώā§āϝāϤ⧠āĻāĻāĻŋāĻ āĻĒāĻžāĻŦāĻā§āϰāĻžāĻŦ āĻĻā§āĻŦāĻžāϰāĻž āĻĒā§āϰāϤāĻŋāϏā§āĻĨāĻžāĻĒāĻŋāϤ āĻšāĻŦā§āĨ¤
- āĻ āύā§āϤāϰā§āύāĻŋāϰā§āĻŽāĻŋāϤ āϰāϤā§āύ āĻŽāĻĄāĻŋāĻāϞāĻā§āϞāĻŋāϰ āĻāĻĒāĻĄā§āĻ āĻāϰāĻž āϏāĻāϏā§āĻāϰāĻŖ āĻāĻŦāĻ āϏā§āĻā§āϝāĻžāύā§āĻĄāĻžāϰā§āĻĄ āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋāϤ⧠āĻ āύā§āϤāϰā§āĻā§āĻā§āϤāĨ¤
āĻāϤā§āϏ: opennet.ru
