{"id":473,"date":"2026-09-08T22:28:34","date_gmt":"2026-09-08T13:28:34","guid":{"rendered":"https:\/\/anc0.jp\/?page_id=473"},"modified":"2026-09-30T01:43:17","modified_gmt":"2026-09-29T16:43:17","slug":"bms-library","status":"publish","type":"page","link":"https:\/\/anc0.jp\/?page_id=473","title":{"rendered":"BMS\u66f2\u7ba1\u7406 \u2014 Satellite"},"content":{"rendered":"\n<div id=\"anc0-bms-app\" class=\"bms-app\">\n  <section class=\"bms-hero\">\n    <div><p class=\"bms-kicker\">BMS TOOL<\/p><h2 id=\"bms-heading\">BMS\u66f2\u7ba1\u7406 \u2014 Satellite<\/h2><p>\u5bfe\u5fdc\u96e3\u6613\u5ea6\u8868\u304b\u3089\u3001\u672c\u4f53\u30fb\u5dee\u5206\u3092\u3059\u3070\u3084\u304f\u691c\u7d22\u3067\u304d\u307e\u3059\u3002<\/p><\/div>\n    <figure class=\"bms-mascot\"><img fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/anc0.jp\/wp-content\/uploads\/2026\/09\/satera-chan-300x234.webp\" width=\"300\" height=\"234\" alt=\"\u3055\u3066\u3089\u3061\u3083\u3093\u3002\" title=\"\u3055\u3066\u3089\u3061\u3083\u3093\u3002\" loading=\"eager\"><\/figure>\n    <div class=\"bms-count\"><strong id=\"bms-total\">\u2014<\/strong><span>\u8b5c\u9762<\/span><\/div>\n  <\/section>\n  <section class=\"bms-panel\">\n<div class=\"bms-controls\">\n  <label class=\"bms-table-control\"><span>\u96e3\u6613\u5ea6\u8868<\/span><select id=\"bms-table\"><option value=\"satellite\">Satellite<\/option><option value=\"stella\">Stella<\/option><\/select><\/label>\n  <label class=\"bms-search\">\n    <span>\u691c\u7d22<\/span>\n    <input id=\"bms-search\" type=\"search\" placeholder=\"\u66f2\u540d\u30fb\u30a2\u30fc\u30c6\u30a3\u30b9\u30c8\" autocomplete=\"off\">\n  <\/label>\n\n  <label>\n    <span>\u96e3\u6613\u5ea6<\/span>\n    <select id=\"bms-level\">\n      <option value=\"all\">\u3059\u3079\u3066<\/option>\n    <\/select>\n  <\/label>\n\n  <label>\n    <span>\u8868\u793a<\/span>\n    <select id=\"bms-view\">\n      <option value=\"all\">\u3059\u3079\u3066<\/option>\n      <option value=\"favorite\">\u2605 \u304a\u6c17\u306b\u5165\u308a<\/option>\n    <\/select>\n  <\/label>\n\n  <div class=\"bms-new-control\">\n    <span class=\"bms-control-label\">\u65b0\u7740<\/span>\n    <button\n      id=\"bms-new-filter\"\n      class=\"bms-new-filter\"\n      type=\"button\"\n      aria-pressed=\"false\"\n    >\n      NEW\u306e\u307f\n      <span id=\"bms-unread-badge\" hidden>0<\/span>\n    <\/button>\n  <\/div>\n<\/div>\n    <section class=\"bms-download\" aria-labelledby=\"bms-download-title\">\n      <div class=\"bms-download-copy\">\n        <strong id=\"bms-download-title\">\u4e00\u62ec\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u30ea\u30b9\u30c8<\/strong>\n        <span>\u691c\u7d22\u30fb\u96e3\u6613\u5ea6\u30fb\u304a\u6c17\u306b\u5165\u308a\u30fb\u65b0\u7740\u306e\u6761\u4ef6\u306b\u5408\u3046\u5168\u8b5c\u9762\u304c\u5bfe\u8c61\u3067\u3059\uff08\u30da\u30fc\u30b8\u3092\u307e\u305f\u3044\u3067\u542b\u307f\u307e\u3059\uff09\u3002<\/span>\n      <\/div>\n      <div class=\"bms-download-actions\">\n        <label class=\"bms-download-format\">\n          <span>\u51fa\u529b\u5f62\u5f0f<\/span>\n          <select id=\"bms-download-format\">\n            <option value=\"urls\">\u516c\u5f0f\u767b\u9332URL\u4e00\u89a7\uff08urls.txt\uff09<\/option>\n            <option value=\"aria2\">aria2\u7528\uff08\u76f4\u63a5\u30d5\u30a1\u30a4\u30ebURL\u306e\u307f\uff09<\/option>\n            <option value=\"powershell\">PowerShell\uff08.ps1\uff09<\/option>\n            <option value=\"bat\">Windows\u30d0\u30c3\u30c1\uff08\u76f4\u63a5\u30d5\u30a1\u30a4\u30ebURL\u306e\u307f\uff09<\/option>\n          <\/select>\n        <\/label>\n        <button id=\"bms-download-save\" type=\"button\" disabled>\u30ea\u30b9\u30c8\u3092\u4fdd\u5b58<\/button>\n      <\/div>\n      <p id=\"bms-download-status\" class=\"bms-download-status\" aria-live=\"polite\">\u66f2\u30c7\u30fc\u30bf\u8aad\u307f\u8fbc\u307f\u5f8c\u306b\u5bfe\u8c61\u4ef6\u6570\u3092\u8868\u793a\u3057\u307e\u3059\u3002<\/p>\n      <p class=\"bms-download-status\">aria2\uff0fbat\u306fZIP\u30fbRAR\u7b49\u306e\u76f4\u63a5URL\u306e\u307f\u3002PowerShell\u306fmanbow\u4f5c\u54c1\u30da\u30fc\u30b8\u5185\u306eDownload\u30ea\u30f3\u30af\u3092\u89e3\u6c7a\u3057\u307e\u3059\uff08aria2c\u304c\u5fc5\u8981\uff09\u3002\u305d\u306e\u4ed6\u306e\u914d\u5e03\u30da\u30fc\u30b8\u3084\u30ed\u30b0\u30a4\u30f3\u5fc5\u9808URL\u306f\u624b\u52d5\u5bfe\u5fdc\u3067\u3059\u3002<\/p>\n    <\/section>\n    <p id=\"bms-status\" class=\"bms-status\" aria-live=\"polite\">\u66f2\u30c7\u30fc\u30bf\u3092\u8aad\u307f\u8fbc\u3093\u3067\u3044\u307e\u3059\u2026<\/p>\n    <div id=\"bms-list\" class=\"bms-list\"><\/div>\n    <nav class=\"bms-pages\" aria-label=\"\u30da\u30fc\u30b8\u5207\u308a\u66ff\u3048\"><button id=\"bms-prev\" type=\"button\">\u2190 \u524d\u3078<\/button><span id=\"bms-page\"><\/span><button id=\"bms-next\" type=\"button\">\u6b21\u3078 \u2192<\/button><\/nav>\n  <\/section>\n  <p class=\"bms-note\">\u304a\u6c17\u306b\u5165\u308a\u306f\u3001\u3053\u306e\u7aef\u672b\u306e\u30d6\u30e9\u30a6\u30b6\u306b\u4fdd\u5b58\u3055\u308c\u307e\u3059\u3002\u30c7\u30fc\u30bf\uff1a<a id=\"bms-source\" href=\"https:\/\/stellabms.xyz\/sl\/table.html\" target=\"_blank\" rel=\"noopener noreferrer\">Satellite\u516c\u5f0f\u96e3\u6613\u5ea6\u8868<\/a><\/p>\n<\/div>\n<style>\n#anc0-bms-app{--ink:#333;--muted:#777;--line:#e6e6e6;--paper:#fff;--soft:#f8f8f8;--accent:#d78a9b;max-width:980px;margin:18px auto 46px;color:var(--ink);font-family:inherit;font-size:16px;line-height:1.7}\n#anc0-bms-app *{box-sizing:border-box}#anc0-bms-app .bms-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px;border:1px solid var(--line);border-radius:16px;background:var(--paper);box-shadow:0 8px 28px rgba(0,0,0,.055)}\n#anc0-bms-app .bms-kicker{margin:0 0 5px;color:var(--accent);font-size:12px;font-weight:800;letter-spacing:.14em}#anc0-bms-app h2{margin:0;font-size:clamp(25px,5vw,38px);line-height:1.3;color:#2f2f2f}#anc0-bms-app .bms-hero p:last-child{margin:10px 0 0;color:var(--muted)}\n#anc0-bms-app .bms-mascot{margin:0 -8px -29px auto;flex:0 1 210px;align-self:flex-end}#anc0-bms-app .bms-mascot img{display:block;width:100%;height:auto;border:0}#anc0-bms-app .bms-count{flex:0 0 auto;width:104px;height:104px;display:grid;place-content:center;text-align:center;border-radius:50%;background:#fff6f8;border:1px solid #f0d8de}#anc0-bms-app .bms-count strong{font-size:25px;line-height:1.1}#anc0-bms-app .bms-count span{font-size:12px;color:var(--muted)}\n#anc0-bms-app .bms-panel{margin-top:18px;border:1px solid var(--line);border-radius:16px;background:var(--paper);overflow:hidden;box-shadow:0 8px 28px rgba(0,0,0,.045)}#anc0-bms-app .bms-controls{\n\tdisplay:grid;\n\tgrid-template-columns: minmax(0, 1.55fr) repeat(3, minmax(0, 1fr));\n\tgap:12px;\n\twidth: 100%;\n\tmin-width: 0;\n\tpadding:18px;\n\tbackground:var(--soft);\n\tborder-bottom:1px solid var(--line);\n}\n#anc0-bms-app .bms-controls > label,\n#anc0-bms-app .bms-controls > .bms-new-control,\n#anc0-bms-app .bms-controls input,\n#anc0-bms-app .bms-controls select,\n#anc0-bms-app .bms-controls button {\n    min-width: 0 !important;\n}\n#anc0-bms-app label span{display:block;margin-bottom:5px;font-size:12px;font-weight:700;color:#666}#anc0-bms-app input,#anc0-bms-app select{width:100%;height:44px;padding:0 12px;border:1px solid #d7d7d7;border-radius:9px;background:#fff;color:#333;font:inherit}#anc0-bms-app input:focus,#anc0-bms-app select:focus{outline:2px solid #efccd4;outline-offset:1px;border-color:var(--accent)}\n#anc0-bms-app .bms-status{margin:0;padding:12px 18px;color:var(--muted);font-size:14px;border-bottom:1px solid var(--line)}#anc0-bms-app .bms-list{min-height:150px}#anc0-bms-app .bms-row{display:grid;grid-template-columns:46px minmax(0,1fr) 96px 190px;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid #eee}#anc0-bms-app .bms-row:hover{background:#fffafb}\n#anc0-bms-app .bms-fav{border:0;background:none;color:#bbb;font-size:22px;cursor:pointer}#anc0-bms-app .bms-fav.on{color:#efb02f}#anc0-bms-app .bms-title{min-width:0}#anc0-bms-app .bms-title strong,#anc0-bms-app .bms-title small{display:block;overflow-wrap:anywhere}#anc0-bms-app .bms-title strong{font-size:15px}#anc0-bms-app .bms-title small{margin-top:2px;color:var(--muted);font-size:13px}#anc0-bms-app .bms-lv{justify-self:start;padding:3px 10px;border-radius:999px;background:#fff1f4;color:#ad5f70;font-size:13px;font-weight:800}\n#anc0-bms-app .bms-links{display:flex;gap:7px;justify-content:flex-end}#anc0-bms-app .bms-links a,#anc0-bms-app .bms-links span{padding:6px 9px;border-radius:7px;font-size:13px;white-space:nowrap}#anc0-bms-app .bms-links a{border:1px solid #e6c5cc;color:#a85567;text-decoration:none;background:#fff9fa}#anc0-bms-app .bms-links a:hover{background:#fff0f3}#anc0-bms-app .bms-links span{color:#aaa}\n#anc0-bms-app .bms-pages{display:flex;align-items:center;justify-content:center;gap:16px;padding:16px}#anc0-bms-app .bms-pages button{border:1px solid #ddd;border-radius:8px;background:#fff;padding:8px 14px;color:#444;cursor:pointer}#anc0-bms-app .bms-pages button:disabled{opacity:.35;cursor:default}#anc0-bms-app .bms-pages span{font-size:14px;color:#666}#anc0-bms-app .bms-note{margin:15px 4px;color:#777;font-size:13px}#anc0-bms-app .bms-note a{color:#a85567}\n#anc0-bms-app .bms-new-control{\n\tmin-width:0;\n}\n\n#anc0-bms-app .bms-control-label{\n\tdisplay:block;\n\tmargin-bottom:5px;\n\tfont-size:12px;\n\tfont-weight:700;\n\tcolor:#666;\n}\n\n#anc0-bms-app .bms-new-filter{\n\tdisplay:flex;\n\talign-items:center;\n\tjustify-content:center;\n\tgap:7px;\n\twidth:100%;\n\theight:44px;\n\tpadding:0 12px;\n\tborder:1px solid #e2c2ca;\n\tborder-radius:9px;\n\tbackground:#fff;\n\tcolor:#a85567;\n\tfont:inherit;\n\tfont-weight:700;\n\tcursor:pointer;\n\ttransition:\n\t\tbackground-color .18s ease,\n\t\tborder-color .18s ease,\n\t\tcolor .18s ease,\n\t\ttransform .18s ease;\n}\n\n#anc0-bms-app .bms-new-filter:hover{\n\tborder-color:var(--accent);\n\tbackground:#fff7f9;\n\ttransform:translateY(-1px);\n}\n\n#anc0-bms-app .bms-new-filter.is-active{\n\tborder-color:#d76f89;\n\tbackground:#d76f89;\n\tcolor:#fff;\n}\n\n#anc0-bms-app .bms-new-filter:focus-visible{\n\toutline:2px solid #efccd4;\n\toutline-offset:1px;\n}\n\n#anc0-bms-app #bms-unread-badge{\n\tdisplay:inline-grid;\n\tplace-items:center;\n\tmin-width:22px;\n\theight:22px;\n\tpadding:0 6px;\n\tborder-radius:999px;\n\tbackground:#e4426d;\n\tcolor:#fff;\n\tfont-size:12px;\n\tfont-weight:800;\n\tline-height:1;\n}\n\n#anc0-bms-app #bms-unread-badge[hidden]{\n\tdisplay:none;\n}\n\n#anc0-bms-app .bms-new-filter.is-active #bms-unread-badge{\n\tbackground:#fff;\n\tcolor:#c84369;\n}\n\n#anc0-bms-app .bms-title-line{\n\tdisplay:flex;\n\talign-items:center;\n\tflex-wrap:wrap;\n\tgap:7px;\n}\n\n#anc0-bms-app .bms-new-mark{\n\tdisplay:inline-flex;\n\talign-items:center;\n\tjustify-content:center;\n\tflex:0 0 auto;\n\tpadding:2px 7px;\n\tborder-radius:999px;\n\tbackground:linear-gradient(135deg,#ef7899,#d94f78);\n\tcolor:#fff;\n\tfont-size:10px;\n\tfont-weight:800;\n\tletter-spacing:.06em;\n\tline-height:1.5;\n\tbox-shadow:0 3px 8px rgba(217,79,120,.22);\n}\n\n#anc0-bms-app .bms-row.is-unread{\n\tbackground:linear-gradient(\n\t\t90deg,\n\t\trgba(255,240,245,.92),\n\t\trgba(255,255,255,.98)\n\t);\n\tbox-shadow:inset 4px 0 0 #e36e8d;\n}\n\n#anc0-bms-app .bms-row.is-unread:hover{\n\tbackground:#fff3f6;\n}\n@media(max-width:700px){#anc0-bms-app .bms-hero{padding:20px;flex-wrap:wrap}#anc0-bms-app .bms-mascot{order:3;flex-basis:160px;margin:0 auto -21px}#anc0-bms-app .bms-count{margin-left:auto}#anc0-bms-app .bms-count{width:82px;height:82px}#anc0-bms-app .bms-controls{grid-template-columns:1fr 1fr}#anc0-bms-app .bms-new-control{\n\tgrid-column:auto;\n}#anc0-bms-app .bms-search{grid-column:1\/-1}#anc0-bms-app .bms-row{grid-template-columns:34px minmax(0,1fr) auto;gap:8px;padding:13px 12px}#anc0-bms-app .bms-links{grid-column:2\/-1;justify-content:flex-start}#anc0-bms-app .bms-lv{grid-column:3;grid-row:1} }\n@media(max-width:460px){#anc0-bms-app .bms-hero{display:block}#anc0-bms-app .bms-mascot{width:180px;margin:14px auto -21px}#anc0-bms-app .bms-count{width:auto;height:auto;border-radius:9px;display:flex;gap:5px;align-items:baseline;justify-content:center;margin-top:16px;padding:9px}#anc0-bms-app .bms-controls{grid-template-columns:1fr}#anc0-bms-app .bms-search{grid-column:auto}}\n\/* \u8b5c\u9762\u8868\u30bb\u30ec\u30af\u30bf\u30fc\u3092\u52a0\u3048\u305f5\u9805\u76ee\u30ec\u30a4\u30a2\u30a6\u30c8 *\/\n#anc0-bms-app .bms-controls{grid-template-columns:minmax(0,1.6fr) repeat(4,minmax(0,1fr))}\n#anc0-bms-app .bms-table-control{min-width:0}\n@media(max-width:700px){#anc0-bms-app .bms-controls{grid-template-columns:1fr 1fr}}\n@media(max-width:460px){#anc0-bms-app .bms-controls{grid-template-columns:1fr}}\n#anc0-bms-app .bms-download{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 20px;padding:16px 18px;border-bottom:1px solid var(--line);background:#fff}\n#anc0-bms-app .bms-download-copy strong,#anc0-bms-app .bms-download-copy span{display:block}\n#anc0-bms-app .bms-download-copy strong{font-size:15px;color:#373237}\n#anc0-bms-app .bms-download-copy span{margin-top:3px;color:var(--muted);font-size:12px}\n#anc0-bms-app .bms-download-actions{display:flex;align-items:end;gap:9px}\n#anc0-bms-app .bms-download-format{min-width:190px}\n#anc0-bms-app .bms-download-format span{display:block;margin-bottom:5px;font-size:12px;font-weight:700;color:#666}\n#anc0-bms-app #bms-download-save{height:44px;padding:0 16px;border:1px solid #d76f89;border-radius:9px;background:#d76f89;color:#fff;font:inherit;font-weight:700;cursor:pointer;white-space:nowrap}\n#anc0-bms-app #bms-download-save:hover{background:#c95c78}\n#anc0-bms-app #bms-download-save:disabled{opacity:.45;cursor:default}\n#anc0-bms-app .bms-download-status{grid-column:1\/-1;margin:0;color:var(--muted);font-size:12px}\n@media(max-width:700px){#anc0-bms-app .bms-download{grid-template-columns:1fr}#anc0-bms-app .bms-download-actions{align-items:end}}\n@media(max-width:460px){#anc0-bms-app .bms-download-actions{display:grid;grid-template-columns:1fr auto}#anc0-bms-app .bms-download-format{min-width:0}#anc0-bms-app #bms-download-save{padding:0 11px}}\n<\/style>\n\n<script>\n(() => {\n\tconst app = document.getElementById('anc0-bms-app');\n\n\tif (!app || app.dataset.ready) {\n\t\treturn;\n\t}\n\n\tapp.dataset.ready = '1';\n\n\tconst tableId = new URLSearchParams(window.location.search).get('bms_table') || 'satellite';\n\tconst levelSymbol = tableId === 'stella' ? 'st' : 'sl';\n\tconst tableName = tableId === 'stella' ? 'Stella' : 'Satellite';\n\tconst tableUrl = tableId === 'stella' ? 'https:\/\/stellabms.xyz\/st\/table.html' : 'https:\/\/stellabms.xyz\/sl\/table.html';\n\tconst API = '\/?rest_route=\/anc0\/v1\/catalog\/' + encodeURIComponent(tableId);\n\tconst SIZE = 50;\n\tconst FAVORITE_KEY = 'anc0-bms-favorites-v1';\n\tconst READ_KEY = 'anc0-' + tableId + '-read-md5-v1';\n\n\tlet songs = [];\n\tlet shown = [];\n\tlet page = 1;\n\tlet newOnly = false;\n\n\tlet favorites = new Set();\n\tlet newMd5 = new Set();\n\tlet readMd5 = new Set();\n\n\t\/*\n\t * \u304a\u6c17\u306b\u5165\u308a\u3092\u8aad\u307f\u8fbc\u3080\u3002\n\t *\/\n\ttry {\n\t\tconst savedFavorites = JSON.parse(\n\t\t\tlocalStorage.getItem(FAVORITE_KEY) || '[]'\n\t\t);\n\n\t\tif (Array.isArray(savedFavorites)) {\n\t\t\tfavorites = new Set(\n\t\t\t\tsavedFavorites.map(normalizeMd5)\n\t\t\t);\n\t\t}\n\t} catch (error) {\n\t\tfavorites = new Set();\n\t}\n\n\t\/*\n\t * \u95b2\u89a7\u6e08\u307fMD5\u3092\u8aad\u307f\u8fbc\u3080\u3002\n\t *\/\n\ttry {\n\t\tconst savedRead = JSON.parse(\n\t\t\tlocalStorage.getItem(READ_KEY) || '[]'\n\t\t);\n\n\t\tif (Array.isArray(savedRead)) {\n\t\t\treadMd5 = new Set(\n\t\t\t\tsavedRead.map(normalizeMd5)\n\t\t\t);\n\t\t}\n\t} catch (error) {\n\t\treadMd5 = new Set();\n\t}\n\n\tconst $ = selector => app.querySelector(selector);\n\n\t$('#bms-table').value = tableId;\n\t$('#bms-heading').textContent = 'BMS\u66f2\u7ba1\u7406 \u2014 ' + tableName;\n\t$('#bms-source').href = tableUrl;\n\t$('#bms-source').textContent = tableName + '\u516c\u5f0f\u96e3\u6613\u5ea6\u8868';\n\t$('#bms-table').onchange = () => {\n\t\tconst nextUrl = new URL(window.location.href);\n\t\tnextUrl.searchParams.set('bms_table', $('#bms-table').value);\n\t\twindow.location.assign(nextUrl.href);\n\t};\n\n\tconst esc = value => String(value ?? '').replace(\n\t\t\/[&<>\"']\/g,\n\t\tchar => ({\n\t\t\t'&': '&amp;',\n\t\t\t'<': '&lt;',\n\t\t\t'>': '&gt;',\n\t\t\t'\"': '&quot;',\n\t\t\t\"'\": '&#39;'\n\t\t})[char]\n\t);\n\n\tfunction normalizeMd5(value) {\n\t\treturn String(value || '').trim().toLowerCase();\n\t}\n\n\tfunction safe(value) {\n\t\ttry {\n\t\t\tconst url = new URL(String(value).trim());\n\n\t\t\treturn \/^https?:$\/.test(url.protocol)\n\t\t\t\t? url.href\n\t\t\t\t: '';\n\t\t} catch (error) {\n\t\t\treturn '';\n\t\t}\n\t}\n\n\tfunction link(value, text) {\n\t\tconst url = safe(value);\n\n\t\treturn url\n\t\t\t? `<a href=\"${esc(url)}\" target=\"_blank\" rel=\"noopener noreferrer\">${text} \u2197<\/a>`\n\t\t\t: `<span>${value ? esc(String(value).trim()) : text + '\u306a\u3057'}<\/span>`;\n\t}\n\n\tfunction isNew(song) {\n\t\treturn newMd5.has(normalizeMd5(song.md5));\n\t}\n\n\tfunction isUnread(song) {\n\t\tconst md5 = normalizeMd5(song.md5);\n\n\t\treturn newMd5.has(md5) && !readMd5.has(md5);\n\t}\n\n\tfunction saveReadState() {\n\t\ttry {\n\t\t\tlocalStorage.setItem(\n\t\t\t\tREAD_KEY,\n\t\t\t\tJSON.stringify([...readMd5])\n\t\t\t);\n\t\t} catch (error) {\n\t\t\t\/*\n\t\t\t * localStorage\u3092\u5229\u7528\u3067\u304d\u306a\u304f\u3066\u3082\n\t\t\t * \u66f2\u4e00\u89a7\u306f\u305d\u306e\u307e\u307e\u4f7f\u7528\u53ef\u80fd\u3002\n\t\t\t *\/\n\t\t}\n\t}\n\n\tfunction updateUnreadBadge() {\n\t\tconst badge = $('#bms-unread-badge');\n\n\t\tif (!badge) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet unreadCount = 0;\n\n\t\tnewMd5.forEach(md5 => {\n\t\t\tif (!readMd5.has(md5)) {\n\t\t\t\tunreadCount += 1;\n\t\t\t}\n\t\t});\n\n\t\tbadge.textContent = unreadCount.toLocaleString();\n\t\tbadge.hidden = unreadCount === 0;\n\t}\n\n\tfunction markAsRead(md5) {\n\t\tconst normalized = normalizeMd5(md5);\n\n\t\tif (\n\t\t\t!normalized ||\n\t\t\t!newMd5.has(normalized) ||\n\t\t\treadMd5.has(normalized)\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\n\t\treadMd5.add(normalized);\n\t\tsaveReadState();\n\t\tupdateUnreadBadge();\n\n\t\treturn true;\n\t}\n\n\tfunction filter() {\n\t\tconst query = $('#bms-search').value\n\t\t\t.trim()\n\t\t\t.toLowerCase();\n\n\t\tconst level = $('#bms-level').value;\n\t\tconst view = $('#bms-view').value;\n\n\t\tshown = songs.filter(song => {\n\t\t\tconst md5 = normalizeMd5(song.md5);\n\n\t\t\tconst matchesQuery =\n\t\t\t\t!query ||\n\t\t\t\t`${song.title} ${song.artist}`\n\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t.includes(query);\n\n\t\t\tconst matchesLevel =\n\t\t\t\tlevel === 'all' ||\n\t\t\t\tString(song.level) === level;\n\n\t\t\tconst matchesView =\n\t\t\t\tview === 'all' ||\n\t\t\t\tfavorites.has(md5);\n\n\t\t\tconst matchesNew =\n\t\t\t\t!newOnly ||\n\t\t\t\tnewMd5.has(md5);\n\n\t\t\treturn (\n\t\t\t\tmatchesQuery &&\n\t\t\t\tmatchesLevel &&\n\t\t\t\tmatchesView &&\n\t\t\t\tmatchesNew\n\t\t\t);\n\t\t});\n\n\t\tpage = 1;\n\t\trender();\n\t}\n\n\n\tfunction downloadableSongs() {\n\t\treturn shown.filter(song => safe(song.url));\n\t}\n\n\tfunction directArchiveUrl(value) {\n\t\tconst url = safe(value);\n\t\tif (!url) return '';\n\n\t\tconst parsed = new URL(url);\n\t\tif (!\/\\.(zip|rar|7z|lzh|tar|gz|bz2|xz)$\/i.test(parsed.pathname)) return '';\n\n\t\tif (parsed.hostname === 'www.dropbox.com' || parsed.hostname === 'dropbox.com') {\n\t\t\tparsed.searchParams.set('dl', '1');\n\t\t}\n\t\treturn parsed.href;\n\t}\n\n\tfunction updateDownloadStatus() {\n\t\tconst items = downloadableSongs();\n\t\tconst directCount = items.map(song => directArchiveUrl(song.url)).filter(Boolean).length;\n\t\tconst button = $('#bms-download-save');\n\t\tconst status = $('#bms-download-status');\n\t\tif (!button || !status) return;\n\n\t\tbutton.disabled = items.length === 0;\n\t\tstatus.textContent =\n\t\t\t'\u7d5e\u308a\u8fbc\u307f\u7d50\u679c ' + shown.length.toLocaleString() +\n\t\t\t'\u4ef6\uff1aURL\u767b\u9332\u3042\u308a ' + items.length.toLocaleString() +\n\t\t\t'\u4ef6\u3001aria2\uff0fbat\u3067\u76f4\u63a5\u4f7f\u3048\u308b\u30a2\u30fc\u30ab\u30a4\u30d6URL ' + directCount.toLocaleString() +\n\t\t\t'\u4ef6\u3002\u4f5c\u54c1\u8a73\u7d30\u30da\u30fc\u30b8\u306faria2\u30ea\u30b9\u30c8\u304b\u3089\u9664\u5916\u3057\u3001PowerShell\u3067manbow\u306eDownload\u30ea\u30f3\u30af\u89e3\u6c7a\u3092\u8a66\u307f\u307e\u3059\u3002';\n\t}\n\n\tfunction downloadTextFile(filename, text) {\n\t\tconst blob = new Blob([text], { type: 'text\/plain;charset=utf-8' });\n\t\tconst objectUrl = URL.createObjectURL(blob);\n\t\tconst anchor = document.createElement('a');\n\t\tanchor.href = objectUrl;\n\t\tanchor.download = filename;\n\t\tdocument.body.appendChild(anchor);\n\t\tanchor.click();\n\t\tanchor.remove();\n\t\twindow.setTimeout(() => URL.revokeObjectURL(objectUrl), 1000);\n\t}\n\n\tfunction buildDownloadFile(format, items) {\n\t\tconst sourceUrls = items.map(song => safe(song.url)).filter(Boolean);\n\t\tconst directUrls = items.map(song => directArchiveUrl(song.url)).filter(Boolean);\n\n\t\tif (format === 'urls') {\n\t\t\treturn { filename: 'anc0-' + tableId + '-urls.txt', text: sourceUrls.join('\\r\\n') };\n\t\t}\n\t\tif (format === 'aria2') {\n\t\t\treturn { filename: 'anc0-' + tableId + '-aria2-direct.txt', text: directUrls.join('\\r\\n') };\n\t\t}\n\n\t\tif (format === 'powershell') {\n\t\t\tconst escaped = sourceUrls.map(url => \"  '\" + url.replace(\/'\/g, \"''\") + \"'\");\n\t\t\tconst lines = [\n\t\t\t\t'# Requires aria2c installed and available in PATH.',\n\t\t\t\t'# Manbow event pages are resolved to an archive link when one is found.',\n\t\t\t\t'# Other non-direct pages are skipped; login\/confirmation links may need manual download.',\n\t\t\t\t\"$ErrorActionPreference = 'Continue'\",\n\t\t\t\t'[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12',\n\t\t\t\t'',\n\t\t\t\t'function Resolve-BmsArchiveUrl([string]$SourceUrl) {',\n\t\t\t\t'  try { $u = [uri]$SourceUrl } catch { return $null }',\n\t\t\t\t\"  if ($u.Host -match '(^|\\\\.)manbow\\\\.nothing\\\\.sh$' -and $u.AbsolutePath -eq '\/event\/event.cgi') {\",\n\t\t\t\t'    try {',\n\t\t\t\t'      $response = Invoke-WebRequest -Uri $SourceUrl -UseBasicParsing -TimeoutSec 25',\n\t\t\t\t\"$hrefs = [regex]::Matches($response.Content, '(?is)href\\\\s*=\\\\s*[\\\"''](?<url>[^\\\"''<>]+)[\\\"'']')\",\n\t\t\t\t'      foreach ($match in $hrefs) {',\n\t\t\t\t'        $href = [Net.WebUtility]::HtmlDecode($match.Groups[1].Value)',\n\t\t\t\t'        try { $candidate = [uri]::new($u, $href) } catch { continue }',\n\t\t\t\t\"        if ($candidate.AbsolutePath -match '\\\\.(zip|rar|7z|lzh|tar|gz|bz2|xz)$') {\",\n\t\t\t\t\"          if ($candidate.Host -eq 'www.dropbox.com' -or $candidate.Host -eq 'dropbox.com') {\",\n\t\t\t\t'            $builder = [uriBuilder]$candidate',\n\t\t\t\t\"            $query = $builder.Query.TrimStart('?')\",\n\t\t\t\t\"            if ($query -match '(^|&)dl=\\\\d+') { $query = $query -replace '(^|&)dl=\\\\d+', '$1dl=1' }\",\n\t\t\t\t\"            else { $query = (($query + '&dl=1').TrimStart('&')) }\",\n\t\t\t\t\"            $builder.Query = $query\",\n\t\t\t\t'            return $builder.Uri.AbsoluteUri',\n\t\t\t\t'          }',\n\t\t\t\t'          return $candidate.AbsoluteUri',\n\t\t\t\t'        }',\n\t\t\t\t'      }',\n\t\t\t\t'      return $null',\n\t\t\t\t'    } catch {',\n\t\t\t\t'      Write-Warning (\"Could not resolve page: \" + $SourceUrl)',\n\t\t\t\t'      return $null',\n\t\t\t\t'    }',\n\t\t\t\t'  }',\n\t\t\t\t\"  if ($u.AbsolutePath -notmatch '\\\\.(zip|rar|7z|lzh|tar|gz|bz2|xz)$') { return $null }\",\n\t\t\t\t\"  if ($u.Host -eq 'www.dropbox.com' -or $u.Host -eq 'dropbox.com') {\",\n\t\t\t\t'    $builder = [uriBuilder]$u',\n\t\t\t\t\"    $query = $builder.Query.TrimStart('?')\",\n\t\t\t\t\"    if ($query -match '(^|&)dl=\\\\d+') { $query = $query -replace '(^|&)dl=\\\\d+', '$1dl=1' }\",\n\t\t\t\t\"    else { $query = (($query + '&dl=1').TrimStart('&')) }\",\n\t\t\t\t\"    $builder.Query = $query\",\n\t\t\t\t'    return $builder.Uri.AbsoluteUri',\n\t\t\t\t'  }',\n\t\t\t\t'  return $u.AbsoluteUri',\n\t\t\t\t'}',\n\t\t\t\t'',\n\t\t\t\t'if (-not (Get-Command aria2c -ErrorAction SilentlyContinue)) {',\n\t\t\t\t\"  Write-Error 'aria2c.exe was not found. Install aria2 and add it to PATH.'\",\n\t\t\t\t'  exit 1',\n\t\t\t\t'}',\n\t\t\t\t\"$downloadDir = Join-Path $env:USERPROFILE 'Downloads\\\\BMS'\",\n\t\t\t\t'New-Item -ItemType Directory -Force -Path $downloadDir | Out-Null',\n\t\t\t\t'$sourceUrls = @(',\n\t\t\t\t...escaped,\n\t\t\t\t')',\n\t\t\t\t'$resolved = New-Object System.Collections.Generic.List[string]',\n\t\t\t\t'foreach ($sourceUrl in $sourceUrls) {',\n\t\t\t\t'  $archiveUrl = Resolve-BmsArchiveUrl $sourceUrl',\n\t\t\t\t'  if ($archiveUrl) { [void]$resolved.Add($archiveUrl) }',\n\t\t\t\t'  else { Write-Warning (\"No direct archive link found: \" + $sourceUrl) }',\n\t\t\t\t'}',\n\t\t\t\t'$resolved = @($resolved | Sort-Object -Unique)',\n\t\t\t\t'Write-Host (\"Resolved {0} archive URL(s).\" -f $resolved.Count)',\n\t\t\t\t'foreach ($archiveUrl in $resolved) {',\n\t\t\t\t'  & aria2c --continue=true --auto-file-renaming=true \"--dir=$downloadDir\" $archiveUrl',\n\t\t\t\t'}'\n\t\t\t];\n\t\t\treturn { filename: 'anc0-' + tableId + '-download.ps1', text: lines.join('\\r\\n') };\n\t\t}\n\n\t\tconst batchUrls = directUrls.map(url => url.replace(\/%\/g, '%%'));\n\t\tconst lines = [\n\t\t\t'@echo off',\n\t\t\t'setlocal',\n\t\t\t'where aria2c.exe >nul 2>&1',\n\t\t\t'if errorlevel 1 (',\n\t\t\t'  echo aria2c.exe was not found. Install aria2 and add it to PATH.',\n\t\t\t'  pause',\n\t\t\t'  exit \/b 1',\n\t\t\t')',\n\t\t\t'set \"DOWNLOAD_DIR=%USERPROFILE%\\\\Downloads\\\\BMS\"',\n\t\t\t'if not exist \"%DOWNLOAD_DIR%\" mkdir \"%DOWNLOAD_DIR%\"',\n\t\t\t'pushd \"%DOWNLOAD_DIR%\"',\n\t\t\t...batchUrls.map(url => 'aria2c --continue=true --auto-file-renaming=true --dir=\"%DOWNLOAD_DIR%\" \"' + url + '\"'),\n\t\t\t'popd',\n\t\t\t'echo Finished. Check aria2c output for any failed source URLs.',\n\t\t\t'pause'\n\t\t];\n\t\treturn { filename: 'anc0-' + tableId + '-download-direct.bat', text: lines.join('\\r\\n') };\n\t}\n\n\tfunction render() {\n\t\tconst pages = Math.max(\n\t\t\t1,\n\t\t\tMath.ceil(shown.length \/ SIZE)\n\t\t);\n\n\t\tpage = Math.max(\n\t\t\t1,\n\t\t\tMath.min(page, pages)\n\t\t);\n\n\t\tconst start = (page - 1) * SIZE;\n\t\tconst pageSongs = shown.slice(start, start + SIZE);\n\n\t\t$('#bms-list').innerHTML = pageSongs.map(song => {\n\t\t\tconst md5 = normalizeMd5(song.md5);\n\t\t\tconst songIsNew = isNew(song);\n\t\t\tconst songIsUnread = isUnread(song);\n\n\t\t\tconst newBadge = songIsNew\n\t\t\t\t? '<span class=\"bms-new-mark\">NEW<\/span>'\n\t\t\t\t: '';\n\n\t\t\treturn `\n\t\t\t\t<article\n\t\t\t\t\tclass=\"bms-row ${songIsUnread ? 'is-unread' : ''}\"\n\t\t\t\t\tdata-md5=\"${esc(md5)}\"\n\t\t\t\t>\n\t\t\t\t\t<button\n\t\t\t\t\t\tclass=\"bms-fav ${favorites.has(md5) ? 'on' : ''}\"\n\t\t\t\t\t\tdata-md5=\"${esc(md5)}\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\taria-label=\"\u304a\u6c17\u306b\u5165\u308a\"\n\t\t\t\t\t>\u2605<\/button>\n\n\t\t\t\t\t<div class=\"bms-title\">\n\t\t\t\t\t\t<div class=\"bms-title-line\">\n\t\t\t\t\t\t\t${newBadge}\n\t\t\t\t\t\t\t<strong>${esc(song.title)}<\/strong>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<small>${esc(song.artist || '')}<\/small>\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<span class=\"bms-lv\">\n\t\t\t\t\t\t${levelSymbol}${esc(song.level)}\n\t\t\t\t\t<\/span>\n\n\t\t\t\t\t<div class=\"bms-links\">\n\t\t\t\t\t\t${link(song.url, '\u672c\u4f53')}\n\t\t\t\t\t\t${link(song.url_diff, '\u5dee\u5206')}\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/article>\n\t\t\t`;\n\t\t}).join('') || `\n\t\t\t<p class=\"bms-status\">\n\t\t\t\t\u6761\u4ef6\u306b\u5408\u3046\u8b5c\u9762\u304c\u3042\u308a\u307e\u305b\u3093\u3002\n\t\t\t<\/p>\n\t\t`;\n\n\t\tconst stamp = app.dataset.updated\n\t\t\t? ` \u00b7 \u30c7\u30fc\u30bf\u66f4\u65b0 ${\n\t\t\t\tnew Date(app.dataset.updated)\n\t\t\t\t\t.toLocaleDateString('ja-JP')\n\t\t\t}`\n\t\t\t: '';\n\n\t\tconst newStatus = newMd5.size > 0\n\t\t\t? ` \u00b7 \u65b0\u7740 ${newMd5.size.toLocaleString()}\u4ef6`\n\t\t\t: '';\n\n\t\t$('#bms-status').textContent =\n\t\t\t`${shown.length.toLocaleString()}\u4ef6\u3092\u8868\u793a` +\n\t\t\tnewStatus +\n\t\t\tstamp;\n\n\t\t$('#bms-page').textContent =\n\t\t\t`${page} \/ ${pages}\u30da\u30fc\u30b8`;\n\n\t\t$('#bms-prev').disabled = page <= 1;\n\t\t$('#bms-next').disabled = page >= pages;\n\n\t\tupdateUnreadBadge();\n\t\tupdateDownloadStatus();\n\t}\n\n\t$('#bms-search').oninput = filter;\n\t$('#bms-level').onchange = filter;\n\t$('#bms-view').onchange = filter;\n\n\t$('#bms-download-save').onclick = () => {\n\t\tconst items = downloadableSongs();\n\n\t\tif (items.length === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst format = $('#bms-download-format').value;\n\t\tconst file = buildDownloadFile(format, items);\n\t\tdownloadTextFile(file.filename, file.text);\n\t};\n\n\t$('#bms-new-filter').onclick = () => {\n\t\tnewOnly = !newOnly;\n\n\t\tconst button = $('#bms-new-filter');\n\n\t\tbutton.classList.toggle(\n\t\t\t'is-active',\n\t\t\tnewOnly\n\t\t);\n\n\t\tbutton.setAttribute(\n\t\t\t'aria-pressed',\n\t\t\tnewOnly ? 'true' : 'false'\n\t\t);\n\n\t\tfilter();\n\t};\n\n\t$('#bms-prev').onclick = () => {\n\t\tpage -= 1;\n\t\trender();\n\n\t\tapp.scrollIntoView({\n\t\t\tbehavior: 'smooth',\n\t\t\tblock: 'start'\n\t\t});\n\t};\n\n\t$('#bms-next').onclick = () => {\n\t\tpage += 1;\n\t\trender();\n\n\t\tapp.scrollIntoView({\n\t\t\tbehavior: 'smooth',\n\t\t\tblock: 'start'\n\t\t});\n\t};\n\n\t\/*\n\t * \u304a\u6c17\u306b\u5165\u308a\u30dc\u30bf\u30f3\u3068\u95b2\u89a7\u6e08\u307f\u51e6\u7406\u3002\n\t *\/\n\t$('#bms-list').onclick = event => {\n\t\tconst favoriteButton = event.target.closest('.bms-fav');\n\n\t\tif (favoriteButton) {\n\t\t\tconst md5 = normalizeMd5(\n\t\t\t\tfavoriteButton.dataset.md5\n\t\t\t);\n\n\t\t\tif (favorites.has(md5)) {\n\t\t\t\tfavorites.delete(md5);\n\t\t\t} else {\n\t\t\t\tfavorites.add(md5);\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tlocalStorage.setItem(\n\t\t\t\t\tFAVORITE_KEY,\n\t\t\t\t\tJSON.stringify([...favorites])\n\t\t\t\t);\n\t\t\t} catch (error) {\n\t\t\t\t\/*\n\t\t\t\t * \u4fdd\u5b58\u306b\u5931\u6557\u3057\u3066\u3082\u8868\u793a\u306f\u7d99\u7d9a\u3059\u308b\u3002\n\t\t\t\t *\/\n\t\t\t}\n\n\t\t\trender();\n\t\t\treturn;\n\t\t}\n\n\t\tconst row = event.target.closest('.bms-row');\n\n\t\tif (!row) {\n\t\t\treturn;\n\t\t}\n\n\t\t\/*\n\t\t * NEW\u30ab\u30fc\u30c9\u3092\u30af\u30ea\u30c3\u30af\u3057\u305f\u3089\u95b2\u89a7\u6e08\u307f\u306b\u3059\u308b\u3002\n\t\t * NEW\u30de\u30fc\u30af\u81ea\u4f53\u306f\u65b0\u7740\u671f\u9593\u4e2d\u305d\u306e\u307e\u307e\u6b8b\u308b\u3002\n\t\t *\/\n\t\tif (markAsRead(row.dataset.md5)) {\n\t\t\trow.classList.remove('is-unread');\n\t\t}\n\t};\n\n\t\/*\n\t * sl0\uff5esl12\u3092\u96e3\u6613\u5ea6\u6b04\u3078\u8ffd\u52a0\u3059\u308b\u3002\n\t *\/\n\tfor (let level = 0; level <= 12; level += 1) {\n\t\t$('#bms-level').add(\n\t\t\tnew Option(`${levelSymbol}${level}`, String(level))\n\t\t);\n\t}\n\n\t\/*\n\t * API\u304b\u3089\u8b5c\u9762\u30c7\u30fc\u30bf\u3068\u65b0\u7740MD5\u3092\u53d6\u5f97\u3059\u308b\u3002\n\t *\/\n\t(async () => {\n\t\ttry {\n\t\t\tconst response = await fetch(\n\t\t\t\tAPI,\n\t\t\t\t{\n\t\t\t\t\tcredentials: 'same-origin',\n\t\t\t\t\tcache: 'no-cache'\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tif (!response.ok) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`API error: ${response.status}`\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst payload = await response.json();\n\n\t\t\tnewMd5 = new Set(\n\t\t\t\tArray.isArray(payload.new_md5)\n\t\t\t\t\t? payload.new_md5.map(normalizeMd5)\n\t\t\t\t\t: []\n\t\t\t);\n\n\t\t\tconst binary = Uint8Array.from(\n\t\t\t\tatob(payload.data),\n\t\t\t\tchar => char.charCodeAt(0)\n\t\t\t);\n\n\t\t\tconst text = await new Response(\n\t\t\t\tnew Blob([binary])\n\t\t\t\t\t.stream()\n\t\t\t\t\t.pipeThrough(\n\t\t\t\t\t\tnew DecompressionStream('gzip')\n\t\t\t\t\t)\n\t\t\t).text();\n\n\t\t\tconst data = JSON.parse(text);\n\n\t\t\tsongs = Array.isArray(data)\n\t\t\t\t? data\n\t\t\t\t: [];\n\n\t\t\tshown = songs;\n\n\t\t\t$('#bms-total').textContent =\n\t\t\t\tsongs.length.toLocaleString();\n\n\t\t\tapp.dataset.updated =\n\t\t\t\tpayload.updated || '';\n\n\t\t\tupdateUnreadBadge();\n\t\t\trender();\n\t\t} catch (error) {\n\t\t\tconsole.error(\n\t\t\t\t'BMS Satellite loading error:',\n\t\t\t\terror\n\t\t\t);\n\n\t\t\t$('#bms-status').innerHTML =\n\t\t\t\t'\u66f2\u30c7\u30fc\u30bf\u3092\u8aad\u307f\u8fbc\u3081\u307e\u305b\u3093\u3067\u3057\u305f\u3002' +\n\t\t\t\t'\u30da\u30fc\u30b8\u3092\u518d\u8aad\u307f\u8fbc\u307f\u3057\u3066\u304f\u3060\u3055\u3044\u3002';\n\t\t}\n\t})();\n})();\n<\/script>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/anc0.jp\/?page_id=459\">\u2190 \u3064\u30fc\u308b\u3044\u3061\u3089\u3093\u3002\u3078\u623b\u308b<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>BMS TOOL BMS\u66f2\u7ba1\u7406 \u2014 Satellite \u5bfe\u5fdc\u96e3\u6613\u5ea6\u8868\u304b\u3089\u3001\u672c\u4f53\u30fb\u5dee\u5206\u3092\u3059\u3070\u3084\u304f\u691c\u7d22\u3067\u304d\u307e\u3059\u3002 \u2014\u8b5c\u9762 \u96e3\u6613\u5ea6\u8868SatelliteStella \u691c\u7d22 \u96e3\u6613\u5ea6 \u3059\u3079\u3066 \u8868\u793a \u3059\u3079\u3066\u2605 \u304a\u6c17\u306b\u5165\u308a \u65b0\u7740 NEW [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-473","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/anc0.jp\/index.php?rest_route=\/wp\/v2\/pages\/473","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/anc0.jp\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/anc0.jp\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/anc0.jp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/anc0.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=473"}],"version-history":[{"count":16,"href":"https:\/\/anc0.jp\/index.php?rest_route=\/wp\/v2\/pages\/473\/revisions"}],"predecessor-version":[{"id":812,"href":"https:\/\/anc0.jp\/index.php?rest_route=\/wp\/v2\/pages\/473\/revisions\/812"}],"wp:attachment":[{"href":"https:\/\/anc0.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=473"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}