Ebony.Spire.Heresy.RiP-DARKSiDERS

Torrent Hash:
3D5F2F80DB7759267C835BF7C3F31DE557581A99
Number of Files:
980
Content Size:
70.68MB
Convert On:
2017-11-11
Magnet Link:
W3siaWQiOiJhZHN0X2JfTV8zMDB4NTAiLCJhZHNwb3QiOiJiX01fMzAweDUwIiwid2VpZ2h0IjoiNSIsImZjYXAiOmZhbHNlLCJzY2hlZHVsZSI6ZmFsc2UsIm1heFdpZHRoIjoiNzY4IiwibWluV2lkdGgiOmZhbHNlLCJ0aW1lem9uZSI6ZmFsc2UsImV4Y2x1ZGUiOmZhbHNlLCJkb21haW4iOmZhbHNlLCJjb2RlIjoiPHNjcmlwdCB0eXBlPVwidGV4dFwvamF2YXNjcmlwdFwiPlxyXG4gIGF0T3B0aW9ucyA9IHtcclxuICAgICdrZXknIDogJzdkMWNjMGUxYjk4MWM5NzY4ZGI3ODUxZmM1MzVhMTllJyxcclxuICAgICdmb3JtYXQnIDogJ2lmcmFtZScsXHJcbiAgICAnaGVpZ2h0JyA6IDUwLFxyXG4gICAgJ3dpZHRoJyA6IDMyMCxcclxuICAgICdwYXJhbXMnIDoge31cclxuICB9O1xyXG4gIGRvY3VtZW50LndyaXRlKCc8c2NyJyArICdpcHQgdHlwZT1cInRleHRcL2phdmFzY3JpcHRcIiBzcmM9XCJodHRwJyArIChsb2NhdGlvbi5wcm90b2NvbCA9PT0gJ2h0dHBzOicgPyAncycgOiAnJykgKyAnOlwvXC93d3cuYm5odG1sLmNvbVwvaW52b2tlLmpzXCI+PFwvc2NyJyArICdpcHQ+Jyk7XHJcbjxcL3NjcmlwdD4ifV0=
File Name
Size
EbonySpire_Linux
17.17MB
EbonySpire_debug.exe
4.47MB
EbonySpire_release.exe
4.47MB
Game/game.lua
16.58KB
Game/ggj/editor.lua
13.3KB
Game/ggj/entity.lua
45.93KB
Game/ggj/environment.lua
11.01KB
Game/ggj/items.lua
55.18KB
Game/ggj/messages.lua
837B
Game/ggj/player.lua
28.76KB
Game/ggj/rngMap.lua
167.33KB
Game/ggj/turn.lua
4.19KB
Game/ggj/ui/ggMM.lua
47.79KB
Game/ggj/ui/ggjUI.lua
45.61KB
Game/include_list.lua
2.46KB
Game/lib/astray/MiddleClass.lua
5.92KB
Game/lib/astray/astray.lua
9.1KB
Game/lib/astray/cell.lua
3.08KB
Game/lib/astray/directionpicker.lua
3.11KB
Game/lib/astray/dungeon.lua
6.9KB
Game/lib/astray/init.lua
132B
Game/lib/astray/map.lua
3.84KB
Game/lib/astray/point.lua
1.07KB
Game/lib/astray/room.lua
2.02KB
Game/lib/astray/roomgenerator.lua
9.57KB
Game/lib/astray/util.lua
2KB
Game/lib/cavity.lua
6.11KB
Game/lib/jumper/core/assert.lua
2.5KB
Game/lib/jumper/core/bheap.lua
4.92KB
Game/lib/jumper/core/heuristics.lua
3.5KB
Game/lib/jumper/core/lookuptable.lua
866B
Game/lib/jumper/core/node.lua
3.47KB
Game/lib/jumper/core/path.lua
5.9KB
Game/lib/jumper/core/utils.lua
3.59KB
Game/lib/jumper/grid.lua
15.47KB
Game/lib/jumper/pathfinder.lua
14.17KB
Game/lib/jumper/search/astar.lua
2.47KB
Game/lib/jumper/search/bfs.lua
1.39KB
Game/lib/jumper/search/dfs.lua
1.38KB
Game/lib/jumper/search/dijkstra.lua
515B
Game/lib/jumper/search/jps.lua
11.19KB
Game/lib/jumper/search/thetastar.lua
1.98KB
Game/math.lua
4.09KB
Game/mouse.lua
2KB
Game/table_work.lua
5.46KB
Game/ui/intro_moai.lua
2.09KB
Game/ui/userInterface.lua
5.07KB
Game/ui/userInterface_callbacks.lua
4.02KB
Game/wrapper/wAnim.lua
1.51KB
Game/wrapper/wEffect.lua
1.5KB
Game/wrapper/wImage.lua
2.16KB
GoodOldDownloads.com.url
245B
SDONE_0.ttf
8.53KB
additional/csvData.lua
8.52KB
additional/moses.lua
48.81KB
assets/Gastropoda.png
1.24KB
assets/Lucky Bestiary/001 The Scuttler.png
805B
assets/Lucky Bestiary/002 Mad Fish.png
761B
assets/Lucky Bestiary/003 See-er.png
717B
assets/Lucky Bestiary/004 Slome.png
540B
assets/Lucky Bestiary/005 Kerpant.png
1.07KB
assets/Lucky Bestiary/006 Ghost-a-Sleep.png
877B
assets/Lucky Bestiary/007 Cadaver.png
1.04KB
assets/Lucky Bestiary/008 Golem.png
1.83KB
assets/Lucky Bestiary/009 Vampire.png
1.01KB
assets/Lucky Bestiary/010 Slimeclops.png
825B
assets/Lucky Bestiary/011 Despereaux.png
1020B
assets/Lucky Bestiary/012 Lamiana.png
1.38KB
assets/Lucky Bestiary/013 Thriller.png
1.18KB
assets/Lucky Bestiary/014 NagaSan.png
1KB
assets/Lucky Bestiary/015 Scorbster.png
1.18KB
assets/Lucky Bestiary/016 Chiller.png
1.03KB
assets/Lucky Bestiary/017 Cockatrix.png
1.7KB
assets/Lucky Bestiary/018 Merman.png
1.14KB
assets/Lucky Bestiary/019 Pixie.png
749B
assets/Lucky Bestiary/020 AstroWoman.png
1.05KB
assets/Lucky Bestiary/021 Centicrede.png
1009B
assets/Lucky Bestiary/022 Glost.png
975B
assets/Lucky Bestiary/023 Prehistoric Rex.png
1.71KB
assets/Lucky Bestiary/024 Madusa.png
1.31KB
assets/Lucky Bestiary/025 Ninji.png
961B
assets/Lucky Bestiary/026 Spore't.png
1.26KB
assets/Lucky Bestiary/027 Thugshroom.png
1.47KB
assets/Lucky Bestiary/028 Beholden.png
1.06KB
assets/Lucky Bestiary/029 Death Gaze.png
1.01KB
assets/Lucky Bestiary/030 Succubus.png
1.41KB
assets/Lucky Bestiary/031 Magic Rabbit.png
1.27KB
assets/Lucky Bestiary/032 Baby Dragon.png
1.24KB
assets/Lucky Bestiary/033 Giant Worman.png
1.44KB
assets/Lucky Bestiary/034 Nellyfish.png
922B
assets/Lucky Bestiary/035 Man Eater.png
1.66KB
assets/Lucky Bestiary/036 Mole Man.png
1KB
assets/Lucky Bestiary/037 Mimicry.png
940B
assets/Lucky Bestiary/038 Impster.png
1.09KB
assets/Lucky Bestiary/039 Afterlife.png
1.22KB
assets/Lucky Bestiary/040 Boldude.png
1.44KB
assets/Lucky Bestiary/041 Hamguard.png
1.66KB
assets/Lucky Bestiary/042 Trimoeba.png
1.32KB
assets/Lucky Bestiary/043 Haniwa Sir.png
670B
assets/Lucky Bestiary/044 Haunted Sword.png
728B
assets/Lucky Bestiary/045 Faerie.png
1.64KB
assets/Lucky Bestiary/046 Sphunx.png
1.29KB
assets/Lucky Bestiary/047 Dragoness.png
1.85KB
assets/Lucky Bestiary/048 Gobber.png
1.15KB
assets/Lucky Bestiary/049 Crowdiction.png
1.11KB
assets/Lucky Bestiary/050 Executionite.png
2.19KB
assets/Lucky Bestiary/051 Gigantron.png
2.34KB
assets/Lucky Bestiary/052 Mummified.png
1.32KB
assets/Lucky Bestiary/053 Tourist.png
2.36KB
assets/Lucky Bestiary/054 El Tigre.png
1.47KB
assets/Lucky Bestiary/055 Froad.png
1.21KB
assets/Lucky Bestiary/056 Magic Man.png
1.34KB
assets/Lucky Bestiary/057 Mothaboid.png
1.42KB
assets/Lucky Bestiary/058 Nature's Revenge.png
1.39KB
assets/Lucky Bestiary/059 Porcudine.png
1.78KB
assets/Lucky Bestiary/060 Sahwahgin.png
1.92KB
assets/Lucky Bestiary/061 Skrid.png
1.38KB
assets/Lucky Bestiary/062 GlutWyrm.png
709B
assets/Lucky Bestiary/063 Treant.png
1.37KB
assets/Lucky Bestiary/064 Cultist.png
1.44KB
assets/Lucky Bestiary/065 Lizord.png
1.38KB
assets/Lucky Bestiary/066 Dark Knight.png
1.32KB
assets/Lucky Bestiary/067 Yeti.png
1.38KB
assets/Lucky Bestiary/068 The Pincher.png
1.22KB
assets/Lucky Bestiary/069 Martial Artist.png
1.09KB
assets/Lucky Bestiary/070 Bad Dog.png
1.1KB
assets/Lucky Bestiary/071 Batling.png
956B
assets/Lucky Bestiary/072 Bozo.png
1.17KB
assets/Lucky Bestiary/073 Clownette.png
1.41KB
assets/Lucky Bestiary/074 Dude.png
1.33KB
assets/Lucky Bestiary/075 False Door.png
1.28KB
assets/Lucky Bestiary/076 The Finisher.png
1.18KB
assets/Lucky Bestiary/077 Alice.png
1.49KB
assets/Lucky Bestiary/078 Boot Lizard.png
1.49KB
assets/Lucky Bestiary/079 Hypnotizer.png
939B
assets/Lucky Bestiary/080 Joan.png
1.33KB
assets/Lucky Bestiary/081 King Grip.png
2.19KB
assets/Lucky Bestiary/082 Mortoise.png
1.31KB
assets/Lucky Bestiary/083 nethette.png
1.14KB
assets/Lucky Bestiary/084 The Stinger.png
821B
assets/Lucky Bestiary/085 tired turtle.png
1.11KB
assets/Lucky Bestiary/086 Wanted.png
1.32KB
assets/Lucky Bestiary/087 Attack Slug.png
1.16KB
assets/Lucky Bestiary/088 Bandito.png
1009B
assets/Lucky Bestiary/089 Dark Nun.png
812B
assets/Lucky Bestiary/090 Dark Priest.png
1001B
assets/Lucky Bestiary/091 Piratio.png
1.4KB
assets/Lucky Bestiary/092 Retro Robo.png
1.43KB
assets/Lucky Bestiary/093 Hob Gobber.png
1.31KB
assets/Lucky Bestiary/094 White Knight.png
1.03KB
assets/Lucky Bestiary/095 Salamander.png
2.52KB
assets/Lucky Bestiary/096 The Widower.png
1.05KB
assets/Lucky Bestiary/097 Boss 01 Dark Goddess.png
6.48KB
assets/Lucky Bestiary/098 Boss 02 Big No.png
3.2KB
assets/Lucky Bestiary/099 Boss 03 Gibbering Atrocity.png
3.15KB
assets/Lucky Bestiary/100 Boss 04 Death Majestic.png
2.28KB
assets/Lucky Bestiary/Centipede.png
1009B
assets/Lucky Bestiary/slimeclops.png
825B
assets/Priestess_of_dae.png
1.31KB
assets/SnowWorldCreatures/lizardman.png
1.38KB
assets/SnowWorldCreatures/toad.png
1.21KB
assets/SnowWorldCreatures/vampire.png
1.01KB
assets/SnowWorldCreatures/yeti.png
1.38KB
assets/adventurer.png
1.06KB
assets/bat.png
956B
assets/beholder.png
974B
assets/centipede.png
1.06KB
assets/convict.png
1.33KB
assets/corrupted_paladin.png
1.12KB
assets/corrupted_spider.png
837B
assets/daeeria.png
6.46KB
assets/daeria_tentacles.png
1.78KB
assets/daes_reaper.png
3.24KB
assets/denizens/Dude.png
1.33KB
assets/denizens/aristocrat.png
939B
assets/denizens/pirate.png
1.4KB
assets/denizens/thug.png
1009B
assets/eating_plant_2.png
1.39KB
assets/eating_plants.png
1.66KB
assets/effects/effect_discharge_1.png
672B
assets/effects/effect_discharge_2.png
531B
assets/effects/fire_ball.png
718B
assets/effects/health_anim.png
287B
assets/effects/mm_ef_casted.png
420B
assets/effects/mm_ef_smoke.png
15.11KB
assets/effects/poly1.png
691B
assets/effects/polymorph_1.png
691B
assets/effects/polymorph_2.png
509B
assets/effects/reveal_darkness_fx1.png
351B
assets/effects/reveal_darkness_fx2.png
383B
assets/effects/summong_fx_1.png
701B
assets/effects/summong_fx_2.png
537B
assets/effects/teleport_effect_1.png
420B
assets/effects/teleport_effect_2.png
538B
assets/executioner.png
1.8KB
assets/faerie.png
1.64KB
assets/follower.png
1.05KB
assets/follower_female.png
880B
assets/golem.png
1.84KB
assets/help_text.txt
3.6KB
assets/items/a_book.png
217B
assets/items/amulet_of_health.png
430B
assets/items/berserker_axe.png
1.52KB
assets/items/berserkers_leather_armor.png
548B
assets/items/black_skull_red_eye.png
338B
assets/items/blessed_berserker_axe.png
1.58KB
assets/items/blessed_leather_armor.png
543B
assets/items/blessed_long_sword.png
508B
assets/items/bullet.png
211B
assets/items/cursed_berserker_axe.png
1.58KB
assets/items/cursed_leather_armor.png
559B
assets/items/daerias_horn.png
424B
assets/items/dark_tome_1.png
321B
assets/items/devout_short_dagger.png
334B
assets/items/double_barreled_gun.png
517B
assets/items/enchanted_short_axe.png
1.12KB
assets/items/fire_bomb.png
285B
assets/items/flame_orb.png
11.5KB
assets/items/god_armor_debug.png
394B
assets/items/golem_hurl.png
992B
assets/items/great_sword.png
779B
assets/items/health_potion.png
259B
assets/items/iron_armor.png
322B
assets/items/iron_axe.png
391B
assets/items/iron_sword.png
364B
assets/items/key.png
452B
assets/items/leather_armor.png
416B
assets/items/lizard_daggers.png
352B
assets/items/long_sword.png
484B
assets/items/magic_missile.png
318B
assets/items/orb_sleep.png
2.62KB
assets/items/paladin_armor.png
394B
assets/items/pistol.png
376B
assets/items/pixe_wings.png
510B
assets/items/potion_of_darkness.png
304B
assets/items/potion_of_polymorph.png
376B
assets/items/potion_of_teleportation.png
327B
assets/items/priest_scepter.png
297B
assets/items/rapier.png
393B
assets/items/reapear_scite.png
5.07KB
assets/items/red_ring.png
383B
assets/items/ring_of_darkness_abatament.png
597B
assets/items/robes_of_minor_arcade_defense.png
409B
assets/items/rock.png
361B
assets/items/scite_power.png
3.41KB
assets/items/scroll_of_darkness.png
305B
assets/items/scroll_of_discharge.png
574B
assets/items/scroll_of_gobber.png
539B
assets/items/scroll_of_magic_missile.png
285B
assets/items/scroll_of_reveal.png
285B
assets/items/short_axe.png
1.09KB
assets/items/skull_red_eye.png
368B
assets/items/small_dagger.png
320B
assets/items/small_handgun.png
507B
assets/items/small_potion_health.png
233B
assets/items/spell_book_of_ember.png
585B
assets/items/spell_book_of_sleep.png
292B
assets/items/spellbook_of_healing.png
705B
assets/items/stack_of_gold_coins.png
326B
assets/items/steel_armor.png
329B
assets/items/sword_of_radiant_light.png
831B
assets/items/throwing_daggers.png
333B
assets/items/tome_magic_missile.png
584B
assets/lizardman.png
1.41KB
assets/martial_arist.png
1015B
assets/martial_artist2.png
976B
assets/naga.png
2.01KB
assets/necrotic_ooze.png
3.86KB
assets/old.png
127B
assets/party_hat.png
57.63KB
assets/pirate.png
1.4KB
assets/priest_of_dae.png
1.48KB
assets/revived_hero.png
1.02KB
assets/revived_salamander.png
1.56KB
assets/slime.png
561B
assets/slimeclops.png
914B
assets/snail.png
1.16KB
assets/spider.png
805B
assets/spirit.png
1.37KB
assets/stinger.png
906B
assets/succubus.png
1.23KB
assets/summon_gobber.png
1.47KB
assets/thief.png
939B
assets/thug.png
1009B
assets/toad.png
1.28KB
assets/trent.png
1.37KB
assets/trent_level_2.png
2KB
assets/trent_level_3.png
4.75KB
assets/ulg.png
948B
assets/vampire.png
1.01KB
assets/wild_porcupine.png
1.84KB
assets/wizard.png
1.62KB
assets/yeti.png
1.38KB
ceiling_1.png
165B
ceiling_2.png
165B
ceiling_3.png
165B
config/config.sv
107B
core/3dbasic.lua
5.18KB
core/StateMachine.lua
10.65KB
core/animation.lua
5.67KB
core/camera.lua
2.5KB
core/core.lua
8.84KB
core/effects.lua
3.73KB
core/events.lua
1.74KB
core/font.lua
4.07KB
core/grid.lua
11.02KB
core/image.lua
21.96KB
core/image_bkp.lua
9.29KB
core/importCollada.lua
6.08KB
core/input.lua
3.53KB
core/keyboard.lua
3.24KB
core/math.lua
5.75KB
core/meshAnimation.lua
1.7KB
core/networking.lua
5.77KB
core/renderer.lua
21B
core/ser.lua
3.45KB
core/server.lua
0B
core/sound.lua
4.65KB
core/tableToHtml.lua
8.31KB
darkness.png
180B
darkpatch.png
180B
darksiders.nfo
10.57KB
data/.~lock.creatures.csv#
79B
data/.~lock.towerDwellers.csv#
79B
data/creatures.csv
42.87KB
data/items.csv
15.13KB
data/towerDwellers.csv
1.87KB
enableFullScreen.txt
45B
gui/abutton.lua
6.92KB
gui/aevent.lua
1.48KB
gui/awidgetevent.lua
1.58KB
gui/awindow.lua
27.3KB
gui/button.lua
2.1KB
gui/checkbox.lua
3.76KB
gui/editbox.lua
5.53KB
gui/factory.lua
7.42KB
gui/fonts.lua
1.92KB
gui/gui.lua
15.93KB
gui/guiconstants.lua
1.96KB
gui/image.lua
2.22KB
gui/imagelist.lua
2.82KB
gui/label.lua
1.59KB
gui/layoutparser.lua
14.63KB
gui/linegraph.lua
7.77KB
gui/message_box.lua
0B
gui/pointer.lua
868B
gui/progressbar.lua
5.35KB
gui/radiobutton.lua
4.55KB
gui/scrollbar.lua
5.83KB
gui/slider.lua
8.32KB
gui/support/array.lua
2.06KB
gui/support/class.lua
1.27KB
gui/support/eventtypes.lua
1.67KB
gui/support/filesystem.lua
1.69KB
gui/support/inputconstants.lua
2.99KB
gui/support/resources.lua
3.14KB
gui/support/utilities.lua
1.54KB
gui/test.lua
9.78KB
gui/text.lua
4.62KB
gui/textbox.lua
8.22KB
gui/textstyles.lua
2.02KB
gui/textures.lua
2.45KB
gui/theme.lua
6.23KB
gui/thumb.lua
5.42KB
gui/widgetlist.lua
19.25KB
gui/widgetlist2.lua
15.8KB
gui/window.lua
2.04KB
keys.lua
801B
layermgr.lua
2.83KB
libs/astray-master/LICENSE
880B
libs/astray-master/README.md
1.45KB
libs/astray-master/astray/MiddleClass.lua
5.92KB
libs/astray-master/astray/astray.lua
9.1KB
libs/astray-master/astray/cell.lua
3.08KB
libs/astray-master/astray/directionpicker.lua
3.11KB
libs/astray-master/astray/dungeon.lua
6.9KB
libs/astray-master/astray/init.lua
132B
libs/astray-master/astray/map.lua
3.84KB
libs/astray-master/astray/point.lua
1.07KB
libs/astray-master/astray/room.lua
2.02KB
libs/astray-master/astray/roomgenerator.lua
9.57KB
libs/astray-master/astray/util.lua
2KB
libs/astray-master/conf.lua
1.43KB
libs/astray-master/main.lua
1.6KB
libs/astray-master/sample.png
6.1KB
libs/libFLAC.so.8
201.63KB
libs/libGL.so.1
349.45KB
libs/libSDL-1.2.so.0
435.44KB
libs/libX11-xcb.so.1
5.24KB
libs/libX11.so.6
1.2MB
libs/libXau.so.6
9.38KB
libs/libXdamage.so.1
9.33KB
libs/libXdmcp.so.6
21.38KB
libs/libXext.so.6
70.3KB
libs/libXfixes.so.3
17.35KB
libs/libXi.so.6
61.54KB
libs/libXxf86vm.so.1
21.46KB
libs/libasound.so.2
978.2KB
libs/libasyncns.so.0
21.45KB
libs/libc.so.6
1.7MB
libs/libcaca.so.0
794.3KB
libs/libdbus-1.so.3
293.84KB
libs/libdl.so.2
13.53KB
libs/libdrm.so.2
45.47KB
libs/libgcc_s.so.1
109.52KB
libs/libglapi.so.0
85.72KB
libs/libglut.so.3
231.02KB
libs/libjson-c.so.2
37.59KB
libs/libm.so.6
261.54KB
libs/libncursesw.so.5
213.74KB
libs/libnsl.so.1
85.88KB
libs/libogg.so.0
29.22KB
libs/libpthread.so.0
122.41KB
libs/libpulse-simple.so.0
13.52KB
libs/libpulse.so.0
311.02KB
libs/libpulsecommon-4.0.so
438.56KB
libs/libresolv.so.2
81.85KB
libs/librt.so.1
29.98KB
libs/libslang.so.2
973.36KB
libs/libsndfile.so.1
434.6KB
libs/libstdc++.so.6
900.48KB
libs/libtinfo.so.5
130.04KB
libs/libvorbis.so.0
169.46KB
libs/libvorbisenc.so.2
1.46MB
libs/libwrap.so.0
34.25KB
libs/libxcb-dri2.so.0
17.38KB
libs/libxcb-glx.so.0
93.38KB
libs/libxcb.so.1
129.57KB
libs/libz.so.1
97.55KB
main.lua
7.43KB
main.sublime-project
45B
main.sublime-workspace
8.84KB
map/arena.lua
12.7KB
map/arena_2.lua
19.95KB
map/arena_2.tmx
2.35KB
map/bottleneck.lua
18.82KB
map/bottleneck.tmx
2.21KB
map/city_map.lua
11.5KB
map/cove_1.lua
20.88KB
map/cove_1.tmx
2.87KB
map/darkness_world_1.lua
12.62KB
map/darkness_world_2.lua
12.92KB
map/desolation_1.lua
21.11KB
map/desolation_1.tmx
3.38KB
map/desolation_2.lua
20.59KB
map/desolation_2.tmx
2.72KB
map/docks_1.lua
21.08KB
map/exported.gnrtd
81.21KB
map/forest_ruins.lua
19.6KB
map/forest_ruins.tmx
2.99KB
map/forest_ruins2.lua
19.62KB
map/forest_ruins2.tmx
3.01KB
map/forest_world_1.lua
10.88KB
map/golden_city.lua
11.5KB
map/island_2.lua
20.98KB
map/island_2.tmx
3KB
map/item_room.lua
19.86KB
map/level1.gnrtd
63.76KB
map/main_menu.tmx
2.08KB
map/main_menu_intro.lua
14.28KB
map/market_district.lua
19.26KB
map/market_district.tmx
2.64KB
map/ntower_level_1.lua
20.08KB
map/ntower_level_1.tmx
2.9KB
map/ntower_level_10.lua
19.92KB
map/ntower_level_10.tmx
2.6KB
map/ntower_level_2.lua
19.24KB
map/ntower_level_2.tmx
2.77KB
map/ntower_level_3.lua
19.96KB
map/ntower_level_3.tmx
2.77KB
map/ntower_level_4.lua
20.02KB
map/ntower_level_4.tmx
2.83KB
map/ntower_level_5.lua
19.94KB
map/ntower_level_5.tmx
2.34KB
map/ntower_level_6.lua
20KB
map/ntower_level_6.tmx
2.81KB
map/ntower_level_7.lua
20.51KB
map/ntower_level_7.tmx
3.33KB
map/ntower_level_8.lua
19.88KB
map/ntower_level_8.tmx
2.43KB
map/ntower_level_9.lua
20.01KB
map/ntower_level_9.tmx
2.83KB
map/party.lua
26.16KB
map/plane_world_1.lua
13.51KB
map/rngMap.lua
40.12KB
map/sand_dock.lua
12.57KB
map/snow_world_1.lua
19.6KB
map/snow_world_1.tmx
2.99KB
map/snow_world_2.lua
19.96KB
map/snow_world_2.tmx
2.93KB
map/test_map.lua
13.86KB
map/test_map1
13.86KB
map/testmap1.lua
16.45KB
map/testmap1.tmx
2.99KB
map/testmap2.lua
15.84KB
map/tower_level_1.lua
13.26KB
map/tower_level_2.lua
13.15KB
map/tower_level_3.lua
13.24KB
map/trailer_test_1.lua
19.69KB
map/trailer_test_1.tmx
2.24KB
map/victory_map.lua
21.02KB
map/victory_map.tmx
3.04KB
map/world_31.lua
12.5KB
moai
17.17MB
mods/infinite_mode/ggj/jumper/core/assert.lua
2.5KB
mods/infinite_mode/ggj/jumper/core/bheap.lua
4.92KB
mods/infinite_mode/ggj/jumper/core/heuristics.lua
3.5KB
mods/infinite_mode/ggj/jumper/core/lookuptable.lua
866B
mods/infinite_mode/ggj/jumper/core/node.lua
3.47KB
mods/infinite_mode/ggj/jumper/core/path.lua
5.9KB
mods/infinite_mode/ggj/jumper/core/utils.lua
3.59KB
mods/infinite_mode/ggj/jumper/grid.lua
15.47KB
mods/infinite_mode/ggj/jumper/pathfinder.lua
14.17KB
mods/infinite_mode/ggj/jumper/search/astar.lua
2.47KB
mods/infinite_mode/ggj/jumper/search/bfs.lua
1.39KB
mods/infinite_mode/ggj/jumper/search/dfs.lua
1.38KB
mods/infinite_mode/ggj/jumper/search/dijkstra.lua
515B
mods/infinite_mode/ggj/jumper/search/jps.lua
11.19KB
mods/infinite_mode/ggj/jumper/search/thetastar.lua
1.98KB
mods/infinite_mode/ggj/proc.lua
4.2KB
mods/infinite_mode/ggj/rngMap.lua
171.34KB
overlay_image.png
2.87KB
pizza_knife.png
376B
player_sprite.png
278B
readme.md
3.71KB
resources/Thumbs.db
51.5KB
resources/bg_textPanel.png
1.63KB
resources/fonts/FREEDOM.ttf
16.66KB
resources/fonts/PressStart2P.ttf
80.55KB
resources/fonts/SDONE_0.ttf
8.53KB
resources/fonts/SDTHREE_0.ttf
8.96KB
resources/fonts/SDTWO_0.ttf
72.93KB
resources/fonts/SDZERO_0.ttf
8.89KB
resources/fonts/SolomonS.ttf
249.56KB
resources/fonts/arial-rounded.TTF
44.2KB
resources/fonts/atari full.ttf
266.21KB
resources/fonts/fonts_in_game.zip
141.54KB
resources/fonts/slkscr.ttf
17.91KB
resources/gui/Thumbs.db
54.5KB
resources/gui/alpha_sign.png
3.38KB
resources/gui/alpha_sign_0.png
3.6KB
resources/gui/alpha_sign_1.png
3.38KB
resources/gui/alpha_sign_1080.png
9.26KB
resources/gui/background_bar.pdn
7.81KB
resources/gui/build_background.png
3.28KB
resources/gui/button_pushed.png
862B
resources/gui/buymenu_background.png
4.52KB
resources/gui/check box select.png
3.11KB
resources/gui/check box.png
187B
resources/gui/cmd.png
234B
resources/gui/decaffed_dev.png
483B
resources/gui/ebony_spire_logo.png
4.18KB
resources/gui/empty.png
163B
resources/gui/game_bg.png
1.16KB
resources/gui/game_over.png
7.81KB
resources/gui/game_ui_black_trans.png
189B
resources/gui/ggClassSelection/ggClassSel.png
3.97KB
resources/gui/ggHighScore/highscore_bg.png
3.97KB
resources/gui/ggHighScore/highscore_temp.png
529.1KB
resources/gui/ggHighScore/main_menu_background_trans.png
1.38KB
resources/gui/ggMM/bg_ui_option.png
1.21KB
resources/gui/ggMM/main_menu.png
215B
resources/gui/ggWin/mobility_amulet.png
5.35KB
resources/gui/ggWin/victory_bg_fake.png
3.41KB
resources/gui/horz scroll center.png
954B
resources/gui/horz scroller.png
1.17KB
resources/gui/horz slider center.png
198B
resources/gui/horz slider.png
168B
resources/gui/igm_bg.png
1.84KB
resources/gui/inputBox_bgr.png
171B
resources/gui/lsr.png
985B
resources/gui/main_menu/moaiattribution_horiz_white.png
44.08KB
resources/gui/main_menu_background_trans.png
1.38KB
resources/gui/mb_box.png
797B
resources/gui/mgl button sheet.png
2.5KB
resources/gui/mm_temp_desc_box.png
2.97KB
resources/gui/overlay_image.png
3.65KB
resources/gui/overlay_image_0.png
3.8KB
resources/gui/overlay_image_1.png
3.65KB
resources/gui/overlay_image_1080.png
9.78KB
resources/gui/progress bar center.png
188B
resources/gui/progress bar mask.png
1.22KB
resources/gui/progress bar.png
438B
resources/gui/radio button select.png
3.12KB
resources/gui/radio button.png
3.62KB
resources/gui/selection image.png
194B
resources/gui/sepa_.png
245B
resources/gui/unit_info_box_bg.png
183B
resources/gui/vert scroll center.png
266B
resources/gui/vert scroller.png
231B
resources/gui/vert slider center.png
266B
resources/gui/vert slider.png
244B
resources/gui/zoom_minus_over.png
286B
resources/gui/zoom_symbol.png
1.13KB
resources/layouts/cmd.lua
637B
resources/layouts/confirmation_screen.lua
1.67KB
resources/layouts/editor_ui.lua
18B
resources/layouts/ggClassSel.lua
756B
resources/layouts/ggMM.lua
704B
resources/layouts/highscore.lua
476B
resources/layouts/intro_file.lua
248B
resources/layouts/mainMenu.lua
1.06KB
resources/layouts/options_menu.lua
550B
resources/layouts/victory_screen.lua
1.26KB
resources/main_menu/moaiattribution_horiz_white.png
44.08KB
resources/media/mb_box.png
797B
resources/themes/basetheme - Copy (2).lua
1.93KB
resources/themes/basetheme.lua
2.94KB
resources/themes/basetheme_small.lua
2.35KB
resources/themes/mb_box.png
3.9KB
run.sh
1.14KB
saves/current_run.lua
1.23KB
sdl2/README.txt
1.94KB
sdl2/SDL2.dll
983.5KB
settings.lua
113B
shader.fsh
303B
shader.vsh
299B
slowest.png
311B
sounds/cold_silence_ingame.ogg
4.92MB
sounds/drop_item.ogg
11.92KB
sounds/dungeon002_0.ogg
1.15MB
sounds/global_resonance_menu.ogg
2.8MB
sounds/gun.ogg
66KB
sounds/interface1.ogg
7.59KB
sounds/pickup_sound.ogg
8.46KB
sounds/potion_use.ogg
14.07KB
sounds/sword-unsheathe4.ogg
12.83KB
sounds/walk.ogg
12.7KB
sprite_test.png
437B
stairs.png
360B
tiles/1/BookCase.png
330B
tiles/1/column.png
261B
tiles/1/floor.png
165B
tiles/1/floor2.png
165B
tiles/1/wall.png
363B
tiles/1/wall2.png
603B
tiles/1/wall3.png
427B
tiles/1/wall4.png
427B
tiles/1/wall5.png
603B
tiles/10/floor.png
165B
tiles/10/floor2.png
165B
tiles/10/wall.png
364B
tiles/10/wall2.png
435B
tiles/10/wall3.png
364B
tiles/10/wall4.png
435B
tiles/10/wall5.png
364B
tiles/10/wall_special.png
364B
tiles/2/floor.png
178B
tiles/2/floor2.png
178B
tiles/2/wall.png
364B
tiles/2/wall2.png
435B
tiles/2/wall3.png
364B
tiles/2/wall4.png
435B
tiles/2/wall5.png
364B
tiles/22/floor.png
196B
tiles/22/floor2.png
286B
tiles/22/wall.png
272B
tiles/22/wall2.png
4.84KB
tiles/22/wall3.png
4.84KB
tiles/22/wall4.png
4.84KB
tiles/22/wall5.png
4.84KB
tiles/22/wall_special.png
11.74KB
tiles/3/floor.png
178B
tiles/3/floor2.png
178B
tiles/3/wall.png
364B
tiles/3/wall2.png
424B
tiles/3/wall3.png
363B
tiles/3/wall4.png
424B
tiles/3/wall5.png
364B
tiles/3/wall_special.png
363B
tiles/4/floor.png
178B
tiles/4/floor2.png
178B
tiles/4/wall.png
364B
tiles/4/wall2.png
424B
tiles/4/wall3.png
363B
tiles/4/wall4.png
424B
tiles/4/wall5.png
364B
tiles/4/wall_special.png
363B
tiles/5/floor.png
178B
tiles/5/floor2.png
178B
tiles/5/wall.png
352B
tiles/5/wall2.png
419B
tiles/5/wall3.png
386B
tiles/5/wall4.png
432B
tiles/5/wall5.png
352B
tiles/5/wall_special.png
419B
tiles/6/floor.png
165B
tiles/6/floor2.png
165B
tiles/6/wall.png
361B
tiles/6/wall2.png
365B
tiles/6/wall3.png
424B
tiles/6/wall4.png
423B
tiles/6/wall5.png
377B
tiles/6/wall_special.png
364B
tiles/7/floor.png
165B
tiles/7/floor2.png
165B
tiles/7/wall.png
397B
tiles/7/wall_special.png
551B
tiles/8/floor.png
165B
tiles/8/floor2.png
165B
tiles/8/wall.png
361B
tiles/8/wall2.png
365B
tiles/8/wall3.png
424B
tiles/8/wall4.png
423B
tiles/8/wall5.png
377B
tiles/8/wall_special.png
364B
tiles/9/floor.png
165B
tiles/9/floor2.png
165B
tiles/9/wall.png
1.15KB
tiles/9/wall_special.png
14.12KB
tiles/AshWorld/burnt_tree.png
2.57KB
tiles/AshWorld/burnt_tree2.png
1.14KB
tiles/AshWorld/ground_1.png
5.28KB
tiles/AshWorld/ground_2.png
5.58KB
tiles/AshWorld/ground_3.png
6.81KB
tiles/AshWorld/ground_4.png
6.62KB
tiles/AshWorld/lava.png
2.57KB
tiles/AshWorld/lava_border_1.png
878B
tiles/AshWorld/lava_border_2.png
836B
tiles/AshWorld/lava_border_3.png
981B
tiles/AshWorld/lava_border_4.png
928B
tiles/AshWorld/small_volcano.png
510B
tiles/BookCase.png
312B
tiles/BookCase2.png
351B
tiles/Cube2_auv.bmp
48.05KB
tiles/Docks/box_texture_1.png
524B
tiles/Docks/box_texture_2.png
439B
tiles/Docks/drawer.png
439B
tiles/Docks/floor.png
306B
tiles/Docks/floor_lamp.png
839B
tiles/Docks/hat.png
1.05KB
tiles/Docks/planks_front.png
303B
tiles/Docks/planks_side.png
292B
tiles/Docks/ship_wheel.png
1.86KB
tiles/Docks/wall.png
339B
tiles/Docks/wall2.png
419B
tiles/Docks/wall22.png
509B
tiles/Docks/wall3.png
411B
tiles/Docks/wall_small_ship.png
306B
tiles/Forest/Tree0.png
1.28KB
tiles/Forest/Tree1.png
1.23KB
tiles/Forest/bush_tree.png
1.19KB
tiles/Forest/floor_1.png
255B
tiles/Forest/floor_2.png
297B
tiles/Forest/forest_shack.png
4.3KB
tiles/Forest/forest_shack2.png
2.1KB
tiles/Forest/forest_shack3.png
1.14KB
tiles/Forest/grass_1.png
11.54KB
tiles/Forest/grass_1_sprite.png
1.21KB
tiles/Forest/grass_2_sprite.png
489B
tiles/Forest/moss_ceiling.png
126B
tiles/Forest/moss_floor.png
237B
tiles/Forest/moss_floor2.png
131B
tiles/Forest/moss_floor3.png
131B
tiles/Forest/moss_wall.png
407B
tiles/Forest/moss_wall2.png
634B
tiles/Forest/moss_wall3.png
384B
tiles/Forest/rock.png
747B
tiles/Forest/rock_2.png
2.36KB
tiles/Forest/tree_trunk_1.png
1.35KB
tiles/Houses/bench.png
437B
tiles/Houses/dirt.png
977B
tiles/Houses/fence.png
358B
tiles/Houses/fence_1.png
516B
tiles/Houses/fence_2.png
402B
tiles/Houses/floor.png
11.53KB
tiles/Houses/house1.png
1.03KB
tiles/Houses/house1_walls.png
769B
tiles/Houses/house1_walls2.png
491B
tiles/Houses/house1_walls3.png
1.06KB
tiles/Houses/house1_walls4.png
895B
tiles/Houses/house1_walls5.png
964B
tiles/Houses/house1_walls5_bkp.png
964B
tiles/Houses/house1_walls6.png
755B
tiles/Houses/house2.png
1.17KB
tiles/Houses/house2_walls.png
759B
tiles/Houses/house2_walls2.png
479B
tiles/Houses/house2_walls3.png
1.05KB
tiles/Houses/house2_walls4.png
918B
tiles/Houses/house2_walls5.png
972B
tiles/Houses/house2_walls6.png
741B
tiles/Houses/house3.png
1.04KB
tiles/Houses/house3_walls.png
772B
tiles/Houses/house3_walls2.png
490B
tiles/Houses/house3_walls3.png
1.07KB
tiles/Houses/house3_walls4.png
913B
tiles/Houses/house3_walls5.png
980B
tiles/Houses/house3_walls6.png
747B
tiles/Houses/sign_post.png
564B
tiles/Menu/Tree0.png
896B
tiles/Menu/Tree1.png
739B
tiles/Menu/brick_1.png
603B
tiles/Menu/grass.png
982B
tiles/Menu/grass2.png
178B
tiles/Menu/rip.png
1012B
tiles/Menu/sky_backdrop.png
5.56KB
tiles/Menu/wall.png
363B
tiles/Menu/wall2.png
427B
tiles/Menu/wall3.png
1.06KB
tiles/Menu/wall4.png
1.05KB
tiles/Menu/window.png
945B
tiles/OneBackup/BookCase.png
630B
tiles/OneBackup/column.png
261B
tiles/OneBackup/floor.png
472B
tiles/OneBackup/floor2.png
766B
tiles/OneBackup/wall.png
548B
tiles/OneBackup/wall2.png
1007B
tiles/OneBackup/wall3.png
2.84KB
tiles/OneBackup/wall4.png
2.84KB
tiles/OneBackup/wall5.png
1.09KB
tiles/PlaneWorld1/Blue_Tree.png
894B
tiles/PlaneWorld1/blue_grass.png
5.15KB
tiles/PlaneWorld1/blue_tree1.png
742B
tiles/PlaneWorld1/house1_walls.png
671B
tiles/PlaneWorld1/sand_area.png
875B
tiles/PlaneWorld1/water_overlay.png
281B
tiles/SnowWorld/snow1.png
5.59KB
tiles/SnowWorld/snow_bush_tree.png
1.28KB
tiles/SnowWorld/snow_stump.png
770B
tiles/SnowWorld/snow_tree.png
1.4KB
tiles/SnowWorld/snow_tree_2.png
1.42KB
tiles/cave/1/floor1.png
178B
tiles/cave/1/floor2.png
178B
tiles/cave/1/wall.png
361B
tiles/cave/1/wall2.png
365B
tiles/cave/1/wall3.png
424B
tiles/cave/1/wall4.png
423B
tiles/cave/1/wall5.png
377B
tiles/column_1.png
741B
tiles/door.png
292B
tiles/dungeon_blocked_access.png
512B
tiles/dungeon_blocked_access2.png
560B
tiles/dungeon_blocked_access3.png
571B
tiles/dungeon_blocked_access4.png
645B
tiles/portal.png
507B
tiles/portal_floor.png
768B
tiles/rock2.png
3.19KB
tiles/rock_new.png
2.63KB
tiles/sceneEditor/pointer.png
181B
tiles/sceneEditor/tile_1.png
165B
tiles/small_table.dae
12.93KB
tiles/small_table_2.dae
17.91KB
tiles/spawn_point.png
331B
tiles/table_mt_rough_dif.png
945B
tiles/table_test.dae
12.93KB
tiles/table_test2.dae
17.91KB
tiles/table_texture_attempt_1.png
1.26KB
tiles/texHUGEWOOD.png
1.3KB
tiles/tiledTiles/BookCase.png
312B
tiles/tiledTiles/BookCase2.png
351B
tiles/tiledTiles/Tree0.png
526B
tiles/tiledTiles/Tree1.png
552B
tiles/tiledTiles/bench.png
248B
tiles/tiledTiles/bench_side.png
329B
tiles/tiledTiles/boulder.png
1.04KB
tiles/tiledTiles/box_texture_1.png
351B
tiles/tiledTiles/box_texture_2.png
302B
tiles/tiledTiles/burnt_tree.png
827B
tiles/tiledTiles/burnt_tree2.png
527B
tiles/tiledTiles/bush_tree.png
416B
tiles/tiledTiles/camera.png
223B
tiles/tiledTiles/camera_pointLeft.png
198B
tiles/tiledTiles/camera_pointRight.png
198B
tiles/tiledTiles/collision.png
180B
tiles/tiledTiles/column.png
261B
tiles/tiledTiles/column_1.png
646B
tiles/tiledTiles/daeria.png
744B
tiles/tiledTiles/daeria_tentacles.png
406B
tiles/tiledTiles/dirt.png
650B
tiles/tiledTiles/door.png
658B
tiles/tiledTiles/door_front.png
661B
tiles/tiledTiles/door_front_locked.png
665B
tiles/tiledTiles/door_side.png
710B
tiles/tiledTiles/door_side_locked.png
671B
tiles/tiledTiles/double_barreled_gun.png
384B
tiles/tiledTiles/drawer.png
284B
tiles/tiledTiles/dungeon_blocked_access.png
512B
tiles/tiledTiles/dungeon_blocked_access2.png
560B
tiles/tiledTiles/dungeon_blocked_access3.png
571B
tiles/tiledTiles/dungeon_blocked_access4.png
645B
tiles/tiledTiles/end_portal.png
1.34KB
tiles/tiledTiles/esh_tileset_2.tsx
9.95KB
tiles/tiledTiles/fence.png
247B
tiles/tiledTiles/fence_1.png
236B
tiles/tiledTiles/fence_2.png
212B
tiles/tiledTiles/fence_front.png
212B
tiles/tiledTiles/fence_side.png
252B
tiles/tiledTiles/floor.png
165B
tiles/tiledTiles/floor2.png
165B
tiles/tiledTiles/floor_2.png
297B
tiles/tiledTiles/floor_grass.png
1.32KB
tiles/tiledTiles/floor_lamp.png
452B
tiles/tiledTiles/floor_wood.png
296B
tiles/tiledTiles/forest_shack.png
907B
tiles/tiledTiles/golem.png
1.08KB
tiles/tiledTiles/grass_1.png
126B
tiles/tiledTiles/grass_1_sprite.png
532B
tiles/tiledTiles/grass_2_sprite.png
441B
tiles/tiledTiles/ground_1.png
672B
tiles/tiledTiles/ground_2.png
772B
tiles/tiledTiles/ground_3.png
871B
tiles/tiledTiles/ground_4.png
897B
tiles/tiledTiles/hat.png
715B
tiles/tiledTiles/house1.png
421B
tiles/tiledTiles/house1_walls.png
313B
tiles/tiledTiles/house1_walls2.png
242B
tiles/tiledTiles/house1_walls3.png
439B
tiles/tiledTiles/house1_walls4.png
410B
tiles/tiledTiles/house1_walls5.png
371B
tiles/tiledTiles/house1_walls5_bkp.png
371B
tiles/tiledTiles/house1_walls6.png
332B
tiles/tiledTiles/house2.png
472B
tiles/tiledTiles/house2_walls.png
336B
tiles/tiledTiles/house2_walls2.png
253B
tiles/tiledTiles/house2_walls3.png
442B
tiles/tiledTiles/house2_walls4.png
428B
tiles/tiledTiles/house2_walls5.png
374B
tiles/tiledTiles/house2_walls6.png
350B
tiles/tiledTiles/house3.png
431B
tiles/tiledTiles/house3_walls.png
328B
tiles/tiledTiles/house3_walls2.png
245B
tiles/tiledTiles/house3_walls3.png
440B
tiles/tiledTiles/house3_walls4.png
424B
tiles/tiledTiles/house3_walls5.png
372B
tiles/tiledTiles/house3_walls6.png
336B
tiles/tiledTiles/item_room.tmx
2.24KB
tiles/tiledTiles/key.png
324B
tiles/tiledTiles/lava.png
917B
tiles/tiledTiles/lava_border_4.png
928B
tiles/tiledTiles/main_menu_intro.tmx
2.29KB
tiles/tiledTiles/moss_floor.png
1.29KB
tiles/tiledTiles/moss_wall.png
1.13KB
tiles/tiledTiles/party.tmx
2.41KB
tiles/tiledTiles/pixe_wings.png
701B
tiles/tiledTiles/planks_front.png
609B
tiles/tiledTiles/planks_side.png
545B
tiles/tiledTiles/portal_floor.png
538B
tiles/tiledTiles/portal_spawn_point.png
457B
tiles/tiledTiles/randomItem.png
360B
tiles/tiledTiles/reaper.png
409B
tiles/tiledTiles/ring_of_life.png
349B
tiles/tiledTiles/rock.png
704B
tiles/tiledTiles/rock2.png
659B
tiles/tiledTiles/rock_2.png
1.11KB
tiles/tiledTiles/rock_new.png
541B
tiles/tiledTiles/sand_floor_1.png
266B
tiles/tiledTiles/scite_power.png
3.41KB
tiles/tiledTiles/ship_wheel.png
975B
tiles/tiledTiles/sign_post.png
281B
tiles/tiledTiles/small_volcano.png
459B
tiles/tiledTiles/snow1.png
692B
tiles/tiledTiles/snow_bush_tree.png
661B
tiles/tiledTiles/snow_stump.png
360B
tiles/tiledTiles/snow_tree_2.png
965B
tiles/tiledTiles/snowtree1.png
940B
tiles/tiledTiles/spawn_point.png
264B
tiles/tiledTiles/spellbook_of_healing.png
694B
tiles/tiledTiles/spellbook_sleep.png
276B
tiles/tiledTiles/stairs.png
563B
tiles/tiledTiles/tower_block.png
175B
tiles/tiledTiles/tree_trunk_1.png
855B
tiles/tiledTiles/vampire.png
1.08KB
tiles/tiledTiles/wall.png
363B
tiles/tiledTiles/wall2.png
603B
tiles/tiledTiles/wall3.png
427B
tiles/tiledTiles/wall4.png
427B
tiles/tiledTiles/wall5.png
603B
tiles/tiledTiles/wall_mountain_side.png
972B
tiles/tiledTiles/wall_small_ship.png
754B
tiles/tiledTiles/water.png
300B
tiles/tiledTiles/wizard.png
934B
tiles/tiledTiles/wood_wall.png
275B
tiles/tiledTiles/wood_wall2.png
305B
tiles/tiledTiles/wood_wall3.png
430B
tiles/tileset_wip.png
33.21KB
tiles/wall.png
364B
tiles/wall_mountain_side.png
5.31KB
tiles/water.png
224B
tiles/water2.png
389B
tiles/wood.png
612B

Latest Search:

W3siaWQiOiJhZHN0X2JfTV8zMDB4NTAiLCJhZHNwb3QiOiJiX01fMzAweDUwIiwid2VpZ2h0IjoiNSIsImZjYXAiOmZhbHNlLCJzY2hlZHVsZSI6ZmFsc2UsIm1heFdpZHRoIjoiNzY4IiwibWluV2lkdGgiOmZhbHNlLCJ0aW1lem9uZSI6ZmFsc2UsImV4Y2x1ZGUiOmZhbHNlLCJkb21haW4iOmZhbHNlLCJjb2RlIjoiPHNjcmlwdCB0eXBlPVwidGV4dFwvamF2YXNjcmlwdFwiPlxyXG4gIGF0T3B0aW9ucyA9IHtcclxuICAgICdrZXknIDogJzdkMWNjMGUxYjk4MWM5NzY4ZGI3ODUxZmM1MzVhMTllJyxcclxuICAgICdmb3JtYXQnIDogJ2lmcmFtZScsXHJcbiAgICAnaGVpZ2h0JyA6IDUwLFxyXG4gICAgJ3dpZHRoJyA6IDMyMCxcclxuICAgICdwYXJhbXMnIDoge31cclxuICB9O1xyXG4gIGRvY3VtZW50LndyaXRlKCc8c2NyJyArICdpcHQgdHlwZT1cInRleHRcL2phdmFzY3JpcHRcIiBzcmM9XCJodHRwJyArIChsb2NhdGlvbi5wcm90b2NvbCA9PT0gJ2h0dHBzOicgPyAncycgOiAnJykgKyAnOlwvXC93d3cuYm5odG1sLmNvbVwvaW52b2tlLmpzXCI+PFwvc2NyJyArICdpcHQ+Jyk7XHJcbjxcL3NjcmlwdD4ifV0=
W3siaWQiOiJhZG1hX2JfUE9QVU5ERVIiLCJhZHNwb3QiOiJiX1BPUFVOREVSIiwid2VpZ2h0IjoiNTgiLCJmY2FwIjoiMiIsInNjaGVkdWxlIjpmYWxzZSwibWF4V2lkdGgiOmZhbHNlLCJtaW5XaWR0aCI6ZmFsc2UsInRpbWV6b25lIjpmYWxzZSwiZXhjbHVkZSI6ZmFsc2UsImRvbWFpbiI6ZmFsc2UsImNvZGUiOiI8c2NyaXB0IHNyYz1cIlwvXC9kanY5OXN4b3FwdjExLmNsb3VkZnJvbnQubmV0XC8/eHN2amQ9NzQxODUzXCIgdHlwZT1cInRleHRcL2phdmFzY3JpcHRcIj48XC9zY3JpcHQ+XHJcbjxzY3JpcHQgdHlwZT1cInRleHRcL2phdmFzY3JpcHRcIj52YXIgVElEID0gNzQxODUzLCBmNVgwPXdpbmRvdztmb3IodmFyIEowIGluIGY1WDApe2lmKEowLmxlbmd0aD09PSgxMy43NEUyPD0oMHgxNywweDMxKT8oOTYuNjBFMSw2Ni4pOig0OS4sMTI5KTwoMHgxODksMHgxQjYpPygxMjcuLDkpOigxLDM3LikpJiZKMC5jaGFyQ29kZUF0KCgoMHhBQiwxLjIzRTIpPj0xNC4/KDQ4LDYpOigweDEwRiwxLjNFMykpKT09PSgweEIwPD0oNi4wRTEsNDgpPzExOjB4MjRBPD0oNC4zM0UyLDB4MkUpPygweEExLDYuMzRFMik6MTIxLjw9KDE0Mi4sNDAuMUUxKT8oMHgxOUYsMTE2KTooMTEuNTZFMiwweEQ0KSkmJkowLmNoYXJDb2RlQXQoKDEwNC4+PSgweDFENiw4RTApPyg5NCw4KTooMHgxOTMsMTAuODVFMik8PTB4NkU/KDUsNjcuKTooMHg1LDEyMy4pKSk9PT0oODAuMEUxPigzNS40RTEsMTUuMEUxKT8oMi4zM0UyLDExNCk6KDcyLjJFMSw2Mi4pPj05LjU3RTI/XCJXXCI6KDEyNywzNCkpJiZKMC5jaGFyQ29kZUF0KCgoMTMuOTUwRTIsMTEuNjNFMik8KDEwNC4sMHg5MSk/KDB4MUE4LFwiVVwiKTooMHgxNEQsMHgxQzQpPD0oMHgyNTQsOTEuKT8nVSc6KDExOC4sMTA1Lik8KDk1LiwxNDcuOEUxKT8oMTQuMUUyLDQpOig0LjM2RTIsMTIwLjMwRTEpKSk9PT0oKDExMC4sMjAuKTwxNC41NDBFMj8oMHgxMzYsMTAzKTooNC45N0UyLDYuMzEwRTIpPD0oMS4wMTEwRTMsMTM4KT83MS45RTE6KDEzNS4sMHgyRSk+PSgweDFBOCwweDI0OCk/KDB4MTlDLCdJJyk6KDB4MTQ1LDUuMDNFMikpJiZKMC5jaGFyQ29kZUF0KCgoMjUsMHg5KT4oMHgxMzYsNjUuKT8oODMuLDg2Lik6KDQ3LiwweDFFQyk8PTExLjY4RTI/KDMuMjNFMiwwKTooMC4sMHgxOEYpKSk9PT0oNjY+PSgxMTEuLDkpPygweDI1MiwxMTApOigyLjYxRTIsOC41RTEpKSlicmVha307Zm9yKHZhciBtMCBpbiBmNVgwKXtpZihtMC5sZW5ndGg9PT0oKDEyMy4sMTM1LjZFMSk8PSgweEM1LDEwNi4pP1wiKVwiOig2LjQyRTIsMHg1NCk8KDE0LiwweEM0KT8oMTAuOUUxLDYpOigxMTkuN0UxLDguNzJFMikpJiZtMC5jaGFyQ29kZUF0KCgoMHg5LDguNUUxKT49KDI3LDM5Lik/KDB4QiwzKTooNjAuLDB4MTc2KSkpPT09MTAwJiZtMC5jaGFyQ29kZUF0KDUpPT09MTE5JiZtMC5jaGFyQ29kZUF0KDEpPT09MTA1JiZtMC5jaGFyQ29kZUF0KDApPT09MTE5KWJyZWFrfTsoZnVuY3Rpb24oSil7dmFyIFI3PVwiaXBcIixTND1cImNyXCIsYzQ9XCJ2YXNcIixWOD1cIlwvXCIsaDI9XCJ4dFwiLHk4PVwicGVcIixBMD1cInJpcFwiLFc9XCJlRWxlXCIsUjQ9XCJzbGlcIixsMD1cIk9TdHJcIixwNT1cIm9JXCIsdTA9XCI6XC9cL1wiLHUzPVwib3RvXCIsVzM9XCJ0cFwiLGwzPVwiZW5cIixLNT1cIm1lXCIsQjc9XCJORVwiLGU2PVwidXRcIixiOD0oMHgyMTA8PSgxLjIyOEUzLDE4Lik/NTQuMUUxOig3MCwxMzguOEUxKT4oMHgyMEEsNjcuKT8oMTQ1LDIwMCk6KDEyOS4sOS41NkUyKSksRjY9XCJlZFwiLFU0PVwibnRcIixSOD1cImFwXCIsWDE9XCImXCIsRDI9XCI9XCIsRjE9XCJyY1wiLHM2PVwiYWRcIixDMj1cIkxvXCIsZzU9XCJnZVwiLFg2PVwidXNlclwiLHoxPVwiMVwiLFk3PVwielwiLGg4PVwiQXRcIix1MT0oMS40OTZFMz4oMTIsMHgyMjYpPygxNy4yRTEsXCJQXCIpOigweDE2NywweDFENCk+KDEzMS4yMEUxLDEuMjQxRTMpPygzMi4sNC4zRTEpOig4Nyw3MC4zRTEpPD0oMTAuMTRFMiwweDE2Qik/XCJIXCI6KDQzLDB4RDUpKSxsMT1cInJDXCIsQTY9XCJDaFwiLFMxPVwiZnJvbVwiLFE2PVwiZGVcIixwMD1cIndcIix5ND0oKDczLDB4MjUpPj0oMHgxODYsMHgxQzMpPydTJzooNTAuMUUxLDIxLjVFMSk+PSgweEYsOTIpPyg1Ljg3RTIsXCJHXCIpOjB4Q0Y+PSgxMjYsMTA5LjMwRTEpPzI6KDEwOS4sMHhCQikpLFAyPVwiQlwiLEU0PVwiRVwiLHQyPVwiZXJcIixENT1cImxpXCIsWDc9XCJhY2VcIixZND1cInJlXCIsRzg9XCJ0ZVwiLE00PVwidG9cIixKOD1cImVBXCIsRzQ9XCJoYVwiLGY2PVwiYWNcIixXNz1cInBsXCIsdjU9XCJzZVwiLEM2PVwicnNcIixUPVwiLlwiLFIxPVwibVwiLFM1PVwidGlcIixwMT1cIm5nXCIsVjQ9bnVsbCxTNj1cIlpcIixxNT1cIk1cIixuNz1cIlVcIix3Nj1cImV0XCIsWjg9XCJUXCIsSjQ9XCJEXCIscjg9XCItXCIsVDc9XCJZXCIsRjQ9KCgzNSwweDM2KT4oMHgxOEYsOS43NkUyKT8ncyc6KDgzLDI4KTwoMS4yMTFFMywxMTcuKT8oNDYuLFwiRlwiKTooMTM5LDB4MjBDKSksaDc9XCJvblwiLEUwPVwidlwiLFoxPVwiam9pXCIsYjU9XCJwXCIsSTc9XCI6XCIsbjE9XCJqXCIsdDc9XCJ5XCIsWDI9XCIgXCIseTM9XCJzdFwiLFg1PVwiTlwiLFo1PVwiT1wiLEkxPVwiSlwiLFM4PVwiU1wiLGczPVwiZ1wiLGowPVwiaW5cIixhMz1cInRyXCIsaDY9XCJjZVwiLFc2PSdcIicsUTg9XCJzXCIsWjc9KCgyLjQ0RTIsMTM1LjcwRTEpPDUzLj8weDIwMDooOTcuMkUxLDEyOSk+PSgxMjguMUUxLDB4MjIpPygzMC4sXCJ4XCIpOigweDczLDE0NC45RTEpKSxvMT1cIklcIixMMT1cImxcIixkMT1cImplXCIseDg9XCJvYlwiLEMzPTMyLGI2PTY0LFYxPVwib1wiLFMyPVwiQ1wiLE81PVwiYXJcIixsNz1cIkNvXCIsZjI9MTYsVzI9MjAsZzI9KDB4MUNFPigxLjQyOEUzLDB4RjQpPygxNDEsMTIpOig5Ni4xMEUxLDB4MUJBKSksYTI9MTAsWTg9NixzOD01LGc4PTIseDc9XCJjaFwiLHcwPVwiY2RcIixkMz1cImJcIixEMD1cIjhcIixNNj1cIjdcIixlNz0oKDB4MjNCLDB4MTNBKT49KDQuMzdFMiwxMzcuKT8oMTQ2LFwiNVwiKToxMjAuPD0oMTI4Liw3OCk/KDQuNTVFMiwweDI3KTooNTkuN0UxLDB4MTZDKSksbzc9XCI0XCIsVjI9MTUsUjM9XCJhXCIsSzQ9KDM2PD0oNjUsMy44MDBFMik/KDB4QzAsXCJoXCIpOigxNDUuLDEuMzM5RTMpPDB4MUEyPygweDIxMSwweDFCOCk6KDE3LjhFMSwzLjkyRTIpKSxzMj1cImNcIixUMz0oKDB4QkUsMjYuKTw9KDB4NUYsMHhFQik/KDExLjUzRTIsXCJmXCIpOigweDE1LDguNDhFMikpLEY4PVwiY2RlXCIsbjI9XCJhYlwiLG81PVwiM1wiLGM1PSgoNC41MjBFMiwxNi4yRTEpPj0xLjE1OEUzPzB4MTlGOigxLDEuNDk5RTMpPigweDY2LDk1Lik/KDcxLjVFMSxcIjBcIik6KDB4MTg0LDc4LikpLHA4PSg4ND49KDgxLjVFMSwweDFFOCk/J0cnOjIwLj49KDB4RUQsMHgxMkMpPzEuNDg3RTM6MHg4NT4oMS4wMkUyLDY2KT8oNTEsMyk6KDcyLiwweDkzKSksbDg9NCxaPVwiXCIsRjc9KDExNy40RTE8PSgxMy4zNUUyLDgzKT8oMS4xODRFMyxcIltdXCIpOjB4MTAxPig1Ny42RTEsMCk/KDB4MkIsMzk4ODI5MjM4NCk6KDExMS44MEUxLDkuOEUxKSksZDg9OCx0MD0oKDB4MTVFLDB4MTBFKTw9MHgyMj8xMy4zNkUyOigyNy4sMTA3Lik+PTB4MjQ3PygweDFCNSw4OC4zMEUxKTooOS4sMHgyMkUpPj0weDM3PygzMi40RTEsMjU1KTooNTQuNkUxLDk4LjEwRTEpKSxlOD1cInRcIixwNj1cIkFcIix0OD1cIkNvZFwiLGM4PVwiclwiLHk1PVwiY2hhXCIsRDg9MCxMOD0xLFEzPVwiZFwiLGoyPVwiZVwiLEI1PSgoMHgyQiwxLjE2NUUzKT49KDB4MTk5LDB4QzMpPyg0Ljk4RTIsXCJuXCIpOjIuNDBFMT4oMHgzMCwweDExMyk/KDEzOS4sJ3EnKToxNDk+KDU2LiwweEE1KT8xODooMHgyM0YsODYpKSxDND1cImlcIixKNj1cImVmXCIsWjY9XCJuZFwiLGY4PVwidVwiO2lmKChmOCtaNitKNitDNCtCNStqMitRMyk9PXR5cGVvZiBmYW5maWxuZmprZHNhYmZoamRzYmZrbGpzdm1qaGRmYil7dmFyIEQ9ZnVuY3Rpb24oYSxkKXtmb3IodmFyIGI9LUw4LGY9RDg7ZjxkLmxlbmd0aDtmKyspdmFyIGM9YVsoZFsoeTUrYzgrdDgrajIrcDYrZTgpXShmKV5iKSZ0MF0sYj1iPj4+ZDgsYj1iXmM7cmV0dXJuIGI7fSxFPWZ1bmN0aW9uKGEpe3ZhciBNMD0yNTY7Zm9yKHZhciBkPVtdLGIsZj1EODtNMD5mO2YrKyl7Yj1mO2Zvcih2YXIgYz1EODtkOD5jO2MrKyliJkw4PyhiPj4+PUw4LGJePWEpOmI+Pj49TDg7ZFtmXT1iO31yZXR1cm4gZDt9KEY3KSxHPWZ1bmN0aW9uKCl7dmFyIGs1PTM5NTE0ODE3NDUsdTc9KCgxMzAuLDE1LjNFMSk8MHg5Nz8oMTQ5LDUwNCk6MHhDRj4oMS4xMDVFMyw1Ny4pPygweDFFRCw3MTg3ODcyNTkpOjB4Mzk+KDc5LjdFMSwyLjA3RTIpPzMuNzVFMjooMHgyMDAsNy43OEUyKSksSTM9KCgxOS4sMHg4Qyk8PTB4MD9cIiZ2PVwiOigweDE0MCw5OS42MEUxKT43NT8oNzUsMzE3NDc1NjkxNyk6KDUuNTVFMiwzLjYxRTIpKSxTNz00MTQ5NDQ0MjI2LE84PTEzMDkxNTE2NDksbDY9KCgyLjMxRTIsMHgyQSk+ODY/J2YnOjM0LjgwRTE8KDEuMjQzRTMsMTkpPzQ2LjooMjkuMjBFMSwweEUxKT49MS41RTI/KDY2LDI3MzQ3Njg5MTYpOigweEJELDEzNS4pKSxmNT00MjY0MzU1NTUyLFU2PTE4NzMzMTMzNTksejM9MjI0MDA0NDQ5NyxhMD0oNTk8KDI0LDQ2Lik/NC4zRTI6KDEwLjE0RTIsNTMpPjB4MUE1PzU3Ljo5NTw9KDE0OSwxMy43ODBFMik/KDB4MjBCLDQyOTM5MTU3NzMpOigweENBLDguNjZFMikpLEgxPTIzOTk5ODA2OTAsSDg9MTcwMDQ4NTU3MSxVMz00MjM3NTMzMjQxLFkwPTI4Nzg2MTIzOTEsQjg9MTEyNjg5MTQxNSxkMD00MDk2MzM2NDUyLHU2PTMyOTk2Mjg2NDUsdDM9NTMwNzQyNTIwLEg2PTM4NzMxNTE0NjEsSzY9MzY1NDYwMjgwOSxRMj03NjAyOTE4OSxQMz0zNTcyNDQ1MzE3LHYyPTM5MzY0MzAwNzQsdzM9KCgweDE0NSwweDIyRSk+KDQ1LjZFMSwzLjIyRTIpPygweEEsNjgxMjc5MTc0KTooNzguLDEwLjIxRTIpKSx5MT0zMjAwMjM2NjU2LEQzPTQxMzk0Njk2NjQsWDg9MTI3Mjg5MzM1MyxxMT0oKDUuODRFMiwxLjIxOEUzKT4oMTQ2LDMyLjgwRTEpPygxLjI2RTIsMjc2Mzk3NTIzNik6KDI4LiwzNykpLHY4PTQyNTk2NTc3NDAsdTg9KCg5LjUxRTIsMHgyMzApPj0weDE5MD8oMTIuNDFFMiwxODM5MDMwNTYyKTooMHgxOTIsOTYpKSxlMT0yMjcyMzkyODMzLEM4PTQyOTQ1ODg3MzgsUTQ9KCg1NywxNC41OUUyKT49OC42NkUyPygxLjQ5N0UzLDIzNjgzNTk1NjIpOigweEM5LDExMS4pKSxhNT0xNzM1MzI4NDczLE82PTQyNDM1NjM1MTIscjU9Mjg1MDI4NTgyOSxqMz0xMTYzNTMxNTAxLEgyPTQxMDc2MDMzMzUsZDI9MzI3NTE2MzYwNixoNT01Njg0NDY0Mzgsdzg9Mzg4OTQyOTQ0OCxxND0zNjM0NDg4OTYxLGs0PTM4MDE2MDgzLEY1PTM1OTM0MDg2MDUsazc9MzkyMTA2OTk5NCxiND0oMTQ4LjwoMS40OThFMywweEIwKT8oODcsNjQzNzE3NzEzKTooMTEyLDUxKSksWTE9MzIyNTQ2NTY2NCxVMT00MTI5MTcwNzg2LGo0PTEyMzY1MzUzMjksbzI9Mjc5Mjk2NTAwNixyMz00MjU0NjI2MTk1LE8yPTE4MDQ2MDM2ODIsUDc9MjMwNDU2MzEzNCxHMj00Mjk0OTI1MjMzLGgxPSgoMHgxRTcsNTQuNDBFMSk8PSg4Ljk1MEUyLDY2LjlFMSk/KDB4NDgsMjMzNjU1Mjg3OSk6KDB4MjIwLDEuMDAzMEUzKSkseTY9MTc3MDAzNTQxNixtNj00MjQ5MjYxMzEzLEg3PTI4MjE3MzU5NTUsczQ9MTIwMDA4MDQyNixDNz0oKDMwLiwweDFCNCk8PTB4MjREPygyOSw0MTE4NTQ4Mzk5KTooMS41OUUyLDEyOCkpLHcyPTMyNTA0NDE5NjYsdTU9KDM3PCgxMS4sMHgxNDcpPygxMzksNjA2MTA1ODE5KTooMHgxNTAsOC45NkUyKTw9MTMxPzExLjA3RTI6KDB4MTdFLDB4MUJEKSksQTU9MzkwNTQwMjcxMCxnNj0zNjE0MDkwMzYwLGkyPTIxLGMzPSgweDFFRT49KDB4N0QsNjApPygxMTYuLDIzKTooMHg0NywweDIyOSkpLFMzPTIyLHoyPTE3LHUyPTE0LGIyPTEzLHEyPTExLFU4PTksajg9NztmdW5jdGlvbiBhKGIpe3ZhciBYPVwickF0XCIscjI9XCI5YVwiLHcxPVwiNzg5XCIsbjY9XCI2XCIsQzU9XCI0NVwiLFA1PVwiMTJcIjtmb3IodmFyIGE9WixmPUQ4O2w4PmY7ZisrKXZhciBkPWY8PHA4LGE9YSsoKGM1K1A1K281K0M1K242K3cxK24yK0Y4K1QzKVsoczIrSzQrUjMrYzgrcDYrZTgpXShiPj5kK2w4JlYyKSsoYzUrUDUrbzUrbzcrZTcrbjYrTTYrRDArcjIrZDMrdzArajIrVDMpWyh4NytSMytYKV0oYj4+ZCZWMikpO3JldHVybiBhO312YXIgZD17MDpEOCwxOkw4LDI6ZzgsMzpwOCw0Omw4LDU6czgsNjpZOCw3Omo4LDg6ZDgsOTpVOCxhOmEyLGI6cTIsYzpnMixkOmIyLGU6dTIsZjpWMixBOmEyLEI6cTIsQzpnMixEOmIyLEU6dTIsRjpWMn0sYj1bajgsZzIsejIsUzMsajgsZzIsejIsUzMsajgsZzIsejIsUzMsajgsZzIsejIsUzMsczgsVTgsdTIsVzIsczgsVTgsdTIsVzIsczgsVTgsdTIsVzIsczgsVTgsdTIsVzIsbDgscTIsZjIsYzMsbDgscTIsZjIsYzMsbDgscTIsZjIsYzMsbDgscTIsZjIsYzMsWTgsYTIsVjIsaTIsWTgsYTIsVjIsaTIsWTgsYTIsVjIsaTIsWTgsYTIsVjIsaTJdLGY9W2c2LEE1LHU1LHcyLEM3LHM0LEg3LG02LHk2LGgxLEcyLFA3LE8yLHIzLG8yLGo0LFUxLFkxLGI0LGs3LEY1LGs0LHE0LHc4LGg1LGQyLEgyLGozLHI1LE82LGE1LFE0LEM4LGUxLHU4LHY4LHExLFg4LEQzLHkxLHczLHYyLFAzLFEyLEs2LEg2LHQzLHU2LGQwLEI4LFkwLFUzLEg4LEgxLGEwLHozLFU2LGY1LGw2LE84LFM3LEkzLHU3LGs1XTtyZXR1cm4gZnVuY3Rpb24oYyl7dmFyIGk2PTQ4LFYwPTI3MTczMzg3OCxUMD0yNTYyMzgzMTAyLE04PTQwMjMyMzM0MTcsTTM9MTczMjU4NDE5MyxXNT0oKDEwMS4sMHgyMzkpPD0oMy40MEUxLDExOS4pPzB4MTdGOjB4MTcyPj0oNjAuODBFMSwxMTMuKT8oNi42MEUxLDEyOCk6KDEwMSw3MCkpLEEzPTM3LHI3PVwiZGVBdFwiLGIxPVwiZUF0XCIsTDU9MTI3LGU7YTp7Zm9yKGU9Yy5sZW5ndGg7ZS0tOylpZihMNTxjWyhzMitLNCtSMytjOCt0OCtiMSldKGUpKXtlPSFEODticmVhayBhO31lPSFMODt9aWYoZSl7dmFyIGg9ZW5jb2RlVVJJQ29tcG9uZW50KGMpO2M9W107dmFyIGc9RDg7ZT1EODtmb3IodmFyIGs9aC5sZW5ndGg7ZzxrOysrZyl7dmFyIGw9aFsoeTUrYzgrbDcrcjcpXShnKTtjW2U+Pmc4XT1BMz09bD9jW2U+Pmc4XXwoZFtoWyhzMitLNCtSMytjOCtwNitlOCldKCsrZyldPDxsOHxkW2hbKHg3K1IzK2M4K3A2K2U4KV0oKytnKV0pPDwoZSVsODw8cDgpOmNbZT4+ZzhdfGw8PChlJWw4PDxwOCk7KytlO31oPShlK2Q4Pj5ZOCkrTDg8PGw4O2c9ZT4+Zzg7Y1tnXXw9VzU8PChlJWw4PDxwOCk7Zm9yKGcrPUw4O2c8aDsrK2cpY1tnXT1EODtjW2gtZzhdPWU8PHA4O31lbHNle2U9Yy5sZW5ndGg7Zz0oZStkOD4+WTgpK0w4PDxsODtoPVtdO2ZvcihrPUQ4O2s8ZzsrK2spaFtrXT1EODtmb3Ioaz1EODtrPGU7KytrKWhbaz4+ZzhdfD1jWyhzMitLNCtPNStTMitWMStRMytqMitwNitlOCldKGspPDwoayVsODw8cDgpO2hbaz4+ZzhdfD1XNTw8KGslbDg8PHA4KTtoW2ctZzhdPWU8PHA4O2M9aDt9ZT1NMztmb3IodmFyIGc9TTgsaD1UMCxrPVYwLGw9RDgscD1jLmxlbmd0aDtsPHA7bCs9ZjIpe2Zvcih2YXIgcT1lLHQ9ZyxuPWgsdT1rLHYseSxGLHI9RDg7YjY+cjsrK3IpZjI+cj8odj11XnQmKG5edSkseT1yKTpDMz5yPyh2PW5edSYodF5uKSx5PShzOCpyK0w4KSVmMik6aTY+cj8odj10Xm5edSx5PShwOCpyK3M4KSVmMik6KHY9bl4odHx+dSkseT1qOCpyJWYyKSxGPXUsdT1uLG49dCxxPXErditmW3JdK2NbbCt5XSx2PWJbcl0sdCs9cTw8dnxxPj4+QzMtdixxPUY7ZT1lK3F8RDg7Zz1nK3R8RDg7aD1oK258RDg7az1rK3V8RDg7fXJldHVybiBhKGUpK2EoZykrYShoKSthKGspO307fSgpOyh4OCtkMStzMitlOCkhPT10eXBlb2YgSlNPTiYmKEpTT049e30pOyhmdW5jdGlvbigpe3ZhciBRNT1cImlmXCIsdjY9XCJcXFxcXFxcXFwiLEkyPSdcXFxcXCInLEE4PVwic3RyaVwiLGQ3PVwiaW9cIix6Nj1cImZ1XCIsZDU9XCJlY1wiLHE4PVwidW5jXCIsQjI9XCJdXCIsYTE9XCJudVwiLFA4PVwiXFxcXFwiO2Z1bmN0aW9uIGEoYSl7cmV0dXJuIGEyPmE/YzUrYTphO31mdW5jdGlvbiBiKGEpe3ZhciBqNj1cImVwbGFcIixHMT1cImFzdFwiO2tbKEwxK0cxK28xK1o2K2oyK1o3KV09RDg7cmV0dXJuIGtbKGU4K2oyK1E4K2U4KV0oYSk/VzYrYVsoYzgrajYraDYpXShrLGZ1bmN0aW9uKGEpe3ZhciBiPXRbYV07cmV0dXJuIChROCthMytqMCtnMyk9PT10eXBlb2YgYj9iOihQOCtmOCkrKChjNStjNStjNStjNSkrYVsoeDcrTzUrbDcrUTMrajIrcDYrZTgpXShEOClbKGU4K1YxK1M4K2U4K2M4K0M0K0I1K2czKV0oZjIpKVsoUTgrTDErQzQrczIrajIpXSgtbDgpO30pK1c2Olc2K2ErVzY7fWZ1bmN0aW9uIGYoYSxjKXt2YXIgcjY9XCJ7fVwiLHE3PVwie1wiLEk2PSgoMHgyMTcsNi4yMkUyKTwweDVEPygweDFCNCwxMSk6KDB4MTlFLDUuMTBFMSk+MzcuPyg3LjdFMixcIn1cIik6KDY1Liw4NS40RTEpKSxaMz1cImpvXCIscDI9XCJ7XFxuXCIsVDY9XCI6IFwiLG8zPVwicHVzXCIsbjg9XCJbXVwiLG04PVwiLFwiLEEyPVwiXFxuXCIsbjQ9XCIsXFxuXCIsdDU9XCJbXFxuXCIsTTE9XCJsbFwiLFo0PVwicnJhXCIsQjQ9XCJiamVcIixzNz1cIltcIixtMj1cImJqXCIsTzM9XCJib1wiLFUwPVwibnVtYlwiLEs3PVwiY2FcIixQNj1cInRpb1wiLHg2PVwiU09OXCIsRzU9XCJvSlwiLGQsZyxlLGgsaz1wLGwsbT1jW2FdO20mJihWMStkMytkMStzMitlOCk9PT10eXBlb2YgbSYmKFQzK2Y4K0I1K3MyK2U4K0M0K1YxK0I1KT09PXR5cGVvZiBtWyhlOCtWMStJMStTOCtaNStYNSldJiYobT1tWyhlOCtHNSt4NildKGEpKTsoVDMrZjgrQjUrczIrUDYrQjUpPT09dHlwZW9mIG4mJihtPW5bKEs3K0wxK0wxKV0oYyxhLG0pKTtzd2l0Y2godHlwZW9mIG0pe2Nhc2UgKHkzK2M4K0M0K0I1K2czKTpyZXR1cm4gYihtKTtjYXNlIChVMCtqMitjOCk6cmV0dXJuIGlzRmluaXRlKG0pP1N0cmluZyhtKTooYTErTDErTDEpO2Nhc2UgKE8zK1YxK0wxK2oyK1IzK0I1KTpjYXNlIChCNStmOCtMMStMMSk6cmV0dXJuIFN0cmluZyhtKTtjYXNlIChWMSttMitqMitzMitlOCk6aWYoIW0pcmV0dXJuIChCNStmOCtMMStMMSk7cCs9cTtsPVtdO2lmKChzNytWMStCNCtzMitlOCtYMitwNitaNCt0NytCMik9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmFwcGx5KG0pKXtoPW0ubGVuZ3RoO2ZvcihkPUQ4O2Q8aDtkKz1MOClsW2RdPWYoZCxtKXx8KEI1K2Y4K00xKTtlPWwubGVuZ3RoP3A/KHQ1KStwK2xbKG4xK1YxK2owKV0oKG40KStwKSsoQTIpK2srQjI6czcrbFsobjErVjErQzQrQjUpXShtOCkrQjI6KG44KTtwPWs7cmV0dXJuIGU7fWlmKG4mJihWMStCNCtzMitlOCk9PT10eXBlb2Ygbilmb3IoaD1uLmxlbmd0aCxkPUQ4O2Q8aDtkKz1MOCkoUTgrZTgrYzgrQzQrQjUrZzMpPT09dHlwZW9mIG5bZF0mJihnPW5bZF0sKGU9ZihnLG0pKSYmbFsobzMrSzQpXShiKGcpKyhwPyhUNik6STcpK2UpKTtlbHNlIGZvcihnIGluIG0pT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG0sZykmJihlPWYoZyxtKSkmJmxbKGI1K2Y4K1E4K0s0KV0oYihnKSsocD8oVDYpOkk3KStlKTtlPWwubGVuZ3RoP3A/KHAyKStwK2xbKFozK0M0K0I1KV0oKG40KStwKSsoQTIpK2srSTY6cTcrbFsoWjErQjUpXShtOCkrSTY6KHI2KTtwPWs7cmV0dXJuIGU7fX1mdW5jdGlvbiBkKCl7dmFyIFkzPVwibHVlXCI7cmV0dXJuIHRoaXNbKEUwK1IzK1kzK1o1K1QzKV0oKTt9dmFyIGM9XC9eW1xcXSw6e31cXHNdKiRcLyxlPVwvXFxcXCg/OltcIlxcXFxcXFwvYmZucnRdfHVbMC05YS1mQS1GXXs0fSlcL2csaD1cL1wiW15cIlxcXFxcXG5cXHJdKlwifHRydWV8ZmFsc2V8bnVsbHwtP1xcZCsoPzpcXC5cXGQqKT8oPzpbZUVdWytcXC1dP1xcZCspP1wvZyxnPVwvKD86Xnw6fCwpKD86XFxzKlxcWykrXC9nLGs9XC9bXFxcXFxcXCJcXHUwMDAwLVxcdTAwMWZcXHUwMDdmLVxcdTAwOWZcXHUwMGFkXFx1MDYwMC1cXHUwNjA0XFx1MDcwZlxcdTE3YjRcXHUxN2I1XFx1MjAwYy1cXHUyMDBmXFx1MjAyOC1cXHUyMDJmXFx1MjA2MC1cXHUyMDZmXFx1ZmVmZlxcdWZmZjAtXFx1ZmZmZl1cL2csbD1cL1tcXHUwMDAwXFx1MDBhZFxcdTA2MDAtXFx1MDYwNFxcdTA3MGZcXHUxN2I0XFx1MTdiNVxcdTIwMGMtXFx1MjAwZlxcdTIwMjgtXFx1MjAyZlxcdTIwNjAtXFx1MjA2ZlxcdWZlZmZcXHVmZmYwLVxcdWZmZmZdXC9nOyhUMytxOCtlOCtDNCtoNykhPT10eXBlb2YgRGF0ZS5wcm90b3R5cGUudG9KU09OJiYoRGF0ZS5wcm90b3R5cGUudG9KU09OPWZ1bmN0aW9uKCl7dmFyIHc0PVwiZHNcIixjMT1cInVyXCIsSjI9XCJDSFwiLHEwPVwiVENcIixBMT1cImV0VVwiLE4xPVwiTW9cIixpND1cImdldFwiLGYxPVwiZWFcIixhND1cIlVUXCIsTDY9XCJsdVwiO3JldHVybiBpc0Zpbml0ZSh0aGlzWyhFMCtSMytMNitqMitaNStUMyldKCkpP3RoaXNbKGczK2oyK2U4K2E0K1MyK0Y0K2Y4K0wxK0wxK1Q3K2YxK2M4KV0oKStyOCthKHRoaXNbKGk0K2E0K1MyK04xK0I1K2U4K0s0KV0oKStMOCkrcjgrYSh0aGlzWyhnMytBMStxMCtKNCtSMytlOCtqMildKCkpK1o4K2EodGhpc1soZzMrdzYrbjcrWjgrSjIrVjErYzErUTgpXSgpKStJNythKHRoaXNbKGczK2oyK2U4K2E0K1MyK3E1K2owK2Y4K2U4K2oyK1E4KV0oKSkrSTcrYSh0aGlzWyhnMyt3NithNCtTMitTOCtkNStWMStCNSt3NCldKCkpK1M2OlY0O30sQm9vbGVhbi5wcm90b3R5cGUudG9KU09OPWQsTnVtYmVyLnByb3RvdHlwZS50b0pTT049ZCxTdHJpbmcucHJvdG90eXBlLnRvSlNPTj1kKTt2YXIgcCxxLHQsbjsoejYrQjUrczIrZTgrZDcrQjUpIT09dHlwZW9mIEpTT05bKEE4K0I1K2czK0M0K1QzK3Q3KV0mJih0PXtcIlxcYlwiOihQOCtkMyksXCJcXHRcIjooUDgrZTgpLFwiXFxuXCI6KFA4K0I1KSxcIlxcZlwiOihQOCtUMyksXCJcXHJcIjooUDgrYzgpLCdcIic6KEkyKSxcIlxcXFxcIjoodjYpfSxKU09OWyhROCtlOCtjOCtDNCtwMStRNSt0NyldPWZ1bmN0aW9uKGEsYixkKXt2YXIgcDc9XCJpbmdpZlwiLHI0PVwiSlNPXCIsRTg9XCJiamVjXCIsSDQ9XCJmdW5cIixOND1cInVtYmVyXCIsYztxPXA9WjtpZigoQjUrTjQpPT09dHlwZW9mIGQpZm9yKGM9RDg7YzxkO2MrPUw4KXErPVgyO2Vsc2UoeTMrYzgrajArZzMpPT09dHlwZW9mIGQmJihxPWQpO2lmKChuPWIpJiYoSDQrczIrUzUraDcpIT09dHlwZW9mIGImJigoVjErRTgrZTgpIT09dHlwZW9mIGJ8fChhMStSMStkMytqMitjOCkhPT10eXBlb2YgYi5sZW5ndGgpKXRocm93IEVycm9yKChyNCtYNStUK1E4K2U4K2M4K3A3K3Q3KSk7cmV0dXJuIGYoWix7XCJcIjphfSk7fSk7KFQzK3E4K2U4K0M0K1YxK0I1KSE9PXR5cGVvZiBKU09OWyhiNStSMytDNitqMildJiYoSlNPTlsoYjUrUjMrYzgrdjUpXT1mdW5jdGlvbihhLGIpe3ZhciBrNj1cIlNPXCIsVjY9XCJpb25cIixWNz1cIm5jXCIsTDM9XCIpXCIsZTM9XCIoXCIsUTE9XCJsYWNlXCIsZDY9KCgweDkzLDB4REEpPjB4RkM/XCI7XCI6MTMxLjlFMT4oNi4wOEUyLDEzMS4pPygweDE1RSxcIkBcIik6KDB4RDksMTI3Lik8MS4wNUUyP1widFwiOigweDE1QywxMzkuOUUxKSksSjc9XCJsYVwiLEw0PVwiZXhcIjtmdW5jdGlvbiBkKGEsZil7dmFyIEoxPVwiY2FsXCIsYyxnLGU9YVtmXTtpZihlJiYoVjErZDMrbjErZDUrZTgpPT09dHlwZW9mIGUpZm9yKGMgaW4gZSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxjKSYmKGc9ZChlLGMpLHZvaWQgRDghPT1nP2VbY109ZzpkZWxldGUgIGVbY10pO3JldHVybiBiWyhKMStMMSldKGEsZixlKTt9dmFyIGY7YT1TdHJpbmcoYSk7bFsoTDErUjMrUTgrZTgrbzErWjYrTDQpXT1EODtsWyhlOCtqMit5MyldKGEpJiYoYT1hWyhjOCtqMitXNytmNitqMildKGwsZnVuY3Rpb24oYSl7cmV0dXJuIChQOCtmOCkrKChjNStjNStjNStjNSkrYVsoczIrRzQrYzgrbDcrUTMrSjgrZTgpXShEOClbKE00K1M4K2U4K2M4K2owK2czKV0oZjIpKVsoUTgrTDErQzQrczIrajIpXSgtbDgpO30pKTtpZihjWyhHOCtROCtlOCldKGFbKGM4K2oyK2I1K0o3K2g2KV0oZSxkNilbKFk0K2I1K0wxK1g3KV0oaCxCMilbKFk0K2I1K1ExKV0oZyxaKSkpcmV0dXJuIGY9ZXZhbChlMythK0wzKSwoVDMrZjgrVjcrZTgrVjYpPT09dHlwZW9mIGI/ZCh7XCJcIjpmfSxaKTpmO3Rocm93ICBuZXcgU3ludGF4RXJyb3IoKEkxK2s2K1g1K1QrYjUrTzUrUTgrajIpKTt9KTt9KSgpOyhmdW5jdGlvbigpe3ZhciBFMT1cIitcLz1cIixRNz0oMHhDMT4oMzAsMTQ0KT8oODcuNEUxLFwiOVwiKTooMHhBLDQuMDFFMik8PSgweDE0NCwxMDUpPyg2OC4xMEUxLDB4MUNBKTo3ND49KDkuNTNFMiwxMjApPzB4MTM1OigxMDguLDB4MTQ3KSksQjE9XCJiY2RcIixONz1cIlphXCIsVzg9XCJSXCIsYTg9XCJQUVwiLHgyPVwib3JcIixpMz1cInJhXCIsSjU9XCJhdFwiOyhSMytNNCtkMykgaW4gd2luZG93JiYoZDMrZTgrVjErUjMpIGluIHdpbmRvd3x8KGY1WDBbbTBdWyhKNSt4OCldPWZ1bmN0aW9uKGEpe3ZhciBvND1cInNoXCIsWTI9XCJwdVwiLGUyPTE4LEg1PVwib2RcIixDMT1cImhhckNcIixLOD1cIm1DXCIsTzE9XCJvZGVcIixrMD1cIm9tXCIsbDI9XCJmclwiLHowPVwib21DXCIsTzQ9XCJ1c2hcIixnND1cIm1DaGFcIix0MT1cImZyb1wiLGgzPTI0LHo0PVwiZGV4XCIsazE9XCI0NTY3XCIsdjc9XCJ6MDEyM1wiLEczPVwieHlcIixKMz1cInR1dlwiLEQxPVwicHFyXCIseDU9XCJtbm9cIixvOD1cImhpamtsXCIsUjY9XCJmZ1wiLHEzPVwiVldYXCIsWDM9XCJNTk9cIixQND1cIkhJSktMXCIsdjE9XCJlckVcIixMNz1cImFyYVwiLFcwPVwiaWRDXCIscDQ9XCJJblwiLEE3PVwiSW52XCIsazI9XCJlcFwiO2E9U3RyaW5nKGEpO3ZhciBkPUQ4LGI9W10sZj1EOCxjPUQ4LGU7YT1hWyhZNCtXNytSMytzMitqMildKFwvXFxzXC9nLFopO2EubGVuZ3RoJWw4fHwoYT1hWyhjOCtrMitMMStmNitqMildKFwvPSskXC8sWikpO2lmKEw4PT09YS5sZW5ndGglbDgpdGhyb3cgRXJyb3IoKEE3K1IzK0Q1K1EzK1MyK0s0K1IzK2kzK3MyK2U4K3QyK0U0K2M4K2M4K1YxK2M4KSk7aWYoXC9bXitcLzAtOUEtWmEtel1cL1soZTgrajIreTMpXShhKSl0aHJvdyBFcnJvcigocDQrRTArUjMrTDErVzArSzQrTDcrczIrZTgrdjErYzgrYzgreDIpKTtmb3IoO2Q8YS5sZW5ndGg7KWU9KHA2K1AyK1MyK0o0K0U0K0Y0K3k0K1A0K1gzK2E4K1c4K1M4K1o4K243K3EzK1Q3K043K0IxK2oyK1I2K284K3g1K0QxK1E4K0ozK3AwK0czK3Y3K2sxK0QwK1E3K0UxKVsoQzQrQjUrejQrWjUrVDMpXShhWyh4NytSMytjOCtwNitlOCldKGQpKSxmPWY8PFk4fGUsYys9WTgsaDM9PT1jJiYoYlsoYjUrZjgrUTgrSzQpXShTdHJpbmdbKHQxK2c0K2M4K1MyK1YxK1E2KV0oZj4+ZjImdDApKSxiWyhiNStPNCldKFN0cmluZ1soVDMrYzgrejArRzQrYzgrbDcrUTMrajIpXShmPj5kOCZ0MCkpLGJbKGI1K080KV0oU3RyaW5nWyhsMitrMCtTMitLNCtSMytjOCtTMitPMSldKGYmdDApKSxmPWM9RDgpLGQrPUw4O2cyPT09Yz9iWyhiNStmOCtROCtLNCldKFN0cmluZ1soVDMrYzgrVjErSzgrQzErSDUrajIpXShmPj5sOCZ0MCkpOmUyPT09YyYmKGY+Pj1nOCxiWyhZMitvNCldKFN0cmluZ1soUzErQTYrTzUrbDcrUTMrajIpXShmPj5kOCZ0MCkpLGJbKFkyK1E4K0s0KV0oU3RyaW5nWyhsMitWMStSMStBNitSMytjOCt0OCtqMildKGYmdDApKSk7cmV0dXJuIGJbKG4xK1YxK0M0K0I1KV0oWik7fSxmNVgwW20wXVsoZDMrZTgrVjErUjMpXT1mdW5jdGlvbihhKXt2YXIgczA9XCI2N1wiLFQ1PVwiMjNcIixLMT1cIlVWV1wiLHAzPVwiR0hJXCIsZTU9XCI4OVwiLEU1PVwiMzRcIixBND1cIjAxXCIsVzE9XCJsbVwiLHM1PVwiaGlcIixrMz1cIlJTXCIsVDg9XCJRXCIsSTU9XCJPUFwiLE03PVwiR0hcIixONT1cIjc4XCIsRTc9XCI1NlwiLHo1PVwiMlwiLGkwPVwiejAxXCIsTTI9XCJ2d1wiLG01PVwiaWprbG1cIixtND1cIlRVXCIsRTY9XCJPUFFcIixjMj1cIkpLTFwiLEQ3PVwiSElcIixLMj1cIkRFXCIsTjM9XCJBQlwiLG0zPVwiNDU2Nzg5XCIsTDA9XCIxMjNcIixSMj1cInd4eXpcIixvNj1cInV2XCIsVTU9XCJxXCIseDM9XCJub1wiLHU0PVwia1wiLFI1PVwiZ2hcIixiMz1cIllaXCIsZjA9XCJYXCIsRjI9XCJWV1wiLFc0PVwiU1RcIixrOD1cIlFSXCIsRDQ9XCJMXCIsUDE9XCJLXCIsejc9XCJJSlwiLEwyPVwiRkdIXCIsSDM9XCJCQ1wiLHE2PSgweDk8KDB4MjM0LDB4MUEwKT8oMTE2LDYzKTooMHgxNUEsMHhDOCk+PSgweEFDLDkuMzNFMik/KDExNixudWxsKTooMHgxMUYsMTA3LikpLFg0PVwickNvXCIsZjM9XCJFclwiO2E9U3RyaW5nKGEpO3ZhciBkPUQ4LGI9W10sZixjLGUsaDtpZihcL1teXFx4MDAtXFx4RkZdXC9bKGU4K2oyK1E4K2U4KV0oYSkpdGhyb3cgRXJyb3IoKG8xK0I1K0UwK1IzK0wxK0M0K1EzK1MyK0s0K1IzK2kzK3MyK2U4K2oyK2M4K2YzK2M4K3gyKSk7Zm9yKDtkPGEubGVuZ3RoOylmPWFbKHMyK0s0K1IzK2M4K1MyK1YxK1E2K3A2K2U4KV0oZCsrKSxjPWFbKHMyK0c0K2wxK1YxK1EzK0o4K2U4KV0oZCsrKSxlPWFbKHg3K1IzK1g0K1EzK0o4K2U4KV0oZCsrKSxoPWY+Pmc4LGY9KGYmcDgpPDxsOHxjPj5sOCxjPShjJlYyKTw8Zzh8ZT4+WTgsZSY9cTYsZD09PWEubGVuZ3RoK2c4P2U9Yz1iNjpkPT09YS5sZW5ndGgrTDgmJihlPWI2KSxiWyhiNStmOCtROCtLNCldKChwNitIMytKNCtFNCtMMit6NytQMStENCtxNStYNStaNSt1MStrOCtXNCtuNytGMitmMCtiMytSMytCMStKNitSNStDNCtuMSt1NCtMMStSMSt4MytiNStVNStjOCtROCtlOCtvNitSMitjNStMMCttMytFMSlbKHg3K1IzK2M4K2g4KV0oaCksKE4zK1MyK0syK0Y0K3k0K0Q3K2MyK3E1K1g1K0U2K1c4K1M4K200K0YyK2YwK1Q3K1M2K24yK0Y4K1QzK2czK0s0K201K0I1K1YxK2I1K1U1K2M4K3kzK2Y4K00yK1o3K3Q3K2kwK3o1K281K283K0U3K041K1E3K0UxKVsoeDcrUjMrYzgrcDYrZTgpXShmKSwoTjMrUzIrSjQrRTQrRjQrTTcrbzErSTErUDErRDQrcTUrWDUrSTUrVDgrazMrbTQrRjIrZjArYjMrUjMrZDMrdzArajIrVDMrZzMrczUrbjErdTQrVzErQjUrVjErYjUrVTUrQzYrZTgrbzYrcDArWjcrdDcrWTcrQTQrejUrRTUrRTcrTTYrZTUrRTEpWyhzMitLNCtSMytjOCtwNitlOCldKGMpLChwNitQMitTMitKNCtFNCtGNCtwMytJMStQMStENCtxNStYNStaNSthOCtXOCtXNCtLMStmMCtUNytONytkMytzMitRNitUMytnMytLNCtDNCtuMSt1NCtMMStSMSt4MytiNStVNStjOCt5MytmOCtFMCtwMCtaNyt0NytZNytjNSt6MStUNStvNytlNytzMCtlNStFMSlbKHg3K081K3A2K2U4KV0oZSkpO3JldHVybiBiWyhaMStCNSldKFopO30pO30pKCk7QXJyYXkucHJvdG90eXBlLmluZGV4T2Z8fChBcnJheS5wcm90b3R5cGUuaW5kZXhPZj1mdW5jdGlvbihhLGQpe3ZhciBUND1cImF4XCIsRTM9J2UnLFY9J2VmaScsRTI9J2QnLHQ2PSdyJyxPNz0nbycsajc9J2wnLEcwPSd1JyxCNj0nbicsRjM9JyAnLFY1PSdcIiAnLE42PSgoODQuOUUxLDExLjlFMik8MHgxRkM/J2snOigxMTgsMTI2LjYwRTEpPigxMDEuLDEyMyk/KDEuNjUwRTIsJ3MnKTooMjYuNzBFMSwyNi4pKSxHNz0naScsbzA9KCgxMDIsODMuKTwweDEwOD8oMTcuN0UxLCdoJyk6KDB4RjgsMHgxQzEpPCg4My42MEUxLDE0Ny4pPzE0MDooMTIsMi44MUUyKT49NTIuNDBFMT8oNS41RTIsJ0onKTooMHgxODcsMHgxNEIpKSxiMD0ndCcsYjtpZighdGhpcyl0aHJvdyAgbmV3IFR5cGVFcnJvcigoVzYrYjArbzArRzcrTjYrVjUrRzcrTjYrRjMrQjYrRzArajcrajcrRjMrTzcrdDYrRjMrQjYrTzcrYjArRjMrRTIrVitCNitFMytFMikpO3ZhciBmPU9iamVjdCh0aGlzKSxjPWYubGVuZ3RoPj4+RDg7aWYoIWMpcmV0dXJuIC1MODtiPStkfHxEODtJbmZpbml0eT09PU1hdGhbKFIzK2QzK1E4KV0oYikmJihiPUQ4KTtpZihiPj1jKXJldHVybiAtTDg7Zm9yKGI9TWF0aFsoUjErVDQpXShEODw9Yj9iOmMtTWF0aFsoUjMrZDMrUTgpXShiKSxEOCk7YjxjOyl7aWYoYiBpbiBmJiZmW2JdPT09YSlyZXR1cm4gYjtiKys7fXJldHVybiAtTDg7fSk7U3RyaW5nLnByb3RvdHlwZS50cmltfHwoU3RyaW5nLnByb3RvdHlwZS50cmltPWZ1bmN0aW9uKCl7dmFyIEszPVwiZXBsXCI7cmV0dXJuIHRoaXNbKGM4K0szK1g3KV0oXC9eW1xcc1xcdUZFRkZcXHhBMF0rfFtcXHNcXHVGRUZGXFx4QTBdKyRcL2csWik7fSk7dmFyIHo9ZjVYMFtKMF1bKFg2K3A2K2c1K0I1K2U4KV1bKE00K0MyK3AwK2oyK2M4K1MyK1IzK1E4K2oyKV0oKSxBPXt9LEs9ZnVuY3Rpb24oYSl7dmFyIGc3PVwiZmlcIixJND1cInVuXCI7KEk0K1EzK2oyK2c3K0I1K2oyK1EzKT09dHlwZW9mIEFbZzJdJiYoQVtnMl09YSgpKTtyZXR1cm4gQVtnMl07fSx3PW5ldyBmdW5jdGlvbigpe3RoaXNbSzRdPWZ1bmN0aW9uKCl7dmFyIGw1PVwidGVzXCI7cmV0dXJuIFwvbXNpZXx0cmlkZW50XFxcL1wvWyhsNStlOCldKHopJiYhXC9vcGVyYVwvWyhlOCtqMitROCtlOCldKHopO307dGhpc1tnM109ZnVuY3Rpb24oKXtyZXR1cm4gSyhmdW5jdGlvbigpe3ZhciB5Mj1cInRjaFwiLEc2PVwibWFcIixhO2E9W1wvdHJpZGVudFxcXC8oPzpbMS05XVswLTldK1xcLlswLTldK1s3ODldXFwuWzAtOV0rfCkuKnJ2OihbMC05XStcXC5bMC05YS16XSspXC8sXC9tc2llXFxzKFswLTldK1xcLlswLTlhLXpdKylcL107Zm9yKHZhciBkPUQ4LGI9YS5sZW5ndGg7ZDxiO2QrKyl7dmFyIGY9elsoRzYreTIpXShhW2RdKTtpZihmJiZmW0w4XSlyZXR1cm4gcGFyc2VGbG9hdChmW0w4XSk7fXJldHVybiBEODt9KTt9O3RoaXNbTDFdPWZ1bmN0aW9uKCl7cmV0dXJuIFwvaWVtb2JpbGVcL1soZTgrajIreTMpXSh6KTt9O307d1tLNF0oKSYmd1tnM10oKTt2YXIgTD1bbDgsTDhdLE09W1cyLEw4XSx4PXtpOlY0LHNlbmQ6ZnVuY3Rpb24oYSxkLGIsZil7dmFyIG0xPVwidFRpXCIsWTY9XCJfXCIsbjU9XCJuZlwiLHMxPVwidXNcIixpNT1cImlkXCIsZjc9XCJcLz8mXCIsajE9XCJcL1wvXCIseDA9MTAyNCx4MT1cInJlcGxcIjsoUTgrZTgrYzgrQzQrQjUrZzMpPT10eXBlb2YgYiYmRDg8Yi5sZW5ndGgmJihiPWJbKHgxK1IzK3MyK2oyKV0oXC9bLFxcclxcbl1cL2csWilbKFE4K0wxK0M0K3MyK2oyKV0oRDgsQzMpKTsoUTgrYTMrQzQrQjUrZzMpPT10eXBlb2YgZCYmRDg8ZC5sZW5ndGgmJihkPWRbKGM4K2oyK1c3K1IzK3MyK2oyKV0oXC9bLFxcclxcbl1cL2csWilbKFE4K0Q1K3MyK2oyKV0oRDgseDApKTt2YXIgYz1uZXcgSW1hZ2U7ZiYmKGMub25lcnJvcj1jWyhWMStCNStMMStWMStzNildPWYpO2NbKFE4K0YxKV09KGoxKSt4W0M0XVtSMV0rKGY3K1E4K2Y4K2QzK2k1K0QyKSsoYj9lbmNvZGVVUkkoYik6YzUpKyhYMStiNStDNCtRMytEMikreFtDNF1bVjFdKyhYMStlOCtDNCtRMytEMikreFtDNF1bUThdKyhYMStROCtlOCtSMytlOCtzMStEMikrYVtEOF0rKGQ/KFgxK0M0K241K1YxK0QyKStlbmNvZGVVUkkoZCk6WikrKFgxK0UwK0QyKStWRVJTSU9OKyhYMStZNitEMikrKG5ldyBEYXRlKVsoZzMrajIrbTErUjErajIpXSgpO30sajp7fX0sTj1mdW5jdGlvbihhLGQsYixmKXt2YXIgbjM9XCJwbHlcIjtpZihnOCE9YVtMOF0mJmw4IT1hW0w4XSYmcDghPWFbTDhdKXtpZihkJiZhW0Q4XT09TFtEOF0pe3ZhciBjPShEKEUsZCleLUw4KT4+PkQ4O2lmKCFEOD09PXhbbjFdW2NdKXJldHVybiA7eFtuMV1bY109IUQ4O314WyhROCtqMitaNildWyhSOCtuMyldKHgsYXJndW1lbnRzKTt9fSxPPWZ1bmN0aW9uKGEsZCxiLGYsYyxlLGgpe3ZhciBOOD1cInRpbWVvXCIsRDY9XCJvdVwiLGUwPVwiaW1lXCIsZzA9XCJwclwiLE01PVwib3BlXCIsczM9XCJtcFwiLFQxPVwidGhcIixkND1cIk9TXCIsQjM9XCJDYVwiO2E9YVsoZTgrVjErbjcrYjUrYjUrajIrYzgrQjMrdjUpXSgpO2lmKCh5NCtFNCtaOCkhPWEmJih1MStkNCtaOCkhPWEpZigoUjErajIrVDErVjErUTMrWDIrQjUrVjErZTgrWDIrQzQrczMrTDErajIrUjErajIrVTQrRjYpLC1MOCk7ZWxzZXt2YXIgZz1uZXcgWERvbWFpblJlcXVlc3Q7Z1soTTUrQjUpXShhLGQpO2dbKFYxK0I1K0wxK1YxK3M2KV09ZnVuY3Rpb24oKXt2YXIgdjQ9XCJwb25cIixOMj1cInJlc1wiO2IoZ1soTjIrdjQrUTgrajIrWjgrajIrWjcrZTgpXVsoZTgrYzgrQzQrUjEpXSgpLGI4KTt9O2dbKGg3K2cwK1YxK2czK2M4K2oyK1E4K1E4KV09ZnVuY3Rpb24oKXt9O2cub25lcnJvcj1mdW5jdGlvbigpe2YoWiwtTDgpO307YyYmKGdbKGU4K2UwK0Q2K2U4KV09YyxnWyhoNytOOCtlNildPWcub25lcnJvcik7c2V0VGltZW91dChmdW5jdGlvbigpe2dbKFE4K2oyK0I1K1EzKV0oaHx8Wik7fSxEOCk7fX0sUD1YTUxIdHRwUmVxdWVzdFsoSjQrWjUrQjcpXXx8bDgsUT1mdW5jdGlvbihhLGQsYixmLGMsZSxoKXt2YXIgYzY9XCJpdFwiLHYzPVwidFRcIixVMj1cImVvXCIsVjM9XCJvdXRcIixPMD1cImltXCIsZzE9XCJlY2hhXCIsbTc9XCJvbnJlYWRcIixhNj1cIkNhc1wiO2E9YVsoZTgrVjErbjcrYjUrYjUrdDIrYTYrajIpXSgpO3ZhciBnPW5ldyBYTUxIdHRwUmVxdWVzdDtnWyhWMStiNStqMitCNSldKGEsZCwhRDgpO2dbKG03K3Q3K1E4K2U4K1IzK2U4K2cxK0I1K2czK2oyKV09ZnVuY3Rpb24oKXt2YXIgYTc9XCJwb1wiLGkxPVwiZWFyXCIsVT1cInRpbWVcIix0ND1cIlN0XCI7aWYoZ1soYzgrajIrUjMrUTMrdDcrdDQrUjMrRzgpXT09UCl7Z1soaDcrVStWMStlNildPWZ1bmN0aW9uKCl7fTtrJiYoR0xPQkFMWyhzMitMMStpMStaOCtDNCtLNStWMStmOCtlOCldKGspLGs9IUw4KTt2YXIgYT1nWyhZNCtROCthNytCNSt2NStaOCtqMitaNytlOCldWyhlOCtjOCtDNCtSMSldKCk7Yjg9PWdbKFE4K2U4K1IzK2U4K2Y4K1E4KV0/YihhLGdbKFE4K2U4K1IzK2U4K2Y4K1E4KV0pOmYoYSxnWyhROCtlOCtSMytlOCtmOCtROCldKTt9fTt2YXIgaztjJiYoZ1soZTgrTzArajIrVjMpXT1jLChWMStCNStTNStSMStqMitWMStmOCtlOCkgaW4gWE1MSHR0cFJlcXVlc3QucHJvdG90eXBlP2dbKFYxK1U0K0M0K1IxK1UyK2Y4K2U4KV09ZnVuY3Rpb24oKXt2YXIgaDQ9NTA0LGU0PVwibnNcIixjNz1cInNwb1wiO2YoZ1soYzgrajIrYzcrZTQrajIrWjgrajIrWjcrZTgpXVsoZTgrYzgrQzQrUjEpXSgpLGg0KTt9Oms9R0xPQkFMWyh2NSt2MytDNCtSMStqMitWMyldKGZ1bmN0aW9uKCl7Zy5hYm9ydCgpO2YoWiwtTDgpO30sYykpO2dbKHAwK2M2K0s0K1MyK2M4K0Y2K2wzK2U4K0M0K1IzK0wxK1E4KV09KGY4K0I1K1EzK2oyK1QzK0M0K0I1K2oyK1EzKSE9dHlwZW9mIGU/ZTohRDg7Z1soUTgrajIrQjUrUTMpXShofHxaKTt9LFI9e2FzeW5jOmZ1bmN0aW9uKGEsZCxiLGYsYyxlLGgpeyh3W0s0XSgpJiYhd1tMMV0oKSYmYTI+d1tnM10oKT9POlEpWyhSOCtXNyt0NyldKFY0LGFyZ3VtZW50cyk7fSxnOmZ1bmN0aW9uKGEsZCxiLGYsYyxlLGgpe3ZhciBiNz1cInN5XCI7dGhpc1soUjMrYjcrQjUrczIpXShhLGQrKFgxK3MyK0YxK0QyK3oxKSxmdW5jdGlvbihhLGQpe3ZhciBVNz1cIjtcIixUMj1cInNwXCIsYz1hWyhUMitMMStDNCtlOCldKFU3LGc4KSxlO2EmJlk4PmEubGVuZ3RoP2U9IUw4Omc4PmMubGVuZ3RofHxwYXJzZUludChjW0Q4XSxhMikhPT0oRChFLGNbTDhdWyhNNCtTOCtlOCtjOCtDNCtwMSldKCkpXi1MOCk+Pj5EOD8oTihNLGEsdm9pZCBEOCx2b2lkIEQ4KSxlPSFMOCk6ZT0hRDg7ZT9iKGNbTDhdLGQpOmYoYSxkKTt9LGYsYyxlLGgpO30saDp3W0s0XSgpJiZhMj53W2czXSgpfSxTPShLNCtlOCtlOCtiNSkrKChLNCtlOCtXMytROCtJNyk9PWY1WDBbJ2xvY2F0aW9uJ11bKGI1K2M4K3UzK3MyK1YxK0wxKV0/UTg6WikrKHUwKSxCPWRvY3VtZW50LEg9KG5ldyBEYXRlKVsoZTgrcDUrUzgrbDArajArZzMpXSgpWyhSNCtoNildKEQ4LGEyKSxJPWZ1bmN0aW9uKGEsZCl7dmFyIGY0PVwiaWNcIixiPUcoYSksZj1HKGIpWyhROCtMMStmNCtqMildKEQ4LC1kKTtyZXR1cm4gYitmO30oSCxwYXJzZUludChIWyhROCtiNStMMStDNCtlOCldKHI4KVtMOF0sYTIpKSxDPUJbKHMyK1k0K1IzK2U4K1crUjErajIrVTQpXSgoUTgrczIrQTArZTgpKTtDWyhlOCt0Nyt5OCldPShlOCtqMitoMitWOCtuMStSMytjNCtTNCtSNytlOCk7KGZ1bmN0aW9uKCl7dmFyIHIxPVwicnNlXCIsdzc9XCJ2ZVwiLGw0PVwiYXdcIixpNz1cInMzXCIsYT1TKyhpNytUK1IzK1IxK1IzK1k3K1YxK0I1K2w0K1E4K1QrczIrVjErUjErVjgpK0krVjgrSVsoUTgrZjgrZDMrUTgrZTgrYzgrQzQrQjUrZzMpXShEOCxhMilbKFE4K1c3K0M0K2U4KV0oWilbKGM4K2oyK3c3K3IxKV0oKVsobjErVjErQzQrQjUpXShaKTtSWyhSMytROCt0NytCNStzMildKCh5NCtFNCtaOCksYSxmdW5jdGlvbihhKXt2YXIgSzA9XCJpbGRcIixZPVwibmRDXCIsajU9XCJhcHBcIix6OD1cImhlXCIsWjI9XCJ5VGFnXCIsdzU9XCJFbFwiLFk1PVwiY3JlXCIsSTg9XCJpbFwiLGk4PVwiQVRcIix5Nz1cInViXCIseDQ9XCJic1wiO3RyeXt2YXIgYjthPWF0b2IoYSk7dmFyIGY9YVsoUTgrZjgreDQrZTgrYzgrajArZzMpXShEOCxzOCk7YT1hWyhROCt5NytROCthMytDNCtwMSldKHM4KTtmb3IodmFyIGM9WixlPUQ4O2U8YS5sZW5ndGg7ZSsrKWMrPVN0cmluZ1soUzErUzIrRzQrbDErVjErUTMrajIpXShhWyhzMitLNCtSMytsMStWMStRNitwNitlOCldKGUpXmZbKHMyK0s0K1IzK2M4K1MyK1YxK1EzK2oyK2g4KV0oZSVmLmxlbmd0aCkpO2I9YztiPWJbKGM4K2oyK1c3K1IzK3MyK2oyKV0oUmVnRXhwKChWOCtwNitpOCt1MStWOCksZzMpLEopO0NbKFIzK2I1K2I1K2wzK1EzK0E2K0k4K1EzKV0oQlsoWTUrUjMrZTgrajIrWjgrajIraDIrWDUrVjErUTYpXShiKSk7QlsoZzMrdzYrdzUrajIrUjErajIrQjUrZTgrUTgrUDIrWjIrWDUrUjMrSzUpXSgoejgrUjMrUTMpKVtEOF1bKGo1K2oyK1krSzQrSzApXShDKTt9Y2F0Y2goaCl7fX0sZnVuY3Rpb24oKXt9KTt9KSgpO319KShUSUQpOzxcL3NjcmlwdD4ifSx7ImlkIjoiYWRzdF9iX1BPUFVOREVSIiwiYWRzcG90IjoiYl9QT1BVTkRFUiIsIndlaWdodCI6IjU5IiwiZmNhcCI6IjIiLCJzY2hlZHVsZSI6ZmFsc2UsIm1heFdpZHRoIjpmYWxzZSwibWluV2lkdGgiOiI3NjgiLCJ0aW1lem9uZSI6ZmFsc2UsImV4Y2x1ZGUiOmZhbHNlLCJkb21haW4iOmZhbHNlLCJjb2RlIjoiPHNjcmlwdCB0eXBlPSd0ZXh0XC9qYXZhc2NyaXB0JyBzcmM9J1wvXC9pbmNyZWFzaW5nbHljb2Nrcm9hY2hwb2xpY3kuY29tXC9kZVwvYzhcL2Y0XC9kZWM4ZjRlZjNjMmRlODQ1YTdhZDQwMGZlZWE3ODBlMy5qcyc+PFwvc2NyaXB0PiJ9LHsiaWQiOiJjbGljX2JfUE9QVU5ERVIiLCJhZHNwb3QiOiJiX1BPUFVOREVSIiwid2VpZ2h0IjoiNjAiLCJmY2FwIjoiMiIsInNjaGVkdWxlIjpmYWxzZSwibWF4V2lkdGgiOmZhbHNlLCJtaW5XaWR0aCI6ZmFsc2UsInRpbWV6b25lIjpmYWxzZSwiZXhjbHVkZSI6ZmFsc2UsImRvbWFpbiI6ZmFsc2UsImNvZGUiOiI8c2NyaXB0IGRhdGEtY2Zhc3luYz1cImZhbHNlXCIgdHlwZT1cInRleHRcL2phdmFzY3JpcHRcIiBzcmM9XCJcL1wvMmNuanVoMzRqYnBvaW50LmNvbVwvdFwvOVwvZnJldFwvbWVvdzRcLzQ3MDkxNlwvYnJ0LmpzXCI+PFwvc2NyaXB0PiJ9LHsiaWQiOiJqYXZfYl9QT1BVTkRFUiIsImFkc3BvdCI6ImJfUE9QVU5ERVIiLCJ3ZWlnaHQiOiI1MiIsImZjYXAiOiIxIiwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjxzY3JpcHQ+XHJcbiQoZG9jdW1lbnQuYm9keSkub24oXCJjbGlja1wiLCBmdW5jdGlvbihldmVudCkge1xyXG4gIHdpbmRvdy5vcGVuKFwiaHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2phdlwiKTtcclxuICAkKHRoaXMpLm9mZihcImNsaWNrXCIpO1xyXG59KTtcclxuPFwvc2NyaXB0PiJ9LHsiaWQiOiJwb3BjX2JfUE9QVU5ERVIiLCJhZHNwb3QiOiJiX1BPUFVOREVSIiwid2VpZ2h0IjoiNTciLCJmY2FwIjoiMSIsInNjaGVkdWxlIjpbIjEiLDAsIjEiLDAsIjEiLDAsIjEiXSwibWF4V2lkdGgiOmZhbHNlLCJtaW5XaWR0aCI6Ijc2OCIsInRpbWV6b25lIjpmYWxzZSwiZXhjbHVkZSI6ZmFsc2UsImRvbWFpbiI6ZmFsc2UsImNvZGUiOiI8c2NyaXB0IHR5cGU9XCJ0ZXh0XC9qYXZhc2NyaXB0XCI+XHJcbiB2YXIgcCQwMGEgPSAncCQwMGEnICsgKG5ldyBEYXRlKCkuZ2V0VGltZSgpKSArICd6eic7IHdpbmRvd1twJDAwYV0gPSB7YTonYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5NHloMXF1ZHJvY2VpbnN0MG02ZjhscHg5YnozN2o1Z3ZrMndhJywgYjone1wiQVpJYlwiOlwiN3YyZ3Y3XCIsIFwiQlZJYlwiOlwia2p2NzJ2XCIsIFwiQ1hycjFcIjpcImxzMXE2XCIsIFwiREx0YWdcIjpcIjdcIiwgXCJFbWprNVwiOlwiXCIsIFwiWENnZTFzXCI6XCJ1cTFmYi45YnpcIiAsIFwiWnQxXCI6XCIwdDBoNGZyLnNxOFwiLCBcIlpaMVwiOlwiczBoNDEuaHRuXCIgfScsIGM6J3tcIkFia3IyMjFcIjpcImZoNm8wOFwiLCBcIkJvOXNzbVwiOlwiXC9cL2gxcy51cTFmYi45YnpcLzQwMC5jZlwifScsIGQ6J3tcIkFnNFwiOlwieXQxYlwiLCBcIkJ4MVwiOlwiNDAwcXMxQ3JvaTFcIiwgXCJDa3lcIjpcImY2aFwiLCBcIkRtZ1wiOlwiaDZxNDhxRWlxbnFzOFwifSd9O1xyXG52YXIgXzB4NWQ0Yj1bJzIzNTkxM1FWZmJ3dicsJ3NsaWNlJywnbGVuZ3RoJywnMTYyMjA5UUJtQW1WJywnMTQyMzhoeU9PVHEnLCczMjMyMDdEVGJpZmgnLCdzcGxpdCcsJzFEcWlLdHEnLCcxMzU4NjZIVGJhdkInLCdpbmRleE9mJywnY2FsbCcsJzI3NjU0U0tYSGJZJywncGFyc2UnLCd1bmRlZmluZWQnLCczMklqY2tteicsJ2tleXMnLCdtYXAnLCdjZWlsJywnMTE1OTgwaGNGVkR5JywndmFsdWVzJywnam9pbiddO3ZhciBfMHgyMDhjPWZ1bmN0aW9uKF8weDMxYThkNyxfMHg1ZjM2YjMpe18weDMxYThkNz1fMHgzMWE4ZDctMHgxNjc7dmFyIF8weDVkNGJlMT1fMHg1ZDRiW18weDMxYThkN107cmV0dXJuIF8weDVkNGJlMTt9OyhmdW5jdGlvbihfMHgyNzZmOTQsXzB4NTdjNGZmKXt2YXIgXzB4NTAwNTdjPV8weDIwOGM7d2hpbGUoISFbXSl7dHJ5e3ZhciBfMHg0MGQxODQ9cGFyc2VJbnQoXzB4NTAwNTdjKDB4MTY4KSkrcGFyc2VJbnQoXzB4NTAwNTdjKDB4MTZmKSkqcGFyc2VJbnQoXzB4NTAwNTdjKDB4MTc5KSkrLXBhcnNlSW50KF8weDUwMDU3YygweDE3NikpK3BhcnNlSW50KF8weDUwMDU3YygweDE3MykpK3BhcnNlSW50KF8weDUwMDU3YygweDE2ZSkpKy1wYXJzZUludChfMHg1MDA1N2MoMHgxNzApKStwYXJzZUludChfMHg1MDA1N2MoMHgxNmIpKSotcGFyc2VJbnQoXzB4NTAwNTdjKDB4MTcyKSk7aWYoXzB4NDBkMTg0PT09XzB4NTdjNGZmKWJyZWFrO2Vsc2UgXzB4Mjc2Zjk0WydwdXNoJ10oXzB4Mjc2Zjk0WydzaGlmdCddKCkpO31jYXRjaChfMHg0MTE4MzYpe18weDI3NmY5NFsncHVzaCddKF8weDI3NmY5NFsnc2hpZnQnXSgpKTt9fX0oXzB4NWQ0YiwweDQ1MTExKSxmdW5jdGlvbigpe3ZhciBfMHgxYmEyNzQ9ZnVuY3Rpb24oXzB4MmYzYTlhKXt2YXIgXzB4M2YwYmM0PV8weDIwOGMsXzB4MTg5NGJhPU1hdGhbXzB4M2YwYmM0KDB4MTY3KV0odGhpc1snYSddW18weDNmMGJjNCgweDE2ZCldXC8weDIpLF8weDUzOTU0OD10aGlzWydhJ11bXzB4M2YwYmM0KDB4MTZjKV0oMHgwLF8weDE4OTRiYSksXzB4NWQ4MDA5PXRoaXNbJ2EnXVtfMHgzZjBiYzQoMHgxNmMpXShfMHgxODk0YmEpO2RlY3J5cHQ9dGhpc1tfMHgyZjNhOWFdW18weDNmMGJjNCgweDE3MSldKCcnKVtfMHgzZjBiYzQoMHgxN2IpXShfMHgyOGY0MzM9Pnt2YXIgXzB4ZDc2MTJkPV8weDNmMGJjNDtyZXR1cm4gXzB4NWQ4MDA5WydzcGxpdCddKCcnKVsnaW5jbHVkZXMnXShfMHgyOGY0MzMpP18weDUzOTU0OFtfMHg1ZDgwMDlbXzB4ZDc2MTJkKDB4MTc0KV0oXzB4MjhmNDMzKV06XzB4MjhmNDMzO30pW18weDNmMGJjNCgweDE2YSldKCcnKTt0cnl7cmV0dXJuIEpTT05bXzB4M2YwYmM0KDB4MTc3KV0oZGVjcnlwdCk7fWNhdGNoe3JldHVybiBkZWNyeXB0O319LF8weDU3YmI4NT13aW5kb3dbcCQwMGFdLF8weDIxOWQ5Nz1mdW5jdGlvbihfMHgyOGVmYWMsXzB4MjJhMDMxKXt2YXIgXzB4NWJlZThlPV8weDIwOGMsXzB4Mzk2M2EwPU9iamVjdFtfMHg1YmVlOGUoMHgxNjkpXShfMHgxYmEyNzRbXzB4NWJlZThlKDB4MTc1KV0oXzB4NTdiYjg1LE9iamVjdFtfMHg1YmVlOGUoMHgxN2EpXShfMHg1N2JiODUpW18weDI4ZWZhY10pKTtyZXR1cm4gdHlwZW9mIF8weDIyYTAzMSE9XzB4NWJlZThlKDB4MTc4KT9fMHgzOTYzYTBbXzB4MjJhMDMxXTpfMHgzOTYzYTA7fTt3aW5kb3dbcCQwMGFdWyd4J109ZnVuY3Rpb24oKXtyZXR1cm4gXzB4MjE5ZDk3KDB4MSk7fTt2YXIgXzB4ZjFkYjU3PWRvY3VtZW50W18weDIxOWQ5NygweDMsMHgzKV0oXzB4MjE5ZDk3KDB4MiwweDApKTtfMHhmMWRiNTdbXzB4MjE5ZDk3KDB4MywweDIpXT1fMHgyMTlkOTcoMHgyLDB4MSksZG9jdW1lbnRbXzB4MjE5ZDk3KDB4MywweDApXVtfMHgyMTlkOTcoMHgzLDB4MSldKF8weGYxZGI1NykscCQwMGE9dW5kZWZpbmVkO30oKSk7XHJcbiBcclxuIDxcL3NjcmlwdD4ifV0=