diff --git a/scenes/dev/grapple/custom_hookable_objects/custom_hookable_objects_test.tscn b/scenes/dev/grapple/custom_hookable_objects/custom_hookable_objects_test.tscn index 33d88e3f04..bbec73d75b 100644 --- a/scenes/dev/grapple/custom_hookable_objects/custom_hookable_objects_test.tscn +++ b/scenes/dev/grapple/custom_hookable_objects/custom_hookable_objects_test.tscn @@ -6,7 +6,10 @@ [ext_resource type="TileSet" uid="uid://b8qnr0owsbhhn" path="res://tiles/exterior_floors.tres" id="5_717he"] [ext_resource type="TileSet" uid="uid://do0ffypatd77h" path="res://tiles/bridges.tres" id="6_obhrw"] [ext_resource type="TileSet" uid="uid://41pk6xbhypue" path="res://tiles/fence.tres" id="7_5lu30"] +[ext_resource type="Shader" uid="uid://dui35fhf12sp5" path="res://scenes/game_elements/fx/world_rewoven/components/world_rewoven.gdshader" id="7_mwlmc"] [ext_resource type="PackedScene" uid="uid://iu2q66clupc6" path="res://scenes/game_elements/characters/player/player.tscn" id="8_2l846"] +[ext_resource type="Texture2D" uid="uid://drlsbgxh5e6vv" path="res://scenes/game_elements/fx/world_rewoven/components/fabric_texture.png" id="8_50s3p"] +[ext_resource type="Script" uid="uid://dpw8lcjx68p3o" path="res://scenes/game_elements/fx/world_rewoven/components/tile_map_mask_bounds.gd" id="8_ssbsc"] [ext_resource type="SpriteFrames" uid="uid://cxjwwgm86d6it" path="res://scenes/game_elements/characters/components/sprite_frames/storyweaver_red.tres" id="9_powm1"] [ext_resource type="PackedScene" uid="uid://dkpelgxwtvcxd" path="res://scenes/game_elements/props/hookable_box/hookable_box.tscn" id="11_b1u67"] [ext_resource type="PackedScene" uid="uid://d37mebu7atru7" path="res://scenes/game_elements/characters/enemies/guard/guard.tscn" id="13_rna1f"] @@ -21,6 +24,29 @@ [ext_resource type="Script" uid="uid://dnp0tjloec2d7" path="res://scenes/game_logic/stealth_game_logic.gd" id="20_rna1f"] [ext_resource type="Script" uid="uid://c5jp8y8mpge4w" path="res://scenes/game_elements/props/toggleable_tile_map_layer/toggleable_tile_map_layer.gd" id="20_tbxxm"] +[sub_resource type="Gradient" id="Gradient_lq5qh"] +colors = PackedColorArray(1, 1, 1, 1, 0, 0, 0, 1) + +[sub_resource type="GradientTexture2D" id="GradientTexture2D_au3ml"] +gradient = SubResource("Gradient_lq5qh") +fill_from = Vector2(0, 1) +fill_to = Vector2(0, 0) + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_5hkkv"] +shader = ExtResource("7_mwlmc") +shader_parameter/mask_texture = SubResource("GradientTexture2D_au3ml") +shader_parameter/mask_origin = Vector2(896, 128) +shader_parameter/mask_size = Vector2(128, 448) +shader_parameter/fabric_texture = ExtResource("8_50s3p") +shader_parameter/fabric_scale = 1.0 +shader_parameter/progress = 1.0 +shader_parameter/target_canvas_group = false +shader_parameter/smoothness = 0.250000011875 +shader_parameter/burn_size = 0.250000011875 +shader_parameter/burn_color = Color(1.353, 1.353, 0.777, 1) +shader_parameter/canvas_modulate = Color(0.481789, 0.48179, 0.481789, 1) +shader_parameter/gray_intensity = 0.0 + [sub_resource type="Gradient" id="Gradient_5j6h7"] interpolation_mode = 2 interpolation_color_space = 2 @@ -84,8 +110,15 @@ tile_map_data = PackedByteArray("AAACAAMAAAAAAAAAAAADAAMAAAABAAIAAAAEAAMAAAABAAI tile_set = ExtResource("7_5lu30") [node name="FenceDoor" type="TileMapLayer" parent="TileMapLayers" unique_id=1123335364] +material = SubResource("ShaderMaterial_5hkkv") tile_map_data = PackedByteArray("AAAHAAQAAAADAAEAAAAHAAUAAAACAAEAAAAHAAYAAAADAAIAAAA=") tile_set = ExtResource("7_5lu30") +script = ExtResource("20_tbxxm") + +[node name="TileMapMaskBounds" type="Node" parent="TileMapLayers/FenceDoor" unique_id=1792441067 node_paths=PackedStringArray("canvas_item")] +script = ExtResource("8_ssbsc") +canvas_item = NodePath("..") +metadata/_custom_type_script = "uid://dpw8lcjx68p3o" [node name="OnTheGround" type="Node2D" parent="." unique_id=888515986] y_sort_enabled = true @@ -107,7 +140,7 @@ constrain_layer = NodePath("../../TileMapLayers/Paths") [node name="HookableLever" parent="OnTheGround" unique_id=653701664 node_paths=PackedStringArray("targets") instance=ExtResource("14_esoiq")] position = Vector2(703, 448) -targets = [NodePath("../../ToggleableTileMapLayer")] +targets = [NodePath("../../TileMapLayers/FenceDoor")] [node name="HookableNeedle" parent="OnTheGround" unique_id=1182662384 instance=ExtResource("15_bhn5g")] position = Vector2(64, 96) @@ -270,11 +303,6 @@ alert_others_sound_stream = ExtResource("18_obhrw") position = Vector2(207, 349.042) curve = SubResource("Curve2D_rna1f") -[node name="ToggleableTileMapLayer" type="Node2D" parent="." unique_id=374995496 node_paths=PackedStringArray("target")] -script = ExtResource("20_tbxxm") -target = NodePath("../TileMapLayers/FenceDoor") -metadata/_custom_type_script = "uid://c5jp8y8mpge4w" - [node name="ScreenOverlay" type="CanvasLayer" parent="." unique_id=789862376] [node name="CanvasModulate" type="CanvasModulate" parent="." unique_id=1807394969] diff --git a/scenes/dev/grapple/grapple_gym_2/grapple_gym_2.gd b/scenes/dev/grapple/grapple_gym_2/grapple_gym_2.gd index 5104fc9b4a..4ca098b2a7 100644 --- a/scenes/dev/grapple/grapple_gym_2/grapple_gym_2.gd +++ b/scenes/dev/grapple/grapple_gym_2/grapple_gym_2.gd @@ -5,9 +5,11 @@ extends Node2D var zoom_tween: Tween @onready var camera_2d: Camera2D = %Camera2D +@onready var bridges_unlocked: ToggleableTileMapLayer = %BridgesUnlocked func _ready() -> void: + bridges_unlocked.initialize_with_value(false) GameState.player.abilities_changed.connect(_on_abilities_changed) _on_abilities_changed() diff --git a/scenes/dev/grapple/grapple_gym_2/grapple_gym_2.tscn b/scenes/dev/grapple/grapple_gym_2/grapple_gym_2.tscn index ca53633472..d88c8ea25e 100644 --- a/scenes/dev/grapple/grapple_gym_2/grapple_gym_2.tscn +++ b/scenes/dev/grapple/grapple_gym_2/grapple_gym_2.tscn @@ -12,7 +12,10 @@ [ext_resource type="SpriteFrames" uid="uid://cfgahyntmtfgu" path="res://scenes/game_elements/props/powerup/components/powerup_thread.tres" id="4_xhlcu"] [ext_resource type="PackedScene" uid="uid://evb46lm6ssu2" path="res://scenes/game_elements/props/hookable_pin/hookable_pin.tscn" id="5_t21wp"] [ext_resource type="Script" uid="uid://c5jp8y8mpge4w" path="res://scenes/game_elements/props/toggleable_tile_map_layer/toggleable_tile_map_layer.gd" id="7_3w461"] +[ext_resource type="Shader" uid="uid://dui35fhf12sp5" path="res://scenes/game_elements/fx/world_rewoven/components/world_rewoven.gdshader" id="8_k57dq"] +[ext_resource type="Texture2D" uid="uid://drlsbgxh5e6vv" path="res://scenes/game_elements/fx/world_rewoven/components/fabric_texture.png" id="9_6pxnx"] [ext_resource type="PackedScene" uid="uid://covsdqqsd6rsy" path="res://scenes/game_elements/props/sign/sign.tscn" id="9_ctt8w"] +[ext_resource type="Script" uid="uid://dpw8lcjx68p3o" path="res://scenes/game_elements/fx/world_rewoven/components/tile_map_mask_bounds.gd" id="10_woov4"] [ext_resource type="PackedScene" uid="uid://dohb701lxbe5s" path="res://scenes/game_elements/props/hookable_needle/hookable_needle.tscn" id="14_5qe2l"] [ext_resource type="PackedScene" uid="uid://cvtty6np3dcv4" path="res://scenes/game_elements/props/all_hooked/all_hooked.tscn" id="15_0xn1s"] [ext_resource type="PackedScene" uid="uid://d0c4l7ev6ca3c" path="res://scenes/game_elements/props/spawn_point/spawn_point.tscn" id="15_qjdbk"] @@ -27,6 +30,27 @@ [ext_resource type="PackedScene" uid="uid://cfvr32bp2achm" path="res://scenes/game_elements/props/decoration/rock/fabric_rock.tscn" id="24_j21no"] [ext_resource type="PackedScene" uid="uid://dttyvh6kyru5y" path="res://scenes/game_elements/props/decoration/butterfly/butterfly.tscn" id="25_3a52b"] +[sub_resource type="Gradient" id="Gradient_wymun"] +colors = PackedColorArray(1, 1, 1, 1, 0, 0, 0, 1) + +[sub_resource type="GradientTexture2D" id="GradientTexture2D_7vm8y"] +gradient = SubResource("Gradient_wymun") + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_kjrmi"] +shader = ExtResource("8_k57dq") +shader_parameter/mask_texture = SubResource("GradientTexture2D_7vm8y") +shader_parameter/mask_origin = Vector2(1024, -1344) +shader_parameter/mask_size = Vector2(576, 64) +shader_parameter/fabric_texture = ExtResource("9_6pxnx") +shader_parameter/fabric_scale = 1.0 +shader_parameter/progress = 1.0 +shader_parameter/target_canvas_group = false +shader_parameter/smoothness = 0.3230000153425 +shader_parameter/burn_size = 0.3430000162925 +shader_parameter/burn_color = Color(1.353, 1.353, 0.777, 1) +shader_parameter/canvas_modulate = Color(1, 1, 1, 1) +shader_parameter/gray_intensity = 0.0 + [node name="GrappleGym2" type="Node2D" unique_id=129556927] script = ExtResource("1_4arhg") @@ -59,10 +83,17 @@ tile_map_data = PackedByteArray("AAALAAAAAwAAAAMAAAALAP//AwAAAAIAAAALAP7/AwAAAAI tile_set = ExtResource("3_75dn2") [node name="BridgesUnlocked" type="TileMapLayer" parent="TileMapLayers" unique_id=1341990576] +unique_name_in_owner = true +material = SubResource("ShaderMaterial_kjrmi") tile_map_data = PackedByteArray("AAAQAOv/AwAAAAAAAAARAOv/AwABAAAAAAASAOv/AwABAAAAAAATAOv/AwABAAAAAAAUAOv/AwABAAAAAAAVAOv/AwABAAAAAAAWAOv/AwABAAAAAAAXAOv/AwABAAAAAAAYAOv/AwACAAAAAAA=") -enabled = false tile_set = ExtResource("3_75dn2") script = ExtResource("7_3w461") +invert = true + +[node name="TileMapMaskBounds" type="Node" parent="TileMapLayers/BridgesUnlocked" unique_id=448833223 node_paths=PackedStringArray("canvas_item")] +script = ExtResource("10_woov4") +canvas_item = NodePath("..") +metadata/_custom_type_script = "uid://dpw8lcjx68p3o" [node name="OnTheGround" type="Node2D" parent="." unique_id=1706163952] y_sort_enabled = true @@ -485,4 +516,4 @@ position = Vector2(1336, 48) position = Vector2(-158, 1375) [connection signal="all_hooked" from="OnTheGround/AllHooked" to="TileMapLayers/WaterUnlocked" method="set_toggled" binds= [false]] -[connection signal="all_hooked" from="OnTheGround/AllHooked" to="TileMapLayers/BridgesUnlocked" method="set_toggled" binds= [false]] +[connection signal="all_hooked" from="OnTheGround/AllHooked" to="TileMapLayers/BridgesUnlocked" method="set_toggled" binds= [true]] diff --git a/scenes/dev/repel/custom_repellable_objects/custom_repellable_objects_test.tscn b/scenes/dev/repel/custom_repellable_objects/custom_repellable_objects_test.tscn index 526fd8353d..deb883b7cb 100644 --- a/scenes/dev/repel/custom_repellable_objects/custom_repellable_objects_test.tscn +++ b/scenes/dev/repel/custom_repellable_objects/custom_repellable_objects_test.tscn @@ -7,9 +7,12 @@ [ext_resource type="TileSet" uid="uid://b8qnr0owsbhhn" path="res://tiles/exterior_floors.tres" id="5_o0gav"] [ext_resource type="TileSet" uid="uid://do0ffypatd77h" path="res://tiles/bridges.tres" id="6_743bw"] [ext_resource type="TileSet" uid="uid://41pk6xbhypue" path="res://tiles/fence.tres" id="7_thbog"] +[ext_resource type="Shader" uid="uid://dui35fhf12sp5" path="res://scenes/game_elements/fx/world_rewoven/components/world_rewoven.gdshader" id="8_4mh5g"] [ext_resource type="PackedScene" uid="uid://iu2q66clupc6" path="res://scenes/game_elements/characters/player/player.tscn" id="8_d53c5"] [ext_resource type="SpriteFrames" uid="uid://cxjwwgm86d6it" path="res://scenes/game_elements/characters/components/sprite_frames/storyweaver_red.tres" id="9_qo67l"] +[ext_resource type="Texture2D" uid="uid://drlsbgxh5e6vv" path="res://scenes/game_elements/fx/world_rewoven/components/fabric_texture.png" id="9_rxnop"] [ext_resource type="PackedScene" uid="uid://dqo4d6mp4hwhi" path="res://scenes/game_elements/props/repellable_box/repellable_box.tscn" id="10_s3xwn"] +[ext_resource type="Script" uid="uid://dpw8lcjx68p3o" path="res://scenes/game_elements/fx/world_rewoven/components/tile_map_mask_bounds.gd" id="11_au3ml"] [ext_resource type="PackedScene" uid="uid://w50y4sa4xay2" path="res://scenes/game_elements/props/repellable_ball/repellable_ball.tscn" id="11_uqwf7"] [ext_resource type="PackedScene" uid="uid://cuu65vogubwxd" path="res://scenes/game_elements/props/repellable_lever/repellable_lever.tscn" id="12_576oi"] [ext_resource type="PackedScene" uid="uid://crqjcicx0vdu" path="res://scenes/game_elements/props/decoration/bush/bush.tscn" id="13_rqpd2"] @@ -18,6 +21,30 @@ [ext_resource type="PackedScene" uid="uid://cl06pid826dtg" path="res://scenes/game_elements/characters/player/components/player_repel.tscn" id="16_bya72"] [ext_resource type="Script" uid="uid://c5jp8y8mpge4w" path="res://scenes/game_elements/props/toggleable_tile_map_layer/toggleable_tile_map_layer.gd" id="17_xwlxp"] +[sub_resource type="Gradient" id="Gradient_lq5qh"] +colors = PackedColorArray(1, 1, 1, 1, 0, 0, 0, 1) + +[sub_resource type="GradientTexture2D" id="GradientTexture2D_au3ml"] +gradient = SubResource("Gradient_lq5qh") +fill = 1 +fill_from = Vector2(0.5, 0.5) +fill_to = Vector2(0, 0) + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_fhnvg"] +shader = ExtResource("8_4mh5g") +shader_parameter/mask_texture = SubResource("GradientTexture2D_au3ml") +shader_parameter/mask_origin = Vector2(896, 192) +shader_parameter/mask_size = Vector2(128, 320) +shader_parameter/fabric_texture = ExtResource("9_rxnop") +shader_parameter/fabric_scale = 1.0 +shader_parameter/progress = 0.5990000284525 +shader_parameter/target_canvas_group = false +shader_parameter/smoothness = 1.0 +shader_parameter/burn_size = 1.0 +shader_parameter/burn_color = Color(1.353, 1.353, 0.777, 1) +shader_parameter/canvas_modulate = Color(1, 1, 1, 1) +shader_parameter/gray_intensity = 0.0 + [node name="CustomRepellableObjectsTest" type="Node2D" unique_id=324172432] script = ExtResource("1_hfxxd") @@ -50,12 +77,18 @@ tile_map_data = PackedByteArray("AAAGAAkAAwAAAAEAAAAGAAoAAwAAAAIAAAAGAAsAAwAAAAI tile_set = ExtResource("6_743bw") [node name="Fence" type="TileMapLayer" parent="TileMapLayers" unique_id=1482788515] -tile_map_data = PackedByteArray("AAAPAAcAAAACAAEAAAASAAcAAAAAAAEAAAASAAYAAAAAAAEAAAASAAUAAAACAAEAAAASAAQAAAACAAEAAAASAAMAAAACAAEAAAAPAAMAAAAAAAEAAAAPAAIAAAAAAAAAAAAQAAIAAAABAAAAAAARAAIAAAABAAAAAAASAAIAAAACAAAAAAAPAAgAAAAAAAIAAAAQAAgAAAABAAIAAAARAAgAAAABAAIAAAASAAgAAAACAAIAAAAPAAQAAAADAAIAAAAPAAYAAAADAAEAAAA=") +tile_map_data = PackedByteArray("AAAPAAcAAAADAAEAAAASAAcAAAAAAAEAAAASAAYAAAAAAAEAAAASAAUAAAACAAEAAAASAAQAAAACAAEAAAASAAMAAAACAAEAAAAPAAMAAAADAAIAAAAPAAIAAAAAAAAAAAAQAAIAAAABAAAAAAARAAIAAAABAAAAAAASAAIAAAACAAAAAAAPAAgAAAAAAAIAAAAQAAgAAAABAAIAAAARAAgAAAABAAIAAAASAAgAAAACAAIAAAA=") tile_set = ExtResource("7_thbog") -[node name="FenceDoor" type="TileMapLayer" parent="TileMapLayers" unique_id=1123335364] -tile_map_data = PackedByteArray("AAAPAAQAAAAEAAAAAAAOAAQAAAAAAAAAAAAOAAYAAAAAAAIAAAAPAAYAAAAEAAAAAAAOAAUAAAAAAAEAAAA=") +[node name="FenceDoorClosed" type="TileMapLayer" parent="TileMapLayers" unique_id=1123335364] +material = SubResource("ShaderMaterial_fhnvg") +tile_map_data = PackedByteArray("AAAOAAQAAAACAAEAAAAOAAYAAAAAAAEAAAAOAAUAAAAAAAEAAAAOAAMAAAAAAAAAAAAPAAMAAAAEAAAAAAAOAAcAAAAAAAIAAAAPAAcAAAAEAAAAAAA=") tile_set = ExtResource("7_thbog") +script = ExtResource("17_xwlxp") + +[node name="TileMapMaskBounds" type="Node" parent="TileMapLayers/FenceDoorClosed" unique_id=203908000 node_paths=PackedStringArray("canvas_item")] +script = ExtResource("11_au3ml") +canvas_item = NodePath("..") [node name="OnTheGround" type="Node2D" parent="." unique_id=888515986] y_sort_enabled = true @@ -100,7 +133,7 @@ position = Vector2(512, 1088) [node name="RepellableLever" parent="OnTheGround" unique_id=37452001 node_paths=PackedStringArray("targets") instance=ExtResource("12_576oi")] position = Vector2(726, 107) -targets = [NodePath("../../ToggleableTileMapLayer")] +targets = [NodePath("../../TileMapLayers/FenceDoorClosed")] [node name="RepellableLever2" parent="OnTheGround" unique_id=632125149 instance=ExtResource("12_576oi")] position = Vector2(1090, 614) @@ -176,11 +209,6 @@ player_controlled = false unique_name_in_owner = true wait_time = 1.5 -[node name="ToggleableTileMapLayer" type="Node2D" parent="." unique_id=374995496 node_paths=PackedStringArray("target")] -script = ExtResource("17_xwlxp") -target = NodePath("../TileMapLayers/FenceDoor") -metadata/_custom_type_script = "uid://c5jp8y8mpge4w" - [node name="ScreenOverlay" type="CanvasLayer" parent="." unique_id=789862376] [connection signal="toggled" from="OnTheGround/RepellableLever2" to="." method="_on_repellable_lever_2_toggled"] diff --git a/scenes/game_elements/fx/world_rewoven/components/tile_map_mask_bounds.gd b/scenes/game_elements/fx/world_rewoven/components/tile_map_mask_bounds.gd new file mode 100644 index 0000000000..3e7dc1c2b1 --- /dev/null +++ b/scenes/game_elements/fx/world_rewoven/components/tile_map_mask_bounds.gd @@ -0,0 +1,105 @@ +# SPDX-FileCopyrightText: The Threadbare Authors +# SPDX-License-Identifier: MPL-2.0 +@tool +class_name TileMapMaskBounds +extends BaseCanvasItemBehavior +## Feeds the bounds of a set of [TileMapLayer]s to a mask shader. +## +## Shaders such as world_rewoven.gdshader stretch a mask texture across a rect +## given in world units, so that it spans the affected area exactly once whether +## the material is applied to a [CanvasGroup] or to a single [CanvasItem]. This +## node computes that rect from the tiles that are in use, and writes it into the +## [code]mask_origin[/code] and [code]mask_size[/code] parameters of the +## [ShaderMaterial] of [member BaseCanvasItemBehavior.canvas_item]. +## [br][br] +## Only [TileMapLayer]s are measured: the canvas item itself if it is one, plus +## every [TileMapLayer] among its descendants. A [Sprite2D], or any other kind of +## [CanvasItem], is ignored, because Godot has no general way to ask a canvas +## item for its bounds. So a [CanvasGroup] that mixes tile layers with other +## nodes gets a rect that covers the tile layers only, and one with no tile layer +## at all gets no rect, leaving the shader parameters untouched. +## [br][br] +## Add it as a child of the node holding the material. If [member +## BaseCanvasItemBehavior.canvas_item] is not set, the parent is used. + +const MASK_ORIGIN := &"mask_origin" +const MASK_SIZE := &"mask_size" + +## Recompute the rect. Useful after changing the tiles. +@export_tool_button("Update bounds") var update_button: Callable = update_bounds + + +func _set_canvas_item(new_canvas_item: CanvasItem) -> void: + super(new_canvas_item) + update_bounds() + + +func _ready() -> void: + update_bounds() + + +func _get_configuration_warnings() -> PackedStringArray: + var warnings := super() + if canvas_item: + if canvas_item.material is not ShaderMaterial: + warnings.push_back("Canvas item does not have a ShaderMaterial.") + elif _collect_layers(canvas_item).is_empty(): + warnings.push_back( + "No TileMapLayer found in the canvas item, so bounds cannot be computed." + ) + return warnings + + +## Computes the world-space bounds of the canvas item's tiles and writes them to +## its material. +func update_bounds() -> void: + if not is_inside_tree() or not canvas_item: + return + + var material := canvas_item.material as ShaderMaterial + if not material: + return + + var bounds := get_world_bounds(canvas_item) + if not bounds.has_area(): + return + + material.set_shader_parameter(MASK_ORIGIN, bounds.position) + material.set_shader_parameter(MASK_SIZE, bounds.size) + + +## Returns the bounds, in world units, of every [TileMapLayer] in [param root], +## including itself. Returns an empty [Rect2] when there is none. +static func get_world_bounds(root: CanvasItem) -> Rect2: + var bounds := Rect2() + var first := true + + for layer: TileMapLayer in _collect_layers(root): + if not layer.tile_set: + continue + var used := layer.get_used_rect() + if not used.has_area(): + continue + + # get_used_rect() is in tile coordinates; convert to the layer's local + # pixels, then to world space so the rect is comparable across layers. + var tile_size := Vector2(layer.tile_set.tile_size) + var local := Rect2(Vector2(used.position) * tile_size, Vector2(used.size) * tile_size) + var world := layer.get_global_transform() * local + + if first: + bounds = world + first = false + else: + bounds = bounds.merge(world) + + return bounds + + +static func _collect_layers(node: Node) -> Array[TileMapLayer]: + var layers: Array[TileMapLayer] = [] + if node is TileMapLayer: + layers.append(node as TileMapLayer) + for child: Node in node.get_children(): + layers.append_array(_collect_layers(child)) + return layers diff --git a/scenes/game_elements/fx/world_rewoven/components/tile_map_mask_bounds.gd.uid b/scenes/game_elements/fx/world_rewoven/components/tile_map_mask_bounds.gd.uid new file mode 100644 index 0000000000..bb6394eab5 --- /dev/null +++ b/scenes/game_elements/fx/world_rewoven/components/tile_map_mask_bounds.gd.uid @@ -0,0 +1 @@ +uid://dpw8lcjx68p3o diff --git a/scenes/game_elements/fx/world_rewoven/components/world_rewoven.gdshader b/scenes/game_elements/fx/world_rewoven/components/world_rewoven.gdshader index 6386fc09a0..f277016d78 100644 --- a/scenes/game_elements/fx/world_rewoven/components/world_rewoven.gdshader +++ b/scenes/game_elements/fx/world_rewoven/components/world_rewoven.gdshader @@ -4,14 +4,29 @@ * SPDX-License-Identifier: MPL-2.0 */ shader_type canvas_item; -render_mode unshaded; +// Not unshaded: the engine only applies the color of a CanvasModulate, and 2D +// lights, to canvas items that are not unshaded. Without this, a node using this +// shader stays untinted while the rest of the scene is tinted. uniform sampler2D screen_texture : hint_screen_texture, repeat_disable, filter_nearest; /** * Grayscale texture with the pattern of the fade. */ -uniform sampler2D mask_texture : hint_default_white; +uniform sampler2D mask_texture : hint_default_white, repeat_disable; + +/** + * Origin, in world units, of the region the fade mask is stretched across. + */ +uniform vec2 mask_origin = vec2(0.0); + +/** + * Size, in world units, of the region the fade mask is stretched across. Set + * this together with [member mask_origin] to the bounds of the affected area, + * so the mask spans it exactly once whether this material is applied to a + * [CanvasGroup] or to a single [CanvasItem] such as a [TileMapLayer]. + */ +uniform vec2 mask_size = vec2(1920.0, 1080.0); /** * Grayscale texture with a fabric pattern to multiply the fade mask. @@ -30,6 +45,11 @@ uniform float fabric_scale : hint_range(0.01, 30.0) = 1.0; */ uniform float progress : hint_range(0.0, 1.0) = 0.0; +/** + * Wether to target a CanvasGroup node or a single CanvasItem. + */ +uniform bool target_canvas_group = true; + /** * How smooth is the edge of the fade. */ @@ -41,9 +61,16 @@ uniform float smoothness : hint_range(0.0, 1.0) = 0.1; uniform float burn_size : hint_range(0.0, 1.0) = 0.15; /** - * The burn color. + * The burn color. Brighter than white, so that it reads as light. + */ +uniform vec4 burn_color : source_color = vec4(1.353, 1.353, 0.777, 1.0); + +/** + * Color of the [CanvasModulate] of the scene, if there is one. The burn is + * divided by it, so that the multiplication the engine does afterwards cancels + * out and the burn keeps its full brightness, as if it was made of light. */ -uniform vec4 burn_color : source_color = vec4(1.0, 1.0, 0.58, 1.0); +uniform vec4 canvas_modulate : source_color = vec4(1.0, 1.0, 1.0, 1.0); /** * How gray is the existing color (not the burn). @@ -62,16 +89,28 @@ void vertex() { void fragment() { // Sample the main texture color of the node - vec4 main_color = textureLod(screen_texture, SCREEN_UV, 0.0); - if (main_color.a > 0.0001) { - main_color.rgb /= main_color.a; + vec4 main_color; + if (target_canvas_group) { + main_color = textureLod(screen_texture, SCREEN_UV, 0.0); + if (main_color.a > 0.0001) { + main_color.rgb /= main_color.a; + } + } else { + // COLOR already holds the texture multiplied by the node's modulate, so + // sampling TEXTURE again here would apply the texture twice and darken + // the result. + main_color = COLOR; } // A gray version of the main color. float gray = dot(main_color.rgb, vec3(0.299, 0.587, 0.114)); - // Sample the mask texture value (taking the red channel) - float mask_value = texture(mask_texture, UV).r; + // Sample the mask texture value (taking the red channel). Using world + // position instead of UV, because on a TileMapLayer UV is the coordinate + // into the tileset atlas of each individual tile, not a coordinate across + // the whole node, which would repeat the mask on every tile. + vec2 mask_uv = (world_position - mask_origin) / mask_size; + float mask_value = texture(mask_texture, mask_uv).r; // Sample the fabric pattern texture (taking the red channel). Sampling by // world position gives the pattern a fixed size in world units, so it grows @@ -81,18 +120,26 @@ void fragment() { vec2 fabric_uv = world_position / (vec2(textureSize(fabric_texture, 0)) * fabric_scale); float fabric_value = 1. - texture(fabric_texture, fabric_uv).r; + // Sweep the threshold slightly past the 0.0 to 1.0 range of the mask, by the + // width of the widest edge, so that progress 0.0 hides every pixel and + // progress 1.0 shows every pixel, whatever the mask texture contains. In + // between, the mask still drives the shape of the transition. + float edge_size = max(smoothness, burn_size); + float threshold = 1.0 - progress * (1.0 + edge_size); + // Calculate a clean alpha cutoff based on progress using smoothness. - float alpha = smoothstep(1.0 - progress, 1.0 - progress + smoothness, mask_value); + float alpha = smoothstep(threshold, threshold + smoothness, mask_value); // Calculate the burn, using burn_size. - float burn = smoothstep(1.0 - progress + burn_size, 1.0 - progress, mask_value); + float burn = smoothstep(threshold + burn_size, threshold, mask_value); vec3 final_color = main_color.rgb; // Apply gray: final_color = mix(final_color, vec3(gray), gray_intensity); - // Apply burn: + // Apply burn, undoing the canvas modulate so that it looks unshaded: if (burn_size != 0.0) { - final_color = mix(final_color, burn_color.rgb, burn * burn_color.a); + vec3 unshaded_burn = burn_color.rgb / max(canvas_modulate.rgb, vec3(0.001)); + final_color = mix(final_color, unshaded_burn, burn * burn_color.a); } // Apply the fabric texture. alpha *= 2.2 * smoothstep(0., fabric_value, alpha); diff --git a/scenes/game_elements/fx/world_rewoven/components/world_rewoven_cutscene_1.tscn b/scenes/game_elements/fx/world_rewoven/components/world_rewoven_cutscene_1.tscn index d3e97815f6..75155a6c23 100644 --- a/scenes/game_elements/fx/world_rewoven/components/world_rewoven_cutscene_1.tscn +++ b/scenes/game_elements/fx/world_rewoven/components/world_rewoven_cutscene_1.tscn @@ -280,12 +280,16 @@ fill_to = Vector2(0, 0) [sub_resource type="ShaderMaterial" id="ShaderMaterial_36ifl"] shader = ExtResource("6_e0bq6") shader_parameter/mask_texture = SubResource("GradientTexture2D_p2pfq") +shader_parameter/mask_origin = Vector2(0, 0) +shader_parameter/mask_size = Vector2(1920, 1080) shader_parameter/fabric_texture = ExtResource("7_d870b") shader_parameter/fabric_scale = 1.0 -shader_parameter/progress = 0.15483856 +shader_parameter/progress = 1.0 +shader_parameter/target_canvas_group = true shader_parameter/smoothness = 0.10000000475 shader_parameter/burn_size = 0.0 -shader_parameter/burn_color = Color(1, 1, 0.58, 1) +shader_parameter/burn_color = Color(1.353, 1.353, 0.777, 1) +shader_parameter/canvas_modulate = Color(1, 1, 1, 1) shader_parameter/gray_intensity = 0.6470000307325 [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_nvr1k"] @@ -389,12 +393,16 @@ fill_to = Vector2(1, 0.08974359) [sub_resource type="ShaderMaterial" id="ShaderMaterial_hrqc3"] shader = ExtResource("6_e0bq6") shader_parameter/mask_texture = SubResource("GradientTexture2D_d870b") +shader_parameter/mask_origin = Vector2(0, 0) +shader_parameter/mask_size = Vector2(1920, 1080) shader_parameter/fabric_texture = ExtResource("7_d870b") shader_parameter/fabric_scale = 1.00000004680148 -shader_parameter/progress = 0.96000004 +shader_parameter/progress = 0.08 +shader_parameter/target_canvas_group = true shader_parameter/smoothness = 0.1 shader_parameter/burn_size = 0.15 -shader_parameter/burn_color = Color(1, 1, 0.58, 1) +shader_parameter/burn_color = Color(1.353, 1.353, 0.777, 1) +shader_parameter/canvas_modulate = Color(1, 1, 1, 1) shader_parameter/gray_intensity = 0.0 [sub_resource type="CapsuleShape2D" id="CapsuleShape2D_qs15o"] @@ -474,12 +482,12 @@ position = Vector2(0, 112) [node name="Common" type="Node2D" parent="AspectRatioContainer/Wrapper/WorldRewoven" unique_id=288379822] [node name="Water" type="TileMapLayer" parent="AspectRatioContainer/Wrapper/WorldRewoven/Common" unique_id=1829302660] -modulate = Color(0.9481866, 0.90357035, 0.91557986, 1) +modulate = Color(0.6373058, 0.32499206, 0.40905845, 1) tile_map_data = PackedByteArray("AADw//f/AAAAAAAAAADw//j/AAAAAAAAAADw//n/AAAAAAAAAADw//r/AAAAAAAAAADw//v/AAAAAAAAAADw//z/AAAAAAAAAADw//3/AAAAAAAAAADw//7/AAAAAAAAAADw////AAAAAAAAAADw/wAAAAAAAAAAAADw/wEAAAAAAAAAAADw/wIAAAAAAAAAAADw/wMAAAAAAAAAAADw/wQAAAAAAAAAAADw/wUAAAAAAAAAAADw/wYAAAAAAAAAAADw/wcAAAAAAAAAAADx//f/AAAAAAAAAADx//j/AAAAAAAAAADx//n/AAAAAAAAAADx//r/AAAAAAAAAADx//v/AAAAAAAAAADx//z/AAAAAAAAAADx//3/AAAAAAAAAADx//7/AAAAAAAAAADx////AAAAAAAAAADx/wAAAAAAAAAAAADx/wEAAAAAAAAAAADx/wIAAAAAAAAAAADx/wMAAAAAAAAAAADx/wQAAAAAAAAAAADx/wUAAAAAAAAAAADx/wYAAAAAAAAAAADx/wcAAAAAAAAAAADy//f/AAAAAAAAAADy//j/AAAAAAAAAADy//n/AAAAAAAAAADy//r/AAAAAAAAAADy//v/AAAAAAAAAADy//z/AAAAAAAAAADy//3/AAAAAAAAAADy//7/AAAAAAAAAADy////AAAAAAAAAADy/wAAAAAAAAAAAADy/wEAAAAAAAAAAADy/wIAAAAAAAAAAADy/wMAAAAAAAAAAADy/wQAAAAAAAAAAADy/wUAAAAAAAAAAADy/wYAAAAAAAAAAADy/wcAAAAAAAAAAADz//f/AAAAAAAAAADz//j/AAAAAAAAAADz//n/AAAAAAAAAADz//r/AAAAAAAAAADz//v/AAAAAAAAAADz//z/AAAAAAAAAADz//3/AAAAAAAAAADz//7/AAAAAAAAAADz////AAAAAAAAAADz/wAAAAAAAAAAAADz/wEAAAAAAAAAAADz/wIAAAAAAAAAAADz/wMAAAAAAAAAAADz/wQAAAAAAAAAAADz/wUAAAAAAAAAAADz/wYAAAAAAAAAAADz/wcAAAAAAAAAAAD0//f/AAAAAAAAAAD0//j/AAAAAAAAAAD0//n/AAAAAAAAAAD0//r/AAAAAAAAAAD0//v/AAAAAAAAAAD0//z/AAAAAAAAAAD0//3/AAAAAAAAAAD0//7/AAAAAAAAAAD0////AAAAAAAAAAD0/wAAAAAAAAAAAAD0/wEAAAAAAAAAAAD0/wIAAAAAAAAAAAD0/wMAAAAAAAAAAAD0/wQAAAAAAAAAAAD0/wUAAAAAAAAAAAD0/wYAAAAAAAAAAAD0/wcAAAAAAAAAAAD1//f/AAAAAAAAAAD1//j/AAAAAAAAAAD1//n/AAAAAAAAAAD1//r/AAAAAAAAAAD1//v/AAAAAAAAAAD1//z/AAAAAAAAAAD1//3/AAAAAAAAAAD1//7/AAAAAAAAAAD1////AAAAAAAAAAD1/wAAAAAAAAAAAAD1/wEAAAAAAAAAAAD1/wIAAAAAAAAAAAD1/wMAAAAAAAAAAAD1/wQAAAAAAAAAAAD1/wUAAAAAAAAAAAD1/wYAAAAAAAAAAAD1/wcAAAAAAAAAAAD2//f/AAAAAAAAAAD2//j/AAAAAAAAAAD2//n/AAAAAAAAAAD2//r/AAAAAAAAAAD2//v/AAAAAAAAAAD2//z/AAAAAAAAAAD2//3/AAAAAAAAAAD2//7/AAAAAAAAAAD2////AAAAAAAAAAD2/wAAAAAAAAAAAAD2/wEAAAAAAAAAAAD2/wIAAAAAAAAAAAD2/wMAAAAAAAAAAAD2/wQAAAAAAAAAAAD2/wUAAAAAAAAAAAD2/wYAAAAAAAAAAAD2/wcAAAAAAAAAAAD3//f/AAAAAAAAAAD3//j/AAAAAAAAAAD3//n/AAAAAAAAAAD3//r/AAAAAAAAAAD3//v/AAAAAAAAAAD3//z/AAAAAAAAAAD3//3/AAAAAAAAAAD3//7/AAAAAAAAAAD3////AAAAAAAAAAD3/wAAAAAAAAAAAAD3/wEAAAAAAAAAAAD3/wIAAAAAAAAAAAD3/wMAAAAAAAAAAAD3/wQAAAAAAAAAAAD3/wUAAAAAAAAAAAD3/wYAAAAAAAAAAAD3/wcAAAAAAAAAAAD4//f/AAAAAAAAAAD4//j/AAAAAAAAAAD4//n/AAAAAAAAAAD4//r/AAAAAAAAAAD4//v/AAAAAAAAAAD4//z/AAAAAAAAAAD4//3/AAAAAAAAAAD4//7/AAAAAAAAAAD4////AAAAAAAAAAD4/wAAAAAAAAAAAAD4/wEAAAAAAAAAAAD4/wIAAAAAAAAAAAD4/wMAAAAAAAAAAAD4/wQAAAAAAAAAAAD4/wUAAAAAAAAAAAD4/wYAAAAAAAAAAAD4/wcAAAAAAAAAAAD5//f/AAAAAAAAAAD5//j/AAAAAAAAAAD5//n/AAAAAAAAAAD5//r/AAAAAAAAAAD5//v/AAAAAAAAAAD5//z/AAAAAAAAAAD5//3/AAAAAAAAAAD5//7/AAAAAAAAAAD5////AAAAAAAAAAD5/wAAAAAAAAAAAAD5/wEAAAAAAAAAAAD5/wIAAAAAAAAAAAD5/wMAAAAAAAAAAAD5/wQAAAAAAAAAAAD5/wUAAAAAAAAAAAD5/wYAAAAAAAAAAAD5/wcAAAAAAAAAAAD6//f/AAAAAAAAAAD6//j/AAAAAAAAAAD6//n/AAAAAAAAAAD6//r/AAAAAAAAAAD6//v/AAAAAAAAAAD6//z/AAAAAAAAAAD6//3/AAAAAAAAAAD6//7/AAAAAAAAAAD6////AAAAAAAAAAD6/wAAAAAAAAAAAAD6/wEAAAAAAAAAAAD6/wIAAAAAAAAAAAD6/wMAAAAAAAAAAAD6/wQAAAAAAAAAAAD6/wUAAAAAAAAAAAD6/wYAAAAAAAAAAAD6/wcAAAAAAAAAAAD7//f/AAAAAAAAAAD7//j/AAAAAAAAAAD7//n/AAAAAAAAAAD7//r/AAAAAAAAAAD7//v/AAAAAAAAAAD7//z/AAAAAAAAAAD7//3/AAAAAAAAAAD7//7/AAAAAAAAAAD7////AAAAAAAAAAD7/wAAAAAAAAAAAAD7/wEAAAAAAAAAAAD7/wIAAAAAAAAAAAD7/wMAAAAAAAAAAAD7/wQAAAAAAAAAAAD7/wUAAAAAAAAAAAD7/wYAAAAAAAAAAAD7/wcAAAAAAAAAAAD8//f/AAAAAAAAAAD8//j/AAAAAAAAAAD8//n/AAAAAAAAAAD8//r/AAAAAAAAAAD8//v/AAAAAAAAAAD8//z/AAAAAAAAAAD8//3/AAAAAAAAAAD8//7/AAAAAAAAAAD8////AAAAAAAAAAD8/wAAAAAAAAAAAAD8/wEAAAAAAAAAAAD8/wIAAAAAAAAAAAD8/wMAAAAAAAAAAAD8/wQAAAAAAAAAAAD8/wUAAAAAAAAAAAD8/wYAAAAAAAAAAAD8/wcAAAAAAAAAAAD9//f/AAAAAAAAAAD9//j/AAAAAAAAAAD9//n/AAAAAAAAAAD9//r/AAAAAAAAAAD9//v/AAAAAAAAAAD9//z/AAAAAAAAAAD9//3/AAAAAAAAAAD9//7/AAAAAAAAAAD9////AAAAAAAAAAD9/wAAAAAAAAAAAAD9/wEAAAAAAAAAAAD9/wIAAAAAAAAAAAD9/wMAAAAAAAAAAAD9/wQAAAAAAAAAAAD9/wUAAAAAAAAAAAD9/wYAAAAAAAAAAAD9/wcAAAAAAAAAAAD+//f/AAAAAAAAAAD+//j/AAAAAAAAAAD+//n/AAAAAAAAAAD+//r/AAAAAAAAAAD+//v/AAAAAAAAAAD+//z/AAAAAAAAAAD+//3/AAAAAAAAAAD+//7/AAAAAAAAAAD+////AAAAAAAAAAD+/wAAAAAAAAAAAAD+/wEAAAAAAAAAAAD+/wIAAAAAAAAAAAD+/wMAAAAAAAAAAAD+/wQAAAAAAAAAAAD+/wUAAAAAAAAAAAD+/wYAAAAAAAAAAAD+/wcAAAAAAAAAAAD///f/AAAAAAAAAAD///j/AAAAAAAAAAD///n/AAAAAAAAAAD///r/AAAAAAAAAAD///v/AAAAAAAAAAD///z/AAAAAAAAAAD///3/AAAAAAAAAAD///7/AAAAAAAAAAD/////AAAAAAAAAAD//wAAAAAAAAAAAAD//wEAAAAAAAAAAAD//wIAAAAAAAAAAAD//wMAAAAAAAAAAAD//wQAAAAAAAAAAAD//wUAAAAAAAAAAAD//wYAAAAAAAAAAAD//wcAAAAAAAAAAAAAAPf/AAAAAAAAAAAAAPj/AAAAAAAAAAAAAPn/AAAAAAAAAAAAAPr/AAAAAAAAAAAAAPv/AAAAAAAAAAAAAPz/AAAAAAAAAAAAAP3/AAAAAAAAAAAAAP7/AAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAcAAAAAAAAAAAABAPf/AAAAAAAAAAABAPj/AAAAAAAAAAABAPn/AAAAAAAAAAABAPr/AAAAAAAAAAABAPv/AAAAAAAAAAABAPz/AAAAAAAAAAABAP3/AAAAAAAAAAABAP7/AAAAAAAAAAABAP//AAAAAAAAAAABAAAAAAAAAAAAAAABAAEAAAAAAAAAAAABAAIAAAAAAAAAAAABAAMAAAAAAAAAAAABAAQAAAAAAAAAAAABAAUAAAAAAAAAAAABAAYAAAAAAAAAAAABAAcAAAAAAAAAAAACAPf/AAAAAAAAAAACAPj/AAAAAAAAAAACAPn/AAAAAAAAAAACAPr/AAAAAAAAAAACAPv/AAAAAAAAAAACAPz/AAAAAAAAAAACAP3/AAAAAAAAAAACAP7/AAAAAAAAAAACAP//AAAAAAAAAAACAAAAAAAAAAAAAAACAAEAAAAAAAAAAAACAAIAAAAAAAAAAAACAAMAAAAAAAAAAAACAAQAAAAAAAAAAAACAAUAAAAAAAAAAAACAAYAAAAAAAAAAAACAAcAAAAAAAAAAAADAPf/AAAAAAAAAAADAPj/AAAAAAAAAAADAPn/AAAAAAAAAAADAPr/AAAAAAAAAAADAPv/AAAAAAAAAAADAPz/AAAAAAAAAAADAP3/AAAAAAAAAAADAP7/AAAAAAAAAAADAP//AAAAAAAAAAADAAAAAAAAAAAAAAADAAEAAAAAAAAAAAADAAIAAAAAAAAAAAADAAMAAAAAAAAAAAADAAQAAAAAAAAAAAADAAUAAAAAAAAAAAADAAYAAAAAAAAAAAADAAcAAAAAAAAAAAAEAPf/AAAAAAAAAAAEAPj/AAAAAAAAAAAEAPn/AAAAAAAAAAAEAPr/AAAAAAAAAAAEAPv/AAAAAAAAAAAEAPz/AAAAAAAAAAAEAP3/AAAAAAAAAAAEAP7/AAAAAAAAAAAEAP//AAAAAAAAAAAEAAAAAAAAAAAAAAAEAAEAAAAAAAAAAAAEAAIAAAAAAAAAAAAEAAMAAAAAAAAAAAAEAAQAAAAAAAAAAAAEAAUAAAAAAAAAAAAEAAYAAAAAAAAAAAAEAAcAAAAAAAAAAAAFAPf/AAAAAAAAAAAFAPj/AAAAAAAAAAAFAPn/AAAAAAAAAAAFAPr/AAAAAAAAAAAFAPv/AAAAAAAAAAAFAPz/AAAAAAAAAAAFAP3/AAAAAAAAAAAFAP7/AAAAAAAAAAAFAP//AAAAAAAAAAAFAAAAAAAAAAAAAAAFAAEAAAAAAAAAAAAFAAIAAAAAAAAAAAAFAAMAAAAAAAAAAAAFAAQAAAAAAAAAAAAFAAUAAAAAAAAAAAAFAAYAAAAAAAAAAAAFAAcAAAAAAAAAAAAGAPf/AAAAAAAAAAAGAPj/AAAAAAAAAAAGAPn/AAAAAAAAAAAGAPr/AAAAAAAAAAAGAPv/AAAAAAAAAAAGAPz/AAAAAAAAAAAGAP3/AAAAAAAAAAAGAP7/AAAAAAAAAAAGAP//AAAAAAAAAAAGAAAAAAAAAAAAAAAGAAEAAAAAAAAAAAAGAAIAAAAAAAAAAAAGAAMAAAAAAAAAAAAGAAQAAAAAAAAAAAAGAAUAAAAAAAAAAAAGAAYAAAAAAAAAAAAGAAcAAAAAAAAAAAAHAPf/AAAAAAAAAAAHAPj/AAAAAAAAAAAHAPn/AAAAAAAAAAAHAPr/AAAAAAAAAAAHAPv/AAAAAAAAAAAHAPz/AAAAAAAAAAAHAP3/AAAAAAAAAAAHAP7/AAAAAAAAAAAHAP//AAAAAAAAAAAHAAAAAAAAAAAAAAAHAAEAAAAAAAAAAAAHAAIAAAAAAAAAAAAHAAMAAAAAAAAAAAAHAAQAAAAAAAAAAAAHAAUAAAAAAAAAAAAHAAYAAAAAAAAAAAAHAAcAAAAAAAAAAAAIAPf/AAAAAAAAAAAIAPj/AAAAAAAAAAAIAPn/AAAAAAAAAAAIAPr/AAAAAAAAAAAIAPv/AAAAAAAAAAAIAPz/AAAAAAAAAAAIAP3/AAAAAAAAAAAIAP7/AAAAAAAAAAAIAP//AAAAAAAAAAAIAAAAAAAAAAAAAAAIAAEAAAAAAAAAAAAIAAIAAAAAAAAAAAAIAAMAAAAAAAAAAAAIAAQAAAAAAAAAAAAIAAUAAAAAAAAAAAAIAAYAAAAAAAAAAAAIAAcAAAAAAAAAAAAJAPf/AAAAAAAAAAAJAPj/AAAAAAAAAAAJAPn/AAAAAAAAAAAJAPr/AAAAAAAAAAAJAPv/AAAAAAAAAAAJAPz/AAAAAAAAAAAJAP3/AAAAAAAAAAAJAP7/AAAAAAAAAAAJAP//AAAAAAAAAAAJAAAAAAAAAAAAAAAJAAEAAAAAAAAAAAAJAAIAAAAAAAAAAAAJAAMAAAAAAAAAAAAJAAQAAAAAAAAAAAAJAAUAAAAAAAAAAAAJAAYAAAAAAAAAAAAJAAcAAAAAAAAAAAAKAPf/AAAAAAAAAAAKAPj/AAAAAAAAAAAKAPn/AAAAAAAAAAAKAPr/AAAAAAAAAAAKAPv/AAAAAAAAAAAKAPz/AAAAAAAAAAAKAP3/AAAAAAAAAAAKAP7/AAAAAAAAAAAKAP//AAAAAAAAAAAKAAAAAAAAAAAAAAAKAAEAAAAAAAAAAAAKAAIAAAAAAAAAAAAKAAMAAAAAAAAAAAAKAAQAAAAAAAAAAAAKAAUAAAAAAAAAAAAKAAYAAAAAAAAAAAAKAAcAAAAAAAAAAAALAPf/AAAAAAAAAAALAPj/AAAAAAAAAAALAPn/AAAAAAAAAAALAPr/AAAAAAAAAAALAPv/AAAAAAAAAAALAPz/AAAAAAAAAAALAP3/AAAAAAAAAAALAP7/AAAAAAAAAAALAP//AAAAAAAAAAALAAAAAAAAAAAAAAALAAEAAAAAAAAAAAALAAIAAAAAAAAAAAALAAMAAAAAAAAAAAALAAQAAAAAAAAAAAALAAUAAAAAAAAAAAALAAYAAAAAAAAAAAALAAcAAAAAAAAAAAAMAPf/AAAAAAAAAAAMAPj/AAAAAAAAAAAMAPn/AAAAAAAAAAAMAPr/AAAAAAAAAAAMAPv/AAAAAAAAAAAMAPz/AAAAAAAAAAAMAP3/AAAAAAAAAAAMAP7/AAAAAAAAAAAMAP//AAAAAAAAAAAMAAAAAAAAAAAAAAAMAAEAAAAAAAAAAAAMAAIAAAAAAAAAAAAMAAMAAAAAAAAAAAAMAAQAAAAAAAAAAAAMAAUAAAAAAAAAAAAMAAYAAAAAAAAAAAAMAAcAAAAAAAAAAAANAPf/AAAAAAAAAAANAPj/AAAAAAAAAAANAPn/AAAAAAAAAAANAPr/AAAAAAAAAAANAPv/AAAAAAAAAAANAPz/AAAAAAAAAAANAP3/AAAAAAAAAAANAP7/AAAAAAAAAAANAP//AAAAAAAAAAANAAAAAAAAAAAAAAANAAEAAAAAAAAAAAANAAIAAAAAAAAAAAANAAMAAAAAAAAAAAANAAQAAAAAAAAAAAANAAUAAAAAAAAAAAANAAYAAAAAAAAAAAANAAcAAAAAAAAAAAAOAPf/AAAAAAAAAAAOAPj/AAAAAAAAAAAOAPn/AAAAAAAAAAAOAPr/AAAAAAAAAAAOAPv/AAAAAAAAAAAOAPz/AAAAAAAAAAAOAP3/AAAAAAAAAAAOAP7/AAAAAAAAAAAOAP//AAAAAAAAAAAOAAAAAAAAAAAAAAAOAAEAAAAAAAAAAAAOAAIAAAAAAAAAAAAOAAMAAAAAAAAAAAAOAAQAAAAAAAAAAAAOAAUAAAAAAAAAAAAOAAYAAAAAAAAAAAAOAAcAAAAAAAAAAAAPAPf/AAAAAAAAAAAPAPj/AAAAAAAAAAAPAPn/AAAAAAAAAAAPAPr/AAAAAAAAAAAPAPv/AAAAAAAAAAAPAPz/AAAAAAAAAAAPAP3/AAAAAAAAAAAPAP7/AAAAAAAAAAAPAP//AAAAAAAAAAAPAAAAAAAAAAAAAAAPAAEAAAAAAAAAAAAPAAIAAAAAAAAAAAAPAAMAAAAAAAAAAAAPAAQAAAAAAAAAAAAPAAUAAAAAAAAAAAAPAAYAAAAAAAAAAAAPAAcAAAAAAAAAAADw/wgAAAAAAAAAAADx/wgAAAAAAAAAAADy/wgAAAAAAAAAAADz/wgAAAAAAAAAAAD0/wgAAAAAAAAAAAD1/wgAAAAAAAAAAAD2/wgAAAAAAAAAAAD3/wgAAAAAAAAAAAD4/wgAAAAAAAAAAAD5/wgAAAAAAAAAAAD6/wgAAAAAAAAAAAD7/wgAAAAAAAAAAAD8/wgAAAAAAAAAAAD9/wgAAAAAAAAAAAD+/wgAAAAAAAAAAAD//wgAAAAAAAAAAAAAAAgAAAAAAAAAAAABAAgAAAAAAAAAAAACAAgAAAAAAAAAAAADAAgAAAAAAAAAAAAEAAgAAAAAAAAAAAAFAAgAAAAAAAAAAAAGAAgAAAAAAAAAAAAHAAgAAAAAAAAAAAAIAAgAAAAAAAAAAAAJAAgAAAAAAAAAAAAKAAgAAAAAAAAAAAALAAgAAAAAAAAAAAAMAAgAAAAAAAAAAAANAAgAAAAAAAAAAAAOAAgAAAAAAAAAAAAPAAgAAAAAAAAAAAA=") tile_set = ExtResource("2_yewlk") [node name="Clouds" type="Node2D" parent="AspectRatioContainer/Wrapper/WorldRewoven/Common" unique_id=245969548] -modulate = Color(0.9247073, 0.9247073, 0.9247073, 0.9115769) +modulate = Color(0.47295138, 0.47295138, 0.47295138, 0.3810385) y_sort_enabled = true [node name="Clouds01" type="Sprite2D" parent="AspectRatioContainer/Wrapper/WorldRewoven/Common/Clouds" unique_id=1413601900] @@ -741,7 +749,7 @@ metadata/_custom_type_script = "uid://dunsvrhq42214" [node name="ShineParticles" type="GPUParticles2D" parent="AspectRatioContainer/Wrapper/WorldRewoven" unique_id=1370188511] modulate = Color(1, 1, 0, 1) material = SubResource("CanvasItemMaterial_tnibl") -position = Vector2(747.68005, 1.0000038) +position = Vector2(-1129.36, 1.0000038) rotation = 0.16250198 amount = 50 texture = ExtResource("43_ny73w") @@ -765,9 +773,9 @@ joint_mode = 2 curve = SubResource("Curve2D_ck1ya") [node name="PathFollow2D" type="PathFollow2D" parent="AspectRatioContainer/Wrapper/WorldRewoven/LineEffect/Path2D" unique_id=951240730] -position = Vector2(974.0001, -127) +position = Vector2(-515.5467, -334.30157) rotation = -1.4861017 -progress = 3254.922 +progress = 716.94806 rotates = false [node name="CurlyTrail" parent="AspectRatioContainer/Wrapper/WorldRewoven/LineEffect/Path2D/PathFollow2D" unique_id=760772735 node_paths=PackedStringArray("line") instance=ExtResource("47_k6wni")] diff --git a/scenes/game_elements/fx/world_rewoven/components/world_rewoven_cutscene_2.tscn b/scenes/game_elements/fx/world_rewoven/components/world_rewoven_cutscene_2.tscn index 77b3d57ccf..c97dfa4f7a 100644 --- a/scenes/game_elements/fx/world_rewoven/components/world_rewoven_cutscene_2.tscn +++ b/scenes/game_elements/fx/world_rewoven/components/world_rewoven_cutscene_2.tscn @@ -319,23 +319,27 @@ _data = { &"cutscene": SubResource("Animation_e0bq6") } -[sub_resource type="Gradient" id="Gradient_6muf5"] +[sub_resource type="Gradient" id="Gradient_nmkn7"] -[sub_resource type="GradientTexture2D" id="GradientTexture2D_1ydj4"] -gradient = SubResource("Gradient_6muf5") +[sub_resource type="GradientTexture2D" id="GradientTexture2D_7d4yl"] +gradient = SubResource("Gradient_nmkn7") fill = 1 -fill_from = Vector2(0.41880342, 0.6367521) +fill_from = Vector2(0.2863248, 0.53846157) fill_to = Vector2(0.13247864, 0) [sub_resource type="ShaderMaterial" id="ShaderMaterial_36ifl"] shader = ExtResource("6_y8egr") -shader_parameter/mask_texture = SubResource("GradientTexture2D_1ydj4") +shader_parameter/mask_texture = SubResource("GradientTexture2D_7d4yl") +shader_parameter/mask_origin = Vector2(0, 0) +shader_parameter/mask_size = Vector2(1920, 1080) shader_parameter/fabric_texture = ExtResource("7_cgmo4") shader_parameter/fabric_scale = 1.0 -shader_parameter/progress = 1.0 +shader_parameter/progress = 0.870129868388176 +shader_parameter/target_canvas_group = true shader_parameter/smoothness = 0.0 shader_parameter/burn_size = 0.0 -shader_parameter/burn_color = Color(1, 1, 0.58, 1) +shader_parameter/burn_color = Color(1.353, 1.353, 0.777, 1) +shader_parameter/canvas_modulate = Color(1, 1, 1, 1) shader_parameter/gray_intensity = 0.6470000307325 [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_nvr1k"] @@ -438,18 +442,22 @@ colors = PackedColorArray(1, 1, 1, 1, 0, 0, 0, 1) [sub_resource type="GradientTexture2D" id="GradientTexture2D_d870b"] gradient = SubResource("Gradient_lq5qh") fill = 1 -fill_from = Vector2(0.41880342, 0.6367521) +fill_from = Vector2(0.2863248, 0.53846157) fill_to = Vector2(0.13247864, 0) [sub_resource type="ShaderMaterial" id="ShaderMaterial_hrqc3"] shader = ExtResource("6_y8egr") shader_parameter/mask_texture = SubResource("GradientTexture2D_d870b") +shader_parameter/mask_origin = Vector2(0, 0) +shader_parameter/mask_size = Vector2(1920, 1080) shader_parameter/fabric_texture = ExtResource("7_cgmo4") shader_parameter/fabric_scale = 1.0 -shader_parameter/progress = 0.0 +shader_parameter/progress = 0.22 +shader_parameter/target_canvas_group = true shader_parameter/smoothness = 0.1 shader_parameter/burn_size = 0.15 -shader_parameter/burn_color = Color(1, 1, 0.58, 1) +shader_parameter/burn_color = Color(1.353, 1.353, 0.777, 1) +shader_parameter/canvas_modulate = Color(1, 1, 1, 1) shader_parameter/gray_intensity = 0.0 [sub_resource type="CapsuleShape2D" id="CapsuleShape2D_qs15o"] @@ -481,7 +489,7 @@ curve = SubResource("Curve_8jhju") [sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_nbnht"] lifetime_randomness = 0.5 particle_flag_disable_z = true -emission_shape_scale = Vector3(1, 0.5, 0) +emission_shape_scale = Vector3(3.42, 1.71, 0) emission_shape = 2 emission_sphere_radius = 64.0 direction = Vector3(0, 0, 0) @@ -528,12 +536,12 @@ size_flags_vertical = 4 [node name="Common" type="Node2D" parent="AspectRatioContainer/Wrapper/WorldRewoven" unique_id=288379822] [node name="Water" type="TileMapLayer" parent="AspectRatioContainer/Wrapper/WorldRewoven/Common" unique_id=1829302660] -modulate = Color(0.6325955, 0.3162257, 0.40138388, 1) +modulate = Color(0.6867641, 0.4170386, 0.48964137, 1) tile_map_data = PackedByteArray("AADw//f/AAAAAAAAAADw//j/AAAAAAAAAADw//n/AAAAAAAAAADw//r/AAAAAAAAAADw//v/AAAAAAAAAADw//z/AAAAAAAAAADw//3/AAAAAAAAAADw//7/AAAAAAAAAADw////AAAAAAAAAADw/wAAAAAAAAAAAADw/wEAAAAAAAAAAADw/wIAAAAAAAAAAADw/wMAAAAAAAAAAADw/wQAAAAAAAAAAADw/wUAAAAAAAAAAADw/wYAAAAAAAAAAADw/wcAAAAAAAAAAADx//f/AAAAAAAAAADx//j/AAAAAAAAAADx//n/AAAAAAAAAADx//r/AAAAAAAAAADx//v/AAAAAAAAAADx//z/AAAAAAAAAADx//3/AAAAAAAAAADx//7/AAAAAAAAAADx////AAAAAAAAAADx/wAAAAAAAAAAAADx/wEAAAAAAAAAAADx/wIAAAAAAAAAAADx/wMAAAAAAAAAAADx/wQAAAAAAAAAAADx/wUAAAAAAAAAAADx/wYAAAAAAAAAAADx/wcAAAAAAAAAAADy//f/AAAAAAAAAADy//j/AAAAAAAAAADy//n/AAAAAAAAAADy//r/AAAAAAAAAADy//v/AAAAAAAAAADy//z/AAAAAAAAAADy//3/AAAAAAAAAADy//7/AAAAAAAAAADy////AAAAAAAAAADy/wAAAAAAAAAAAADy/wEAAAAAAAAAAADy/wIAAAAAAAAAAADy/wMAAAAAAAAAAADy/wQAAAAAAAAAAADy/wUAAAAAAAAAAADy/wYAAAAAAAAAAADy/wcAAAAAAAAAAADz//f/AAAAAAAAAADz//j/AAAAAAAAAADz//n/AAAAAAAAAADz//r/AAAAAAAAAADz//v/AAAAAAAAAADz//z/AAAAAAAAAADz//3/AAAAAAAAAADz//7/AAAAAAAAAADz////AAAAAAAAAADz/wAAAAAAAAAAAADz/wEAAAAAAAAAAADz/wIAAAAAAAAAAADz/wMAAAAAAAAAAADz/wQAAAAAAAAAAADz/wUAAAAAAAAAAADz/wYAAAAAAAAAAADz/wcAAAAAAAAAAAD0//f/AAAAAAAAAAD0//j/AAAAAAAAAAD0//n/AAAAAAAAAAD0//r/AAAAAAAAAAD0//v/AAAAAAAAAAD0//z/AAAAAAAAAAD0//3/AAAAAAAAAAD0//7/AAAAAAAAAAD0////AAAAAAAAAAD0/wAAAAAAAAAAAAD0/wEAAAAAAAAAAAD0/wIAAAAAAAAAAAD0/wMAAAAAAAAAAAD0/wQAAAAAAAAAAAD0/wUAAAAAAAAAAAD0/wYAAAAAAAAAAAD0/wcAAAAAAAAAAAD1//f/AAAAAAAAAAD1//j/AAAAAAAAAAD1//n/AAAAAAAAAAD1//r/AAAAAAAAAAD1//v/AAAAAAAAAAD1//z/AAAAAAAAAAD1//3/AAAAAAAAAAD1//7/AAAAAAAAAAD1////AAAAAAAAAAD1/wAAAAAAAAAAAAD1/wEAAAAAAAAAAAD1/wIAAAAAAAAAAAD1/wMAAAAAAAAAAAD1/wQAAAAAAAAAAAD1/wUAAAAAAAAAAAD1/wYAAAAAAAAAAAD1/wcAAAAAAAAAAAD2//f/AAAAAAAAAAD2//j/AAAAAAAAAAD2//n/AAAAAAAAAAD2//r/AAAAAAAAAAD2//v/AAAAAAAAAAD2//z/AAAAAAAAAAD2//3/AAAAAAAAAAD2//7/AAAAAAAAAAD2////AAAAAAAAAAD2/wAAAAAAAAAAAAD2/wEAAAAAAAAAAAD2/wIAAAAAAAAAAAD2/wMAAAAAAAAAAAD2/wQAAAAAAAAAAAD2/wUAAAAAAAAAAAD2/wYAAAAAAAAAAAD2/wcAAAAAAAAAAAD3//f/AAAAAAAAAAD3//j/AAAAAAAAAAD3//n/AAAAAAAAAAD3//r/AAAAAAAAAAD3//v/AAAAAAAAAAD3//z/AAAAAAAAAAD3//3/AAAAAAAAAAD3//7/AAAAAAAAAAD3////AAAAAAAAAAD3/wAAAAAAAAAAAAD3/wEAAAAAAAAAAAD3/wIAAAAAAAAAAAD3/wMAAAAAAAAAAAD3/wQAAAAAAAAAAAD3/wUAAAAAAAAAAAD3/wYAAAAAAAAAAAD3/wcAAAAAAAAAAAD4//f/AAAAAAAAAAD4//j/AAAAAAAAAAD4//n/AAAAAAAAAAD4//r/AAAAAAAAAAD4//v/AAAAAAAAAAD4//z/AAAAAAAAAAD4//3/AAAAAAAAAAD4//7/AAAAAAAAAAD4////AAAAAAAAAAD4/wAAAAAAAAAAAAD4/wEAAAAAAAAAAAD4/wIAAAAAAAAAAAD4/wMAAAAAAAAAAAD4/wQAAAAAAAAAAAD4/wUAAAAAAAAAAAD4/wYAAAAAAAAAAAD4/wcAAAAAAAAAAAD5//f/AAAAAAAAAAD5//j/AAAAAAAAAAD5//n/AAAAAAAAAAD5//r/AAAAAAAAAAD5//v/AAAAAAAAAAD5//z/AAAAAAAAAAD5//3/AAAAAAAAAAD5//7/AAAAAAAAAAD5////AAAAAAAAAAD5/wAAAAAAAAAAAAD5/wEAAAAAAAAAAAD5/wIAAAAAAAAAAAD5/wMAAAAAAAAAAAD5/wQAAAAAAAAAAAD5/wUAAAAAAAAAAAD5/wYAAAAAAAAAAAD5/wcAAAAAAAAAAAD6//f/AAAAAAAAAAD6//j/AAAAAAAAAAD6//n/AAAAAAAAAAD6//r/AAAAAAAAAAD6//v/AAAAAAAAAAD6//z/AAAAAAAAAAD6//3/AAAAAAAAAAD6//7/AAAAAAAAAAD6////AAAAAAAAAAD6/wAAAAAAAAAAAAD6/wEAAAAAAAAAAAD6/wIAAAAAAAAAAAD6/wMAAAAAAAAAAAD6/wQAAAAAAAAAAAD6/wUAAAAAAAAAAAD6/wYAAAAAAAAAAAD6/wcAAAAAAAAAAAD7//f/AAAAAAAAAAD7//j/AAAAAAAAAAD7//n/AAAAAAAAAAD7//r/AAAAAAAAAAD7//v/AAAAAAAAAAD7//z/AAAAAAAAAAD7//3/AAAAAAAAAAD7//7/AAAAAAAAAAD7////AAAAAAAAAAD7/wAAAAAAAAAAAAD7/wEAAAAAAAAAAAD7/wIAAAAAAAAAAAD7/wMAAAAAAAAAAAD7/wQAAAAAAAAAAAD7/wUAAAAAAAAAAAD7/wYAAAAAAAAAAAD7/wcAAAAAAAAAAAD8//f/AAAAAAAAAAD8//j/AAAAAAAAAAD8//n/AAAAAAAAAAD8//r/AAAAAAAAAAD8//v/AAAAAAAAAAD8//z/AAAAAAAAAAD8//3/AAAAAAAAAAD8//7/AAAAAAAAAAD8////AAAAAAAAAAD8/wAAAAAAAAAAAAD8/wEAAAAAAAAAAAD8/wIAAAAAAAAAAAD8/wMAAAAAAAAAAAD8/wQAAAAAAAAAAAD8/wUAAAAAAAAAAAD8/wYAAAAAAAAAAAD8/wcAAAAAAAAAAAD9//f/AAAAAAAAAAD9//j/AAAAAAAAAAD9//n/AAAAAAAAAAD9//r/AAAAAAAAAAD9//v/AAAAAAAAAAD9//z/AAAAAAAAAAD9//3/AAAAAAAAAAD9//7/AAAAAAAAAAD9////AAAAAAAAAAD9/wAAAAAAAAAAAAD9/wEAAAAAAAAAAAD9/wIAAAAAAAAAAAD9/wMAAAAAAAAAAAD9/wQAAAAAAAAAAAD9/wUAAAAAAAAAAAD9/wYAAAAAAAAAAAD9/wcAAAAAAAAAAAD+//f/AAAAAAAAAAD+//j/AAAAAAAAAAD+//n/AAAAAAAAAAD+//r/AAAAAAAAAAD+//v/AAAAAAAAAAD+//z/AAAAAAAAAAD+//3/AAAAAAAAAAD+//7/AAAAAAAAAAD+////AAAAAAAAAAD+/wAAAAAAAAAAAAD+/wEAAAAAAAAAAAD+/wIAAAAAAAAAAAD+/wMAAAAAAAAAAAD+/wQAAAAAAAAAAAD+/wUAAAAAAAAAAAD+/wYAAAAAAAAAAAD+/wcAAAAAAAAAAAD///f/AAAAAAAAAAD///j/AAAAAAAAAAD///n/AAAAAAAAAAD///r/AAAAAAAAAAD///v/AAAAAAAAAAD///z/AAAAAAAAAAD///3/AAAAAAAAAAD///7/AAAAAAAAAAD/////AAAAAAAAAAD//wAAAAAAAAAAAAD//wEAAAAAAAAAAAD//wIAAAAAAAAAAAD//wMAAAAAAAAAAAD//wQAAAAAAAAAAAD//wUAAAAAAAAAAAD//wYAAAAAAAAAAAD//wcAAAAAAAAAAAAAAPf/AAAAAAAAAAAAAPj/AAAAAAAAAAAAAPn/AAAAAAAAAAAAAPr/AAAAAAAAAAAAAPv/AAAAAAAAAAAAAPz/AAAAAAAAAAAAAP3/AAAAAAAAAAAAAP7/AAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAcAAAAAAAAAAAABAPf/AAAAAAAAAAABAPj/AAAAAAAAAAABAPn/AAAAAAAAAAABAPr/AAAAAAAAAAABAPv/AAAAAAAAAAABAPz/AAAAAAAAAAABAP3/AAAAAAAAAAABAP7/AAAAAAAAAAABAP//AAAAAAAAAAABAAAAAAAAAAAAAAABAAEAAAAAAAAAAAABAAIAAAAAAAAAAAABAAMAAAAAAAAAAAABAAQAAAAAAAAAAAABAAUAAAAAAAAAAAABAAYAAAAAAAAAAAABAAcAAAAAAAAAAAACAPf/AAAAAAAAAAACAPj/AAAAAAAAAAACAPn/AAAAAAAAAAACAPr/AAAAAAAAAAACAPv/AAAAAAAAAAACAPz/AAAAAAAAAAACAP3/AAAAAAAAAAACAP7/AAAAAAAAAAACAP//AAAAAAAAAAACAAAAAAAAAAAAAAACAAEAAAAAAAAAAAACAAIAAAAAAAAAAAACAAMAAAAAAAAAAAACAAQAAAAAAAAAAAACAAUAAAAAAAAAAAACAAYAAAAAAAAAAAACAAcAAAAAAAAAAAADAPf/AAAAAAAAAAADAPj/AAAAAAAAAAADAPn/AAAAAAAAAAADAPr/AAAAAAAAAAADAPv/AAAAAAAAAAADAPz/AAAAAAAAAAADAP3/AAAAAAAAAAADAP7/AAAAAAAAAAADAP//AAAAAAAAAAADAAAAAAAAAAAAAAADAAEAAAAAAAAAAAADAAIAAAAAAAAAAAADAAMAAAAAAAAAAAADAAQAAAAAAAAAAAADAAUAAAAAAAAAAAADAAYAAAAAAAAAAAADAAcAAAAAAAAAAAAEAPf/AAAAAAAAAAAEAPj/AAAAAAAAAAAEAPn/AAAAAAAAAAAEAPr/AAAAAAAAAAAEAPv/AAAAAAAAAAAEAPz/AAAAAAAAAAAEAP3/AAAAAAAAAAAEAP7/AAAAAAAAAAAEAP//AAAAAAAAAAAEAAAAAAAAAAAAAAAEAAEAAAAAAAAAAAAEAAIAAAAAAAAAAAAEAAMAAAAAAAAAAAAEAAQAAAAAAAAAAAAEAAUAAAAAAAAAAAAEAAYAAAAAAAAAAAAEAAcAAAAAAAAAAAAFAPf/AAAAAAAAAAAFAPj/AAAAAAAAAAAFAPn/AAAAAAAAAAAFAPr/AAAAAAAAAAAFAPv/AAAAAAAAAAAFAPz/AAAAAAAAAAAFAP3/AAAAAAAAAAAFAP7/AAAAAAAAAAAFAP//AAAAAAAAAAAFAAAAAAAAAAAAAAAFAAEAAAAAAAAAAAAFAAIAAAAAAAAAAAAFAAMAAAAAAAAAAAAFAAQAAAAAAAAAAAAFAAUAAAAAAAAAAAAFAAYAAAAAAAAAAAAFAAcAAAAAAAAAAAAGAPf/AAAAAAAAAAAGAPj/AAAAAAAAAAAGAPn/AAAAAAAAAAAGAPr/AAAAAAAAAAAGAPv/AAAAAAAAAAAGAPz/AAAAAAAAAAAGAP3/AAAAAAAAAAAGAP7/AAAAAAAAAAAGAP//AAAAAAAAAAAGAAAAAAAAAAAAAAAGAAEAAAAAAAAAAAAGAAIAAAAAAAAAAAAGAAMAAAAAAAAAAAAGAAQAAAAAAAAAAAAGAAUAAAAAAAAAAAAGAAYAAAAAAAAAAAAGAAcAAAAAAAAAAAAHAPf/AAAAAAAAAAAHAPj/AAAAAAAAAAAHAPn/AAAAAAAAAAAHAPr/AAAAAAAAAAAHAPv/AAAAAAAAAAAHAPz/AAAAAAAAAAAHAP3/AAAAAAAAAAAHAP7/AAAAAAAAAAAHAP//AAAAAAAAAAAHAAAAAAAAAAAAAAAHAAEAAAAAAAAAAAAHAAIAAAAAAAAAAAAHAAMAAAAAAAAAAAAHAAQAAAAAAAAAAAAHAAUAAAAAAAAAAAAHAAYAAAAAAAAAAAAHAAcAAAAAAAAAAAAIAPf/AAAAAAAAAAAIAPj/AAAAAAAAAAAIAPn/AAAAAAAAAAAIAPr/AAAAAAAAAAAIAPv/AAAAAAAAAAAIAPz/AAAAAAAAAAAIAP3/AAAAAAAAAAAIAP7/AAAAAAAAAAAIAP//AAAAAAAAAAAIAAAAAAAAAAAAAAAIAAEAAAAAAAAAAAAIAAIAAAAAAAAAAAAIAAMAAAAAAAAAAAAIAAQAAAAAAAAAAAAIAAUAAAAAAAAAAAAIAAYAAAAAAAAAAAAIAAcAAAAAAAAAAAAJAPf/AAAAAAAAAAAJAPj/AAAAAAAAAAAJAPn/AAAAAAAAAAAJAPr/AAAAAAAAAAAJAPv/AAAAAAAAAAAJAPz/AAAAAAAAAAAJAP3/AAAAAAAAAAAJAP7/AAAAAAAAAAAJAP//AAAAAAAAAAAJAAAAAAAAAAAAAAAJAAEAAAAAAAAAAAAJAAIAAAAAAAAAAAAJAAMAAAAAAAAAAAAJAAQAAAAAAAAAAAAJAAUAAAAAAAAAAAAJAAYAAAAAAAAAAAAJAAcAAAAAAAAAAAAKAPf/AAAAAAAAAAAKAPj/AAAAAAAAAAAKAPn/AAAAAAAAAAAKAPr/AAAAAAAAAAAKAPv/AAAAAAAAAAAKAPz/AAAAAAAAAAAKAP3/AAAAAAAAAAAKAP7/AAAAAAAAAAAKAP//AAAAAAAAAAAKAAAAAAAAAAAAAAAKAAEAAAAAAAAAAAAKAAIAAAAAAAAAAAAKAAMAAAAAAAAAAAAKAAQAAAAAAAAAAAAKAAUAAAAAAAAAAAAKAAYAAAAAAAAAAAAKAAcAAAAAAAAAAAALAPf/AAAAAAAAAAALAPj/AAAAAAAAAAALAPn/AAAAAAAAAAALAPr/AAAAAAAAAAALAPv/AAAAAAAAAAALAPz/AAAAAAAAAAALAP3/AAAAAAAAAAALAP7/AAAAAAAAAAALAP//AAAAAAAAAAALAAAAAAAAAAAAAAALAAEAAAAAAAAAAAALAAIAAAAAAAAAAAALAAMAAAAAAAAAAAALAAQAAAAAAAAAAAALAAUAAAAAAAAAAAALAAYAAAAAAAAAAAALAAcAAAAAAAAAAAAMAPf/AAAAAAAAAAAMAPj/AAAAAAAAAAAMAPn/AAAAAAAAAAAMAPr/AAAAAAAAAAAMAPv/AAAAAAAAAAAMAPz/AAAAAAAAAAAMAP3/AAAAAAAAAAAMAP7/AAAAAAAAAAAMAP//AAAAAAAAAAAMAAAAAAAAAAAAAAAMAAEAAAAAAAAAAAAMAAIAAAAAAAAAAAAMAAMAAAAAAAAAAAAMAAQAAAAAAAAAAAAMAAUAAAAAAAAAAAAMAAYAAAAAAAAAAAAMAAcAAAAAAAAAAAANAPf/AAAAAAAAAAANAPj/AAAAAAAAAAANAPn/AAAAAAAAAAANAPr/AAAAAAAAAAANAPv/AAAAAAAAAAANAPz/AAAAAAAAAAANAP3/AAAAAAAAAAANAP7/AAAAAAAAAAANAP//AAAAAAAAAAANAAAAAAAAAAAAAAANAAEAAAAAAAAAAAANAAIAAAAAAAAAAAANAAMAAAAAAAAAAAANAAQAAAAAAAAAAAANAAUAAAAAAAAAAAANAAYAAAAAAAAAAAANAAcAAAAAAAAAAAAOAPf/AAAAAAAAAAAOAPj/AAAAAAAAAAAOAPn/AAAAAAAAAAAOAPr/AAAAAAAAAAAOAPv/AAAAAAAAAAAOAPz/AAAAAAAAAAAOAP3/AAAAAAAAAAAOAP7/AAAAAAAAAAAOAP//AAAAAAAAAAAOAAAAAAAAAAAAAAAOAAEAAAAAAAAAAAAOAAIAAAAAAAAAAAAOAAMAAAAAAAAAAAAOAAQAAAAAAAAAAAAOAAUAAAAAAAAAAAAOAAYAAAAAAAAAAAAOAAcAAAAAAAAAAAAPAPf/AAAAAAAAAAAPAPj/AAAAAAAAAAAPAPn/AAAAAAAAAAAPAPr/AAAAAAAAAAAPAPv/AAAAAAAAAAAPAPz/AAAAAAAAAAAPAP3/AAAAAAAAAAAPAP7/AAAAAAAAAAAPAP//AAAAAAAAAAAPAAAAAAAAAAAAAAAPAAEAAAAAAAAAAAAPAAIAAAAAAAAAAAAPAAMAAAAAAAAAAAAPAAQAAAAAAAAAAAAPAAUAAAAAAAAAAAAPAAYAAAAAAAAAAAAPAAcAAAAAAAAAAADw/wgAAAAAAAAAAADx/wgAAAAAAAAAAADy/wgAAAAAAAAAAADz/wgAAAAAAAAAAAD0/wgAAAAAAAAAAAD1/wgAAAAAAAAAAAD2/wgAAAAAAAAAAAD3/wgAAAAAAAAAAAD4/wgAAAAAAAAAAAD5/wgAAAAAAAAAAAD6/wgAAAAAAAAAAAD7/wgAAAAAAAAAAAD8/wgAAAAAAAAAAAD9/wgAAAAAAAAAAAD+/wgAAAAAAAAAAAD//wgAAAAAAAAAAAAAAAgAAAAAAAAAAAABAAgAAAAAAAAAAAACAAgAAAAAAAAAAAADAAgAAAAAAAAAAAAEAAgAAAAAAAAAAAAFAAgAAAAAAAAAAAAGAAgAAAAAAAAAAAAHAAgAAAAAAAAAAAAIAAgAAAAAAAAAAAAJAAgAAAAAAAAAAAAKAAgAAAAAAAAAAAALAAgAAAAAAAAAAAAMAAgAAAAAAAAAAAANAAgAAAAAAAAAAAAOAAgAAAAAAAAAAAAPAAgAAAAAAAAAAAA=") tile_set = ExtResource("2_dec8y") [node name="Clouds" type="Node2D" parent="AspectRatioContainer/Wrapper/WorldRewoven/Common" unique_id=604162110] -modulate = Color(0.4661066, 0.4661066, 0.4661066, 0.37300003) +modulate = Color(0.5448216, 0.5448216, 0.5448216, 0.4654423) y_sort_enabled = true [node name="Clouds03" type="Sprite2D" parent="AspectRatioContainer/Wrapper/WorldRewoven/Common/Clouds" unique_id=229245325] @@ -623,7 +631,6 @@ texture = ExtResource("18_xl184") [node name="WorldNew" type="CanvasGroup" parent="AspectRatioContainer/Wrapper/WorldRewoven" unique_id=1449698380] material = SubResource("ShaderMaterial_hrqc3") -position = Vector2(2, 0) [node name="TileMapLayers" type="Node2D" parent="AspectRatioContainer/Wrapper/WorldRewoven/WorldNew" unique_id=1973521633] @@ -828,8 +835,7 @@ metadata/_custom_type_script = "uid://dunsvrhq42214" [node name="ShineParticles" type="GPUParticles2D" parent="AspectRatioContainer/Wrapper/WorldRewoven" unique_id=1370188511] modulate = Color(1, 1, 0, 1) material = SubResource("CanvasItemMaterial_tnibl") -position = Vector2(-90, 207) -emitting = false +position = Vector2(-90, 181.26) amount = 100 texture = ExtResource("48_qofm8") lifetime = 5.0 @@ -852,16 +858,17 @@ joint_mode = 2 curve = SubResource("Curve2D_ah750") [node name="PathFollow2D" type="PathFollow2D" parent="AspectRatioContainer/Wrapper/WorldRewoven/LineEffect/Path2D" unique_id=2140966178] -position = Vector2(-671, 640) +position = Vector2(-193.65665, -17.500929) rotation = -1.4861017 +progress = 2112.3203 rotates = false [node name="CurlyTrail" parent="AspectRatioContainer/Wrapper/WorldRewoven/LineEffect/Path2D/PathFollow2D" unique_id=760772735 node_paths=PackedStringArray("line") instance=ExtResource("50_2bs3d")] +process_mode = 4 line = NodePath("../../../Line2D") radius = 49.99999739229679 [node name="StitchTrail" type="Node2D" parent="AspectRatioContainer/Wrapper/WorldRewoven/LineEffect/Path2D/PathFollow2D" unique_id=374919940 node_paths=PackedStringArray("line")] -process_mode = 4 script = ExtResource("50_wh1pc") line = NodePath("../../../Line2D") width = 30.0 diff --git a/scenes/game_elements/props/door/components/door.gd b/scenes/game_elements/props/door/components/door.gd index 7f5d64e580..7ba8c7ba96 100644 --- a/scenes/game_elements/props/door/components/door.gd +++ b/scenes/game_elements/props/door/components/door.gd @@ -23,7 +23,7 @@ func close() -> void: set_toggled(false) -func set_toggled(value: bool) -> void: +func set_toggled(value: bool, _immediate: bool = false) -> void: opened = value diff --git a/scenes/game_elements/props/lever/components/toggleable.gd b/scenes/game_elements/props/lever/components/toggleable.gd index cbe211d0af..d59bd8d2d6 100644 --- a/scenes/game_elements/props/lever/components/toggleable.gd +++ b/scenes/game_elements/props/lever/components/toggleable.gd @@ -15,7 +15,7 @@ extends Node2D ## ## Subclasses can override for other behaviours. func initialize_with_value(value: bool) -> void: - set_toggled(value) + set_toggled(value, true) -@abstract func set_toggled(value: bool) -> void +@abstract func set_toggled(value: bool, immediate: bool = false) -> void diff --git a/scenes/game_elements/props/toggleable_tile_map_layer/toggleable_tile_map_layer.gd b/scenes/game_elements/props/toggleable_tile_map_layer/toggleable_tile_map_layer.gd index d7b7af005f..f1787b6046 100644 --- a/scenes/game_elements/props/toggleable_tile_map_layer/toggleable_tile_map_layer.gd +++ b/scenes/game_elements/props/toggleable_tile_map_layer/toggleable_tile_map_layer.gd @@ -16,6 +16,12 @@ extends Toggleable ## child of a [TileMapLayer]; or instantiated elsewhere in the tree, in which ## case [member target] must be set. +## Name of the shader parameter that drives the transition. +const PROGRESS_PARAMETER := &"progress" + +## Property path of [constant PROGRESS_PARAMETER], to animate it with a [Tween]. +const PROGRESS_PROPERTY := ^"shader_parameter/progress" + ## The [TileMapLayer] to be toggled. If this script is attached directly to a ## [TileMapLayer], this property cannot be changed. @export var target: TileMapLayer: @@ -26,6 +32,18 @@ extends Toggleable ## than enabled. @export var invert: bool = false +## Duration of a full fade transition. The state is committed halfway through it. +## A transition that interrupts another one is shorter, in proportion to the +## distance left to cover. Set to 0 for no animation, so that the state changes +## immediately. +@export_range(0.0, 10.0, 0.1, "suffix:s") var transition_duration: float = 3.0 + +var _transition_tween: Tween + +## The material that drives the transition, or null when [member target] cannot +## be animated. Resolved once, when [member target] is set. +var _transition_material: ShaderMaterial + func _enter_tree() -> void: if not target: @@ -45,10 +63,47 @@ func _validate_property(property: Dictionary) -> void: func _set_target(value: TileMapLayer) -> void: target = value + _transition_material = _find_transition_material() notify_property_list_changed() update_configuration_warnings() +## Returns the [ShaderMaterial] that drives the transition, looked up in [member +## target] first and then in its first ancestor [CanvasGroup], because the +## material may be applied to a group that composites this layer together with +## others instead of to the layer itself. +## [br][br] +## Returns null when neither has a usable material, in which case the state +## changes with no animation. +func _find_transition_material() -> ShaderMaterial: + if not target: + return null + + var own_material := _as_transition_material(target.material) + if own_material: + return own_material + + var ancestor := target.get_parent() + while ancestor: + if ancestor is CanvasGroup: + return _as_transition_material((ancestor as CanvasGroup).material) + ancestor = ancestor.get_parent() + + return null + + +## Returns [param material] if it can drive the transition, which means being a +## [ShaderMaterial] with a [constant PROGRESS_PARAMETER] parameter. Returns null +## otherwise. +static func _as_transition_material(target_material: Material) -> ShaderMaterial: + var shader_material := target_material as ShaderMaterial + if not shader_material: + return null + if shader_material.get_shader_parameter(PROGRESS_PARAMETER) == null: + return null + return shader_material + + func _get_configuration_warnings() -> PackedStringArray: var warnings := PackedStringArray() if not target and (self as Node2D) is not TileMapLayer: @@ -56,5 +111,48 @@ func _get_configuration_warnings() -> PackedStringArray: return warnings -func set_toggled(value: bool) -> void: - target.enabled = value if invert else not value +func set_toggled(value: bool, immediate: bool = false) -> void: + if _transition_tween: + _transition_tween.kill() + var enabled := value if invert else not value + + var can_animate := not immediate and transition_duration > 0.0 and _transition_material != null + if not can_animate: + # Settle the effect on the value it would have at the end of a + # transition, so that the node is correctly initialized and a later + # transition starts from a known state. + if _transition_material: + _transition_material.set_shader_parameter(PROGRESS_PARAMETER, 1.0 if enabled else 0.0) + _set_interactions_enabled(enabled) + target.enabled = enabled + return + + # Keep the layer rendered and visible for the whole transition, so that the + # shader has something to fade in or out. + target.enabled = true + + # Split the tween in two halves. Halfway through, commit everything except + # rendering, so that the change is felt in the middle of the transition. + # Rendering is only disabled at the very end, because turning it off earlier + # would hide the second half of the transition. + # Each half lasts in proportion to the distance it covers, so that the effect + # moves at a constant speed and interrupting a transition does not restart + # the full duration. + var current_progress: float = _transition_material.get_shader_parameter(PROGRESS_PARAMETER) + var progress: float = 1.0 if enabled else 0.0 + var first_half := transition_duration * absf(0.5 - current_progress) + var second_half := transition_duration * 0.5 + + _transition_tween = create_tween() + _transition_tween.tween_property(_transition_material, PROGRESS_PROPERTY, 0.5, first_half) + _transition_tween.tween_callback(_set_interactions_enabled.bind(enabled)) + _transition_tween.tween_property(_transition_material, PROGRESS_PROPERTY, progress, second_half) + _transition_tween.tween_callback(func() -> void: target.enabled = enabled) + + +## Enables or disables everything in [member target] that is not about rendering, +## so that the layer keeps being drawn while the transition finishes. +func _set_interactions_enabled(enabled: bool) -> void: + target.collision_enabled = enabled + target.navigation_enabled = enabled + target.occlusion_enabled = enabled diff --git a/scenes/game_logic/base_canvas_item_behavior.gd b/scenes/game_logic/base_canvas_item_behavior.gd new file mode 100644 index 0000000000..562b08a865 --- /dev/null +++ b/scenes/game_logic/base_canvas_item_behavior.gd @@ -0,0 +1,32 @@ +# SPDX-FileCopyrightText: The Threadbare Authors +# SPDX-License-Identifier: MPL-2.0 +@tool +@abstract class_name BaseCanvasItemBehavior +extends Node +## @experimental +## +## Base class for canvas item behaviors. + +## The controlled canvas item.[br][br] +## +## [b]Note:[/b] If the parent node is a CanvasItem and canvas_item isn't set, +## the parent node will be automatically assigned to this variable. +@export var canvas_item: CanvasItem: + set = _set_canvas_item + + +func _enter_tree() -> void: + if not canvas_item and get_parent() is CanvasItem: + canvas_item = get_parent() + + +func _set_canvas_item(new_canvas_item: CanvasItem) -> void: + canvas_item = new_canvas_item + update_configuration_warnings() + + +func _get_configuration_warnings() -> PackedStringArray: + var warnings: PackedStringArray + if not canvas_item: + warnings.append("Canvas item must be set.") + return warnings diff --git a/scenes/game_logic/base_canvas_item_behavior.gd.uid b/scenes/game_logic/base_canvas_item_behavior.gd.uid new file mode 100644 index 0000000000..848a952c3a --- /dev/null +++ b/scenes/game_logic/base_canvas_item_behavior.gd.uid @@ -0,0 +1 @@ +uid://by83qit2lrb3a diff --git a/scenes/game_logic/canvasitem_behaviors/modulate_as_sky_behavior.gd b/scenes/game_logic/canvasitem_behaviors/modulate_as_sky_behavior.gd index f077c70c1b..eeee88337b 100644 --- a/scenes/game_logic/canvasitem_behaviors/modulate_as_sky_behavior.gd +++ b/scenes/game_logic/canvasitem_behaviors/modulate_as_sky_behavior.gd @@ -2,35 +2,14 @@ # SPDX-License-Identifier: MPL-2.0 @tool class_name ModulateAsSkyBehavior -extends Node +extends BaseCanvasItemBehavior ## @experimental ## ## Tint the canvas item according to the sky color. -## The controlled canvas item. -@export var canvas_item: CanvasItem: - set = _set_canvas_item - var time_and_weather: TimeAndWeather -func _enter_tree() -> void: - if not canvas_item and get_parent() is CanvasItem: - canvas_item = get_parent() - - -func _set_canvas_item(new_canvas_item: CanvasItem) -> void: - canvas_item = new_canvas_item - update_configuration_warnings() - - -func _get_configuration_warnings() -> PackedStringArray: - var warnings: PackedStringArray - if not canvas_item: - warnings.append("Canvas item must be set.") - return warnings - - func _ready() -> void: if Engine.is_editor_hint(): set_process(false) diff --git a/scenes/quests/lore_quests/quest_002/1_void_runner/components/void_runner.gd b/scenes/quests/lore_quests/quest_002/1_void_runner/components/void_runner.gd index c28bb28794..0913d2a558 100644 --- a/scenes/quests/lore_quests/quest_002/1_void_runner/components/void_runner.gd +++ b/scenes/quests/lore_quests/quest_002/1_void_runner/components/void_runner.gd @@ -7,6 +7,8 @@ extends Node2D @export var collectible_thread: CollectibleItem @export var enemy: CharacterBody2D +@onready var animation_player: AnimationPlayer = %AnimationPlayer + func is_enemy_defeated() -> bool: return not is_instance_valid(enemy) @@ -14,6 +16,7 @@ func is_enemy_defeated() -> bool: func repel_void() -> void: whole_scene_camera.priority += 20 - await void_layer.uncover_all(3.0) + animation_player.play(&"retreat") + await animation_player.animation_finished await collectible_thread.reveal() whole_scene_camera.priority -= 20 diff --git a/scenes/quests/lore_quests/quest_002/1_void_runner/void_runner.tscn b/scenes/quests/lore_quests/quest_002/1_void_runner/void_runner.tscn index 9f55abc86e..4b2b12e09d 100644 --- a/scenes/quests/lore_quests/quest_002/1_void_runner/void_runner.tscn +++ b/scenes/quests/lore_quests/quest_002/1_void_runner/void_runner.tscn @@ -17,7 +17,9 @@ [ext_resource type="Script" uid="uid://bdhjixygupit1" path="res://scenes/game_elements/props/area_filler/area_filler.gd" id="9_kgem8"] [ext_resource type="TileSet" uid="uid://ciq5guijvlyb0" path="res://tiles/void_chromakey.tres" id="9_qgmg5"] [ext_resource type="PackedScene" uid="uid://7873qa54birk" path="res://scenes/game_elements/props/tree/tree.tscn" id="10_epkxq"] +[ext_resource type="Shader" uid="uid://dui35fhf12sp5" path="res://scenes/game_elements/fx/world_rewoven/components/world_rewoven.gdshader" id="10_wowsc"] [ext_resource type="PackedScene" uid="uid://bp20cjimwi8l0" path="res://scenes/game_elements/props/buildings/house/house_2.tscn" id="11_5y4tu"] +[ext_resource type="Texture2D" uid="uid://drlsbgxh5e6vv" path="res://scenes/game_elements/fx/world_rewoven/components/fabric_texture.png" id="11_u3utn"] [ext_resource type="SpriteFrames" uid="uid://djwymcffy83" path="res://scenes/game_elements/props/tree/components/tree_spriteframes_red.tres" id="13_b5w51"] [ext_resource type="PackedScene" uid="uid://crqjcicx0vdu" path="res://scenes/game_elements/props/decoration/bush/bush.tscn" id="13_wy2h8"] [ext_resource type="SpriteFrames" uid="uid://br4k784ht8hh0" path="res://scenes/game_elements/props/decoration/bush/components/bush_spriteframes_yellow_large.tres" id="14_ljnmn"] @@ -25,6 +27,7 @@ [ext_resource type="SpriteFrames" uid="uid://dfthhmtn4x3t8" path="res://scenes/game_elements/props/decoration/bush/components/bush_spriteframes_yellow_small.tres" id="15_g2rto"] [ext_resource type="PackedScene" uid="uid://bbsc3wssndtfe" path="res://scenes/game_elements/props/decoration/hiding_mushroom/hiding_mushroom.tscn" id="15_s0pn8"] [ext_resource type="Script" uid="uid://bd046eokvcnu2" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="15_tsnue"] +[ext_resource type="Script" uid="uid://dpw8lcjx68p3o" path="res://scenes/game_elements/fx/world_rewoven/components/tile_map_mask_bounds.gd" id="15_u3utn"] [ext_resource type="PackedScene" uid="uid://v3usqiwy5wpr" path="res://scenes/game_elements/props/decoration/rock/rock.tscn" id="16_kfcfu"] [ext_resource type="Script" uid="uid://bhexx6mj1xv3q" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_2d.gd" id="16_rrp37"] [ext_resource type="Script" uid="uid://8umksf8e80fw" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="17_j6nb3"] @@ -51,6 +54,30 @@ [ext_resource type="PackedScene" uid="uid://cf3cbl12wt6vr" path="res://scenes/game_elements/props/buildings/temple/temple.tscn" id="37_kgem8"] [ext_resource type="PackedScene" uid="uid://dua6mynlw2ptw" path="res://scenes/game_elements/props/checkpoint/checkpoint.tscn" id="48_auh5r"] +[sub_resource type="FastNoiseLite" id="FastNoiseLite_pditp"] +seed = 5566756 +frequency = 0.041 + +[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_xq5un"] +width = 64 +height = 64 +noise = SubResource("FastNoiseLite_pditp") + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_3tl30"] +shader = ExtResource("10_wowsc") +shader_parameter/mask_texture = SubResource("NoiseTexture2D_xq5un") +shader_parameter/mask_origin = Vector2(-1728, -128) +shader_parameter/mask_size = Vector2(6656, 4544) +shader_parameter/fabric_texture = ExtResource("11_u3utn") +shader_parameter/fabric_scale = 1.0 +shader_parameter/progress = 1.0 +shader_parameter/target_canvas_group = true +shader_parameter/smoothness = 0.4910000233225 +shader_parameter/burn_size = 0.4470000212325 +shader_parameter/burn_color = Color(1.1281133, 0.7659265, 1.353256, 1) +shader_parameter/canvas_modulate = Color(1, 1, 1, 1) +shader_parameter/gray_intensity = 0.0 + [sub_resource type="NavigationPolygon" id="NavigationPolygon_05yrb"] vertices = PackedVector2Array(2927.9531, 1448.9609, 2920.039, 3273.8203, -1078, 3206.1563, -1078, 1433.0313) polygons = Array[PackedInt32Array]([PackedInt32Array(0, 1, 2, 3)]) @@ -84,10 +111,47 @@ metadata/_custom_type_script = "uid://bgmwplmj3bfls" [sub_resource type="RectangleShape2D" id="RectangleShape2D_amu0w"] size = Vector2(64, 64) +[sub_resource type="Animation" id="Animation_60ayx"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("TileMapLayers/CanvasGroup:material:shader_parameter/progress") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [1.0] +} + +[sub_resource type="Animation" id="Animation_u3utn"] +resource_name = "retreat" +length = 3.0000000000000004 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("TileMapLayers/CanvasGroup:material:shader_parameter/progress") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 3), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [1.0, 0.0] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_60ayx"] +_data = { +&"RESET": SubResource("Animation_60ayx"), +&"retreat": SubResource("Animation_u3utn") +} + [node name="VoidRunner" type="Node2D" unique_id=506997450 node_paths=PackedStringArray("whole_scene_camera", "void_layer", "collectible_thread", "enemy")] script = ExtResource("1_r04sh") whole_scene_camera = NodePath("WholeSceneCamera") -void_layer = NodePath("TileMapLayers/Void") +void_layer = NodePath("TileMapLayers/CanvasGroup/Void") collectible_thread = NodePath("OnTheGround/CollectibleItem") enemy = NodePath("OnTheGround/VoidSpreadingEnemy") metadata/_edit_lock_ = true @@ -144,13 +208,21 @@ tile_set = ExtResource("7_7xlw5") tile_map_data = PackedByteArray("AAAtABwAAwAAAAAAAAAuABwAAwABAAAAAAAvABwAAwABAAAAAAAwABwAAwABAAAAAAAxABwAAwABAAAAAAAyABwAAwABAAAAAAAzABwAAwABAAAAAAA0ABwAAwABAAAAAAApABgAAwAAAAIAAAApABcAAwAAAAIAAAApABYAAwAAAAIAAAApABUAAwAAAAEAAAApABkAAwAAAAMAAAAZACsAAwAAAAMAAAAZACoAAwAAAAIAAAAZACkAAwAAAAIAAAAZACgAAwAAAAEAAAA2ABwAAwABAAAAAAA1ABwAAwABAAAAAAA4ABwAAwABAAAAAAA3ABwAAwABAAAAAAA5ABwAAwACAAAAAAANACwAAwACAAAAAAAMACwAAwABAAAAAAALACwAAwABAAAAAAAKACwAAwABAAAAAAAJACwAAwAAAAAAAAD//ywAAwACAAAAAAD+/ywAAwABAAAAAAD9/ywAAwABAAAAAAD8/ywAAwABAAAAAAD7/ywAAwABAAAAAAD6/ywAAwABAAAAAAD5/ywAAwABAAAAAAD4/ywAAwABAAAAAAD3/ywAAwABAAAAAAD2/ywAAwAAAAAAAADv/y8AAwABAAIAAADq/y8AAwACAAEAAAA=") tile_set = ExtResource("7_7xlw5") -[node name="Void" type="TileMapLayer" parent="TileMapLayers" unique_id=1399480676 node_paths=PackedStringArray("consumable_node_holders")] +[node name="CanvasGroup" type="CanvasGroup" parent="TileMapLayers" unique_id=2123193023] +material = SubResource("ShaderMaterial_3tl30") + +[node name="Void" type="TileMapLayer" parent="TileMapLayers/CanvasGroup" unique_id=1399480676 node_paths=PackedStringArray("consumable_node_holders")] texture_filter = 1 material = ExtResource("2_ljnmn") tile_map_data = PackedByteArray("AAALADUADQABAAEAAAALADQADQABAAEAAAALADMADQABAAEAAAALADIADQABAAEAAAALADEADQABAAEAAAALADAADQABAAAAAAAKADUADQABAAEAAAAKADQADQABAAEAAAAKADMADQABAAEAAAAKADIADQABAAEAAAAKADEADQABAAEAAAAKADAADQABAAAAAAAJADUADQABAAEAAAAJADQADQABAAEAAAAJADMADQABAAEAAAAJADIADQABAAEAAAAJADEADQABAAEAAAAJADAADQAAAAAAAAAIADUADQABAAEAAAAIADQADQABAAEAAAAIADMADQABAAEAAAAIADIADQABAAEAAAAIADEADQABAAAAAAAHADUADQABAAEAAAAHADQADQABAAEAAAAHADMADQABAAEAAAAHADIADQABAAEAAAAHADEADQABAAAAAAAGADUADQABAAEAAAAGADQADQABAAEAAAAGADMADQABAAEAAAAGADIADQABAAEAAAAGADEADQABAAAAAAAFADUADQABAAEAAAAFADQADQABAAEAAAAFADMADQABAAEAAAAFADIADQABAAEAAAAFADEADQABAAAAAAAMADUADQABAAEAAAAMADQADQABAAEAAAAMADMADQABAAEAAAAMADIADQABAAEAAAAMADEADQABAAEAAAAMADAADQACAAAAAAAbADUADQABAAEAAAAbADQADQABAAEAAAAbADMADQABAAEAAAAbADIADQABAAEAAAAbADEADQABAAEAAAAaADUADQABAAEAAAAaADQADQABAAEAAAAaADMADQABAAEAAAAaADIADQABAAEAAAAaADEADQABAAAAAAAZADUADQABAAEAAAAZADQADQABAAEAAAAZADMADQABAAEAAAAZADIADQABAAEAAAAZADEADQABAAAAAAAYADUADQABAAEAAAAYADQADQABAAEAAAAYADMADQABAAEAAAAYADIADQABAAEAAAAYADEADQABAAAAAAAXADUADQABAAEAAAAXADQADQABAAEAAAAXADMADQABAAEAAAAXADIADQABAAEAAAAXADEADQABAAAAAAAWADUADQABAAEAAAAWADQADQABAAEAAAAWADMADQABAAEAAAAWADIADQABAAEAAAAWADEADQABAAAAAAAVADUADQABAAEAAAAVADQADQABAAEAAAAVADMADQABAAEAAAAVADIADQABAAEAAAAVADEADQABAAAAAAAUADUADQABAAEAAAAUADQADQABAAEAAAAUADMADQABAAEAAAAUADIADQABAAEAAAAUADEADQABAAAAAAATADUADQABAAEAAAATADQADQABAAEAAAATADMADQABAAEAAAATADIADQABAAEAAAATADEADQABAAAAAAASADUADQABAAEAAAASADQADQABAAEAAAASADMADQABAAEAAAASADIADQABAAEAAAASADEADQABAAAAAAARADUADQABAAEAAAARADQADQABAAEAAAARADMADQABAAEAAAARADIADQABAAEAAAARADEADQABAAAAAAAQADUADQABAAEAAAAQADQADQABAAEAAAAQADMADQABAAEAAAAQADIADQABAAEAAAAQADEADQABAAAAAAAPADUADQABAAEAAAAPADQADQABAAEAAAAPADMADQABAAEAAAAPADIADQABAAEAAAAPADEADQABAAAAAAAOADUADQABAAEAAAAOADQADQABAAEAAAAOADMADQABAAEAAAAOADIADQABAAEAAAAOADEADQABAAAAAAANADUADQABAAEAAAANADQADQABAAEAAAANADMADQABAAEAAAANADIADQABAAEAAAANADEADQABAAAAAAAWACsADQABAAIAAAAWACoADQABAAEAAAAWACkADQABAAEAAAAVACsADQABAAIAAAAVACoADQABAAEAAAAVACkADQABAAEAAAAUACsADQABAAIAAAAUACoADQABAAEAAAAUACkADQABAAEAAAATACsADQABAAIAAAATACoADQABAAEAAAATACkADQABAAEAAAASACsADQABAAIAAAASACoADQABAAEAAAASACkADQABAAEAAAARACsADQABAAIAAAARACoADQABAAEAAAARACkADQABAAEAAAAQACsADQABAAIAAAAQACoADQABAAEAAAAQACkADQABAAEAAAAPACsADQABAAIAAAAPACoADQABAAEAAAAPACkADQABAAEAAAAOACsADQAAAAIAAAAOACoADQABAAEAAAAOACkADQABAAEAAAANACoADQAAAAIAAAANACkADQABAAEAAAAXACgADQACAAEAAAAXACcADQACAAEAAAAXACYADQACAAEAAAAXACUADQACAAAAAAAWACgADQABAAEAAAAWACcADQABAAEAAAAWACYADQABAAEAAAAWACUADQABAAAAAAAVACgADQABAAEAAAAVACcADQABAAEAAAAVACYADQABAAEAAAAVACUADQABAAAAAAAUACgADQABAAEAAAAUACcADQABAAEAAAAUACYADQABAAEAAAAUACUADQABAAAAAAATACgADQABAAEAAAATACcADQABAAEAAAATACYADQABAAEAAAATACUADQABAAAAAAASACgADQABAAEAAAASACcADQABAAEAAAASACYADQABAAEAAAASACUADQABAAAAAAARACgADQABAAEAAAARACcADQABAAEAAAARACYADQABAAEAAAARACUADQABAAAAAAAQACgADQABAAEAAAAQACcADQABAAEAAAAQACYADQABAAEAAAAQACUADQABAAAAAAAPACgADQABAAEAAAAPACcADQABAAEAAAAPACYADQABAAEAAAAPACUADQABAAAAAAAOACgADQABAAEAAAAOACcADQABAAEAAAAOACYADQABAAEAAAAOACUADQABAAAAAAANACgADQABAAEAAAANACcADQABAAEAAAANACYADQABAAEAAAANACUADQABAAEAAAAMACYADQABAAEAAAAMACUADQABAAEAAAANACQADQACAAEAAAAMACQADQABAAEAAAALACYADQAAAAIAAAALACUADQAAAAEAAAALACQADQAAAAEAAAANACMADQACAAEAAAANACIADQACAAEAAAANACEADQACAAEAAAANACAADQACAAEAAAANAB8ADQACAAEAAAANAB4ADQACAAEAAAANAB0ADQACAAEAAAANABwADQACAAEAAAANABsADQABAAEAAAANABoADQABAAEAAAANABkADQABAAEAAAANABgADQABAAEAAAANABcADQABAAEAAAANABYADQABAAEAAAANABUADQABAAEAAAANABQADQABAAEAAAANABMADQABAAEAAAANABIADQABAAEAAAANABEADQABAAEAAAAMACMADQABAAEAAAAMACIADQABAAEAAAAMACEADQABAAEAAAAMACAADQABAAEAAAAMAB8ADQABAAEAAAAMAB4ADQABAAEAAAAMAB0ADQABAAEAAAAMABwADQABAAEAAAAMABsADQABAAEAAAAMABoADQABAAEAAAAMABkADQABAAEAAAAMABgADQABAAEAAAAMABcADQABAAEAAAAMABYADQABAAEAAAAMABUADQABAAEAAAAMABQADQABAAEAAAAMABMADQABAAEAAAAMABIADQABAAEAAAAMABEADQABAAEAAAALACMADQABAAEAAAALACIADQABAAEAAAALACEADQABAAEAAAALACAADQABAAEAAAALAB8ADQABAAEAAAALAB4ADQABAAEAAAALAB0ADQABAAEAAAALABwADQABAAEAAAALABsADQABAAEAAAALABoADQABAAEAAAALABkADQABAAEAAAALABgADQABAAEAAAALABcADQABAAEAAAALABYADQABAAEAAAALABUADQABAAEAAAALABQADQABAAEAAAALABMADQABAAEAAAALABIADQABAAEAAAALABEADQABAAEAAAAKACMADQABAAIAAAAKACIADQABAAEAAAAKACEADQABAAEAAAAKACAADQABAAEAAAAKAB8ADQABAAEAAAAKAB4ADQABAAEAAAAKAB0ADQABAAEAAAAKABwADQABAAEAAAAKABsADQABAAEAAAAKABoADQABAAEAAAAKABkADQABAAEAAAAKABgADQABAAEAAAAKABcADQABAAEAAAAKABYADQABAAEAAAAKABUADQABAAEAAAAKABQADQABAAEAAAAKABMADQABAAEAAAAKABIADQABAAEAAAAKABEADQABAAEAAAAJACMADQABAAIAAAAJACIADQABAAEAAAAJACEADQABAAEAAAAJACAADQABAAEAAAAJAB8ADQABAAEAAAAJAB4ADQABAAEAAAAJAB0ADQABAAEAAAAJABwADQABAAEAAAAJABsADQABAAEAAAAJABoADQABAAEAAAAJABkADQABAAEAAAAJABgADQABAAEAAAAJABcADQABAAEAAAAJABYADQABAAEAAAAJABUADQABAAEAAAAJABQADQABAAEAAAAJABMADQABAAEAAAAJABIADQABAAEAAAAJABEADQABAAEAAAAIACMADQABAAIAAAAIACIADQABAAEAAAAIACEADQABAAEAAAAIACAADQABAAEAAAAIAB8ADQABAAEAAAAIAB4ADQABAAEAAAAIAB0ADQABAAEAAAAIABwADQABAAEAAAAIABsADQABAAEAAAAIABoADQABAAEAAAAIABkADQABAAEAAAAIABgADQABAAEAAAAIABcADQABAAEAAAAIABYADQABAAEAAAAIABUADQABAAEAAAAIABQADQABAAEAAAAIABMADQABAAEAAAAIABIADQABAAEAAAAIABEADQABAAEAAAAHACMADQABAAIAAAAHACIADQABAAEAAAAHACEADQABAAEAAAAHACAADQABAAEAAAAHAB8ADQABAAEAAAAHAB4ADQABAAEAAAAHAB0ADQABAAEAAAAHABwADQABAAEAAAAHABsADQABAAEAAAAHABoADQABAAEAAAAHABkADQABAAEAAAAHABgADQABAAEAAAAHABcADQABAAEAAAAHABYADQABAAEAAAAHABUADQABAAEAAAAHABQADQABAAEAAAAHABMADQABAAEAAAAHABIADQABAAEAAAAHABEADQABAAEAAAAGACMADQABAAIAAAAGACIADQABAAEAAAAGACEADQABAAEAAAAGACAADQABAAEAAAAGAB8ADQABAAEAAAAGAB4ADQABAAEAAAAGAB0ADQABAAEAAAAGABwADQABAAEAAAAGABsADQABAAEAAAAGABoADQABAAEAAAAGABkADQABAAEAAAAGABgADQABAAEAAAAGABcADQABAAEAAAAGABYADQABAAEAAAAGABUADQABAAEAAAAGABQADQABAAEAAAAGABMADQABAAEAAAAGABIADQABAAEAAAAGABEADQABAAEAAAAFACMADQABAAIAAAAFACIADQABAAEAAAAFACEADQABAAEAAAAFACAADQABAAEAAAAFAB8ADQABAAEAAAAFAB4ADQABAAEAAAAFAB0ADQABAAEAAAAFABwADQABAAEAAAAFABsADQABAAEAAAAFABoADQABAAEAAAAFABkADQABAAEAAAAFABgADQABAAEAAAAFABcADQABAAEAAAAFABYADQABAAEAAAAFABUADQABAAEAAAAFABQADQABAAEAAAAFABMADQABAAEAAAAFABIADQABAAEAAAAFABEADQABAAEAAAAtABUADQACAAIAAAAtABQADQACAAEAAAAtABMADQABAAEAAAAtABIADQABAAEAAAAsABUADQABAAIAAAAsABQADQABAAEAAAAsABMADQABAAEAAAAsABIADQABAAEAAAArABUADQABAAEAAAArABQADQABAAEAAAArABMADQABAAEAAAArABIADQABAAEAAAArABEADQABAAEAAAAqABUADQABAAEAAAAqABQADQABAAEAAAAqABMADQABAAEAAAAqABIADQABAAEAAAAqABEADQABAAEAAAApABUADQABAAEAAAApABQADQABAAEAAAApABMADQABAAEAAAApABIADQABAAEAAAApABEADQABAAEAAAAoABUADQABAAEAAAAoABQADQABAAEAAAAoABMADQABAAEAAAAoABIADQABAAEAAAAoABEADQABAAEAAAAnABUADQABAAEAAAAnABQADQABAAEAAAAnABMADQABAAEAAAAnABIADQABAAEAAAAnABEADQABAAEAAAAmABYADQABAAEAAAAmABUADQABAAEAAAAmABQADQABAAEAAAAmABMADQABAAEAAAAmABIADQABAAEAAAAmABEADQABAAEAAAAlABYADQABAAEAAAAlABUADQABAAEAAAAlABQADQABAAEAAAAlABMADQABAAEAAAAlABIADQABAAEAAAAlABEADQABAAEAAAAkABYADQABAAEAAAAkABUADQABAAEAAAAkABQADQABAAEAAAAkABMADQABAAEAAAAkABIADQABAAEAAAAkABEADQABAAEAAAAjABYADQABAAEAAAAjABUADQABAAEAAAAjABQADQABAAEAAAAjABMADQABAAEAAAAjABIADQABAAEAAAAjABEADQABAAEAAAAiABYADQABAAEAAAAiABUADQABAAEAAAAiABQADQABAAEAAAAiABMADQABAAEAAAAiABIADQABAAEAAAAiABEADQABAAEAAAAhABYADQABAAEAAAAhABUADQABAAEAAAAhABQADQABAAEAAAAhABMADQABAAEAAAAhABIADQABAAEAAAAhABEADQABAAEAAAAgABYADQABAAEAAAAgABUADQABAAEAAAAgABQADQABAAEAAAAgABMADQABAAEAAAAgABIADQABAAEAAAAgABEADQABAAEAAAAfABYADQABAAEAAAAfABUADQABAAEAAAAfABQADQABAAEAAAAfABMADQABAAEAAAAfABIADQABAAEAAAAfABEADQABAAEAAAAeABYADQABAAEAAAAeABUADQABAAEAAAAeABQADQABAAEAAAAeABMADQABAAEAAAAeABIADQABAAEAAAAeABEADQABAAEAAAAdABYADQABAAIAAAAdABUADQABAAEAAAAdABQADQABAAEAAAAdABMADQABAAEAAAAdABIADQABAAEAAAAdABEADQABAAEAAAAcABYADQABAAIAAAAcABUADQABAAEAAAAcABQADQABAAEAAAAcABMADQABAAEAAAAcABIADQABAAEAAAAcABEADQABAAEAAAAbABYADQABAAIAAAAbABUADQABAAEAAAAbABQADQABAAEAAAAbABMADQABAAEAAAAbABIADQABAAEAAAAbABEADQABAAEAAAAaABYADQABAAIAAAAaABUADQABAAEAAAAaABQADQABAAEAAAAaABMADQABAAEAAAAaABIADQABAAEAAAAaABEADQABAAEAAAAZABYADQABAAIAAAAZABUADQABAAEAAAAZABQADQABAAEAAAAZABMADQABAAEAAAAZABIADQABAAEAAAAZABEADQABAAEAAAAYABYADQABAAIAAAAYABUADQABAAEAAAAYABQADQABAAEAAAAYABMADQABAAEAAAAYABIADQABAAEAAAAYABEADQABAAEAAAAXABYADQABAAIAAAAXABUADQABAAEAAAAXABQADQABAAEAAAAXABMADQABAAEAAAAXABIADQABAAEAAAAXABEADQABAAEAAAAWABYADQABAAIAAAAWABUADQABAAEAAAAWABQADQABAAEAAAAWABMADQABAAEAAAAWABIADQABAAEAAAAWABEADQABAAEAAAAVABYADQABAAIAAAAVABUADQABAAEAAAAVABQADQABAAEAAAAVABMADQABAAEAAAAVABIADQABAAEAAAAVABEADQABAAEAAAAUABYADQABAAIAAAAUABUADQABAAEAAAAUABQADQABAAEAAAAUABMADQABAAEAAAAUABIADQABAAEAAAAUABEADQABAAEAAAATABYADQABAAIAAAATABUADQABAAEAAAATABQADQABAAEAAAATABMADQABAAEAAAATABIADQABAAEAAAATABEADQABAAEAAAASABYADQABAAIAAAASABUADQABAAEAAAASABQADQABAAEAAAASABMADQABAAEAAAASABIADQABAAEAAAASABEADQABAAEAAAARABYADQABAAIAAAARABUADQABAAEAAAARABQADQABAAEAAAARABMADQABAAEAAAARABIADQABAAEAAAARABEADQABAAEAAAAQABYADQABAAEAAAAQABUADQABAAEAAAAQABQADQABAAEAAAAQABMADQABAAEAAAAQABIADQABAAEAAAAQABEADQABAAEAAAAPABYADQABAAEAAAAPABUADQABAAEAAAAPABQADQABAAEAAAAPABMADQABAAEAAAAPABIADQABAAEAAAAPABEADQABAAEAAAAOABYADQABAAEAAAAOABUADQABAAEAAAAOABQADQABAAEAAAAOABMADQABAAEAAAAOABIADQABAAEAAAAOABEADQABAAEAAAAmABcADQACAAIAAAAlABcADQABAAIAAAAkABcADQABAAIAAAAjABgADQACAAEAAAAjABcADQABAAEAAAAiABgADQABAAEAAAAiABcADQABAAEAAAAhABgADQABAAEAAAAhABcADQABAAEAAAAgABgADQABAAEAAAAgABcADQABAAEAAAAfABgADQABAAEAAAAfABcADQABAAEAAAAeABgADQAAAAEAAAAeABcADQAAAAEAAAAjABkADQACAAEAAAAiABkADQABAAEAAAAhABkADQABAAEAAAAgABkADQABAAEAAAAfABkADQABAAEAAAAeABkADQAAAAEAAAAnABsADQACAAEAAAAnABoADQACAAAAAAAmABsADQABAAEAAAAmABoADQABAAAAAAAlABsADQABAAEAAAAlABoADQABAAAAAAAkABsADQABAAEAAAAkABoADQABAAAAAAAjABsADQABAAEAAAAjABoADQABAAEAAAAiABsADQABAAEAAAAiABoADQABAAEAAAAhABsADQABAAEAAAAhABoADQABAAEAAAAgABsADQAAAAEAAAAgABoADQABAAEAAAAfABoADQABAAIAAAAeABoADQAAAAIAAAAnABwADQACAAIAAAAmABwADQABAAIAAAAlABwADQABAAIAAAAkABwADQABAAEAAAAjABwADQABAAEAAAAiABwADQABAAEAAAAhABwADQABAAEAAAAgABwADQAAAAEAAAAkAB0ADQACAAIAAAAjAB0ADQABAAIAAAAiAB0ADQABAAIAAAAhAB0ADQABAAIAAAAgAB0ADQAAAAIAAAAbACEADQABAAEAAAAbACAADQABAAEAAAAbAB8ADQABAAAAAAAaACEADQABAAIAAAAaACAADQABAAEAAAAaAB8ADQABAAAAAAAZACEADQABAAIAAAAZACAADQABAAEAAAAZAB8ADQABAAAAAAAYACEADQABAAIAAAAYACAADQABAAEAAAAYAB8ADQABAAAAAAAXACEADQABAAIAAAAXACAADQABAAEAAAAXAB8ADQABAAAAAAAWACEADQABAAIAAAAWACAADQABAAEAAAAWAB8ADQABAAAAAAAVACEADQABAAIAAAAVACAADQABAAEAAAAVAB8ADQABAAAAAAAUACEADQABAAIAAAAUACAADQABAAEAAAAUAB8ADQABAAAAAAATACEADQABAAIAAAATACAADQABAAEAAAATAB8ADQABAAAAAAASACEADQABAAIAAAASACAADQABAAEAAAASAB8ADQABAAAAAAARACEADQAAAAIAAAARACAADQAAAAEAAAARAB8ADQAAAAAAAAAcACEADQACAAEAAAAcACAADQACAAEAAAAcAB8ADQACAAAAAAAQABgADQACAAIAAAAQABcADQACAAEAAAAPABgADQABAAEAAAAPABcADQABAAEAAAAOABgADQABAAEAAAAOABcADQABAAEAAAAPABoADQACAAIAAAAPABkADQACAAEAAAAOABoADQABAAEAAAAOABkADQABAAEAAAAcACsADQABAAEAAAAcACoADQABAAEAAAAcACkADQABAAEAAAAcACgADQABAAEAAAAcACcADQABAAEAAAAcACYADQABAAEAAAAcACUADQABAAEAAAAcACQADQABAAEAAAAcACMADQABAAEAAAAcACIADQACAAEAAAAbACsADQAAAAEAAAAbACcADQAAAAEAAAAbACYADQAAAAEAAAAbACUADQAAAAEAAAAbACQADQAAAAEAAAAbACMADQAAAAEAAAAbACIADQAAAAEAAAAdACMADQACAAAAAAAmACsADQABAAEAAAAmACoADQABAAEAAAAmACkADQABAAEAAAAmACgADQABAAEAAAAmACcADQABAAEAAAAmACYADQABAAEAAAAmACUADQABAAEAAAAmACQADQABAAAAAAAlACsADQABAAEAAAAlACoADQABAAEAAAAlACkADQABAAEAAAAlACgADQABAAEAAAAlACcADQABAAEAAAAlACYADQABAAEAAAAlACUADQABAAEAAAAlACQADQABAAAAAAAkACsADQABAAEAAAAkACoADQABAAEAAAAkACkADQABAAEAAAAkACgADQABAAEAAAAkACcADQABAAEAAAAkACYADQABAAEAAAAkACUADQABAAEAAAAkACQADQABAAAAAAAjACsADQABAAEAAAAjACoADQABAAEAAAAjACkADQABAAEAAAAjACgADQABAAEAAAAjACcADQABAAEAAAAjACYADQABAAEAAAAjACUADQABAAEAAAAjACQADQABAAAAAAAiACsADQABAAEAAAAiACoADQABAAEAAAAiACkADQABAAEAAAAiACgADQABAAEAAAAiACcADQABAAEAAAAiACYADQABAAEAAAAiACUADQABAAEAAAAiACQADQABAAAAAAAhACsADQABAAEAAAAhACoADQABAAEAAAAhACkADQABAAEAAAAhACgADQABAAEAAAAhACcADQABAAEAAAAhACYADQABAAEAAAAhACUADQABAAEAAAAhACQADQABAAAAAAAgACsADQABAAEAAAAgACoADQABAAEAAAAgACkADQABAAEAAAAgACgADQABAAEAAAAgACcADQABAAEAAAAgACYADQABAAEAAAAgACUADQABAAEAAAAgACQADQABAAAAAAAfACsADQABAAEAAAAfACoADQABAAEAAAAfACkADQABAAEAAAAfACgADQABAAEAAAAfACcADQABAAEAAAAfACYADQABAAEAAAAfACUADQABAAEAAAAfACQADQABAAAAAAAeACsADQABAAEAAAAeACoADQABAAEAAAAeACkADQABAAEAAAAeACgADQABAAEAAAAeACcADQABAAEAAAAeACYADQABAAEAAAAeACUADQABAAEAAAAeACQADQABAAAAAAAdACsADQABAAEAAAAdACoADQABAAEAAAAdACkADQABAAEAAAAdACgADQABAAEAAAAdACcADQABAAEAAAAdACYADQABAAEAAAAdACUADQABAAEAAAAdACQADQABAAEAAAAmACwADQABAAEAAAAlACwADQABAAEAAAAkACwADQABAAEAAAAjACwADQABAAEAAAAiACwADQABAAEAAAAhACwADQABAAEAAAAgACwADQABAAEAAAAfACwADQABAAEAAAAeACwADQABAAEAAAAdACwADQABAAEAAAAcACwADQABAAEAAAAbACwADQAAAAIAAAAmAC8ADQABAAEAAAAmAC4ADQABAAEAAAAmAC0ADQABAAEAAAAlAC8ADQABAAEAAAAlAC4ADQABAAEAAAAlAC0ADQABAAEAAAAkAC8ADQABAAEAAAAkAC4ADQABAAEAAAAkAC0ADQABAAEAAAAjAC8ADQABAAEAAAAjAC4ADQABAAEAAAAjAC0ADQABAAEAAAAiAC8ADQABAAEAAAAiAC4ADQABAAEAAAAiAC0ADQABAAEAAAAhAC8ADQABAAEAAAAhAC4ADQABAAEAAAAhAC0ADQABAAEAAAAgAC8ADQABAAEAAAAgAC4ADQABAAEAAAAgAC0ADQABAAEAAAAfAC8ADQABAAEAAAAfAC4ADQABAAEAAAAfAC0ADQABAAEAAAAeAC8ADQABAAEAAAAeAC4ADQABAAEAAAAeAC0ADQABAAEAAAAdAC8ADQABAAEAAAAdAC4ADQABAAEAAAAdAC0ADQABAAEAAAAcAC8ADQAAAAEAAAAcAC4ADQAAAAEAAAAcAC0ADQAAAAEAAAAbADAADQAAAAAAAAAwADUADQABAAEAAAAwADQADQABAAEAAAAwADMADQABAAEAAAAwADIADQABAAEAAAAwADEADQABAAEAAAAwADAADQABAAEAAAAvADUADQABAAEAAAAvADQADQABAAEAAAAvADMADQABAAEAAAAvADIADQABAAEAAAAvADEADQABAAEAAAAvADAADQABAAEAAAAuADUADQABAAEAAAAuADQADQABAAEAAAAuADMADQABAAEAAAAuADIADQABAAEAAAAuADEADQABAAEAAAAuADAADQABAAEAAAAtADUADQABAAEAAAAtADQADQABAAEAAAAtADMADQABAAEAAAAtADIADQABAAEAAAAtADEADQABAAEAAAAtADAADQABAAEAAAAsADUADQABAAEAAAAsADQADQABAAEAAAAsADMADQABAAEAAAAsADIADQABAAEAAAAsADEADQABAAEAAAAsADAADQABAAEAAAArADUADQABAAEAAAArADQADQABAAEAAAArADMADQABAAEAAAArADIADQABAAEAAAArADEADQABAAEAAAArADAADQABAAEAAAAqADUADQABAAEAAAAqADQADQABAAEAAAAqADMADQABAAEAAAAqADIADQABAAEAAAAqADEADQABAAEAAAAqADAADQABAAEAAAApADUADQABAAEAAAApADQADQABAAEAAAApADMADQABAAEAAAApADIADQABAAEAAAApADEADQABAAEAAAApADAADQABAAEAAAAoADUADQABAAEAAAAoADQADQABAAEAAAAoADMADQABAAEAAAAoADIADQABAAEAAAAoADEADQABAAEAAAAoADAADQABAAEAAAAnADUADQABAAEAAAAnADQADQABAAEAAAAnADMADQABAAEAAAAnADIADQABAAEAAAAnADEADQABAAEAAAAnADAADQABAAEAAAAmADUADQABAAEAAAAmADQADQABAAEAAAAmADMADQABAAEAAAAmADIADQABAAEAAAAmADEADQABAAEAAAAmADAADQABAAEAAAAlADUADQABAAEAAAAlADQADQABAAEAAAAlADMADQABAAEAAAAlADIADQABAAEAAAAlADEADQABAAEAAAAlADAADQABAAEAAAAkADUADQABAAEAAAAkADQADQABAAEAAAAkADMADQABAAEAAAAkADIADQABAAEAAAAkADEADQABAAEAAAAkADAADQABAAEAAAAjADUADQABAAEAAAAjADQADQABAAEAAAAjADMADQABAAEAAAAjADIADQABAAEAAAAjADEADQABAAEAAAAjADAADQABAAEAAAAiADUADQABAAEAAAAiADQADQABAAEAAAAiADMADQABAAEAAAAiADIADQABAAEAAAAiADEADQABAAEAAAAiADAADQABAAEAAAAhADUADQABAAEAAAAhADQADQABAAEAAAAhADMADQABAAEAAAAhADIADQABAAEAAAAhADEADQABAAEAAAAhADAADQABAAEAAAAgADUADQABAAEAAAAgADQADQABAAEAAAAgADMADQABAAEAAAAgADIADQABAAEAAAAgADEADQABAAEAAAAgADAADQABAAEAAAAfADUADQABAAEAAAAfADQADQABAAEAAAAfADMADQABAAEAAAAfADIADQABAAEAAAAfADEADQABAAEAAAAfADAADQABAAEAAAAeADUADQABAAEAAAAeADQADQABAAEAAAAeADMADQABAAEAAAAeADIADQABAAEAAAAeADEADQABAAEAAAAeADAADQABAAEAAAAdADUADQABAAEAAAAdADQADQABAAEAAAAdADMADQABAAEAAAAdADIADQABAAEAAAAdADEADQABAAEAAAAdADAADQABAAEAAAAcADUADQABAAEAAAAcADQADQABAAEAAAAcADMADQABAAEAAAAcADIADQABAAEAAAAcADEADQABAAEAAAAcADAADQABAAEAAAAvAC8ADQABAAEAAAAvAC4ADQABAAEAAAAvAC0ADQABAAEAAAAvACwADQABAAEAAAAvACsADQABAAEAAAAvACoADQABAAEAAAAwAC8ADQABAAEAAAAwAC4ADQABAAEAAAAwAC0ADQABAAEAAAAwACwADQABAAEAAAAwACsADQABAAEAAAAwACoADQABAAEAAAAwACkADQABAAEAAAAwACgADQABAAEAAAAwACcADQABAAEAAAAwACYADQABAAEAAAAwACUADQACAAEAAAAwACQADQACAAAAAAAvACkADQABAAEAAAAvACgADQABAAEAAAAvACcADQABAAEAAAAvACYADQABAAEAAAAvACUADQABAAEAAAAvACQADQABAAEAAAAuAC8ADQABAAEAAAAuAC4ADQABAAEAAAAuAC0ADQABAAEAAAAuACwADQABAAEAAAAuACsADQABAAEAAAAuACoADQABAAEAAAAuACkADQABAAEAAAAuACgADQABAAEAAAAuACcADQABAAEAAAAuACYADQABAAEAAAAuACUADQABAAEAAAAuACQADQABAAEAAAAtAC8ADQABAAEAAAAtAC4ADQABAAEAAAAtAC0ADQABAAEAAAAtACwADQABAAEAAAAtACsADQABAAEAAAAtACoADQABAAEAAAAtACkADQABAAEAAAAtACgADQABAAEAAAAtACcADQABAAEAAAAtACYADQABAAEAAAAtACUADQABAAEAAAAtACQADQABAAEAAAAsAC8ADQABAAEAAAAsAC4ADQABAAEAAAAsAC0ADQABAAEAAAAsACwADQABAAEAAAAsACsADQABAAEAAAAsACoADQABAAEAAAAsACkADQABAAEAAAAsACgADQABAAEAAAAsACcADQABAAEAAAAsACYADQABAAEAAAAsACUADQABAAEAAAAsACQADQABAAEAAAArAC8ADQABAAEAAAArAC4ADQABAAEAAAArAC0ADQABAAEAAAArACwADQABAAEAAAArACsADQABAAEAAAArACoADQABAAEAAAArACkADQABAAEAAAArACgADQABAAEAAAArACcADQABAAEAAAArACYADQABAAEAAAArACUADQABAAEAAAArACQADQABAAEAAAAqAC8ADQABAAEAAAAqAC4ADQABAAEAAAAqAC0ADQABAAEAAAAqACwADQABAAEAAAAqACsADQABAAEAAAAqACoADQABAAEAAAAqACkADQABAAEAAAAqACgADQABAAEAAAAqACcADQABAAEAAAAqACYADQABAAEAAAAqACUADQABAAEAAAAqACQADQABAAEAAAApAC8ADQABAAEAAAApAC4ADQABAAEAAAApAC0ADQABAAEAAAApACwADQABAAEAAAApACsADQABAAEAAAApACoADQABAAEAAAApACkADQABAAEAAAApACgADQABAAEAAAApACcADQABAAEAAAApACYADQABAAEAAAApACUADQABAAEAAAApACQADQABAAEAAAAoAC8ADQABAAEAAAAoAC4ADQABAAEAAAAoAC0ADQABAAEAAAAoACwADQABAAEAAAAoACsADQABAAEAAAAoACoADQABAAEAAAAoACkADQABAAEAAAAoACgADQABAAEAAAAoACcADQABAAEAAAAoACYADQABAAEAAAAoACUADQABAAEAAAAoACQADQABAAEAAAAnAC8ADQABAAEAAAAnAC4ADQABAAEAAAAnAC0ADQABAAEAAAAnACwADQABAAEAAAAnACsADQABAAEAAAAnACoADQABAAEAAAAnACkADQABAAEAAAAnACgADQABAAEAAAAnACcADQABAAEAAAAnACYADQABAAEAAAAnACUADQABAAEAAAAnACQADQABAAAAAAAvACMADQACAAEAAAAvACIADQACAAEAAAAvACEADQACAAAAAAAuACMADQABAAEAAAAuACIADQABAAEAAAAuACEADQABAAEAAAAtACMADQABAAEAAAAtACIADQABAAEAAAAtACEADQABAAEAAAAsACMADQABAAEAAAAsACIADQABAAEAAAAsACEADQABAAEAAAArACMADQABAAEAAAArACIADQABAAEAAAArACEADQABAAEAAAAqACMADQABAAEAAAAqACIADQABAAEAAAAqACEADQABAAEAAAApACMADQABAAEAAAApACIADQABAAEAAAApACEADQABAAEAAAAoACMADQAAAAEAAAAoACIADQAAAAEAAAAoACEADQAAAAAAAAAuACAADQACAAEAAAAuAB8ADQACAAAAAAAtACAADQABAAEAAAAtAB8ADQABAAAAAAAsACAADQABAAEAAAAsAB8ADQABAAAAAAArACAADQABAAEAAAArAB8ADQAAAAAAAAAOABsADQACAAIAAAAEADUADQABAAEAAAAEADQADQABAAEAAAAEADMADQABAAEAAAAEADIADQABAAEAAAAEADEADQABAAAAAAAEACMADQABAAIAAAAEACIADQABAAEAAAAEACEADQABAAEAAAAEACAADQABAAEAAAAEAB8ADQABAAEAAAAEAB4ADQABAAEAAAAEAB0ADQABAAEAAAAEABwADQABAAEAAAAEABsADQABAAEAAAAEABoADQABAAEAAAAEABkADQABAAEAAAAEABgADQABAAEAAAAEABcADQABAAEAAAAEABYADQABAAEAAAAEABUADQABAAEAAAAEABQADQABAAEAAAAEABMADQABAAEAAAAEABIADQABAAEAAAAEABEADQABAAEAAAAqACAADQABAAAAAAApACAADQAAAAAAAAAtABEADQABAAEAAAAsABEADQABAAEAAAArABYADQACAAIAAAAqABYADQABAAIAAAApABYADQABAAIAAAAoABYADQABAAIAAAAnABYADQABAAIAAAAbACgADQAAAAEAAAAXACkADQACAAEAAAAXACoADQACAAEAAAAXACsADQACAAIAAAAbACkADQAAAAEAAAAbACoADQAAAAEAAAAtABAADQABAAEAAAAtAA8ADQABAAEAAAAtAA4ADQABAAEAAAAtAA0ADQABAAEAAAAtAAwADQABAAEAAAAtAAsADQABAAEAAAAsABAADQABAAEAAAAsAA8ADQABAAEAAAAsAA4ADQABAAEAAAAsAA0ADQABAAEAAAAsAAwADQABAAEAAAAsAAsADQABAAEAAAArABAADQABAAEAAAArAA8ADQABAAEAAAArAA4ADQABAAEAAAArAA0ADQABAAEAAAArAAwADQABAAEAAAArAAsADQABAAEAAAAqABAADQABAAEAAAAqAA8ADQABAAEAAAAqAA4ADQABAAEAAAAqAA0ADQABAAEAAAAqAAwADQABAAEAAAAqAAsADQABAAEAAAApABAADQABAAEAAAApAA8ADQABAAEAAAApAA4ADQABAAEAAAApAA0ADQABAAEAAAApAAwADQABAAEAAAApAAsADQABAAEAAAAoABAADQABAAEAAAAoAA8ADQABAAEAAAAoAA4ADQABAAEAAAAoAA0ADQABAAEAAAAoAAwADQABAAEAAAAoAAsADQABAAEAAAAnABAADQABAAEAAAAnAA8ADQABAAEAAAAnAA4ADQABAAEAAAAnAA0ADQABAAEAAAAnAAwADQABAAEAAAAnAAsADQABAAEAAAAmABAADQABAAEAAAAmAA8ADQABAAEAAAAmAA4ADQABAAEAAAAmAA0ADQABAAEAAAAmAAwADQABAAEAAAAmAAsADQABAAEAAAAlABAADQABAAEAAAAlAA8ADQABAAEAAAAlAA4ADQABAAEAAAAlAA0ADQABAAEAAAAlAAwADQABAAEAAAAlAAsADQABAAEAAAAkABAADQABAAEAAAAkAA8ADQABAAEAAAAkAA4ADQABAAEAAAAkAA0ADQABAAEAAAAkAAwADQABAAEAAAAkAAsADQABAAEAAAAjABAADQABAAEAAAAjAA8ADQABAAEAAAAjAA4ADQABAAEAAAAjAA0ADQABAAEAAAAjAAwADQABAAEAAAAjAAsADQABAAEAAAAiABAADQABAAEAAAAiAA8ADQABAAEAAAAiAA4ADQABAAEAAAAiAA0ADQABAAEAAAAiAAwADQABAAEAAAAiAAsADQABAAEAAAAhABAADQABAAEAAAAhAA8ADQABAAEAAAAhAA4ADQABAAEAAAAhAA0ADQABAAEAAAAhAAwADQABAAEAAAAhAAsADQABAAEAAAAgABAADQABAAEAAAAgAA8ADQABAAEAAAAgAA4ADQABAAEAAAAgAA0ADQABAAEAAAAgAAwADQABAAEAAAAgAAsADQABAAEAAAAfABAADQABAAEAAAAfAA8ADQABAAEAAAAfAA4ADQABAAEAAAAfAA0ADQABAAEAAAAfAAwADQABAAEAAAAfAAsADQABAAEAAAAeABAADQABAAEAAAAeAA8ADQABAAEAAAAeAA4ADQABAAEAAAAeAA0ADQABAAEAAAAeAAwADQABAAEAAAAeAAsADQABAAEAAAAdABAADQABAAEAAAAdAA8ADQABAAEAAAAdAA4ADQABAAEAAAAdAA0ADQABAAEAAAAdAAwADQABAAEAAAAdAAsADQABAAEAAAAcABAADQABAAEAAAAcAA8ADQABAAEAAAAcAA4ADQABAAEAAAAcAA0ADQABAAEAAAAcAAwADQABAAEAAAAcAAsADQABAAEAAAAbABAADQABAAEAAAAbAA8ADQABAAEAAAAbAA4ADQABAAEAAAAbAA0ADQABAAEAAAAbAAwADQABAAEAAAAbAAsADQABAAEAAAAaABAADQABAAEAAAAaAA8ADQABAAEAAAAaAA4ADQABAAEAAAAaAA0ADQABAAEAAAAaAAwADQABAAEAAAAaAAsADQABAAEAAAAZABAADQABAAEAAAAZAA8ADQABAAEAAAAZAA4ADQABAAEAAAAZAA0ADQABAAEAAAAZAAwADQABAAEAAAAZAAsADQABAAEAAAAYABAADQABAAEAAAAYAA8ADQABAAEAAAAYAA4ADQABAAEAAAAYAA0ADQABAAEAAAAYAAwADQABAAEAAAAYAAsADQABAAEAAAAXABAADQABAAEAAAAXAA8ADQABAAEAAAAXAA4ADQABAAEAAAAXAA0ADQABAAEAAAAXAAwADQABAAEAAAAXAAsADQABAAEAAAAWABAADQABAAEAAAAWAA8ADQABAAEAAAAWAA4ADQABAAEAAAAWAA0ADQABAAEAAAAWAAwADQABAAEAAAAWAAsADQABAAEAAAAVABAADQABAAEAAAAVAA8ADQABAAEAAAAVAA4ADQABAAEAAAAVAA0ADQABAAEAAAAVAAwADQABAAEAAAAVAAsADQABAAEAAAAUABAADQABAAEAAAAUAA8ADQABAAEAAAAUAA4ADQABAAEAAAAUAA0ADQABAAEAAAAUAAwADQABAAEAAAAUAAsADQABAAEAAAATABAADQABAAEAAAATAA8ADQABAAEAAAATAA4ADQABAAEAAAATAA0ADQABAAEAAAATAAwADQABAAEAAAATAAsADQABAAEAAAASABAADQABAAEAAAASAA8ADQABAAEAAAASAA4ADQABAAEAAAASAA0ADQABAAEAAAASAAwADQABAAEAAAASAAsADQABAAEAAAARABAADQABAAEAAAARAA8ADQABAAEAAAARAA4ADQABAAEAAAARAA0ADQABAAEAAAARAAwADQABAAEAAAARAAsADQABAAEAAAAQABAADQABAAEAAAAQAA8ADQABAAEAAAAQAA4ADQABAAEAAAAQAA0ADQABAAEAAAAQAAwADQABAAEAAAAQAAsADQABAAEAAAAPABAADQABAAEAAAAPAA8ADQABAAEAAAAPAA4ADQABAAEAAAAPAA0ADQABAAEAAAAPAAwADQABAAEAAAAPAAsADQABAAEAAAAOABAADQABAAEAAAAOAA8ADQABAAEAAAAOAA4ADQABAAEAAAAOAA0ADQABAAEAAAAOAAwADQABAAEAAAAOAAsADQABAAEAAAANABAADQABAAEAAAANAA8ADQABAAEAAAANAA4ADQABAAEAAAANAA0ADQABAAEAAAANAAwADQABAAEAAAANAAsADQABAAEAAAAMABAADQABAAEAAAAMAA8ADQABAAEAAAAMAA4ADQABAAEAAAAMAA0ADQABAAEAAAAMAAwADQABAAEAAAAMAAsADQABAAEAAAALABAADQABAAEAAAALAA8ADQABAAEAAAALAA4ADQABAAEAAAALAA0ADQABAAEAAAALAAwADQABAAEAAAALAAsADQABAAEAAAAKABAADQABAAEAAAAKAA8ADQABAAEAAAAKAA4ADQABAAEAAAAKAA0ADQABAAEAAAAKAAwADQABAAEAAAAKAAsADQABAAEAAAAJABAADQABAAEAAAAJAA8ADQABAAEAAAAJAA4ADQABAAEAAAAJAA0ADQABAAEAAAAJAAwADQABAAEAAAAJAAsADQABAAEAAAAIABAADQABAAEAAAAIAA8ADQABAAEAAAAIAA4ADQABAAEAAAAIAA0ADQABAAEAAAAIAAwADQABAAEAAAAIAAsADQABAAEAAAAHABAADQABAAEAAAAHAA8ADQABAAEAAAAHAA4ADQABAAEAAAAHAA0ADQABAAEAAAAHAAwADQABAAEAAAAHAAsADQABAAEAAAAGABAADQABAAEAAAAGAA8ADQABAAEAAAAGAA4ADQABAAEAAAAGAA0ADQABAAEAAAAGAAwADQABAAEAAAAGAAsADQABAAEAAAAFABAADQABAAEAAAAFAA8ADQABAAEAAAAFAA4ADQABAAEAAAAFAA0ADQABAAEAAAAFAAwADQABAAEAAAAFAAsADQABAAEAAAAEABAADQABAAEAAAAEAA8ADQABAAEAAAAEAA4ADQABAAEAAAAEAA0ADQABAAEAAAAEAAwADQABAAEAAAAEAAsADQABAAEAAAADABMADQABAAEAAAADABIADQABAAEAAAADABEADQABAAEAAAADABAADQABAAEAAAADAA8ADQABAAEAAAADAA4ADQABAAEAAAADAA0ADQABAAEAAAADAAwADQABAAEAAAADAAsADQABAAEAAAACABMADQABAAEAAAACABIADQABAAEAAAACABEADQABAAEAAAACABAADQABAAEAAAACAA8ADQABAAEAAAACAA4ADQABAAEAAAACAA0ADQABAAEAAAACAAwADQABAAEAAAACAAsADQABAAEAAAABABMADQABAAEAAAABABIADQABAAEAAAABABEADQABAAEAAAABABAADQABAAEAAAABAA8ADQABAAEAAAABAA4ADQABAAEAAAABAA0ADQABAAEAAAABAAwADQABAAEAAAABAAsADQABAAEAAAAAABMADQABAAEAAAAAABIADQABAAEAAAAAABEADQABAAEAAAAAABAADQABAAEAAAAAAA8ADQABAAEAAAAAAA4ADQABAAEAAAAAAA0ADQABAAEAAAAAAAwADQABAAEAAAAAAAsADQABAAEAAAADADMADQABAAEAAAADADIADQABAAEAAAADADEADQABAAAAAAADACMADQABAAIAAAADACIADQABAAEAAAADACEADQABAAEAAAADACAADQABAAEAAAADAB8ADQABAAEAAAADAB4ADQABAAEAAAADAB0ADQABAAEAAAADABwADQABAAEAAAADABsADQABAAEAAAADABoADQABAAEAAAADABkADQABAAEAAAADABgADQABAAEAAAADABcADQABAAEAAAADABYADQABAAEAAAADABUADQABAAEAAAADABQADQABAAEAAAACADMADQABAAEAAAACADIADQABAAEAAAACADEADQABAAAAAAACACMADQABAAIAAAACACIADQABAAEAAAACACEADQABAAEAAAACACAADQABAAEAAAACAB8ADQABAAEAAAACAB4ADQABAAEAAAACAB0ADQABAAEAAAACABwADQABAAEAAAACABsADQABAAEAAAACABoADQABAAEAAAACABkADQABAAEAAAACABgADQABAAEAAAACABcADQABAAEAAAACABYADQABAAEAAAACABUADQABAAEAAAACABQADQABAAEAAAABADMADQABAAEAAAABADIADQABAAEAAAABADEADQABAAAAAAABACMADQABAAIAAAABACIADQABAAEAAAABACEADQABAAEAAAABACAADQABAAEAAAABAB8ADQABAAEAAAABAB4ADQABAAEAAAABAB0ADQABAAEAAAABABwADQABAAEAAAABABsADQABAAEAAAABABoADQABAAEAAAABABkADQABAAEAAAABABgADQABAAEAAAABABcADQABAAEAAAABABYADQABAAEAAAABABUADQABAAEAAAABABQADQABAAEAAAAAADMADQABAAEAAAAAADIADQABAAEAAAAAADEADQABAAAAAAAAACMADQABAAIAAAAAACIADQABAAEAAAAAACEADQABAAEAAAAAACAADQABAAEAAAAAAB8ADQABAAEAAAAAAB4ADQABAAEAAAAAAB0ADQABAAEAAAAAABwADQABAAEAAAAAABsADQABAAEAAAAAABoADQABAAEAAAAAABkADQABAAEAAAAAABgADQABAAEAAAAAABcADQABAAEAAAAAABYADQABAAEAAAAAABUADQABAAEAAAAAABQADQABAAEAAAADADUADQABAAEAAAADADQADQABAAEAAAACADUADQABAAEAAAACADQADQABAAEAAAABADUADQABAAEAAAABADQADQABAAEAAAAAADUADQABAAEAAAAAADQADQABAAEAAAD//zUADQABAAEAAAD//zQADQABAAEAAAD//zMADQABAAEAAAD//zIADQABAAEAAAD//zEADQABAAAAAAD//yMADQABAAIAAAD//yIADQABAAEAAAD//yEADQABAAEAAAD//yAADQABAAEAAAD//x8ADQABAAEAAAD//x4ADQABAAEAAAD//x0ADQABAAEAAAD//xwADQABAAEAAAD//xsADQABAAEAAAD//xoADQABAAEAAAD//xkADQABAAEAAAD//xgADQABAAEAAAD//xcADQABAAEAAAD//xYADQABAAEAAAD//xUADQABAAEAAAD//xQADQABAAEAAAD//xMADQABAAEAAAD//xIADQABAAEAAAD//xEADQABAAEAAAD//xAADQABAAEAAAD//w8ADQABAAEAAAD//w4ADQABAAEAAAD//w0ADQABAAEAAAD//wwADQABAAEAAAD//wsADQABAAEAAAD+/zUADQABAAEAAAD+/zQADQABAAEAAAD+/zMADQABAAEAAAD+/zIADQABAAEAAAD+/zEADQABAAAAAAD+/yMADQABAAIAAAD+/yIADQABAAEAAAD+/yEADQABAAEAAAD+/yAADQABAAEAAAD+/x8ADQABAAEAAAD+/x4ADQABAAEAAAD+/x0ADQABAAEAAAD+/xwADQABAAEAAAD+/xsADQABAAEAAAD+/xoADQABAAEAAAD+/xkADQABAAEAAAD+/xgADQABAAEAAAD+/xcADQABAAEAAAD+/xYADQABAAEAAAD+/xUADQABAAEAAAD+/xQADQABAAEAAAD+/xMADQABAAEAAAD+/xIADQABAAEAAAD+/xEADQABAAEAAAD+/xAADQABAAEAAAD+/w8ADQABAAEAAAD+/w4ADQABAAEAAAD+/w0ADQABAAEAAAD+/wwADQABAAEAAAD+/wsADQABAAEAAAD9/zUADQABAAEAAAD9/zQADQABAAEAAAD9/zMADQABAAEAAAD9/zIADQABAAEAAAD9/zEADQABAAAAAAD9/yMADQABAAIAAAD9/yIADQABAAEAAAD9/yEADQABAAEAAAD9/yAADQABAAEAAAD9/x8ADQABAAEAAAD9/x4ADQABAAEAAAD9/x0ADQABAAEAAAD9/xwADQABAAEAAAD9/xsADQABAAEAAAD9/xoADQABAAEAAAD9/xkADQABAAEAAAD9/xgADQABAAEAAAD9/xcADQABAAEAAAD9/xYADQABAAEAAAD9/xUADQABAAEAAAD9/xQADQABAAEAAAD9/xMADQABAAEAAAD9/xIADQABAAEAAAD9/xEADQABAAEAAAD9/xAADQABAAEAAAD9/w8ADQABAAEAAAD9/w4ADQABAAEAAAD9/w0ADQABAAEAAAD9/wwADQABAAEAAAD9/wsADQABAAEAAAD8/zUADQABAAEAAAD8/zQADQABAAEAAAD8/zMADQABAAEAAAD8/zIADQABAAEAAAD8/zEADQABAAAAAAD8/yMADQABAAIAAAD8/yIADQABAAEAAAD8/yEADQABAAEAAAD8/yAADQABAAEAAAD8/x8ADQABAAEAAAD8/x4ADQABAAEAAAD8/x0ADQABAAEAAAD8/xwADQABAAEAAAD8/xsADQABAAEAAAD8/xoADQABAAEAAAD8/xkADQABAAEAAAD8/xgADQABAAEAAAD8/xcADQABAAEAAAD8/xYADQABAAEAAAD8/xUADQABAAEAAAD8/xQADQABAAEAAAD8/xMADQABAAEAAAD8/xIADQABAAEAAAD8/xEADQABAAEAAAD8/xAADQABAAEAAAD8/w8ADQABAAEAAAD8/w4ADQABAAEAAAD8/w0ADQABAAEAAAD8/wwADQABAAEAAAD8/wsADQABAAEAAAD7/zUADQABAAEAAAD7/zQADQABAAEAAAD7/zMADQABAAEAAAD7/zIADQABAAEAAAD7/zEADQABAAEAAAD7/yMADQABAAEAAAD7/yIADQABAAEAAAD7/yEADQABAAEAAAD7/yAADQABAAEAAAD7/x8ADQABAAEAAAD7/x4ADQABAAEAAAD7/x0ADQABAAEAAAD7/xwADQABAAEAAAD7/xsADQABAAEAAAD7/xoADQABAAEAAAD7/xkADQABAAEAAAD7/xgADQABAAEAAAD7/xcADQABAAEAAAD7/xYADQABAAEAAAD7/xUADQABAAEAAAD7/xQADQABAAEAAAD7/xMADQABAAEAAAD7/xIADQABAAEAAAD7/xEADQABAAEAAAD7/xAADQABAAEAAAD7/w8ADQABAAEAAAD7/w4ADQABAAEAAAD7/w0ADQABAAEAAAD7/wwADQABAAEAAAD7/wsADQABAAEAAABBADUADQABAAEAAABBADQADQABAAEAAABBADMADQABAAEAAABBADIADQABAAEAAABBADEADQABAAEAAABBADAADQABAAEAAABBAC8ADQABAAEAAABBAC4ADQABAAEAAABBAC0ADQABAAEAAABBACwADQABAAEAAABAADUADQABAAEAAABAADQADQABAAEAAABAADMADQABAAEAAABAADIADQABAAEAAABAADEADQABAAEAAABAADAADQABAAEAAABAAC8ADQABAAEAAABAAC4ADQABAAEAAABAAC0ADQABAAEAAABAACwADQABAAEAAAA/ADUADQABAAEAAAA/ADQADQABAAEAAAA/ADMADQABAAEAAAA/ADIADQABAAEAAAA/ADEADQABAAEAAAA/ADAADQABAAEAAAA/AC8ADQABAAEAAAA/AC4ADQABAAEAAAA/AC0ADQABAAEAAAA/ACwADQABAAEAAAA+ADUADQABAAEAAAA+ADQADQABAAEAAAA+ADMADQABAAEAAAA+ADIADQABAAEAAAA+ADEADQABAAEAAAA+ADAADQABAAEAAAA+AC8ADQABAAEAAAA+AC4ADQABAAEAAAA+AC0ADQABAAEAAAA+ACwADQABAAEAAAA9ADUADQABAAEAAAA9ADQADQABAAEAAAA9ADMADQABAAEAAAA9ADIADQABAAEAAAA9ADEADQABAAEAAAA9ADAADQABAAEAAAA9AC8ADQABAAEAAAA9AC4ADQABAAEAAAA9AC0ADQABAAEAAAA9ACwADQABAAEAAAA8ADUADQABAAEAAAA8ADQADQABAAEAAAA8ADMADQABAAEAAAA8ADIADQABAAEAAAA8ADEADQABAAEAAAA8ADAADQABAAEAAAA8AC8ADQABAAEAAAA8AC4ADQABAAEAAAA8AC0ADQABAAEAAAA8ACwADQABAAEAAAA7ADUADQABAAEAAAA7ADQADQABAAEAAAA7ADMADQABAAEAAAA7ADIADQABAAEAAAA7ADEADQABAAEAAAA7ADAADQABAAEAAAA7AC8ADQABAAEAAAA7AC4ADQABAAEAAAA7AC0ADQABAAEAAAA7ACwADQABAAEAAAA6ADUADQABAAEAAAA6ADQADQABAAEAAAA6ADMADQABAAEAAAA6ADIADQABAAEAAAA6ADEADQABAAEAAAA6ADAADQABAAEAAAA6AC8ADQABAAEAAAA6AC4ADQABAAEAAAA6AC0ADQABAAEAAAA6ACwADQABAAEAAAA5ADUADQABAAEAAAA5ADQADQABAAEAAAA5ADMADQABAAEAAAA5ADIADQABAAEAAAA5ADEADQABAAEAAAA5ADAADQABAAEAAAA5AC8ADQABAAEAAAA5AC4ADQABAAEAAAA5AC0ADQABAAEAAAA5ACwADQABAAEAAAA4ADUADQABAAEAAAA4ADQADQABAAEAAAA4ADMADQABAAEAAAA4ADIADQABAAEAAAA4ADEADQABAAEAAAA4ADAADQABAAEAAAA4AC8ADQABAAEAAAA4AC4ADQABAAEAAAA4AC0ADQABAAEAAAA4ACwADQABAAEAAAA3ADUADQABAAEAAAA3ADQADQABAAEAAAA3ADMADQABAAEAAAA3ADIADQABAAEAAAA3ADEADQABAAEAAAA3ADAADQABAAEAAAA3AC8ADQABAAEAAAA3AC4ADQABAAEAAAA3AC0ADQABAAEAAAA3ACwADQABAAEAAAA2ADUADQABAAEAAAA2ADQADQABAAEAAAA2ADMADQABAAEAAAA2ADIADQABAAEAAAA2ADEADQABAAEAAAA2ADAADQABAAEAAAA2AC8ADQABAAEAAAA2AC4ADQABAAEAAAA2AC0ADQABAAEAAAA2ACwADQABAAEAAAA1ADUADQABAAEAAAA1ADQADQABAAEAAAA1ADMADQABAAEAAAA1ADIADQABAAEAAAA1ADEADQABAAEAAAA1ADAADQABAAEAAAA1AC8ADQABAAEAAAA1AC4ADQABAAEAAAA1AC0ADQABAAEAAAA1ACwADQABAAEAAAA0ADUADQABAAEAAAA0ADQADQABAAEAAAA0ADMADQABAAEAAAA0ADIADQABAAEAAAA0ADEADQABAAEAAAA0ADAADQABAAEAAAA0AC8ADQABAAEAAAA0AC4ADQABAAEAAAA0AC0ADQABAAEAAAA0ACwADQABAAEAAAAzADUADQABAAEAAAAzADQADQABAAEAAAAzADMADQABAAEAAAAzADIADQABAAEAAAAzADEADQABAAEAAAAzADAADQABAAEAAAAzAC8ADQABAAEAAAAzAC4ADQABAAEAAAAzAC0ADQABAAEAAAAzACwADQABAAEAAAAyADUADQABAAEAAAAyADQADQABAAEAAAAyADMADQABAAEAAAAyADIADQABAAEAAAAyADEADQABAAEAAAAyADAADQABAAEAAAAyAC8ADQABAAEAAAAyAC4ADQABAAEAAAAyAC0ADQABAAEAAAAyACwADQABAAEAAAAxADUADQABAAEAAAAxADQADQABAAEAAAAxADMADQABAAEAAAAxADIADQABAAEAAAAxADEADQABAAEAAAAxADAADQABAAEAAAAxAC8ADQABAAEAAAAxAC4ADQABAAEAAAAxAC0ADQABAAEAAAAxACwADQABAAEAAAAyACoADQABAAEAAAAyACkADQABAAEAAAAyACgADQABAAEAAAAxACoADQABAAEAAAAxACkADQABAAEAAAAxACgADQABAAEAAAAzACsADQABAAEAAAAyACsADQABAAEAAAA1ACsADQABAAEAAAA1ACoADQABAAEAAAA0ACsADQABAAEAAAA0ACoADQABAAEAAAAzACoADQABAAEAAAAxACsADQABAAEAAAA3ACsADQABAAEAAAA2ACsADQABAAEAAAAxAAwADQABAAEAAAAxAAsADQABAAEAAAAwAAwADQABAAEAAAAwAAsADQABAAEAAAAvAAwADQABAAEAAAAvAAsADQABAAEAAAAuAAwADQABAAEAAAAuAAsADQABAAEAAAAvAA8ADQABAAEAAAAvAA4ADQABAAEAAAAvAA0ADQABAAEAAAAuAA8ADQABAAEAAAAuAA4ADQABAAEAAAAuAA0ADQABAAEAAAAuABEADQABAAEAAAAuABAADQABAAEAAABCAAsADQABAAEAAABCAAoADQABAAEAAABBAAsADQABAAEAAABBAAoADQABAAEAAABAAAsADQABAAEAAABAAAoADQABAAEAAAA/AAsADQABAAEAAAA/AAoADQABAAEAAAA+AAsADQABAAEAAAA+AAoADQABAAEAAAA9AAsADQABAAIAAAA9AAoADQABAAEAAAA8AAsADQABAAIAAAA8AAoADQABAAEAAAA7AAsADQABAAIAAAA7AAoADQABAAEAAAA6AAsADQABAAIAAAA6AAoADQABAAEAAAA5AAsADQABAAIAAAA5AAoADQABAAEAAAA4AAsADQABAAIAAAA4AAoADQABAAEAAAA3AAsADQABAAIAAAA3AAoADQABAAEAAAA2AAsADQABAAEAAAA2AAoADQABAAEAAAA1AAsADQABAAEAAAA1AAoADQABAAEAAAA0AAsADQABAAEAAAA0AAoADQABAAEAAAAzAAsADQABAAEAAAAzAAoADQABAAEAAAAyAAsADQABAAEAAAAyAAoADQABAAEAAAAxAAoADQABAAEAAAAwAAoADQABAAEAAAAvAAoADQABAAEAAAAuAAoADQABAAEAAAAtAAoADQABAAEAAAAsAAoADQABAAEAAAArAAoADQABAAEAAAAqAAoADQABAAEAAAApAAoADQABAAEAAAAoAAoADQABAAEAAAAnAAoADQABAAEAAAAmAAoADQABAAEAAAAlAAoADQABAAEAAAAkAAoADQABAAEAAAAjAAoADQABAAEAAAAiAAoADQABAAEAAAAhAAoADQABAAEAAAAgAAoADQABAAEAAAAfAAoADQABAAEAAAAeAAoADQABAAEAAAAdAAoADQABAAEAAAAcAAoADQABAAEAAAAbAAoADQABAAEAAAAaAAoADQABAAEAAAAZAAoADQABAAEAAAAYAAoADQABAAEAAAAXAAoADQABAAEAAAAWAAoADQABAAEAAAAVAAoADQABAAEAAAAUAAoADQABAAEAAAATAAoADQABAAEAAAASAAoADQABAAEAAAARAAoADQABAAEAAAAQAAoADQABAAEAAAAPAAoADQABAAEAAAAOAAoADQABAAEAAAANAAoADQABAAEAAAAMAAoADQABAAEAAAALAAoADQABAAEAAAAKAAoADQABAAEAAAAJAAoADQABAAEAAAAIAAoADQABAAEAAAAHAAoADQABAAEAAAAGAAoADQABAAEAAAAFAAoADQABAAEAAAAEAAoADQABAAEAAAADAAoADQABAAEAAAACAAoADQABAAEAAAABAAoADQABAAEAAAAAAAoADQABAAEAAAD//woADQABAAEAAAD+/woADQABAAEAAAD9/woADQABAAEAAAD8/woADQABAAEAAAD7/woADQABAAEAAAA2AA0ADQACAAIAAAA2AAwADQACAAEAAAA1AA0ADQABAAIAAAA1AAwADQABAAEAAAA0AA0ADQABAAIAAAA0AAwADQABAAEAAAAzAA0ADQABAAIAAAAzAAwADQABAAEAAAAyAA0ADQABAAEAAAAyAAwADQABAAEAAAAyAA8ADQACAAIAAAAyAA4ADQACAAEAAAAxAA8ADQABAAIAAAAxAA4ADQABAAEAAAAxAA0ADQABAAEAAAAwAA8ADQABAAEAAAAwAA4ADQABAAEAAAAwAA0ADQABAAEAAAAwABEADQACAAIAAAAwABAADQACAAEAAAAvABEADQABAAIAAAAvABAADQABAAEAAAAuABIADQACAAEAAAAuABMADQACAAIAAAAMACkADQAAAAIAAAAMACgADQAAAAEAAAAMACcADQAAAAEAAAAyACcADQABAAEAAAAyACYADQABAAAAAAAxACcADQABAAEAAAAxACYADQABAAAAAAAzACgADQABAAEAAAAzACcADQABAAEAAAAzACYADQACAAAAAAA2ACkADQABAAEAAAA2ACgADQACAAEAAAA2ACcADQACAAAAAAA1ACkADQABAAEAAAA1ACgADQABAAEAAAA1ACcADQABAAAAAAA0ACkADQABAAEAAAA0ACgADQABAAEAAAA0ACcADQABAAAAAAAzACkADQABAAEAAAA+ACsADQABAAEAAAA+ACoADQABAAEAAAA+ACkADQABAAEAAAA9ACsADQABAAEAAAA9ACoADQABAAEAAAA9ACkADQABAAAAAAA8ACsADQABAAEAAAA8ACoADQABAAEAAAA8ACkADQABAAAAAAA7ACsADQABAAEAAAA7ACoADQABAAEAAAA7ACkADQABAAAAAAA6ACsADQABAAEAAAA6ACoADQABAAEAAAA6ACkADQABAAAAAAA5ACsADQABAAEAAAA5ACoADQABAAEAAAA5ACkADQABAAAAAAA4ACsADQABAAEAAAA4ACoADQABAAEAAAA4ACkADQABAAAAAAA3ACoADQABAAEAAAA3ACkADQABAAAAAAA2ACoADQABAAEAAABBACsADQABAAEAAABAACsADQABAAEAAAA/ACsADQABAAEAAABBACgADQABAAAAAABAACgADQABAAAAAAA/ACgADQABAAAAAAA+ACgADQAAAAAAAABBACoADQABAAEAAABBACkADQABAAEAAABAACoADQABAAEAAABAACkADQABAAEAAAA/ACoADQABAAEAAAA/ACkADQABAAEAAAD6/yMADQABAAEAAAD6/yIADQABAAEAAAD6/yEADQABAAEAAAD6/yAADQABAAEAAAD6/x8ADQABAAEAAAD6/x4ADQABAAEAAAD6/x0ADQABAAEAAAD6/xwADQABAAEAAAD6/xsADQABAAEAAAD6/xoADQABAAEAAAD6/xkADQABAAEAAAD6/xgADQABAAEAAAD6/xcADQABAAEAAAD6/xYADQABAAEAAAD6/xUADQABAAEAAAD6/xQADQABAAEAAAD6/xMADQABAAEAAAD6/xIADQABAAEAAAD6/xEADQABAAEAAAD6/xAADQABAAEAAAD6/w8ADQABAAEAAAD6/w4ADQABAAEAAAD6/w0ADQABAAEAAAD6/wwADQABAAEAAAD6/wsADQABAAEAAAD6/woADQABAAEAAAD6/wkADQABAAEAAAD6/wgADQABAAEAAAD6/wcADQABAAEAAAD6/wYADQABAAEAAAD6/wUADQABAAEAAAD6/wQADQABAAEAAAD6/wMADQABAAEAAAD6/wIADQABAAEAAAD6/wEADQABAAEAAAD6/wAADQABAAEAAAD5/yMADQABAAEAAAD5/yIADQABAAEAAAD5/yEADQABAAEAAAD5/yAADQABAAEAAAD5/x8ADQABAAEAAAD5/x4ADQABAAEAAAD5/x0ADQABAAEAAAD5/xwADQABAAEAAAD5/xsADQABAAEAAAD5/xoADQABAAEAAAD5/xkADQABAAEAAAD5/xgADQABAAEAAAD5/xcADQABAAEAAAD5/xYADQABAAEAAAD5/xUADQABAAEAAAD5/xQADQABAAEAAAD5/xMADQABAAEAAAD5/xIADQABAAEAAAD5/xEADQABAAEAAAD5/xAADQABAAEAAAD5/w8ADQABAAEAAAD5/w4ADQABAAEAAAD5/w0ADQABAAEAAAD5/wwADQABAAEAAAD5/wsADQABAAEAAAD5/woADQABAAEAAAD5/wkADQABAAEAAAD5/wgADQABAAEAAAD5/wcADQABAAEAAAD5/wYADQABAAEAAAD5/wUADQABAAEAAAD5/wQADQABAAEAAAD5/wMADQABAAEAAAD5/wIADQABAAEAAAD5/wEADQABAAEAAAD5/wAADQABAAEAAAD4/yMADQABAAEAAAD4/yIADQABAAEAAAD4/yEADQABAAEAAAD4/yAADQABAAEAAAD4/x8ADQABAAEAAAD4/x4ADQABAAEAAAD4/x0ADQABAAEAAAD4/xwADQABAAEAAAD4/xsADQABAAEAAAD4/xoADQABAAEAAAD4/xkADQABAAEAAAD4/xgADQABAAEAAAD4/xcADQABAAEAAAD4/xYADQABAAEAAAD4/xUADQABAAEAAAD4/xQADQABAAEAAAD4/xMADQABAAEAAAD4/xIADQABAAEAAAD4/xEADQABAAEAAAD4/xAADQABAAEAAAD4/w8ADQABAAEAAAD4/w4ADQABAAEAAAD4/w0ADQABAAEAAAD4/wwADQABAAEAAAD4/wsADQABAAEAAAD4/woADQABAAEAAAD4/wkADQABAAEAAAD4/wgADQABAAEAAAD4/wcADQABAAEAAAD4/wYADQABAAEAAAD4/wUADQABAAEAAAD4/wQADQABAAEAAAD4/wMADQABAAEAAAD4/wIADQABAAEAAAD4/wEADQABAAEAAAD4/wAADQABAAEAAAD3/yMADQABAAEAAAD3/yIADQABAAEAAAD3/yEADQABAAEAAAD3/yAADQABAAEAAAD3/x8ADQABAAEAAAD3/x4ADQABAAEAAAD3/x0ADQABAAEAAAD3/xwADQABAAEAAAD3/xsADQABAAEAAAD3/xoADQABAAEAAAD3/xkADQABAAEAAAD3/xgADQABAAEAAAD3/xcADQABAAEAAAD3/xYADQABAAEAAAD3/xUADQABAAEAAAD3/xQADQABAAEAAAD3/xMADQABAAEAAAD3/xIADQABAAEAAAD3/xEADQABAAEAAAD3/xAADQABAAEAAAD3/w8ADQABAAEAAAD3/w4ADQABAAEAAAD3/w0ADQABAAEAAAD3/wwADQABAAEAAAD3/wsADQABAAEAAAD3/woADQABAAEAAAD3/wkADQABAAEAAAD3/wgADQABAAEAAAD3/wcADQABAAEAAAD3/wYADQABAAEAAAD3/wUADQABAAEAAAD3/wQADQABAAEAAAD3/wMADQABAAEAAAD3/wIADQABAAEAAAD3/wEADQABAAEAAAD3/wAADQABAAEAAAD2/yMADQABAAEAAAD2/yIADQABAAEAAAD2/yEADQABAAEAAAD2/yAADQABAAEAAAD2/x8ADQABAAEAAAD2/x4ADQABAAEAAAD2/x0ADQABAAEAAAD2/xwADQABAAEAAAD2/xsADQABAAEAAAD2/xoADQABAAEAAAD2/xkADQABAAEAAAD2/xgADQABAAEAAAD2/xcADQABAAEAAAD2/xYADQABAAEAAAD2/xUADQABAAEAAAD2/xQADQABAAEAAAD2/xMADQABAAEAAAD2/xIADQABAAEAAAD2/xEADQABAAEAAAD2/xAADQABAAEAAAD2/w8ADQABAAEAAAD2/w4ADQABAAEAAAD2/w0ADQABAAEAAAD2/wwADQABAAEAAAD2/wsADQABAAEAAAD2/woADQABAAEAAAD2/wkADQABAAEAAAD2/wgADQABAAEAAAD2/wcADQABAAEAAAD2/wYADQABAAEAAAD2/wUADQABAAEAAAD2/wQADQABAAEAAAD2/wMADQABAAEAAAD2/wIADQABAAEAAAD2/wEADQABAAEAAAD2/wAADQABAAEAAAD1/yMADQABAAEAAAD1/yIADQABAAEAAAD1/yEADQABAAEAAAD1/yAADQABAAEAAAD1/x8ADQABAAEAAAD1/x4ADQABAAEAAAD1/x0ADQABAAEAAAD1/xwADQABAAEAAAD1/xsADQABAAEAAAD1/xoADQABAAEAAAD1/xkADQABAAEAAAD1/xgADQABAAEAAAD1/xcADQABAAEAAAD1/xYADQABAAEAAAD1/xUADQABAAEAAAD1/xQADQABAAEAAAD1/xMADQABAAEAAAD1/xIADQABAAEAAAD1/xEADQABAAEAAAD1/xAADQABAAEAAAD1/w8ADQABAAEAAAD1/w4ADQABAAEAAAD1/w0ADQABAAEAAAD1/wwADQABAAEAAAD1/wsADQABAAEAAAD1/woADQABAAEAAAD1/wkADQABAAEAAAD1/wgADQABAAEAAAD1/wcADQABAAEAAAD1/wYADQABAAEAAAD1/wUADQABAAEAAAD1/wQADQABAAEAAAD1/wMADQABAAEAAAD1/wIADQABAAEAAAD1/wEADQABAAEAAAD1/wAADQABAAEAAAD0/yMADQABAAEAAAD0/yIADQABAAEAAAD0/yEADQABAAEAAAD0/yAADQABAAEAAAD0/x8ADQABAAEAAAD0/x4ADQABAAEAAAD0/x0ADQABAAEAAAD0/xwADQABAAEAAAD0/xsADQABAAEAAAD0/xoADQABAAEAAAD0/xkADQABAAEAAAD0/xgADQABAAEAAAD0/xcADQABAAEAAAD0/xYADQABAAEAAAD0/xUADQABAAEAAAD0/xQADQABAAEAAAD0/xMADQABAAEAAAD0/xIADQABAAEAAAD0/xEADQABAAEAAAD0/xAADQABAAEAAAD0/w8ADQABAAEAAAD0/w4ADQABAAEAAAD0/w0ADQABAAEAAAD0/wwADQABAAEAAAD0/wsADQABAAEAAAD0/woADQABAAEAAAD0/wkADQABAAEAAAD0/wgADQABAAEAAAD0/wcADQABAAEAAAD0/wYADQABAAEAAAD0/wUADQABAAEAAAD0/wQADQABAAEAAAD0/wMADQABAAEAAAD0/wIADQABAAEAAAD0/wEADQABAAEAAAD0/wAADQABAAEAAADz/yMADQABAAEAAADz/yIADQABAAEAAADz/yEADQABAAEAAADz/yAADQABAAEAAADz/x8ADQABAAEAAADz/x4ADQABAAEAAADz/x0ADQABAAEAAADz/xwADQABAAEAAADz/xsADQABAAEAAADz/xoADQABAAEAAADz/xkADQABAAEAAADz/xgADQABAAEAAADz/xcADQABAAEAAADz/xYADQABAAEAAADz/xUADQABAAEAAADz/xQADQABAAEAAADz/xMADQABAAEAAADz/xIADQABAAEAAADz/xEADQABAAEAAADz/xAADQABAAEAAADz/w8ADQABAAEAAADz/w4ADQABAAEAAADz/w0ADQABAAEAAADz/wwADQABAAEAAADz/wsADQABAAEAAADz/woADQABAAEAAADz/wkADQABAAEAAADz/wgADQABAAEAAADz/wcADQABAAEAAADz/wYADQABAAEAAADz/wUADQABAAEAAADz/wQADQABAAEAAADz/wMADQABAAEAAADz/wIADQABAAEAAADz/wEADQABAAEAAADz/wAADQABAAEAAADy/yMADQABAAEAAADy/yIADQABAAEAAADy/yEADQABAAEAAADy/yAADQABAAEAAADy/x8ADQABAAEAAADy/x4ADQABAAEAAADy/x0ADQABAAEAAADy/xwADQABAAEAAADy/xsADQABAAEAAADy/xoADQABAAEAAADy/xkADQABAAEAAADy/xgADQABAAEAAADy/xcADQABAAEAAADy/xYADQABAAEAAADy/xUADQABAAEAAADy/xQADQABAAEAAADy/xMADQABAAEAAADy/xIADQABAAEAAADy/xEADQABAAEAAADy/xAADQABAAEAAADy/w8ADQABAAEAAADy/w4ADQABAAEAAADy/w0ADQABAAEAAADy/wwADQABAAEAAADy/wsADQABAAEAAADy/woADQABAAEAAADy/wkADQABAAEAAADy/wgADQABAAEAAADy/wcADQABAAEAAADy/wYADQABAAEAAADy/wUADQABAAEAAADy/wQADQABAAEAAADy/wMADQABAAEAAADy/wIADQABAAEAAADy/wEADQABAAEAAADy/wAADQABAAEAAADx/yMADQABAAEAAADx/yIADQABAAEAAADx/yEADQABAAEAAADx/yAADQABAAEAAADx/x8ADQABAAEAAADx/x4ADQABAAEAAADx/x0ADQABAAEAAADx/xwADQABAAEAAADx/xsADQABAAEAAADx/xoADQABAAEAAADx/xkADQABAAEAAADx/xgADQABAAEAAADx/xcADQABAAEAAADx/xYADQABAAEAAADx/xUADQABAAEAAADx/xQADQABAAEAAADx/xMADQABAAEAAADx/xIADQABAAEAAADx/xEADQABAAEAAADx/xAADQABAAEAAADx/w8ADQABAAEAAADx/w4ADQABAAEAAADx/w0ADQABAAEAAADx/wwADQABAAEAAADx/wsADQABAAEAAADx/woADQABAAEAAADx/wkADQABAAEAAADx/wgADQABAAEAAADx/wcADQABAAEAAADx/wYADQABAAEAAADx/wUADQABAAEAAADx/wQADQABAAEAAADx/wMADQABAAEAAADx/wIADQABAAEAAADx/wEADQABAAEAAADx/wAADQABAAEAAADw/yMADQABAAEAAADw/yIADQABAAEAAADw/yEADQABAAEAAADw/yAADQABAAEAAADw/x8ADQABAAEAAADw/x4ADQABAAEAAADw/x0ADQABAAEAAADw/xwADQABAAEAAADw/xsADQABAAEAAADw/xoADQABAAEAAADw/xkADQABAAEAAADw/xgADQABAAEAAADw/xcADQABAAEAAADw/xYADQABAAEAAADw/xUADQABAAEAAADw/xQADQABAAEAAADw/xMADQABAAEAAADw/xIADQABAAEAAADw/xEADQABAAEAAADw/xAADQABAAEAAADw/w8ADQABAAEAAADw/w4ADQABAAEAAADw/w0ADQABAAEAAADw/wwADQABAAEAAADw/wsADQABAAEAAADw/woADQABAAEAAADw/wkADQABAAEAAADw/wgADQABAAEAAADw/wcADQABAAEAAADw/wYADQABAAEAAADw/wUADQABAAEAAADw/wQADQABAAEAAADw/wMADQABAAEAAADw/wIADQABAAEAAADw/wEADQABAAEAAADw/wAADQABAAEAAADv/yMADQABAAEAAADv/yIADQABAAEAAADv/yEADQABAAEAAADv/yAADQABAAEAAADv/x8ADQABAAEAAADv/x4ADQABAAEAAADv/x0ADQABAAEAAADv/xwADQABAAEAAADv/xsADQABAAEAAADv/xoADQABAAEAAADv/xkADQABAAEAAADv/xgADQABAAEAAADv/xcADQABAAEAAADv/xYADQABAAEAAADv/xUADQABAAEAAADv/xQADQABAAEAAADv/xMADQABAAEAAADv/xIADQABAAEAAADv/xEADQABAAEAAADv/xAADQABAAEAAADv/w8ADQABAAEAAADv/w4ADQABAAEAAADv/w0ADQABAAEAAADv/wwADQABAAEAAADv/wsADQABAAEAAADv/woADQABAAEAAADv/wkADQABAAEAAADv/wgADQABAAEAAADv/wcADQABAAEAAADv/wYADQABAAEAAADv/wUADQABAAEAAADv/wQADQABAAEAAADv/wMADQABAAEAAADv/wIADQABAAEAAADv/wEADQABAAEAAADv/wAADQABAAEAAADu/yMADQABAAEAAADu/yIADQABAAEAAADu/yEADQABAAEAAADu/yAADQABAAEAAADu/x8ADQABAAEAAADu/x4ADQABAAEAAADu/x0ADQABAAEAAADu/xwADQABAAEAAADu/xsADQABAAEAAADu/xoADQABAAEAAADu/xkADQABAAEAAADu/xgADQABAAEAAADu/xcADQABAAEAAADu/xYADQABAAEAAADu/xUADQABAAEAAADu/xQADQABAAEAAADu/xMADQABAAEAAADu/xIADQABAAEAAADu/xEADQABAAEAAADu/xAADQABAAEAAADu/w8ADQABAAEAAADu/w4ADQABAAEAAADu/w0ADQABAAEAAADu/wwADQABAAEAAADu/wsADQABAAEAAADu/woADQABAAEAAADu/wkADQABAAEAAADu/wgADQABAAEAAADu/wcADQABAAEAAADu/wYADQABAAEAAADu/wUADQABAAEAAADu/wQADQABAAEAAADu/wMADQABAAEAAADu/wIADQABAAEAAADu/wEADQABAAEAAADu/wAADQABAAEAAADt/yMADQABAAEAAADt/yIADQABAAEAAADt/yEADQABAAEAAADt/yAADQABAAEAAADt/x8ADQABAAEAAADt/x4ADQABAAEAAADt/x0ADQABAAEAAADt/xwADQABAAEAAADt/xsADQABAAEAAADt/xoADQABAAEAAADt/xkADQABAAEAAADt/xgADQABAAEAAADt/xcADQABAAEAAADt/xYADQABAAEAAADt/xUADQABAAEAAADt/xQADQABAAEAAADt/xMADQABAAEAAADt/xIADQABAAEAAADt/xEADQABAAEAAADt/xAADQABAAEAAADt/w8ADQABAAEAAADt/w4ADQABAAEAAADt/w0ADQABAAEAAADt/wwADQABAAEAAADt/wsADQABAAEAAADt/woADQABAAEAAADt/wkADQABAAEAAADt/wgADQABAAEAAADt/wcADQABAAEAAADt/wYADQABAAEAAADt/wUADQABAAEAAADt/wQADQABAAEAAADt/wMADQABAAEAAADt/wIADQABAAEAAADt/wEADQABAAEAAADt/wAADQABAAEAAADs/yMADQABAAEAAADs/yIADQABAAEAAADs/yEADQABAAEAAADs/yAADQABAAEAAADs/x8ADQABAAEAAADs/x4ADQABAAEAAADs/x0ADQABAAEAAADs/xwADQABAAEAAADs/xsADQABAAEAAADs/xoADQABAAEAAADs/xkADQABAAEAAADs/xgADQABAAEAAADs/xcADQABAAEAAADs/xYADQABAAEAAADs/xUADQABAAEAAADs/xQADQABAAEAAADs/xMADQABAAEAAADs/xIADQABAAEAAADs/xEADQABAAEAAADs/xAADQABAAEAAADs/w8ADQABAAEAAADs/w4ADQABAAEAAADs/w0ADQABAAEAAADs/wwADQABAAEAAADs/wsADQABAAEAAADs/woADQABAAEAAADs/wkADQABAAEAAADs/wgADQABAAEAAADs/wcADQABAAEAAADs/wYADQABAAEAAADs/wUADQABAAEAAADs/wQADQABAAEAAADs/wMADQABAAEAAADs/wIADQABAAEAAADs/wEADQABAAEAAADs/wAADQABAAEAAADr/yMADQABAAEAAADr/yIADQABAAEAAADr/yEADQABAAEAAADr/yAADQABAAEAAADr/x8ADQABAAEAAADr/x4ADQABAAEAAADr/x0ADQABAAEAAADr/xwADQABAAEAAADr/xsADQABAAEAAADr/xoADQABAAEAAADr/xkADQABAAEAAADr/xgADQABAAEAAADr/xcADQABAAEAAADr/xYADQABAAEAAADr/xUADQABAAEAAADr/xQADQABAAEAAADr/xMADQABAAEAAADr/xIADQABAAEAAADr/xEADQABAAEAAADr/xAADQABAAEAAADr/w8ADQABAAEAAADr/w4ADQABAAEAAADr/w0ADQABAAEAAADr/wwADQABAAEAAADr/wsADQABAAEAAADr/woADQABAAEAAADr/wkADQABAAEAAADr/wgADQABAAEAAADr/wcADQABAAEAAADr/wYADQABAAEAAADr/wUADQABAAEAAADr/wQADQABAAEAAADr/wMADQABAAEAAADr/wIADQABAAEAAADr/wEADQABAAEAAADr/wAADQABAAEAAADq/yMADQABAAEAAADq/yIADQABAAEAAADq/yEADQABAAEAAADq/yAADQABAAEAAADq/x8ADQABAAEAAADq/x4ADQABAAEAAADq/x0ADQABAAEAAADq/xwADQABAAEAAADq/xsADQABAAEAAADq/xoADQABAAEAAADq/xkADQABAAEAAADq/xgADQABAAEAAADq/xcADQABAAEAAADq/xYADQABAAEAAADq/xUADQABAAEAAADq/xQADQABAAEAAADq/xMADQABAAEAAADq/xIADQABAAEAAADq/xEADQABAAEAAADq/xAADQABAAEAAADq/w8ADQABAAEAAADq/w4ADQABAAEAAADq/w0ADQABAAEAAADq/wwADQABAAEAAADq/wsADQABAAEAAADq/woADQABAAEAAADq/wkADQABAAEAAADq/wgADQABAAEAAADq/wcADQABAAEAAADq/wYADQABAAEAAADq/wUADQABAAEAAADq/wQADQABAAEAAADq/wMADQABAAEAAADq/wIADQABAAEAAADq/wEADQABAAEAAADq/wAADQABAAEAAADp/yMADQABAAEAAADp/yIADQABAAEAAADp/yEADQABAAEAAADp/yAADQABAAEAAADp/x8ADQABAAEAAADp/x4ADQABAAEAAADp/x0ADQABAAEAAADp/xwADQABAAEAAADp/xsADQABAAEAAADp/xoADQABAAEAAADp/xkADQABAAEAAADp/xgADQABAAEAAADp/xcADQABAAEAAADp/xYADQABAAEAAADp/xUADQABAAEAAADp/xQADQABAAEAAADp/xMADQABAAEAAADp/xIADQABAAEAAADp/xEADQABAAEAAADp/xAADQABAAEAAADp/w8ADQABAAEAAADp/w4ADQABAAEAAADp/w0ADQABAAEAAADp/wwADQABAAEAAADp/wsADQABAAEAAADp/woADQABAAEAAADp/wkADQABAAEAAADp/wgADQABAAEAAADp/wcADQABAAEAAADp/wYADQABAAEAAADp/wUADQABAAEAAADp/wQADQABAAEAAADp/wMADQABAAEAAADp/wIADQABAAEAAADp/wEADQABAAEAAADp/wAADQABAAEAAADo/yMADQABAAEAAADo/yIADQABAAEAAADo/yEADQABAAEAAADo/yAADQABAAEAAADo/x8ADQABAAEAAADo/x4ADQABAAEAAADo/x0ADQABAAEAAADo/xwADQABAAEAAADo/xsADQABAAEAAADo/xoADQABAAEAAADo/xkADQABAAEAAADo/xgADQABAAEAAADo/xcADQABAAEAAADo/xYADQABAAEAAADo/xUADQABAAEAAADo/xQADQABAAEAAADo/xMADQABAAEAAADo/xIADQABAAEAAADo/xEADQABAAEAAADo/xAADQABAAEAAADo/w8ADQABAAEAAADo/w4ADQABAAEAAADo/w0ADQABAAEAAADo/wwADQABAAEAAADo/wsADQABAAEAAADo/woADQABAAEAAADo/wkADQABAAEAAADo/wgADQABAAEAAADo/wcADQABAAEAAADo/wYADQABAAEAAADo/wUADQABAAEAAADo/wQADQABAAEAAADo/wMADQABAAEAAADo/wIADQABAAEAAADo/wEADQABAAEAAADo/wAADQABAAEAAADn/yMADQABAAEAAADn/yIADQABAAEAAADn/yEADQABAAEAAADn/yAADQABAAEAAADn/x8ADQABAAEAAADn/x4ADQABAAEAAADn/x0ADQABAAEAAADn/xwADQABAAEAAADn/xsADQABAAEAAADn/xoADQABAAEAAADn/xkADQABAAEAAADn/xgADQABAAEAAADn/xcADQABAAEAAADn/xYADQABAAEAAADn/xUADQABAAEAAADn/xQADQABAAEAAADn/xMADQABAAEAAADn/xIADQABAAEAAADn/xEADQABAAEAAADn/xAADQABAAEAAADn/w8ADQABAAEAAADn/w4ADQABAAEAAADn/w0ADQABAAEAAADn/wwADQABAAEAAADn/wsADQABAAEAAADn/woADQABAAEAAADn/wkADQABAAEAAADn/wgADQABAAEAAADn/wcADQABAAEAAADn/wYADQABAAEAAADn/wUADQABAAEAAADn/wQADQABAAEAAADn/wMADQABAAEAAADn/wIADQABAAEAAADn/wEADQABAAEAAADn/wAADQABAAEAAAD7/0QADQABAAIAAAD7/0MADQABAAEAAAD7/0IADQABAAEAAAD7/0EADQABAAEAAAD7/0AADQABAAEAAAD7/z8ADQABAAEAAAD7/z4ADQABAAEAAAD7/z0ADQABAAEAAAD7/zwADQABAAEAAAD7/zsADQABAAEAAAD7/zoADQABAAEAAAD7/zkADQABAAEAAAD7/zgADQABAAEAAAD7/zcADQABAAEAAAD7/zYADQABAAEAAAD7/zAADQACAAEAAAD7/y8ADQACAAEAAAD7/y4ADQACAAAAAAD7/yoADQACAAIAAAD7/ykADQACAAEAAAD7/ygADQACAAEAAAD7/ycADQACAAEAAAD7/yYADQACAAEAAAD7/yUADQACAAEAAAD7/yQADQACAAEAAAD7/wkADQABAAEAAAD7/wgADQABAAEAAAD7/wcADQABAAEAAAD7/wYADQABAAEAAAD7/wUADQABAAEAAAD7/wQADQABAAEAAAD7/wMADQABAAEAAAD7/wIADQABAAEAAAD7/wEADQABAAEAAAD7/wAADQABAAEAAAD7////DQABAAEAAAD6/0QADQABAAIAAAD6/0MADQABAAEAAAD6/0IADQABAAEAAAD6/0EADQABAAEAAAD6/0AADQABAAEAAAD6/z8ADQABAAEAAAD6/z4ADQABAAEAAAD6/z0ADQABAAEAAAD6/zwADQABAAEAAAD6/zsADQABAAEAAAD6/zoADQABAAEAAAD6/zkADQABAAEAAAD6/zgADQABAAEAAAD6/zcADQABAAEAAAD6/zYADQABAAEAAAD6/zUADQABAAEAAAD6/zQADQABAAEAAAD6/zMADQABAAEAAAD6/zIADQABAAEAAAD6/zEADQABAAEAAAD6/zAADQABAAEAAAD6/y8ADQABAAEAAAD6/y4ADQABAAAAAAD6/yoADQABAAIAAAD6/ykADQABAAEAAAD6/ygADQABAAEAAAD6/ycADQABAAEAAAD6/yYADQABAAEAAAD6/yUADQABAAEAAAD6/yQADQABAAEAAAD6////DQABAAEAAAD5/0QADQABAAIAAAD5/0MADQABAAEAAAD5/0IADQABAAEAAAD5/0EADQABAAEAAAD5/0AADQABAAEAAAD5/z8ADQABAAEAAAD5/z4ADQABAAEAAAD5/z0ADQABAAEAAAD5/zwADQABAAEAAAD5/zsADQABAAEAAAD5/zoADQABAAEAAAD5/zkADQABAAEAAAD5/zgADQABAAEAAAD5/zcADQABAAEAAAD5/zYADQABAAEAAAD5/zUADQABAAEAAAD5/zQADQABAAEAAAD5/zMADQABAAEAAAD5/zIADQABAAEAAAD5/zEADQABAAEAAAD5/zAADQABAAEAAAD5/y8ADQABAAEAAAD5/y4ADQABAAAAAAD5/yoADQABAAIAAAD5/ykADQABAAEAAAD5/ygADQABAAEAAAD5/ycADQABAAEAAAD5/yYADQABAAEAAAD5/yUADQABAAEAAAD5/yQADQABAAEAAAD5////DQABAAEAAAD4/0QADQABAAIAAAD4/0MADQABAAEAAAD4/0IADQABAAEAAAD4/0EADQABAAEAAAD4/0AADQABAAEAAAD4/z8ADQABAAEAAAD4/z4ADQABAAEAAAD4/z0ADQABAAEAAAD4/zwADQABAAEAAAD4/zsADQABAAEAAAD4/zoADQABAAEAAAD4/zkADQABAAEAAAD4/zgADQABAAEAAAD4/zcADQABAAEAAAD4/zYADQABAAEAAAD4/zUADQABAAEAAAD4/zQADQABAAEAAAD4/zMADQABAAEAAAD4/zIADQABAAEAAAD4/zEADQABAAEAAAD4/zAADQABAAEAAAD4/y8ADQABAAEAAAD4/y4ADQABAAAAAAD4/yoADQABAAIAAAD4/ykADQABAAEAAAD4/ygADQABAAEAAAD4/ycADQABAAEAAAD4/yYADQABAAEAAAD4/yUADQABAAEAAAD4/yQADQABAAEAAAD4////DQABAAEAAAD3/0QADQABAAIAAAD3/0MADQABAAEAAAD3/0IADQABAAEAAAD3/0EADQABAAEAAAD3/0AADQABAAEAAAD3/z8ADQABAAEAAAD3/z4ADQABAAEAAAD3/z0ADQABAAEAAAD3/zwADQABAAEAAAD3/zsADQABAAEAAAD3/zoADQABAAEAAAD3/zkADQABAAEAAAD3/zgADQABAAEAAAD3/zcADQABAAEAAAD3/zYADQABAAEAAAD3/zUADQABAAEAAAD3/zQADQABAAEAAAD3/zMADQABAAEAAAD3/zIADQABAAEAAAD3/zEADQABAAEAAAD3/zAADQABAAEAAAD3/y8ADQABAAEAAAD3/y4ADQABAAAAAAD3/yoADQABAAIAAAD3/ykADQABAAEAAAD3/ygADQABAAEAAAD3/ycADQABAAEAAAD3/yYADQABAAEAAAD3/yUADQABAAEAAAD3/yQADQABAAEAAAD3////DQABAAEAAAD2/0QADQABAAIAAAD2/0MADQABAAEAAAD2/0IADQABAAEAAAD2/0EADQABAAEAAAD2/0AADQABAAEAAAD2/z8ADQABAAEAAAD2/z4ADQABAAEAAAD2/z0ADQABAAEAAAD2/zwADQABAAEAAAD2/zsADQABAAEAAAD2/zoADQABAAEAAAD2/zkADQABAAEAAAD2/zgADQABAAEAAAD2/zcADQABAAEAAAD2/zYADQABAAEAAAD2/zUADQABAAEAAAD2/zQADQABAAEAAAD2/zMADQABAAEAAAD2/zIADQABAAEAAAD2/zEADQABAAEAAAD2/zAADQABAAEAAAD2/y8ADQABAAEAAAD2/y4ADQABAAAAAAD2/yoADQABAAIAAAD2/ykADQABAAEAAAD2/ygADQABAAEAAAD2/ycADQABAAEAAAD2/yYADQABAAEAAAD2/yUADQABAAEAAAD2/yQADQABAAEAAAD2////DQABAAEAAAD1/0QADQABAAIAAAD1/0MADQABAAEAAAD1/0IADQABAAEAAAD1/0EADQABAAEAAAD1/0AADQABAAEAAAD1/z8ADQABAAEAAAD1/z4ADQABAAEAAAD1/z0ADQABAAEAAAD1/zwADQABAAEAAAD1/zsADQABAAEAAAD1/zoADQABAAEAAAD1/zkADQABAAEAAAD1/zgADQABAAEAAAD1/zcADQABAAEAAAD1/zYADQABAAEAAAD1/zUADQABAAEAAAD1/zQADQABAAEAAAD1/zMADQABAAEAAAD1/zIADQABAAEAAAD1/zEADQABAAEAAAD1/zAADQABAAEAAAD1/y8ADQABAAEAAAD1/y4ADQAAAAAAAAD1/yoADQABAAIAAAD1/ykADQABAAEAAAD1/ygADQABAAEAAAD1/ycADQABAAEAAAD1/yYADQABAAEAAAD1/yUADQABAAEAAAD1/yQADQABAAEAAAD1////DQABAAEAAAD0/0QADQABAAIAAAD0/0MADQABAAEAAAD0/0IADQABAAEAAAD0/0EADQABAAEAAAD0/0AADQABAAEAAAD0/z8ADQABAAEAAAD0/z4ADQABAAEAAAD0/z0ADQABAAEAAAD0/zwADQABAAEAAAD0/zsADQABAAEAAAD0/zoADQABAAEAAAD0/zkADQABAAEAAAD0/zgADQABAAEAAAD0/zcADQABAAEAAAD0/zYADQABAAEAAAD0/zUADQABAAEAAAD0/zQADQABAAEAAAD0/zMADQABAAEAAAD0/zIADQABAAEAAAD0/zEADQABAAEAAAD0/zAADQABAAEAAAD0/y8ADQAAAAAAAAD0/yoADQABAAIAAAD0/ykADQABAAEAAAD0/ygADQABAAEAAAD0/ycADQABAAEAAAD0/yYADQABAAEAAAD0/yUADQABAAEAAAD0/yQADQABAAEAAAD0////DQABAAEAAADz/0QADQABAAIAAADz/0MADQABAAEAAADz/0IADQABAAEAAADz/0EADQABAAEAAADz/0AADQABAAEAAADz/z8ADQABAAEAAADz/z4ADQABAAEAAADz/z0ADQABAAEAAADz/zwADQABAAEAAADz/zsADQABAAEAAADz/zoADQABAAEAAADz/zkADQABAAEAAADz/zgADQABAAEAAADz/zcADQABAAEAAADz/zYADQABAAEAAADz/zUADQABAAEAAADz/zQADQABAAEAAADz/zMADQABAAEAAADz/zIADQABAAEAAADz/zEADQABAAEAAADz/yoADQABAAIAAADz/ykADQABAAEAAADz/ygADQABAAEAAADz/ycADQABAAEAAADz/yYADQABAAEAAADz/yUADQABAAEAAADz/yQADQABAAEAAADz////DQABAAEAAADy/0QADQABAAIAAADy/0MADQABAAEAAADy/0IADQABAAEAAADy/0EADQABAAEAAADy/0AADQABAAEAAADy/z8ADQABAAEAAADy/z4ADQABAAEAAADy/z0ADQABAAEAAADy/zwADQABAAEAAADy/zsADQABAAEAAADy/zoADQABAAEAAADy/zkADQABAAEAAADy/zgADQABAAEAAADy/zcADQABAAEAAADy/zYADQABAAEAAADy/zUADQABAAEAAADy/zQADQABAAEAAADy/zMADQABAAEAAADy/zIADQABAAEAAADy/zEADQABAAEAAADy/yoADQABAAIAAADy/ykADQABAAEAAADy/ygADQABAAEAAADy/ycADQABAAEAAADy/yYADQABAAEAAADy/yUADQABAAEAAADy/yQADQABAAEAAADy////DQABAAEAAADx/0QADQABAAIAAADx/0MADQABAAEAAADx/0IADQABAAEAAADx/0EADQABAAEAAADx/0AADQABAAEAAADx/z8ADQABAAEAAADx/z4ADQABAAEAAADx/z0ADQABAAEAAADx/zwADQABAAEAAADx/zsADQABAAEAAADx/zoADQABAAEAAADx/zkADQABAAEAAADx/zgADQABAAEAAADx/zcADQABAAEAAADx/zYADQABAAEAAADx/zUADQABAAEAAADx/zQADQABAAEAAADx/zMADQABAAEAAADx/zIADQABAAEAAADx/zEADQABAAAAAADx/ysADQACAAIAAADx/yoADQABAAEAAADx/ykADQABAAEAAADx/ygADQABAAEAAADx/ycADQABAAEAAADx/yYADQABAAEAAADx/yUADQABAAEAAADx/yQADQABAAEAAADx////DQABAAEAAADw/0QADQABAAIAAADw/0MADQABAAEAAADw/0IADQABAAEAAADw/0EADQABAAEAAADw/0AADQABAAEAAADw/z8ADQABAAEAAADw/z4ADQABAAEAAADw/z0ADQABAAEAAADw/zwADQABAAEAAADw/zsADQABAAEAAADw/zoADQABAAEAAADw/zkADQABAAEAAADw/zgADQABAAEAAADw/zcADQABAAEAAADw/zYADQABAAEAAADw/zUADQABAAEAAADw/zQADQABAAEAAADw/zMADQABAAEAAADw/zIADQABAAEAAADw/zEADQABAAAAAADw/ysADQABAAEAAADw/yoADQABAAEAAADw/ykADQABAAEAAADw/ygADQABAAEAAADw/ycADQABAAEAAADw/yYADQABAAEAAADw/yUADQABAAEAAADw/yQADQABAAEAAADw////DQABAAEAAADv/0QADQABAAIAAADv/0MADQABAAEAAADv/0IADQABAAEAAADv/0EADQABAAEAAADv/0AADQABAAEAAADv/z8ADQABAAEAAADv/z4ADQABAAEAAADv/z0ADQABAAEAAADv/zwADQABAAEAAADv/zsADQABAAEAAADv/zoADQABAAEAAADv/zkADQABAAEAAADv/zgADQABAAEAAADv/zcADQABAAEAAADv/zYADQABAAEAAADv/zUADQABAAEAAADv/zQADQABAAEAAADv/zMADQABAAEAAADv/zIADQABAAEAAADv/zEADQABAAEAAADv/ywADQABAAEAAADv/ysADQABAAEAAADv/yoADQABAAEAAADv/ykADQABAAEAAADv/ygADQABAAEAAADv/ycADQABAAEAAADv/yYADQABAAEAAADv/yUADQABAAEAAADv/yQADQABAAEAAADv////DQABAAEAAADu/0QADQABAAIAAADu/0MADQABAAEAAADu/0IADQABAAEAAADu/0EADQABAAEAAADu/0AADQABAAEAAADu/z8ADQABAAEAAADu/z4ADQABAAEAAADu/z0ADQABAAEAAADu/zwADQABAAEAAADu/zsADQABAAEAAADu/zoADQABAAEAAADu/zkADQABAAEAAADu/zgADQABAAEAAADu/zcADQABAAEAAADu/zYADQABAAEAAADu/zUADQABAAEAAADu/zQADQABAAEAAADu/zMADQABAAEAAADu/zIADQABAAEAAADu/zEADQABAAEAAADu/y0ADQABAAEAAADu/ywADQABAAEAAADu/ysADQABAAEAAADu/yoADQABAAEAAADu/ykADQABAAEAAADu/ygADQABAAEAAADu/ycADQABAAEAAADu/yYADQABAAEAAADu/yUADQABAAEAAADu/yQADQABAAEAAADu////DQABAAEAAADt/0QADQABAAIAAADt/0MADQABAAEAAADt/0IADQABAAEAAADt/0EADQABAAEAAADt/0AADQABAAEAAADt/z8ADQABAAEAAADt/z4ADQABAAEAAADt/z0ADQABAAEAAADt/zwADQABAAEAAADt/zsADQABAAEAAADt/zoADQABAAEAAADt/zkADQABAAEAAADt/zgADQABAAEAAADt/zcADQABAAEAAADt/zYADQABAAEAAADt/zUADQABAAEAAADt/zQADQABAAEAAADt/zMADQABAAEAAADt/zIADQABAAEAAADt/zEADQABAAEAAADt/zAADQABAAEAAADt/y8ADQABAAEAAADt/y4ADQABAAEAAADt/y0ADQABAAEAAADt/ywADQABAAEAAADt/ysADQABAAEAAADt/yoADQABAAEAAADt/ykADQABAAEAAADt/ygADQABAAEAAADt/ycADQABAAEAAADt/yYADQABAAEAAADt/yUADQABAAEAAADt/yQADQABAAEAAADt////DQABAAEAAADs/0QADQABAAIAAADs/0MADQABAAEAAADs/0IADQABAAEAAADs/0EADQABAAEAAADs/0AADQABAAEAAADs/z8ADQABAAEAAADs/z4ADQABAAEAAADs/z0ADQABAAEAAADs/zwADQABAAEAAADs/zsADQABAAEAAADs/zoADQABAAEAAADs/zkADQABAAEAAADs/zgADQABAAEAAADs/zcADQABAAEAAADs/zYADQABAAEAAADs/zUADQABAAEAAADs/zQADQABAAEAAADs/zMADQABAAEAAADs/zIADQABAAEAAADs/zEADQABAAEAAADs/zAADQABAAEAAADs/y8ADQABAAEAAADs/y4ADQABAAEAAADs/y0ADQABAAEAAADs/ywADQABAAEAAADs/ysADQABAAEAAADs/yoADQABAAEAAADs/ykADQABAAEAAADs/ygADQABAAEAAADs/ycADQABAAEAAADs/yYADQABAAEAAADs/yUADQABAAEAAADs/yQADQABAAEAAADs////DQABAAEAAADr/0QADQABAAIAAADr/0MADQABAAEAAADr/0IADQABAAEAAADr/0EADQABAAEAAADr/0AADQABAAEAAADr/z8ADQABAAEAAADr/z4ADQABAAEAAADr/z0ADQABAAEAAADr/zwADQABAAEAAADr/zsADQABAAEAAADr/zoADQABAAEAAADr/zkADQABAAEAAADr/zgADQABAAEAAADr/zcADQABAAEAAADr/zYADQABAAEAAADr/zUADQABAAEAAADr/zQADQABAAEAAADr/zMADQABAAEAAADr/zIADQABAAEAAADr/zEADQABAAEAAADr/zAADQABAAEAAADr/y8ADQABAAEAAADr/y4ADQABAAEAAADr/y0ADQABAAEAAADr/ywADQABAAEAAADr/ysADQABAAEAAADr/yoADQABAAEAAADr/ykADQABAAEAAADr/ygADQABAAEAAADr/ycADQABAAEAAADr/yYADQABAAEAAADr/yUADQABAAEAAADr/yQADQABAAEAAADr////DQABAAEAAADq/0QADQABAAIAAADq/0MADQABAAEAAADq/0IADQABAAEAAADq/0EADQABAAEAAADq/0AADQABAAEAAADq/z8ADQABAAEAAADq/z4ADQABAAEAAADq/z0ADQABAAEAAADq/zwADQABAAEAAADq/zsADQABAAEAAADq/zoADQABAAEAAADq/zkADQABAAEAAADq/zgADQABAAEAAADq/zcADQABAAEAAADq/zYADQABAAEAAADq/zUADQABAAEAAADq/zQADQABAAEAAADq/zMADQABAAEAAADq/zIADQABAAEAAADq/zEADQABAAEAAADq/zAADQABAAEAAADq/y8ADQABAAEAAADq/y4ADQABAAEAAADq/y0ADQABAAEAAADq/ywADQABAAEAAADq/ysADQABAAEAAADq/yoADQABAAEAAADq/ykADQABAAEAAADq/ygADQABAAEAAADq/ycADQABAAEAAADq/yYADQABAAEAAADq/yUADQABAAEAAADq/yQADQABAAEAAADq////DQABAAEAAADp/0QADQABAAIAAADp/0MADQABAAEAAADp/0IADQABAAEAAADp/0EADQABAAEAAADp/0AADQABAAEAAADp/z8ADQABAAEAAADp/z4ADQABAAEAAADp/z0ADQABAAEAAADp/zwADQABAAEAAADp/zsADQABAAEAAADp/zoADQABAAEAAADp/zkADQABAAEAAADp/zgADQABAAEAAADp/zcADQABAAEAAADp/zYADQABAAEAAADp/zUADQABAAEAAADp/zQADQABAAEAAADp/zMADQABAAEAAADp/zIADQABAAEAAADp/zEADQABAAEAAADp/zAADQABAAEAAADp/y8ADQABAAEAAADp/y4ADQABAAEAAADp/y0ADQABAAEAAADp/ywADQABAAEAAADp/ysADQABAAEAAADp/yoADQABAAEAAADp/ykADQABAAEAAADp/ygADQABAAEAAADp/ycADQABAAEAAADp/yYADQABAAEAAADp/yUADQABAAEAAADp/yQADQABAAEAAADp////DQABAAEAAADo/0QADQABAAIAAADo/0MADQABAAEAAADo/0IADQABAAEAAADo/0EADQABAAEAAADo/0AADQABAAEAAADo/z8ADQABAAEAAADo/z4ADQABAAEAAADo/z0ADQABAAEAAADo/zwADQABAAEAAADo/zsADQABAAEAAADo/zoADQABAAEAAADo/zkADQABAAEAAADo/zgADQABAAEAAADo/zcADQABAAEAAADo/zYADQABAAEAAADo/zUADQABAAEAAADo/zQADQABAAEAAADo/zMADQABAAEAAADo/zIADQABAAEAAADo/zEADQABAAEAAADo/zAADQABAAEAAADo/y8ADQABAAEAAADo/y4ADQABAAEAAADo/y0ADQABAAEAAADo/ywADQABAAEAAADo/ysADQABAAEAAADo/yoADQABAAEAAADo/ykADQABAAEAAADo/ygADQABAAEAAADo/ycADQABAAEAAADo/yYADQABAAEAAADo/yUADQABAAEAAADo/yQADQABAAEAAADo////DQABAAEAAADn/0QADQABAAIAAADn/0MADQABAAEAAADn/0IADQABAAEAAADn/0EADQABAAEAAADn/0AADQABAAEAAADn/z8ADQABAAEAAADn/z4ADQABAAEAAADn/z0ADQABAAEAAADn/zwADQABAAEAAADn/zsADQABAAEAAADn/zoADQABAAEAAADn/zkADQABAAEAAADn/zgADQABAAEAAADn/zcADQABAAEAAADn/zYADQABAAEAAADn/zUADQABAAEAAADn/zQADQABAAEAAADn/zMADQABAAEAAADn/zIADQABAAEAAADn/zEADQABAAEAAADn/zAADQABAAEAAADn/y8ADQABAAEAAADn/y4ADQABAAEAAADn/y0ADQABAAEAAADn/ywADQABAAEAAADn/ysADQABAAEAAADn/yoADQABAAEAAADn/ykADQABAAEAAADn/ygADQABAAEAAADn/ycADQABAAEAAADn/yYADQABAAEAAADn/yUADQABAAEAAADn/yQADQABAAEAAADn////DQABAAEAAADm/0QADQABAAIAAADm/0MADQABAAEAAADm/0IADQABAAEAAADm/0EADQABAAEAAADm/0AADQABAAEAAADm/z8ADQABAAEAAADm/z4ADQABAAEAAADm/z0ADQABAAEAAADm/zwADQABAAEAAADm/zsADQABAAEAAADm/zoADQABAAEAAADm/zkADQABAAEAAADm/zgADQABAAEAAADm/zcADQABAAEAAADm/zYADQABAAEAAADm/zUADQABAAEAAADm/zQADQABAAEAAADm/zMADQABAAEAAADm/zIADQABAAEAAADm/zEADQABAAEAAADm/zAADQABAAEAAADm/y8ADQABAAEAAADm/y4ADQABAAEAAADm/y0ADQABAAEAAADm/ywADQABAAEAAADm/ysADQABAAEAAADm/yoADQABAAEAAADm/ykADQABAAEAAADm/ygADQABAAEAAADm/ycADQABAAEAAADm/yYADQABAAEAAADm/yUADQABAAEAAADm/yQADQABAAEAAADm/yMADQABAAEAAADm/yIADQABAAEAAADm/yEADQABAAEAAADm/yAADQABAAEAAADm/x8ADQABAAEAAADm/x4ADQABAAEAAADm/x0ADQABAAEAAADm/xwADQABAAEAAADm/xsADQABAAEAAADm/xoADQABAAEAAADm/xkADQABAAEAAADm/xgADQABAAEAAADm/xcADQABAAEAAADm/xYADQABAAEAAADm/xUADQABAAEAAADm/xQADQABAAEAAADm/xMADQABAAEAAADm/xIADQABAAEAAADm/xEADQABAAEAAADm/xAADQABAAEAAADm/w8ADQABAAEAAADm/w4ADQABAAEAAADm/w0ADQABAAEAAADm/wwADQABAAEAAADm/wsADQABAAEAAADm/woADQABAAEAAADm/wkADQABAAEAAADm/wgADQABAAEAAADm/wcADQABAAEAAADm/wYADQABAAEAAADm/wUADQABAAEAAADm/wQADQABAAEAAADm/wMADQABAAEAAADm/wIADQABAAEAAADm/wEADQABAAEAAADm/wAADQABAAEAAADm////DQABAAEAAADl/0QADQAAAAIAAADl/0MADQAAAAEAAADl/0IADQAAAAEAAADl/0EADQAAAAEAAADl/0AADQAAAAEAAADl/z8ADQAAAAEAAADl/z4ADQAAAAEAAADl/z0ADQAAAAEAAADl/zwADQAAAAEAAADl/zsADQAAAAEAAADl/zoADQAAAAEAAADl/zkADQAAAAEAAADl/zgADQAAAAEAAADl/zcADQAAAAEAAADl/zYADQAAAAEAAADl/zUADQAAAAEAAADl/zQADQAAAAEAAADl/zMADQAAAAEAAADl/zIADQAAAAEAAADl/zEADQAAAAEAAADl/zAADQAAAAEAAADl/y8ADQAAAAEAAADl/y4ADQAAAAEAAADl/y0ADQAAAAEAAADl/ywADQAAAAEAAADl/ysADQAAAAEAAADl/yoADQAAAAEAAADl/ykADQAAAAEAAADl/ygADQAAAAEAAADl/ycADQAAAAEAAADl/yYADQAAAAEAAADl/yUADQAAAAEAAADl/yQADQAAAAEAAADl/yMADQAAAAEAAADl/yIADQAAAAEAAADl/yEADQAAAAEAAADl/yAADQAAAAEAAADl/x8ADQAAAAEAAADl/x4ADQAAAAEAAADl/x0ADQAAAAEAAADl/xwADQAAAAEAAADl/xsADQAAAAEAAADl/xoADQAAAAEAAADl/xkADQAAAAEAAADl/xgADQAAAAEAAADl/xcADQAAAAEAAADl/xYADQAAAAEAAADl/xUADQAAAAEAAADl/xQADQAAAAEAAADl/xMADQAAAAEAAADl/xIADQAAAAEAAADl/xEADQAAAAEAAADl/xAADQAAAAEAAADl/w8ADQAAAAEAAADl/w4ADQAAAAEAAADl/w0ADQAAAAEAAADl/wwADQAAAAEAAADl/wsADQAAAAEAAADl/woADQAAAAEAAADl/wkADQAAAAEAAADl/wgADQAAAAEAAADl/wcADQAAAAEAAADl/wYADQAAAAEAAADl/wUADQAAAAEAAADl/wQADQAAAAEAAADl/wMADQAAAAEAAADl/wIADQAAAAEAAADl/wEADQAAAAEAAADl/wAADQAAAAEAAADl////DQAAAAEAAABMAEMADQACAAEAAABMAEIADQACAAEAAABMAEEADQACAAEAAABMAEAADQACAAEAAABMAD8ADQACAAEAAABMAD4ADQACAAEAAABMAD0ADQACAAEAAABMADwADQACAAEAAABMADsADQACAAEAAABMADoADQACAAEAAABMADkADQACAAEAAABMADgADQACAAEAAABMADcADQACAAEAAABMADYADQACAAEAAABLAEMADQABAAEAAABLAEIADQABAAEAAABLAEEADQABAAEAAABLAEAADQABAAEAAABLAD8ADQABAAEAAABLAD4ADQABAAEAAABLAD0ADQABAAEAAABLADwADQABAAEAAABLADsADQABAAEAAABLADoADQABAAEAAABLADkADQABAAEAAABLADgADQABAAEAAABLADcADQABAAEAAABLADYADQABAAEAAABKAEMADQABAAEAAABKAEIADQABAAEAAABKAEEADQABAAEAAABKAEAADQABAAEAAABKAD8ADQABAAEAAABKAD4ADQABAAEAAABKAD0ADQABAAEAAABKADwADQABAAEAAABKADsADQABAAEAAABKADoADQABAAEAAABKADkADQABAAEAAABKADgADQABAAEAAABKADcADQABAAEAAABKADYADQABAAEAAABJAEMADQABAAEAAABJAEIADQABAAEAAABJAEEADQABAAEAAABJAEAADQABAAEAAABJAD8ADQABAAEAAABJAD4ADQABAAEAAABJAD0ADQABAAEAAABJADwADQABAAEAAABJADsADQABAAEAAABJADoADQABAAEAAABJADkADQABAAEAAABJADgADQABAAEAAABJADcADQABAAEAAABJADYADQABAAEAAABIAEMADQABAAEAAABIAEIADQABAAEAAABIAEEADQABAAEAAABIAEAADQABAAEAAABIAD8ADQABAAEAAABIAD4ADQABAAEAAABIAD0ADQABAAEAAABIADwADQABAAEAAABIADsADQABAAEAAABIADoADQABAAEAAABIADkADQABAAEAAABIADgADQABAAEAAABIADcADQABAAEAAABIADYADQABAAEAAABHAEMADQABAAEAAABHAEIADQABAAEAAABHAEEADQABAAEAAABHAEAADQABAAEAAABHAD8ADQABAAEAAABHAD4ADQABAAEAAABHAD0ADQABAAEAAABHADwADQABAAEAAABHADsADQABAAEAAABHADoADQABAAEAAABHADkADQABAAEAAABHADgADQABAAEAAABHADcADQABAAEAAABHADYADQABAAEAAABGAEMADQABAAEAAABGAEIADQABAAEAAABGAEEADQABAAEAAABGAEAADQABAAEAAABGAD8ADQABAAEAAABGAD4ADQABAAEAAABGAD0ADQABAAEAAABGADwADQABAAEAAABGADsADQABAAEAAABGADoADQABAAEAAABGADkADQABAAEAAABGADgADQABAAEAAABGADcADQABAAEAAABGADYADQABAAEAAABFAEMADQABAAEAAABFAEIADQABAAEAAABFAEEADQABAAEAAABFAEAADQABAAEAAABFAD8ADQABAAEAAABFAD4ADQABAAEAAABFAD0ADQABAAEAAABFADwADQABAAEAAABFADsADQABAAEAAABFADoADQABAAEAAABFADkADQABAAEAAABFADgADQABAAEAAABFADcADQABAAEAAABFADYADQABAAEAAABEAEMADQABAAEAAABEAEIADQABAAEAAABEAEEADQABAAEAAABEAEAADQABAAEAAABEAD8ADQABAAEAAABEAD4ADQABAAEAAABEAD0ADQABAAEAAABEADwADQABAAEAAABEADsADQABAAEAAABEADoADQABAAEAAABEADkADQABAAEAAABEADgADQABAAEAAABEADcADQABAAEAAABEADYADQABAAEAAABDAEMADQABAAEAAABDAEIADQABAAEAAABDAEEADQABAAEAAABDAEAADQABAAEAAABDAD8ADQABAAEAAABDAD4ADQABAAEAAABDAD0ADQABAAEAAABDADwADQABAAEAAABDADsADQABAAEAAABDADoADQABAAEAAABDADkADQABAAEAAABDADgADQABAAEAAABDADcADQABAAEAAABDADYADQABAAEAAABCAEMADQABAAEAAABCAEIADQABAAEAAABCAEEADQABAAEAAABCAEAADQABAAEAAABCAD8ADQABAAEAAABCAD4ADQABAAEAAABCAD0ADQABAAEAAABCADwADQABAAEAAABCADsADQABAAEAAABCADoADQABAAEAAABCADkADQABAAEAAABCADgADQABAAEAAABCADcADQABAAEAAABCADYADQABAAEAAABBAEMADQABAAEAAABBAEIADQABAAEAAABBAEEADQABAAEAAABBAEAADQABAAEAAABBAD8ADQABAAEAAABBAD4ADQABAAEAAABBAD0ADQABAAEAAABBADwADQABAAEAAABBADsADQABAAEAAABBADoADQABAAEAAABBADkADQABAAEAAABBADgADQABAAEAAABBADcADQABAAEAAABBADYADQABAAEAAABAAEMADQABAAEAAABAAEIADQABAAEAAABAAEEADQABAAEAAABAAEAADQABAAEAAABAAD8ADQABAAEAAABAAD4ADQABAAEAAABAAD0ADQABAAEAAABAADwADQABAAEAAABAADsADQABAAEAAABAADoADQABAAEAAABAADkADQABAAEAAABAADgADQABAAEAAABAADcADQABAAEAAABAADYADQABAAEAAAA/AEMADQABAAEAAAA/AEIADQABAAEAAAA/AEEADQABAAEAAAA/AEAADQABAAEAAAA/AD8ADQABAAEAAAA/AD4ADQABAAEAAAA/AD0ADQABAAEAAAA/ADwADQABAAEAAAA/ADsADQABAAEAAAA/ADoADQABAAEAAAA/ADkADQABAAEAAAA/ADgADQABAAEAAAA/ADcADQABAAEAAAA/ADYADQABAAEAAAA+AEMADQABAAEAAAA+AEIADQABAAEAAAA+AEEADQABAAEAAAA+AEAADQABAAEAAAA+AD8ADQABAAEAAAA+AD4ADQABAAEAAAA+AD0ADQABAAEAAAA+ADwADQABAAEAAAA+ADsADQABAAEAAAA+ADoADQABAAEAAAA+ADkADQABAAEAAAA+ADgADQABAAEAAAA+ADcADQABAAEAAAA+ADYADQABAAEAAAA9AEMADQABAAEAAAA9AEIADQABAAEAAAA9AEEADQABAAEAAAA9AEAADQABAAEAAAA9AD8ADQABAAEAAAA9AD4ADQABAAEAAAA9AD0ADQABAAEAAAA9ADwADQABAAEAAAA9ADsADQABAAEAAAA9ADoADQABAAEAAAA9ADkADQABAAEAAAA9ADgADQABAAEAAAA9ADcADQABAAEAAAA9ADYADQABAAEAAAA8AEMADQABAAEAAAA8AEIADQABAAEAAAA8AEEADQABAAEAAAA8AEAADQABAAEAAAA8AD8ADQABAAEAAAA8AD4ADQABAAEAAAA8AD0ADQABAAEAAAA8ADwADQABAAEAAAA8ADsADQABAAEAAAA8ADoADQABAAEAAAA8ADkADQABAAEAAAA8ADgADQABAAEAAAA8ADcADQABAAEAAAA8ADYADQABAAEAAAA7AEMADQABAAEAAAA7AEIADQABAAEAAAA7AEEADQABAAEAAAA7AEAADQABAAEAAAA7AD8ADQABAAEAAAA7AD4ADQABAAEAAAA7AD0ADQABAAEAAAA7ADwADQABAAEAAAA7ADsADQABAAEAAAA7ADoADQABAAEAAAA7ADkADQABAAEAAAA7ADgADQABAAEAAAA7ADcADQABAAEAAAA7ADYADQABAAEAAAA6AEMADQABAAEAAAA6AEIADQABAAEAAAA6AEEADQABAAEAAAA6AEAADQABAAEAAAA6AD8ADQABAAEAAAA6AD4ADQABAAEAAAA6AD0ADQABAAEAAAA6ADwADQABAAEAAAA6ADsADQABAAEAAAA6ADoADQABAAEAAAA6ADkADQABAAEAAAA6ADgADQABAAEAAAA6ADcADQABAAEAAAA6ADYADQABAAEAAAA5AEMADQABAAEAAAA5AEIADQABAAEAAAA5AEEADQABAAEAAAA5AEAADQABAAEAAAA5AD8ADQABAAEAAAA5AD4ADQABAAEAAAA5AD0ADQABAAEAAAA5ADwADQABAAEAAAA5ADsADQABAAEAAAA5ADoADQABAAEAAAA5ADkADQABAAEAAAA5ADgADQABAAEAAAA5ADcADQABAAEAAAA5ADYADQABAAEAAAA4AEMADQABAAEAAAA4AEIADQABAAEAAAA4AEEADQABAAEAAAA4AEAADQABAAEAAAA4AD8ADQABAAEAAAA4AD4ADQABAAEAAAA4AD0ADQABAAEAAAA4ADwADQABAAEAAAA4ADsADQABAAEAAAA4ADoADQABAAEAAAA4ADkADQABAAEAAAA4ADgADQABAAEAAAA4ADcADQABAAEAAAA4ADYADQABAAEAAAA3AEMADQABAAEAAAA3AEIADQABAAEAAAA3AEEADQABAAEAAAA3AEAADQABAAEAAAA3AD8ADQABAAEAAAA3AD4ADQABAAEAAAA3AD0ADQABAAEAAAA3ADwADQABAAEAAAA3ADsADQABAAEAAAA3ADoADQABAAEAAAA3ADkADQABAAEAAAA3ADgADQABAAEAAAA3ADcADQABAAEAAAA3ADYADQABAAEAAAA2AEMADQABAAEAAAA2AEIADQABAAEAAAA2AEEADQABAAEAAAA2AEAADQABAAEAAAA2AD8ADQABAAEAAAA2AD4ADQABAAEAAAA2AD0ADQABAAEAAAA2ADwADQABAAEAAAA2ADsADQABAAEAAAA2ADoADQABAAEAAAA2ADkADQABAAEAAAA2ADgADQABAAEAAAA2ADcADQABAAEAAAA2ADYADQABAAEAAAA1AEMADQABAAEAAAA1AEIADQABAAEAAAA1AEEADQABAAEAAAA1AEAADQABAAEAAAA1AD8ADQABAAEAAAA1AD4ADQABAAEAAAA1AD0ADQABAAEAAAA1ADwADQABAAEAAAA1ADsADQABAAEAAAA1ADoADQABAAEAAAA1ADkADQABAAEAAAA1ADgADQABAAEAAAA1ADcADQABAAEAAAA1ADYADQABAAEAAAA0AEMADQABAAEAAAA0AEIADQABAAEAAAA0AEEADQABAAEAAAA0AEAADQABAAEAAAA0AD8ADQABAAEAAAA0AD4ADQABAAEAAAA0AD0ADQABAAEAAAA0ADwADQABAAEAAAA0ADsADQABAAEAAAA0ADoADQABAAEAAAA0ADkADQABAAEAAAA0ADgADQABAAEAAAA0ADcADQABAAEAAAA0ADYADQABAAEAAAAzAEMADQABAAEAAAAzAEIADQABAAEAAAAzAEEADQABAAEAAAAzAEAADQABAAEAAAAzAD8ADQABAAEAAAAzAD4ADQABAAEAAAAzAD0ADQABAAEAAAAzADwADQABAAEAAAAzADsADQABAAEAAAAzADoADQABAAEAAAAzADkADQABAAEAAAAzADgADQABAAEAAAAzADcADQABAAEAAAAzADYADQABAAEAAAAyAEMADQABAAEAAAAyAEIADQABAAEAAAAyAEEADQABAAEAAAAyAEAADQABAAEAAAAyAD8ADQABAAEAAAAyAD4ADQABAAEAAAAyAD0ADQABAAEAAAAyADwADQABAAEAAAAyADsADQABAAEAAAAyADoADQABAAEAAAAyADkADQABAAEAAAAyADgADQABAAEAAAAyADcADQABAAEAAAAyADYADQABAAEAAAAxAEMADQABAAEAAAAxAEIADQABAAEAAAAxAEEADQABAAEAAAAxAEAADQABAAEAAAAxAD8ADQABAAEAAAAxAD4ADQABAAEAAAAxAD0ADQABAAEAAAAxADwADQABAAEAAAAxADsADQABAAEAAAAxADoADQABAAEAAAAxADkADQABAAEAAAAxADgADQABAAEAAAAxADcADQABAAEAAAAxADYADQABAAEAAAAwAEMADQABAAEAAAAwAEIADQABAAEAAAAwAEEADQABAAEAAAAwAEAADQABAAEAAAAwAD8ADQABAAEAAAAwAD4ADQABAAEAAAAwAD0ADQABAAEAAAAwADwADQABAAEAAAAwADsADQABAAEAAAAwADoADQABAAEAAAAwADkADQABAAEAAAAwADgADQABAAEAAAAwADcADQABAAEAAAAwADYADQABAAEAAAAvAEMADQABAAEAAAAvAEIADQABAAEAAAAvAEEADQABAAEAAAAvAEAADQABAAEAAAAvAD8ADQABAAEAAAAvAD4ADQABAAEAAAAvAD0ADQABAAEAAAAvADwADQABAAEAAAAvADsADQABAAEAAAAvADoADQABAAEAAAAvADkADQABAAEAAAAvADgADQABAAEAAAAvADcADQABAAEAAAAvADYADQABAAEAAAAuAEMADQABAAEAAAAuAEIADQABAAEAAAAuAEEADQABAAEAAAAuAEAADQABAAEAAAAuAD8ADQABAAEAAAAuAD4ADQABAAEAAAAuAD0ADQABAAEAAAAuADwADQABAAEAAAAuADsADQABAAEAAAAuADoADQABAAEAAAAuADkADQABAAEAAAAuADgADQABAAEAAAAuADcADQABAAEAAAAuADYADQABAAEAAAAtAEMADQABAAEAAAAtAEIADQABAAEAAAAtAEEADQABAAEAAAAtAEAADQABAAEAAAAtAD8ADQABAAEAAAAtAD4ADQABAAEAAAAtAD0ADQABAAEAAAAtADwADQABAAEAAAAtADsADQABAAEAAAAtADoADQABAAEAAAAtADkADQABAAEAAAAtADgADQABAAEAAAAtADcADQABAAEAAAAtADYADQABAAEAAAAsAEMADQABAAEAAAAsAEIADQABAAEAAAAsAEEADQABAAEAAAAsAEAADQABAAEAAAAsAD8ADQABAAEAAAAsAD4ADQABAAEAAAAsAD0ADQABAAEAAAAsADwADQABAAEAAAAsADsADQABAAEAAAAsADoADQABAAEAAAAsADkADQABAAEAAAAsADgADQABAAEAAAAsADcADQABAAEAAAAsADYADQABAAEAAAArAEMADQABAAEAAAArAEIADQABAAEAAAArAEEADQABAAEAAAArAEAADQABAAEAAAArAD8ADQABAAEAAAArAD4ADQABAAEAAAArAD0ADQABAAEAAAArADwADQABAAEAAAArADsADQABAAEAAAArADoADQABAAEAAAArADkADQABAAEAAAArADgADQABAAEAAAArADcADQABAAEAAAArADYADQABAAEAAAAqAEMADQABAAEAAAAqAEIADQABAAEAAAAqAEEADQABAAEAAAAqAEAADQABAAEAAAAqAD8ADQABAAEAAAAqAD4ADQABAAEAAAAqAD0ADQABAAEAAAAqADwADQABAAEAAAAqADsADQABAAEAAAAqADoADQABAAEAAAAqADkADQABAAEAAAAqADgADQABAAEAAAAqADcADQABAAEAAAAqADYADQABAAEAAAApAEMADQABAAEAAAApAEIADQABAAEAAAApAEEADQABAAEAAAApAEAADQABAAEAAAApAD8ADQABAAEAAAApAD4ADQABAAEAAAApAD0ADQABAAEAAAApADwADQABAAEAAAApADsADQABAAEAAAApADoADQABAAEAAAApADkADQABAAEAAAApADgADQABAAEAAAApADcADQABAAEAAAApADYADQABAAEAAAAoAEMADQABAAEAAAAoAEIADQABAAEAAAAoAEEADQABAAEAAAAoAEAADQABAAEAAAAoAD8ADQABAAEAAAAoAD4ADQABAAEAAAAoAD0ADQABAAEAAAAoADwADQABAAEAAAAoADsADQABAAEAAAAoADoADQABAAEAAAAoADkADQABAAEAAAAoADgADQABAAEAAAAoADcADQABAAEAAAAoADYADQABAAEAAAAnAEMADQABAAEAAAAnAEIADQABAAEAAAAnAEEADQABAAEAAAAnAEAADQABAAEAAAAnAD8ADQABAAEAAAAnAD4ADQABAAEAAAAnAD0ADQABAAEAAAAnADwADQABAAEAAAAnADsADQABAAEAAAAnADoADQABAAEAAAAnADkADQABAAEAAAAnADgADQABAAEAAAAnADcADQABAAEAAAAnADYADQABAAEAAAAmAEMADQABAAEAAAAmAEIADQABAAEAAAAmAEEADQABAAEAAAAmAEAADQABAAEAAAAmAD8ADQABAAEAAAAmAD4ADQABAAEAAAAmAD0ADQABAAEAAAAmADwADQABAAEAAAAmADsADQABAAEAAAAmADoADQABAAEAAAAmADkADQABAAEAAAAmADgADQABAAEAAAAmADcADQABAAEAAAAmADYADQABAAEAAAAlAEMADQABAAEAAAAlAEIADQABAAEAAAAlAEEADQABAAEAAAAlAEAADQABAAEAAAAlAD8ADQABAAEAAAAlAD4ADQABAAEAAAAlAD0ADQABAAEAAAAlADwADQABAAEAAAAlADsADQABAAEAAAAlADoADQABAAEAAAAlADkADQABAAEAAAAlADgADQABAAEAAAAlADcADQABAAEAAAAlADYADQABAAEAAAAkAEMADQABAAEAAAAkAEIADQABAAEAAAAkAEEADQABAAEAAAAkAEAADQABAAEAAAAkAD8ADQABAAEAAAAkAD4ADQABAAEAAAAkAD0ADQABAAEAAAAkADwADQABAAEAAAAkADsADQABAAEAAAAkADoADQABAAEAAAAkADkADQABAAEAAAAkADgADQABAAEAAAAkADcADQABAAEAAAAkADYADQABAAEAAAAjAEMADQABAAEAAAAjAEIADQABAAEAAAAjAEEADQABAAEAAAAjAEAADQABAAEAAAAjAD8ADQABAAEAAAAjAD4ADQABAAEAAAAjAD0ADQABAAEAAAAjADwADQABAAEAAAAjADsADQABAAEAAAAjADoADQABAAEAAAAjADkADQABAAEAAAAjADgADQABAAEAAAAjADcADQABAAEAAAAjADYADQABAAEAAAAiAEMADQABAAEAAAAiAEIADQABAAEAAAAiAEEADQABAAEAAAAiAEAADQABAAEAAAAiAD8ADQABAAEAAAAiAD4ADQABAAEAAAAiAD0ADQABAAEAAAAiADwADQABAAEAAAAiADsADQABAAEAAAAiADoADQABAAEAAAAiADkADQABAAEAAAAiADgADQABAAEAAAAiADcADQABAAEAAAAiADYADQABAAEAAAAhAEMADQABAAEAAAAhAEIADQABAAEAAAAhAEEADQABAAEAAAAhAEAADQABAAEAAAAhAD8ADQABAAEAAAAhAD4ADQABAAEAAAAhAD0ADQABAAEAAAAhADwADQABAAEAAAAhADsADQABAAEAAAAhADoADQABAAEAAAAhADkADQABAAEAAAAhADgADQABAAEAAAAhADcADQABAAEAAAAhADYADQABAAEAAAAgAEMADQABAAEAAAAgAEIADQABAAEAAAAgAEEADQABAAEAAAAgAEAADQABAAEAAAAgAD8ADQABAAEAAAAgAD4ADQABAAEAAAAgAD0ADQABAAEAAAAgADwADQABAAEAAAAgADsADQABAAEAAAAgADoADQABAAEAAAAgADkADQABAAEAAAAgADgADQABAAEAAAAgADcADQABAAEAAAAgADYADQABAAEAAAAfAEMADQABAAEAAAAfAEIADQABAAEAAAAfAEEADQABAAEAAAAfAEAADQABAAEAAAAfAD8ADQABAAEAAAAfAD4ADQABAAEAAAAfAD0ADQABAAEAAAAfADwADQABAAEAAAAfADsADQABAAEAAAAfADoADQABAAEAAAAfADkADQABAAEAAAAfADgADQABAAEAAAAfADcADQABAAEAAAAfADYADQABAAEAAAAeAEMADQABAAEAAAAeAEIADQABAAEAAAAeAEEADQABAAEAAAAeAEAADQABAAEAAAAeAD8ADQABAAEAAAAeAD4ADQABAAEAAAAeAD0ADQABAAEAAAAeADwADQABAAEAAAAeADsADQABAAEAAAAeADoADQABAAEAAAAeADkADQABAAEAAAAeADgADQABAAEAAAAeADcADQABAAEAAAAeADYADQABAAEAAAAdAEMADQABAAEAAAAdAEIADQABAAEAAAAdAEEADQABAAEAAAAdAEAADQABAAEAAAAdAD8ADQABAAEAAAAdAD4ADQABAAEAAAAdAD0ADQABAAEAAAAdADwADQABAAEAAAAdADsADQABAAEAAAAdADoADQABAAEAAAAdADkADQABAAEAAAAdADgADQABAAEAAAAdADcADQABAAEAAAAdADYADQABAAEAAAAcAEMADQABAAEAAAAcAEIADQABAAEAAAAcAEEADQABAAEAAAAcAEAADQABAAEAAAAcAD8ADQABAAEAAAAcAD4ADQABAAEAAAAcAD0ADQABAAEAAAAcADwADQABAAEAAAAcADsADQABAAEAAAAcADoADQABAAEAAAAcADkADQABAAEAAAAcADgADQABAAEAAAAcADcADQABAAEAAAAcADYADQABAAEAAAAbAEMADQABAAEAAAAbAEIADQABAAEAAAAbAEEADQABAAEAAAAbAEAADQABAAEAAAAbAD8ADQABAAEAAAAbAD4ADQABAAEAAAAbAD0ADQABAAEAAAAbADwADQABAAEAAAAbADsADQABAAEAAAAbADoADQABAAEAAAAbADkADQABAAEAAAAbADgADQABAAEAAAAbADcADQABAAEAAAAbADYADQABAAEAAAAaAEMADQABAAEAAAAaAEIADQABAAEAAAAaAEEADQABAAEAAAAaAEAADQABAAEAAAAaAD8ADQABAAEAAAAaAD4ADQABAAEAAAAaAD0ADQABAAEAAAAaADwADQABAAEAAAAaADsADQABAAEAAAAaADoADQABAAEAAAAaADkADQABAAEAAAAaADgADQABAAEAAAAaADcADQABAAEAAAAaADYADQABAAEAAAAZAEMADQABAAEAAAAZAEIADQABAAEAAAAZAEEADQABAAEAAAAZAEAADQABAAEAAAAZAD8ADQABAAEAAAAZAD4ADQABAAEAAAAZAD0ADQABAAEAAAAZADwADQABAAEAAAAZADsADQABAAEAAAAZADoADQABAAEAAAAZADkADQABAAEAAAAZADgADQABAAEAAAAZADcADQABAAEAAAAZADYADQABAAEAAAAYAEMADQABAAEAAAAYAEIADQABAAEAAAAYAEEADQABAAEAAAAYAEAADQABAAEAAAAYAD8ADQABAAEAAAAYAD4ADQABAAEAAAAYAD0ADQABAAEAAAAYADwADQABAAEAAAAYADsADQABAAEAAAAYADoADQABAAEAAAAYADkADQABAAEAAAAYADgADQABAAEAAAAYADcADQABAAEAAAAYADYADQABAAEAAAAXAEMADQABAAEAAAAXAEIADQABAAEAAAAXAEEADQABAAEAAAAXAEAADQABAAEAAAAXAD8ADQABAAEAAAAXAD4ADQABAAEAAAAXAD0ADQABAAEAAAAXADwADQABAAEAAAAXADsADQABAAEAAAAXADoADQABAAEAAAAXADkADQABAAEAAAAXADgADQABAAEAAAAXADcADQABAAEAAAAXADYADQABAAEAAAAWAEMADQABAAEAAAAWAEIADQABAAEAAAAWAEEADQABAAEAAAAWAEAADQABAAEAAAAWAD8ADQABAAEAAAAWAD4ADQABAAEAAAAWAD0ADQABAAEAAAAWADwADQABAAEAAAAWADsADQABAAEAAAAWADoADQABAAEAAAAWADkADQABAAEAAAAWADgADQABAAEAAAAWADcADQABAAEAAAAWADYADQABAAEAAAAVAEMADQABAAEAAAAVAEIADQABAAEAAAAVAEEADQABAAEAAAAVAEAADQABAAEAAAAVAD8ADQABAAEAAAAVAD4ADQABAAEAAAAVAD0ADQABAAEAAAAVADwADQABAAEAAAAVADsADQABAAEAAAAVADoADQABAAEAAAAVADkADQABAAEAAAAVADgADQABAAEAAAAVADcADQABAAEAAAAVADYADQABAAEAAAAUAEMADQABAAEAAAAUAEIADQABAAEAAAAUAEEADQABAAEAAAAUAEAADQABAAEAAAAUAD8ADQABAAEAAAAUAD4ADQABAAEAAAAUAD0ADQABAAEAAAAUADwADQABAAEAAAAUADsADQABAAEAAAAUADoADQABAAEAAAAUADkADQABAAEAAAAUADgADQABAAEAAAAUADcADQABAAEAAAAUADYADQABAAEAAAATAEMADQABAAEAAAATAEIADQABAAEAAAATAEEADQABAAEAAAATAEAADQABAAEAAAATAD8ADQABAAEAAAATAD4ADQABAAEAAAATAD0ADQABAAEAAAATADwADQABAAEAAAATADsADQABAAEAAAATADoADQABAAEAAAATADkADQABAAEAAAATADgADQABAAEAAAATADcADQABAAEAAAATADYADQABAAEAAAASAEMADQABAAEAAAASAEIADQABAAEAAAASAEEADQABAAEAAAASAEAADQABAAEAAAASAD8ADQABAAEAAAASAD4ADQABAAEAAAASAD0ADQABAAEAAAASADwADQABAAEAAAASADsADQABAAEAAAASADoADQABAAEAAAASADkADQABAAEAAAASADgADQABAAEAAAASADcADQABAAEAAAASADYADQABAAEAAAARAEMADQABAAEAAAARAEIADQABAAEAAAARAEEADQABAAEAAAARAEAADQABAAEAAAARAD8ADQABAAEAAAARAD4ADQABAAEAAAARAD0ADQABAAEAAAARADwADQABAAEAAAARADsADQABAAEAAAARADoADQABAAEAAAARADkADQABAAEAAAARADgADQABAAEAAAARADcADQABAAEAAAARADYADQABAAEAAAAQAEMADQABAAEAAAAQAEIADQABAAEAAAAQAEEADQABAAEAAAAQAEAADQABAAEAAAAQAD8ADQABAAEAAAAQAD4ADQABAAEAAAAQAD0ADQABAAEAAAAQADwADQABAAEAAAAQADsADQABAAEAAAAQADoADQABAAEAAAAQADkADQABAAEAAAAQADgADQABAAEAAAAQADcADQABAAEAAAAQADYADQABAAEAAAAPAEMADQABAAEAAAAPAEIADQABAAEAAAAPAEEADQABAAEAAAAPAEAADQABAAEAAAAPAD8ADQABAAEAAAAPAD4ADQABAAEAAAAPAD0ADQABAAEAAAAPADwADQABAAEAAAAPADsADQABAAEAAAAPADoADQABAAEAAAAPADkADQABAAEAAAAPADgADQABAAEAAAAPADcADQABAAEAAAAPADYADQABAAEAAAAOAEMADQABAAEAAAAOAEIADQABAAEAAAAOAEEADQABAAEAAAAOAEAADQABAAEAAAAOAD8ADQABAAEAAAAOAD4ADQABAAEAAAAOAD0ADQABAAEAAAAOADwADQABAAEAAAAOADsADQABAAEAAAAOADoADQABAAEAAAAOADkADQABAAEAAAAOADgADQABAAEAAAAOADcADQABAAEAAAAOADYADQABAAEAAAANAEMADQABAAEAAAANAEIADQABAAEAAAANAEEADQABAAEAAAANAEAADQABAAEAAAANAD8ADQABAAEAAAANAD4ADQABAAEAAAANAD0ADQABAAEAAAANADwADQABAAEAAAANADsADQABAAEAAAANADoADQABAAEAAAANADkADQABAAEAAAANADgADQABAAEAAAANADcADQABAAEAAAANADYADQABAAEAAAAMAEMADQABAAEAAAAMAEIADQABAAEAAAAMAEEADQABAAEAAAAMAEAADQABAAEAAAAMAD8ADQABAAEAAAAMAD4ADQABAAEAAAAMAD0ADQABAAEAAAAMADwADQABAAEAAAAMADsADQABAAEAAAAMADoADQABAAEAAAAMADkADQABAAEAAAAMADgADQABAAEAAAAMADcADQABAAEAAAAMADYADQABAAEAAAALAEMADQABAAEAAAALAEIADQABAAEAAAALAEEADQABAAEAAAALAEAADQABAAEAAAALAD8ADQABAAEAAAALAD4ADQABAAEAAAALAD0ADQABAAEAAAALADwADQABAAEAAAALADsADQABAAEAAAALADoADQABAAEAAAALADkADQABAAEAAAALADgADQABAAEAAAALADcADQABAAEAAAALADYADQABAAEAAAAKAEMADQABAAEAAAAKAEIADQABAAEAAAAKAEEADQABAAEAAAAKAEAADQABAAEAAAAKAD8ADQABAAEAAAAKAD4ADQABAAEAAAAKAD0ADQABAAEAAAAKADwADQABAAEAAAAKADsADQABAAEAAAAKADoADQABAAEAAAAKADkADQABAAEAAAAKADgADQABAAEAAAAKADcADQABAAEAAAAKADYADQABAAEAAAAJAEMADQABAAEAAAAJAEIADQABAAEAAAAJAEEADQABAAEAAAAJAEAADQABAAEAAAAJAD8ADQABAAEAAAAJAD4ADQABAAEAAAAJAD0ADQABAAEAAAAJADwADQABAAEAAAAJADsADQABAAEAAAAJADoADQABAAEAAAAJADkADQABAAEAAAAJADgADQABAAEAAAAJADcADQABAAEAAAAJADYADQABAAEAAAAIAEMADQABAAEAAAAIAEIADQABAAEAAAAIAEEADQABAAEAAAAIAEAADQABAAEAAAAIAD8ADQABAAEAAAAIAD4ADQABAAEAAAAIAD0ADQABAAEAAAAIADwADQABAAEAAAAIADsADQABAAEAAAAIADoADQABAAEAAAAIADkADQABAAEAAAAIADgADQABAAEAAAAIADcADQABAAEAAAAIADYADQABAAEAAAAHAEMADQABAAEAAAAHAEIADQABAAEAAAAHAEEADQABAAEAAAAHAEAADQABAAEAAAAHAD8ADQABAAEAAAAHAD4ADQABAAEAAAAHAD0ADQABAAEAAAAHADwADQABAAEAAAAHADsADQABAAEAAAAHADoADQABAAEAAAAHADkADQABAAEAAAAHADgADQABAAEAAAAHADcADQABAAEAAAAHADYADQABAAEAAAAGAEMADQABAAEAAAAGAEIADQABAAEAAAAGAEEADQABAAEAAAAGAEAADQABAAEAAAAGAD8ADQABAAEAAAAGAD4ADQABAAEAAAAGAD0ADQABAAEAAAAGADwADQABAAEAAAAGADsADQABAAEAAAAGADoADQABAAEAAAAGADkADQABAAEAAAAGADgADQABAAEAAAAGADcADQABAAEAAAAGADYADQABAAEAAAAFAEMADQABAAEAAAAFAEIADQABAAEAAAAFAEEADQABAAEAAAAFAEAADQABAAEAAAAFAD8ADQABAAEAAAAFAD4ADQABAAEAAAAFAD0ADQABAAEAAAAFADwADQABAAEAAAAFADsADQABAAEAAAAFADoADQABAAEAAAAFADkADQABAAEAAAAFADgADQABAAEAAAAFADcADQABAAEAAAAFADYADQABAAEAAAAEAEMADQABAAEAAAAEAEIADQABAAEAAAAEAEEADQABAAEAAAAEAEAADQABAAEAAAAEAD8ADQABAAEAAAAEAD4ADQABAAEAAAAEAD0ADQABAAEAAAAEADwADQABAAEAAAAEADsADQABAAEAAAAEADoADQABAAEAAAAEADkADQABAAEAAAAEADgADQABAAEAAAAEADcADQABAAEAAAAEADYADQABAAEAAAADAEMADQABAAEAAAADAEIADQABAAEAAAADAEEADQABAAEAAAADAEAADQABAAEAAAADAD8ADQABAAEAAAADAD4ADQABAAEAAAADAD0ADQABAAEAAAADADwADQABAAEAAAADADsADQABAAEAAAADADoADQABAAEAAAADADkADQABAAEAAAADADgADQABAAEAAAADADcADQABAAEAAAADADYADQABAAEAAAACAEMADQABAAEAAAACAEIADQABAAEAAAACAEEADQABAAEAAAACAEAADQABAAEAAAACAD8ADQABAAEAAAACAD4ADQABAAEAAAACAD0ADQABAAEAAAACADwADQABAAEAAAACADsADQABAAEAAAACADoADQABAAEAAAACADkADQABAAEAAAACADgADQABAAEAAAACADcADQABAAEAAAACADYADQABAAEAAAABAEMADQABAAEAAAABAEIADQABAAEAAAABAEEADQABAAEAAAABAEAADQABAAEAAAABAD8ADQABAAEAAAABAD4ADQABAAEAAAABAD0ADQABAAEAAAABADwADQABAAEAAAABADsADQABAAEAAAABADoADQABAAEAAAABADkADQABAAEAAAABADgADQABAAEAAAABADcADQABAAEAAAABADYADQABAAEAAAAAAEMADQABAAEAAAAAAEIADQABAAEAAAAAAEEADQABAAEAAAAAAEAADQABAAEAAAAAAD8ADQABAAEAAAAAAD4ADQABAAEAAAAAAD0ADQABAAEAAAAAADwADQABAAEAAAAAADsADQABAAEAAAAAADoADQABAAEAAAAAADkADQABAAEAAAAAADgADQABAAEAAAAAADcADQABAAEAAAAAADYADQABAAEAAAD//0MADQABAAEAAAD//0IADQABAAEAAAD//0EADQABAAEAAAD//0AADQABAAEAAAD//z8ADQABAAEAAAD//z4ADQABAAEAAAD//z0ADQABAAEAAAD//zwADQABAAEAAAD//zsADQABAAEAAAD//zoADQABAAEAAAD//zkADQABAAEAAAD//zgADQABAAEAAAD//zcADQABAAEAAAD//zYADQABAAEAAAD+/0MADQABAAEAAAD+/0IADQABAAEAAAD+/0EADQABAAEAAAD+/0AADQABAAEAAAD+/z8ADQABAAEAAAD+/z4ADQABAAEAAAD+/z0ADQABAAEAAAD+/zwADQABAAEAAAD+/zsADQABAAEAAAD+/zoADQABAAEAAAD+/zkADQABAAEAAAD+/zgADQABAAEAAAD+/zcADQABAAEAAAD+/zYADQABAAEAAAD9/0MADQABAAEAAAD9/0IADQABAAEAAAD9/0EADQABAAEAAAD9/0AADQABAAEAAAD9/z8ADQABAAEAAAD9/z4ADQABAAEAAAD9/z0ADQABAAEAAAD9/zwADQABAAEAAAD9/zsADQABAAEAAAD9/zoADQABAAEAAAD9/zkADQABAAEAAAD9/zgADQABAAEAAAD9/zcADQABAAEAAAD9/zYADQABAAEAAAD8/0MADQABAAEAAAD8/0IADQABAAEAAAD8/0EADQABAAEAAAD8/0AADQABAAEAAAD8/z8ADQABAAEAAAD8/z4ADQABAAEAAAD8/z0ADQABAAEAAAD8/zwADQABAAEAAAD8/zsADQABAAEAAAD8/zoADQABAAEAAAD8/zkADQABAAEAAAD8/zgADQABAAEAAAD8/zcADQABAAEAAAD8/zYADQABAAEAAABMAEQADQACAAIAAABLAEQADQABAAIAAABKAEQADQABAAIAAABJAEQADQABAAIAAABIAEQADQABAAIAAABHAEQADQABAAIAAABGAEQADQABAAIAAABFAEQADQABAAIAAABEAEQADQABAAIAAABDAEQADQABAAIAAABCAEQADQABAAIAAABBAEQADQABAAIAAABAAEQADQABAAIAAAA/AEQADQABAAIAAAA+AEQADQABAAIAAAA9AEQADQABAAIAAAA8AEQADQABAAIAAAA7AEQADQABAAIAAAA6AEQADQABAAIAAAA5AEQADQABAAIAAAA4AEQADQABAAIAAAA3AEQADQABAAIAAAA2AEQADQABAAIAAAA1AEQADQABAAIAAAA0AEQADQABAAIAAAAzAEQADQABAAIAAAAyAEQADQABAAIAAAAxAEQADQABAAIAAAAwAEQADQABAAIAAAAvAEQADQABAAIAAAAuAEQADQABAAIAAAAtAEQADQABAAIAAAAsAEQADQABAAIAAAArAEQADQABAAIAAAAqAEQADQABAAIAAAApAEQADQABAAIAAAAoAEQADQABAAIAAAAnAEQADQABAAIAAAAmAEQADQABAAIAAAAlAEQADQABAAIAAAAkAEQADQABAAIAAAAjAEQADQABAAIAAAAiAEQADQABAAIAAAAhAEQADQABAAIAAAAgAEQADQABAAIAAAAfAEQADQABAAIAAAAeAEQADQABAAIAAAAdAEQADQABAAIAAAAcAEQADQABAAIAAAAbAEQADQABAAIAAAAaAEQADQABAAIAAAAZAEQADQABAAIAAAAYAEQADQABAAIAAAAXAEQADQABAAIAAAAWAEQADQABAAIAAAAVAEQADQABAAIAAAAUAEQADQABAAIAAAATAEQADQABAAIAAAASAEQADQABAAIAAAARAEQADQABAAIAAAAQAEQADQABAAIAAAAPAEQADQABAAIAAAAOAEQADQABAAIAAAANAEQADQABAAIAAAAMAEQADQABAAIAAAALAEQADQABAAIAAAAKAEQADQABAAIAAAAJAEQADQABAAIAAAAIAEQADQABAAIAAAAHAEQADQABAAIAAAAGAEQADQABAAIAAAAFAEQADQABAAIAAAAEAEQADQABAAIAAAADAEQADQABAAIAAAACAEQADQABAAIAAAABAEQADQABAAIAAAAAAEQADQABAAIAAAD//0QADQABAAIAAAD+/0QADQABAAIAAAD9/0QADQABAAIAAAD8/0QADQABAAIAAABMADUADQACAAEAAABMADQADQACAAEAAABMADMADQACAAEAAABMADIADQACAAEAAABMADEADQACAAEAAABMADAADQACAAEAAABMAC8ADQACAAEAAABMAC4ADQACAAEAAABMAC0ADQACAAEAAABMACwADQACAAEAAABMACsADQACAAEAAABMACoADQACAAEAAABMACkADQACAAEAAABMACgADQACAAEAAABLADUADQABAAEAAABLADQADQABAAEAAABLADMADQABAAEAAABLADIADQABAAEAAABLADEADQABAAEAAABLADAADQABAAEAAABLAC8ADQABAAEAAABLAC4ADQABAAEAAABLAC0ADQABAAEAAABLACwADQABAAEAAABLACsADQABAAEAAABLACoADQABAAEAAABLACkADQABAAEAAABLACgADQABAAEAAABKADUADQABAAEAAABKADQADQABAAEAAABKADMADQABAAEAAABKADIADQABAAEAAABKADEADQABAAEAAABKADAADQABAAEAAABKAC8ADQABAAEAAABKAC4ADQABAAEAAABKAC0ADQABAAEAAABKACwADQABAAEAAABKACsADQABAAEAAABKACoADQABAAEAAABKACkADQABAAEAAABKACgADQABAAEAAABJADUADQABAAEAAABJADQADQABAAEAAABJADMADQABAAEAAABJADIADQABAAEAAABJADEADQABAAEAAABJADAADQABAAEAAABJAC8ADQABAAEAAABJAC4ADQABAAEAAABJAC0ADQABAAEAAABJACwADQABAAEAAABJACsADQABAAEAAABJACoADQABAAEAAABJACkADQABAAEAAABJACgADQABAAEAAABIADUADQABAAEAAABIADQADQABAAEAAABIADMADQABAAEAAABIADIADQABAAEAAABIADEADQABAAEAAABIADAADQABAAEAAABIAC8ADQABAAEAAABIAC4ADQABAAEAAABIAC0ADQABAAEAAABIACwADQABAAEAAABIACsADQABAAEAAABIACoADQABAAEAAABIACkADQABAAEAAABIACgADQABAAEAAABHADUADQABAAEAAABHADQADQABAAEAAABHADMADQABAAEAAABHADIADQABAAEAAABHADEADQABAAEAAABHADAADQABAAEAAABHAC8ADQABAAEAAABHAC4ADQABAAEAAABHAC0ADQABAAEAAABHACwADQABAAEAAABHACsADQABAAEAAABHACoADQABAAEAAABHACkADQABAAEAAABHACgADQABAAEAAABGADUADQABAAEAAABGADQADQABAAEAAABGADMADQABAAEAAABGADIADQABAAEAAABGADEADQABAAEAAABGADAADQABAAEAAABGAC8ADQABAAEAAABGAC4ADQABAAEAAABGAC0ADQABAAEAAABGACwADQABAAEAAABGACsADQABAAEAAABGACoADQABAAEAAABGACkADQABAAEAAABGACgADQABAAEAAABFADUADQABAAEAAABFADQADQABAAEAAABFADMADQABAAEAAABFADIADQABAAEAAABFADEADQABAAEAAABFADAADQABAAEAAABFAC8ADQABAAEAAABFAC4ADQABAAEAAABFAC0ADQABAAEAAABFACwADQABAAEAAABFACsADQABAAEAAABFACoADQABAAEAAABFACkADQABAAEAAABFACgADQABAAEAAABEADUADQABAAEAAABEADQADQABAAEAAABEADMADQABAAEAAABEADIADQABAAEAAABEADEADQABAAEAAABEADAADQABAAEAAABEAC8ADQABAAEAAABEAC4ADQABAAEAAABEAC0ADQABAAEAAABEACwADQABAAEAAABEACsADQABAAEAAABEACoADQABAAEAAABEACkADQABAAEAAABEACgADQABAAEAAABDADUADQABAAEAAABDADQADQABAAEAAABDADMADQABAAEAAABDADIADQABAAEAAABDADEADQABAAEAAABDADAADQABAAEAAABDAC8ADQABAAEAAABDAC4ADQABAAEAAABDAC0ADQABAAEAAABDACwADQABAAEAAABDACsADQABAAEAAABDACoADQABAAEAAABDACkADQABAAEAAABDACgADQABAAEAAABCADUADQABAAEAAABCADQADQABAAEAAABCADMADQABAAEAAABCADIADQABAAEAAABCADEADQABAAEAAABCADAADQABAAEAAABCAC8ADQABAAEAAABCAC4ADQABAAEAAABCAC0ADQABAAEAAABCACwADQABAAEAAABCACsADQABAAEAAABCACoADQABAAEAAABCACkADQABAAEAAABCACgADQABAAEAAABJACcADQABAAEAAABJACYADQABAAEAAABJACUADQABAAEAAABJACQADQABAAEAAABJACMADQABAAEAAABJACIADQABAAEAAABIACcADQABAAEAAABIACYADQABAAEAAABIACUADQABAAEAAABIACQADQABAAEAAABIACMADQABAAEAAABIACIADQABAAEAAABHACcADQABAAEAAABHACYADQABAAEAAABHACUADQABAAEAAABHACQADQABAAEAAABHACMADQABAAEAAABHACIADQABAAEAAABGACcADQABAAEAAABGACYADQABAAEAAABGACUADQABAAEAAABGACQADQABAAEAAABGACMADQABAAEAAABGACIADQABAAEAAABFACcADQABAAEAAABFACYADQABAAEAAABFACUADQABAAEAAABFACQADQABAAEAAABFACMADQABAAEAAABFACIADQABAAAAAABEACcADQABAAEAAABEACYADQABAAEAAABEACUADQAAAAEAAABEACQADQAAAAEAAABEACMADQAAAAEAAABEACIADQAAAAAAAABDACcADQABAAEAAABDACYADQABAAAAAABCACcADQAAAAEAAABCACYADQAAAAAAAABJACEADQABAAEAAABJACAADQABAAEAAABIACEADQABAAEAAABIACAADQABAAEAAABHACEADQABAAEAAABHACAADQABAAEAAABGACEADQAAAAEAAABGACAADQAAAAAAAABMACAADQACAAEAAABMAB8ADQACAAEAAABMAB4ADQACAAEAAABMAB0ADQACAAEAAABMABwADQACAAEAAABLACAADQABAAEAAABLAB8ADQABAAEAAABLAB4ADQABAAEAAABLAB0ADQABAAEAAABLABwADQABAAEAAABKACAADQABAAEAAABKAB8ADQABAAEAAABKAB4ADQABAAEAAABKAB0ADQABAAEAAABKABwADQABAAEAAABJAB8ADQABAAEAAABJAB4ADQABAAEAAABJAB0ADQABAAEAAABJABwADQABAAEAAABIAB8ADQABAAEAAABIAB4ADQABAAEAAABIAB0ADQABAAEAAABIABwADQABAAEAAABHAB8ADQAAAAEAAABHAB4ADQAAAAEAAABHAB0ADQAAAAEAAABHABwADQAAAAEAAABMACcADQACAAEAAABMACYADQACAAEAAABMACUADQACAAEAAABMACQADQACAAEAAABMACMADQACAAEAAABMACIADQACAAEAAABMACEADQACAAEAAABLACcADQABAAEAAABLACYADQABAAEAAABLACUADQABAAEAAABLACQADQABAAEAAABLACMADQABAAEAAABLACIADQABAAEAAABLACEADQABAAEAAABKACcADQABAAEAAABKACYADQABAAEAAABKACUADQABAAEAAABKACQADQABAAEAAABKACMADQABAAEAAABKACIADQABAAEAAABKACEADQABAAEAAABMABsADQACAAEAAABMABoADQACAAEAAABLABsADQABAAEAAABLABoADQABAAEAAABKABsADQABAAEAAABKABoADQABAAEAAABJABsADQABAAEAAABJABoADQABAAEAAABIABsADQABAAEAAABIABoADQABAAEAAABHABsADQAAAAEAAABHABoADQAAAAEAAABMAAkADQACAAEAAABMAAgADQACAAEAAABMAAcADQACAAEAAABMAAYADQACAAEAAABMAAUADQACAAEAAABMAAQADQACAAEAAABMAAMADQACAAEAAABMAAIADQACAAEAAABMAAEADQACAAEAAABMAAAADQACAAEAAABMAP//DQACAAEAAABLAAkADQABAAEAAABLAAgADQABAAEAAABLAAcADQABAAEAAABLAAYADQABAAEAAABLAAUADQABAAEAAABLAAQADQABAAEAAABLAAMADQABAAEAAABLAAIADQABAAEAAABLAAEADQABAAEAAABLAAAADQABAAEAAABLAP//DQABAAEAAABKAAkADQABAAEAAABKAAgADQABAAEAAABKAAcADQABAAEAAABKAAYADQABAAEAAABKAAUADQABAAEAAABKAAQADQABAAEAAABKAAMADQABAAEAAABKAAIADQABAAEAAABKAAEADQABAAEAAABKAAAADQABAAEAAABKAP//DQABAAEAAABJAAkADQABAAEAAABJAAgADQABAAEAAABJAAcADQABAAEAAABJAAYADQABAAEAAABJAAUADQABAAEAAABJAAQADQABAAEAAABJAAMADQABAAEAAABJAAIADQABAAEAAABJAAEADQABAAEAAABJAAAADQABAAEAAABJAP//DQABAAEAAABIAAkADQABAAEAAABIAAgADQABAAEAAABIAAcADQABAAEAAABIAAYADQABAAEAAABIAAUADQABAAEAAABIAAQADQABAAEAAABIAAMADQABAAEAAABIAAIADQABAAEAAABIAAEADQABAAEAAABIAAAADQABAAEAAABIAP//DQABAAEAAABHAAkADQABAAEAAABHAAgADQABAAEAAABHAAcADQABAAEAAABHAAYADQABAAEAAABHAAUADQABAAEAAABHAAQADQABAAEAAABHAAMADQABAAEAAABHAAIADQABAAEAAABHAAEADQABAAEAAABHAAAADQABAAEAAABHAP//DQABAAEAAABGAAkADQABAAEAAABGAAgADQABAAEAAABGAAcADQABAAEAAABGAAYADQABAAEAAABGAAUADQABAAEAAABGAAQADQABAAEAAABGAAMADQABAAEAAABGAAIADQABAAEAAABGAAEADQABAAEAAABGAAAADQABAAEAAABGAP//DQABAAEAAABFAAkADQABAAEAAABFAAgADQABAAEAAABFAAcADQABAAEAAABFAAYADQABAAEAAABFAAUADQABAAEAAABFAAQADQABAAEAAABFAAMADQABAAEAAABFAAIADQABAAEAAABFAAEADQABAAEAAABFAAAADQABAAEAAABFAP//DQABAAEAAABEAAkADQABAAEAAABEAAgADQABAAEAAABEAAcADQABAAEAAABEAAYADQABAAEAAABEAAUADQABAAEAAABEAAQADQABAAEAAABEAAMADQABAAEAAABEAAIADQABAAEAAABEAAEADQABAAEAAABEAAAADQABAAEAAABEAP//DQABAAEAAABDAAkADQABAAEAAABDAAgADQABAAEAAABDAAcADQABAAEAAABDAAYADQABAAEAAABDAAUADQABAAEAAABDAAQADQABAAEAAABDAAMADQABAAEAAABDAAIADQABAAEAAABDAAEADQABAAEAAABDAAAADQABAAEAAABDAP//DQABAAEAAABCAAkADQABAAEAAABCAAgADQABAAEAAABCAAcADQABAAEAAABCAAYADQABAAEAAABCAAUADQABAAEAAABCAAQADQABAAEAAABCAAMADQABAAEAAABCAAIADQABAAEAAABCAAEADQABAAEAAABCAAAADQABAAEAAABCAP//DQABAAEAAABBAAkADQABAAEAAABBAAgADQABAAEAAABBAAcADQABAAEAAABBAAYADQABAAEAAABBAAUADQABAAEAAABBAAQADQABAAEAAABBAAMADQABAAEAAABBAAIADQABAAEAAABBAAEADQABAAEAAABBAAAADQABAAEAAABBAP//DQABAAEAAABAAAkADQABAAEAAABAAAgADQABAAEAAABAAAcADQABAAEAAABAAAYADQABAAEAAABAAAUADQABAAEAAABAAAQADQABAAEAAABAAAMADQABAAEAAABAAAIADQABAAEAAABAAAEADQABAAEAAABAAAAADQABAAEAAABAAP//DQABAAEAAAA/AAkADQABAAEAAAA/AAgADQABAAEAAAA/AAcADQABAAEAAAA/AAYADQABAAEAAAA/AAUADQABAAEAAAA/AAQADQABAAEAAAA/AAMADQABAAEAAAA/AAIADQABAAEAAAA/AAEADQABAAEAAAA/AAAADQABAAEAAAA/AP//DQABAAEAAAA+AAkADQABAAEAAAA+AAgADQABAAEAAAA+AAcADQABAAEAAAA+AAYADQABAAEAAAA+AAUADQABAAEAAAA+AAQADQABAAEAAAA+AAMADQABAAEAAAA+AAIADQABAAEAAAA+AAEADQABAAEAAAA+AAAADQABAAEAAAA+AP//DQABAAEAAAA9AAkADQABAAEAAAA9AAgADQABAAEAAAA9AAcADQABAAEAAAA9AAYADQABAAEAAAA9AAUADQABAAEAAAA9AAQADQABAAEAAAA9AAMADQABAAEAAAA9AAIADQABAAEAAAA9AAEADQABAAEAAAA9AAAADQABAAEAAAA9AP//DQABAAEAAAA8AAkADQABAAEAAAA8AAgADQABAAEAAAA8AAcADQABAAEAAAA8AAYADQABAAEAAAA8AAUADQABAAEAAAA8AAQADQABAAEAAAA8AAMADQABAAEAAAA8AAIADQABAAEAAAA8AAEADQABAAEAAAA8AAAADQABAAEAAAA8AP//DQABAAEAAAA7AAkADQABAAEAAAA7AAgADQABAAEAAAA7AAcADQABAAEAAAA7AAYADQABAAEAAAA7AAUADQABAAEAAAA7AAQADQABAAEAAAA7AAMADQABAAEAAAA7AAIADQABAAEAAAA7AAEADQABAAEAAAA7AAAADQABAAEAAAA7AP//DQABAAEAAAA6AAkADQABAAEAAAA6AAgADQABAAEAAAA6AAcADQABAAEAAAA6AAYADQABAAEAAAA6AAUADQABAAEAAAA6AAQADQABAAEAAAA6AAMADQABAAEAAAA6AAIADQABAAEAAAA6AAEADQABAAEAAAA6AAAADQABAAEAAAA6AP//DQABAAEAAAA5AAkADQABAAEAAAA5AAgADQABAAEAAAA5AAcADQABAAEAAAA5AAYADQABAAEAAAA5AAUADQABAAEAAAA5AAQADQABAAEAAAA5AAMADQABAAEAAAA5AAIADQABAAEAAAA5AAEADQABAAEAAAA5AAAADQABAAEAAAA5AP//DQABAAEAAAA4AAkADQABAAEAAAA4AAgADQABAAEAAAA4AAcADQABAAEAAAA4AAYADQABAAEAAAA4AAUADQABAAEAAAA4AAQADQABAAEAAAA4AAMADQABAAEAAAA4AAIADQABAAEAAAA4AAEADQABAAEAAAA4AAAADQABAAEAAAA4AP//DQABAAEAAAA3AAkADQABAAEAAAA3AAgADQABAAEAAAA3AAcADQABAAEAAAA3AAYADQABAAEAAAA3AAUADQABAAEAAAA3AAQADQABAAEAAAA3AAMADQABAAEAAAA3AAIADQABAAEAAAA3AAEADQABAAEAAAA3AAAADQABAAEAAAA3AP//DQABAAEAAAA2AAkADQABAAEAAAA2AAgADQABAAEAAAA2AAcADQABAAEAAAA2AAYADQABAAEAAAA2AAUADQABAAEAAAA2AAQADQABAAEAAAA2AAMADQABAAEAAAA2AAIADQABAAEAAAA2AAEADQABAAEAAAA2AAAADQABAAEAAAA2AP//DQABAAEAAAA1AAkADQABAAEAAAA1AAgADQABAAEAAAA1AAcADQABAAEAAAA1AAYADQABAAEAAAA1AAUADQABAAEAAAA1AAQADQABAAEAAAA1AAMADQABAAEAAAA1AAIADQABAAEAAAA1AAEADQABAAEAAAA1AAAADQABAAEAAAA1AP//DQABAAEAAAA0AAkADQABAAEAAAA0AAgADQABAAEAAAA0AAcADQABAAEAAAA0AAYADQABAAEAAAA0AAUADQABAAEAAAA0AAQADQABAAEAAAA0AAMADQABAAEAAAA0AAIADQABAAEAAAA0AAEADQABAAEAAAA0AAAADQABAAEAAAA0AP//DQABAAEAAAAzAAkADQABAAEAAAAzAAgADQABAAEAAAAzAAcADQABAAEAAAAzAAYADQABAAEAAAAzAAUADQABAAEAAAAzAAQADQABAAEAAAAzAAMADQABAAEAAAAzAAIADQABAAEAAAAzAAEADQABAAEAAAAzAAAADQABAAEAAAAzAP//DQABAAEAAAAyAAkADQABAAEAAAAyAAgADQABAAEAAAAyAAcADQABAAEAAAAyAAYADQABAAEAAAAyAAUADQABAAEAAAAyAAQADQABAAEAAAAyAAMADQABAAEAAAAyAAIADQABAAEAAAAyAAEADQABAAEAAAAyAAAADQABAAEAAAAyAP//DQABAAEAAAAxAAkADQABAAEAAAAxAAgADQABAAEAAAAxAAcADQABAAEAAAAxAAYADQABAAEAAAAxAAUADQABAAEAAAAxAAQADQABAAEAAAAxAAMADQABAAEAAAAxAAIADQABAAEAAAAxAAEADQABAAEAAAAxAAAADQABAAEAAAAxAP//DQABAAEAAAAwAAkADQABAAEAAAAwAAgADQABAAEAAAAwAAcADQABAAEAAAAwAAYADQABAAEAAAAwAAUADQABAAEAAAAwAAQADQABAAEAAAAwAAMADQABAAEAAAAwAAIADQABAAEAAAAwAAEADQABAAEAAAAwAAAADQABAAEAAAAwAP//DQABAAEAAAAvAAkADQABAAEAAAAvAAgADQABAAEAAAAvAAcADQABAAEAAAAvAAYADQABAAEAAAAvAAUADQABAAEAAAAvAAQADQABAAEAAAAvAAMADQABAAEAAAAvAAIADQABAAEAAAAvAAEADQABAAEAAAAvAAAADQABAAEAAAAvAP//DQABAAEAAAAuAAkADQABAAEAAAAuAAgADQABAAEAAAAuAAcADQABAAEAAAAuAAYADQABAAEAAAAuAAUADQABAAEAAAAuAAQADQABAAEAAAAuAAMADQABAAEAAAAuAAIADQABAAEAAAAuAAEADQABAAEAAAAuAAAADQABAAEAAAAuAP//DQABAAEAAAAtAAkADQABAAEAAAAtAAgADQABAAEAAAAtAAcADQABAAEAAAAtAAYADQABAAEAAAAtAAUADQABAAEAAAAtAAQADQABAAEAAAAtAAMADQABAAEAAAAtAAIADQABAAEAAAAtAAEADQABAAEAAAAtAAAADQABAAEAAAAtAP//DQABAAEAAAAsAAkADQABAAEAAAAsAAgADQABAAEAAAAsAAcADQABAAEAAAAsAAYADQABAAEAAAAsAAUADQABAAEAAAAsAAQADQABAAEAAAAsAAMADQABAAEAAAAsAAIADQABAAEAAAAsAAEADQABAAEAAAAsAAAADQABAAEAAAAsAP//DQABAAEAAAArAAkADQABAAEAAAArAAgADQABAAEAAAArAAcADQABAAEAAAArAAYADQABAAEAAAArAAUADQABAAEAAAArAAQADQABAAEAAAArAAMADQABAAEAAAArAAIADQABAAEAAAArAAEADQABAAEAAAArAAAADQABAAEAAAArAP//DQABAAEAAAAqAAkADQABAAEAAAAqAAgADQABAAEAAAAqAAcADQABAAEAAAAqAAYADQABAAEAAAAqAAUADQABAAEAAAAqAAQADQABAAEAAAAqAAMADQABAAEAAAAqAAIADQABAAEAAAAqAAEADQABAAEAAAAqAAAADQABAAEAAAAqAP//DQABAAEAAAApAAkADQABAAEAAAApAAgADQABAAEAAAApAAcADQABAAEAAAApAAYADQABAAEAAAApAAUADQABAAEAAAApAAQADQABAAEAAAApAAMADQABAAEAAAApAAIADQABAAEAAAApAAEADQABAAEAAAApAAAADQABAAEAAAApAP//DQABAAEAAAAoAAkADQABAAEAAAAoAAgADQABAAEAAAAoAAcADQABAAEAAAAoAAYADQABAAEAAAAoAAUADQABAAEAAAAoAAQADQABAAEAAAAoAAMADQABAAEAAAAoAAIADQABAAEAAAAoAAEADQABAAEAAAAoAAAADQABAAEAAAAoAP//DQABAAEAAAAnAAkADQABAAEAAAAnAAgADQABAAEAAAAnAAcADQABAAEAAAAnAAYADQABAAEAAAAnAAUADQABAAEAAAAnAAQADQABAAEAAAAnAAMADQABAAEAAAAnAAIADQABAAEAAAAnAAEADQABAAEAAAAnAAAADQABAAEAAAAnAP//DQABAAEAAAAmAAkADQABAAEAAAAmAAgADQABAAEAAAAmAAcADQABAAEAAAAmAAYADQABAAEAAAAmAAUADQABAAEAAAAmAAQADQABAAEAAAAmAAMADQABAAEAAAAmAAIADQABAAEAAAAmAAEADQABAAEAAAAmAAAADQABAAEAAAAmAP//DQABAAEAAAAlAAkADQABAAEAAAAlAAgADQABAAEAAAAlAAcADQABAAEAAAAlAAYADQABAAEAAAAlAAUADQABAAEAAAAlAAQADQABAAEAAAAlAAMADQABAAEAAAAlAAIADQABAAEAAAAlAAEADQABAAEAAAAlAAAADQABAAEAAAAlAP//DQABAAEAAAAkAAkADQABAAEAAAAkAAgADQABAAEAAAAkAAcADQABAAEAAAAkAAYADQABAAEAAAAkAAUADQABAAEAAAAkAAQADQABAAEAAAAkAAMADQABAAEAAAAkAAIADQABAAEAAAAkAAEADQABAAEAAAAkAAAADQABAAEAAAAkAP//DQABAAEAAAAjAAkADQABAAEAAAAjAAgADQABAAEAAAAjAAcADQABAAEAAAAjAAYADQABAAEAAAAjAAUADQABAAEAAAAjAAQADQABAAEAAAAjAAMADQABAAEAAAAjAAIADQABAAEAAAAjAAEADQABAAEAAAAjAAAADQABAAEAAAAjAP//DQABAAEAAAAiAAkADQABAAEAAAAiAAgADQABAAEAAAAiAAcADQABAAEAAAAiAAYADQABAAEAAAAiAAUADQABAAEAAAAiAAQADQABAAEAAAAiAAMADQABAAEAAAAiAAIADQABAAEAAAAiAAEADQABAAEAAAAiAAAADQABAAEAAAAiAP//DQABAAEAAAAhAAkADQABAAEAAAAhAAgADQABAAEAAAAhAAcADQABAAEAAAAhAAYADQABAAEAAAAhAAUADQABAAEAAAAhAAQADQABAAEAAAAhAAMADQABAAEAAAAhAAIADQABAAEAAAAhAAEADQABAAEAAAAhAAAADQABAAEAAAAhAP//DQABAAEAAAAgAAkADQABAAEAAAAgAAgADQABAAEAAAAgAAcADQABAAEAAAAgAAYADQABAAEAAAAgAAUADQABAAEAAAAgAAQADQABAAEAAAAgAAMADQABAAEAAAAgAAIADQABAAEAAAAgAAEADQABAAEAAAAgAAAADQABAAEAAAAgAP//DQABAAEAAAAfAAkADQABAAEAAAAfAAgADQABAAEAAAAfAAcADQABAAEAAAAfAAYADQABAAEAAAAfAAUADQABAAEAAAAfAAQADQABAAEAAAAfAAMADQABAAEAAAAfAAIADQABAAEAAAAfAAEADQABAAEAAAAfAAAADQABAAEAAAAfAP//DQABAAEAAAAeAAkADQABAAEAAAAeAAgADQABAAEAAAAeAAcADQABAAEAAAAeAAYADQABAAEAAAAeAAUADQABAAEAAAAeAAQADQABAAEAAAAeAAMADQABAAEAAAAeAAIADQABAAEAAAAeAAEADQABAAEAAAAeAAAADQABAAEAAAAeAP//DQABAAEAAAAdAAkADQABAAEAAAAdAAgADQABAAEAAAAdAAcADQABAAEAAAAdAAYADQABAAEAAAAdAAUADQABAAEAAAAdAAQADQABAAEAAAAdAAMADQABAAEAAAAdAAIADQABAAEAAAAdAAEADQABAAEAAAAdAAAADQABAAEAAAAdAP//DQABAAEAAAAcAAkADQABAAEAAAAcAAgADQABAAEAAAAcAAcADQABAAEAAAAcAAYADQABAAEAAAAcAAUADQABAAEAAAAcAAQADQABAAEAAAAcAAMADQABAAEAAAAcAAIADQABAAEAAAAcAAEADQABAAEAAAAcAAAADQABAAEAAAAcAP//DQABAAEAAAAbAAkADQABAAEAAAAbAAgADQABAAEAAAAbAAcADQABAAEAAAAbAAYADQABAAEAAAAbAAUADQABAAEAAAAbAAQADQABAAEAAAAbAAMADQABAAEAAAAbAAIADQABAAEAAAAbAAEADQABAAEAAAAbAAAADQABAAEAAAAbAP//DQABAAEAAAAaAAkADQABAAEAAAAaAAgADQABAAEAAAAaAAcADQABAAEAAAAaAAYADQABAAEAAAAaAAUADQABAAEAAAAaAAQADQABAAEAAAAaAAMADQABAAEAAAAaAAIADQABAAEAAAAaAAEADQABAAEAAAAaAAAADQABAAEAAAAaAP//DQABAAEAAAAZAAkADQABAAEAAAAZAAgADQABAAEAAAAZAAcADQABAAEAAAAZAAYADQABAAEAAAAZAAUADQABAAEAAAAZAAQADQABAAEAAAAZAAMADQABAAEAAAAZAAIADQABAAEAAAAZAAEADQABAAEAAAAZAAAADQABAAEAAAAZAP//DQABAAEAAAAYAAkADQABAAEAAAAYAAgADQABAAEAAAAYAAcADQABAAEAAAAYAAYADQABAAEAAAAYAAUADQABAAEAAAAYAAQADQABAAEAAAAYAAMADQABAAEAAAAYAAIADQABAAEAAAAYAAEADQABAAEAAAAYAAAADQABAAEAAAAYAP//DQABAAEAAAAXAAkADQABAAEAAAAXAAgADQABAAEAAAAXAAcADQABAAEAAAAXAAYADQABAAEAAAAXAAUADQABAAEAAAAXAAQADQABAAEAAAAXAAMADQABAAEAAAAXAAIADQABAAEAAAAXAAEADQABAAEAAAAXAAAADQABAAEAAAAXAP//DQABAAEAAAAWAAkADQABAAEAAAAWAAgADQABAAEAAAAWAAcADQABAAEAAAAWAAYADQABAAEAAAAWAAUADQABAAEAAAAWAAQADQABAAEAAAAWAAMADQABAAEAAAAWAAIADQABAAEAAAAWAAEADQABAAEAAAAWAAAADQABAAEAAAAWAP//DQABAAEAAAAVAAkADQABAAEAAAAVAAgADQABAAEAAAAVAAcADQABAAEAAAAVAAYADQABAAEAAAAVAAUADQABAAEAAAAVAAQADQABAAEAAAAVAAMADQABAAEAAAAVAAIADQABAAEAAAAVAAEADQABAAEAAAAVAAAADQABAAEAAAAVAP//DQABAAEAAAAUAAkADQABAAEAAAAUAAgADQABAAEAAAAUAAcADQABAAEAAAAUAAYADQABAAEAAAAUAAUADQABAAEAAAAUAAQADQABAAEAAAAUAAMADQABAAEAAAAUAAIADQABAAEAAAAUAAEADQABAAEAAAAUAAAADQABAAEAAAAUAP//DQABAAEAAAATAAkADQABAAEAAAATAAgADQABAAEAAAATAAcADQABAAEAAAATAAYADQABAAEAAAATAAUADQABAAEAAAATAAQADQABAAEAAAATAAMADQABAAEAAAATAAIADQABAAEAAAATAAEADQABAAEAAAATAAAADQABAAEAAAATAP//DQABAAEAAAASAAkADQABAAEAAAASAAgADQABAAEAAAASAAcADQABAAEAAAASAAYADQABAAEAAAASAAUADQABAAEAAAASAAQADQABAAEAAAASAAMADQABAAEAAAASAAIADQABAAEAAAASAAEADQABAAEAAAASAAAADQABAAEAAAASAP//DQABAAEAAAARAAkADQABAAEAAAARAAgADQABAAEAAAARAAcADQABAAEAAAARAAYADQABAAEAAAARAAUADQABAAEAAAARAAQADQABAAEAAAARAAMADQABAAEAAAARAAIADQABAAEAAAARAAEADQABAAEAAAARAAAADQABAAEAAAARAP//DQABAAEAAAAQAAkADQABAAEAAAAQAAgADQABAAEAAAAQAAcADQABAAEAAAAQAAYADQABAAEAAAAQAAUADQABAAEAAAAQAAQADQABAAEAAAAQAAMADQABAAEAAAAQAAIADQABAAEAAAAQAAEADQABAAEAAAAQAAAADQABAAEAAAAQAP//DQABAAEAAAAPAAkADQABAAEAAAAPAAgADQABAAEAAAAPAAcADQABAAEAAAAPAAYADQABAAEAAAAPAAUADQABAAEAAAAPAAQADQABAAEAAAAPAAMADQABAAEAAAAPAAIADQABAAEAAAAPAAEADQABAAEAAAAPAAAADQABAAEAAAAPAP//DQABAAEAAAAOAAkADQABAAEAAAAOAAgADQABAAEAAAAOAAcADQABAAEAAAAOAAYADQABAAEAAAAOAAUADQABAAEAAAAOAAQADQABAAEAAAAOAAMADQABAAEAAAAOAAIADQABAAEAAAAOAAEADQABAAEAAAAOAAAADQABAAEAAAAOAP//DQABAAEAAAANAAkADQABAAEAAAANAAgADQABAAEAAAANAAcADQABAAEAAAANAAYADQABAAEAAAANAAUADQABAAEAAAANAAQADQABAAEAAAANAAMADQABAAEAAAANAAIADQABAAEAAAANAAEADQABAAEAAAANAAAADQABAAEAAAANAP//DQABAAEAAAAMAAkADQABAAEAAAAMAAgADQABAAEAAAAMAAcADQABAAEAAAAMAAYADQABAAEAAAAMAAUADQABAAEAAAAMAAQADQABAAEAAAAMAAMADQABAAEAAAAMAAIADQABAAEAAAAMAAEADQABAAEAAAAMAAAADQABAAEAAAAMAP//DQABAAEAAAALAAkADQABAAEAAAALAAgADQABAAEAAAALAAcADQABAAEAAAALAAYADQABAAEAAAALAAUADQABAAEAAAALAAQADQABAAEAAAALAAMADQABAAEAAAALAAIADQABAAEAAAALAAEADQABAAEAAAALAAAADQABAAEAAAALAP//DQABAAEAAAAKAAkADQABAAEAAAAKAAgADQABAAEAAAAKAAcADQABAAEAAAAKAAYADQABAAEAAAAKAAUADQABAAEAAAAKAAQADQABAAEAAAAKAAMADQABAAEAAAAKAAIADQABAAEAAAAKAAEADQABAAEAAAAKAAAADQABAAEAAAAKAP//DQABAAEAAAAJAAkADQABAAEAAAAJAAgADQABAAEAAAAJAAcADQABAAEAAAAJAAYADQABAAEAAAAJAAUADQABAAEAAAAJAAQADQABAAEAAAAJAAMADQABAAEAAAAJAAIADQABAAEAAAAJAAEADQABAAEAAAAJAAAADQABAAEAAAAJAP//DQABAAEAAAAIAAkADQABAAEAAAAIAAgADQABAAEAAAAIAAcADQABAAEAAAAIAAYADQABAAEAAAAIAAUADQABAAEAAAAIAAQADQABAAEAAAAIAAMADQABAAEAAAAIAAIADQABAAEAAAAIAAEADQABAAEAAAAIAAAADQABAAEAAAAIAP//DQABAAEAAAAHAAkADQABAAEAAAAHAAgADQABAAEAAAAHAAcADQABAAEAAAAHAAYADQABAAEAAAAHAAUADQABAAEAAAAHAAQADQABAAEAAAAHAAMADQABAAEAAAAHAAIADQABAAEAAAAHAAEADQABAAEAAAAHAAAADQABAAEAAAAHAP//DQABAAEAAAAGAAkADQABAAEAAAAGAAgADQABAAEAAAAGAAcADQABAAEAAAAGAAYADQABAAEAAAAGAAUADQABAAEAAAAGAAQADQABAAEAAAAGAAMADQABAAEAAAAGAAIADQABAAEAAAAGAAEADQABAAEAAAAGAAAADQABAAEAAAAGAP//DQABAAEAAAAFAAkADQABAAEAAAAFAAgADQABAAEAAAAFAAcADQABAAEAAAAFAAYADQABAAEAAAAFAAUADQABAAEAAAAFAAQADQABAAEAAAAFAAMADQABAAEAAAAFAAIADQABAAEAAAAFAAEADQABAAEAAAAFAAAADQABAAEAAAAFAP//DQABAAEAAAAEAAkADQABAAEAAAAEAAgADQABAAEAAAAEAAcADQABAAEAAAAEAAYADQABAAEAAAAEAAUADQABAAEAAAAEAAQADQABAAEAAAAEAAMADQABAAEAAAAEAAIADQABAAEAAAAEAAEADQABAAEAAAAEAAAADQABAAEAAAAEAP//DQABAAEAAAADAAkADQABAAEAAAADAAgADQABAAEAAAADAAcADQABAAEAAAADAAYADQABAAEAAAADAAUADQABAAEAAAADAAQADQABAAEAAAADAAMADQABAAEAAAADAAIADQABAAEAAAADAAEADQABAAEAAAADAAAADQABAAEAAAADAP//DQABAAEAAAACAAkADQABAAEAAAACAAgADQABAAEAAAACAAcADQABAAEAAAACAAYADQABAAEAAAACAAUADQABAAEAAAACAAQADQABAAEAAAACAAMADQABAAEAAAACAAIADQABAAEAAAACAAEADQABAAEAAAACAAAADQABAAEAAAACAP//DQABAAEAAAABAAkADQABAAEAAAABAAgADQABAAEAAAABAAcADQABAAEAAAABAAYADQABAAEAAAABAAUADQABAAEAAAABAAQADQABAAEAAAABAAMADQABAAEAAAABAAIADQABAAEAAAABAAEADQABAAEAAAABAAAADQABAAEAAAABAP//DQABAAEAAAAAAAkADQABAAEAAAAAAAgADQABAAEAAAAAAAcADQABAAEAAAAAAAYADQABAAEAAAAAAAUADQABAAEAAAAAAAQADQABAAEAAAAAAAMADQABAAEAAAAAAAIADQABAAEAAAAAAAEADQABAAEAAAAAAAAADQABAAEAAAAAAP//DQABAAEAAAD//wkADQABAAEAAAD//wgADQABAAEAAAD//wcADQABAAEAAAD//wYADQABAAEAAAD//wUADQABAAEAAAD//wQADQABAAEAAAD//wMADQABAAEAAAD//wIADQABAAEAAAD//wEADQABAAEAAAD//wAADQABAAEAAAD/////DQABAAEAAAD+/wkADQABAAEAAAD+/wgADQABAAEAAAD+/wcADQABAAEAAAD+/wYADQABAAEAAAD+/wUADQABAAEAAAD+/wQADQABAAEAAAD+/wMADQABAAEAAAD+/wIADQABAAEAAAD+/wEADQABAAEAAAD+/wAADQABAAEAAAD+////DQABAAEAAAD9/wkADQABAAEAAAD9/wgADQABAAEAAAD9/wcADQABAAEAAAD9/wYADQABAAEAAAD9/wUADQABAAEAAAD9/wQADQABAAEAAAD9/wMADQABAAEAAAD9/wIADQABAAEAAAD9/wEADQABAAEAAAD9/wAADQABAAEAAAD9////DQABAAEAAAD8/wkADQABAAEAAAD8/wgADQABAAEAAAD8/wcADQABAAEAAAD8/wYADQABAAEAAAD8/wUADQABAAEAAAD8/wQADQABAAEAAAD8/wMADQABAAEAAAD8/wIADQABAAEAAAD8/wEADQABAAEAAAD8/wAADQABAAEAAAD8////DQABAAEAAABMABkADQACAAEAAABMABgADQACAAEAAABMABcADQACAAEAAABMABYADQACAAEAAABMABUADQACAAEAAABMABQADQACAAEAAABMABMADQACAAEAAABMABIADQACAAEAAABMABEADQACAAEAAABMABAADQACAAEAAABMAA8ADQACAAEAAABMAA4ADQACAAEAAABMAA0ADQACAAEAAABMAAwADQACAAEAAABMAAsADQACAAEAAABMAAoADQACAAEAAABLABkADQABAAEAAABLABgADQABAAEAAABLABcADQABAAEAAABLABYADQABAAEAAABLABUADQABAAEAAABLABQADQABAAEAAABLABMADQABAAEAAABLABIADQABAAEAAABLABEADQABAAEAAABLABAADQABAAEAAABLAA8ADQABAAEAAABLAA4ADQABAAEAAABLAA0ADQABAAEAAABLAAwADQABAAEAAABLAAsADQABAAEAAABLAAoADQABAAEAAABKABkADQABAAEAAABKABgADQABAAEAAABKABcADQABAAEAAABKABYADQABAAEAAABKABUADQABAAEAAABKABQADQABAAEAAABKABMADQABAAEAAABKABIADQABAAEAAABKABEADQABAAEAAABKABAADQABAAEAAABKAA8ADQABAAEAAABKAA4ADQABAAEAAABKAA0ADQABAAEAAABKAAwADQABAAEAAABKAAsADQABAAEAAABKAAoADQABAAEAAABJABkADQABAAEAAABJABgADQABAAEAAABJABcADQABAAEAAABJABYADQABAAEAAABJABUADQABAAEAAABJABQADQABAAEAAABJABMADQABAAEAAABJABIADQABAAEAAABJABEADQABAAEAAABJABAADQABAAEAAABJAA8ADQABAAEAAABJAA4ADQABAAEAAABJAA0ADQABAAEAAABJAAwADQABAAEAAABJAAsADQABAAEAAABJAAoADQABAAEAAABIABkADQABAAEAAABIABgADQABAAEAAABIABcADQABAAEAAABIABYADQABAAEAAABIABUADQABAAEAAABIABQADQABAAEAAABIABMADQABAAEAAABIABIADQABAAEAAABIABEADQABAAEAAABIABAADQABAAEAAABIAA8ADQABAAEAAABIAA4ADQABAAEAAABIAA0ADQABAAEAAABIAAwADQABAAEAAABIAAsADQABAAEAAABIAAoADQABAAEAAABHABkADQAAAAEAAABHABgADQAAAAEAAABHABcADQAAAAEAAABHABYADQABAAEAAABHABUADQABAAEAAABHABQADQABAAEAAABHABMADQABAAEAAABHABIADQABAAEAAABHABEADQABAAEAAABHABAADQABAAEAAABHAA8ADQABAAEAAABHAA4ADQABAAEAAABHAA0ADQABAAEAAABHAAwADQABAAEAAABHAAsADQABAAEAAABHAAoADQABAAEAAABGAA4ADQABAAEAAABGAA0ADQABAAEAAABGAAwADQABAAEAAABFAA4ADQABAAEAAABFAA0ADQABAAEAAABFAAwADQABAAEAAABEAA4ADQABAAEAAABEAA0ADQABAAEAAABEAAwADQABAAEAAABDAA4ADQABAAEAAABDAA0ADQABAAEAAABDAAwADQABAAEAAABCAA4ADQABAAIAAABCAA0ADQABAAEAAABCAAwADQABAAEAAABBAA4ADQAAAAIAAABBAA0ADQABAAEAAABBAAwADQABAAEAAABAAA0ADQABAAIAAABAAAwADQABAAEAAAA/AA0ADQAAAAIAAAA/AAwADQABAAEAAAA+AAwADQAAAAIAAABGABIADQABAAEAAABGABEADQABAAEAAABGABAADQABAAEAAABGAA8ADQABAAEAAABFABIADQABAAIAAABFABEADQABAAEAAABFABAADQABAAEAAABFAA8ADQABAAEAAABEABIADQAAAAIAAABEABEADQAAAAEAAABEABAADQAAAAEAAABEAA8ADQABAAEAAABDAA8ADQAAAAIAAABGABYADQAAAAIAAABGABUADQAAAAEAAABGABQADQAAAAEAAABGABMADQAAAAEAAABGAAsADQABAAEAAABGAAoADQABAAEAAABFAAsADQABAAEAAABFAAoADQABAAEAAABEAAsADQABAAEAAABEAAoADQABAAEAAABDAAsADQABAAEAAABDAAoADQABAAEAAABMAP7/DQACAAAAAABLAP7/DQABAAAAAABKAP7/DQABAAAAAABJAP7/DQABAAAAAABIAP7/DQABAAAAAABHAP7/DQABAAAAAABGAP7/DQABAAAAAABFAP7/DQABAAAAAABEAP7/DQABAAAAAABDAP7/DQABAAAAAABCAP7/DQABAAAAAABBAP7/DQABAAAAAABAAP7/DQABAAAAAAA/AP7/DQABAAAAAAA+AP7/DQABAAAAAAA9AP7/DQABAAAAAAA8AP7/DQABAAAAAAA7AP7/DQABAAAAAAA6AP7/DQABAAAAAAA5AP7/DQABAAAAAAA4AP7/DQABAAAAAAA3AP7/DQABAAAAAAA2AP7/DQABAAAAAAA1AP7/DQABAAAAAAA0AP7/DQABAAAAAAAzAP7/DQABAAAAAAAyAP7/DQABAAAAAAAxAP7/DQABAAAAAAAwAP7/DQABAAAAAAAvAP7/DQABAAAAAAAuAP7/DQABAAAAAAAtAP7/DQABAAAAAAAsAP7/DQABAAAAAAArAP7/DQABAAAAAAAqAP7/DQABAAAAAAApAP7/DQABAAAAAAAoAP7/DQABAAAAAAAnAP7/DQABAAAAAAAmAP7/DQABAAAAAAAlAP7/DQABAAAAAAAkAP7/DQABAAAAAAAjAP7/DQABAAAAAAAiAP7/DQABAAAAAAAhAP7/DQABAAAAAAAgAP7/DQABAAAAAAAfAP7/DQABAAAAAAAeAP7/DQABAAAAAAAdAP7/DQABAAAAAAAcAP7/DQABAAAAAAAbAP7/DQABAAAAAAAaAP7/DQABAAAAAAAZAP7/DQABAAAAAAAYAP7/DQABAAAAAAAXAP7/DQABAAAAAAAWAP7/DQABAAAAAAAVAP7/DQABAAAAAAAUAP7/DQABAAAAAAATAP7/DQABAAAAAAASAP7/DQABAAAAAAARAP7/DQABAAAAAAAQAP7/DQABAAAAAAAPAP7/DQABAAAAAAAOAP7/DQABAAAAAAANAP7/DQABAAAAAAAMAP7/DQABAAAAAAALAP7/DQABAAAAAAAKAP7/DQABAAAAAAAJAP7/DQABAAAAAAAIAP7/DQABAAAAAAAHAP7/DQABAAAAAAAGAP7/DQABAAAAAAAFAP7/DQABAAAAAAAEAP7/DQABAAAAAAADAP7/DQABAAAAAAACAP7/DQABAAAAAAABAP7/DQABAAAAAAAAAP7/DQABAAAAAAD///7/DQABAAAAAAD+//7/DQABAAAAAAD9//7/DQABAAAAAAD8//7/DQABAAAAAAD7//7/DQABAAAAAAD6//7/DQABAAAAAAD5//7/DQABAAAAAAD4//7/DQABAAAAAAD3//7/DQABAAAAAAD2//7/DQABAAAAAAD1//7/DQABAAAAAAD0//7/DQABAAAAAADz//7/DQABAAAAAADy//7/DQABAAAAAADx//7/DQABAAAAAADw//7/DQABAAAAAADv//7/DQABAAAAAADu//7/DQABAAAAAADt//7/DQABAAAAAADs//7/DQABAAAAAADr//7/DQABAAAAAADq//7/DQABAAAAAADp//7/DQABAAAAAADo//7/DQABAAAAAADn//7/DQABAAAAAADm//7/DQABAAAAAADl//7/DQAAAAAAAADz/zAADQABAAAAAADy/zAADQAAAAAAAADw/y0ADQACAAIAAADw/ywADQACAAEAAADu/zAADQABAAEAAADu/y8ADQABAAEAAADu/y4ADQABAAEAAADv/y8ADQACAAEAAADv/y4ADQACAAEAAADv/y0ADQABAAEAAADv/zAADQACAAEAAAA=") tile_set = ExtResource("9_qgmg5") script = ExtResource("3_g2rto") -consumable_node_holders = [NodePath("../../OnTheGround/Props"), NodePath("../../OnTheGround/Forest"), NodePath("../../OnTheGround/SouthCopse"), NodePath("../../InTheWater"), NodePath("../../OnTheGround/NorthCopse"), NodePath("../../OnTheGround/UnreachableIsland1"), NodePath("../../OnTheGround/StartingIsland"), NodePath("../../OnTheGround/StartingIslandTrees"), NodePath("../../OnTheGround/ForestExtraTrees")] +consumable_node_holders = [NodePath("../../../OnTheGround/Props"), NodePath("../../../OnTheGround/Forest"), NodePath("../../../OnTheGround/SouthCopse"), NodePath("../../../InTheWater"), NodePath("../../../OnTheGround/NorthCopse"), NodePath("../../../OnTheGround/UnreachableIsland1"), NodePath("../../../OnTheGround/StartingIsland"), NodePath("../../../OnTheGround/StartingIslandTrees"), NodePath("../../../OnTheGround/ForestExtraTrees")] + +[node name="TileMapMaskBounds" type="Node" parent="TileMapLayers/CanvasGroup" unique_id=788194918 node_paths=PackedStringArray("canvas_item")] +script = ExtResource("15_u3utn") +canvas_item = NodePath("..") +metadata/_custom_type_script = "uid://dpw8lcjx68p3o" [node name="EnemyNavigationRegion" type="NavigationRegion2D" parent="." unique_id=578300081] editor_description = "The region that the enemy can cross. @@ -229,7 +301,7 @@ metadata/_custom_type_script = "uid://bhexx6mj1xv3q" [node name="VoidSpreadingEnemy" parent="OnTheGround" unique_id=1727069559 node_paths=PackedStringArray("void_layer", "idle_patrol_path") instance=ExtResource("6_wtoj6")] position = Vector2(735, 3148) -void_layer = NodePath("../../TileMapLayers/Void") +void_layer = NodePath("../../TileMapLayers/CanvasGroup/Void") idle_patrol_path = NodePath("../VoidSpreadingEnemyPatrolPath") [node name="VoidSpreadingEnemyPatrolPath" type="Path2D" parent="OnTheGround" unique_id=1118270797] @@ -1325,6 +1397,10 @@ position = Vector2(2461, 2732) [node name="HUD" parent="." unique_id=1953354605 instance=ExtResource("29_gbo6l")] +[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=1537524946] +unique_name_in_owner = true +libraries/ = SubResource("AnimationLibrary_60ayx") + [connection signal="body_entered" from="EnemyTrigger" to="OnTheGround/VoidSpreadingEnemy" method="start" flags=6] [connection signal="body_entered" from="GoalReachedTrigger" to="OnTheGround/VoidSpreadingEnemy" method="defeat" flags=6 unbinds=1] [connection signal="interaction_ended" from="OnTheGround/StartingIsland/Townie/InteractArea" to="OnTheGround/StartingIsland/Townie" method="_on_interact_area_interaction_ended"] diff --git a/scenes/quests/lore_quests/quest_002/4_closing_transition/closing_transition.tscn b/scenes/quests/lore_quests/quest_002/4_closing_transition/closing_transition.tscn index 1aba7325a2..08ede3dc8c 100644 --- a/scenes/quests/lore_quests/quest_002/4_closing_transition/closing_transition.tscn +++ b/scenes/quests/lore_quests/quest_002/4_closing_transition/closing_transition.tscn @@ -14,8 +14,11 @@ [ext_resource type="Material" uid="uid://64aeyjitacv3" path="res://scenes/game_elements/props/void/void_chromakey_material.tres" id="7_tn5hb"] [ext_resource type="TileSet" uid="uid://bjx3gvah0ycl1" path="res://tiles/foam_2.tres" id="7_y3es2"] [ext_resource type="Texture2D" uid="uid://cy66l5b3uox84" path="res://scenes/game_elements/props/buildings/house/components/House_Patches_Red_Stage2.png" id="9_g6oum"] +[ext_resource type="Shader" uid="uid://dui35fhf12sp5" path="res://scenes/game_elements/fx/world_rewoven/components/world_rewoven.gdshader" id="9_pditp"] +[ext_resource type="Texture2D" uid="uid://drlsbgxh5e6vv" path="res://scenes/game_elements/fx/world_rewoven/components/fabric_texture.png" id="10_tje2f"] [ext_resource type="Texture2D" uid="uid://c8xgl7dcju5h7" path="res://scenes/game_elements/props/buildings/house/components/House_Patch_Blue_03.png" id="11_tn5hb"] [ext_resource type="SpriteFrames" uid="uid://dtoylirwywk0j" path="res://scenes/game_elements/characters/components/sprite_frames/storyweaver_blue.tres" id="12_6i34l"] +[ext_resource type="Script" uid="uid://dpw8lcjx68p3o" path="res://scenes/game_elements/fx/world_rewoven/components/tile_map_mask_bounds.gd" id="13_e2p5u"] [ext_resource type="PackedScene" uid="uid://dgrrudegturnw" path="res://scenes/game_elements/characters/npcs/townie.tscn" id="13_wty5d"] [ext_resource type="Script" uid="uid://du8wfijr35r35" path="res://scenes/game_elements/props/interact_area/interact_area.gd" id="14_5uden"] [ext_resource type="Script" uid="uid://edcifob4jc4s" path="res://scenes/game_logic/talk_behavior.gd" id="14_pditp"] @@ -33,6 +36,30 @@ [ext_resource type="PackedScene" uid="uid://djmdhrse34vgq" path="res://scenes/game_elements/props/decoration/bunny/bunny.tscn" id="26_sxtjt"] [ext_resource type="PackedScene" uid="uid://c4vbokn408f2c" path="res://scenes/game_elements/props/decoration/sheep/sheep.tscn" id="27_5uden"] +[sub_resource type="FastNoiseLite" id="FastNoiseLite_pditp"] +seed = 5566989 +frequency = 0.041 + +[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_xq5un"] +width = 64 +height = 64 +noise = SubResource("FastNoiseLite_pditp") + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_3tl30"] +shader = ExtResource("9_pditp") +shader_parameter/mask_texture = SubResource("NoiseTexture2D_xq5un") +shader_parameter/mask_origin = Vector2(-256, 448) +shader_parameter/mask_size = Vector2(1792, 1024) +shader_parameter/fabric_texture = ExtResource("10_tje2f") +shader_parameter/fabric_scale = 1.0 +shader_parameter/progress = 1.0 +shader_parameter/target_canvas_group = true +shader_parameter/smoothness = 0.4910000233225 +shader_parameter/burn_size = 0.4470000212325 +shader_parameter/burn_color = Color(1.1281133, 0.7659265, 1.353256, 1) +shader_parameter/canvas_modulate = Color(1, 1, 1, 1) +shader_parameter/gray_intensity = 0.0 + [sub_resource type="RectangleShape2D" id="RectangleShape2D_e2p5u"] size = Vector2(90, 86) @@ -101,55 +128,55 @@ tracks/4/keys = { tracks/5/type = "value" tracks/5/imported = false tracks/5/enabled = true -tracks/5/path = NodePath("TileMapLayers/Void:modulate") +tracks/5/path = NodePath("OnTheGround/StoryWeaver-NonPlayable!:position") tracks/5/interp = 1 tracks/5/loop_wrap = true tracks/5/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, -"values": [Color(1, 1, 1, 1)] +"values": [Vector2(757, 404)] } tracks/6/type = "value" tracks/6/imported = false tracks/6/enabled = true -tracks/6/path = NodePath("OnTheGround/StoryWeaver-NonPlayable!:position") +tracks/6/path = NodePath("OnTheGround/StoryWeaver-NonPlayable!:animation") tracks/6/interp = 1 tracks/6/loop_wrap = true tracks/6/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(757, 404)] +"update": 1, +"values": [&"idle"] } tracks/7/type = "value" tracks/7/imported = false tracks/7/enabled = true -tracks/7/path = NodePath("OnTheGround/StoryWeaver-NonPlayable!:animation") +tracks/7/path = NodePath("OnTheGround/PropsHidden:modulate") tracks/7/interp = 1 tracks/7/loop_wrap = true tracks/7/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), -"update": 1, -"values": [&"idle"] +"update": 0, +"values": [Color(1, 1, 1, 0)] } tracks/8/type = "value" tracks/8/imported = false tracks/8/enabled = true -tracks/8/path = NodePath("OnTheGround/PropsHidden:modulate") +tracks/8/path = NodePath("OnTheGround/Townie3:visible") tracks/8/interp = 1 tracks/8/loop_wrap = true tracks/8/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), -"update": 0, -"values": [Color(1, 1, 1, 0)] +"update": 1, +"values": [false] } tracks/9/type = "value" tracks/9/imported = false tracks/9/enabled = true -tracks/9/path = NodePath("OnTheGround/Townie3:visible") +tracks/9/path = NodePath("OnTheGround/Townie4:visible") tracks/9/interp = 1 tracks/9/loop_wrap = true tracks/9/keys = { @@ -161,7 +188,7 @@ tracks/9/keys = { tracks/10/type = "value" tracks/10/imported = false tracks/10/enabled = true -tracks/10/path = NodePath("OnTheGround/Townie4:visible") +tracks/10/path = NodePath("OnTheGround/Townie5:visible") tracks/10/interp = 1 tracks/10/loop_wrap = true tracks/10/keys = { @@ -173,14 +200,14 @@ tracks/10/keys = { tracks/11/type = "value" tracks/11/imported = false tracks/11/enabled = true -tracks/11/path = NodePath("OnTheGround/Townie5:visible") +tracks/11/path = NodePath("TileMapLayers/CanvasGroup:material:shader_parameter/progress") tracks/11/interp = 1 tracks/11/loop_wrap = true tracks/11/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), -"update": 1, -"values": [false] +"update": 0, +"values": [1.0] } [sub_resource type="Animation" id="Animation_8lys0"] @@ -251,7 +278,7 @@ tracks/0/path = NodePath("Camera2D:position") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { -"times": PackedFloat32Array(0, 2, 3.9, 5.9), +"times": PackedFloat32Array(0, 2, 7.6634636, 9.663464), "transitions": PackedFloat32Array(-2, -2, -2, -2), "update": 0, "values": [Vector2(0, 0), Vector2(0, 600), Vector2(0, 600), Vector2(0, 0)] @@ -259,26 +286,26 @@ tracks/0/keys = { tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true -tracks/1/path = NodePath("TileMapLayers/Void:modulate") +tracks/1/path = NodePath("OnTheGround/PropsHidden:modulate") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { -"times": PackedFloat32Array(1.6, 3.3), +"times": PackedFloat32Array(3.8370202, 4.63702), "transitions": PackedFloat32Array(1, 1), "update": 0, -"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)] +"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)] } tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true -tracks/2/path = NodePath("OnTheGround/PropsHidden:modulate") +tracks/2/path = NodePath("TileMapLayers/CanvasGroup:material:shader_parameter/progress") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { -"times": PackedFloat32Array(2.5, 3.3), +"times": PackedFloat32Array(0.14870083, 7.3312035), "transitions": PackedFloat32Array(1, 1), "update": 0, -"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)] +"values": [1.0, 0.0] } [sub_resource type="Animation" id="Animation_t5n3s"] @@ -411,12 +438,20 @@ tile_map_data = PackedByteArray("AAAIAAgABQABAAIAAAAIAAcABQABAAEAAAAIAAYABQABAAE tile_set = ExtResource("5_51bq3") metadata/_edit_lock_ = true -[node name="Void" type="TileMapLayer" parent="TileMapLayers" unique_id=1625093177] +[node name="CanvasGroup" type="CanvasGroup" parent="TileMapLayers" unique_id=2099800963] +material = SubResource("ShaderMaterial_3tl30") + +[node name="Void" type="TileMapLayer" parent="TileMapLayers/CanvasGroup" unique_id=1625093177] material = ExtResource("7_tn5hb") tile_map_data = PackedByteArray("AAAUABMADQABAAEAAAAUABIADQABAAEAAAAUABEADQABAAEAAAAUABAADQABAAEAAAAUAA8ADQABAAEAAAAUAA4ADQABAAEAAAAUAA0ADQABAAEAAAAUAAwADQABAAEAAAAUAAsADQABAAEAAAAUAAoADQABAAEAAAATABMADQABAAEAAAATABIADQABAAEAAAATABEADQABAAEAAAATABAADQABAAEAAAATAA8ADQABAAEAAAATAA4ADQABAAEAAAATAA0ADQABAAEAAAATAAwADQABAAEAAAATAAsADQABAAEAAAATAAoADQABAAEAAAASABMADQABAAEAAAASABIADQABAAEAAAASABEADQABAAEAAAASABAADQABAAEAAAASAA8ADQABAAEAAAASAA4ADQABAAEAAAASAA0ADQABAAEAAAASAAwADQABAAEAAAASAAsADQABAAEAAAASAAoADQABAAEAAAARABMADQABAAEAAAARABIADQABAAEAAAARABEADQABAAEAAAARABAADQABAAEAAAARAA8ADQABAAEAAAARAA4ADQABAAEAAAARAA0ADQABAAEAAAARAAwADQABAAEAAAARAAsADQABAAEAAAARAAoADQABAAEAAAAQABMADQABAAEAAAAQABIADQABAAEAAAAQABEADQABAAEAAAAQABAADQABAAEAAAAQAA8ADQABAAEAAAAQAA4ADQABAAEAAAAQAA0ADQABAAEAAAAQAAwADQABAAEAAAAQAAsADQABAAEAAAAQAAoADQABAAEAAAAPABMADQABAAEAAAAPABIADQABAAEAAAAPABEADQABAAEAAAAPABAADQABAAEAAAAPAA8ADQABAAEAAAAPAA4ADQABAAEAAAAPAA0ADQABAAEAAAAPAAwADQABAAEAAAAPAAsADQABAAEAAAAPAAoADQABAAEAAAAOABMADQABAAEAAAAOABIADQABAAEAAAAOABEADQABAAEAAAAOABAADQABAAEAAAAOAA8ADQABAAEAAAAOAA4ADQABAAEAAAAOAA0ADQABAAEAAAAOAAwADQABAAEAAAAOAAsADQABAAEAAAAOAAoADQABAAEAAAANABMADQABAAEAAAANABIADQABAAEAAAANABEADQABAAEAAAANABAADQABAAEAAAANAA8ADQABAAEAAAANAA4ADQABAAEAAAANAA0ADQABAAEAAAANAAwADQABAAEAAAANAAsADQABAAEAAAANAAoADQABAAAAAAAMABMADQABAAEAAAAMABIADQABAAEAAAAMABEADQABAAEAAAAMABAADQABAAEAAAAMAA8ADQABAAEAAAAMAA4ADQABAAEAAAAMAA0ADQABAAEAAAAMAAwADQABAAEAAAAMAAsADQABAAEAAAALABMADQABAAEAAAALABIADQABAAEAAAALABEADQABAAEAAAALABAADQABAAEAAAALAA8ADQABAAEAAAALAA4ADQABAAEAAAALAA0ADQABAAEAAAALAAwADQABAAEAAAALAAsADQABAAEAAAALAAoADQABAAAAAAAKABMADQABAAEAAAAKABIADQABAAEAAAAKABEADQABAAEAAAAKABAADQABAAEAAAAKAA8ADQABAAEAAAAKAA4ADQABAAEAAAAKAA0ADQABAAEAAAAKAAwADQABAAEAAAAKAAsADQABAAEAAAAKAAoADQABAAAAAAAJABMADQABAAEAAAAJABIADQABAAEAAAAJABEADQABAAEAAAAJABAADQABAAEAAAAJAA8ADQABAAEAAAAJAA4ADQABAAEAAAAJAA0ADQABAAEAAAAJAAwADQABAAEAAAAJAAsADQABAAEAAAAJAAoADQABAAAAAAAIABMADQABAAEAAAAIABIADQABAAEAAAAIABEADQABAAEAAAAIABAADQABAAEAAAAIAA8ADQABAAEAAAAIAA4ADQABAAEAAAAIAA0ADQABAAEAAAAIAAwADQABAAEAAAAIAAsADQABAAEAAAAIAAoADQABAAAAAAAHABMADQABAAEAAAAHABIADQABAAEAAAAHABEADQABAAEAAAAHABAADQABAAEAAAAHAA8ADQABAAEAAAAHAA4ADQABAAEAAAAHAA0ADQABAAEAAAAHAAwADQABAAEAAAAHAAsADQABAAEAAAAHAAoADQABAAEAAAAGABMADQABAAEAAAAGABIADQABAAEAAAAGABEADQABAAEAAAAGABAADQABAAEAAAAGAA8ADQABAAEAAAAGAA4ADQABAAEAAAAGAA0ADQABAAEAAAAGAAwADQABAAEAAAAGAAsADQABAAEAAAAGAAoADQABAAEAAAAFABMADQABAAEAAAAFABIADQABAAEAAAAFABEADQABAAEAAAAFABAADQABAAEAAAAFAA8ADQABAAEAAAAFAA4ADQABAAEAAAAFAA0ADQABAAEAAAAFAAwADQABAAEAAAAFAAsADQABAAEAAAAFAAoADQABAAEAAAAEABMADQABAAEAAAAEABIADQABAAEAAAAEABEADQABAAEAAAAEABAADQABAAEAAAAEAA8ADQABAAEAAAAEAA4ADQABAAEAAAAEAA0ADQABAAEAAAAEAAwADQABAAEAAAAEAAsADQABAAEAAAAEAAoADQABAAEAAAADABMADQABAAEAAAADABIADQABAAEAAAADABEADQABAAEAAAADABAADQABAAEAAAADAA8ADQABAAEAAAADAA4ADQABAAEAAAADAA0ADQABAAEAAAADAAwADQABAAEAAAADAAsADQABAAEAAAADAAoADQABAAAAAAACABMADQABAAEAAAACABIADQABAAEAAAACABEADQABAAEAAAACABAADQABAAEAAAACAA8ADQABAAEAAAACAA4ADQABAAEAAAACAA0ADQABAAEAAAACAAwADQABAAEAAAACAAsADQABAAEAAAACAAoADQABAAAAAAABABMADQABAAEAAAABABIADQABAAEAAAABABEADQABAAEAAAABABAADQABAAEAAAABAA8ADQABAAEAAAABAA4ADQABAAEAAAABAA0ADQABAAEAAAABAAwADQABAAEAAAABAAsADQABAAEAAAABAAoADQABAAEAAAAAABMADQABAAEAAAAAABIADQABAAEAAAAAABEADQABAAEAAAAAABAADQABAAEAAAAAAA8ADQABAAEAAAAAAA4ADQABAAEAAAAAAA0ADQABAAEAAAAAAAwADQABAAEAAAAAAAsADQABAAEAAAAAAAoADQABAAEAAAD//xMADQABAAEAAAD//xIADQABAAEAAAD//xEADQABAAEAAAD//xAADQABAAEAAAD//w8ADQABAAEAAAD//w4ADQABAAEAAAD//w0ADQABAAEAAAD//wwADQABAAEAAAD//wsADQABAAEAAAD//woADQABAAEAAAAXABMADQACAAEAAAAXABIADQACAAEAAAAXABEADQACAAEAAAAXABAADQACAAEAAAAXAA8ADQACAAEAAAAXAA4ADQACAAEAAAAXAA0ADQACAAEAAAAXAAwADQACAAEAAAAXAAsADQACAAEAAAAXAAoADQACAAEAAAAWABMADQABAAEAAAAWABIADQABAAEAAAAWABEADQABAAEAAAAWABAADQABAAEAAAAWAA8ADQABAAEAAAAWAA4ADQABAAEAAAAWAA0ADQABAAEAAAAWAAwADQABAAEAAAAWAAsADQABAAEAAAAWAAoADQABAAEAAAAVABMADQABAAEAAAAVABIADQABAAEAAAAVABEADQABAAEAAAAVABAADQABAAEAAAAVAA8ADQABAAEAAAAVAA4ADQABAAEAAAAVAA0ADQABAAEAAAAVAAwADQABAAEAAAAVAAsADQABAAEAAAAVAAoADQABAAEAAAD+/xMADQABAAEAAAD+/xIADQABAAEAAAD+/xEADQABAAEAAAD+/xAADQABAAEAAAD+/w8ADQABAAEAAAD+/w4ADQABAAEAAAD+/w0ADQABAAEAAAD+/wwADQABAAEAAAD+/wsADQABAAEAAAD+/woADQABAAEAAAD9/xMADQABAAEAAAD9/xIADQABAAEAAAD9/xEADQABAAEAAAD9/xAADQABAAEAAAD9/w8ADQABAAEAAAD9/w4ADQABAAEAAAD9/w0ADQABAAEAAAD9/wwADQABAAEAAAD9/wsADQABAAEAAAD9/woADQABAAEAAAD8/xMADQAAAAEAAAD8/xIADQAAAAEAAAD8/xEADQAAAAEAAAD8/xAADQAAAAEAAAD8/w8ADQAAAAEAAAD8/w4ADQAAAAEAAAD8/w0ADQAAAAEAAAD8/wwADQAAAAEAAAD8/wsADQAAAAEAAAD8/woADQAAAAEAAAAPAAkADQABAAAAAAAOAAkADQAAAAAAAAAGAAkADQABAAEAAAAFAAgADQAAAAAAAAAGAAcADQADAAAAAAAEAAkADQAAAAAAAAAQAAgADQAAAAAAAAARAAkADQABAAEAAAARAAcADQADAAAAAAAMAAoADQABAAAAAAAGAAgADQACAAEAAAATAAkADQABAAEAAAATAAgADQAAAAAAAAAUAAgADQABAAAAAAAUAAkADQABAAEAAAAVAAgADQABAAAAAAAVAAkADQABAAEAAAAWAAgADQABAAAAAAAWAAkADQABAAEAAAAXAAgADQACAAAAAAAXAAkADQACAAEAAAAAAAkADQABAAEAAAD//wgADQABAAAAAAD//wkADQABAAEAAAD+/wgADQABAAAAAAD+/wkADQABAAEAAAD9/wgADQABAAAAAAD9/wkADQABAAEAAAD8/wgADQAAAAAAAAD8/wkADQAAAAEAAAABAAkADQACAAAAAAAAAAgADQACAAAAAAASAAkADQABAAAAAAAQAAkADQABAAEAAAARAAgADQACAAEAAAAFAAkADQABAAEAAAAHAAkADQACAAAAAAARABYADQABAAIAAAARABUADQABAAEAAAARABQADQABAAEAAAAQABYADQABAAIAAAAQABUADQABAAEAAAAQABQADQABAAEAAAAPABYADQABAAIAAAAPABUADQABAAEAAAAPABQADQABAAEAAAAOABYADQABAAIAAAAOABUADQABAAEAAAAOABQADQABAAEAAAANABYADQABAAIAAAANABUADQABAAEAAAANABQADQABAAEAAAAMABYADQABAAIAAAAMABUADQABAAEAAAAMABQADQABAAEAAAALABYADQABAAIAAAALABUADQABAAEAAAALABQADQABAAEAAAAKABYADQABAAIAAAAKABUADQABAAEAAAAKABQADQABAAEAAAAJABYADQABAAIAAAAJABUADQABAAEAAAAJABQADQABAAEAAAAIABYADQABAAIAAAAIABUADQABAAEAAAAIABQADQABAAEAAAAHABYADQABAAIAAAAHABUADQABAAEAAAAHABQADQABAAEAAAAGABYADQABAAIAAAAGABUADQABAAEAAAAGABQADQABAAEAAAAFABYADQABAAIAAAAFABUADQABAAEAAAAFABQADQABAAEAAAAEABYADQABAAIAAAAEABUADQABAAEAAAAEABQADQABAAEAAAADABYADQABAAIAAAADABUADQABAAEAAAADABQADQABAAEAAAACABYADQABAAIAAAACABUADQABAAEAAAACABQADQABAAEAAAABABYADQABAAIAAAABABUADQABAAEAAAABABQADQABAAEAAAAAABYADQABAAIAAAAAABUADQABAAEAAAAAABQADQABAAEAAAD//xYADQABAAIAAAD//xUADQABAAEAAAD//xQADQABAAEAAAD+/xYADQABAAIAAAD+/xUADQABAAEAAAD+/xQADQABAAEAAAD9/xYADQABAAIAAAD9/xUADQABAAEAAAD9/xQADQABAAEAAAD8/xYADQAAAAIAAAD8/xUADQAAAAEAAAD8/xQADQAAAAEAAAAXABYADQACAAIAAAAXABUADQACAAEAAAAXABQADQACAAEAAAAWABYADQABAAIAAAAWABUADQABAAEAAAAWABQADQABAAEAAAAVABYADQABAAIAAAAVABUADQABAAEAAAAVABQADQABAAEAAAAUABYADQABAAIAAAAUABUADQABAAEAAAAUABQADQABAAEAAAATABYADQABAAIAAAATABUADQABAAEAAAATABQADQABAAEAAAASABYADQABAAIAAAASABUADQABAAEAAAASABQADQABAAEAAAA=") tile_set = ExtResource("7_s5mdo") metadata/_edit_lock_ = true +[node name="TileMapMaskBounds" type="Node" parent="TileMapLayers/CanvasGroup" unique_id=1546558266 node_paths=PackedStringArray("canvas_item")] +script = ExtResource("13_e2p5u") +canvas_item = NodePath("..") +metadata/_custom_type_script = "uid://dpw8lcjx68p3o" + [node name="OnTheGround" type="Node2D" parent="." unique_id=773564026] y_sort_enabled = true diff --git a/scenes/quests/story_quests/shjourney/8_shjourney_outro/puerta.gd b/scenes/quests/story_quests/shjourney/8_shjourney_outro/puerta.gd index b0a3f5b643..d05fa4e71d 100644 --- a/scenes/quests/story_quests/shjourney/8_shjourney_outro/puerta.gd +++ b/scenes/quests/story_quests/shjourney/8_shjourney_outro/puerta.gd @@ -47,7 +47,7 @@ func close() -> void: set_toggled(false) -func set_toggled(value: bool) -> void: +func set_toggled(value: bool, _immediate: bool = false) -> void: opened = value update_opened_state() diff --git a/scenes/world_map/components/frays_end.dialogue b/scenes/world_map/components/frays_end.dialogue index 5859a55767..90b8f07ab9 100644 --- a/scenes/world_map/components/frays_end.dialogue +++ b/scenes/world_map/components/frays_end.dialogue @@ -57,7 +57,7 @@ Dolores: Tell me about Dev Archipelago! set GameState.global.facts.dev_island_unlocked = false # TODO: no change notification for facts :( do dev_island_unlocker.refresh() - do wait(0.5) + do wait(3.5) Dolores: Talk to me again if you change your mind. => END @@ -78,7 +78,7 @@ Dolores: Do you want to see it for yourself? set GameState.global.facts.dev_island_unlocked = true # TODO: no change notification for facts :( do dev_island_unlocker.refresh() - do wait(0.5) + do wait(3.5) Dolores: Wow, how did that bridge fix itself? => beach_go_to_dev_island diff --git a/scenes/world_map/frays_end.tscn b/scenes/world_map/frays_end.tscn index 4b8247882b..368b1119e9 100644 --- a/scenes/world_map/frays_end.tscn +++ b/scenes/world_map/frays_end.tscn @@ -25,9 +25,12 @@ [ext_resource type="TileSet" uid="uid://ciq5guijvlyb0" path="res://tiles/void_chromakey.tres" id="12_f3823"] [ext_resource type="Texture2D" uid="uid://cyvi71ryavsld" path="res://scenes/game_elements/props/decoration/books/components/Books_2.png" id="13_xt3dw"] [ext_resource type="Script" uid="uid://c5jp8y8mpge4w" path="res://scenes/game_elements/props/toggleable_tile_map_layer/toggleable_tile_map_layer.gd" id="14_f3823"] +[ext_resource type="Shader" uid="uid://dui35fhf12sp5" path="res://scenes/game_elements/fx/world_rewoven/components/world_rewoven.gdshader" id="15_t7c6s"] [ext_resource type="PackedScene" uid="uid://bp20cjimwi8l0" path="res://scenes/game_elements/props/buildings/house/house_2.tscn" id="15_uhynt"] [ext_resource type="PackedScene" uid="uid://712saqgof3kf" path="res://scenes/game_elements/props/eternal_loom/eternal_loom.tscn" id="16_ojp30"] +[ext_resource type="Texture2D" uid="uid://drlsbgxh5e6vv" path="res://scenes/game_elements/fx/world_rewoven/components/fabric_texture.png" id="16_ulm71"] [ext_resource type="PackedScene" uid="uid://cpaplgh708bc3" path="res://scenes/game_elements/characters/npcs/npc_prop/fray_axeman.tscn" id="17_0a1i7"] +[ext_resource type="Script" uid="uid://dpw8lcjx68p3o" path="res://scenes/game_elements/fx/world_rewoven/components/tile_map_mask_bounds.gd" id="17_uxfrp"] [ext_resource type="PackedScene" uid="uid://v3usqiwy5wpr" path="res://scenes/game_elements/props/decoration/rock/rock.tscn" id="18_jbsab"] [ext_resource type="PackedScene" uid="uid://crqjcicx0vdu" path="res://scenes/game_elements/props/decoration/bush/bush.tscn" id="18_yntpr"] [ext_resource type="PackedScene" uid="uid://n8dhed3nvf50" path="res://scenes/game_elements/characters/npcs/npc_prop/fray_hammerman.tscn" id="19_yntpr"] @@ -59,6 +62,228 @@ [ext_resource type="Script" uid="uid://cmika1t1573xe" path="res://scenes/world_map/components/frays_end_exit_blocker.gd" id="62_t7c6s"] [ext_resource type="PackedScene" uid="uid://covsdqqsd6rsy" path="res://scenes/game_elements/props/sign/sign.tscn" id="64_uxfrp"] +[sub_resource type="FastNoiseLite" id="FastNoiseLite_t7c6s"] +seed = 5566801 +frequency = 0.0148 + +[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_ulm71"] +width = 32 +height = 64 +noise = SubResource("FastNoiseLite_t7c6s") + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_uxfrp"] +shader = ExtResource("15_t7c6s") +shader_parameter/mask_texture = SubResource("NoiseTexture2D_ulm71") +shader_parameter/mask_origin = Vector2(-64, 320) +shader_parameter/mask_size = Vector2(192, 640) +shader_parameter/fabric_texture = ExtResource("16_ulm71") +shader_parameter/fabric_scale = 1.0 +shader_parameter/progress = 1.0 +shader_parameter/target_canvas_group = true +shader_parameter/smoothness = 0.4910000233225 +shader_parameter/burn_size = 0.4470000212325 +shader_parameter/burn_color = Color(1.1281133, 0.7659265, 1.353256, 1) +shader_parameter/canvas_modulate = Color(1, 1, 1, 1) +shader_parameter/gray_intensity = 0.0 + +[sub_resource type="Gradient" id="Gradient_wymun"] +colors = PackedColorArray(1, 1, 1, 1, 0, 0, 0, 1) + +[sub_resource type="GradientTexture2D" id="GradientTexture2D_f3823"] +gradient = SubResource("Gradient_wymun") +fill_from = Vector2(0, 1) +fill_to = Vector2(0, 0) + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_7kfal"] +shader = ExtResource("15_t7c6s") +shader_parameter/mask_texture = SubResource("GradientTexture2D_f3823") +shader_parameter/mask_origin = Vector2(2624, 1728) +shader_parameter/mask_size = Vector2(64, 384) +shader_parameter/fabric_texture = ExtResource("16_ulm71") +shader_parameter/fabric_scale = 1.0 +shader_parameter/progress = 1.0 +shader_parameter/target_canvas_group = false +shader_parameter/smoothness = 0.3230000153425 +shader_parameter/burn_size = 0.3430000162925 +shader_parameter/burn_color = Color(1.353, 1.353, 0.777, 1) +shader_parameter/canvas_modulate = Color(1, 1, 1, 1) +shader_parameter/gray_intensity = 0.0 + +[sub_resource type="Shader" id="Shader_t7c6s"] +code = "/** + * This is intended to be applied to a CanvasGroup material. + * SPDX-FileCopyrightText: The Threadbare Authors + * SPDX-License-Identifier: MPL-2.0 + */ +shader_type canvas_item; +// Not unshaded: the engine only applies the color of a CanvasModulate, and 2D +// lights, to canvas items that are not unshaded. Without this, a node using this +// shader stays untinted while the rest of the scene is tinted. + +uniform sampler2D screen_texture : hint_screen_texture, repeat_disable, filter_nearest; + +/** + * Grayscale texture with the pattern of the fade. + */ +uniform sampler2D mask_texture : hint_default_white, repeat_disable; + +/** + * Origin, in world units, of the region the fade mask is stretched across. + */ +uniform vec2 mask_origin = vec2(0.0); + +/** + * Size, in world units, of the region the fade mask is stretched across. Set + * this together with [member mask_origin] to the bounds of the affected area, + * so the mask spans it exactly once whether this material is applied to a + * [CanvasGroup] or to a single [CanvasItem] such as a [TileMapLayer]. + */ +uniform vec2 mask_size = vec2(1920.0, 1080.0); + +/** + * Grayscale texture with a fabric pattern to multiply the fade mask. + */ +uniform sampler2D fabric_texture : repeat_enable; + +/** + * Scale of the fabric pattern texture, in world units per texel. At 1.0 the + * fabric is sampled at the same resolution as the world, so one texel of the + * texture covers exactly one world pixel. + */ +uniform float fabric_scale : hint_range(0.01, 30.0) = 1.0; + +/** + * Fade progress: 0.0 is fully hidden, 1.0 is fully visible + */ +uniform float progress : hint_range(0.0, 1.0) = 0.0; + +/** + * Wether to target a CanvasGroup node or a single CanvasItem. + */ +uniform bool target_canvas_group = true; + +/** + * How smooth is the edge of the fade. + */ +uniform float smoothness : hint_range(0.0, 1.0) = 0.1; + +/** + * How long is the edge of the fade. + */ +uniform float burn_size : hint_range(0.0, 1.0) = 0.15; + +/** + * The burn color. Brighter than white, so that it reads as light. + */ +uniform vec4 burn_color : source_color = vec4(1.353, 1.353, 0.777, 1.0); + +/** + * Color of the [CanvasModulate] of the scene, if there is one. The burn is + * divided by it, so that the multiplication the engine does afterwards cancels + * out and the burn keeps its full brightness, as if it was made of light. + */ +uniform vec4 canvas_modulate : source_color = vec4(1.0, 1.0, 1.0, 1.0); + +/** + * How gray is the existing color (not the burn). + */ +uniform float gray_intensity : hint_range(0.0, 1.0) = 0.0; + +/** + * Position of the fragment in world space, so the fabric pattern is anchored to + * the world instead of to the screen. + */ +varying vec2 world_position; + +void vertex() { + world_position = (MODEL_MATRIX * vec4(VERTEX, 0.0, 1.0)).xy; +} + +void fragment() { + // Sample the main texture color of the node + vec4 main_color; + if (target_canvas_group) { + main_color = textureLod(screen_texture, SCREEN_UV, 0.0); + if (main_color.a > 0.0001) { + main_color.rgb /= main_color.a; + } + } else { + // COLOR already holds the texture multiplied by the node's modulate, so + // sampling TEXTURE again here would apply the texture twice and darken + // the result. + main_color = COLOR; + } + + // A gray version of the main color. + float gray = dot(main_color.rgb, vec3(0.299, 0.587, 0.114)); + + // Sample the mask texture value (taking the red channel). Using world + // position instead of UV, because on a TileMapLayer UV is the coordinate + // into the tileset atlas of each individual tile, not a coordinate across + // the whole node, which would repeat the mask on every tile. + vec2 mask_uv = (world_position - mask_origin) / mask_size; + float mask_value = texture(mask_texture, mask_uv).r; + + // Sample the fabric pattern texture (taking the red channel). Sampling by + // world position gives the pattern a fixed size in world units, so it grows + // when zooming in and scrolls along with the camera. Dividing by the texture + // size turns world units into UVs, so at fabric_scale 1.0 one texel covers + // one world pixel. + vec2 fabric_uv = world_position / (vec2(textureSize(fabric_texture, 0)) * fabric_scale); + float fabric_value = 1. - texture(fabric_texture, fabric_uv).r; + + // Sweep the threshold slightly past the 0.0 to 1.0 range of the mask, by the + // width of the widest edge, so that progress 0.0 hides every pixel and + // progress 1.0 shows every pixel, whatever the mask texture contains. In + // between, the mask still drives the shape of the transition. + float edge_size = max(smoothness, burn_size); + float threshold = 1.0 - progress * (1.0 + edge_size); + + // Calculate a clean alpha cutoff based on progress using smoothness. + float alpha = smoothstep(threshold, threshold + smoothness, mask_value); + + // Calculate the burn, using burn_size. + float burn = smoothstep(threshold + burn_size, threshold, mask_value); + + vec3 final_color = main_color.rgb; + // Apply gray: + final_color = mix(final_color, vec3(gray), gray_intensity); + // Apply burn, undoing the canvas modulate so that it looks unshaded: + if (burn_size != 0.0) { + vec3 unshaded_burn = burn_color.rgb / max(canvas_modulate.rgb, vec3(0.001)); + final_color = mix(final_color, unshaded_burn, burn * burn_color.a); + } + // Apply the fabric texture. + alpha *= 2.2 * smoothstep(0., fabric_value, alpha); + + COLOR = vec4(final_color, main_color.a * alpha); +} +" + +[sub_resource type="Gradient" id="Gradient_lq5qh"] +offsets = PackedFloat32Array(0, 0.8095238, 1) +colors = PackedColorArray(0.37413925, 0.37413928, 0.37413922, 1, 0, 0, 0, 1, 0.37254903, 0.37254903, 0.37254903, 1) + +[sub_resource type="GradientTexture2D" id="GradientTexture2D_jm52i"] +gradient = SubResource("Gradient_lq5qh") +fill_from = Vector2(0.5, 1) +fill_to = Vector2(0.5, 0) + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_7n6eg"] +shader = SubResource("Shader_t7c6s") +shader_parameter/mask_texture = SubResource("GradientTexture2D_jm52i") +shader_parameter/mask_origin = Vector2(2624, 1728) +shader_parameter/mask_size = Vector2(64, 384) +shader_parameter/fabric_texture = ExtResource("16_ulm71") +shader_parameter/fabric_scale = 1.0 +shader_parameter/progress = 1.0 +shader_parameter/target_canvas_group = false +shader_parameter/smoothness = 0.3230000153425 +shader_parameter/burn_size = 0.3430000162925 +shader_parameter/burn_color = Color(1.353, 1.353, 0.777, 1) +shader_parameter/canvas_modulate = Color(1, 1, 1, 1) +shader_parameter/gray_intensity = 0.0 + [sub_resource type="RectangleShape2D" id="RectangleShape2D_duxxr"] size = Vector2(52, 61) @@ -217,24 +442,44 @@ tile_set = ExtResource("6_5j6h7") tile_map_data = PackedByteArray("AAAEAP//AQAAAAMAAAAFAP//AQABAAMAAAAGAP//AQABAAMAAAAHAP//AQACAAMAAAA=") tile_set = ExtResource("7_r1ek1") -[node name="WestPathBarrierVoid" type="TileMapLayer" parent="TileMapLayers" unique_id=1715727017] +[node name="CanvasGroup" type="CanvasGroup" parent="TileMapLayers" unique_id=402749041] +material = SubResource("ShaderMaterial_uxfrp") + +[node name="WestPathBarrierVoid" type="TileMapLayer" parent="TileMapLayers/CanvasGroup" unique_id=1715727017] y_sort_enabled = true material = ExtResource("11_wymun") tile_map_data = PackedByteArray("AAAAAAsADQACAAEAAAD//wsADQAAAAEAAAD//woADQAAAAEAAAAAAAoADQACAAEAAAAAAAkADQACAAEAAAD//wkADQAAAAEAAAD//wgADQAAAAEAAAAAAAgADQACAAEAAAAAAAcADQACAAEAAAD//wcADQAAAAEAAAD//wYADQAAAAEAAAAAAAYADQACAAEAAAAAAAUADQABAAAAAAABAAUADQACAAMAAAD//wUADQAAAAAAAAAAAAwADQACAAEAAAD//wwADQAAAAEAAAAAAA0ADQACAAEAAAAAAA4ADQACAAIAAAD//w4ADQAAAAIAAAD//w0ADQAAAAEAAAA=") tile_set = ExtResource("12_f3823") script = ExtResource("14_f3823") +[node name="TileMapMaskBounds" type="Node" parent="TileMapLayers/CanvasGroup" unique_id=1716818937 node_paths=PackedStringArray("canvas_item")] +script = ExtResource("17_uxfrp") +canvas_item = NodePath("..") +metadata/_custom_type_script = "uid://dpw8lcjx68p3o" + [node name="DevIslandBridgeFixed" type="TileMapLayer" parent="TileMapLayers" unique_id=12215457] +material = SubResource("ShaderMaterial_7kfal") tile_map_data = PackedByteArray("AAApACAAAwAAAAMAAAApAB8AAwAAAAIAAAApAB4AAwAAAAIAAAApAB0AAwAAAAIAAAApABwAAwAAAAIAAAApABsAAwAAAAEAAAA=") tile_set = ExtResource("8_ns5r3") script = ExtResource("14_f3823") invert = true +[node name="TileMapMaskBounds" type="Node" parent="TileMapLayers/DevIslandBridgeFixed" unique_id=2125450515 node_paths=PackedStringArray("canvas_item")] +script = ExtResource("17_uxfrp") +canvas_item = NodePath("..") +metadata/_custom_type_script = "uid://dpw8lcjx68p3o" + [node name="DevIslandBridgeBroken" type="TileMapLayer" parent="TileMapLayers" unique_id=2088215943] +material = SubResource("ShaderMaterial_7n6eg") tile_map_data = PackedByteArray("AAApACAAAwAAAAMAAAApAB8AAwAAAAIAAAApAB4AAwAAAAIAAAApAB0AAwAAAAIAAAApABwAAwABAAMAAAApABsAAwAAAAEAAAA=") tile_set = ExtResource("8_ns5r3") script = ExtResource("14_f3823") +[node name="TileMapMaskBounds" type="Node" parent="TileMapLayers/DevIslandBridgeBroken" unique_id=393070780 node_paths=PackedStringArray("canvas_item")] +script = ExtResource("17_uxfrp") +canvas_item = NodePath("..") +metadata/_custom_type_script = "uid://dpw8lcjx68p3o" + [node name="OnTheGround" type="Node2D" parent="." unique_id=444049774] y_sort_enabled = true @@ -1424,7 +1669,7 @@ y_sort_enabled = true [node name="VoidQuestUnlocker" type="Node" parent="OnTheGround/WestPath" unique_id=1461023268 node_paths=PackedStringArray("targets")] unique_name_in_owner = true script = ExtResource("58_ojao8") -targets = [NodePath("../../../TileMapLayers/WestPathBarrierVoid")] +targets = [NodePath("../../../TileMapLayers/CanvasGroup/WestPathBarrierVoid")] required_quests = Array[ExtResource("59_qgpx3")]([ExtResource("60_6b07c")]) [node name="SpawnPointWestPath" type="Marker2D" parent="OnTheGround/WestPath" unique_id=730185770 groups=["spawn_point"]] diff --git a/scenes/world_map/linenville_path.tscn b/scenes/world_map/linenville_path.tscn index 106b61e4ba..da4904bcda 100644 --- a/scenes/world_map/linenville_path.tscn +++ b/scenes/world_map/linenville_path.tscn @@ -7,13 +7,16 @@ [ext_resource type="TileSet" uid="uid://bjx3gvah0ycl1" path="res://tiles/foam_2.tres" id="4_34mct"] [ext_resource type="TileSet" uid="uid://do0ffypatd77h" path="res://tiles/bridges.tres" id="5_lpwsl"] [ext_resource type="Material" uid="uid://64aeyjitacv3" path="res://scenes/game_elements/props/void/void_chromakey_material.tres" id="6_puq78"] +[ext_resource type="Shader" uid="uid://dui35fhf12sp5" path="res://scenes/game_elements/fx/world_rewoven/components/world_rewoven.gdshader" id="7_2w05u"] [ext_resource type="TileSet" uid="uid://ciq5guijvlyb0" path="res://tiles/void_chromakey.tres" id="7_a75xw"] [ext_resource type="Script" uid="uid://c5jp8y8mpge4w" path="res://scenes/game_elements/props/toggleable_tile_map_layer/toggleable_tile_map_layer.gd" id="8_4hkh2"] +[ext_resource type="Texture2D" uid="uid://drlsbgxh5e6vv" path="res://scenes/game_elements/fx/world_rewoven/components/fabric_texture.png" id="8_lpwsl"] [ext_resource type="TileSet" uid="uid://b778cuoftt88r" path="res://tiles/elevation_2.tres" id="9_ddlt2"] [ext_resource type="TileSet" uid="uid://bdc7ucso7bx0s" path="res://tiles/shadows.tres" id="10_34mct"] [ext_resource type="PackedScene" uid="uid://iu2q66clupc6" path="res://scenes/game_elements/characters/player/player.tscn" id="10_b2puy"] [ext_resource type="SpriteFrames" uid="uid://dtoylirwywk0j" path="res://scenes/game_elements/characters/components/sprite_frames/storyweaver_blue.tres" id="11_a8wu3"] [ext_resource type="Script" uid="uid://bhexx6mj1xv3q" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_2d.gd" id="12_dssa7"] +[ext_resource type="Script" uid="uid://dpw8lcjx68p3o" path="res://scenes/game_elements/fx/world_rewoven/components/tile_map_mask_bounds.gd" id="12_lpwsl"] [ext_resource type="Script" uid="uid://8umksf8e80fw" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="13_o6gg0"] [ext_resource type="Script" uid="uid://bdhjixygupit1" path="res://scenes/game_elements/props/area_filler/area_filler.gd" id="14_lown6"] [ext_resource type="PackedScene" uid="uid://7873qa54birk" path="res://scenes/game_elements/props/tree/tree.tscn" id="15_8k5o1"] @@ -40,6 +43,31 @@ [ext_resource type="Script" uid="uid://uaaaiviytliw" path="res://scenes/world_map/components/quest_progress_unlocker.gd" id="37_6k2xc"] [ext_resource type="Script" uid="uid://dts1hwdy3phin" path="res://scenes/menus/storybook/components/quest.gd" id="38_2vyp4"] +[sub_resource type="FastNoiseLite" id="FastNoiseLite_puq78"] +seed = 5566423 +frequency = 0.0117 +offset = Vector3(1.5, -7, 0) + +[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_lpwsl"] +width = 64 +height = 64 +noise = SubResource("FastNoiseLite_puq78") + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_puq78"] +shader = ExtResource("7_2w05u") +shader_parameter/mask_texture = SubResource("NoiseTexture2D_lpwsl") +shader_parameter/mask_origin = Vector2(320, 640) +shader_parameter/mask_size = Vector2(640, 384) +shader_parameter/fabric_texture = ExtResource("8_lpwsl") +shader_parameter/fabric_scale = 1.0 +shader_parameter/progress = 1.0 +shader_parameter/target_canvas_group = true +shader_parameter/smoothness = 0.4910000233225 +shader_parameter/burn_size = 0.4470000212325 +shader_parameter/burn_color = Color(1.1281133, 0.7659265, 1.353256, 1) +shader_parameter/canvas_modulate = Color(1, 1, 1, 1) +shader_parameter/gray_intensity = 0.0 + [sub_resource type="Resource" id="Resource_64vrm"] script = ExtResource("13_o6gg0") @@ -91,13 +119,21 @@ tile_set = ExtResource("4_2w05u") tile_map_data = PackedByteArray("AAAxABQAAwACAAAAAAAwABQAAwABAAAAAAAvABQAAwABAAAAAAAuABQAAwABAAAAAAAtABQAAwAAAAAAAAATABQAAwACAAEAAAAaABQAAwABAAIAAAAKAAwAAwAAAAIAAAAKAA0AAwABAAMAAAAKAA4AAwAAAAIAAAAKABAAAwAAAAMAAAAKAA8AAwAAAAIAAAAKAAsAAwAAAAEAAAA=") tile_set = ExtResource("5_lpwsl") -[node name="LinenVilleBarrierVoid" type="TileMapLayer" parent="TileMapLayers" unique_id=1599072802] +[node name="CanvasGroup" type="CanvasGroup" parent="TileMapLayers" unique_id=1934188017] +material = SubResource("ShaderMaterial_puq78") + +[node name="LinenVilleBarrierVoid" type="TileMapLayer" parent="TileMapLayers/CanvasGroup" unique_id=1599072802] y_sort_enabled = true material = ExtResource("6_puq78") tile_map_data = PackedByteArray("AAAIAA0ADQABAAEAAAAJAAwADQABAAEAAAAJAA0ADQABAAEAAAAKAAwADQABAAEAAAAKAA0ADQABAAEAAAAKAA4ADQABAAEAAAALAAwADQABAAEAAAALAA0ADQABAAEAAAALAA4ADQABAAEAAAAMAAsADQABAAEAAAAMAAwADQABAAEAAAAMAA0ADQABAAEAAAAMAA4ADQABAAEAAAANAAsADQABAAEAAAAGAAwAAAAAAAEAAAAHAA0AAAACAAEAAAAIAAwAAAACAAIAAAAJAAsAAAABAAIAAAAKAAsAAAABAAIAAAALAAsAAAACAAIAAAAMAAoAAAABAAIAAAANAAoAAAABAAIAAAAOAAsAAAAAAAEAAAANAAwABQAAAAAAAAANAA0AAAAAAAEAAAANAA4ABAAAAAAAAAAMAA8AAAABAAAAAAALAA8ABgAAAAAAAAAJAA4AAAACAAAAAAAKAA8AAAABAAAAAAAIAA4ABgAAAAAAAAAFAAwAAAACAAEAAAA=") tile_set = ExtResource("7_a75xw") script = ExtResource("8_4hkh2") +[node name="TileMapMaskBounds" type="Node" parent="TileMapLayers/CanvasGroup" unique_id=1376873320 node_paths=PackedStringArray("canvas_item")] +script = ExtResource("12_lpwsl") +canvas_item = NodePath("..") +metadata/_custom_type_script = "uid://dpw8lcjx68p3o" + [node name="Void" type="TileMapLayer" parent="TileMapLayers" unique_id=1337861538] y_sort_enabled = true material = ExtResource("6_puq78") @@ -781,6 +817,6 @@ stream = ExtResource("36_7iwyg") [node name="LinenVilleUnlocker" type="Node" parent="." unique_id=1744151706 node_paths=PackedStringArray("targets")] unique_name_in_owner = true script = ExtResource("37_6k2xc") -targets = [NodePath("../TileMapLayers/LinenVilleBarrierVoid")] +targets = [NodePath("../TileMapLayers/CanvasGroup/LinenVilleBarrierVoid")] required_quests = Array[ExtResource("38_2vyp4")]([ExtResource("30_hq8vv")]) metadata/_custom_type_script = "uid://uaaaiviytliw" diff --git a/scenes/world_map/song_sanctuary_path.tscn b/scenes/world_map/song_sanctuary_path.tscn index 2815c3506b..39ce54579a 100644 --- a/scenes/world_map/song_sanctuary_path.tscn +++ b/scenes/world_map/song_sanctuary_path.tscn @@ -11,8 +11,11 @@ [ext_resource type="TileSet" uid="uid://b778cuoftt88r" path="res://tiles/elevation_2.tres" id="6_engfb"] [ext_resource type="Texture2D" uid="uid://0xceungm1p8a" path="res://scenes/game_elements/props/buildings/house/components/House_Wool_Red_Stage2.png" id="7_70n28"] [ext_resource type="Script" uid="uid://c5jp8y8mpge4w" path="res://scenes/game_elements/props/toggleable_tile_map_layer/toggleable_tile_map_layer.gd" id="7_bt13d"] +[ext_resource type="Shader" uid="uid://dui35fhf12sp5" path="res://scenes/game_elements/fx/world_rewoven/components/world_rewoven.gdshader" id="7_d6ijo"] +[ext_resource type="Texture2D" uid="uid://drlsbgxh5e6vv" path="res://scenes/game_elements/fx/world_rewoven/components/fabric_texture.png" id="8_jm52i"] [ext_resource type="Texture2D" uid="uid://cfkb8gpxylplg" path="res://scenes/game_elements/props/buildings/house/components/House_Patches_Red_Stage3.png" id="8_m5r1s"] [ext_resource type="Texture2D" uid="uid://d2kjk3oiu5o6o" path="res://scenes/game_elements/props/buildings/house/components/House_Wool_Blue_02.png" id="9_ennvy"] +[ext_resource type="Script" uid="uid://dpw8lcjx68p3o" path="res://scenes/game_elements/fx/world_rewoven/components/tile_map_mask_bounds.gd" id="10_0wbtx"] [ext_resource type="PackedScene" uid="uid://iu2q66clupc6" path="res://scenes/game_elements/characters/player/player.tscn" id="10_8vkdv"] [ext_resource type="PackedScene" uid="uid://b31v66516y4lg" path="res://scenes/game_elements/props/buildings/house/ruined_house.tscn" id="10_70n28"] [ext_resource type="SpriteFrames" uid="uid://dtoylirwywk0j" path="res://scenes/game_elements/characters/components/sprite_frames/storyweaver_blue.tres" id="11_ibyt1"] @@ -43,6 +46,52 @@ [ext_resource type="Script" uid="uid://uaaaiviytliw" path="res://scenes/world_map/components/quest_progress_unlocker.gd" id="40_bt13d"] [ext_resource type="Script" uid="uid://dts1hwdy3phin" path="res://scenes/menus/storybook/components/quest.gd" id="41_nf521"] +[sub_resource type="Gradient" id="Gradient_d6ijo"] + +[sub_resource type="GradientTexture2D" id="GradientTexture2D_au3ml"] +gradient = SubResource("Gradient_d6ijo") +fill_from = Vector2(0, 1) +fill_to = Vector2(0, 0) + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_bmevf"] +shader = ExtResource("7_d6ijo") +shader_parameter/mask_texture = SubResource("GradientTexture2D_au3ml") +shader_parameter/mask_origin = Vector2(1280, 640) +shader_parameter/mask_size = Vector2(64, 256) +shader_parameter/fabric_texture = ExtResource("8_jm52i") +shader_parameter/fabric_scale = 1.0 +shader_parameter/progress = 1.0 +shader_parameter/target_canvas_group = false +shader_parameter/smoothness = 0.3230000153425 +shader_parameter/burn_size = 0.3430000162925 +shader_parameter/burn_color = Color(1.353, 1.353, 0.777, 1) +shader_parameter/canvas_modulate = Color(1, 1, 1, 1) +shader_parameter/gray_intensity = 0.0 + +[sub_resource type="Gradient" id="Gradient_lq5qh"] +offsets = PackedFloat32Array(0, 0.3697479, 1) +colors = PackedColorArray(0.37413925, 0.37413928, 0.37413922, 1, 0, 0, 0, 1, 0.37254903, 0.37254903, 0.37254903, 1) + +[sub_resource type="GradientTexture2D" id="GradientTexture2D_jm52i"] +gradient = SubResource("Gradient_lq5qh") +fill_from = Vector2(0.5, 1) +fill_to = Vector2(0.5, 0) + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_d6ijo"] +shader = ExtResource("7_d6ijo") +shader_parameter/mask_texture = SubResource("GradientTexture2D_jm52i") +shader_parameter/mask_origin = Vector2(1280, 640) +shader_parameter/mask_size = Vector2(64, 256) +shader_parameter/fabric_texture = ExtResource("8_jm52i") +shader_parameter/fabric_scale = 1.0 +shader_parameter/progress = 1.0 +shader_parameter/target_canvas_group = false +shader_parameter/smoothness = 0.3230000153425 +shader_parameter/burn_size = 0.3430000162925 +shader_parameter/burn_color = Color(1.353, 1.353, 0.777, 1) +shader_parameter/canvas_modulate = Color(1, 1, 1, 1) +shader_parameter/gray_intensity = 0.0 + [sub_resource type="Resource" id="Resource_ftxxi"] script = ExtResource("17_ubsr8") @@ -123,16 +172,28 @@ tile_map_data = PackedByteArray("AAAJABMAAwAAAAIAAAAJABQAAwAAAAIAAAAJABUAAwAAAAI tile_set = ExtResource("4_engfb") [node name="SideQuestBridgeUnblocked" type="TileMapLayer" parent="TileMapLayers" unique_id=316654240] +material = SubResource("ShaderMaterial_bmevf") tile_map_data = PackedByteArray("AAAUAA0AAwAAAAMAAAAUAAwAAwAAAAIAAAAUAAoAAwAAAAEAAAAUAAsAAwAAAAIAAAA=") tile_set = ExtResource("4_engfb") script = ExtResource("7_bt13d") invert = true +[node name="TileMapMaskBounds" type="Node" parent="TileMapLayers/SideQuestBridgeUnblocked" unique_id=803624483 node_paths=PackedStringArray("canvas_item")] +script = ExtResource("10_0wbtx") +canvas_item = NodePath("..") +metadata/_custom_type_script = "uid://dpw8lcjx68p3o" + [node name="SideQuestBridgeBlocked" type="TileMapLayer" parent="TileMapLayers" unique_id=1335870243] +material = SubResource("ShaderMaterial_d6ijo") tile_map_data = PackedByteArray("AAAUAA0AAwAAAAMAAAAUAAwAAwABAAMAAAAUAAoAAwAAAAEAAAAUAAsAAwAAAAIAAAA=") tile_set = ExtResource("4_engfb") script = ExtResource("7_bt13d") +[node name="TileMapMaskBounds" type="Node" parent="TileMapLayers/SideQuestBridgeBlocked" unique_id=266432187 node_paths=PackedStringArray("canvas_item")] +script = ExtResource("10_0wbtx") +canvas_item = NodePath("..") +metadata/_custom_type_script = "uid://dpw8lcjx68p3o" + [node name="Shadows" type="TileMapLayer" parent="TileMapLayers" unique_id=452826713] tile_map_data = PackedByteArray("AAAWAA4AAAAAAAAAAAAWAA8AAAAAAAAAAAA=") tile_set = ExtResource("5_63tlh")