| ::: :::::::::::::::::::::::r===、!::|::::::::::::::::::::::::::::::::::::::::::::::`:ー- 、
| ::: ::: ::::::::::::::::::| |:::|::::::::::::::::::::::::::|::::::::::::::::::::::::::::::::::::ヽ
| : :: ::: ::::::: :::::::::l |::|ヽ::::::::::::::::::::::::「\:::::::::::::::/`ヽ、::::l
l ::: : ::: ::::::::|:::| |::| \::::::::::::::::::::|、 /:::::::::::::/ \
ハ ::: :: ::::::::r!::!、 -.l:::r ==、ー' '1::::| /::::/::::::/ ',
l ', :: :::: ::::::::/!::r } `ヽ!ト、、(),、-'` |::::::l::::::::/:::::/ l
| ',::::::::: ::::::::l |:| l |!ヽ- |::::::|::::::/::::/ |
l ',::::::::::::::::l !:| | | ';、 uノ::::::l:::::/:/ !
l l::::::::::::::ハ、|::l ヽ、 - ヽ ヽ-、ノ:l::::::}::::/イ |',
rゝ |:::::::::::::| ヽl:::ト、 ゞ二>, \:::ノ:::::/:::/〃 ヽ! |:::
l `i::::::::::::::| ヽ:::l `ヽ、二ノ ‐'´_ィ::::/1:/〃 l !:::
| :::/:::::::::::::|_ヽ:::l ヤソ:::/ィ:/〃__ | l::::
| :::l ;l:::::::::::| `:l:::ト.、 /:::レ|:|::::::::::``:| 、-'|::
| :::l :| :::::::::ト、 :::::|::|::::::`ヽー-ヽ, イ:::|:::|:|::::::::::::::::|\ / !:
l ::::ヽl :::::::'、.\:;|:|::::::::_,、:'´::::::ヽ,l:::|::::|:|:::::::::::::::::| ..`ヽ'´..:: |::
/ :::::::ヽ::::ト、;l ノ`'"´ ノ::::::::::::::|:::ト、::||::::::::::::::::::|::::::::::..:::::: |::
/ :::::::::::ヽ:::l ヽ;. / ::::::::::::::|:::|:::``ー-:::::::::::l :::::::::::::::: |::
/.:::.:::::::::::::::\ l / ..::::::::::::::::::|::::|:::::::::::::::::::::::::::| :::::::::::::::. |::