From 6c5246889719c301cbe986396e682c99827fe00e Mon Sep 17 00:00:00 2001 From: mshirt Date: Wed, 30 Aug 2017 23:53:45 -0700 Subject: [PATCH 01/12] Adding in other input options for Japanese players --- scripts/i18n_English.rb | 72 +++++++++++++++++++++++++++++------------ 1 file changed, 52 insertions(+), 20 deletions(-) diff --git a/scripts/i18n_English.rb b/scripts/i18n_English.rb index 6f339a0..8b769bd 100644 --- a/scripts/i18n_English.rb +++ b/scripts/i18n_English.rb @@ -3,25 +3,57 @@ Font.default_name = Language::FONT_WESTERN class Language def self.create_input - input = Window_NameInput.new - input.set_mode_buttons [[tr('Upper'), tr('Lower')]] - input.character_tables = { - [0] => [ # Case: Upper - "A","B","C","D","E","F","G","H","I","J", - "K","L","M","N","O","P","Q","R","S","T", - "U","V","W","X","Y","Z"," ",".",",","-", - "0","1","2","3","4","5","6","7","8","9", - "!","?",'"',"'","/","&","[","]","(",")", - ], - [1] => [ # Case: Lower - "a","b","c","d","e","f","g","h","i","j", - "k","l","m","n","o","p","q","r","s","t", - "u","v","w","x","y","z"," ",".",",","-", - "0","1","2","3","4","5","6","7","8","9", - "!","?",'"',"'","/","&","[","]","(",")", - ], - } - input.table_height = 5 - input.init + if Font.default_name == FONT_J + input = Window_NameInput.new + input.ok_text = '決定' + input.set_mode_buttons [['かな', 'カナ', '英字']] + input.character_tables = { + [0] => [ # Hiragana + "ー","っ","ぁ","ぱ","ば","だ","ざ","が","わ","ら","や","ま","は","な","た","さ","か","あ", + "~","ゃ","ぃ","ぴ","び","ぢ","じ","ぎ"," ","り"," ","み","ひ","に","ち","し","き","い", + "・","ゅ","ぅ","ぷ","ぶ","づ","ず","ぐ","を","る","ゆ","む","ふ","ぬ","つ","す","く","う", + "=","ょ","ぇ","ぺ","べ","で","ぜ","げ"," ","れ"," ","め","へ","ね","て","せ","け","え", + "☆","ゎ","ぉ","ぽ","ぼ","ど","ぞ","ご","ん","ろ","よ","も","ほ","の","と","そ","こ","お", + ], + [1] => [ # Katakana + "ー","ッ","ァ","パ","バ","ダ","ザ","ガ","ワ","ラ","ヤ","マ","ハ","ナ","タ","サ","カ","ア", + "~","ャ","ィ","ピ","ビ","ヂ","ジ","ギ"," ","リ"," ","ミ","ヒ","ニ","チ","シ","キ","イ", + "・","ュ","ゥ","プ","ブ","ヅ","ズ","グ","ヲ","ル","ユ","ム","フ","ヌ","ツ","ス","ク","ウ", + "=","ョ","ェ","ペ","ベ","デ","ゼ","ゲ"," ","レ"," ","メ","ヘ","ネ","テ","セ","ケ","エ", + "☆","ヮ","ォ","ポ","ボ","ド","ゾ","ゴ","ン","ロ","ヨ","モ","ホ","ノ","ト","ソ","コ","オ", + ], + [2] => [ # Latin + "A","B","C","D","E","F","G","H","I","a","b","c","d","e","f","g","h","i", + "J","K","L","M","N","O","P","Q","R","j","k","l","m","n","o","p","q","r", + "S","T","U","V","W","X","Y","Z"," ","s","t","u","v","w","x","y","z"," ", + "0","1","2","3","4","+","-","=","&","!","?","'",'"',".",",",":",";","$", + "5","6","7","8","9","*","/","#","|","[","]","(",")","<",">","{","}","@", + ], + } + input.index = 17 # Start on あ + input.table_height = 5 + input.init + else + input = Window_NameInput.new + input.set_mode_buttons [[tr('Upper'), tr('Lower')]] + input.character_tables = { + [0] => [ # Case: Upper + "A","B","C","D","E","F","G","H","I","J", + "K","L","M","N","O","P","Q","R","S","T", + "U","V","W","X","Y","Z"," ",".",",","-", + "0","1","2","3","4","5","6","7","8","9", + "!","?",'"',"'","/","&","[","]","(",")", + ], + [1] => [ # Case: Lower + "a","b","c","d","e","f","g","h","i","j", + "k","l","m","n","o","p","q","r","s","t", + "u","v","w","x","y","z"," ",".",",","-", + "0","1","2","3","4","5","6","7","8","9", + "!","?",'"',"'","/","&","[","]","(",")", + ], + } + input.table_height = 5 + input.init + end end end From 0faee3d8f19d78d971073d2ef074d9cec9f8b1b4 Mon Sep 17 00:00:00 2001 From: mshirt Date: Wed, 30 Aug 2017 23:54:11 -0700 Subject: [PATCH 02/12] Fixing issue where some facepics would not be entity on post solstice replays --- scripts/RPG.rb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scripts/RPG.rb b/scripts/RPG.rb index 1a18a88..33a6724 100644 --- a/scripts/RPG.rb +++ b/scripts/RPG.rb @@ -3,12 +3,16 @@ module RPG module Cache def self.character(filename, hue) + filename = filename.downcase if $game_switches[160] && filename.start_with?("niko") filename.gsub!(/niko/, "en") end self.load_bitmap("Graphics/Characters/", filename, hue) end def self.face(filename) + #lowercasing facepic name to be more case insensitive + #to catch the few instances where we use "Niko" instead of "niko" + filename = filename.downcase if $game_switches[160] && filename.start_with?("niko") filename.gsub!(/niko/, "en") end From 3ec401e18d11aa746637389cd9399a1a173e7715 Mon Sep 17 00:00:00 2001 From: mshirt Date: Wed, 30 Aug 2017 23:54:41 -0700 Subject: [PATCH 03/12] Fix to let journal.exe know which language page to display --- scripts/SaveLoad.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/SaveLoad.rb b/scripts/SaveLoad.rb index 8204e2b..c423928 100644 --- a/scripts/SaveLoad.rb +++ b/scripts/SaveLoad.rb @@ -32,6 +32,7 @@ def fake_save Marshal.dump($game_oneshot, file) Marshal.dump($game_fasttravel, file) Marshal.dump($game_temp.footstep_sfx , file) + file.puts('HeyNoxidHeresTheLanguage[' + $persistent.langcode + ']') end write_perma_flags(PERMA_FLAGS_NAME) end From 785ee492ccceebbf94c765fe5cac49b1bba68682 Mon Sep 17 00:00:00 2001 From: mshirt Date: Wed, 30 Aug 2017 23:57:01 -0700 Subject: [PATCH 04/12] Safeguard against the "plight_timer is nil" bug it's not a bug that ever happens in real/normal gameplay but testers run into it in debug runs sometimes and i'm not sure why --- scripts/Script.rb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/scripts/Script.rb b/scripts/Script.rb index 6f6565f..9ac70bf 100644 --- a/scripts/Script.rb +++ b/scripts/Script.rb @@ -737,6 +737,9 @@ def plight_start_timer end def plight_update_timer + if $game_oneshot.plight_timer == nil + plight_start_timer + end Script.tmp_v1 = ((Time.now - $game_oneshot.plight_timer) / 60).to_i end From 177de147260ad20a056d80fa7c452aba962da3d8 Mon Sep 17 00:00:00 2001 From: mshirt Date: Wed, 30 Aug 2017 23:57:37 -0700 Subject: [PATCH 05/12] An attempt to fix the issues caused by asian languages not having spaces --- scripts/Window_Message.rb | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/scripts/Window_Message.rb b/scripts/Window_Message.rb index d5e84d9..5a4af1b 100644 --- a/scripts/Window_Message.rb +++ b/scripts/Window_Message.rb @@ -101,7 +101,12 @@ class Window_Message < Window_Selectable text.gsub!(/\\v\[([0-9]+)\]/) do $game_variables[$1.to_i] end - text.gsub!("\\p", $game_oneshot.player_name) + #add a space to the beginning of the player name to better deal with longer names in asian languages + if (Language::FONT_WESTERN == Font.default_name) + text.gsub!("\\p", $game_oneshot.player_name) + else + text.gsub!("\\p", " " + $game_oneshot.player_name) + end text.gsub!("\\n", "\n") # Handle text-rendering escape sequences text.gsub!(/\\c\[([0-9]+)\]/, "\0[\\1]") From 8b086c9985711e157e8c5b4085531016a890ff62 Mon Sep 17 00:00:00 2001 From: mshirt Date: Mon, 4 Sep 2017 19:56:39 -0700 Subject: [PATCH 06/12] Setting default char input for jap for the japanese release the default character input for names and passwords is now romaji --- scripts/i18n_English.rb | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/scripts/i18n_English.rb b/scripts/i18n_English.rb index 8b769bd..27f3aa6 100644 --- a/scripts/i18n_English.rb +++ b/scripts/i18n_English.rb @@ -6,29 +6,29 @@ class Language if Font.default_name == FONT_J input = Window_NameInput.new input.ok_text = '決定' - input.set_mode_buttons [['かな', 'カナ', '英字']] + input.set_mode_buttons [['英字', 'かな', 'カナ']] input.character_tables = { - [0] => [ # Hiragana + [0] => [ # Latin + "A","B","C","D","E","F","G","H","I","a","b","c","d","e","f","g","h","i", + "J","K","L","M","N","O","P","Q","R","j","k","l","m","n","o","p","q","r", + "S","T","U","V","W","X","Y","Z"," ","s","t","u","v","w","x","y","z"," ", + "0","1","2","3","4","+","-","=","&","!","?","'",'"',".",",",":",";","$", + "5","6","7","8","9","*","/","#","|","[","]","(",")","<",">","{","}","@", + ], + [1] => [ # Hiragana "ー","っ","ぁ","ぱ","ば","だ","ざ","が","わ","ら","や","ま","は","な","た","さ","か","あ", "~","ゃ","ぃ","ぴ","び","ぢ","じ","ぎ"," ","り"," ","み","ひ","に","ち","し","き","い", "・","ゅ","ぅ","ぷ","ぶ","づ","ず","ぐ","を","る","ゆ","む","ふ","ぬ","つ","す","く","う", "=","ょ","ぇ","ぺ","べ","で","ぜ","げ"," ","れ"," ","め","へ","ね","て","せ","け","え", "☆","ゎ","ぉ","ぽ","ぼ","ど","ぞ","ご","ん","ろ","よ","も","ほ","の","と","そ","こ","お", ], - [1] => [ # Katakana + [2] => [ # Katakana "ー","ッ","ァ","パ","バ","ダ","ザ","ガ","ワ","ラ","ヤ","マ","ハ","ナ","タ","サ","カ","ア", "~","ャ","ィ","ピ","ビ","ヂ","ジ","ギ"," ","リ"," ","ミ","ヒ","ニ","チ","シ","キ","イ", "・","ュ","ゥ","プ","ブ","ヅ","ズ","グ","ヲ","ル","ユ","ム","フ","ヌ","ツ","ス","ク","ウ", "=","ョ","ェ","ペ","ベ","デ","ゼ","ゲ"," ","レ"," ","メ","ヘ","ネ","テ","セ","ケ","エ", "☆","ヮ","ォ","ポ","ボ","ド","ゾ","ゴ","ン","ロ","ヨ","モ","ホ","ノ","ト","ソ","コ","オ", ], - [2] => [ # Latin - "A","B","C","D","E","F","G","H","I","a","b","c","d","e","f","g","h","i", - "J","K","L","M","N","O","P","Q","R","j","k","l","m","n","o","p","q","r", - "S","T","U","V","W","X","Y","Z"," ","s","t","u","v","w","x","y","z"," ", - "0","1","2","3","4","+","-","=","&","!","?","'",'"',".",",",":",";","$", - "5","6","7","8","9","*","/","#","|","[","]","(",")","<",">","{","}","@", - ], } input.index = 17 # Start on あ input.table_height = 5 From f737790f2d83edb78b76f5990f833a3ee98afb87 Mon Sep 17 00:00:00 2001 From: mshirt Date: Mon, 4 Sep 2017 23:40:14 -0700 Subject: [PATCH 07/12] Now you can open the settings menu on the title --- scripts/Scene_Title.rb | 60 +++++++++++++++++++++++++++++------------- 1 file changed, 42 insertions(+), 18 deletions(-) diff --git a/scripts/Scene_Title.rb b/scripts/Scene_Title.rb index 7243c58..51179e2 100644 --- a/scripts/Scene_Title.rb +++ b/scripts/Scene_Title.rb @@ -41,6 +41,8 @@ class Scene_Title end load_perma_flags Window_Settings.load_settings + + @window_settings_title = Window_Settings.new # Make title graphic @sprite = Sprite.new @sprite.bitmap = RPG::Cache.title($data_system.title_name) @@ -51,12 +53,14 @@ class Scene_Title @menu.z += 1 @menu.bitmap = Bitmap.new(640, 480) @menu.bitmap.draw_text(MENU_X, MENU_Y, 150, 24, tr("Start")) + @menu.bitmap.draw_text(MENU_X, MENU_Y + 25, 150, 24, tr("Settings")) if !$GDC - @menu.bitmap.draw_text(MENU_X, MENU_Y + 28, 150, 24, tr("Exit")) + @menu.bitmap.draw_text(MENU_X, MENU_Y + 50, 150, 24, tr("Exit")) end if $game_switches[160] && $game_switches[152] - @menu.bitmap.draw_text(MENU_X, MENU_Y + 56, 150, 24, tr("...")) + @menu.bitmap.draw_text(MENU_X, MENU_Y + 75, 150, 24, tr("...")) end + Language.register_text_sprite(self.class.name + "_contents", @menu.bitmap) # Make cursor graphic @cursor = Sprite.new @cursor.zoom_x = @cursor.zoom_y = 2 @@ -82,6 +86,7 @@ class Scene_Title Input.update # Frame update update + @window_settings_title.update # Abort loop if screen is changed if $scene != self break @@ -96,6 +101,7 @@ class Scene_Title @menu.dispose @cursor.bitmap.dispose @cursor.dispose + @window_settings_title.dispose Audio.bgm_fade(60) Graphics.transition(60) # Run automatic change for BGM and BGS set with map @@ -105,8 +111,17 @@ class Scene_Title # * Frame Update #-------------------------------------------------------------------------- def update - # Handle cursor movement + @menu.bitmap.clear + @menu.bitmap.draw_text(MENU_X, MENU_Y, 150, 24, tr("Start")) + @menu.bitmap.draw_text(MENU_X, MENU_Y + 25, 150, 24, tr("Settings")) if !$GDC + @menu.bitmap.draw_text(MENU_X, MENU_Y + 50, 150, 24, tr("Exit")) + end + if $game_switches[160] && $game_switches[152] + @menu.bitmap.draw_text(MENU_X, MENU_Y + 75, 150, 24, tr("...")) + end + # Handle cursor movement + if !@window_settings_title.visible update_cursor = false if Input.trigger?(Input::UP) if @cursor_pos > 0 @@ -116,12 +131,12 @@ class Scene_Title elsif Input.trigger?(Input::DOWN) if $game_switches[160] && $game_switches[152] - if @cursor_pos < 2 + if @cursor_pos < 3 @cursor_pos += 1 update_cursor = true end else - if @cursor_pos < 1 + if @cursor_pos < 2 @cursor_pos += 1 update_cursor = true end @@ -138,23 +153,27 @@ class Scene_Title end if update_cursor Audio.se_play('Audio/SE/title_cursor.wav', 40) - @cursor.y = MENU_Y + (24 - @cursor.bitmap.height) / 2 + 24 * @cursor_pos + @cursor.y = MENU_Y + (24 - @cursor.bitmap.height) / 2 + 25 * @cursor_pos end end - # Handle confirmation - if Input.trigger?(Input::ACTION) - case @cursor_pos - when 0 # Continue - $game_switches[157] = false - command_continue - when 1 # Shutdown - command_shutdown - when 2 # memory - $game_switches[157] = true - command_continue + if !@window_settings_title.visible + # Handle confirmation + if Input.trigger?(Input::ACTION) + case @cursor_pos + when 0 # Continue + $game_switches[157] = false + command_continue + when 1 # Settings + command_settings + when 2 # Shutdown + command_shutdown + when 3 # memory + $game_switches[157] = true + command_continue + end end - end + end end #-------------------------------------------------------------------------- # * initialize a new game @@ -209,4 +228,9 @@ class Scene_Title # Shutdown $scene = nil end + + def command_settings + $game_system.se_play($data_system.decision_se) + @window_settings_title.open + end end From 0516ab9fa38822bafc2f98f691e35efc66a74892 Mon Sep 17 00:00:00 2001 From: mshirt Date: Wed, 6 Sep 2017 00:07:03 -0700 Subject: [PATCH 08/12] Translating the key.txt strings now --- scripts/Script.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/Script.rb b/scripts/Script.rb index 9ac70bf..0d76aa6 100644 --- a/scripts/Script.rb +++ b/scripts/Script.rb @@ -459,15 +459,15 @@ module Script when 1 copy_file("Graphics/Characters/blue_npc_prototype.png", portal_path + "/blue_npc_prototype.png") copy_file("Graphics/Faces/proto1.png", portal_path + "/proto1.png") - write_key(portal_path + "/keyB.txt", PROTO_TEXT) + write_key(portal_path + "/keyB.txt", tr(PROTO_TEXT)) when 2 copy_file("Graphics/Characters/green_npc_cedric.png", portal_path + "/green_npc_cedric.png") copy_file("Graphics/Faces/cedric.png", portal_path + "/cedric.png") - write_key(portal_path + "/keyG.txt", CEDRIC_TEXT) + write_key(portal_path + "/keyG.txt", tr(CEDRIC_TEXT)) when 3 copy_file("Graphics/Characters/red_rue.png", portal_path + "/red_rue.png") copy_file("Graphics/Faces/rue.png", portal_path + "/rue.png") - write_key(portal_path + "/keyR.txt", RUE_TEXT) + write_key(portal_path + "/keyR.txt", tr(RUE_TEXT)) end end From 12581656858e1b057d78c463246d0860e16e4a36 Mon Sep 17 00:00:00 2001 From: tdixon Date: Thu, 12 Oct 2017 02:53:32 -0300 Subject: [PATCH 09/12] Add pot version to settings screen --- scripts/Window_Settings.rb | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/scripts/Window_Settings.rb b/scripts/Window_Settings.rb index b417568..5023b1f 100644 --- a/scripts/Window_Settings.rb +++ b/scripts/Window_Settings.rb @@ -77,7 +77,12 @@ class Window_Settings @title.bitmap.font.size = 40 @title.y = TITLE_TOP_MARGIN @title.x = MARGIN + @version = Sprite.new(@viewport) + @version.bitmap = Bitmap.new(60, 20) + @version.x = 10 + @version.y = 450 Language.register_text_sprite(self.class.name + "_title", @title) + Language.register_text_sprite(self.class.name + "_ver", @version) @data_sprites = [] @viewport.z = 9998 @@ -96,6 +101,7 @@ class Window_Settings def dispose @bg.dispose @title.dispose + @version.dispose @data_sprites.each do |spr| spr.dispose end @@ -128,6 +134,10 @@ class Window_Settings @title.bitmap.clear @title.bitmap.draw_text(0, 0, @title.bitmap.width, @title.bitmap.height, tr("Settings")) + # Create version string + @version.bitmap.clear + @version.bitmap.draw_text(0, 0, @version.bitmap.width, @version.bitmap.height, tr("POT_VERSION")) + # Create menu options @data.each_with_index do |item, i| spr = Sprite.new(@viewport) @@ -199,6 +209,8 @@ class Window_Settings def redraw_all_settings @title.bitmap.clear @title.bitmap.draw_text(0, 0, @title.bitmap.width, @title.bitmap.height, tr("Settings")) + @version.bitmap.clear + @version.bitmap.draw_text(0, 0, @version.bitmap.width, @version.bitmap.height, tr("POT_VERSION")) for i in 0..7 redraw_setting_index(i) end @@ -418,6 +430,7 @@ class Window_Settings def opacity=(val) @bg.opacity = val @title.opacity = val + @version.opacity = val end def opacity @bg.opacity From 54a35e7740b345720df7daefe2eec597b14f6ea9 Mon Sep 17 00:00:00 2001 From: mshirt Date: Thu, 12 Oct 2017 23:10:55 -0700 Subject: [PATCH 10/12] Made version string less ugly It shouldn't be at full opacity --- scripts/Window_Settings.rb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/scripts/Window_Settings.rb b/scripts/Window_Settings.rb index 5023b1f..51c6940 100644 --- a/scripts/Window_Settings.rb +++ b/scripts/Window_Settings.rb @@ -81,6 +81,7 @@ class Window_Settings @version.bitmap = Bitmap.new(60, 20) @version.x = 10 @version.y = 450 + @version.opacity = 128 Language.register_text_sprite(self.class.name + "_title", @title) Language.register_text_sprite(self.class.name + "_ver", @version) @data_sprites = [] @@ -218,6 +219,9 @@ class Window_Settings def update + + @version.opacity = 128 + if @fade_in self.opacity += 20 active_spr = nil @@ -232,6 +236,7 @@ class Window_Settings elsif self.opacity == 255 @fade_in = false end + @version.opacity = 128 return end From 0c9665ae4d09b6151d2ac6c7ee7d0dd40edc5a2b Mon Sep 17 00:00:00 2001 From: mshirt Date: Fri, 29 Dec 2017 15:15:01 -0800 Subject: [PATCH 11/12] bugfix rare bug where closing the game when spawning a footprint or footsplash would crash the game, both on exiting and then reloading. --- scripts/Scene_Map.rb | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/scripts/Scene_Map.rb b/scripts/Scene_Map.rb index aaf4078..99dbf76 100644 --- a/scripts/Scene_Map.rb +++ b/scripts/Scene_Map.rb @@ -502,16 +502,24 @@ class Scene_Map # * Misc operations #-------------------------------------------------------------------------- def new_footprint(direction, x, y) - @spriteset.new_footprint(direction, x, y) + if @spriteset != nil + @spriteset.new_footprint(direction, x, y) + end end def new_footsplash(direction, x, y) - @spriteset.new_footsplash(direction, x, y) + if @spriteset != nil + @spriteset.new_footsplash(direction, x, y) + end end def new_maptext(text, x, y) - @spriteset.new_maptext(text, x, y) + if @spriteset != nil + @spriteset.new_maptext(text, x, y) + end end def fix_footsplashes(xDelt, yDelt) - @spriteset.fix_footsplashes(xDelt, yDelt) + if @spriteset != nil + @spriteset.fix_footsplashes(xDelt, yDelt) + end end def menu_open? @menu.visible || @item_menu.visible From 44dd5d6d9c9e1a736c52edf51a13244bb7e34d70 Mon Sep 17 00:00:00 2001 From: mshirt Date: Fri, 29 Dec 2017 15:15:13 -0800 Subject: [PATCH 12/12] changes to the safe text in korean --- scripts/Puzzle_Safe.rb | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/scripts/Puzzle_Safe.rb b/scripts/Puzzle_Safe.rb index d6a9e84..f2d38d2 100644 --- a/scripts/Puzzle_Safe.rb +++ b/scripts/Puzzle_Safe.rb @@ -78,19 +78,19 @@ DOCUMENT_TEXT_JA = \ DOCUMENT_POSTGAME_TEXT_JA = "必要なコードは次の通りだ: " DOCUMENT_TEXT_KO = \ -"안녕하십̴̵̢͟҉니̵́̕͢͞까̡́͡ ̷̡̠͇̼͉̻̦͓́͜͡ ̶̤̦̯͖͚͓̮͓̣̤̰͇́̕ ̴͜͏͈̭̦͙̦̯̟̗̜̼̠̦͘ ̶̶̡̢̲̱̜̹̰̻̘̪̳̫͕̙̕ ̡҉͎̦̙̰̻͉̜̝̺͚̻͇̞̺̦͓́ ̨̘̤̜̞͍̩̠̱̦̫͔̹̩͍͇̜͈́̕͞ͅͅ ̴̴̧̣͍̘̰̗̮̜̰̲̣̙̲̝͚̩̦̭̀͡ ̧̗͚̱͓̥̖͍͕̀ ̫̪͇̗̲̭̤͖̫̣͇͔͘ ͕͚͎̦͓̺̤̳̙̝͟ͅ ̸͉̫̘̩͙͖̼̣̞̞̰̼̞͕̀ ̶̗͓͎͓̦̙̭̳̻̫̥̯̱͚̦͔͍͙͟ ̶͜҉͏̞̺̙̥̦̪͇̯̳͍̬̱̰̘̺̠̀ ̴̼̘͇͎͙̘̜̀̀͞ ̴̢̹̥͚͎́̀\n\n\n"\ +"안̛ͥ̍ͅ녕̣͖̣̱͍̗하̖̲̀십̤̥̱͂̆̊ͩͫ니̱͇͔̣̱͘까̷̑͂̉̈́̽,̵̜̩̮̤̣̣ ̷̡̠͇̼͉̻̦͓́͜͡ ̶̤̦̯͖͚͓̮͓̣̤̰͇́̕ ̴͜͏͈̭̦͙̦̯̟̗̜̼̠̦͘ ̶̶̡̢̲̱̜̹̰̻̘̪̳̫͕̙̕ ̡҉͎̦̙̰̻͉̜̝̺͚̻͇̞̺̦͓́ ̨̘̤̜̞͍̩̠̱̦̫͔̹̩͍͇̜͈́̕͞ͅͅ ̴̴̧̣͍̘̰̗̮̜̰̲̣̙̲̝͚̩̦̭̀͡ ̧̗͚̱͓̥̖͍͕̀ ̫̪͇̗̲̭̤͖̫̣͇͔͘ ͕͚͎̦͓̺̤̳̙̝͟ͅ ̸͉̫̘̩͙͖̼̣̞̞̰̼̞͕̀ ̶̗͓͎͓̦̙̭̳̻̫̥̯̱͚̦͔͍͙͟ ̶͜҉͏̞̺̙̥̦̪͇̯̳͍̬̱̰̘̺̠̀ ̴̼̘͇͎͙̘̜̀̀͞ ̴̢̹̥͚͎́̀\n\n\n"\ \ \ -"처̷̨̀́͞음̸̵̵̧҉h̡͜͠҉ ̷̛i̵̶̷͝ ̵̀͢͢s͜ ͟͏̷̵̡ ̨͟͡ ͏ ̷i҉̷̧̀ ̴̡̕s͠ ͟҉̞̭̼̞̯̰͈̘̟̣̜̰͖͙̼͙̙ ̨̳͚͍̤̦̪͔̲̬̻̯͍͉̥̦̱́ͅ ̫̪͇̗̲̭̤͖̫̣͇͔͘ ͕͚͎̦͓̺̤̳̙̝͟ͅ ̸͉̫̘̩͙͖̼̣̞̞̰̼̞͕̀T ̶̗͓͎͓̦̙̭̳̻̫̥̯̱͚̦͔͍͙͟ ̶͜҉͏̞̺̙̥̦̪͇̯̳͍̬̱̰̘̺̠̀ ̴̼̘͇͎͙̘̜̀̀͞ ̴̢̹̥͚͎̮͍̥̲̟͓̹̞̤̠͉̳̝̫́̀ͅ ̛̫͎̤̥̰̩̹̬͞ ͟҉̞̭̼̞̯̰͈̘̟̣̜̰͖͙̼͙̙A ̨̳͚͍̤̦̪͔̲̬̻̯͍͉̥́ͅu̦̱ ̵̸̹̼̞͚̹̟̺͎̜̖̦͠ ̴̢̳͔̻͕̮͇̱̀͡ͅͅ ̘̟̺̫̪̺͙̦̳̻͙̣̳́́͝͝ ̤͍͍̭͙̦̤͖͕̯͍̜́͜ͅr ̷̶̥̠͍͚͜͞.̴͜/͞m̵̧.̧̨̧́͘.̶͘͝͡-̡̢͟-̷̧͠͝͝-̴̨͜͢y͡҉̧/̀͏͏͘.͜͞.҉̡̀͢-̡̧̕͜-̸͘͜f̷̧͘͜.̨́͜.͞͞.̴̶͞ 간̨҉̶̡҉략̢̧하̸̷̡͠게҉̛͢͞ 써야 한다는 걱정이 앞서는군요.\n"\ -"당신께 일지를 남겨두었습니다. 일̷̡̕͠지͢͜의҉̀͘͠ y̴̴͝/͟͝͝/̧͝͡-҉̵̸͡-͏͡o͏͜͝/̶̡̡/͡/͏̵̵̵̀/͏́́ų̨̕͘ ͟҉̴ ̧͠͏͝ ͘̕͟͠͞w̛͘͟͡͠/̵̢͠/̷́͞͞/҉̸̛̀͡ļ̴̕͢͡l̢̛̕͘͜ ̵̀͝͠n͝o̵͢͠=̵̷̨̡͡.̷̴̷̡̡.̷̵͘͟t̶̶̸̡ ̷́͜u͏̴́/̀/̵̧͢͞͡ǹd̀͟͠è͢҉̢̢-͠҉-̧҉̢-̶̧-̷̶͘s̵̶̷̢͠t̡̛a̧ ̶̴̧͝ ̷̸̡ ̸́͞ ͢ ̶̸̡̛͞n̢͠d̸̵ ҉̢͠͠a̴͡͠t̛͏̀͟͠ ̨̢͢͝f̷̵/̵̢̡̢/̧̢҉̵/̨͟͝r͏-̕͟͟͠=̢̕͘͟s̵͟͏t͞͞͡\n"\ -"H҉.̧̕.̸̵.̸̨̛̕͠-͘͜/̵͏҉/̸͘̕w̴͏͟e̷̢͜v̵͟͜͟(̢̕҉͟ę̸̀͜͞r̶̷͠͠҉ ̵̡͡ ̵̕͡͠ ҉̷ ̴̵̛͢,̧́҉ ͘͠͞ ͞͠ǫ̷̵̛̀n҉̡͡/̶̢/̵̸҉/̴̸̢́/̡͞/̀͘̕͢/̨͟c̵̷ ̨̛͘͡͞ ̨͏̛ ̷̶̡̧͜ ̵̨̀͜e̸̢͢͟ ̴͝y҉̸̛́/̵̵̶̨/̢͘/̴͟/͡=͢͏=̡͘=̷̢=҉̴̢/̸̧̧͞/̛̕/̶̨́͠/̶̨̧̕͜.̵.̴͝.̷̶͡u̧͝ ͘͘͜҉.̢̨̕͝͏ ̸̶̵̶̢ ̶̡ ̧̀c̀͢͞͞.͡.̴̶́͟͠.͞͏͘.̨̧͘͞.̴҉͞.̶ą̶͟͞n̕ 읽́͟어͢͡҉보̕͢͞͞시̧̕͢면̷̡͠ 무엇을 해야 할지 알게 될 것입니다.\n"\ -"그리고 마̴̴̨̡스̧͘̕̕͝크̡͝͠͝도͏̶̡̡́ ̶̷͘͟͞두҉̴͘었͞͠҉͠습̧̧̨̕͢니̸̧̀͢다̨͘͟,̵̷ b̷̢͘͞ ̛̀͘͢͝c̡͜҉ ̀͟͠ ̶̡͘͜ ͞҉͜͏ ̷͜͏ ̡́́͠ ̢ ̀͏ ̕͜ ̵̷͘ ̶̴̴̵ę̷̷͜ ̴̸҉̀Í͡ ̸͘͞ ̨͢͜͡͡ ́͢͏͢ ̢̡́́͞ ̷̶̸̀͝ ̸͠ ̶̷̧̀̀ ̵̵̵̢́ ̷̵̛͡ ̕͝ ̷̕͠҉̡ ̸k͟͞͝ǹ͠͏͡ ̶̸̶͢͠ ̨͟͞͡ ҉̶ ͟͏̸ ̢̕ ̴͡͠ ̴̕͡҉͢ ̴͟͟ ̶͞͠w҉͝ ̢̨͟ ̵̕ ̧̢͜͢ ̴̀̕͞ ̀͟͟͠ ̛͢͏ ̡̧̀̀ ̨̢͘ ̕͜y̢̨̛͘͟ǫ͡u҉͢͟͏͟ ̷̛̀ ̴̕͞ ̢͡ẃ̴̡͡͝ ͘͜͝͏ ̧̀͜͡ ̶͢ ̵̶̸̨ ̵ļ́͡͡҉ ̶̧ ̸͡͠͠ ̷͏̸̵͟ ̸̴̀̕͝ ̸͏̧̀͝ ́͢͠ ͏̧̡͟͝ ̡̕͢͟n̕̕̕ ̷̴͟͝͏ ̡̡͝ ́́ ͏͝͏͟ ͜͡͏̴̛e̷̸͏d̸̡͜ ̷́͜͝i̵̶̢̢̧t̴́.͜͢\n\n"\ +"처̡̜͕̺̘̳ͫ͗̃ͩ͂̿͊ͫ͒ͣ̂̽̔̌͐͢͝음̧͎̼͎͖̻͈̇̂ͪ͑́ͥ̉͛̓̔ͨͩ͋ͤ̿̏͊̈́͑͢으̷̧͑̆̔̍̍̆̾̂̊̕͏̩̟̰̠̺̪̪͍̲̰ͅ로̙̟͉͎̒̊͊͋ͮ͝ ̪̙̹͉̿̽̓̏ͫ͐̈́͊̋͌̿͗̃̈͌̐͐͢͠메̶̯̳͉̱̮͇̻̮̩̩̥̦̼̥̹̪̻͓͓̽ͫ͊ͦ̅ͩ̈́ͤ́͘시͎͔͓̻̜̼͆̂̾ͤͣͣ̀지̸̷̣̬̹̫͖̭͓̙̻̜͉̞̗̙͎͕̓̃̉̓ͅ를ͩ͌ͧ̏ͬ͏̷͍̝̭͙̳̟̱͔̣̟̼̹͇̬̕ ̡̭̩̤͉̲̪̟̫̙̈͊͑ͬ̅̓́̑ͩ͌͊̔͆ͭͦͨ̚͢͟보̫̝̥͎̩͉͖͖̥͈̩̞͉̤̗͍͔̔ͪͦ́̄̅͌̀͐ͩ͆͂ͪͫͣ̅̀́̚͝냅̷̷̺̳̟̙̺̖̹̰́̅ͧ́ͩͯͮͫͬͬ̏̃̀͞니̆ͥ̏̍͒͆ͧ̔̂ͧ̍̒̀ͬͭ̚͘͢͏̞̺̲͙̘͢ͅ다̔̇́̆ͥͤ̂͊̿̃͊̇͏̧͇̲̟̟̳̳͕͢.̈́̅̓͏̶̢̧͈̮͎̩͔̩̞͈̥̳̜͞ ͬ̾̌͑̂͌̚͏̴̴̣̤͎̭͖̻͓̝̯͘간̗̩͕̤̹̮̱̗͙͇̋ͮ̌ͣ͘͞ͅ략̢̬̭̮̮̳̤̜̩̰̻͈̺̣͓̩̥̤̖̻̅ͩ̒ͦ̈́̄͊ͥ͟͡͝͠하̋̆̿̊ͦ̊͒ͩ̏ͥͭ̑ͪ͋̌ͥ̋̆͛҉̜͙̗̫͜게̴̙̯̺̤̗͚̪͚̯̙̱͍̃̐͋̈́̍̀̚͘͝ ̸̸̘̤̘̥͍̮̝͉͉̬̳̭͍͕̥̣̄̐ͨ͗̾̓ͪ̎̓͆͆̚͜͢͠써͆̆̏̌̈͌̅ͫ̇́͝҉̹̦͎̻̜̖͘͠야̷̴̢̡̰̱̦͎͈̯͙͈͕ͫ͊̍ͮͨͧ̍̇̚ ̸̱͉̦̲͙̘̰̹̙̌́́̔̉ͪͯ̌͒̂̈̆ͣ̕͘한̗̟̩̟̹͎̳͙̗̣̻̱̦͈̹̙̟̣̆̇͐ͣ̉͆̾͌̋ͭ͐̂͟͝다̡̞̭̱̠̺͙̤̞̰͋̉̓ͥ̀는̴̥̥͔̠̳͇̗̬̩̱̹̩̥͓ͨ̂̿͒͂ͬ̈́͗͌̈̈͌̕͘͟͞ͅͅ ̸̷̧͉̮̻̳̪̮͕̩͉̲̳̘̔̿̿̂͗̅̿̓͛̾̐̈́̀̚걱̠͖̞̙̺̺͈̠̞̬͔̥̪͕͓̳͈̪̎̊̅͆̃̓ͣ̒͊͟͞정̶̭̘̭͔̱̜̥͍̝̺̱̖̹̥͛̂̇ͫͣ́̚͜͜이̆̀̅ͩ̿̎̉̎͗ͧ͌͋̓͆͘͝҉̮̼̝̺̤͎͓̳̙̪̪̲̪̮̝̮͔̹ ̶͖̠̞̣͉͎̤̦̠̹̘͔̮̤̎ͫ̏ͩͩ̔́ͩ̈́͌̍̀ͫ͢͜앞̨̢̾̑ͮ͑ͩ̽̍ͥͮ̀͗͗̽̇́͂ͪ̌҉̜͙̥͇͍͎́ͅ서̷̸̢̮͉͍̘̱̪̠̤͚̰͚̜̝̫̬̩͉ͯ̓͒́는̢̗͖̮̭̰̹̮̟͍̪͚͓̝̟̣̊̃̈́̀̂ͩ̊̋ͩ̑ͬ̔͑̈́ͣ͒̚͜군̸̴̪̱̞̘̠̭͕̖̠̹͌̈́̏̒͆ͣͩͯ͗̈́͘͜͟요̍̾̽̒̑ͦ̑̾̄ͤ̋ͤ̑̒͗͋̓̏ͭ̕͏̲͔̥̪͙͍̲̞͚̺͍̺̞͉̥͟͡.̶̵̷̗̭͙͇̳̌͛͌ͩ͑̍͆́̽́ͭ̈ͬ͝\n"\ +"당̇ͭ̐͂ͬ̿̎͒̽͋͐̋ͧ͗̈́҉͟͢҉̼͍̘͔̠̬͔̞̲̠̝̠͇̖̬̗̞̺̖͞신̴̹̭͈̤̥͚͉̙̺͎͈̦̣̭̫̣͖̓́̔̉͘͞께̷̛̙̞͓̰͔͉̤̻̼̭̳̭̟̤̭̙͚̖̱̊̑͗̾͟͠ ̷̵̴̱̻̗͕̖̺͈̫͇̬͎̤̹̦͔͓̗̾ͪͨ̅̄̊́͞일̸͕̱̖̺̹̬̜̱̗̗͎̬̬̗̳͈̎̈͛͊̍̊̔̆̾̅ͣͬ̊̅͌ͮ͢͞지̡̊̂̌̈ͥ̍̕͜͡͏̼͙͓를̶̨̼̗̰̮̤̰͇̜̫̦̣̦̟̘̭͓̫̝͊̀͑́̄̿ͣ̊̀͋ͪ̓ͧ̈́̉͒͢ ̧̻̗͐̌̓̃͂̊̐͊ͩ̈̕͘ͅ남̴̛͚͍̝̩̤͇͈̞̙͕̮͈̲͎͙͙̊ͤ̅ͪ͌ͪ겨̷̶̧̛̞̼͚̯̥͔̟̲͇͕̠̹̦̺̺̏ͮ̾̄̃̑ͨͦ͑̽͠ ̸̢̛͎̯̝̭̗̋̅ͩ̓̌̅͐̓̍ͩ̓͢͠ͅͅ두̷̴̛̛̩͉̜̱̝̖̄̆͑̓̽̆͐̔̅͒̏̐̍ͮ̐̓͗̚̚었͔̱̠̳͖͓͕͓̮͇̘ͯ͌́ͥ̀͘͞습̸̵̧̤̳̣͖̝̮̱͖̝̹͈̟̟̻̩̭̞͔̥ͦͧ͑́́ͩ̓͐ͦͩ̉͡니̸̧̼̺̜̙̝̹͎̩̗̬̽͌̈́ͪͮ̌̀̓̓̒ͅ다̵̹̻͓͈̹̪̝͈͈̳͉̳̗̝͐̿̐͊̇̾͆͋̂̐ͩ̓̽̀͘ͅ.̵̜̝̫̝̗̱͚̱̳͎̜̬̖͎̭͚̪̝̻̆ͪͫ͊̓̈́ͪ̑̾ͯ̈́̉̀̇̿̀̚ ̙̘̠̖̮͓̫̳͇̳̩̙̭̻͈̏̄ͤ̔͛ͣ͊̒̊̈́͆ͪ̓̄̋͛͠일̬̗̟̫̤̭͈̝̺͎͙̯ͣ͒̏ͭͭͩ̋́̕͞ͅ지̛̮̠͈̠̜͙͌̅̽͑͒́́́͑̃ͣ̾͒̔의̷͔̯̣̪͈̣̤̙̫̤̠̜̠̞̘͍͐̏ͨ̃̽̑͆͆̾̎ͣ̏̆̚̚͢ͅ ͯ̊ͯ̌ͣͭ̿͌̚͏̢̙̭͚̪̹̩͚̫͓͉͔일̃ͧ̾̐̅̓ͣͧ̍̓ͮͦ̊͒̋҉͏҉̢̘͕̹̹̱̼̜̥̬ͅ부ͫ̓̌ͧ̇̽́̉͒ͦ̌̀͏̨̭͚̥̭͇͍̫͔̘는̎͑͊́̌ͥ̈̚҉͓̫̭̳̞́͢͡ ͌̒ͪ̑ͩ͐ͫ̄͒̚͏̸̨̲̹͇͎̫̳̙̦̠̦̗̀당̡̖̰͓͚̥̘͉͉͎̬̞̩̮̣̫͔̌̓̍̂͒ͨ͗̎̈́̈̂̿ͤͥ͢͜͝ͅͅ신̷̔͊̑̉̏̅ͪ̓͐͌͏̯̜̟̜̖이̇̏̏͗̿ͬͨ̃̋̔̀̀̚͢͏̴̣͙̬͇̗̯̹͙̺̯̝͉̼̲̟̜ ̧̄̉̂̄ͥͩ̐̎͐̋̈̽ͩ͐̔̆͞͏͙͇̞̻̠̝͔̩͎̖̖̱읽̧̈́̓͑̊̐͒̑͑̕͏̗̹͎̠̰͍͉̲̻̪̹̩͢͡을̸̲͕̦̼͙͓̝̟̪̲͍͎̮̘͙ͩ͐̿ͦ͌̅ͧͨͭ͂̚͢͢ ̶̘̦͈͚͈̤̖̮̺̳̜̰̲̪̭̼̞̹̯ͬ̒͛̐̐̿ͣ̀ͦ̓͌ͭͬ̄̂̍ͦ̓̀͘͟͠수̵̢̢̘̱̖͙͑̋̊̏́͢ ̴̵̸̵̤͍̳͇̝̣͙̻̠̳̜̱̥ͩͯ̂̑̂̿̋ͥ͆͐̕ͅ없̬̩̩̻͖̪̈͆ͯ̄̉ͧͨ͊͒̚͘͘͡͞는̷̧̢̖̺̻̠̞̭͉̥̹̩̥̞̦̝̯ͭ̽̄̉̾͐̀ͦ͊͑̎̂̑͢ ̵̧̞̟̬͔̝̺͔͙̝̖̖̲̩̂͛ͩ̎̈ͧͥ̿̆͗̅̿̍̀̚ͅͅ언ͤͦ̓̅̋ͨ̋ͩ̉̅̔̅̏҉̦̘̜̼̻̲̠͓͎̩어̢̼̞͍̝̬̭̫̇ͫ̃ͭ̚͘͝͠ͅ로̴̨̢͖̫̺̠̲̱̐ͬ͒̔̿ͫ̍͒͛̉̒̎̃ͥ̄͑̆̓͜ͅ ̴̨͇̘̮͎̩̠͖͚̗̖̾̌̄ͫ̃ͩ͂ͪ͂̆̊ͭͣ͟작ͭ̓̓̌̒͏̨͇̭̻̮̪͔̙̼̗̮̣͉̘͙͕̭̳͟ͅ성͔͔̼͎̘ͯ̋́͗͛̆̎̿̿̋͆̏̃ͮͮ̐̏̚͢͝되̶̴͎̣̱̤͍̙͍̻̼̥̫̗̼͑̂̐͡ͅ어̴̜͖͇̮̻̞̫̪͈͍ͭ̆ͬͨ̎̍͌ͥ́͘ ́̔ͩ̂͆͑ͯͨ̆͆ͬ̕͏̢͇̦͉̗͇̜͎͉͈있͗ͫ̏ͤͥ́҉҉̧͝҉̗͇͎͖͍̗습̸ͩ̀̈́ͪ̓͋̂ͨͫ҉̧҉̪̞ͅ니̷̧̰̩͍̳̥̹͉̣̣̟̘̘͍̾ͭͣ̌̋͘다͋ͭ̎̿ͬ̑̓̽ͫ҉̷̨̧͎̤̪̼͈͙̱̮.ͬͣͥ̇ͪͧ̋ͭ͜͏̴̩͔̱͇͔̲̪̥\n"\ +"̵̸̛͖͉͈͍̦̟̜͚̤̞̦̭̺̞̹̫̥̮͋̓ͭ̏̇̏͆͑̽̓͋̆̏͊́하̵̶̶̢̿ͤͣ̀̒͋ͣ͐ͩ͗͏̣̺͍͔͎̻̻̫̪지̶͖̼͔͙̮̘͚̩͈̙̲̮̖̦̲͇̬ͯ̿̍̀̚͢만̨ͦ͑͊̓͋̒̇̎̒̎̋҉̡̜͚̳͕͚̱̲̞̥͎̥̝̖͞͞ ̍͋͐̔͌ͨ̏ͤ͌͋ͦͣͮ̿͏̡͇͖̻̺̙̰̳̘̮̗̲̦͔͈̰̖̖진̥̲̱͎̘̦ͭ͐̓̉ͤͦ̐ͧ̾̃̂̾̓̆ͥͩͥ̑̀̀̚͝ͅ행͆̎͑͏̛͍̗͇̟̮̝̗을̢̖͕̙͉̙͉͉̼̫̫̩̫̑͌ͤ͛̉̀ ̶̙͕͉̥͙͕̙̳̖̖̠͉͕̝̬̭͋̓ͨ̏ͯ̿͢͠͡위̴̙̞̯͕̮̱͈̣̤̫̭̪̏ͧ͌͂̉͘해̢͊̔̔̚͏̡̢̥̜̲͖͔̫͎͓̲͕̥̱͝ ͨͮ̌͆͊͒͒̉ͤ̈ͩ͆̀́͢͏̰̟̭̳̠̦͚̯̱̫̰̭͎̳̙̗̜̖̗일̴̸̡͈͇̦̺̲͔̼́ͪͯͫ̆͐͗ͅ지̸̫̤̪͇͖͍̦̣̰̺̲̊ͨ͛ͭ̆͛ͧͦ̄̄̍를̧̢̭͓̞͖̖̝͓̞͎̖͎̮͖̦ͮͪ̈̊̆̋̾̂ͮ̍̄͗͑ͣͣ́͘͘ ̵́̀ͬ͌ͫ̃̔̃ͮ̃̑͛ͤ͜҉̞̠̙̹͖̱̻͔͎̠̯͇͔͟번̴̹̬͕̫̘ͨ͐͐ͮ͐ͥͫ͢͟역̵̨̪̠͔̰͎̘̝͒̆ͥ̀ͯ̄ͩͪ̚할̵̢̢͍̹̺͓̩͔̰̣̣͕̙̊ͩͥ̇͆̆ͯͫͦͫͯ̑ͬͫ͆̉̾͟ ̧͙̖͈̪͎̖̥̀ͧ̈́ͫ̽͆̅ͣ̒͆̈ͧ̾ͨ̾̌͋͑͜기̳̳̟̣̟̟̼͚ͪͬͪ̄͜͢ͅ회̴̶͖͍̥͚͉̰̘̝͉̠̺ͫͦ̀̐ͣͩͨͫ͒ͧ̅̇ͯ͒͊̚͜͞ͅͅͅ가͐ͧ͊̉̊҉͕̱͍̠̹͍̠̟̱́ ̵̧̣͈̣̞̩̖̯̓̀ͩͪ̃̔ͧ̄ͭͬͣ̓͂올̨̨̹̪̬̤̗̜̼̜ͩ̆̓ͨ̉̃̐̌ͫ͆̒̕ ̔ͥ͊̿̃̓̊̌͐̂ͧ͒ͧͫͣͪ͟҉̘͚̼̻̤̱̣̳͢ͅ것͋̈̽̔̐̓̐̌̿̾̽̅ͮ̓̑͆͑͋͏̙̪̼̝̼̟̘͓͕͚͚̟͎ͅ입ͩ͂̒̈́̈̉͂̾҉̧͔̪̰̠̹́니̷̡̜͉̝̼̱̤̤̽ͪ̍ͩ̊ͩ̀ͨ̀́͢다̷̷̧̺̩͈̮̤͇̼̿̾͐̾͘.̸̈͋͋ͥ̐͒҉̻̳͖͎̱̱̠̳̫̹̹ͅ.̧̧̝̥̹̫̭͚͓̤̻͖͈̻̲̔̑̍͋̈́͌̌̒̃̔̇͑.͗ͩ̀̆ͫ͑́̉ͧͣ͏̛̫̠͎̭̖͠͞ ̵̨̘̙̠̹̗̫̠͍͇͔̙̝̬̗̜ͭ̿̏̊͑͐̓͛̍̾̇읽̨͉̞̥̬͎͈͈̼̦̼̯̬͍ͩͩ̾̑̓̾͛̀ͨͬͫ́̚͠͡어̡̰̪̹̲̒͐̄̋͡͡ͅ ̨̡͇̰̼͍̪͚͈̗̪͉̩̳̝̹ͯ̊̈ͭͫ̏̿͆̃̃̀̕͜보̹̘̠̣̙̘̠̘̫͉̈́̍̀̓̾̊̓ͫ͗ͭ̄̉̀ͭ́ͫͣ̒̀̚͠͞͡시̡̬͖̣͚͔̭̝ͮ̉̓̋̉ͦͥ̍ͧͫ͊̓̅͌̃͘면̿̂ͥ͒͌̑̌ͤͥͮ̑̾̚҉̷̢̛͙͎͕̯̮̮̻͖̝̻͠ ̸̮̲̯̯̫̳̙͚͔̩̺̤͍̭̟̜͈̟̯ͭͪ̆̄ͭ͌̚무̶̬̻̻̘̳͈͈̦̩͙̗͉̹̦͇̂̍̈̽̈̆̓̅̅̊͛ͨ̒͛̔ͪ̾̀̀͜엇̸̨͙̮̣̫͎̳̤̮͍̼̰̜͓̲ͥ̇̊̉ͧ̾ͯ̏͌̂ͪ͘을̴̬̘̲͇̯͓̉͒̈́̅̈́̇͌̈́̊̏ͨ͗͆̊ͧ̄̈͘͟͝ ̻̹̜̻̼̬̪͎ͥ̿͐̈ͨ̄̿́̓̒̍̍ͩ̍̋ͩ̈́́̚͝해̟͇̩͔̟̜͉̹͕̭̰̭̠̾͆͂ͮͭ͛̑ͯ͑̈́ͫͮ͆ͮ̄̔ͬ͟͜͝ͅ야̡̽̈́̂ͬͧͩ̾͛͂̌ͭ̍̿ͪ̽̃̐̚͏̸҉̩̰̥͓̗ ͭ͑̒̋ͭ̍̈͗̿ͫ͂͂̊͗ͤ́̚҉̶̸̴̺̝̠̘̼̺͎͇͕̗̟͎ͅ할̸̧̦͓̦̮̯̟̘͈̲̺̟̲͎̬̙̟̗̾̒ͥ͒͐ͬ̑̄̂ͧ̾ͬ͊̑̓̚͜͡ͅ지̵̸̡̧̩̯͇͉̥̮̺͔̤̘̪̥̜̬͚̞͔̳̾̇̓͛ͮ͘ ̴̨̨̛̦̟̰̞͙̥͉͕̳̮̞ͯ̃ͯ͋ͯͧͬͨ̽͂̔̾̕알̶̨̺͕̱͎͖͂ͯ̍̾͜게̷̨͕̙̦͈͈̼͕̺͉͍͕͑̓̆̒͒̇̈͆͋̅̌ͯ̿͗̃ ̵̵̸̤͍̟̳̯̫͙̞͕ͨͭ͊̍̓͗̉̆̿̊͆̓̎ͯ̓̋ͥ̀ͅ될̵̺̙̫̩͔́͌͌̅̊̅͌͂̆̐ͯͣ̓̚̕ ̧̞̗͔̬̱̭̓ͫ̾̃̐̀̀́͡͠것̍͆̽ͤͭ͛ͮͯ̽̄̊̚͏̷̢̪̳͖͕̼̯̰̮̜̥̯̤̤̙̟̹͙̭̀͞입̷̷̖̠̹̻̥͈ͩͩ̔̄̋ͨ̏̍͊̇̋̅̾ͬ̈̑̑ͤ̅̀͘ͅͅ니̋͒̂̈̽͌ͭ̾͂ͥ͑͑͞҉̢̧̭͖͔̩̦̟̦͙̳̩ͅ다̷́ͯͫͥ͊̑ͣ̒ͧͭ͛̏͛̀̃ͪ̇͏̮̬̲̣̦̀͝ͅ.̵̸̪̪̘̰̫̬̙ͧ̆̓́̚̕\n"\ +"̢͈̗̬̳̠̩̳̃ͩ̈̽̐ͫ̈́͊ͧ͗̓̈́̿̒̚͟͡͡마̴̙̪̦̩̫̹͉̯̤̗̅ͣ͗͋̅̍̊̿ͭͥͣ̃ͯ̓̔̉ͥ̌ͫ͠스̴̡̛͉̻̖̹̺̭͚̓̌͒̍ͦͩͤ͛̾͂͋̾͒ͦ̚크̧̨̯͇̼̙̹̂̇ͧ͐̂̂̃̊ͬ̀̍̍͊̈̓ͬ도̸̨̛̱̭̠̙̱̩̯̯͕̯͉̝͇͈̯̭̈́̾ͮ͊͗̌ͧ͒͂ͦ̊͛́̚͝ ̨͈͈̳̰̹͋ͯ͆̌̓̑͛̚̕준̷̡̧̤̘͎͕̲̺̭̰̣̏ͦ̈́ͥ̚͢͝ͅ비̃̉̊̔ͭͬ̃͑̈́ͦ̂̅͛̏͒ͤ͌͜҉͜҉̟̤͔̬͈̰͙̰̭̦̭해̢͚̟̹͇͋̒ͤ́̀ͧ́ͭ́̈ͪ̏͐͟ 두͌͏̖었̴̬̳̗͚̄ͬ̑͐̾͋̚습̢ͥͭ̌̽͛̌ͥ니̮͕̳͈̟̙͔다͚̥̬̤̋͒ͦ̒.̩̞̏ͣ͛̑͑̐ ̴̡͙͓͙̟̖̟̥̙̭̻̬̻͖̪͙̰̘̳͇͖͆̊̊̄̂̓͊̃̿̏̆̿̌̒̕͠ͅ구̪̤̱̲̜͍̬̳͙̿̆ͭ̈́̈̒̑ͪ̊̒̒̇̋́͐ͥ͞원̸̧̨͙̺̞̞͚̟̼̜͚͚̩̦̞̲̹̻͙̂ͪ̔̾̓ͪͬ͋̉̂̓̐̌̍ͧ̆̚자̡͎̭̣̺̫͗̃̆ͣ̀͑ͤͧ͊̅́̃에̵̡̗̜͉͔̹̦̼͖̟̬̟̭̹̺͙̗͌͑͋ͦ̂̀̌ͨͫ̍̃̈ͪ̇ͫ̅͒ͬͤ͜ͅ게̸̨̬͚̰̗̠ͭ̔̿̂͘͞ ̶̡̢̹̫̬͓̞̥̜̣͇̦̼͇̥̹̿̓͐ͥ̑̊͋͂ͪ̚필̢͗ͣ̓ͬ͗͐̄͆ͣ̚͠͏̖̰͇͚͎̭̪̠̙̠̱ͅ요̛ͧ̇̾̔̒̈́̀̏͏̧̕͏̦̲̦͇̫ͅ할͎̝̻͙͍̝͉͔̘̰͔̣̲̣̐̅̍̎ͥ̓͂͗̀͜ ̶̨̨̟͖̲̫̞̩̗̭͍̬̣̟̪̱̥͛̋̅̆͑̆͜͝ͅ것̷̯̺͔̰̠̱͍̦͓͌ͧ͐͒͌ͭͣͤ̀͢͞입̙͖͇̘̲̣̹̳̹̫̣̜͉̪͎̹̱͚̟ͫ̓̌͑ͧ̐̽̒̓̀͘͝니̋̑ͧ̎ͤͫ̅͏̷̭̯̬͓͓̮̫̮̞̳̱̫̫̮̠̖̯͈͟다̝̞̪̰͈̰̦̝̗̝̤͚̿̿̊̓ͨ̓̓̽̃͐͆̓̓̀͠.̸̛̦̤̞̜̫̫͗̇ͦͧ̂̉͘̕͢\n\n"\ \ -"바̶다̧와̧ ͡초소͟ ́지́역͞ ͜사이́ 동͝쪽 ̴채͞석장에̸서͠ 금̡속 금̵고를̡ ̢찾아보십시오͟.̡\n\n"\ +"바̺͙̹̻̙̮͐ͥ̋͂̕다̛̻̹͉̐͑와̟̗͇̲̬͐͌͊̉͌ ̨̫̪̯̔̄ͧͫ͒초̪̍소̜͍͓̰͚̠̾ͅ ͒͂̇지̛̱̤͔ͦ̓̇역̲͚̲̇̇̃͡ ̪̗͉ͬ̍̚사͚͚̼̹̪̯이̥̘̻̺̙ͥ͌ͬ̃̚의͒̂̾̓̑̐ ̢̣ͧ͌̈́̽동͚͙̪̱͚͇͓͗쪽̨̼̳̗̒̎̉̃̊̽͐ ̯̙̩̠̱́ͮͮ͑ͪ͢채͈̳͙͎̪̦̓ͪ̓ͅ석̙͉̳̰̘̠͋ͥ̄̈́ͭ장̱͛͗에̸̆͗̾서̆ͤ̒̓ͫ̌͏̫̲͍̭̘̜ ̘͚̩̑͆̈ͯ̿̓금̦̣͈̘̝͂̅̇̽̂͗속͕̳͎̪͗͌͐̌́̔ ̧͙͖̥͍́͋̈́금̳̲͉̟͔̂̿͒ͤ̑̾ͥ̀ͅ고̯̎͟를̩̗̦͚̳ ͕ͥ͜찾̯͉̎̂̅͂͐ͫ̾아̻̲̻̇̐ͣ보̬̭̙̖͔̈́십̗͈̱̊̑̈͗ͭ͆̀́시̤͉̣̣͊̒̂̓̍오̬̜̘̰͍̭͎͛.̢ͥ̿ͩ͗ͩ̌̒\n\n"\ \ -"필요한 코드는 다음과 같습니다. " +"코드는 다음과 같습니다. " -DOCUMENT_POSTGAME_TEXT_KO = "필요한 코드는 다음과 같습니다. " +DOCUMENT_POSTGAME_TEXT_KO = "코드는 다음과 같습니다. " DOCUMENT_TEXT_ZH_CN = \ "亲爱̷̷͟͝͡的̸̀̀ ̷̡̠͇̼͉̻̦͓́͜͡ ̶̤̦̯͖͚͓̮͓̣̤̰͇́̕ ̴͜͏͈̭̦͙̦̯̟̗̜̼̠̦͘ ̶̶̡̢̲̱̜̹̰̻̘̪̳̫͕̙̕ ̡҉͎̦̙̰̻͉̜̝̺͚̻͇̞̺̦͓́ ̨̘̤̜̞͍̩̠̱̦̫͔̹̩͍͇̜͈́̕͞ͅͅ ̴̴̧̣͍̘̰̗̮̜̰̲̣̙̲̝͚̩̦̭̀͡ ̧̗͚̱͓̥̖͍͕̀ ̫̪͇̗̲̭̤͖̫̣͇͔͘ ͕͚͎̦͓̺̤̳̙̝͟ͅ ̸͉̫̘̩͙͖̼̣̞̞̰̼̞͕̀ ̶̗͓͎͓̦̙̭̳̻̫̥̯̱͚̦͔͍͙͟ ̶͜҉͏̞̺̙̥̦̪͇̯̳͍̬̱̰̘̺̠̀ ̴̼̘͇͎͙̘̜̀̀͞ ̴̢̹̥͚͎́̀\n\n\n"\