Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
技術的負債で信頼性が限界だったWordPress運用をShifterで完全復活させた話
Search
adachi.ryo
August 07, 2025
Programming
7.6k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
技術的負債で信頼性が限界だったWordPress運用をShifterで完全復活させた話
https://yuru-sre.connpass.com/event/360950/
ゆるSRE勉強会 #12 SRE乗り越え体験まつり 〜聞いてくれ俺の武勇伝〜のスライドです
adachi.ryo
August 07, 2025
More Decks by adachi.ryo
See All by adachi.ryo
横断SREがSRE社内留学制度 / Enablingになぜ踏み切ったのか
rvirus0817
0
540
SREチームをどう作り、どう育てるか ― Findy横断SREのマネジメント
rvirus0817
0
4k
ファインディの横断SREがTakumi byGMOと取り組む、セキュリティと開発スピードの両立
rvirus0817
1
4.8k
Findy Team+のSOC2取得までの道のり
rvirus0817
0
4.4k
FindyにおけるTakumi活用と脆弱性管理のこれから
rvirus0817
0
4.9k
Amazon Security Lakeを活用したセキュリティログの集約とAIによる可視化の最前線
rvirus0817
0
470
TechBull Membersの開発進捗どうですか!?
rvirus0817
0
2k
クラウド脆弱性の傾向とShisho Cloudの活用
rvirus0817
0
310
TechBullエンジニアコミュニティの取り組みについて
rvirus0817
0
1.3k
Other Decks in Programming
See All in Programming
生成AI時代にこそ効くGo | Why Go Works in the Age of Generative AI
mom0tomo
8
3.2k
JavaDoc 再入門
nagise
1
350
Dataformのリポジトリを立ち上げるときにまずやること / dataform-day0-2026
snhryt
0
160
Inside Stream API
skrb
1
720
Lemonade + Foundry Toolkit でお手軽アプリ開発
seosoft
1
340
A2UI という光を覗いてみる
satohjohn
1
140
The NotImplementedError Problem in Ruby
koic
1
800
JJUG CCC 2026 Spring: JSpecify で実現する Kotlin フレンドリーな Java API 設計
ternbusty
1
170
Language Server 使ってる? 〜VSCode と Zed の場合〜 / Are you using a Language Server? ~For VS Code and Zed~
handlename
0
790
ローカルLLMでどこまでコードが書けるか -拡張版 / How much code can be written on a local LLM Extended
kishida
11
4.2k
Vue × Nuxt × Oxc どこまで使える?実運用の現在地
andpad
0
250
Contextとはなにか
chiroruxx
1
330
Featured
See All Featured
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
GitHub's CSS Performance
jonrohan
1033
470k
Designing for humans not robots
tammielis
254
26k
Ethics towards AI in product and experience design
skipperchong
2
310
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Optimising Largest Contentful Paint
csswizardry
37
3.7k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Writing Fast Ruby
sferik
630
63k
Navigating Team Friction
lara
192
16k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Tell your own story through comics
letsgokoyo
1
950
Transcript
ٕज़తෛ࠴Ͱ৴པੑ͕ݶքͩͬͨ 8PSE1SFTTӡ༻Λ4IJGUFSͰશ෮׆ͤͨ͞ ΏΔ43&ษڧձ43&Γӽ͑ମݧ·ͭΓʙฉ͍ͯ͘ΕԶͷ༐ʙ ҆ୡྋ !BEBDIJO
͋͐͡Μͩ • ࣗݾհ • 'JOEZͷ8PSE1SFTTࣄ • 8PSE1SFTTͷ੬ऑੑͱʹ͍ͭͯ •
4IJGUFSʹҠߦ͢Δഎܠ • ։ൃڥͷߏங • 4IJGUFSҠߦޙͷτϥϒϧγϡʔςΟϯά • ςʔϚσϓϩΠ • ݱࡏͷӡ༻ମ੍ͱ"*Խ • ·ͱΊ
͋͐͡Μͩ • ࣗݾհ • 'JOEZͷ8PSE1SFTTࣄ • 8PSE1SFTTͷ੬ऑੑͱʹ͍ͭͯ •
4IJGUFSʹҠߦ͢Δഎܠ • ։ൃڥͷߏங • 4IJGUFSҠߦޙͷτϥϒϧγϡʔςΟϯά • ςʔϚσϓϩΠ • ݱࡏͷӡ༻ମ੍ͱ"*Խ • ·ͱΊ
4 ࣗݾհ ҆ୡྋ !BEBDIJO ɾϑΝΠϯσΟ ג $50ࣨϓϥοτϑΥʔϜ։ൃνʔϜ4FOJPS43& ɾ1PSUGPMJPBEBDIJONF#MPHCMPHBEBDIJONFXJLJBEBDIJONF
ɾ5FDI#VMM δϡχΞΤϯδχΞίϛϡχςΟ 'PVOEFS ɹɾ43&ΤϯδχΞͷϝϯλϦϯάྦྷܭ໊ˢ ɹɾ4MBDLࢀՃऀ໊Ҏ্ˢ ɹɾίϛϡχςΟϚωʔδϟʔ-5ΠϕϯτӡӦ.FNCFST։ൃ ɾ5&$)803-%Ͱ43&ؔ࿈ͷಈըΛൃ৴த
5
͋͐͡Μͩ • ࣗݾհ • 'JOEZͷ8PSE1SFTTࣄ • 8PSE1SFTTͷ੬ऑੑͱʹ͍ͭͯ •
4IJGUFSʹҠߦ͢Δഎܠ • ։ൃڥͷߏங • 4IJGUFSҠߦޙͷτϥϒϧγϡʔςΟϯά • ςʔϚσϓϩΠ • ݱࡏͷӡ༻ମ੍ͱ"*Խ • ·ͱΊ
'JOEZͷ8PSE1SFTTࣄ 7 $PSQPSBUF 'JOEZCMPH 'JOEZ&OUFSQSJTF 'JOEZ'SFFMBODF &OUFSQSJTF
࣌ͷঢ়گ • "NB[PO-JHIUTBJM্ͷ୯ҰαʔόʔͰ ෳαΠτΛӡ༻ • ը૾ϑΝΠϧɾσʔλϕʔεΛͯ͢ ಉҰΠϯελϯε্Ͱཧ • ίʔϙϨʔταΠτҎ֎໌֬ͳӡ༻
୲ऀෆࡏɺϝϯςφϯεঢ়گ͕ෆ໌ྎ • αʔόʔͷϒϥοΫϘοΫεԽ • ɺ৴པੑʹݶքΛײ͍ͯͨ͡ 8
ίʔϙϨʔταΠτӡ༻՝ • ใγεςϜνʔϜ͕ຖिͷΑ͏ʹ ηΩϡϦςΟΞοϓσʔτΛରԠ • ςʔϚͷσϓϩΠશखಈɺࣗಈԽ ͞Ε͍ͯͳ͍ • ӡ༻ෛ୲͕େ͖͍ঢ়ଶ͕ܧଓ •
$.Δͱͷ͜ͱͰΠϯϑϥڧԽ ߟྀ͢Δඞཁ͕͋ͬͨ • ଐਓԽ͍ͯͨ͠8PSE1SFTTڥΛ ूɾ౷੍͢ΔऔΓΈΛ։࢝ 9
͋͐͡Μͩ • ࣗݾհ • 'JOEZͷ8PSE1SFTTࣄ • 8PSE1SFTTͷ੬ऑੑͱʹ͍ͭͯ •
4IJGUFSʹҠߦ͢Δഎܠ • ։ൃڥͷߏங • 4IJGUFSҠߦޙͷτϥϒϧγϡʔςΟϯά • ςʔϚσϓϩΠ • ݱࡏͷӡ༻ମ੍ͱ"*Խ • ·ͱΊ
8PSE1SFTTͷ੬ऑੑͱʹ͍ͭͯ • 8PSEGFODFʹΑΔηΩϡϦςΟϨϙʔτ • ੬ऑੑͷ݅૿Ճʢલൺʴʣ • ओͳݪҼϓϥάΠϯɾςʔϚ • ࠷ଟ͍੬ऑੑͷछྨ944
ΫϩεαΠτεΫϦϓςΟϯά • ೝূෆཁͰ߈ܸͰ͖Δ੬ऑੑ͕ଟ͍ ׂ • ڞ௨ϥΠϒϥϦʹґଘͨ͠αϓϥΠνΣʔϯ੬ऑੑਂࠁ • ์ஔ͞ΕͨϓϥάΠϯखಈӡ༻͕ϦεΫͷԹচʹ 11 ࢀߟIUUQTXXXXPSEGFODFDPNCMPHBOOVBMXPSEQSFTTTFDVSJUZSFQPSUCZXPSEGFODF
͋͐͡Μͩ • ࣗݾհ • 'JOEZͷ8PSE1SFTTࣄ • 8PSE1SFTTͷ੬ऑੑͱʹ͍ͭͯ •
4IJGUFSʹҠߦ͢Δഎܠ • ։ൃڥͷߏங • 4IJGUFSҠߦޙͷτϥϒϧγϡʔςΟϯά • ςʔϚσϓϩΠ • ݱࡏͷӡ༻ମ੍ͱ"*Խ • ·ͱΊ
4IJGUFSʹҠߦ͢Δഎܠ • ࣌&$4'BSHBUFͰߟ͍͕͑ͯͨɺ όʔδϣϯΞοϓσϓϩΠͳͲͷӡ༻͕͔͔Δ ͨΊɺ43&ͷෛ୲ΛԼ͔͛ͨͬͨ • 43&νʔϜҎ֎Ͱӡ༻Ͱ͖ΔΑ͏ʹ͔ͨͬͨ͠ • σδλϧΩϡʔϒ͕ࣾఏڙ͍ͯ͠Δ8PSE1SFTTΛ ੩తʹมɾϗεςΟϯάͰ͖ΔϚωʔδυαʔϏε
• ίετൺֱతʹ҆ՁͰಋೖ͍͢͠ ʙ݄ ʙؒ ׂҾ 13
4IJGUFSͷϝϦοτ • 1)1࣮ߦڥΛ࣋ͨͳ͍ͨΊɺ8PSE1SFTT ຊମϓϥάΠϯͷ੬ऑੑϦεΫ͕ܹݮ • Πϯϑϥ8PSE1SFTTͷόʔδϣϯΞοϓ ཧ͕ෆཁͰɺࣗಈԽͯ͘͠ΕΔ • ੩తϑΝΠϧΛ$%/ܦ༝Ͱߴ৴Ͱ͖Δ ͨΊɺϢʔβʔମݧͷ্
• ࣗಈόοΫΞοϓɾ؆୯ϩʔϧόοΫ ཧը໘͔ΒҙͷλΠϛϯάͰ෮ݩՄೳ 14
͋͐͡Μͩ • ࣗݾհ • 'JOEZͷ8PSE1SFTTࣄ • 8PSE1SFTTͷ੬ऑੑͱʹ͍ͭͯ •
4IJGUFSʹҠߦ͢Δഎܠ • ։ൃڥͷߏங • 4IJGUFSҠߦޙͷτϥϒϧγϡʔςΟϯά • ςʔϚσϓϩΠ • ݱࡏͷӡ༻ମ੍ͱ"*Խ • ·ͱΊ
։ൃڥͷߏங • ίʔϙϨʔταΠτҎ֎ͷ։ൃڥ͕ະඋ • %PDLFSΛར༻ͯ͠θϩ͔Βߏங͠͠ɺ ࠶ݱੑͷ͋ΔڥΛ࣮ݱ • ϦϙδτϦߏ • 8PSE1SFTTຊମXPSEQSFTTDPSF
ϦϙδτϦͰҰݩཧ • ֤αʔϏεͷςʔϚݸผϦϙδτϦͰཧ • ୯ҰϦϙδτϦूආ͚ɺ༰ྔංେԽΛճආ 16
։ൃڥͷߏங DPNQPTFZNM • 4IJGUFS͕1)1ରԠͷͨΊɺಉҰόʔδϣϯͰߏ • /HJOYίϯςφ • "QQίϯςφ • .Z42-ίϯςφ
• ґଘύοέʔδͷόʔδϣϯࠩҟ͕͋Δͱɺ ੩తԽޙʹఆ֎ͷෆ۩߹͕ൃੜ͢ΔϦεΫ͕͋Δ • 4IJGUFSʹ%PDLFS։ൃڥ͋Δ͕ɺ ಠࣗա͗ͯϝϯςφϯεੑ͕ѱ͔ͬͨ • IUUQTHJUIVCDPNEJHJUBMDVCFTIJGUFSTUBUJDMPDBM 17
։ൃڥͷߏங +VTUGJMFԽ • ։ൃڥͷηοτΞοϓΛ+VTUGJMFͰࣗಈԽ • IPTUTొ • NLDFSUʹΑΔࣗݾॺ໊44-ূ໌ॻͷൃߦ • 4͔Βͷ%#μϯϓऔಘ
• ϦϙδτϦͷDMPOF • XQDPOGJHQIQͷίϐʔ • %PDLFS$PNQPTFͷىಈɾఀࢭ • %#ͷϦετΞ • KVTUBMMίϚϯυͰૉૣ͘։ൃڥΛߏஙՄೳʹ • Ҏલखॱ͕ෳࡶͰ͕͔͔࣌ؒͬͨߏங࡞ۀΛ؆ུԽ • ࠓޙ։ൃڥࣗମͷόʔδϣϯΞοϓΛ(JU)VC"DUJPOTͰࣗಈԽ ༧ఆ 18
͋͐͡Μͩ • ࣗݾհ • 'JOEZͷ8PSE1SFTTࣄ • 8PSE1SFTTͷ੬ऑੑͱʹ͍ͭͯ •
4IJGUFSʹҠߦ͢Δഎܠ • ։ൃڥͷߏங • 4IJGUFSҠߦޙͷτϥϒϧγϡʔςΟϯά • ςʔϚσϓϩΠ • ݱࡏͷӡ༻ମ੍ͱ"*Խ • ·ͱΊ
4IJGUFSҠߦͱτϥϒϧγϡʔςΟϯά • Ҡߦํ๏"MMJO0OF81.JHSBUJPOϓϥάΠϯ • ެࣜυΩϡϝϯτͰਪ • 8PSE1SFTTαΠτΛؙ͝ͱ؆୯ʹΤΫεϙʔτɺ ΠϯϙʔτՄೳ • ࣮ࡍͷҠߦ࡞ۀεϜʔζʹ͕ྃͨ͠ɾɾɾ
• ͍͔ͭ͘ఆ֎ͷෆ۩߹͕ൃੜ • ࢀߟ • IUUQTKBHFUTIJGUFSJPTIJGUFSTVQQPSU EPDVNFOUTXQNJHSBUJPONJHSBUJOHUP TIJGUFS 20
ಠࣗςʔϚͷϖʔδωʔγϣϯ͕ਖ਼͘͠ಈ࡞͠ͳ͍ • 4IJGUFS͕੩తαΠτΛੜ͢Δࡍɺ 8PSE1SFTT3&45"1*͔Β63-Ұཡ +40/ Λऔಘ • χϡʔεϖʔδͷϖʔδωʔγϣϯ͕σϑΥϧτઃఆ ͷ··ͩͱݕग़͞Εͣର֎ʹͳΔ •
ରԠࡦ • 4IJGUFS͕ఏڙ͢Δ 4IJGUFS63-4"QQFOE63-UP"MMΛར༻ • ϖʔδωʔγϣϯ63-Λ໌ࣔతʹ੩తԽରՃ 21
χϡʔεҰཡͷը૾͕දࣔ͞Εͳ͍ • ॴʑɺը૾͕දࣔ͞Εͳ͍ࣄ͕ൃੜ • Α͘ݟΔͱຊޠϑΝΠϧ໊ͷը૾͕දࣔ͞Ε͍ͯͳ͍ • "MMJO0OF81.JHSBUJPO • ຊޠϑΝΠϧ໊ͷը૾͚ࣦͩഊ͢ΔόάΛ֬ೝ •
ରԠ • ϑΝΠϧ໊ΛखಈͰϦωʔϜ͠ɺ࠶ΞοϓϩʔυͰ ղܾ 22
αϒσΟϨΫτϦͰγΣΞϘλϯ͕4IJGUFSͷԾυϝΠϯʹͳͬͯ͠·͏ • CMPHͳͲαϒσΟϨΫτϦͰެ։͍ͨ͠ • طʹ$MPVE'SPOUͰΧελϜυϝΠϯ͕ઃఆ͞Ε͍ͯΔ߹ɺ4IJGUFSଆͷ$%/ʹಉ͡ ΧελϜυϝΠϯΛઃఆͰ͖ͳ͍ • ରԠํ๏ • TIJGUFSDMJͷOPTIJGUFSDEOΦϓγϣϯΛ༻͠ɺ4IJGUFSͷ$%/৴ΛແޮԽ
• ࣗલͷ$MPVE'SPOUΛܦ༝ͯ͠αϒσΟϨΫτϦԼʹެ։ • $MPVE'SPOUͷΦϦδϯυϝΠϯʹ4IJGUFSఏڙͷ$MPVE'SPOU63-Λઃఆ • ΩϟογϡϙϦγʔΛແޮԽ͠ɺ4IJGUFSੜͷ੩తαΠτΛͦͷ··৴ • ޮՌ • ΧελϜυϝΠϯԼͰαϒσΟϨΫτϦެ։͕Մೳʹ • γΣΞϘλϯ0(1ͷϦϯΫઌ͔Β4IJGUFSͷԾυϝΠϯ͕ͳ͘ͳͬͨ 23
αϒσΟϨΫτϦͰγΣΞϘλϯ͕4IJGUFSͷԾυϝΠϯʹͳͬͯ͠·͏ 24 IUUQTXJLJBEBDIJONFBSDIJWFT
͋͐͡Μͩ • ࣗݾհ • 'JOEZͷ8PSE1SFTTࣄ • 8PSE1SFTTͷ੬ऑੑͱʹ͍ͭͯ •
4IJGUFSʹҠߦ͢Δഎܠ • ։ൃڥͷߏங • 4IJGUFSҠߦޙͷτϥϒϧγϡʔςΟϯά • ςʔϚσϓϩΠ • ݱࡏͷӡ༻ମ੍ͱ"*Խ • ·ͱΊ
ςʔϚσϓϩΠ • 4IJGUFS(JUIVC1MVHJO5IFNF*OTUBMMFE • ཧํ๏ • ॳෳςʔϚΛϞϊϨϙͰཧ༧ఆͩͬ ͕ͨɺ • 4IJGUFSͷ্༷ɺςʔϚʹϓϩδΣΫτ
୯ҰϦϙδτϦ ʹมߋ • ࣗಈԽରԠ • (JU)VC"DUJPOTΛ׆༻͠ɺϦϦʔεॲཧΛ ࣗಈԽ • खಈ࡞ۀΛݮΒ͠ɺӡ༻ޮΛվળ • IUUQTXXXEJHJUBMDVCFKQTIJGUFS 26 ɾςʔϚΛ git tagͰόʔδϣϯ͚ ɾgit push ͰλάΛөͱstyle.cssͷόʔδϣϯΛॻ͖͑ ɾςʔϚҰࣜΛ .zip ʹѹॖ͠ɺGitHub Releases ʹΞοϓϩʔυ ɾShifter͕֘ϦϦʔεͷ.zipΛऔಘ͠ɺςʔϚΛ࠷৽Խ
ςʔϚσϓϩΠ XPSLGMPXT 27
͋͐͡Μͩ • ࣗݾհ • 'JOEZͷ8PSE1SFTTࣄ • 8PSE1SFTTͷ੬ऑੑͱʹ͍ͭͯ •
4IJGUFSʹҠߦ͢Δഎܠ • ։ൃڥͷߏங • 4IJGUFSҠߦޙͷτϥϒϧγϡʔςΟϯά • ςʔϚσϓϩΠ • ݱࡏͷӡ༻ମ੍ͱ"*Խ • ·ͱΊ
ݱࡏͷӡ༻ମ੍ • 4IJGUFSΞΧϯτཧ • ใγεςϜνʔϜ͕୲ • ςʔϚͷमਖ਼ɾٕज़ରԠ • ΤϯδχΞʗ43&ϝϯόʔ͕୲ •
هࣄެ։ɾίϯςϯπߋ৽ • ใ)3νʔϜɺϚʔέςΟϯάνʔϜ͕୲ • ֤νʔϜͷׂΛ໌֬ʹ୲͠ɺӡ༻ϑϩʔΛཧ 29
ݱࡏͷӡ༻ମ੍ సૹྔͷ੍ݶʹ͍ͭͯ • 4IJGUFSϓϥϯ͝ͱͷసૹྔͷ੍ݶ͕͋Δ • 5JFS݄ؒ(#·Ͱ • 5JFS݄ؒ(#·Ͱ • 5JFS݄ؒ5#·Ͱ
• (#खલʹͳΔ͜ͱ͕ଟ͔ͬͨ • ϝσΟΞ$%/Λ༗ޮʹ͢Δ͜ͱͰసૹྔ͕େ෯ʹΧοτ • ٯʹϝσΟΞ$%/Λແޮʹ͢Δͱը૾͕શͯআ͞ΕΔ 30
ݱࡏͷӡ༻ମ੍ సૹྔͷ੍ݶʹ͍ͭͯ 31
"*ͰίʔϙϨʔταΠτͷमਖ਼ΛࣗಈԽ • ͔͠͠ɺࢥͬͨҎ্ʹ43&ϝϯόʔͷ͍߹Θ͕ͤଟ͍ • %FWJOΛར༻ͯ͠จݴमਖ਼ͳͲΛ!LPV[ZVO+B͕࣮ • ؆୯ͳमਖ਼"*ͰࣗಈԽ͢Δ͜ͱ͕Ͱ͖ͨ • 43&νʔϜґཔ༰ͷ֬ೝʹ͔͔Δίϛϡχέʔγϣϯ ίετ͕ܰݮ
• ϨϏϡʔͷΈͰରԠͰ͖ΔͷͰΛݮͰ͖ͨ 32
͋͐͡Μͩ • ࣗݾհ • 'JOEZͷ8PSE1SFTTࣄ • 8PSE1SFTTͷ੬ऑੑͱʹ͍ͭͯ •
4IJGUFSʹҠߦ͢Δഎܠ • ։ൃڥͷߏங • 4IJGUFSҠߦޙͷτϥϒϧγϡʔςΟϯά • ςʔϚσϓϩΠ • ݱࡏͷӡ༻ମ੍ͱ"*Խ • ·ͱΊ
·ͱΊ • ηΩϡϦςΟ্ • ੩తϑΝΠϧԽʹΑΓ1)1੬ऑੑϦεΫΛഉআ • )5.-$44ͷΈߏͱͳΓɺηΩϡϦςΟ্͕ • ϓϥάΠϯͷόʔδϣϯΞοϓࣗಈԽ •
ύϑΥʔϚϯεվળ • $%/ඪ४ࡌͰߴ৴Λ࣮ݱ 34
·ͱΊ • ӡ༻໘ͷվળ • ඇΤϯδχΞϝϯόʔӡ༻Մೳͳڥʹ • όοΫΞοϓͷ෮ݩ͕؆୯Ͱɺཧෛ୲Λܰݮ • ΞΧϯτཧ •
Ұͭͷ4IJGUFSΞΧϯτͰෳαΠτΛҰݩཧ • αΠτ͝ͱʹϢʔβʔΛൃߦ͢Δඞཁ͕ͳ͍ • ࠪͰͷϢʔβʔ୨Է͕͠༰қʹ 35
·ͱΊ • 4IJGUFSΫη͋Δ͕ɺ8PSE1SFTTͷ৴པੑ্ͱҰݩཧΛ࣮ݱ • Ҡߦޙͷಈ࡞֬ೝʹख͕͔͔ؒͬͨ • ࢼߦࡨޡ͕ͨ͠ɺٕज़αϙʔτϨε͕ૣͯ͘ඇৗʹॿ͔ͬͨ • σϝϦοτ •
هࣄߋ৽ͷͨͼʹ4IJGUFSଆͰ੩తԽσϓϩΠ͕ඞཁ • ө·Ͱʹ͕͔͔࣌ؒͬͯ͠·͏ 36
·ͱΊ 37 ಋೖࣄྫͰհ͍͖ͯͨͩ͠·ͨ͠ IUUQTKBHFUTIJGUFSJPTIPXDBTFBSDIJWF
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ