From 9732ef60bdba8d98a46232effe6144ac05d51d6b Mon Sep 17 00:00:00 2001 From: Joseph Surin Date: Wed, 19 Jan 2022 00:24:21 +1100 Subject: [PATCH] add basic dialog for alistair --- Scenes/InteractiveDialog.tscn | 13 + Scenes/Player.tscn | 38 +- Scripts/InteractiveDialog.gd | 38 + Scripts/Player.gd | 41 +- Story/Ch1S2.tscn | 14 +- addons/dialogic/Dialog.tscn | 11 + .../Documentation/Content/Changelog.md | 439 ++++ .../Documentation/Content/Events/000.md | 33 + .../Documentation/Content/Events/001.md | 18 + .../Documentation/Content/Events/002.md | 6 + .../Documentation/Content/Events/010.md | 14 + .../Documentation/Content/Events/011.md | 11 + .../Documentation/Content/Events/012.md | 22 + .../Documentation/Content/Events/013.md | 3 + .../Documentation/Content/Events/014.md | 11 + .../Documentation/Content/Events/030.md | 21 + .../Documentation/Content/Events/040.md | 22 + .../Documentation/Content/Events/041.md | 5 + .../Documentation/Content/Events/042.md | 31 + .../Custom Events/CreateCustomEvents.md | 122 + .../Custom Events/Images/CreationProcess.PNG | Bin 0 -> 9707 bytes .../Images/CreationProcess.PNG.import | 35 + .../Images/CustomEventsShowOff.PNG | Bin 0 -> 16110 bytes .../Images/CustomEventsShowOff.PNG.import | 35 + .../Custom Events/Images/EventBlock.png | Bin 0 -> 10930 bytes .../Images/EventBlock.png.import | 35 + .../Images/EventBlock_EventData.PNG | Bin 0 -> 6727 bytes .../Images/EventBlock_EventData.PNG.import | 35 + .../Custom Events/ImportCustomEvents.md | 9 + .../Content/Events/Images/Call_Node.PNG | Bin 0 -> 12523 bytes .../Events/Images/Call_Node.PNG.import | 35 + .../Events/Images/Event_Change_Timeline.PNG | Bin 0 -> 3208 bytes .../Images/Event_Change_Timeline.PNG.import | 35 + .../Events/Images/Event_Character_Join.PNG | Bin 0 -> 4945 bytes .../Images/Event_Character_Join.PNG.import | 35 + .../Events/Images/Event_Character_Leave.PNG | Bin 0 -> 2957 bytes .../Images/Event_Character_Leave.PNG.import | 35 + .../Content/Events/Images/Event_Choice.PNG | Bin 0 -> 3847 bytes .../Events/Images/Event_Choice.PNG.import | 35 + .../Events/Images/Event_Choice_Condition.PNG | Bin 0 -> 6615 bytes .../Images/Event_Choice_Condition.PNG.import | 35 + .../Events/Images/Event_Close_Dialog.PNG | Bin 0 -> 2511 bytes .../Images/Event_Close_Dialog.PNG.import | 35 + .../Content/Events/Images/Event_Condition.PNG | Bin 0 -> 5330 bytes .../Events/Images/Event_Condition.PNG.import | 35 + .../Events/Images/Event_Condition_in_use.PNG | Bin 0 -> 13948 bytes .../Images/Event_Condition_in_use.PNG.import | 35 + .../Events/Images/Event_Emit_Signal.PNG | Bin 0 -> 5611 bytes .../Images/Event_Emit_Signal.PNG.import | 35 + .../Events/Images/Event_End_Branch.PNG | Bin 0 -> 1999 bytes .../Events/Images/Event_End_Branch.PNG.import | 35 + .../Content/Events/Images/Event_Question.PNG | Bin 0 -> 12909 bytes .../Events/Images/Event_Question.PNG.import | 35 + .../Events/Images/Event_Question_in_use.PNG | Bin 0 -> 32442 bytes .../Images/Event_Question_in_use.PNG.import | 35 + .../Content/Events/Images/Event_Set_Theme.PNG | Bin 0 -> 2522 bytes .../Events/Images/Event_Set_Theme.PNG.import | 35 + .../Content/Events/Images/Event_Set_Value.PNG | Bin 0 -> 4901 bytes .../Events/Images/Event_Set_Value.PNG.import | 35 + .../Events/Images/Event_Set_Value_random.PNG | Bin 0 -> 6395 bytes .../Images/Event_Set_Value_random.PNG.import | 35 + .../Events/Images/Event_Wait_Seconds.PNG | Bin 0 -> 3104 bytes .../Images/Event_Wait_Seconds.PNG.import | 35 + .../Content/Events/Images/audio_event.png | Bin 0 -> 8393 bytes .../Events/Images/audio_event.png.import | 35 + .../Content/Events/Images/text_event_1.png | Bin 0 -> 4844 bytes .../Events/Images/text_event_1.png.import | 35 + .../Content/Events/Images/text_event_2.png | Bin 0 -> 5219 bytes .../Events/Images/text_event_2.png.import | 35 + .../Documentation/Content/FAQ/CSharp.md | 11 + .../Documentation/Content/FAQ/Portraits.md | 5 + .../Documentation/Content/FAQ/Signals.md | 17 + .../FAQ/can-i-use-dialogic-in-my-project.md | 3 + .../FAQ/create-timeline-using-gdscript.md | 26 + .../FAQ/how-to-make-dialog-show-up-in-game.md | 12 + .../Content/FAQ/plugin-shipped-godot.md | 3 + .../FAQ/resolution-small-dialog-big.md | 3 + .../Content/FAQ/why-not-graph-nodes.md | 5 + .../Content/Images/dialogic-hero-1.3.png | Bin 0 -> 93214 bytes .../Images/dialogic-hero-1.3.png.import | 35 + .../Documentation/Content/Reference/000.md | 5 + .../Documentation/Content/Reference/001.md | 50 + .../Content/Reference/Character.md | 42 + .../Documentation/Content/Reference/Theme.md | 93 + .../Content/Reference/Timeline.md | 31 + .../Tutorials/BeginnersGuideStepByStep.md | 170 ++ .../Content/Tutorials/GettingStarted.md | 3 + .../Images/Character_Editor_With_Portrait.PNG | Bin 0 -> 131805 bytes .../Character_Editor_With_Portrait.PNG.import | 35 + .../Content/Tutorials/Images/Dialogic_Tab.PNG | Bin 0 -> 27584 bytes .../Tutorials/Images/Dialogic_Tab.PNG.import | 35 + .../Images/Empty_Character_Editor.PNG | Bin 0 -> 43578 bytes .../Images/Empty_Character_Editor.PNG.import | 35 + .../Images/Empty_Timeline_Editor.PNG | Bin 0 -> 36649 bytes .../Images/Empty_Timeline_Editor.PNG.import | 35 + .../Tutorials/Images/Glossary_Example.PNG | Bin 0 -> 14927 bytes .../Images/Glossary_Example.PNG.import | 35 + .../Tutorials/Images/Glossary_ExampleLook.PNG | Bin 0 -> 85254 bytes .../Images/Glossary_ExampleLook.PNG.import | 35 + .../Tutorials/Images/Import_Selection.PNG | Bin 0 -> 56000 bytes .../Images/Import_Selection.PNG.import | 35 + .../Images/TimelineEditor_Example.PNG | Bin 0 -> 96974 bytes .../Images/TimelineEditor_Example.PNG.import | 35 + .../Content/Tutorials/Images/Toolbar.PNG | Bin 0 -> 3647 bytes .../Tutorials/Images/Toolbar.PNG.import | 35 + .../Tutorials/Images/Value_Example1.PNG | Bin 0 -> 3238 bytes .../Images/Value_Example1.PNG.import | 35 + .../Images/Value_ExampleTimeline.PNG | Bin 0 -> 60928 bytes .../Images/Value_ExampleTimeline.PNG.import | 35 + .../Documentation/Content/Tutorials/Saving.md | 52 + .../Content/Tutorials/Updating.md | 37 + .../Content/Tutorials/VoiceLines.md | 20 + .../dialogic/Documentation/Content/Welcome.md | 68 + .../Documentation/Nodes/DocsMarkdownParser.gd | 198 ++ .../Documentation/Nodes/DocsPageViewer.gd | 206 ++ .../Documentation/Nodes/DocsPageViewer.tscn | 178 ++ .../Documentation/Nodes/DocsTreeHelper.gd | 224 ++ .../Documentation/Nodes/DocsTreeHelper.tscn | 11 + .../Documentation/Nodes/DocumentationTree.gd | 32 + .../Nodes/DocumentationTree.tscn | 14 + .../Nodes/DocumentationViewer.gd | 21 + .../Nodes/DocumentationViewer.tscn | 49 + .../Documentation/Theme/DocumentationH1.tres | 7 + .../Documentation/Theme/DocumentationH2.tres | 7 + .../Documentation/Theme/DocumentationH3.tres | 7 + .../Documentation/Theme/DocumentationH4.tres | 7 + .../Documentation/Theme/DocumentationH5.tres | 7 + .../Documentation/Theme/Font/LICENSE.txt | 202 ++ .../Theme/Font/NotoSans-Bold.ttf | Bin 0 -> 398652 bytes .../Theme/Font/NotoSans-BoldItalic.ttf | Bin 0 -> 285736 bytes .../Theme/Font/NotoSans-Italic.ttf | Bin 0 -> 274624 bytes .../Theme/Font/NotoSans-Regular.ttf | Bin 0 -> 398968 bytes .../Editor/CharacterEditor/CharacterEditor.gd | 228 ++ .../CharacterEditor/CharacterEditor.tscn | 429 ++++ .../Editor/CharacterEditor/PortraitEntry.gd | 50 + .../Editor/CharacterEditor/PortraitEntry.tscn | 61 + addons/dialogic/Editor/Common/SectionTitle.gd | 10 + .../dialogic/Editor/Common/SectionTitle.tscn | 20 + addons/dialogic/Editor/Common/TLabel.gd | 9 + addons/dialogic/Editor/Common/TLabel.tscn | 11 + .../DocumentationViewer.gd | 61 + .../DocumentationViewer.tscn | 49 + addons/dialogic/Editor/EditorView.gd | 170 ++ addons/dialogic/Editor/EditorView.tscn | 282 +++ addons/dialogic/Editor/Events/AudioEvent.tscn | 55 + .../Editor/Events/BackgroundMusic.tscn | 64 + addons/dialogic/Editor/Events/CallNode.tscn | 61 + .../Editor/Events/ChangeBackground.tscn | 48 + .../dialogic/Editor/Events/ChangeScene.tscn | 37 + .../Editor/Events/ChangeTimeline.tscn | 38 + .../dialogic/Editor/Events/CharacterJoin.tscn | 67 + .../Editor/Events/CharacterLeave.tscn | 42 + addons/dialogic/Editor/Events/Choice.tscn | 65 + .../dialogic/Editor/Events/CloseDialog.tscn | 38 + addons/dialogic/Editor/Events/Condition.tscn | 43 + addons/dialogic/Editor/Events/DummyEvent.tscn | 46 + addons/dialogic/Editor/Events/EmitSignal.tscn | 37 + addons/dialogic/Editor/Events/EndBranch.tscn | 36 + .../Events/Parts/Audio/AudioPicker.tscn | 214 ++ .../Parts/Audio/AudioPickerComplex.tscn | 41 + .../Parts/Audio/EventPart_AudioPicker.gd | 197 ++ .../Audio/EventPart_AudioPickerComplex.gd | 42 + .../Parts/Audio/EventPart_VoiceEditor.gd | 97 + .../Events/Parts/Audio/VoiceEditor.tscn | 24 + .../Events/Parts/CallNode/CallNodePicker.tscn | 66 + .../CallNode/EventPart_CallNodePicker.gd | 107 + .../Events/Parts/DummyEventDataShower.tscn | 23 + .../Events/Parts/EventBlock/ExpandControl.gd | 51 + .../Parts/EventBlock/ExpandControl.tscn | 38 + .../Events/Parts/EventBlock/OptionsControl.gd | 17 + .../Parts/EventBlock/OptionsControl.tscn | 17 + .../Parts/EventBlock/PieceExtraSettings.gd | 27 + .../Parts/EventBlock/PieceExtraSettings.tscn | 19 + .../Events/Parts/EventBlock/Spacer.tscn | 8 + .../Events/Parts/EventBlock/VisibleToggle.gd | 49 + .../Parts/EventBlock/VisibleToggle.tscn | 68 + .../dialogic/Editor/Events/Parts/EventPart.gd | 44 + .../Parts/EventPart_DummyEventDataShower.gd | 23 + .../Events/Parts/ExampleEventPartScript.gd | 36 + .../Events/Parts/Images/BackgroundPicker.tscn | 63 + .../Parts/Images/BackgroundPreview.tscn | 30 + .../Images/EventPart_BackgroundPicker.gd | 83 + .../Images/EventPart_BackgroundPreview.gd | 39 + .../Events/Parts/Logic/ChoicePicker.tscn | 42 + .../Events/Parts/Logic/ConditionPicker.tscn | 74 + .../Events/Parts/Logic/ConditionPickerOld.gd | 58 + .../Parts/Logic/ConditionTypePicker.tscn | 23 + .../Parts/Logic/EventPart_ChoicePicker.gd | 47 + .../Parts/Logic/EventPart_ConditionPicker.gd | 85 + .../Logic/EventPart_ConditionTypePicker.gd | 75 + .../Parts/Logic/EventPart_OperationPicker.gd | 70 + .../Events/Parts/Logic/EventPart_Save.gd | 42 + .../Events/Parts/Logic/EventPart_Save.tscn | 36 + .../Parts/Logic/EventPart_SetValuePicker.gd | 99 + .../Events/Parts/Logic/OperationPicker.tscn | 26 + .../Events/Parts/Logic/SetValuePicker.tscn | 124 ++ .../Numbers/EventPart_SecondsSelector.gd | 30 + .../EventPart_TransitonLengthPicker.gd | 29 + .../Events/Parts/Numbers/SecondsSelector.tscn | 33 + .../Parts/Numbers/TransitonLengthPicker.tscn | 35 + .../CharacterAndPortraitPicker.tscn | 32 + .../Characters/CharacterJoining.tscn | 74 + .../Characters/CharacterPicker.tscn | 69 + .../EventPart_CharacterAndPortraitPicker.gd | 75 + .../Characters/EventPart_CharacterJoining.gd | 71 + .../Characters/EventPart_CharacterPicker.gd | 138 ++ .../Characters/EventPart_PortraitPicker.gd | 130 ++ .../Characters/EventPart_PositionPicker.gd | 59 + .../Characters/PortraitPicker.tscn | 117 + .../Characters/PositionPicker.tscn | 61 + .../Condition/ConditionPicker.gd | 114 + .../Condition/ConditionPicker.tscn | 65 + .../Definitions/DefinitionPicker.tscn | 24 + .../Definitions/DefinitionPickerOld.gd | 36 + .../Definitions/DefinitionPickerOld.tscn | 25 + .../Definitions/EventPart_DefinitionPicker.gd | 73 + .../Definitions/EventPart_GlossaryPicker.gd | 77 + .../Definitions/EventPart_SetGlossary.gd | 128 ++ .../Definitions/GlossaryPicker.tscn | 22 + .../Definitions/SetGlossary.tscn | 86 + .../Scenes/EventPart_ScenePicker.gd | 41 + .../ResourcePickers/Scenes/ScenePicker.tscn | 25 + .../Themes/EventPart_ThemePicker.gd | 76 + .../ResourcePickers/Themes/ThemePicker.tscn | 22 + .../Timelines/EventPart_TimelinePicker.gd | 78 + .../Timelines/TimelinePicker.tscn | 23 + .../Editor/Events/Parts/SpinBoxPreventDnD.gd | 8 + .../Events/Parts/Text/CustomLineEdit.tscn | 32 + .../Text/EventPart_SignalArgumentPicker.gd | 29 + .../Text/EventPart_TextAndVoicePicker.gd | 52 + .../Events/Parts/Text/EventPart_TextEditor.gd | 92 + .../Parts/Text/SignalArgumentPicker.tscn | 33 + .../Events/Parts/Text/TextAndVoiceEditor.tscn | 26 + .../Editor/Events/Parts/Text/TextEditor.tscn | 23 + addons/dialogic/Editor/Events/Question.tscn | 66 + addons/dialogic/Editor/Events/SaveEvent.tscn | 62 + .../dialogic/Editor/Events/SetGlossary.tscn | 51 + addons/dialogic/Editor/Events/SetTheme.tscn | 41 + addons/dialogic/Editor/Events/SetValue.tscn | 41 + .../Editor/Events/Templates/EventBlock.gd | 269 +++ .../Events/Templates/EventTemplate.tscn | 163 ++ addons/dialogic/Editor/Events/TextEvent.tscn | 86 + .../dialogic/Editor/Events/WaitSeconds.tscn | 55 + .../Editor/Events/styles/AudioEvent.tres | 17 + .../Editor/Events/styles/BackgroundMusic.tres | 17 + .../Editor/Events/styles/CallNode.tres | 17 + .../Events/styles/ChangeBackground.tres | 17 + .../Editor/Events/styles/ChangeScene.tres | 17 + .../Editor/Events/styles/CharacterJoin.tres | 17 + .../Editor/Events/styles/CharacterLeave.tres | 17 + .../Editor/Events/styles/CloseDialog.tres | 17 + .../Editor/Events/styles/EmitSignal.tres | 17 + .../dialogic/Editor/Events/styles/Logic.tres | 17 + .../Editor/Events/styles/MenuButtonHover.tres | 14 + .../Events/styles/MenuButtonNormal.tres | 17 + .../Editor/Events/styles/SectionPanel.tres | 16 + .../Editor/Events/styles/SetGlossary.tres | 17 + .../Editor/Events/styles/SetTheme.tres | 17 + .../Editor/Events/styles/TextEvent.tres | 17 + .../Editor/Events/styles/Timeline.tres | 17 + .../Editor/Events/styles/WaitSeconds.tres | 17 + .../Events/styles/selected_styleboxflat.tres | 18 + .../selected_styleboxflat_template.tres | 17 + .../selected_styleboxflat_text_event.tres | 17 + .../GlossaryEntryEditor.gd | 71 + .../GlossaryEntryEditor.tscn | 76 + .../Editor/MasterTree/DragPreview.tscn | 47 + .../dialogic/Editor/MasterTree/MasterTree.gd | 920 ++++++++ .../Editor/MasterTree/MasterTree.tscn | 28 + .../Editor/SettingsEditor/SettingsEditor.gd | 287 +++ .../Editor/SettingsEditor/SettingsEditor.tscn | 538 +++++ .../Editor/ThemeEditor/AudioPicker.gd | 110 + .../Editor/ThemeEditor/AudioPicker.tscn | 132 ++ .../Editor/ThemeEditor/ButtonStylePicker.gd | 81 + .../Editor/ThemeEditor/ButtonStylePicker.tscn | 133 ++ .../Editor/ThemeEditor/ThemeEditor.gd | 1084 +++++++++ .../Editor/ThemeEditor/ThemeEditor.tscn | 1982 +++++++++++++++++ .../Editor/ThemeEditor/default-theme.cfg | 3 + .../Editor/TimelineEditor/EventButton.gd | 16 + .../Editor/TimelineEditor/SmallEventButton.gd | 37 + .../TimelineEditor/SmallEventButton.tscn | 59 + .../Editor/TimelineEditor/TimelineArea.gd | 71 + .../Editor/TimelineEditor/TimelineEditor.gd | 1062 +++++++++ .../Editor/TimelineEditor/TimelineEditor.tscn | 494 ++++ .../Editor/ValueEditor/ValueEditor.gd | 65 + .../Editor/ValueEditor/ValueEditor.tscn | 55 + .../CustomEvents/EventBlock.tscn | 8 + .../CustomEvents/EventPart_Example.gd | 33 + .../CustomEvents/EventPart_Example.tscn | 16 + .../Example Assets/CustomEvents/Stylebox.tres | 17 + .../CustomEvents/event_yourname_000.gd | 12 + .../Example Assets/Fonts/DefaultBoldFont.tres | 7 + .../Example Assets/Fonts/DefaultFont.tres | 7 + .../Fonts/DefaultItalicFont.tres | 7 + .../Example Assets/Fonts/GlossaryFont.tres | 7 + .../Example Assets/Fonts/NameFont.tres | 7 + .../Example Assets/Fonts/Overlock/OFL.txt | 94 + .../Fonts/Overlock/Overlock-Black.ttf | Bin 0 -> 38308 bytes .../Fonts/Overlock/Overlock-BlackItalic.ttf | Bin 0 -> 38100 bytes .../Fonts/Overlock/Overlock-Bold.ttf | Bin 0 -> 37532 bytes .../Fonts/Overlock/Overlock-BoldItalic.ttf | Bin 0 -> 39668 bytes .../Fonts/Overlock/Overlock-Italic.ttf | Bin 0 -> 38040 bytes .../Fonts/Overlock/Overlock-Regular.ttf | Bin 0 -> 44592 bytes .../Fonts/Overlock/Overlock.tres | 7 + .../Example Assets/Sound Effects/Beep.wav | Bin 0 -> 22092 bytes .../Sound Effects/Beep.wav.import | 21 + .../Sound Effects/Keyboard Noises/LICENSE.txt | 4 + .../Sound Effects/Keyboard Noises/typing1.wav | Bin 0 -> 25516 bytes .../Keyboard Noises/typing1.wav.import | 21 + .../Sound Effects/Keyboard Noises/typing2.wav | Bin 0 -> 21932 bytes .../Keyboard Noises/typing2.wav.import | 21 + .../Sound Effects/Keyboard Noises/typing3.wav | Bin 0 -> 21356 bytes .../Keyboard Noises/typing3.wav.import | 21 + .../Sound Effects/Keyboard Noises/typing4.wav | Bin 0 -> 23404 bytes .../Keyboard Noises/typing4.wav.import | 21 + .../Sound Effects/Keyboard Noises/typing5.wav | Bin 0 -> 24876 bytes .../Keyboard Noises/typing5.wav.import | 21 + .../backgrounds/GlossaryBackground.tres | 12 + .../backgrounds/background-1.png | Bin 0 -> 43364 bytes .../backgrounds/background-1.png.import | 35 + .../backgrounds/background-2.png | Bin 0 -> 2973 bytes .../backgrounds/background-2.png.import | 35 + .../next-indicator/next-indicator.png | Bin 0 -> 2825 bytes .../next-indicator/next-indicator.png.import | 35 + .../Example Assets/portraits/df-1.png | Bin 0 -> 7501 bytes .../Example Assets/portraits/df-1.png.import | 35 + .../Example Assets/portraits/df-2.png | Bin 0 -> 7661 bytes .../Example Assets/portraits/df-2.png.import | 35 + .../Example Assets/portraits/df-3.png | Bin 0 -> 8722 bytes .../Example Assets/portraits/df-3.png.import | 35 + .../dialogic/Images/Context Menus/Remove.svg | 1 + .../Images/Context Menus/Remove.svg.import | 35 + .../Event Icons/Main Icons/audio-event.svg | 4 + .../Main Icons/audio-event.svg.import | 35 + .../Main Icons/background-music.svg | 4 + .../Main Icons/background-music.svg.import | 35 + .../Event Icons/Main Icons/call-node.svg | 4 + .../Main Icons/call-node.svg.import | 35 + .../Main Icons/change-background.svg | 4 + .../Main Icons/change-background.svg.import | 35 + .../Event Icons/Main Icons/change-scene.svg | 4 + .../Main Icons/change-scene.svg.import | 35 + .../Main Icons/change-timeline.svg | 4 + .../Main Icons/change-timeline.svg.import | 35 + .../Event Icons/Main Icons/character-join.svg | 5 + .../Main Icons/character-join.svg.import | 35 + .../Main Icons/character-leave.svg | 5 + .../Main Icons/character-leave.svg.import | 35 + .../Images/Event Icons/Main Icons/choice.svg | 6 + .../Event Icons/Main Icons/choice.svg.import | 35 + .../Event Icons/Main Icons/close-dialog.svg | 11 + .../Main Icons/close-dialog.svg.import | 35 + .../Event Icons/Main Icons/condition.svg | 4 + .../Main Icons/condition.svg.import | 35 + .../Event Icons/Main Icons/custom-event.svg | 5 + .../Main Icons/custom-event.svg.import | 35 + .../Event Icons/Main Icons/emit-signal.svg | 3 + .../Main Icons/emit-signal.svg.import | 35 + .../Event Icons/Main Icons/end-branch.svg | 6 + .../Main Icons/end-branch.svg.import | 35 + .../Event Icons/Main Icons/question.svg | 4 + .../Main Icons/question.svg.import | 35 + .../Event Icons/Main Icons/save-icon.svg | 4 + .../Main Icons/save-icon.svg.import | 35 + .../Event Icons/Main Icons/set-glossary.svg | 3 + .../Main Icons/set-glossary.svg.import | 35 + .../Event Icons/Main Icons/set-theme.svg | 5 + .../Main Icons/set-theme.svg.import | 35 + .../Event Icons/Main Icons/set-value.svg | 3 + .../Main Icons/set-value.svg.import | 35 + .../Event Icons/Main Icons/text-event.svg | 3 + .../Main Icons/text-event.svg.import | 35 + .../Event Icons/Main Icons/wait-seconds.svg | 3 + .../Main Icons/wait-seconds.svg.import | 35 + .../dialogic/Images/Event Icons/Portrait.svg | 3 + .../Images/Event Icons/Portrait.svg.import | 35 + .../dialogic/Images/Event Icons/character.svg | 4 + .../Images/Event Icons/character.svg.import | 35 + .../dialogic/Images/Event Icons/warning.svg | 3 + .../Images/Event Icons/warning.svg.import | 35 + addons/dialogic/Images/Pieces/closed-icon.svg | 3 + .../Images/Pieces/closed-icon.svg.import | 35 + addons/dialogic/Images/Pieces/expand-icon.svg | 5 + .../Images/Pieces/expand-icon.svg.import | 35 + addons/dialogic/Images/Pieces/open-icon.svg | 3 + .../Images/Pieces/open-icon.svg.import | 35 + addons/dialogic/Images/Plugin/placeholder.png | Bin 0 -> 1087 bytes .../Images/Plugin/placeholder.png.import | 35 + .../plugin-editor-icon-dark-theme-0.75.svg | 3 + ...gin-editor-icon-dark-theme-0.75.svg.import | 35 + .../plugin-editor-icon-dark-theme-1.25.svg | 3 + ...gin-editor-icon-dark-theme-1.25.svg.import | 35 + .../plugin-editor-icon-dark-theme-1.5.svg | 3 + ...ugin-editor-icon-dark-theme-1.5.svg.import | 35 + .../plugin-editor-icon-dark-theme-1.75.svg | 3 + ...gin-editor-icon-dark-theme-1.75.svg.import | 35 + .../plugin-editor-icon-dark-theme-1.svg | 3 + ...plugin-editor-icon-dark-theme-1.svg.import | 35 + .../plugin-editor-icon-dark-theme-2.svg | 3 + ...plugin-editor-icon-dark-theme-2.svg.import | 35 + .../Plugin/plugin-editor-icon-dark-theme.svg | 3 + .../plugin-editor-icon-dark-theme.svg.import | 35 + .../plugin-editor-icon-light-theme-0.75.svg | 3 + ...in-editor-icon-light-theme-0.75.svg.import | 35 + .../plugin-editor-icon-light-theme-1.25.svg | 3 + ...in-editor-icon-light-theme-1.25.svg.import | 35 + .../plugin-editor-icon-light-theme-1.5.svg | 3 + ...gin-editor-icon-light-theme-1.5.svg.import | 35 + .../plugin-editor-icon-light-theme-1.75.svg | 3 + ...in-editor-icon-light-theme-1.75.svg.import | 35 + .../plugin-editor-icon-light-theme-1.svg | 3 + ...lugin-editor-icon-light-theme-1.svg.import | 35 + .../plugin-editor-icon-light-theme-2.svg | 3 + ...lugin-editor-icon-light-theme-2.svg.import | 35 + .../Plugin/plugin-editor-icon-light-theme.svg | 3 + .../plugin-editor-icon-light-theme.svg.import | 35 + .../dialogic/Images/Plugin/white-texture.png | Bin 0 -> 131 bytes .../Images/Plugin/white-texture.png.import | 35 + .../Images/Resources/character-1.25.svg | 4 + .../Resources/character-1.25.svg.import | 35 + .../dialogic/Images/Resources/character-2.svg | 4 + .../Images/Resources/character-2.svg.import | 35 + .../dialogic/Images/Resources/character.svg | 4 + .../Images/Resources/character.svg.import | 35 + .../Images/Resources/definition-1.25.svg | 3 + .../Resources/definition-1.25.svg.import | 35 + .../Images/Resources/definition-2.svg | 3 + .../Images/Resources/definition-2.svg.import | 35 + .../dialogic/Images/Resources/definition.svg | 3 + .../Images/Resources/definition.svg.import | 35 + .../dialogic/Images/Resources/theme-1.25.svg | 4 + .../Images/Resources/theme-1.25.svg.import | 35 + addons/dialogic/Images/Resources/theme-2.svg | 4 + .../Images/Resources/theme-2.svg.import | 35 + addons/dialogic/Images/Resources/theme.svg | 4 + .../Images/Resources/theme.svg.import | 35 + .../Images/Resources/timeline-1.25.svg | 6 + .../Images/Resources/timeline-1.25.svg.import | 35 + .../dialogic/Images/Resources/timeline-2.svg | 6 + .../Images/Resources/timeline-2.svg.import | 35 + addons/dialogic/Images/Resources/timeline.svg | 7 + .../Images/Resources/timeline.svg.import | 35 + .../Images/Toolbar/add-character-1.25.svg | 4 + .../Toolbar/add-character-1.25.svg.import | 35 + .../Images/Toolbar/add-character-2.svg | 4 + .../Images/Toolbar/add-character-2.svg.import | 35 + .../dialogic/Images/Toolbar/add-character.svg | 4 + .../Images/Toolbar/add-character.svg.import | 35 + .../Images/Toolbar/add-definition-1.25.svg | 4 + .../Toolbar/add-definition-1.25.svg.import | 35 + .../Images/Toolbar/add-definition-2.svg | 4 + .../Toolbar/add-definition-2.svg.import | 35 + .../Images/Toolbar/add-definition.svg | 4 + .../Images/Toolbar/add-definition.svg.import | 35 + .../Images/Toolbar/add-glossary-1.25.svg | 4 + .../Toolbar/add-glossary-1.25.svg.import | 35 + .../Images/Toolbar/add-glossary-2.svg | 4 + .../Images/Toolbar/add-glossary-2.svg.import | 35 + .../dialogic/Images/Toolbar/add-glossary.svg | 4 + .../Images/Toolbar/add-glossary.svg.import | 35 + .../Images/Toolbar/add-theme-1.25.svg | 5 + .../Images/Toolbar/add-theme-1.25.svg.import | 35 + .../dialogic/Images/Toolbar/add-theme-2.svg | 5 + .../Images/Toolbar/add-theme-2.svg.import | 35 + addons/dialogic/Images/Toolbar/add-theme.svg | 5 + .../Images/Toolbar/add-theme.svg.import | 35 + .../Images/Toolbar/add-timeline-1.25.svg | 7 + .../Toolbar/add-timeline-1.25.svg.import | 35 + .../Images/Toolbar/add-timeline-2.svg | 7 + .../Images/Toolbar/add-timeline-2.svg.import | 35 + .../dialogic/Images/Toolbar/add-timeline.svg | 7 + .../Images/Toolbar/add-timeline.svg.import | 35 + .../dialogic/Images/Tutorials/arrow-down.svg | 3 + .../Images/Tutorials/arrow-down.svg.import | 35 + addons/dialogic/Localization/dialogic.csv | 128 ++ .../dialogic/Localization/dialogic.csv.import | 16 + .../Localization/dialogic.en.translation | Bin 0 -> 5413 bytes .../Localization/dialogic.es.translation | Bin 0 -> 5628 bytes .../Localization/dialogic.fr.translation | Bin 0 -> 4308 bytes .../Localization/dialogic.zh_CN.translation | Bin 0 -> 5715 bytes .../Localization/translation_service.gd | 54 + addons/dialogic/Nodes/Background.gd | 40 + addons/dialogic/Nodes/Background.tscn | 9 + addons/dialogic/Nodes/BackgroundMusic.gd | 62 + addons/dialogic/Nodes/BackgroundMusic.tscn | 19 + addons/dialogic/Nodes/CharacterVoice.gd | 45 + addons/dialogic/Nodes/ChoiceButton.gd | 9 + addons/dialogic/Nodes/ChoiceButton.tscn | 12 + addons/dialogic/Nodes/DialogNode.gd | 1602 +++++++++++++ addons/dialogic/Nodes/DialogNode.tscn | 163 ++ addons/dialogic/Nodes/DialogProxy.gd | 18 + addons/dialogic/Nodes/Portrait.gd | 179 ++ addons/dialogic/Nodes/Portrait.tscn | 19 + addons/dialogic/Nodes/TextBubble.gd | 242 ++ addons/dialogic/Nodes/TextBubble.tscn | 180 ++ addons/dialogic/Nodes/canvas_dialog_node.gd | 83 + addons/dialogic/Nodes/glossary_info.gd | 66 + .../Nodes/random_audio_stream_player.gd | 91 + addons/dialogic/Other/DialogicClass.gd | 388 ++++ .../dialogic/Other/DialogicDefinitionsUtil.gd | 72 + addons/dialogic/Other/DialogicResources.gd | 455 ++++ addons/dialogic/Other/DialogicSharp.cs | 109 + addons/dialogic/Other/DialogicUtil.gd | 469 ++++ addons/dialogic/Other/export_plugin.gd | 23 + .../Other/inspector_timeline_picker.gd | 36 + addons/dialogic/Other/timeline_picker.gd | 109 + addons/dialogic/plugin.cfg | 8 + addons/dialogic/plugin.gd | 75 + dialogic/characters/character-1642498039.json | 24 + dialogic/definitions.json | 8 + dialogic/folder_structure.json | 66 + dialogic/settings.cfg | 11 + dialogic/themes/default-theme.cfg | 3 + dialogic/timelines/timeline-1642498159.json | 19 + project.godot | 44 + 515 files changed, 27288 insertions(+), 38 deletions(-) create mode 100644 Scenes/InteractiveDialog.tscn create mode 100644 Scripts/InteractiveDialog.gd create mode 100644 addons/dialogic/Dialog.tscn create mode 100644 addons/dialogic/Documentation/Content/Changelog.md create mode 100644 addons/dialogic/Documentation/Content/Events/000.md create mode 100644 addons/dialogic/Documentation/Content/Events/001.md create mode 100644 addons/dialogic/Documentation/Content/Events/002.md create mode 100644 addons/dialogic/Documentation/Content/Events/010.md create mode 100644 addons/dialogic/Documentation/Content/Events/011.md create mode 100644 addons/dialogic/Documentation/Content/Events/012.md create mode 100644 addons/dialogic/Documentation/Content/Events/013.md create mode 100644 addons/dialogic/Documentation/Content/Events/014.md create mode 100644 addons/dialogic/Documentation/Content/Events/030.md create mode 100644 addons/dialogic/Documentation/Content/Events/040.md create mode 100644 addons/dialogic/Documentation/Content/Events/041.md create mode 100644 addons/dialogic/Documentation/Content/Events/042.md create mode 100644 addons/dialogic/Documentation/Content/Events/Custom Events/CreateCustomEvents.md create mode 100644 addons/dialogic/Documentation/Content/Events/Custom Events/Images/CreationProcess.PNG create mode 100644 addons/dialogic/Documentation/Content/Events/Custom Events/Images/CreationProcess.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Events/Custom Events/Images/CustomEventsShowOff.PNG create mode 100644 addons/dialogic/Documentation/Content/Events/Custom Events/Images/CustomEventsShowOff.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Events/Custom Events/Images/EventBlock.png create mode 100644 addons/dialogic/Documentation/Content/Events/Custom Events/Images/EventBlock.png.import create mode 100644 addons/dialogic/Documentation/Content/Events/Custom Events/Images/EventBlock_EventData.PNG create mode 100644 addons/dialogic/Documentation/Content/Events/Custom Events/Images/EventBlock_EventData.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Events/Custom Events/ImportCustomEvents.md create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Call_Node.PNG create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Call_Node.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Change_Timeline.PNG create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Change_Timeline.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Character_Join.PNG create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Character_Join.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Character_Leave.PNG create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Character_Leave.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Choice.PNG create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Choice.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Choice_Condition.PNG create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Choice_Condition.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Close_Dialog.PNG create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Close_Dialog.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Condition.PNG create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Condition.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Condition_in_use.PNG create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Condition_in_use.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Emit_Signal.PNG create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Emit_Signal.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_End_Branch.PNG create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_End_Branch.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Question.PNG create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Question.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Question_in_use.PNG create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Question_in_use.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Set_Theme.PNG create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Set_Theme.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Set_Value.PNG create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Set_Value.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Set_Value_random.PNG create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Set_Value_random.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Wait_Seconds.PNG create mode 100644 addons/dialogic/Documentation/Content/Events/Images/Event_Wait_Seconds.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Events/Images/audio_event.png create mode 100644 addons/dialogic/Documentation/Content/Events/Images/audio_event.png.import create mode 100644 addons/dialogic/Documentation/Content/Events/Images/text_event_1.png create mode 100644 addons/dialogic/Documentation/Content/Events/Images/text_event_1.png.import create mode 100644 addons/dialogic/Documentation/Content/Events/Images/text_event_2.png create mode 100644 addons/dialogic/Documentation/Content/Events/Images/text_event_2.png.import create mode 100644 addons/dialogic/Documentation/Content/FAQ/CSharp.md create mode 100644 addons/dialogic/Documentation/Content/FAQ/Portraits.md create mode 100644 addons/dialogic/Documentation/Content/FAQ/Signals.md create mode 100644 addons/dialogic/Documentation/Content/FAQ/can-i-use-dialogic-in-my-project.md create mode 100644 addons/dialogic/Documentation/Content/FAQ/create-timeline-using-gdscript.md create mode 100644 addons/dialogic/Documentation/Content/FAQ/how-to-make-dialog-show-up-in-game.md create mode 100644 addons/dialogic/Documentation/Content/FAQ/plugin-shipped-godot.md create mode 100644 addons/dialogic/Documentation/Content/FAQ/resolution-small-dialog-big.md create mode 100644 addons/dialogic/Documentation/Content/FAQ/why-not-graph-nodes.md create mode 100644 addons/dialogic/Documentation/Content/Images/dialogic-hero-1.3.png create mode 100644 addons/dialogic/Documentation/Content/Images/dialogic-hero-1.3.png.import create mode 100644 addons/dialogic/Documentation/Content/Reference/000.md create mode 100644 addons/dialogic/Documentation/Content/Reference/001.md create mode 100644 addons/dialogic/Documentation/Content/Reference/Character.md create mode 100644 addons/dialogic/Documentation/Content/Reference/Theme.md create mode 100644 addons/dialogic/Documentation/Content/Reference/Timeline.md create mode 100644 addons/dialogic/Documentation/Content/Tutorials/BeginnersGuideStepByStep.md create mode 100644 addons/dialogic/Documentation/Content/Tutorials/GettingStarted.md create mode 100644 addons/dialogic/Documentation/Content/Tutorials/Images/Character_Editor_With_Portrait.PNG create mode 100644 addons/dialogic/Documentation/Content/Tutorials/Images/Character_Editor_With_Portrait.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Tutorials/Images/Dialogic_Tab.PNG create mode 100644 addons/dialogic/Documentation/Content/Tutorials/Images/Dialogic_Tab.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Tutorials/Images/Empty_Character_Editor.PNG create mode 100644 addons/dialogic/Documentation/Content/Tutorials/Images/Empty_Character_Editor.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Tutorials/Images/Empty_Timeline_Editor.PNG create mode 100644 addons/dialogic/Documentation/Content/Tutorials/Images/Empty_Timeline_Editor.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Tutorials/Images/Glossary_Example.PNG create mode 100644 addons/dialogic/Documentation/Content/Tutorials/Images/Glossary_Example.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Tutorials/Images/Glossary_ExampleLook.PNG create mode 100644 addons/dialogic/Documentation/Content/Tutorials/Images/Glossary_ExampleLook.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Tutorials/Images/Import_Selection.PNG create mode 100644 addons/dialogic/Documentation/Content/Tutorials/Images/Import_Selection.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Tutorials/Images/TimelineEditor_Example.PNG create mode 100644 addons/dialogic/Documentation/Content/Tutorials/Images/TimelineEditor_Example.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Tutorials/Images/Toolbar.PNG create mode 100644 addons/dialogic/Documentation/Content/Tutorials/Images/Toolbar.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Tutorials/Images/Value_Example1.PNG create mode 100644 addons/dialogic/Documentation/Content/Tutorials/Images/Value_Example1.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Tutorials/Images/Value_ExampleTimeline.PNG create mode 100644 addons/dialogic/Documentation/Content/Tutorials/Images/Value_ExampleTimeline.PNG.import create mode 100644 addons/dialogic/Documentation/Content/Tutorials/Saving.md create mode 100644 addons/dialogic/Documentation/Content/Tutorials/Updating.md create mode 100644 addons/dialogic/Documentation/Content/Tutorials/VoiceLines.md create mode 100644 addons/dialogic/Documentation/Content/Welcome.md create mode 100644 addons/dialogic/Documentation/Nodes/DocsMarkdownParser.gd create mode 100644 addons/dialogic/Documentation/Nodes/DocsPageViewer.gd create mode 100644 addons/dialogic/Documentation/Nodes/DocsPageViewer.tscn create mode 100644 addons/dialogic/Documentation/Nodes/DocsTreeHelper.gd create mode 100644 addons/dialogic/Documentation/Nodes/DocsTreeHelper.tscn create mode 100644 addons/dialogic/Documentation/Nodes/DocumentationTree.gd create mode 100644 addons/dialogic/Documentation/Nodes/DocumentationTree.tscn create mode 100644 addons/dialogic/Documentation/Nodes/DocumentationViewer.gd create mode 100644 addons/dialogic/Documentation/Nodes/DocumentationViewer.tscn create mode 100644 addons/dialogic/Documentation/Theme/DocumentationH1.tres create mode 100644 addons/dialogic/Documentation/Theme/DocumentationH2.tres create mode 100644 addons/dialogic/Documentation/Theme/DocumentationH3.tres create mode 100644 addons/dialogic/Documentation/Theme/DocumentationH4.tres create mode 100644 addons/dialogic/Documentation/Theme/DocumentationH5.tres create mode 100644 addons/dialogic/Documentation/Theme/Font/LICENSE.txt create mode 100644 addons/dialogic/Documentation/Theme/Font/NotoSans-Bold.ttf create mode 100644 addons/dialogic/Documentation/Theme/Font/NotoSans-BoldItalic.ttf create mode 100644 addons/dialogic/Documentation/Theme/Font/NotoSans-Italic.ttf create mode 100644 addons/dialogic/Documentation/Theme/Font/NotoSans-Regular.ttf create mode 100644 addons/dialogic/Editor/CharacterEditor/CharacterEditor.gd create mode 100644 addons/dialogic/Editor/CharacterEditor/CharacterEditor.tscn create mode 100644 addons/dialogic/Editor/CharacterEditor/PortraitEntry.gd create mode 100644 addons/dialogic/Editor/CharacterEditor/PortraitEntry.tscn create mode 100644 addons/dialogic/Editor/Common/SectionTitle.gd create mode 100644 addons/dialogic/Editor/Common/SectionTitle.tscn create mode 100644 addons/dialogic/Editor/Common/TLabel.gd create mode 100644 addons/dialogic/Editor/Common/TLabel.tscn create mode 100644 addons/dialogic/Editor/DocumentationViewer/DocumentationViewer.gd create mode 100644 addons/dialogic/Editor/DocumentationViewer/DocumentationViewer.tscn create mode 100644 addons/dialogic/Editor/EditorView.gd create mode 100644 addons/dialogic/Editor/EditorView.tscn create mode 100644 addons/dialogic/Editor/Events/AudioEvent.tscn create mode 100644 addons/dialogic/Editor/Events/BackgroundMusic.tscn create mode 100644 addons/dialogic/Editor/Events/CallNode.tscn create mode 100644 addons/dialogic/Editor/Events/ChangeBackground.tscn create mode 100644 addons/dialogic/Editor/Events/ChangeScene.tscn create mode 100644 addons/dialogic/Editor/Events/ChangeTimeline.tscn create mode 100644 addons/dialogic/Editor/Events/CharacterJoin.tscn create mode 100644 addons/dialogic/Editor/Events/CharacterLeave.tscn create mode 100644 addons/dialogic/Editor/Events/Choice.tscn create mode 100644 addons/dialogic/Editor/Events/CloseDialog.tscn create mode 100644 addons/dialogic/Editor/Events/Condition.tscn create mode 100644 addons/dialogic/Editor/Events/DummyEvent.tscn create mode 100644 addons/dialogic/Editor/Events/EmitSignal.tscn create mode 100644 addons/dialogic/Editor/Events/EndBranch.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/Audio/AudioPicker.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/Audio/AudioPickerComplex.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/Audio/EventPart_AudioPicker.gd create mode 100644 addons/dialogic/Editor/Events/Parts/Audio/EventPart_AudioPickerComplex.gd create mode 100644 addons/dialogic/Editor/Events/Parts/Audio/EventPart_VoiceEditor.gd create mode 100644 addons/dialogic/Editor/Events/Parts/Audio/VoiceEditor.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/CallNode/CallNodePicker.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/CallNode/EventPart_CallNodePicker.gd create mode 100644 addons/dialogic/Editor/Events/Parts/DummyEventDataShower.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/EventBlock/ExpandControl.gd create mode 100644 addons/dialogic/Editor/Events/Parts/EventBlock/ExpandControl.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/EventBlock/OptionsControl.gd create mode 100644 addons/dialogic/Editor/Events/Parts/EventBlock/OptionsControl.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/EventBlock/PieceExtraSettings.gd create mode 100644 addons/dialogic/Editor/Events/Parts/EventBlock/PieceExtraSettings.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/EventBlock/Spacer.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/EventBlock/VisibleToggle.gd create mode 100644 addons/dialogic/Editor/Events/Parts/EventBlock/VisibleToggle.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/EventPart.gd create mode 100644 addons/dialogic/Editor/Events/Parts/EventPart_DummyEventDataShower.gd create mode 100644 addons/dialogic/Editor/Events/Parts/ExampleEventPartScript.gd create mode 100644 addons/dialogic/Editor/Events/Parts/Images/BackgroundPicker.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/Images/BackgroundPreview.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/Images/EventPart_BackgroundPicker.gd create mode 100644 addons/dialogic/Editor/Events/Parts/Images/EventPart_BackgroundPreview.gd create mode 100644 addons/dialogic/Editor/Events/Parts/Logic/ChoicePicker.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/Logic/ConditionPicker.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/Logic/ConditionPickerOld.gd create mode 100644 addons/dialogic/Editor/Events/Parts/Logic/ConditionTypePicker.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/Logic/EventPart_ChoicePicker.gd create mode 100644 addons/dialogic/Editor/Events/Parts/Logic/EventPart_ConditionPicker.gd create mode 100644 addons/dialogic/Editor/Events/Parts/Logic/EventPart_ConditionTypePicker.gd create mode 100644 addons/dialogic/Editor/Events/Parts/Logic/EventPart_OperationPicker.gd create mode 100644 addons/dialogic/Editor/Events/Parts/Logic/EventPart_Save.gd create mode 100644 addons/dialogic/Editor/Events/Parts/Logic/EventPart_Save.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/Logic/EventPart_SetValuePicker.gd create mode 100644 addons/dialogic/Editor/Events/Parts/Logic/OperationPicker.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/Logic/SetValuePicker.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/Numbers/EventPart_SecondsSelector.gd create mode 100644 addons/dialogic/Editor/Events/Parts/Numbers/EventPart_TransitonLengthPicker.gd create mode 100644 addons/dialogic/Editor/Events/Parts/Numbers/SecondsSelector.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/Numbers/TransitonLengthPicker.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/CharacterAndPortraitPicker.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/CharacterJoining.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/CharacterPicker.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/EventPart_CharacterAndPortraitPicker.gd create mode 100644 addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/EventPart_CharacterJoining.gd create mode 100644 addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/EventPart_CharacterPicker.gd create mode 100644 addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/EventPart_PortraitPicker.gd create mode 100644 addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/EventPart_PositionPicker.gd create mode 100644 addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/PortraitPicker.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/PositionPicker.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/ResourcePickers/Condition/ConditionPicker.gd create mode 100644 addons/dialogic/Editor/Events/Parts/ResourcePickers/Condition/ConditionPicker.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/DefinitionPicker.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/DefinitionPickerOld.gd create mode 100644 addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/DefinitionPickerOld.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/EventPart_DefinitionPicker.gd create mode 100644 addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/EventPart_GlossaryPicker.gd create mode 100644 addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/EventPart_SetGlossary.gd create mode 100644 addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/GlossaryPicker.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/SetGlossary.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/ResourcePickers/Scenes/EventPart_ScenePicker.gd create mode 100644 addons/dialogic/Editor/Events/Parts/ResourcePickers/Scenes/ScenePicker.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/ResourcePickers/Themes/EventPart_ThemePicker.gd create mode 100644 addons/dialogic/Editor/Events/Parts/ResourcePickers/Themes/ThemePicker.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/ResourcePickers/Timelines/EventPart_TimelinePicker.gd create mode 100644 addons/dialogic/Editor/Events/Parts/ResourcePickers/Timelines/TimelinePicker.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/SpinBoxPreventDnD.gd create mode 100644 addons/dialogic/Editor/Events/Parts/Text/CustomLineEdit.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/Text/EventPart_SignalArgumentPicker.gd create mode 100644 addons/dialogic/Editor/Events/Parts/Text/EventPart_TextAndVoicePicker.gd create mode 100644 addons/dialogic/Editor/Events/Parts/Text/EventPart_TextEditor.gd create mode 100644 addons/dialogic/Editor/Events/Parts/Text/SignalArgumentPicker.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/Text/TextAndVoiceEditor.tscn create mode 100644 addons/dialogic/Editor/Events/Parts/Text/TextEditor.tscn create mode 100644 addons/dialogic/Editor/Events/Question.tscn create mode 100644 addons/dialogic/Editor/Events/SaveEvent.tscn create mode 100644 addons/dialogic/Editor/Events/SetGlossary.tscn create mode 100644 addons/dialogic/Editor/Events/SetTheme.tscn create mode 100644 addons/dialogic/Editor/Events/SetValue.tscn create mode 100644 addons/dialogic/Editor/Events/Templates/EventBlock.gd create mode 100644 addons/dialogic/Editor/Events/Templates/EventTemplate.tscn create mode 100644 addons/dialogic/Editor/Events/TextEvent.tscn create mode 100644 addons/dialogic/Editor/Events/WaitSeconds.tscn create mode 100644 addons/dialogic/Editor/Events/styles/AudioEvent.tres create mode 100644 addons/dialogic/Editor/Events/styles/BackgroundMusic.tres create mode 100644 addons/dialogic/Editor/Events/styles/CallNode.tres create mode 100644 addons/dialogic/Editor/Events/styles/ChangeBackground.tres create mode 100644 addons/dialogic/Editor/Events/styles/ChangeScene.tres create mode 100644 addons/dialogic/Editor/Events/styles/CharacterJoin.tres create mode 100644 addons/dialogic/Editor/Events/styles/CharacterLeave.tres create mode 100644 addons/dialogic/Editor/Events/styles/CloseDialog.tres create mode 100644 addons/dialogic/Editor/Events/styles/EmitSignal.tres create mode 100644 addons/dialogic/Editor/Events/styles/Logic.tres create mode 100644 addons/dialogic/Editor/Events/styles/MenuButtonHover.tres create mode 100644 addons/dialogic/Editor/Events/styles/MenuButtonNormal.tres create mode 100644 addons/dialogic/Editor/Events/styles/SectionPanel.tres create mode 100644 addons/dialogic/Editor/Events/styles/SetGlossary.tres create mode 100644 addons/dialogic/Editor/Events/styles/SetTheme.tres create mode 100644 addons/dialogic/Editor/Events/styles/TextEvent.tres create mode 100644 addons/dialogic/Editor/Events/styles/Timeline.tres create mode 100644 addons/dialogic/Editor/Events/styles/WaitSeconds.tres create mode 100644 addons/dialogic/Editor/Events/styles/selected_styleboxflat.tres create mode 100644 addons/dialogic/Editor/Events/styles/selected_styleboxflat_template.tres create mode 100644 addons/dialogic/Editor/Events/styles/selected_styleboxflat_text_event.tres create mode 100644 addons/dialogic/Editor/GlossaryEntryEditor/GlossaryEntryEditor.gd create mode 100644 addons/dialogic/Editor/GlossaryEntryEditor/GlossaryEntryEditor.tscn create mode 100644 addons/dialogic/Editor/MasterTree/DragPreview.tscn create mode 100644 addons/dialogic/Editor/MasterTree/MasterTree.gd create mode 100644 addons/dialogic/Editor/MasterTree/MasterTree.tscn create mode 100644 addons/dialogic/Editor/SettingsEditor/SettingsEditor.gd create mode 100644 addons/dialogic/Editor/SettingsEditor/SettingsEditor.tscn create mode 100644 addons/dialogic/Editor/ThemeEditor/AudioPicker.gd create mode 100644 addons/dialogic/Editor/ThemeEditor/AudioPicker.tscn create mode 100644 addons/dialogic/Editor/ThemeEditor/ButtonStylePicker.gd create mode 100644 addons/dialogic/Editor/ThemeEditor/ButtonStylePicker.tscn create mode 100644 addons/dialogic/Editor/ThemeEditor/ThemeEditor.gd create mode 100644 addons/dialogic/Editor/ThemeEditor/ThemeEditor.tscn create mode 100644 addons/dialogic/Editor/ThemeEditor/default-theme.cfg create mode 100644 addons/dialogic/Editor/TimelineEditor/EventButton.gd create mode 100644 addons/dialogic/Editor/TimelineEditor/SmallEventButton.gd create mode 100644 addons/dialogic/Editor/TimelineEditor/SmallEventButton.tscn create mode 100644 addons/dialogic/Editor/TimelineEditor/TimelineArea.gd create mode 100644 addons/dialogic/Editor/TimelineEditor/TimelineEditor.gd create mode 100644 addons/dialogic/Editor/TimelineEditor/TimelineEditor.tscn create mode 100644 addons/dialogic/Editor/ValueEditor/ValueEditor.gd create mode 100644 addons/dialogic/Editor/ValueEditor/ValueEditor.tscn create mode 100644 addons/dialogic/Example Assets/CustomEvents/EventBlock.tscn create mode 100644 addons/dialogic/Example Assets/CustomEvents/EventPart_Example.gd create mode 100644 addons/dialogic/Example Assets/CustomEvents/EventPart_Example.tscn create mode 100644 addons/dialogic/Example Assets/CustomEvents/Stylebox.tres create mode 100644 addons/dialogic/Example Assets/CustomEvents/event_yourname_000.gd create mode 100644 addons/dialogic/Example Assets/Fonts/DefaultBoldFont.tres create mode 100644 addons/dialogic/Example Assets/Fonts/DefaultFont.tres create mode 100644 addons/dialogic/Example Assets/Fonts/DefaultItalicFont.tres create mode 100644 addons/dialogic/Example Assets/Fonts/GlossaryFont.tres create mode 100644 addons/dialogic/Example Assets/Fonts/NameFont.tres create mode 100644 addons/dialogic/Example Assets/Fonts/Overlock/OFL.txt create mode 100644 addons/dialogic/Example Assets/Fonts/Overlock/Overlock-Black.ttf create mode 100644 addons/dialogic/Example Assets/Fonts/Overlock/Overlock-BlackItalic.ttf create mode 100644 addons/dialogic/Example Assets/Fonts/Overlock/Overlock-Bold.ttf create mode 100644 addons/dialogic/Example Assets/Fonts/Overlock/Overlock-BoldItalic.ttf create mode 100644 addons/dialogic/Example Assets/Fonts/Overlock/Overlock-Italic.ttf create mode 100644 addons/dialogic/Example Assets/Fonts/Overlock/Overlock-Regular.ttf create mode 100644 addons/dialogic/Example Assets/Fonts/Overlock/Overlock.tres create mode 100644 addons/dialogic/Example Assets/Sound Effects/Beep.wav create mode 100644 addons/dialogic/Example Assets/Sound Effects/Beep.wav.import create mode 100644 addons/dialogic/Example Assets/Sound Effects/Keyboard Noises/LICENSE.txt create mode 100644 addons/dialogic/Example Assets/Sound Effects/Keyboard Noises/typing1.wav create mode 100644 addons/dialogic/Example Assets/Sound Effects/Keyboard Noises/typing1.wav.import create mode 100644 addons/dialogic/Example Assets/Sound Effects/Keyboard Noises/typing2.wav create mode 100644 addons/dialogic/Example Assets/Sound Effects/Keyboard Noises/typing2.wav.import create mode 100644 addons/dialogic/Example Assets/Sound Effects/Keyboard Noises/typing3.wav create mode 100644 addons/dialogic/Example Assets/Sound Effects/Keyboard Noises/typing3.wav.import create mode 100644 addons/dialogic/Example Assets/Sound Effects/Keyboard Noises/typing4.wav create mode 100644 addons/dialogic/Example Assets/Sound Effects/Keyboard Noises/typing4.wav.import create mode 100644 addons/dialogic/Example Assets/Sound Effects/Keyboard Noises/typing5.wav create mode 100644 addons/dialogic/Example Assets/Sound Effects/Keyboard Noises/typing5.wav.import create mode 100644 addons/dialogic/Example Assets/backgrounds/GlossaryBackground.tres create mode 100644 addons/dialogic/Example Assets/backgrounds/background-1.png create mode 100644 addons/dialogic/Example Assets/backgrounds/background-1.png.import create mode 100644 addons/dialogic/Example Assets/backgrounds/background-2.png create mode 100644 addons/dialogic/Example Assets/backgrounds/background-2.png.import create mode 100644 addons/dialogic/Example Assets/next-indicator/next-indicator.png create mode 100644 addons/dialogic/Example Assets/next-indicator/next-indicator.png.import create mode 100644 addons/dialogic/Example Assets/portraits/df-1.png create mode 100644 addons/dialogic/Example Assets/portraits/df-1.png.import create mode 100644 addons/dialogic/Example Assets/portraits/df-2.png create mode 100644 addons/dialogic/Example Assets/portraits/df-2.png.import create mode 100644 addons/dialogic/Example Assets/portraits/df-3.png create mode 100644 addons/dialogic/Example Assets/portraits/df-3.png.import create mode 100644 addons/dialogic/Images/Context Menus/Remove.svg create mode 100644 addons/dialogic/Images/Context Menus/Remove.svg.import create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/audio-event.svg create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/audio-event.svg.import create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/background-music.svg create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/background-music.svg.import create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/call-node.svg create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/call-node.svg.import create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/change-background.svg create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/change-background.svg.import create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/change-scene.svg create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/change-scene.svg.import create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/change-timeline.svg create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/change-timeline.svg.import create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/character-join.svg create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/character-join.svg.import create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/character-leave.svg create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/character-leave.svg.import create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/choice.svg create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/choice.svg.import create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/close-dialog.svg create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/close-dialog.svg.import create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/condition.svg create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/condition.svg.import create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/custom-event.svg create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/custom-event.svg.import create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/emit-signal.svg create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/emit-signal.svg.import create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/end-branch.svg create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/end-branch.svg.import create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/question.svg create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/question.svg.import create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/save-icon.svg create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/save-icon.svg.import create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/set-glossary.svg create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/set-glossary.svg.import create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/set-theme.svg create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/set-theme.svg.import create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/set-value.svg create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/set-value.svg.import create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/text-event.svg create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/text-event.svg.import create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/wait-seconds.svg create mode 100644 addons/dialogic/Images/Event Icons/Main Icons/wait-seconds.svg.import create mode 100644 addons/dialogic/Images/Event Icons/Portrait.svg create mode 100644 addons/dialogic/Images/Event Icons/Portrait.svg.import create mode 100644 addons/dialogic/Images/Event Icons/character.svg create mode 100644 addons/dialogic/Images/Event Icons/character.svg.import create mode 100644 addons/dialogic/Images/Event Icons/warning.svg create mode 100644 addons/dialogic/Images/Event Icons/warning.svg.import create mode 100644 addons/dialogic/Images/Pieces/closed-icon.svg create mode 100644 addons/dialogic/Images/Pieces/closed-icon.svg.import create mode 100644 addons/dialogic/Images/Pieces/expand-icon.svg create mode 100644 addons/dialogic/Images/Pieces/expand-icon.svg.import create mode 100644 addons/dialogic/Images/Pieces/open-icon.svg create mode 100644 addons/dialogic/Images/Pieces/open-icon.svg.import create mode 100644 addons/dialogic/Images/Plugin/placeholder.png create mode 100644 addons/dialogic/Images/Plugin/placeholder.png.import create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-0.75.svg create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-0.75.svg.import create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.25.svg create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.25.svg.import create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.5.svg create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.5.svg.import create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.75.svg create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.75.svg.import create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.svg create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.svg.import create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-2.svg create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-2.svg.import create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme.svg create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme.svg.import create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-0.75.svg create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-0.75.svg.import create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.25.svg create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.25.svg.import create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.5.svg create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.5.svg.import create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.75.svg create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.75.svg.import create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.svg create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.svg.import create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-2.svg create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-2.svg.import create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme.svg create mode 100644 addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme.svg.import create mode 100644 addons/dialogic/Images/Plugin/white-texture.png create mode 100644 addons/dialogic/Images/Plugin/white-texture.png.import create mode 100644 addons/dialogic/Images/Resources/character-1.25.svg create mode 100644 addons/dialogic/Images/Resources/character-1.25.svg.import create mode 100644 addons/dialogic/Images/Resources/character-2.svg create mode 100644 addons/dialogic/Images/Resources/character-2.svg.import create mode 100644 addons/dialogic/Images/Resources/character.svg create mode 100644 addons/dialogic/Images/Resources/character.svg.import create mode 100644 addons/dialogic/Images/Resources/definition-1.25.svg create mode 100644 addons/dialogic/Images/Resources/definition-1.25.svg.import create mode 100644 addons/dialogic/Images/Resources/definition-2.svg create mode 100644 addons/dialogic/Images/Resources/definition-2.svg.import create mode 100644 addons/dialogic/Images/Resources/definition.svg create mode 100644 addons/dialogic/Images/Resources/definition.svg.import create mode 100644 addons/dialogic/Images/Resources/theme-1.25.svg create mode 100644 addons/dialogic/Images/Resources/theme-1.25.svg.import create mode 100644 addons/dialogic/Images/Resources/theme-2.svg create mode 100644 addons/dialogic/Images/Resources/theme-2.svg.import create mode 100644 addons/dialogic/Images/Resources/theme.svg create mode 100644 addons/dialogic/Images/Resources/theme.svg.import create mode 100644 addons/dialogic/Images/Resources/timeline-1.25.svg create mode 100644 addons/dialogic/Images/Resources/timeline-1.25.svg.import create mode 100644 addons/dialogic/Images/Resources/timeline-2.svg create mode 100644 addons/dialogic/Images/Resources/timeline-2.svg.import create mode 100644 addons/dialogic/Images/Resources/timeline.svg create mode 100644 addons/dialogic/Images/Resources/timeline.svg.import create mode 100644 addons/dialogic/Images/Toolbar/add-character-1.25.svg create mode 100644 addons/dialogic/Images/Toolbar/add-character-1.25.svg.import create mode 100644 addons/dialogic/Images/Toolbar/add-character-2.svg create mode 100644 addons/dialogic/Images/Toolbar/add-character-2.svg.import create mode 100644 addons/dialogic/Images/Toolbar/add-character.svg create mode 100644 addons/dialogic/Images/Toolbar/add-character.svg.import create mode 100644 addons/dialogic/Images/Toolbar/add-definition-1.25.svg create mode 100644 addons/dialogic/Images/Toolbar/add-definition-1.25.svg.import create mode 100644 addons/dialogic/Images/Toolbar/add-definition-2.svg create mode 100644 addons/dialogic/Images/Toolbar/add-definition-2.svg.import create mode 100644 addons/dialogic/Images/Toolbar/add-definition.svg create mode 100644 addons/dialogic/Images/Toolbar/add-definition.svg.import create mode 100644 addons/dialogic/Images/Toolbar/add-glossary-1.25.svg create mode 100644 addons/dialogic/Images/Toolbar/add-glossary-1.25.svg.import create mode 100644 addons/dialogic/Images/Toolbar/add-glossary-2.svg create mode 100644 addons/dialogic/Images/Toolbar/add-glossary-2.svg.import create mode 100644 addons/dialogic/Images/Toolbar/add-glossary.svg create mode 100644 addons/dialogic/Images/Toolbar/add-glossary.svg.import create mode 100644 addons/dialogic/Images/Toolbar/add-theme-1.25.svg create mode 100644 addons/dialogic/Images/Toolbar/add-theme-1.25.svg.import create mode 100644 addons/dialogic/Images/Toolbar/add-theme-2.svg create mode 100644 addons/dialogic/Images/Toolbar/add-theme-2.svg.import create mode 100644 addons/dialogic/Images/Toolbar/add-theme.svg create mode 100644 addons/dialogic/Images/Toolbar/add-theme.svg.import create mode 100644 addons/dialogic/Images/Toolbar/add-timeline-1.25.svg create mode 100644 addons/dialogic/Images/Toolbar/add-timeline-1.25.svg.import create mode 100644 addons/dialogic/Images/Toolbar/add-timeline-2.svg create mode 100644 addons/dialogic/Images/Toolbar/add-timeline-2.svg.import create mode 100644 addons/dialogic/Images/Toolbar/add-timeline.svg create mode 100644 addons/dialogic/Images/Toolbar/add-timeline.svg.import create mode 100644 addons/dialogic/Images/Tutorials/arrow-down.svg create mode 100644 addons/dialogic/Images/Tutorials/arrow-down.svg.import create mode 100644 addons/dialogic/Localization/dialogic.csv create mode 100644 addons/dialogic/Localization/dialogic.csv.import create mode 100644 addons/dialogic/Localization/dialogic.en.translation create mode 100644 addons/dialogic/Localization/dialogic.es.translation create mode 100644 addons/dialogic/Localization/dialogic.fr.translation create mode 100644 addons/dialogic/Localization/dialogic.zh_CN.translation create mode 100644 addons/dialogic/Localization/translation_service.gd create mode 100644 addons/dialogic/Nodes/Background.gd create mode 100644 addons/dialogic/Nodes/Background.tscn create mode 100644 addons/dialogic/Nodes/BackgroundMusic.gd create mode 100644 addons/dialogic/Nodes/BackgroundMusic.tscn create mode 100644 addons/dialogic/Nodes/CharacterVoice.gd create mode 100644 addons/dialogic/Nodes/ChoiceButton.gd create mode 100644 addons/dialogic/Nodes/ChoiceButton.tscn create mode 100644 addons/dialogic/Nodes/DialogNode.gd create mode 100644 addons/dialogic/Nodes/DialogNode.tscn create mode 100644 addons/dialogic/Nodes/DialogProxy.gd create mode 100644 addons/dialogic/Nodes/Portrait.gd create mode 100644 addons/dialogic/Nodes/Portrait.tscn create mode 100644 addons/dialogic/Nodes/TextBubble.gd create mode 100644 addons/dialogic/Nodes/TextBubble.tscn create mode 100644 addons/dialogic/Nodes/canvas_dialog_node.gd create mode 100644 addons/dialogic/Nodes/glossary_info.gd create mode 100644 addons/dialogic/Nodes/random_audio_stream_player.gd create mode 100644 addons/dialogic/Other/DialogicClass.gd create mode 100644 addons/dialogic/Other/DialogicDefinitionsUtil.gd create mode 100644 addons/dialogic/Other/DialogicResources.gd create mode 100644 addons/dialogic/Other/DialogicSharp.cs create mode 100644 addons/dialogic/Other/DialogicUtil.gd create mode 100644 addons/dialogic/Other/export_plugin.gd create mode 100644 addons/dialogic/Other/inspector_timeline_picker.gd create mode 100644 addons/dialogic/Other/timeline_picker.gd create mode 100644 addons/dialogic/plugin.cfg create mode 100644 addons/dialogic/plugin.gd create mode 100644 dialogic/characters/character-1642498039.json create mode 100644 dialogic/definitions.json create mode 100644 dialogic/folder_structure.json create mode 100644 dialogic/settings.cfg create mode 100644 dialogic/themes/default-theme.cfg create mode 100644 dialogic/timelines/timeline-1642498159.json diff --git a/Scenes/InteractiveDialog.tscn b/Scenes/InteractiveDialog.tscn new file mode 100644 index 0000000..d717c52 --- /dev/null +++ b/Scenes/InteractiveDialog.tscn @@ -0,0 +1,13 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://Scripts/InteractiveDialog.gd" type="Script" id=1] + +[sub_resource type="CircleShape2D" id=1] + +[node name="Node2D" type="Node2D"] + +[node name="Area2D" type="Area2D" parent="."] +script = ExtResource( 1 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"] +shape = SubResource( 1 ) diff --git a/Scenes/Player.tscn b/Scenes/Player.tscn index f705460..a52979c 100644 --- a/Scenes/Player.tscn +++ b/Scenes/Player.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=16 format=2] +[gd_scene load_steps=17 format=2] [ext_resource path="res://Scripts/Player.gd" type="Script" id=1] [ext_resource path="res://Sprites/mc/front.png" type="Texture" id=2] @@ -16,9 +16,14 @@ [sub_resource type="SpriteFrames" id=2] animations = [ { -"frames": [ ExtResource( 4 ) ], +"frames": [ ExtResource( 5 ) ], "loop": true, -"name": "IdleLeft", +"name": "IdleUp", +"speed": 5.0 +}, { +"frames": [ ExtResource( 3 ), ExtResource( 10 ), ExtResource( 3 ), ExtResource( 12 ) ], +"loop": true, +"name": "MoveRight", "speed": 5.0 }, { "frames": [ ExtResource( 4 ), ExtResource( 13 ), ExtResource( 4 ), ExtResource( 8 ) ], @@ -31,19 +36,14 @@ animations = [ { "name": "MoveUp", "speed": 5.0 }, { -"frames": [ ExtResource( 3 ), ExtResource( 10 ), ExtResource( 3 ), ExtResource( 12 ) ], -"loop": true, -"name": "MoveRight", -"speed": 5.0 -}, { "frames": [ ExtResource( 2 ), ExtResource( 6 ), ExtResource( 2 ), ExtResource( 7 ) ], "loop": true, "name": "MoveDown", "speed": 5.0 }, { -"frames": [ ExtResource( 5 ) ], +"frames": [ ExtResource( 3 ) ], "loop": true, -"name": "IdleUp", +"name": "IdleRight", "speed": 5.0 }, { "frames": [ ExtResource( 2 ) ], @@ -51,14 +51,17 @@ animations = [ { "name": "IdleDown", "speed": 5.0 }, { -"frames": [ ExtResource( 3 ) ], +"frames": [ ExtResource( 4 ) ], "loop": true, -"name": "IdleRight", +"name": "IdleLeft", "speed": 5.0 } ] [sub_resource type="RectangleShape2D" id=1] -extents = Vector2( 22, 4.5 ) +extents = Vector2( 21, 1 ) + +[sub_resource type="RectangleShape2D" id=3] +extents = Vector2( 21, 17.5 ) [node name="Player" type="KinematicBody2D"] position = Vector2( 4, 4 ) @@ -71,8 +74,15 @@ animation = "IdleDown" playing = true [node name="CollisionShape2D" type="CollisionShape2D" parent="."] -position = Vector2( -4, 28 ) +position = Vector2( -4, 31 ) shape = SubResource( 1 ) +one_way_collision = true + +[node name="Area2D" type="Area2D" parent="."] + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"] +position = Vector2( -4, 11.5 ) +shape = SubResource( 3 ) [node name="RayCast2D" type="RayCast2D" parent="."] position = Vector2( -4, -4 ) diff --git a/Scripts/InteractiveDialog.gd b/Scripts/InteractiveDialog.gd new file mode 100644 index 0000000..5745c47 --- /dev/null +++ b/Scripts/InteractiveDialog.gd @@ -0,0 +1,38 @@ +extends Area2D + + +## The timeline to load when starting the scene +export(String, "TimelineDropdown") var timeline: String +export(bool) var add_canvas = true +export(bool) var reset_saves = true +export(bool) var debug_mode = false +export(bool) var show_immediately = false + +# used prevent the dialogue from appearing if the +# player hits space multiple times +var is_dialogue_showing = false +var dialogue = null + +func _ready(): + if show_immediately: + show_dialogue() + +func show_dialogue(): + if is_dialogue_showing: + return + dialogue = Dialogic.start(timeline, '', "res://addons/dialogic/Nodes/DialogNode.tscn", debug_mode, add_canvas) + dialogue.connect("timeline_end", self, "after_dialog") + add_child(dialogue) + is_dialogue_showing = true + +func hide_dialogue(): + if is_dialogue_showing: + remove_child(dialogue) + is_dialogue_showing = false + +func after_dialog(s): + is_dialogue_showing = false + +func _on_Area2D_area_exited(area): + if area.get_parent().name == "Player": + hide_dialogue() diff --git a/Scripts/Player.gd b/Scripts/Player.gd index 179564a..0e2952a 100644 --- a/Scripts/Player.gd +++ b/Scripts/Player.gd @@ -1,44 +1,41 @@ extends KinematicBody2D -# Declare member variables here. Examples: -# var a = 2 -# var b = "text" -var curHp : int = 10 -var maxHp : int = 10 var moveSpeed : int = 180 -var damage : int = 1 -var gold : int = 0 -var curLevel : int = 0 -var curXp : int = 0 -var xpToNextLevel : int = 50 -var xpToLevelIncreaseRate : float = 1.2 -var interactDist : int = 70 var vel = Vector2() var facingDir = Vector2() onready var rayCast = $RayCast2D onready var anim = $AnimatedSprite -# Called when the node enters the scene tree for the first time. func _ready(): - pass # Replace with function body. + pass -func _physics_process (delta): - +func _physics_process(delta): + handle_interactions() + handle_movements() + +func handle_interactions(): + if Input.is_action_just_pressed("ui_accept"): + for body in $Area2D.get_overlapping_areas(): + if body.has_method("show_dialogue"): + body.show_dialogue() + return + +func handle_movements(): vel = Vector2() # inputs if Input.is_action_pressed("move_up"): - vel.y -= 1 + vel.y = -1 facingDir = Vector2(0, -1) if Input.is_action_pressed("move_down"): - vel.y += 1 + vel.y = 1 facingDir = Vector2(0, 1) if Input.is_action_pressed("move_left"): - vel.x -= 1 + vel.x = -1 facingDir = Vector2(-1, 0) if Input.is_action_pressed("move_right"): - vel.x += 1 + vel.x = 1 facingDir = Vector2(1, 0) # normalize the velocity to prevent faster diagonal movement @@ -47,14 +44,12 @@ func _physics_process (delta): # move the player move_and_slide(vel * moveSpeed, Vector2.ZERO) manage_animations() - + func play_animation (anim_name): - if anim.animation != anim_name: anim.play(anim_name) func manage_animations (): - if vel.x > 0: play_animation("MoveRight") elif vel.x < 0: diff --git a/Story/Ch1S2.tscn b/Story/Ch1S2.tscn index 48320da..ee8328f 100644 --- a/Story/Ch1S2.tscn +++ b/Story/Ch1S2.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=13 format=2] +[gd_scene load_steps=14 format=2] [ext_resource path="res://Resources/lodge.tres" type="TileSet" id=1] [ext_resource path="res://Sprites/sak/Sak.tscn" type="PackedScene" id=2] @@ -12,6 +12,7 @@ [ext_resource path="res://Scenes/Player.tscn" type="PackedScene" id=10] [ext_resource path="res://Sprites/richal/Richal.tscn" type="PackedScene" id=11] [ext_resource path="res://Scripts/CameraFollow.gd" type="Script" id=12] +[ext_resource path="res://Scenes/InteractiveDialog.tscn" type="PackedScene" id=13] [node name="Ch1S2" type="Node2D"] @@ -97,6 +98,13 @@ position = Vector2( 380, 380 ) [node name="Alistair" parent="FG" instance=ExtResource( 3 )] position = Vector2( 165, 150 ) +[node name="dialog" parent="FG/Alistair" instance=ExtResource( 13 )] +position = Vector2( 0, 27 ) +scale = Vector2( 4, 2 ) + +[node name="Area2D" parent="FG/Alistair/dialog" index="0"] +timeline = "timeline-1642498159.json" + [node name="Kettle" type="Sprite" parent="FG"] position = Vector2( 653, 156 ) texture = ExtResource( 4 ) @@ -114,3 +122,7 @@ tile_set = ExtResource( 1 ) cell_size = Vector2( 30, 30 ) format = 1 tile_data = PoolIntArray( 458755, 52, 0 ) + +[connection signal="area_exited" from="FG/Alistair/dialog/Area2D" to="FG/Alistair/dialog/Area2D" method="_on_Area2D_area_exited"] + +[editable path="FG/Alistair/dialog"] diff --git a/addons/dialogic/Dialog.tscn b/addons/dialogic/Dialog.tscn new file mode 100644 index 0000000..9ef7cf1 --- /dev/null +++ b/addons/dialogic/Dialog.tscn @@ -0,0 +1,11 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://addons/dialogic/Nodes/DialogProxy.gd" type="Script" id=2] + +[node name="Dialog" type="Control"] +anchor_right = 1.0 +anchor_bottom = 1.0 +script = ExtResource( 2 ) +__meta__ = { +"_edit_use_anchors_": false +} diff --git a/addons/dialogic/Documentation/Content/Changelog.md b/addons/dialogic/Documentation/Content/Changelog.md new file mode 100644 index 0000000..762c0f6 --- /dev/null +++ b/addons/dialogic/Documentation/Content/Changelog.md @@ -0,0 +1,439 @@ +# Changelog + +## v1.3 - (WIP) +#### General Editor Stuff +- **Builtin documentation** [[Jowan-Spooner](https://github.com/Jowan-Spooner)] + - Added a button to open the documentation from the nav bar +- The plugin has now **Editor-translation support** and some labels are translated to Chinese [[magian1127](https://github.com/magian1127)] + - Added some initial Spanish translations +- Replaced the default `/addons/dialogic/Dialog.tscn` node with a proxy that creates a dialog using the `Dialogic.start` function instead of the raw node. This will make it easier to update from version to version since the instantiated node will not be changing a lot from version to version. This also moved and renamed the previous `/addons/dialogic/Dialog.tscn` to `/addons/dialogic/Nodes/DialogNode.tscn` and the `dialog_node.gd` is now called `DialogNode.gd` to be more in line with the rest of the project +- CanvasLayer Argument (Dialogic.start()) added to the CSharp Class +- Creating new resources will automatically start the renaming of it +- New plugin icon! It should now display at its proper scale depending on your rendering scale + +#### Timeline Editor: +- A modular **Custom events** implementation [[Jowan-Spooner](https://github.com/Jowan-Spooner)]. Learn about them [here](./Events/Custom Events/CreateCustomEvents.md). +- Added a **preview image on the portrait picker**, so it is easy to know what sprite or scene you are selecting. Thanks to [EmmaH](https://www.youtube.com/channel/UC4y59CMiLxWQQVqVFBYLa3Q) for the idea and [Jowan-Spooner](https://github.com/Jowan-Spooner) for the implementation +- Added **Voice Line support** for Text and Question Events [[RedXGames](https://github.com/RedXGames)]. Learn how to use it [here](./Tutorials/VoiceLines.md). + - Added option to use a certain region of the audio files [[KvaGram](https://github.com/KvaGram)] +- Partial support for **undo and redo** [[Jowan-Spooner](https://github.com/Jowan-Spooner)] +- Better **light/custom theme support** for the timeline editor [[Jowan-Spooner](https://github.com/Jowan-Spooner)] + - Changed the Selected Event Style to only have blue borders and not change event color [[Jowan-Spooner](https://github.com/Jowan-Spooner)] +- Adding an extra space at the end of the timelines so it is easier to drag and drop new events +- After selecting a conditional, the input field of that event will be selected +- Updated UI of the AudioPickers [[Jowan-Spooner]](https://github.com/Jowan-Spooner) +- Automatically scrolling to newly created events when you click on a create event button [[Jowan-Spooner](https://github.com/Jowan-Spooner)] +- If no characters are present in the current project the character picker is hidden and a prompt was added in the Character join and Character leave events to create one [[zaknafean](https://github.com/zaknafean)] +- Copy Timeline Name will now return the full path to that timeline + +#### Theme Editor: +- **Updated Audio Settings** [[Tim Krief](https://github.com/timkrief)]: + - you can now select audio for typing, text completed, next event, button hover and button selecting + - Attention: Old typing audio will have to be redone! +- You can now set the **position of the buttons relative to the screen** (Top, Bottom, Center, Left, Right) +- You can now set the choice buttons to be **aligned horizontally or vertically** +- More range for dialog text speed [[zaknafean](https://github.com/zaknafean)] +- A default theme is created on new projects [[zaknafean](https://github.com/zaknafean)] + +#### Ingame Behaviour +- `ATTENTION`: Rework and improvement of the **saving system**. + This includes some breaking changes. Learn all about the new system and how to transition [here](./Tutorials/Saving.md). + - A **visual novel template** with a working menu is being made. You can find it [here](https://github.com/Dialogic-Godot/visual-novel-template). +- `Dialogic.start()` will now use paths for specific timelines. A fallback is in place, but specificity is preferred. For instance: `Dialogic.start('my-timeline')` will search any timeline with that name; `Dialogic.start('/chapter-1/my-timeline')` will open the timeline namde `my-timeline` inside the folder `chapter-1`. +- If the text is too big for your dialog and you see a scrolling bar, you can use the `up` and `down` keys to scroll [[Jowan-Spooner](https://github.com/Jowan-Spooner)] +- Rework of the character name coloring (using Regex now) [[Jowan-Spooner](https://github.com/Jowan-Spooner)] + - Regex name compiler now properly escapes special characters [[zaknafean](https://github.com/zaknafean)] + +#### Export +- Removing requirement to manually configure resource export (No need to add `.cfg`, `.json` to your export settings anymore) [[LuRomao](https://github.com/LuRomao)] + +#### Other Stuff: +- Renamed the plugin entry point script from `dialogic.gd` to `plugin.gd` so it better describes what that file does +- Removed the need to use a DialogicSingleton. This causes some slight changes to saving and loading. Learn all about the new system and how to transition [here](./Tutorials/Saving.md). +- Deleted some legacy documentation files +- Adding a warning if you are trying to set or get a variable that wasn't defined + +#### Bug-fixes +##### Editor +- Fixed the `DialogNode` Inspector Timeline Open button issue +- Fixed a reference bug that prevent the duplication of Themes +##### Game +- Changed the default cursor shape that was weird in MacOS +- Dialogs only start typing after the fade-in animation happened +- Fixed a bug that performed the fade-in animation before setting the proper theme +- Fixed a bug that prevented to use the global input setting when selecting option buttons + + + +## v1.2.5 - Possibly breaking eveything. We will never know. +- Loading timeline events on batches to speedup big timelines +- Reduced the amount of nodes inside events to improve loading times +- Fixing the "first time running" bug where you had to reboot dialogic after enabling it for the first time +- Fixing a bug where if you had a node selected in the editor you couldn't open any resource picker +- Fixed a bug when trying to add a new resource after removing one +- Fixed the issue that allowed you to keep loading messages after a dialog close event +- Enabling bbcode to glossary entries +- Simplified some internal code +- Adding new setting to the Set Background event to add fade-in time +- Fixed an issue that caused nested timelines to be deleted whem moving directories [[zaknafean]](https://github.com/zaknafean) +- Settings Editor + - Added a default action key selector so you don't have to set it per theme. The theme action key settings will overwrite the one set in settings. + - Added new setting to select Dialogic's Canvas Layer [[RedXGames]](https://github.com/RedXGames) + + +## v1.2.4 - Gotta go fast +- Fixed an issue with the default scale of the portraits +- Trying to simplify and remove legacy code: +- EditorView.gd: Unified the remove resource confirmation dialogs and removed pointless variable definitions + + +## v1.2.3 - Two releases in one day? +- Hopefully, final attempt to fix the weird event creation bug [[Jowan-Spooner](https://github.com/Jowan-Spooner)] Thanks [[Drawsi](https://github.com/Drawsi)] for the report and testing! + + +## v1.2.2 - Here we go again :') +- Set Value Event: There is now a dice symbol that (when toggled) will reveal to boxes for a minimum and a maximum random number to choose from [[Jowan-Spooner](https://github.com/Jowan-Spooner)] +- Making a small delay on choices to prevent the people that spam "next" to accidentally select the first option +- Fixed some issues when creating new events in the timeline + + +## v1.2.1 - Get them while they're hot! +- You can now specify for how long to wait in `[nw]` events. `[nw=3]` or whatever number of seconds you want it to wait +- Fixed some issues with the CanvasLayer +- Fixed some issues when creating dialogs using GDScript +- Fixed an issue when changing the current timeline +- Improved the internals of `MasterTree.gd` [[Jowan-Spooner](https://github.com/Jowan-Spooner)] +- Fixed some issues with the `[nw]` command [[Jowan-Spooner](https://github.com/Jowan-Spooner)] +- Improved the Timeline Editor performance when loading timelines +- Removed the `focus_mode` warning +- Added a new page to the docs about the [Text Events](https://github.com/coppolaemilio/dialogic/blob/main/docs/events/TextEvent.md) +- Fixed a bug when trying to skip fade-in dialog animations [[idontkillcoyotes](https://github.com/idontkillcoyotes)] +- Fixed an issue with typing sounds in exported projects +- Fixed an issue when selecting folders for typing sounds in exporting projects; Thank you [AnidemDex](https://github.com/AnidemDex)! + + +## v1.2 - Organize it! +- Functionality + - Added extra options to allow the user to disable/enable saving of definitions and current timeline [[Arnaud](https://github.com/arnaudvergnet)] + - `Dialogic.start()` will add a CanvasLayer by default to avoid the confusion of not seeing Dialogic when using a camera. [[AnidemDex](https://github.com/AnidemDex)] + - Fixed many issues with portraits fading in and out + - Fixed a bug that prevented the BackgroundMusic event to work correctly [[Jowan-Spooner](https://github.com/Jowan-Spooner)] + - Experimental translation added! (This change simply adds a new setting to always treat text as a translation key, instead of displaying it directly. When on, text is sent through tr() before any additional checks are performed on it) [[bojjenclon]](https://github.com/bojjenclon) + +- Editor + - Added sub-folders to all the resources to better organize your project [[Jowan-Spooner](https://github.com/Jowan-Spooner)] + - Improved resource picker aware of sub-folders [[Jowan-Spooner](https://github.com/Jowan-Spooner)] + +- Dialog + - Adding `[nw]` commands to automatically skip the text after 2 seconds without user input (Will be improved in future versions) + - Choices can now print the definition values using the regular `[definition]` syntax + - Next indicator is no longer visible when there are options to select + - You can now use `[speed=3]` or any number to change the speed of an individual event text speed + +- Theme Editor + - Added new fonts selector for italics, bold, and names [[Jowan-Spooner](https://github.com/Jowan-Spooner)] + - Added new Box Padding settings to the name label. + - Added a new option to make the dialog backgrounds full width + - You can now set a character for the preview message + - Three positions for the name label: Left, Center and Right + - You can set the vertical and horizontal offset of the name label + - Added a new option to enable single portrait mode. In this mode, once the characters join the dialog, only one of them will be visible without the need of making them join and leave every time + - Added a simple fade in animation for dialogs. You can change how long it takes in the `Dialog Box` tab + - New tab added: Audio + - In the audio tab, you can select a sound or set of sounds to play while the text is being typed in the dialog. [[Tim Krief](https://github.com/timkrief)] + +- Character Editor + - You can now add a scene as a portrait, so you can now use AnimatedSprite or whatever you might need + - You can set nicknames to characters [[zakary93](https://github.com/zakary93)] + - Fixed a bug when coloring the names of characters in text [[zakary93](https://github.com/zakary93)] + - Added the resolution of the selected portrait image on the preview box + - You can now import a folder to automatically add all the images inside as portraits + - Removed the legacy "Default Speaker" option. I might revisit something like this in the future + +- Timeline Editor + - You can now select multiple events (`CRTL` for adding/removing an event, `SHIFT` for range select) [[Jowan-Spooner](https://github.com/Jowan-Spooner)] + - You can now use `CRTL+C`, `CRTL+X` and `CRTL+V` to copy, cut and paste events [[Jowan-Spooner](https://github.com/Jowan-Spooner)] + - You can use `CRTL+D` to duplicate the selection [[Jowan-Spooner](https://github.com/Jowan-Spooner)] + - You can use `CRTL+A` and `CRTL+SHIFT+A` to select/deselect all events [[Jowan-Spooner](https://github.com/Jowan-Spooner)] + - Some shortcuts where redone: Remove events with `DEL`, move selection up/down with the `UP` and `DOWN` arrow keys [[Jowan-Spooner](https://github.com/Jowan-Spooner)] + - A SetGlossary event was added that allows to change the info of a glossary item during the game [[Jowan-Spooner](https://github.com/Jowan-Spooner)] + - You can now set the portrait of a character based on a definition [[bojjenclon]](https://github.com/bojjenclon) + - New resource picker styles + - Modified the label on the emit signal event so it is easier to understand [[Jowan-Spooner](https://github.com/Jowan-Spooner)] + - Updated the look of some events and added some useful event warnings + +- Other stuff + - Events have id's now. Nothing should change for the user, but it will be easier to manage the inclusion of new events or modifying existing ones [[Jowan-Spooner](https://github.com/Jowan-Spooner)] + - Fixed a non-breaking bug that printed some errors on the terminal + +- And many more! (kinda hate not listing all the changes, but don't remember all of them) + + +## v1.1 - With a little help from my friends +- Improved event dragging and selection [[Arnaud Vergnet](https://github.com/arnaudvergnet)] +- Fixed a bug that prevented the deletion of Characters [[AnidemDex](https://github.com/AnidemDex)] +- Fixed a bug that allowed you to overwrite the event on the theme preview dialog +- Added a folder icon to each section of the resource tree +- Greatly improved how the plugin is displayed in different display scales +- You can now filter resources from the main view [[ellogwen](https://github.com/ellogwen)] +- You can now duplicate themes (from the context menu) [[ellogwen](https://github.com/ellogwen)] +- Organized the images and other assets into a tidier structure [[Jowan-Spooner](https://github.com/Jowan-Spooner)] _**Warning!** If you were using the example portrait assets you will have to load them again manually on the character editor_ +- You can now create resources by right clicking the section and selecting "+ New" [[Tim Krief](https://github.com/timkrief)] +- Remade all the PopupMenu items in gdscript and replaced the icons with native editor theme ones. +- Experimental: Added a static proxy for C# projects. _Testing wanted!_ [[mscharley](https://github.com/mscharley)] +- Timeline: + - New event `Call Node`: Call a Godot NodePath and a method name. In addition you can add arguments as well. The Timeline will execute those methods and wait for completion, if the method in question is async and/or yielding [[ellogwen](https://github.com/ellogwen)] + - You now can drag and drop events into the timeline! [[ellogwen](https://github.com/ellogwen)] + - You can un select a selected event by clicking it [[ellogwen](https://github.com/ellogwen)] + - The `Scene Event` can now take other Scenes (`.tscn`) files as backgrounds. [[ellogwen](https://github.com/ellogwen)] + - The `If Condition` event can now use definition variables as values to compare against [[ellogwen](https://github.com/ellogwen)] + - You can now hide `Choice events` if a definition doesn't meet some requirements [[Arnaud](https://github.com/arnaudvergnet)] + - You can now select a character to ask a question in the `Question Event` [[Tim Krief](https://github.com/timkrief)] + - Added very basic syntax highlighting to the `Text Event` editor + - Fixed an indenting bug when removing events + - The `Character Join` event now has a mirror option [[Jowan-Spooner](https://github.com/Jowan-Spooner)] + - The `Close Dialog` has a new setting for the duration of the fade-out animation. [[Tim Krief](https://github.com/timkrief)] + - `Scene Event` renamed to `Change Background` to better represent what it does. [[Jowan-Spooner](https://github.com/Jowan-Spooner)] + - Both `Audio Event` and `Background Music` got more settings (audio Bus, volume, fade-length) [[Jowan-Spooner](https://github.com/Jowan-Spooner)] + + - Shortcuts added! [[ellogwen](https://github.com/ellogwen)] + - Selecting previous and next event in the timeline with `CTRL + UP` and `CTRL + DOWN` + - Moving currently selected event up and down the timeline `ALT + UP` and `ALT + DOWN` + - Remove the currently selected event node and selects the next/last event node `CTRL DELETE` + - Create a new text event node below the currently selected and focus it's textbox to continue writing `CTRL T` +- Character Editor + - There is an option `mirror portraits` below the portrait preview now, that will mirror all portraits when they appear in the game [[Jowan-Spooner](https://github.com/Jowan-Spooner)] + - Fixed a bug that prevented portrait previews to display if the extension was in capital letters. +- Theme Editor + - Refreshed the UI to make room for more properties for each section + - A reload of the preview dialog is performed when you change a property so you don't have to click the "preview changes" all the time + - Removed the limitation of only 100px for the padding of the dialog box + - Added a new option for changing the color modulation of the dialog background image + - Added new customization options (scale, and offset) to the next indicator image + - Added modulation settings to the name label background texture and the choices buttons background textures [[Jowan-Spooner](https://github.com/Jowan-Spooner)] + - Added an option to use native buttons styles for choices [[Tim Krief](https://github.com/timkrief)] + - Added an advanced option to use a custom scene as a button for choices [[Arnaud Vergnet](https://github.com/arnaudvergnet)] + - Added new settings to set a fixed size for choice buttons (This is used to prevent premade texture stretching) + - Fixed a bug where the text alignment wasn't being shown on the preview + - Fixed a bug with the name label shadow + - Fixed a bug with the "auto color" option in game +- Dialog node + - You can now use [br] to insert line breaks + - Questions now properly show the theme text alignment + - Options now show up when the question text finished displaying [[Arnaud Vergnet](https://github.com/arnaudvergnet)] + - The close dialog now performs a fade-out animation + - Fixed a bug where Glossary Definitions plain text was being added to the name label + - Fixed an issue when trying to display small sprites as characters portraits + - Fixed a bug where portraits didn't come to the front when being focused [[AnidemDex](https://github.com/AnidemDex)] + - Fixed a bug when the display stretch was set to `2D` + - Fixed a bug where empty text lines were not removed properly [[Arnaud Vergnet](https://github.com/arnaudvergnet)] +- Settings + - Added a new option to enable advanced theme settings [[Arnaud Vergnet](https://github.com/arnaudvergnet)] + - Added a new option to toggle the character "focus"/"dim" while speaking +- Added a button in timeline inspector plugin to open the selected timeline in the editor [[ellogwen](https://github.com/ellogwen)] +- Special thanks to [Jowan-Spooner](https://github.com/Jowan-Spooner) for the QA and the facelift on the theme editor + +To view previous changes [click here](https://github.com/coppolaemilio/dialogic/blob/main/CHANGELOG.md). + + +## v1.0 - We made it! 🎉 + - When upgrading from 0.9 to the current version things might not work as expected: + - ⚠ **PLEASE MAKE A BACKUP OF YOUR PROJECT BEFORE UPGRADING** ⚠ + - Glossary variables will be lost + - Glossary related events will not be loaded (`If condition Event` and `Set Value Event`) + - The theme you made in the 0.9 theme editor will be lost. You will have to remake it. + - Video [https://youtu.be/MeaS3zZxpbA](https://youtu.be/MeaS3zZxpbA) + - New layout: + - All editors in the same screen. Say goodbye to tabs! + - You can now rename resources by double clicking them + - New Settings panel for advanced properties + - Settings: + - Re-added the auto color for character names in text messages + - Removing empty Text Event from timelines + - New lines to create new Text Event messages + - Propagation of input to the rest of the Tree + - Character Editor: + - Set the scale of your character's portrait + - Add offset to the portrait + - Timeline Editor: + - New `Theme event` to change the theme in the middle of a timeline + - New `Background Music Event` to play music in your dialog. Music can crossfade when changing track and fade in/out when starting/stopping. + - Re-enabled the `Scene Event` + - Allow making basic calculations such as `+`, `-`, `*`, `/` in `Set value events`. + - Theme Editor: + - You can now add multiple themes. + - Moved the preview button to the left side so it is never hidden by default in small screens. + - New section to edit how the character names are displayed. + - New properties: + - `Box size` set the width and height of the dialogue box in pixels + - `Alignment` you can now align the text displayed (Left, Center, Right) + - `Bottom Gap` The distance between the bottom of the screen and the start of the dialog box. + - `Next animation` Set an animation for the "Next Dialog Indicator" + - Glossary was renamed to Definitions. I feel like the word `Definitions` cover both "variables" and "lore" a bit better. + - Definitions: + - Dynamic types! All variables are just dynamic, so they can be ints, floats or strings. + - The name of a character can be set to be a definition. + - You can display definition values in a Text Event by doing: `[definition name here]`. + - Fixed many resource issues with exported games + - New icons all around. + - Added some basic light theme support. This is not finished, but it is on a much better state than before. + - The events now emit signals. Thank you [Jesse Lieberg](https://github.com/GammaGames) for your first contribution! + - Special thanks to [Arnaud Vergnet](https://github.com/arnaudvergnet) for all your work in improving Definitions, conditional events and many more! 🙇‍♂️ + + +## v0.9 - House keeping + - Video: [https://youtu.be/pL0RWVmlM6g](https://youtu.be/pL0RWVmlM6g) + - Moved `Dialog.tscn` to the root of the addon so it is easier to find. + - Added a link to the documentation from the editor + - Refactored a lot of the code and continued splitting the main plugin code into smaller pieces. + - Rewrote most of the saving and branching systems. + - New tool: Glossary Editor + - You are now able to write extra lore for any word and Dialogic will create a hover card with that extra information. + - You can create `strings` and `number` variables. + - You can access to those variables from the `Dialogic` Class: `Dialogic.get_var('variable_name')` + - In game: + - Portraits changes are reflected in-game. + - Many small improvements. + - Theme Editor: + - New default asset: Glossary Font + - Added new options to customize the glossary popup + - Timeline Editor: + - Added categories for the events. + - Color coded some of the events in the same category to avoid having a distracting rainbow in the timelines. + - Conditional event working, but only with "equal to". More conditions coming later. + - Renamed the `End Branch` file names to match the name of the event. This will break the conditionals you have, but this is the time for making breaking changes. Sorry! + - New `Set Value` event. Change the current value of a glossary variable inside a timeline. This will reset when you close the game, so a saving system will have to be added on the next version. + - New `Emit Signal` event. This event will make the Dialog node emit a signal called `dialogic_signal`. You can connect this in a moment of your timeline with other scripts. + - New `Change Scene` event. You can change the current Scene to whatever `.tscn` you pick. This will happen instantly, but in the future I'll add some transition effects so it is not that abrupt. + - New `Wait Seconds` event. This will hide the dialog and wait X seconds until continuing with the rest of the timeline. + - Created independent Character and Portrait picker for reusing in event nodes. + - Portrait picker added to `Text Events` and `Character Join` events. + - `Text Events` text editor vertical size grows witch each line added. + - `Text Events` now properly create a new message for each line inside the text editor. + - `Text Events` Line count are now displayed next to the preview text when folded. + - Re-adding the `End Branch` event just in case you removed the end and you want to add it again in the timeline. + - Renamed the `Copy Timeline ID` right click menu option to `Copy Timeline Name` since you now have to use that to set the current timeline from code instead of the ID. + - Fixed several bugs that corrupted saved files + - Thanks to [mindtonix](https://github.com/mindtonix) and [Crystalwarrior](https://github.com/Crystalwarrior) for your first contribution on the choice buttons + - New `Dialogic` class. With this new class you can add dialogs from code easily: + ``` + var new_dialog = Dialogic.start('Your Timeline Name Here') + add_child(new_dialog) + ``` + To connect signals you can also do: + + ```swift + func _ready(): + var new_dialog = Dialogic.start('Your Timeline Name Here') + add_child(new_dialog) + new_dialog.connect("dialogic_signal", self, 'signal_from_dialogic') + + func signal_from_dialogic(value): + print(value) + ``` + + +## v0.8 - Dialog enters the game + - Video: [https://youtu.be/NfTyRrsdB1I](https://youtu.be/NfTyRrsdB1I) + - Moved the theme editor tool icon to the left + - Theme Editor: + - Added a color background as an option + - Reduced the vertical size needed to show all options + - Style your choice buttons! (Color, background, etc...) + - Better default support for unchanged styles + - Timeline Editor: + - Moved the event buttons to a new column + - When creating a `Question` two `Choice` events and a `End Branch` event will be added automatically + - Added a warning for `Choice` events on the root level of indentation + - Disabled unfinished events + - The Change Timeline event tells you your current timeline (this is for going back to the start) + - New `Close Dialog` event. This event closes the dialog whenever it is called. + - When renaming a dialog the popup's text field is already selected and focused. + - In game dialog: + - You can now select the current timeline from the inspector without manually copying the timeline id. + - Change timeline event is now working + - Audio event can play sounds + - Character join (left, center and right) working + - Focus in and out of portraits when speaking + - Character leave events working + - Basic question/answers support + - Better scene resizing and position + - Button styles + + +## v0.7 - Looking good + - Video: [https://youtu.be/wREIVj55eBM](https://youtu.be/wREIVj55eBM) + - New plugin tab icon + - Removed legacy files + - From the theme tab you can now: + - Pick the default text color + - Set the shadows and shadow offset + - Select your own fonts (.tres) + - Set background and next indicator images + - Choose an action to trigger the "next" event + - Preview changes in a dialog + - Change text speed + - Set text margins + - Characters tab + - Added context menu + - Moved the Remove Character button to a context menu + - You can open the working directory + - Timeline tab + - Added context menu + - You can remove timelines now + - Right click no longer renames timelines, to do so you have to use the new menu + - You can open the working directory + - You can copy the timeline ID + + +## v0.6 - Character portraits + - Video: [https://youtu.be/okWYt_yGKNI](https://youtu.be/okWYt_yGKNI) + - Splitting the main script into smaller pieces + - Characters + - Characters welcome screen when there are 0 + - Different display name + - Autosave enabled on characters + - Character portraits + - Added Default Speaker setting + - Events: + - Text block now has a portrait dropdown + + +## v0.5 - Indentation Magic + - Video: [https://youtu.be/mrTyWy2TJOM](https://youtu.be/mrTyWy2TJOM) + - Added new events: + - Choice + - End branch + - Change Timeline + - You can now drag and drop events in a timeline + - Made new icons for the editor tabs + - Added some tooltips + - Restructured the events node structure to add indentation + - Changed event default colors + + +## v0.4 - Dialogic + - Video: [https://youtu.be/Hf_gywa6vZE](https://youtu.be/Hf_gywa6vZE) + - Changed how the main editor works, instead of being a graphedit it is now an event timeline. + - Renamed the plugin to Dialogic. Thanks to Òscar for always knowing how to name things. + - Moved all data to .json files + - Broke the addon for working. Nice :) + + +## v0.3 - Using Resources + - Video: [https://youtu.be/PzzOE4LbGAo](https://youtu.be/PzzOE4LbGAo) + - Removed requirement for `global.gd` and `characters.gd` autoload scripts. + - Added `DialogResource` and `DialogCharacterResource` resources to create a cleaner way of specifying dialog content + - Added icon to the existing dialog node. + + +## v0.2 - Adding Characters: + - Changed text speed to fixed per character instead of total time span + - New character support + - Added portrait to characters + - Created the `fade-in` effect + - Curly brackets introduced for character names. + + +## v0.1 - Release + - You can watch the presentation video here [https://youtu.be/TXmf4FP8OCA](https://youtu.be/TXmf4FP8OCA) \ No newline at end of file diff --git a/addons/dialogic/Documentation/Content/Events/000.md b/addons/dialogic/Documentation/Content/Events/000.md new file mode 100644 index 0000000..a4620f4 --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/000.md @@ -0,0 +1,33 @@ +# Text Event +![image](./Images/text_event_1.png) + +The text event is one of the most important ones since this will be containing most of your text. + +## The header +![image](./Images/text_event_2.png) + +You have up to tree different types of options here: +- **Character** - This is who will be saying the text written inside the text editor. +- **Portrait** - If you picked a **Character** the different portraits will show up here. If that **Character** doesn't have any special portraits the default one will be used. If you pick the `(Don't change)` option, it will continue using the previous text event portrait set. If you pick the `[Definition]` option, a new picker will show up. +- **Definition** - You can select any of your **Definitions** and it will try to match that string with available portraits. This can be used to dynamically show different portraits depending of previous player input. + +## The Text Editor + +Inside the text editor you have special features that might not be obvious to everyone: + +- Each line will create a new text message. This will help you to make longer monologues without having to add a new **Text Event** for each message. If you want to disable this, you can do so in the Dialogic settings pannel: `Settings -> Dialog -> New lines will create extra messages`. + +- When writing a **Character** name, Dialogic will automatically color the text of that **Character** + +- `[br]` This will add a line break in the position of the tag + +- `[nw]` The *no wait* command will tell Dialogic to automatically skip the current text after it finished displaying without any user input. The default time for skipping to the next text is 2 seconds, but you can change how many seconds by setting a number to it. For instance, if you want it to wait 5 seconds you can add `[nw=5]` and 5 seconds after the dialogue finished it will go to the next event. + +- `[speed=X]` You can use the *speed* tag to change change the speed of an individual text event speed. You can set for instance `[speed=10]` to show the text at a very slow pace. If you want the text to be instant for one message you can do `[speed=0]` and it will show up automatically. After the event containing the *speed* tag is over, it will go back to whatever value you have set on the current theme. Remember that the number is the interval between each letter, so the bigger the number the slower the text will be. + +- `[definition]` If you have a **Definition** and you want to display its value on inside your text you can use the `[` and `]` characters and the name of your **Definition** to print it. Let's say we have a **Definition** called `Money` with the value of `5`. we can write: `You have [Money] left` and Dialogic will replace the `[Money]` tag with the value `You have 5 left`. + +- Beside these dialogic specific options, there are the default `BBCode` options that every `RichTextLabel` has like [b]bold[/b] or [i]italic[/i] text, [color=red]colored text[/color] and [wave]using effects[/wave]! More about that [here](https://docs.godotengine.org/en/stable/tutorials/gui/bbcode_in_richtextlabel.html). + +## Voice Line Support +You can find a tutorial on how to use the voice line feature in the tutorials folder! \ No newline at end of file diff --git a/addons/dialogic/Documentation/Content/Events/001.md b/addons/dialogic/Documentation/Content/Events/001.md new file mode 100644 index 0000000..f1cf821 --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/001.md @@ -0,0 +1,18 @@ +# Character Join + +![Event](./Images/Event_Character_Join.PNG) + +The character join event is used to make character portraits appear during a dialogue. + +Select the **character** to show on the screen. +If that **character** has more than 1 **portrait** you can select one. You can change that character portrait using the portrait selector on the [Text event](./000) or by making the character join in the same position and selecting a new starting **portrait**. + +TODO: Positions image + +You can select one of the five positions. If you want to change the current position of a character you would need to add a new join event and pick a new position. + +The current 5 positions are the only ones available at the moment, but more customization will come in future versions. + +TODO: Mirror icon image and same portrait both regular and mirrored + +By clicking on this icon, you can mirror the current character's portrait. \ No newline at end of file diff --git a/addons/dialogic/Documentation/Content/Events/002.md b/addons/dialogic/Documentation/Content/Events/002.md new file mode 100644 index 0000000..1c806ed --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/002.md @@ -0,0 +1,6 @@ +# Character Leave +![image](./Images/Event_Character_Leave.PNG) + +This events allows to make characters that previously joined with the [Character Join Event](./001.md) leave the screen. + +You can choose to make all joined characters leave or choose one. If that character isn't on screen, the event will be ignored. \ No newline at end of file diff --git a/addons/dialogic/Documentation/Content/Events/010.md b/addons/dialogic/Documentation/Content/Events/010.md new file mode 100644 index 0000000..3ec29f6 --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/010.md @@ -0,0 +1,14 @@ +# Question Event +![image](./Images/Event_Question.PNG) + +The `Question Event` allows your story to branch and give the player options. +When you adding a `Question Event`, two [Choice Events](./011.md) and an [End Event](./013.md) will be added automatically. + +## The text editor +The block itself works very similar to a [Text Event](./000.md) and has all the options of that event. + +## The choices +To add choices to your question you can add [Choice Events](./011.md). + +## Ending a question +After all your choices, there also needs to be an [End Event](./013.md). \ No newline at end of file diff --git a/addons/dialogic/Documentation/Content/Events/011.md b/addons/dialogic/Documentation/Content/Events/011.md new file mode 100644 index 0000000..eee1552 --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/011.md @@ -0,0 +1,11 @@ +# Choice Event +![image](./Images/Event_Choice.PNG) + +The `Choice Event` marks the start of a choice branch in a [question](./010.md). + +## How it works +Choice Events only work if they are placed inside a "question" ([Question Event](./010.md)). Then you can place all kinds of events below that choice. These events (which will be indented) will be executed when the choice is selected in game. + +## Adding a condition +By checking the `Has condition` check box and setting that condition, the player will only see that choice if the result is true. +The condition is made up of three parts: The `Value Definition` that will be compared, the `type of comparison` and the `value` that it will be compared to. \ No newline at end of file diff --git a/addons/dialogic/Documentation/Content/Events/012.md b/addons/dialogic/Documentation/Content/Events/012.md new file mode 100644 index 0000000..c7108fc --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/012.md @@ -0,0 +1,22 @@ +# Condition Event +![image](./Images/Event_Condition.PNG) + +The `Condition Event` allows you to have certain parts of your timelines only played under certain conditions. + +## What's a condition? +In programming and games a condition is mostly described by variables (in dialogic called `definitions`). +This means that you can check for a definition to have a certain `value` and only then play the following events. + +## The settings +You can set your condition by first selecting the `value definition` that should be compared, then selecting the `type of comparison` and lastly the `value` that should be compared to. +Only the comparison types `Equal to` and `Differnt from` work with strings, the rest is supposed to work with integers (whole numbers). +You can also enter the name of a `value definition` in the input field. This it will compare to the current value of that `value definition`. + +## Adding events +You can then add new events below the Condition Event and they will be indented and only be played when the condition is true. + +## Ending a condition +Every condition needs to have an [End Event](./013.md). After that event, all following events will ignore the condition again. +When creating a Condition Event a End Event will be added too. + +*Note: You can of course have conditions inside conditions. Just make sure to have the same amount of End Events* \ No newline at end of file diff --git a/addons/dialogic/Documentation/Content/Events/013.md b/addons/dialogic/Documentation/Content/Events/013.md new file mode 100644 index 0000000..55281d5 --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/013.md @@ -0,0 +1,3 @@ +# End Event + +This event does by itself. Its only function is to mark the end of a [question](./010.md) or [condition](./012.md). \ No newline at end of file diff --git a/addons/dialogic/Documentation/Content/Events/014.md b/addons/dialogic/Documentation/Content/Events/014.md new file mode 100644 index 0000000..4afba5d --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/014.md @@ -0,0 +1,11 @@ +# Set Value +![image](./Images/Event_Set_Value.PNG) +The `Set Value` event can be used to change the value of `value definitions`. + +## The options +You can select the `value definition` to be changed, then the `type of change`. Lastly the new `value` to set. ++ `[to be]` will set the definition to EXACTLY the given value. ++ the others will use the existing value and change it in the given way. These only work with numbers. + +By toggling the little cube icon, you can use a random number instead of the fixed input field. +![image](./Images/Event_Set_Value_random.PNG) \ No newline at end of file diff --git a/addons/dialogic/Documentation/Content/Events/030.md b/addons/dialogic/Documentation/Content/Events/030.md new file mode 100644 index 0000000..928c678 --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/030.md @@ -0,0 +1,21 @@ +# Audio Events +*The Audio Event and Background Music Event are very similar, so they are explained together* +![image](./Images/audio_event.png) + +The `Audio Event` can be used to play sounds. In contrast, the `Background Music Event` is supposed to play long pieces. There can always be only one background music, but it can fade from one to the next. + +## Options +First of all you can select the audio file that should be played. You can clear this selection with the garbage icon. + +Then you can set a `AudioBus` to use and a preferred `volume`. More about AudioBus' [here](https://docs.godotengine.org/en/stable/tutorials/audio/audio_buses.html). + +The `Background Music Event` additionally has a option for the fade length. + +## Looping Audio? +Actually the `Audio Event` doesn't loop. In godot looping of audio is mostly due to how you imported it (default for .ogg files). + +To solve this: +1. Select your audio file. +2. Go to the import tab (it's next to the scene tree tab by default) +3. Uncheck the loop checkbox. +4. Hit re-import. \ No newline at end of file diff --git a/addons/dialogic/Documentation/Content/Events/040.md b/addons/dialogic/Documentation/Content/Events/040.md new file mode 100644 index 0000000..effc352 --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/040.md @@ -0,0 +1,22 @@ +# Emit Signal +![image](./Images/Event_Emit_Signal.PNG) + +The `Emit Signal` event will emit the signal `dialogic_signal` of the **current dialog node** and pass the given string as an **argument**. +The event does NOT create a new signal! + +If you instance your dialog via script, use a code similar to this: +`func start_dialog(): + var dialog = Dialogic.start("my_timeline") + dialog.connect("dialogic_signal", self, "dialog_listener") + add_node(dialog) + +func dialog_listener(string): + match string: + "quest_point_two": + # do something + pass +` + +If you instanced the scene using the editor you can connect the signal like you would always do in Godot from the `NODE TAB > Signals`. + +*If you don't know about signals you should definitely learn about them. For example [here](https://docs.godotengine.org/en/stable/getting_started/step_by_step/signals.html).* \ No newline at end of file diff --git a/addons/dialogic/Documentation/Content/Events/041.md b/addons/dialogic/Documentation/Content/Events/041.md new file mode 100644 index 0000000..3eab5fc --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/041.md @@ -0,0 +1,5 @@ +# Change Scene + +The `Change Scene` event will stop the current scene and load the selected one. This means the dialog will be stopped too. + +Be careful when using this while you your tree is set to paused! Consider adding an [Emit Signal event](./040.md) before and resuming the tree with `get_tree().paused = false`. \ No newline at end of file diff --git a/addons/dialogic/Documentation/Content/Events/042.md b/addons/dialogic/Documentation/Content/Events/042.md new file mode 100644 index 0000000..bd23999 --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/042.md @@ -0,0 +1,31 @@ +# Call Node +![image](./Images/Call_Node.PNG) + +This event allows to call a function in a node or an autoload and pass an array to that function. + +Many people struggle with the first setting the node. You will have to either put in a full path (starting from root) or a relative path. + +#### Using a relative path +*You need to have a basic knowledge of relative paths. You can learn a bit about them [here](https://docs.godotengine.org/en/stable/classes/class_nodepath.html).* +The path needs to be relative to your DialogNode. This means you need to consider where it will be added to. +Let's for now imagine an example scene tree like this: + +`- World +-- Temple +-- NPC` + +Now in the NPC's script the dialog node is added as a child of the NPC node. When getting instanced, there will be a canvas layer inbetween resulting in an actual tree like this: + +`- World +-- Temple +-- NPC +--- CanvasLayer +---- DialogNode` + +But we want to call a function in the Temple scene with our Call Node Event. From the structure above we can see that we need to go up three times and then down one time to get from the DialogNode to the temple, so this is the resulting path: +`'../../../Temple'` + +*Of course if you have canvas_layer set to false in Dialogic.start() you need on '..' less.* + +#### Using the name of an autoload +If you have instead an autoload it's wonderfully easy. You can just use the name of the autoload! \ No newline at end of file diff --git a/addons/dialogic/Documentation/Content/Events/Custom Events/CreateCustomEvents.md b/addons/dialogic/Documentation/Content/Events/Custom Events/CreateCustomEvents.md new file mode 100644 index 0000000..a2340bf --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/Custom Events/CreateCustomEvents.md @@ -0,0 +1,122 @@ +# Creating custom events +![HeaderImage](./Images/CustomEventsShowOff.PNG) + + +# Introduction +### What are Dialogic events? +Events are visual representation of data. Whenever you create one event in your timeline, you are modifying a dictionary with a lot of keys and values. Each pair will contain all the information needed to perform an action during the game. + +### What makes a custom event? +A custom event is made up of a two main parts: the **Event Block** and the **Event Handling Script**. + +The **Event Block** is the scene that will be shown in the timeline editor. It needs to inherit Dialogic's `EventTemplate.tscn` scene. + +In most cases you will additionally need scenes that have all the setting controls in them. These will be the "content" of your event block. This kind of scenes will have to extend the `EventPart.gd` script. + +Here is a very simple example of an `EventBlock`: +![EventBlock](./Images/EventBlock.png) +It contains two **EventParts**, a **header** and a **body**. + +The **Event Handling Script** is what contains the logic and what will happen when your event happens in the game. This script will need the `handle_event()` function that will be called if the event is reached. + +All of the files that are used for creating a custom Event Block and Handling Script should be in this directory: `res://dialogic/custom-events`. That way Dialogic can recognize it and show it in your timeline editor. + + + + +# Making your first custom event in 6 steps +Let's now create a simple event that will print some text to the Output panel in Godot. + +## Create the event +Go to the `settings page` and in the `custom events section` hit the `New` button. +Fill in a name for your event, a folder name and an id. For the id's I recommend using your name or a string unique to you followed by a number. +**The id has to be different for every event!!!** +This is why I recommend the unique string, because it will enable you to share the event with others without breaking their games. +![Creating](./Images/CreationProcess.PNG) + +When you are ready, hit `Create`. You will see the folder appear in the `FileSystem` under `res://dialogic/custom-events/`. + +If you go to the `timeline editor` now, you should already be able to see your event in the event list. + +### What happened +This little menu already created a number of things for you: +- The `EventBlock` (EventBlock.tscn) +- An example `EventPart` (EventPart_Example.gd/.tscn) +- The `event handling script` (event_+EVENTID+.gd) +- A `stylebox` for your event (Stylebox.tres) + + + +## What next +The automatic process already setup a lot. But it didn't know the purpose of our event. +So we will have to add that. + +### | Adding the data +First we want to open the `EventBlock.tscn` scene. (Do not rename this scene!) + +Select its root node and look at it's exported variables in the inspector. + +We will need to add all the data, that our event can have to the `event_data`. +You can see, that it alread contains your event id. This needs to be there, do not delete it! + +I want to be able to set a text that will be printed, when my event is activated, so I'll add an information slot for that: +![EventData](./Images/EventBlock_EventData.PNG) + +### | Icon and Stylebox +You can also change your events icon in the inspector. Just drag an image into the `Event Icon`. + +Below that, you can open the Stylebox and change its background color, to give your event a unique look. + + + +### | The Event Blocks Content (EventParts) +Right now your event block will be empty so let's change that (if you want to). + +The content of an EventBlock is separated as `EventParts`. This allows for some reuse. +There are two places EventParts can be in an EventBlock: The Header (always visible) and the Body (can be hidden). + +*An EventBlock does not have to have a body nor a header EventPart. For example the End Branch event has none.* + +There is already a simple example `EventPart` (Script and Scene) included. You can change it as much as you want. + +#### | Loading the data +In `load_data()` you will need to set the values of your control nodes. This function is called when the event is added to the timeline editor. + +#### | Saving changes to the data +When the values get changed (listen to it via signals) set the according value in the `event_data` dictionary and call `data_changed()`. + +This is pretty much all you need to know. +*If you want to find more examples you can go to `res://addons/dialogic/Editor/Events/Parts/` and look at the EventParts that shape Dialogic's default blocks.* + +### | Using the EventPart +Once you finished everything in your EventPart(s) you need to go into the `EventBlock` scene and set the `header`/`body` variable in the inspector to the new scene(s). + + + +### | The event handler script (event_yourname_000.gd) +Once you have your `EventBlock` finished, you need to add the event handling logic. + +#### | The handle_event() function +If you open the script you will see, that there is only one function by default, the `handle_event()` function. + +It comes with two usefull pieces of information: the `event_data` and a reference to the `dialog_node`. + +For me I'll just add +`print(event_data['print_text']` +there. But of course you can do a lot more. + + +Some more stuff is already explained in the script: +##### Continue +Use `dialog_node.load_next_event()` to continue with the next event. + +##### Waiting +If you don't want the player to interrupt your event, set `dialog_node.waiting` to `true` while your event is handled. +Don't forget to set it back to `false`. + + + +## And done! +Great, you've created your first custom event for dialogic. + +*Make sure to check Emilio's Discord server just in case someone has already created the custom event that you need. They are super easy to [import](./ImportCustomEvents.md)!* \ No newline at end of file diff --git a/addons/dialogic/Documentation/Content/Events/Custom Events/Images/CreationProcess.PNG b/addons/dialogic/Documentation/Content/Events/Custom Events/Images/CreationProcess.PNG new file mode 100644 index 0000000000000000000000000000000000000000..1bd21d093061a439745b05dcd6f0528cd5a1d504 GIT binary patch literal 9707 zcmb_?cRZWx|93jII+SW_JGHmko3>^sY7?ui2BB(GBj`}IB}QxqAx2TeUTrCAwuw=j znxR378RNOrp7Z*h@Avn8#_M^WKXB*H<+|7BdautNeqT@X5;YSw2n4zW)>1PBflk1H z?Ur+Af!~VG!kxgM6P|{ecR{6nECk@gX@@(ycR-->*b4^_&j6p#yJ=Z?fDuE46e)tUa4x>2{^Gb8*szU;i3Y;_?*cH>PYjgoYp?ivBW9Yz*0pqEvheHE}*fxw}*ndiVXH!Y&h;kNtb@*5SXcqAE6qH_yID-2%== z$Q&o*I+0tWI!n(~-i^(i*&lCwgsSLUMR{eDimHRkRaDCPW$b0m4r% z*mZ85#rHF_92H7bF$Viz6-!*mFL^yVx{92A)v61_JRCK@-$4v6?FQ(+61tOQ*L5TW zO?Nl;nxXFPIl3tx8#N)w;nKJhGAdthy+7!gw=eCj1Xow^#TY&Lcmg&yzHPo7A!?o2 zKm`vdZSl$dI$M4*HntiWk<5VkHE(Kwp0BJM%FAug*87T z?zIuWQ^X6S8;b5uTjsO7$wOpokwusf)y%5=2~c_%um&F9K`tbm(2Uwshk7oPlEM3g zO&JlSea`HT(WgO6$!yZ+1P@fXegxRe3@L)`rVnr@uv-xe|6iZ;GF&KAtY~ zs$Q27cA87PL?fRSZe_uT>UMo|%LMGX&$0Lzp_ZCH2L0+mDrr8e->wATPR;T8fzNSB zkqz9`vk~OEX_9mht-Id#Fk&D;5cWFP*v8wPG#r?6FdHtPYc5Cpa!5*y(zjhDm<{Wcm45~{k zy=+JnGYgit;r~#~&Xg*Tjv|W~we@h!6(pkY1m5Kzagr@(7en@>WFJ9q+K8cVRCxA- zTS9M?)+PkV4@ID(7m0+wALvXZ*Ci0>Jqv(Wrzl&}kN%&)Z(JJy#P_(96f}JKPjm%P zF@*bQvnA+2;1)A^_#$wucc(9`w;Y%EeWk!@%Ne8%)2~5)5b`KUYkuTn=||a zlV5e&RgOfk{9{)3L)%j)C^NiL(ekh4m{mDG2qu*UA9kM+nU$}!yUq;2@`Lliaipdp zO^*2+O@|3_fyUD=|NPPyxe%tSuNRyXGMy~v?K&A_7>LW3n~!{6gA7t38@yu4N-s?O zDUEW^XePE?_%)wCk}WGe4=78|m6GT@KH0vF#rmh6$(V;z2SCAK2xf>}X%q3YQ1 zYzca06&n#J_vr&IR(awpZu=W4`O{g-t@s#^*1wTp2x&jh#K44M51M>C$jEJNWvI>? z>+fi^bQw}3X80!=)Lbc7vUgBd}JY^V?Kfzl3|0JI<7?kC}H@_E5ekW3BmPs zBO>bsG+_U54g198%c32X28Eo?p6z%XyjS#~aEdOofVFHwP;5IfIMki({dLsI+ncXK6 z?TOw|fraQ4{9+fMqh$qb!jMw9LgiP$o@xj0Hsx3qf?{k)&E8<&b;G76s*0*=jS3Iy zf;ytugfkI+80LW%I&{o@YxJ~fNf{Z2WE6r_;Y`D+8VJq6V3n zafnXrHG4WV{OH#`m?=h@-l;zYS~r<3Mz*)z1ij~7mjVY1|GJ3VI2{UDygSX+B>As9 zF04DhfAYgtf+Ct^87S(Ag|gH^mnn4&qB;d8%h_KQ1%-%q{0LaM6o<`fWf!Q-y9Wvh zJq12B1^~u88ZD-8m$@#5z;EN;`v8FO;}r62HSpyF_BhFRtiX)q5cG2*aMW)dIa;G{ zzp%=<)_i`+y%nVozva@vz|tr1=LMAWy%pnUQAQG3j+S1_>GjV)xR1vBJkqOc`L2gM za5LCaVq*=~kIf==P#my!Sn|3E<`j4LlHo*L@Ab^ zca6?l(Z5v9g?*`aOsq@Z<{p(qKd#$MRlHBrT9jXCVU1lte{p1D6Vi@Z73BujuXodA z-rM}r@a0u(r_V6nj2@M&am}P=PE$;@#aPh6ptxiGXr@Q8e(c~r$Hq}ju2=qag{iGI zetM&M@~I;p&F6IvOqqVZL6Js8zr8sH&4hY&d^|z{K6_dqQY@`rQOp%Bf{TRpRyy?c>#~ zj+ z2~|6E(MWW=T0RypnYdD#$jq&zD6MPYPF_lbuD~Mcpa8R=mv)UyE_Hv^=2FT+dv1!{ zui22_uV~M|3j@cj)Hj&Fv@JG9t(r5AxYu&t|qwl{!FI9W4c=FW!WZ{N~$4CeC$N7EV}_`CN=DlaNDICjR6vSy?uDvD-)O zNopYf0DTDhM!P*)Nc<=c`|xHa|JyJ7k5VCQ4O$}==wqj=Om(sCJofw|{6^c+$jR)4 z&DfsJ$vgfdGU#z?{ch)it#+~USAIP#7RAs8qgdy7jA8O!_7?|{PQrh3m! z`yX}7`AyC=a_!w?0-1z+!@4*0ejnOCQ`HB2PdlYFCte78-z0>R(GqU4HO7 zaVNA}+Eph`+9#TJS0)BQ3M5=!7>?)WP@G)gtF9&0KXEmCdbp=Ui|KUnd=_ybU3^+v zsO_qQh%;PlQakmtAYVLvYyV2Fx?~ahWvij`qG6(cAEzf{>@XkfFxeQa$%}S|`hzXy z^m%8%I7NdS40M8s!tzPJ*}bmbQFtMGQOEZd!2(mb_=$Pssgs}DUMRGJm7Ym-Egb#$ z7i#1ogZA!eVv#upWW^;`z8wYg)!EkoP&@*)WNn{rvW}jch+rw z7L-psX5QLv!gFP$20=U~)16JnJc34;|2~gZv?B)1oGM?i{_z@0T0=2f1Mz%(l+@Yij@Vz{5BUncxmHBsJ$i_D|CoS~oEpGV=vv)c>LHi1gC zQh9II*~YwhSxxkT6+cRlY%M&ir?kFOjEvEi75X?4EURy7`*{9(cUzte(q1ux_xOQT zW1#Aot#&#GEOUD0hyTs^*y7=^I;@ESXMnHHx-9F)pPMP9JW)}AH3g-S+xA^;56uTw z)fxY)wgk4OKa*88H}lf*=k`6CCtA>IA6&zDxNtKE?}GSKuYo;}(#-VS9vhoYt>R2S z-2-@7{F&8$x}+%MoT6mbsU1|3d%H6@K)%1s&pV7wfxEX3Y6BOOJ484+rCE&@tv?&+ zPmlN+Yhh>@3-;R%zl-wFbEfAvSbsmA+{l~0EpKaBI5;Ln;fuSt_cd<3Fwpyte{&TT z*QF;^$g}U2|A0ME0LXFs#Q%!!08#{nz?0$qjlVJnfHwcToL1?0@*SY(`QM|qJ$F^1 z)d}Z7@7(^6j_@yp>h=n~MU#_}a;VBy-9_UTJ?`F_XH9;|25`a;LwlL9O6q&;vJKzX zrILXRV=TvLap0$_!xl}wxBMzsN$~m#V8s0o&?sE&LQ3@@etbI_C$5(~)Y~z6YD9zv zF4fxg((%SsLA%pO(RN($#nn@z74TmOK0s1*f(75bif4xnPuf=b9K3QlyjpeRWm=6T z>K^XEYdwjqzc8?uigtFD!PiG4=;<=G>ij-!w5I#Z4r80BRlL*2(gu4qffPaq*=#bU z&8+%e@}x{hYPI#nw^6@Vua~ZMclw4xG%IPj_tqg+8M2+F9L$+xy5bk?>r}dN$2BLs zFxL24Iizd&berL)L4PK;jBMXrJT7=T$$He?`J`Rp+vUrbF6rauNW27IM`!Vg+QDTy z13<}>e92v7xXj#%uvlBe@lsAmu>I`Ps-Lbp_b^ua-hR0!osviJzQ^kh^WSug)3bF* z@Ory3+Dn}9c*?0A9GEdgwKlNqrzq!#DwzH1$t`ej8-T9QteqcvDoGoISEBWLaJi)@ z`s<#z725Gqvzs$N3(2d1R4-cD5`jv2>l*uF)T(!B*AdR+h0bU+s#&R__dSEZ!i}o6zsNc%tVi*+$7s0gMK>QpZkcrcv%Orfs2q= zzuQEY=;;*%P&8AT$_3QJnQi`!sepAf7TmvY86l)%$8|WCXvtC2rZj>T2B`N_Bfp0+ zx4m>s;|mY}NrfdG&6IF*25;-|pIQio?!VcZ^*a3aD`uAJv}%D_f}a?Lt=S}E!_>RQ zk73r>C@3V{bgv^cILef&?MumPvWNA6ouaiwl2^FL9XKqW4k2c8={_ zjj(vi(9?6nUC~H3wzT|$S~%b}wy^5q6}*WGW&eAse)sQG{S~?JX7eyig)oh%tZ?Ol z=|vWhdq&^Og5%qG*$2BGU6oMVUU@;cl*R1J_jP>@Y50{L1Hj-;2hn0_-$y@d$LNmx zpzWAv2QAj6X1slq=F-~cibsNy?dXfL=K>HtKdZW-KL`D^eb?Qc2Kv{Zkvgbeadqt# z4-_a0>jFQJX-Nq<=pxDtxf0?H?*tS0H=_!v7b*xSJ?7{+3;x< z20HH4BG=Zlc_pmU}G?3~A|ivs8YKzns=;WHmh&Xe0J<%aptKYN9>S0@rvl zvVN`wn zt14by*yh5ma-CHZ9DNtDwjACc86@vJQ}m>tmtgzi`+SnDzeBxRKA7yWfHe@)PF>@W z&uYvu+G{azol?-n6%sJe3Zo{Ti;Jix1Qz35eP0ngnn6!Y@KQCRx@J@R9oPN_^YfsV zN3HY{MoM<@gNle%AK`KkyR5aHqQC#X166zzC{pY&}d1;H8l)Bp+fv&0|ChJL8r z+7DN)bib8O2dmw=KNM74Y}|88J9WnR6ozfr${1YidxK1~_<6+v5E5MZ6d_?ParB|~ z*`DWe`&B)Jr2e|MPgC6Ij=_~yfWZq8O$`*);`e3m-aZa>!}@K)HRiwl_fF1l#*ox` zH3P06KIE)Ok2Vuo8nZ~0oXXjxzIdHeQzacgD9TQT8Z~l6G;rLGd2QZRU4wyjFcqXWC7gaJFlOnA;0K-Dm*Ytt*< zlI0nW!W%B?2vqquw4Xa**3=qB&78|kAldp^IAnh|gWZNuO2Wmq&(w z+iHKrH0gX9B1q|$b{$4XcWhVSw+<1d%a~}|SR6iBTs)#zr#Scj58{NkY3BG8&>8us z%UAoKx_m#h{SY=mEn|Y^G{=J6FMjKV+Z*(x)>hCbQ_;G+ODtT;p-{*uOdvyqi$1 z&ZA>J+eGEnj5c&`5S)M0sQJ&7vAX7|eojL#4IyJ=gn@0g|E|R0pK9-%EQ5%xDSkM6 zuLGs67S=q8GpMTlJ@aOPKyj zhHB$?0C`t7ASHb)3`tsfvk`i4JYKk;DQYrBL>ws9+$z}9wQUA4GdFzJ^n%hFD>^xY z5i2Zj()ZA5VMh)r!rxFxBwx6IAcf+JNeA;F^>$)z$TR~&i$b4j8*yzld71#7LG>FH*BxU9>$h1kDl%XWsG;)lg&B||E{uQw0 z^bd<%dZs&fDAYZ6?F5AJxYjL&i7~*427JmFNO}&QQ-pACGvWC_sM-&Nyx#NmpxatG zYTQ3RYrXb$WDJU!x22arMWpahX7i+`gfhbU@{YdQT1j}>n} z4AX;c9r!C=Z$cklD@Gn2bwqd3jPYt~DgVIbTf#gy?wt?S;QAcU^u#1Cp@oql`^WfQ zCI*&xxYS+f$a1XN!#h(zY_h#qWkK4faCt(S8KB1>J9yN0PMG)A&9^07EL*t=o4(wk zm5RTJP`C`E*xDG){wn%27!jK$#w6mKZ<2c<#f6t&tL$1`XAIUFeP`8AZ|Vpa(-n@j zMmOFEZ|?3&y`Xrs%?j6ZNYi%$1l??fIr&l>_66K)&Ut4U=0r!|mm8CMMplnf=gKX- zgnTjs?Zi5GS&;*0H9rNiXy$qQLb#^LjlQ>W_tQu3ljny`bDt*eH|!Kn2iEDN&>qpI z=vSn__*wneilg}3mP{eUz)9Dd@!-3k@`j-S0poY}LOO`@cPZR!&U%H@B??9jm@z>W z5C@^;vxtko&Bfa|YJiTvXXxXGT_+QXmRlusw4RTx|1Htww`{nX-p=cg$o}&#C0F9_ z78Oe4gu#nK%Q;|uh<;S*wDIejEdXFT%x=Om(X)Y~7^&TDX`zM9E*ik)62(QcCD?Kw zspE7@VwDzRwhrB#UK)w>Q+ZVFOFb`_loq=H76dY9{nVdxBYhJD5tnDz)NGEpNBX+> z12_QkqJt3Ew`wyVIkadPRM=>0`h=xZR`_a|0#e*s4W^D$JpcLdY*=0o z_+bG9xv<#PtZN@?VdFTbTvQ)q7NkXTc~;f&sapmMphOXxF-7(V>z_oifF)Ekf{xXb z>A|3iYMwHmq>bV4kU1*X-n+>i5F`me`;vadJqE?gN@Jg%K>v~zX&=mwFCZiV(;Yx@!K+-odkdT$eaS<@+=_?}!c~bVMAHP2E3;Cf zWC`%G#Dj)8l-xDi1_>9vCKbRF12z2Kr-#eh7h`g|x6b^K`XbQR-}$}s5@=WaKYHun z0uX5X;kMG|ueSmIE${xzxSQXl^u9>217aZKtX#kau1oLfKH54}=2EE`7_X zc>gGA*D-MUd8#EV_cJBCew73<9|L&q%#;WrPtmp*h}w4PiGR?R#H`*S2s zIs2{pTZNlmF@Q7)Y7fNi+mD<@-1B*w4Qry-nH`A?qV2Bkd<<#0Y1I{}Q&cc(K;uF^ zac4zZ!_dwsjK`A4%~L4vM}LmgN-IqDzNC`hcIrlC7uG*1T@1NBfI)<6jV|x`Gs)P} zB>5VTEBh%gCatT{x_bo{4J~}1cMAV@6-m=w_d}O#Qv8o|*h9I{eQM`A5WXQ{&Lm_E z9|2qx8psmp*)nnx0aOPE3kHeD8d`YyGcs}?a>GT`aHjpkZ`{WNmAV9-tw*s~UxTMM zFH2fWjG$7XEZng%LZ)2lHVE#5DN93lYB5iIFrR2bV+6z#y!nC7J%U@&zW;6whmkS z{e(+OrhT+PJ@qH+L#9M%;tKjQt}sZzP6O>SbFRbePW}EG!INCvK<`6mgqNC|s=EW| zFV!VtG0KBJ{?|ERf{V`3ar@&8SbAFq5n432+ktH%c7OSjD|A z_xSasUn{`QobKr4`i6HXgB^chNjW{nRv8w-Q z^Lkb)>-z9=cYhc9r+2lbQ;mY%pX}|AukcG%DQ@t=nw3NiIcA=J5DRDVgN^MWwM&#m zkCAhpa`5{USc*s>Rgk&e8s2(LcP6fskYJQffno;m2rLn#3X?m=rWS&74$3M=Vuq*@ zKY0MBKq{^A*k*g6EoV!K1C`Hm5iKbTjUf)}3Pgj`cDHfOK$9;d_5_%G{XY&^M~$L> z)@(wf7Jmo>1O9Wj?Z3x{AduUw|2({dPW_nbmi$(O$_l#~@PZZytgfe4diTML{{fjn B`L_T7 literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Content/Events/Custom Events/Images/CreationProcess.PNG.import b/addons/dialogic/Documentation/Content/Events/Custom Events/Images/CreationProcess.PNG.import new file mode 100644 index 0000000..f5d56f1 --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/Custom Events/Images/CreationProcess.PNG.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/CreationProcess.PNG-355f2912bdbee7a7f8a61573c5cd89c3.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Documentation/Content/Events/Custom Events/Images/CreationProcess.PNG" +dest_files=[ "res://.import/CreationProcess.PNG-355f2912bdbee7a7f8a61573c5cd89c3.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Documentation/Content/Events/Custom Events/Images/CustomEventsShowOff.PNG b/addons/dialogic/Documentation/Content/Events/Custom Events/Images/CustomEventsShowOff.PNG new file mode 100644 index 0000000000000000000000000000000000000000..65c309b78cf211d03af51186839ad6e1afcd782b GIT binary patch literal 16110 zcmeIZWn7e7+c%7g3MwF?ATX4JAR!H9A}H?>^s}>YnUU&A2(I zI8W`GiA_u{l1#yJkb?!|9eoWA=O)&@U2gfA7VFMR`@PuBid4hFPH6EX&e|>C+WyRJ z&pNp)^vkcU$5kw{DkI{iid0ONcb6TilcCM4rni^tFX7?ICmv*!i)EdC>8n@IEkDmN z+B>4;-k8)1JTJspArH{HX95ir`d(~HNfC~#g0jS*XY2=yJqY0)#HQ!sw)(7Ck%RQF zLMj$+kMkRX9t=7=J9P2~Lpr6_t(VNh`%zkAgDA2^;~$^%0&Ie`E1VONighjPO&z60 z6X87~*Mio)$s>xw-i(P_>(B_ZKpU05kZ=`s01L=h1A?&U_s7+VMOm z76Lop#qNCTxhEHs&^ewqq_8h z8aoIe$zs+im4!@i1XS|qLFTU~kBzTKN*|kqW*Ow0sN|{ba!aN_Qabl*IktBwpRIab z!NZFtUx(cD2gfv?Xs7*r2oiKyc=@@6EL%9tn>;wqmdi(~`HK%0?hu{7VC~*^fVe)t zvOjLWZc<+`UarcD@r_FN2bV28jM8Y_2wv9T5x@{tWt=o*8#=3NKhR_^U znWIsZp}z;Sx1Hv9Vp2eGUMEQ*u7(|V>>I;cEF7@%#l>mikCmKpBdYMtZY~C$pTN2M zVu($kVGUTjczFElka%w^;=TOm7$8gr(D6!saidIV?zRu+9SvO}nsqRS8tKx_gX}0g zQ4o^dgn_eU5b7#b%3nZYPRiLmU0WT&ci^@B);_mDPbD}O=dN9S3`ClAm2GZsw6nj` z5XwVjx{#E`lv*;|@@YtCZZ4kPe7L%X1?@0hzst3BQnvUw?kq@AzR3iU>Fifo`q-ht zYOK1I?Vp&X>b8CcFWfw{2(Iqoe1?me{_{afIbGHni-s86>u3JpfU~>&pgi^bfC-N+ zBJ=62hO$~Ns*t0m0AL88>Z0=aZpIbtcbo#_XUoSW0f|eNthLWleb1zrY${VTH|+(j zKA>8OQFE^;nW#SdUQ?eeS*4S8aInH_Iob5AYPbRu8DFV1u1>}cDp`fs9<6lZGvdOy z?Q@V=j?FyFH5;Z@HWmcsX%$xx5~>J`iGa*Ui{h+CYCA*v1iUs%=X5)H2CS^ylp7<= z%g7TOR(Y+M`E4fmvpbHONNJYS4mIi&UuBXa=%63?Ee8+$b>ARs1ED|Aac%tY7 zi_Z6+SBY(ku)nu@HMG=cSz4tM zAZy^^-F?t!`^ovohyB{d2#bmYj}s!$v2G)27Wnzzy?UXuA8Jz~kM)3L&}MmW#T7Gb z)fQqdkZzf>^x#WIi$WaFVv*~tYyc~fg6pr8rx|cW?Hh9aA@e6L8zPa4lh@pgtKa9t zrApA~#r^{6mxvW7r<@aL7w zIn0WB(J;Rj`2qFGOa%`kOu8RCu|oe$Bz z1&bVs9$$u13*DNx_7hz)SA?(LEL|bEqvt0Di61oo%u3lg9Q3$N$YF!qVT#r(F!8FE zQ$pXs2Ir_5Fg+D7{lU0Vc|YQwJlhtU=(aPEavn6NTX#MIjLD^sfwxXrb!k4P%?5Eq zf0_LdyZVSo&r~W0U7(f1B7(UU<|dHtSPj4SCgP}s|*?Z5czS#lH+Prb#~A?PJL#7$Rn zTi-il!{4Oq6&1Sk9CzyIbj*(|}$ zQd}eNUz~EbX;+x2l7%OUc&Kko)v+~T&o=2=>1V~n&X&CsJl-L$yQ*L0s3kk8hPB!b z3S4XtKK#-+zMLgJo@1R)NDZ&ulXu$;)<2*BvNMdPmLDqS#~sml&$7=L*EvV)qYg53 z&)6s$Nu!-E-qdFIBji4c^B}lbb{~CZ(K|x~_jKy*G28xg;MsH z@#0_1*=?G2v3OEOpY!PalzX4-@Qo1{d!GY@YWCl|St!}03w6c4=zSu>fUNsLp+ET1 z>cxhzoBdE!SpYRb2rr(LUitXN$?v@940uqyz)VaYqdHc6W8E^~lbXQgA3Q)V;R3N} z+DcJS*n5roNJ-=7;(cWHS+1`g<4!fW1UTWOB!DLg8%cpTMDsS1eh;<7|3G%JtR9*B zgWprn65M7cz*Q=*`hjo!jimI7x8cCAshOm3`YB{%K%`Oei+^6B8J|epX)A_pJavwt zxHn7i6A?&w?yMQPr+rZE4;D|N$4&72{X{5MeGlSY(-92xd|R;z-&>en&i%26USq`b zm!KiZ^F_4bl?D%?P9M!+V}VlF9wu|$jG(exK)c&v5nx$$DyF0Hw{rcKqpNq|0=%9z zey6RyGVR!Q*Ik_|z5UzN%u2eEa)#uBo#|PNpSkRP%Gi~Eu!7n@*P%|?nhr(J{omsQ z?~)*Z+}`AUxmDE^nTak%KLouSsV-?ClwqHA9tzHq8S;>AsSUNCJ>^3pu&?ZkregJk z;c^yH5^GJ-s@!dRQjk((CcDs?qw zv_M;tB>(4VFpOn8MswDKDDJ|SDmPq)!U9_O+&cnpq7|--)nOf%M?7=)mY?a9cWE;d zO>HbZV^Xdq3y*P->DyG$M~c9rk?_RWJ(-|&hUPmlJ{$_I+??omDa`;<9PdH z`J%z%{voZR>T+6+8W&KUC3<(hrMsro_}3-#qk|~oVxsHBYhs2nrn=RRsx7w=;HDGB zs4`QBIgwE^4(CWJk^pYcAfI(kfpv|8_k+le7bU zbJ@e6=yV%8jdzd^hY=tlSM`M9mB$rq&e7e}2c11#hEq?3LKnBv9GJeDsWqgq47_jj z?kO`ZRruOh(M@2kpA$Apx2%84o7>jY9(7zcEZ7;N54jSCk~B%QytN@RI^m(cxUG*c zOP&q{ud1(eOT4P z!>ZpHQLRwj-k3!_?>Wqe^jb^?SU ztlAV_jrH$$-_Y#m`fHk4Peph?#_Kw~qt1im<)fd6vkM)Ube31I;W?nqPk@@eFtPzpjq2JZlhZlB)HjE zuasSUYlUwV|K5qqB+#ozM2HoG&YE&68@TzaiZ}Sd$qt7-zx3VSKHq%!I&2VSV$r>A zsKx#Ehv(*LtiI{l%A^Fw5x;9suG8<}7?}+174crs7IfM8!q3f^01VJWQurexS=iAT z-93Cpy0iDV%}jsE^Q0-|GZr>5U9^+_DabApHn3sOu$qu0;3XFr@|ksAh$JHUtfhTI z+A>S=7e|j_@=&!x&5OsN(du8Rgl+|~c~_F0UOYD!abY+AJYyS_mffRypZvoSDg5rh zX?$JXZK?IKC*RkwOBu{Q9}~oQDrsH_uQL`72$&*=3fE;vE0tj|5B$0~n?k3utG*V{EK+e1`PhQzdjY&11F9*e^7gkH2LCU9a%5U~^D z4J@l23Y3C2mA9xwrF)WlBdDu3+S4*jvy3r~O~gcyVXKjOc40TBzRmcu2WHbBO3D}) zPptFwtLg@G(Gsx*BM;D*&tmfVce;_hvZYS@=Q2v4*=i1G`48;{nfY^}dLs@L2ZGIP zxc%H$tk){KQ@7~_tv}mtvOmp6L?LibaoPT6EQEJlVFzn#Q5}187y!kQP@yH zQ(y)`(UY?VeVP{kEg!+>RkFbEyRLye73_`)`tk78U^^^GU8TSo6&i8#= z5|ST@CkN)&$MU$%#|+vV4%_@6g(e(Euk4R?wiIHFT9Y#*7WX~01-OkDxOuc&8kBk~ zjONLA4}Bj}&-I}k`m2A@n~!COv5Z%i(a*ec_jYe^$GUsx=>^H_pGz*ITnaRp_mE&O z#cf&KDZDpcb{I}5!F!+Z@lCz(3W#=fp2t?-cB(t<_v!q8C?4T^`L@%k>|c#pDdz$L zAZ2Z_Jy3HR_yJIWS4z^!qi6bLiY-5mcqO7Y+0+Hn=TACjX3ugw=F@c3qi*N1NYQ1LNVLSV zYONQ5`XbphY~9AwctJ=H>=mTLW`yaBg-fcj{X*T*qfTmjr^hbSaXliC&zPDR?Dtda z-l4Q{E{C(R&>PuQ%V&j}Ws__g9wf<;EIhz|PV1#vc3^$ETj`a;hOOWOst3u2)6*KJ zt*x;8EHCR?^0GJ1u9E<34Op6qd$Y2wfw%kfIT%lkFDF-iD zg|lhcw1=0on53y7s(*?Fv6X*V(0{(V8Xd1s)AISMGRDOlouo1S)Nobm1|;1JRzsh! z_^=-vMS1&MtPRAy$Cb3xPRfr|@4cG0qlCJi%MUdYV6@w_%9|pX3U3VS?u9wqeKgSy zg`f5*lUBC`!9%vtL_~y+yn*^v%E9^)`|8EhEUWyRPrNOUxZGOq6u-Q3Q$z+5IpS4! z66UdTIiCu?R;hNCfM$*SAe8yQ?rjkve3af|l zaM-&hQiOV`U5`65(yP;-@Z^RbV#lCUFD>AcBPZ-+W#-I7DUnZ%w`4FtD~^4H9ane_ zeY^|Ly*Q`kp;wclqL^9uJfuB=Va&IaqR@SKA6L=7Fb@J(R|dkv?_;Mfn1jFengT$Ugn6ol#S4-GVI<9n(wwrI=B>A7U#H66`X+n)6w7 z{cy8C(XBl8K-d4`_V~+U*CnxaHnhkm{ZeF#;vz~Y?Jy^u5c2wMit4kAL;TF~Q^+-1 z5lp5B#*sBtF>f2KDzq=Nx*_JuUeJZBkC~hVxE<|GO}EmXZfr6-vAKlXdV^}|^QUJd zw)ZQ^7%Mdcz?5ZAKfjThekI9;E2$d#i6PO7JSb8!D$#EpL-D(#OtN3cslF`be(JOP z(N9WxLXuXUn`dLXA^Kp~^JZB6Kx!1B@d*(OJ)UzKoGBV+Ck1_5fHf-^Fx`VWDcqhc zM)#v=PFSb<3=7N}Bl;GJ@0|!XgMVjvL-Zw+2(_BR;Nq1B1ysHxUI}7mTszyXbe)F{ zSg+kNs1EtXMjD)LtMgFOA6WgFVDl@dwWjChU1|25A$CNSmdX?ZZVqH${~LR#0esD4 z6-+P(yZg%8J<6x;C4Zw2)j2qj3I2Rli*xR?<+5)MuuP~KZkDz@0DatJg(93C zjz$C>ywA^s(j}+GdESh8ESx)Tzs8Hx~8_K|MZ#n-?ADD-(XyaES` z15iuLL$dr?Q>LZ}SWdmm64%!xWro%&}i9<=Ov=?|@(G-PVSt-3t6}!Ys zMh!PJg)JrxS{{{!|Zt4P8PU7E!u*P%l>OgImP65yipiW#o3K-?9v$9!V>(w6taQ+%@MSf*m zu2^#-;{dtM?|)h7)CE|89!_E4VZ86a(_<<9Ff}tM+ud0Lc|SJYM{)<%gcR^x3VlzM zXIg#(tw7bUo490(N05ESybdwP9;vSJM zoBHqoB*87$W+zp*Cx7fa$Ri#UxI7`Kr+Y!Gyb{OAIkScyUtbUx>lkXVXTUu>VkZSq z2VprQxTf%KkS_5{3mg2nc+C>9L!12_D~!)d0nmVlS0JzaxPIkMu-%U#W&EEXt@Di^ z{N`AGs24PnVg-F%)7J+o)h_Tqp7{Mgti~TA253$z=f6GhZ`Ng*vu#C;`L@ypJ<&J& z0XFIu!-;EL>Xm%)&Ja8en# z-Qvy6vqu`(j(~so5N^;Du*_xX8XEeTdD*(PBbPV|H-2~leXuATJ9}@PAkvip5(u|> z+;F;YwmYsyd^hM1i>hjVQAps?3ypaLB;w`YOfHbBW4;VUrJP#%pQeQHH#m)}kvw9( z;Q4d`CXaBLLOUoBS-*vA29IAaQXHd-V(-@;n{7)7)l=XySgy?1e>Z3y&B}(hiRlzX zMtUE5wO4!Uk#p*B4p~+?4tpm6IIQjaTe8}9(JL~Y z9th6i%#IhIGno?Cs;JNR+{u_VxrnVfu)Ah%r2VE!k-?TDVkc%b@v8wU(rK!`fQ>&B zJM&Ir|A1D2fov*q)tXM^-4s6K$zcbd&is_0t?N_k$zMaeiB)D5M$o#4Y8Fo&Vs)rK zTTQ$5`3s_L7CNgHgtP1`nDmkQ!d`<$qh;97ly3Ih{Z2fevRoP>>`&H=c^(*J|B6x( z%kpyx5nVhD8CpoP7#g!C-OMP!txbT&>|pneusezWCW_0yj6qTa5cfUvjZpICs>-xc zm(>mN3;JNUfcG};IKM^nq+LsNV{+8~Av1a$Hf$$l{&~AR0$i+?3r5?_buJO|B+bM2 z6CD95AXKQZ>vig{9FC5`cuF8foh!sd%6qkjOkKPK{s%PA-ewcTDTo@h=^Ku|NB%Qf?KeLv5uZ6At2>KV8gBsXobVq%ML;YXC2-HJ+1s21 zT1aHnD0T+*#&-HT9Wmej^Dr-RzSWASU?BkNJH#F?@k~T(A7&!_(0E-;4^Y^s;1B9c&OBMu$$D2%BMbRKv7uz7JuLHlSB@IB7@F zsxGg$Ox6FUH34ce$`L`N!S&v1cl4Vm4={SsUfZ%>zXrq9Y4oi5emHflvWD!DR5y9&I(u%Ng1JF{2TWso-Yb+N;ZZ)YQW- z5fP;1@S|euCQ|I>l5@LE<+7gaTIuoR1#JLHw$lENg)gru;^+Cdo{vZ30xANyr2GEJ zW!tXO^SC)~p(?*N_opDJz0Hd9?)%&;kek_Fo;$xt-x}i(R%~`!T1+G@Ewn-%4^g@V?WJj+lIT&xD9($Y{!jfZ8FZ@U304ehLP=p`jHFmvTLZh1f^`s^`CE4-v7=>?`~X!V;Ph)9CNbUK=6vA8Yu zEm=43{W=mFltEKObgW+Y^rSlp&tc|1z;`qgLI%5#opb#$)Fw9~INH9bx|}Y`Ui-Z> z2v1Lciit)|6rARsqP<}UM~@mKTn`Fn+d4TL*ufCEV=VHS<(cbq90z_I8)-e)mX&|j z*hsR!)WqNex9~XLgoZlDn$CYi-}Of#8ajswcL7C}ld!VN-XEsWsGn}eqFM2a zrF}~we?lpSVPj5L8oX&@fS($|!ai9G*gI}&#rNALcTrVpKII&J=(6cWpKoI0JX|%* z*~YuCXB;3{zWaJ22wd{5H75YftdtymvcH-bLE(Mq;>~=9IgCR?y+s~@kgnV5<+juM z=O@Kj?ehiObD0EQ^9Rg|Nn0I!pylzZ;@A1=3g>%D*w^RFDd#Ngx+pI|ry?FZTu8L- zNR{xbT_4C%dXXU$TB}TdZ_>aWDd^yqx7<_|8$qzOVI=ASm7OU(b<@y zx+iWY&v)hZGz2?{aVPv8_}yQvPCe;;c5^fECs%YZI zk4cPIKh;gah-BBERM(mGs0%tVc7})}Ve4=!9b_+?SoyDL{^!y()812TyVT=uU)Dw) zrR*IxuTStC@|P^Kt2!??5{*`SD!n>WD|_16o#9Fr!(WA0nP_RJjYmH1yI_kYJneO{5D*5Vj z(DE{TNH(1BhyjS}#)#O*ItdIgs6*`;pzasy92%d0 zzQ--}RfNr}WNz9GN*oN6XWh;@8Q9+J7D{0x^{vVm0wi z`Fw`t{JYM$B+%cdR!ED!R3Ad^HRnvbxe25L(<`m7Z+tY0z;dSmhm|H7G{=eE;WQpC zHSV$hy$z4}O-Jqs*8eIv1`;M~Bk2s`pKkwr+f7Oh57`u&EI_9D_`tvRc~L!DlD&z2 z;_PiEP-?rnohoDshdv!}1X`PUYZYf6nS!nFqCs|z^LrfK;rV3fS+&fK+|)(7V5zyi z`kt#kEops;lO^)#mNh5g%_1@x0H-isY0Wez;CW=%ckX?L_TIltNb^^k(^@oDmiKCX zp-xqT5Ec9u?K6QTkdR1@F4BGq=vwAi4^#vr${!4fv5^{3ub~joyBLbViyeG^cFNqq z_4@$$pZ#F~q0lnsZK)EC`sAlGL+k;O=G$#ysZ`_3NPV|ZYY>NO(V4S*%sb#IE>n8_M zc^pE&9IXV#BoybozmJ?iik~4HV-f)%}Le1YZUhlXZN$F$IMC!r$B9?u7#q22E zDVZF;)cBPu)p4osFD+Wa->0piHqoE3RYK^{g29ay3m>3>S3vKIQR~8pgy~AI1hf_R@niUo?8q5zLO0#MdSq+n;@R%My?hd)T9VUPh zqH&^1Qv776xE;|;`vfeK3vARk4z?Jmd-eNpRvL`I|{ z6Gpop!-fdVUV#6W)H{w)OJwCjcluf&0ASD6E%}pG}MvyPuLGBKpaWG5MjqKxA^V zO?JoHRGrSj+9;TaikC~(wI@Yvvw-gAMd;g`KWD9ucY-;)Z8hAKN#S@l{@~`LcL=g= z2EYOIk&L+mU4OuLyeo!vIL>c4Varp=`sCJJoNrTbA>jXL;Dlj>2NwHqdfD$tK5hRJ zV*V)!*qO3?ey4z#m)cLOtVq^q<{sI5; z0>0el2V0RkeY~jUf1Us$Q^L7baE18rRN?icS#j=xe_$gJ%YQ!oRy05$>-ld~`R|XD z6~QQ{r;ZH$Mwz`muc?6M0ovwwn#CFB+CAevc;y`aw&>W5g|QMqSOfMeo|D2;3vf;q zi^c$OajpK4XFRorx6UmDFW~G#g0b_j>RZ#VXKw- zw4WB1KJIcGbiFp!D&GSwXD|tO-tqaHy-)_2l6w06TYYJ7gHTO_!?wMW=6a@tJjC=&D!uos zF-8>WepWeA>!bun2+%F9H7v%E!J{MoE1ksJZI`J(aBXLtv-Mg4xVjLdw;!A?-)&;Q z@f=P_w1)&B7AsBlt?=ctIN2-@8f5lGrvsP4+!YrYI{jmb!$M*1bB(? zbzzbO6vZFFU&<*^GW$LGthH+?Bsi|96QEo&|3>@B2oH?|x@Ro=szR=<(Z#w@K=6FJ z_&R^shDRb4n?zGX6#cN1UmgH?+~zBn%f$NYj)n@*+8ZKAfxK43?OH{9Lhc(1I)`nA z<0M_CZ;OqkF{dXk$WQw(^@xo0^I!4*bZEJPJK$qKUT}$cw{^1a!S|L1Ca53x+geMO zZ4OWROo=`w5n0eOU)1xv>BXdhRBMpCPUbk6J0QRER6gb(Iw0`M*f#pM1jI5Vo=bIS zvz`+}oE*MVp(Br!-#1zhq``R=UAorXI*qYuQB2=*CsPZ5+YMArIpW_)Ks*5ydI+he z5F=s*jFBCCTERH=DZ{7recG>XzUrK;L=RiQt*F7Auvj(Qwlk#j^7fudj4!tPfr#m| zzTeyjZgJ7S1ROu}tiur`qM)Bw8QAzKLOfl!%)VA_`jG@BxTm#>23u5Ue~!5KTlV+A zMu{^#R^|_yS@ewOPs`du52u!ya{Dg00?Mp3RXr=WvSE>~CoxkT_y0;?93;J8S<97n zc;|}~hL@*ep>5lN+iK2Z>iBV84`A8!Jy<6AydAZGzrO1r(va*iR?uvJGGT0MB+J`N zN%H%Ex!42*s#LRW(eZiu1nEyV*K7{FcQeuet9Pf0UUzYXq<%;7SZOs?pUhJqi3jR|8o$#c8MWh zh6^~wuvV{M5tKSWl~fN9beY%J(e5}PkLvFehdg~|EupgBYLWW{XOzTg(ST8s9ki9w z6o@lNx?xUdWiw0=3dnd4)ncdH2;U5+=e>F9$T(S(ZXJ_hsgm)c)uW~evlOi7u$oq# zO-+&j!Z;av2-!{AzQB?I%llSB9XF|Va!FUUc(`@0U8P_7j`B69OgVLx(u@aKj@Gh1 zK+CxS9Zw_4vb39<7vsXoww6zg$N{p$-pkl7q~5|pOa zV_LavxD`lj-Hinf6h+bU48^lv+5+k6ZZK;2-9ae5hP}N4R_vePjRXv2Lh$QHifgyh zc|Fz@%(XTi<6;+Q_#-I@`_8!qfJK5b1^h@VEWFv=eic^l6o&ax811h<{We3y^1Td4 z`B*#;1Us`5{dJ);NI@`4CirrxV)HAe0q%hPa{Yg*ZBjUyV95U_#PJEk+4I#tE;I$s z)rL1?k~1PzCcCwek_59_+v%LR5{M!tu|}5{cOlHmfj=GtH%;ROH0BWad^9 z+BiaUKjSx@#M~vDx5-p=dpaT%hgOBd*t*tGoATI&ys64Sj)=yH!H&(gWkb`s{s1;^ z!y^I8z6V1StudcgU1?r?cq>i2RHCG+6llL-!isT0Kj<5Z)qMwHuVBMbGWRDg4(aUUNO3Z-QK@^P=+>7#X}N zQYlb9WMd`cnCY@K%T70KnaX0TfqbK_1aRsI%R!QwpeK_j9e~5=*?9yl47jWS$ylmD zn?9pl?%!UoUYHQlYulhkJG|G@k;dBSlvEQ2U8`DNi?RHg-kMpj);W&Lii}Zo*e$YM zRw!;${EG;9R%zh=f)igkh+8=RZ2H&?;2rJ_=mgN{fb=Z+SP7WMTwG!;1?&&cubZrV zv;iasgUz>}H)(l4FD3TN$T+STcl1+HJUg5jMs)F}?&ffI1eC?iomA*7oE`|&Rl=Q1 z#;IUS+gHJIHx5FVCSKUgPx5#l5+-SMt^<@thNdI5;eO5>5TAHD;3}3+#-$NL$Ymk5 ze5Mqyr`(V51xu>(Suk^$Cf@@~kwQ9mcsloh#m z4Hnu6-x@m`1qXtu(#=E=FvF&VtbxUV0PwlxxZRHi@d7b`EX)jLp&R^?fs9R2{Hx?* zTeSO|^NF|r_QA`3Usz|6xb#8DCG*YQ0KM=brPZM13;}1W5tHWu>b9?m#-Ly6Ei1L6 znl^;J7t)u;jn;6y{R)n^uV42tYAy(vs_ZVla)`{?#CzEQ%xSk@wX+L zqOt}S61HZ6$f~8;x{!`@kT{o#;0_Cd$S5z#(jI6mkgO8Tx!mc5(whUpXII8g4o7Iu zx<$-IybKk9!@9!$;6Xdme)1(lKX7GX1&+PQn+AS=lC>NiaO){EAb@UVe42`p&9poc zdpu-j>Sp7duJErHw6I%2n-N*MD1L6ys}7byY+$mb=cYt6 zF~sqt>jsf*sjVz*rdr6!Y(9xO!x%T3KV+T-fwAYyVe{Y9qLh#KAYyKwfYSfz!n+R` zHC}==dnrA0yS%zD(_p^rOxj)tgl~Qu@hgjN!7p+;mLB9Y6C(&FB#BIEaIbS!-v+^x zM7&3}Htf$04t`}2KwddsTp3ugn?u!I>gj8;SE$+^_@%cPdX)yS&`Iufa}{=6FP6p~ zY^helU*F|>ZXYjR2t&ZlFiqed8|8eF&D>NBxV0Cs>P96wojGp^KDZL3U>AEYyZ1ec z+j`glVC!Z5Jwo^{&R-{iQg?MrWXwQL+ny`h%}^RWrOE9Ccgrfu$4!X%=-zR$x1rGa z$+(*SYaray4HsxfulG4r`FN*uT1@nd>ulQzAguy7rXu^lB;o|@jR_CNv!D={;VPMs zc#D;qjvHn6>%-qjXz$F@8Yti&+j{K-&Q2*Jz4-W9h1`DtN*pE81qB_uj=@pTNkR_o{=|>R4tUSBYXCA6>C6Kib6R7= zX}Y)qwf6LS|#zqHr3&o?@al$P_^O2mxoaPKLpxX8Hh6+Cn z)e1IB{^-lNL1FypN(_-V#1X=P^geoOuUigR2T?XF1M;g%K8$)-ec&1kje=GTl|px-Xay|O&`Fs5 zP?P*`;S<+lB>rq08K6|o*kO7k$rz3FkPP5f#oZ3RSNDbAsrOxQ(08cB<-D*HGi2u z`pvj%P-*#%jDde_P#}H4y33Hq@Jt$@gEDn-4Y;gS5UUiah^U$_wH@Lv=k2;I6iISB z$;b@0w)~{+eDIqr#|11N`C-v6GZ(nxDbw_u1C1z*#~8OHWdS6pqs2?Wx5`t|s#Y}h zCBi@kxwJ=#P{~MxZ-ia&wOX0DI`y~R$Kgx^>hizoAdyYGOkVwYOl>2np1}SViYMDv zw@$G$wR#xP7Q1we-1jJL$knVzi!?^uoFay<1S!Qk93NiLe44{JB8zXfF+xMX*rL8m z4GJ3qZfN47{&qnP{l0wzFn_Y<9BnIi0HY!GT409=Lht@8M-XbWA%iGTKjm~2YQ zbj#GPgevx2#m(=F#j0k28=ACStiPnBy0ugWw~zi~ElR9A$lm?m&LXwpCejPIM+jUj za)Ri)%}W0l;t42YPcb=Su~&i=W#$Ly&gQn20mWYEB0m@jr0ct9c}lEMrb;$BZX|JV z;EYjtk5bPVg=1vQFDyrHKyQ=*wFW;OSC9<(1Emn9#E$DHz;uqg=i~!ZEeEV%f1E=K z|J{MK1B`ZR`TxAM1{jw9ySeE9>OT7Oz{kI@IT1o|vEaQm0Juh=V!!CaZ9v6n_y7NY k{{L(oGUpm2s^+j)NEdBLDFTOI;$}cjT2ZR#`5WK=2c*Jr#Q*>R literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Content/Events/Custom Events/Images/CustomEventsShowOff.PNG.import b/addons/dialogic/Documentation/Content/Events/Custom Events/Images/CustomEventsShowOff.PNG.import new file mode 100644 index 0000000..a03a4cd --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/Custom Events/Images/CustomEventsShowOff.PNG.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/CustomEventsShowOff.PNG-8259387892650b073ac490070dac7fc2.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Documentation/Content/Events/Custom Events/Images/CustomEventsShowOff.PNG" +dest_files=[ "res://.import/CustomEventsShowOff.PNG-8259387892650b073ac490070dac7fc2.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Documentation/Content/Events/Custom Events/Images/EventBlock.png b/addons/dialogic/Documentation/Content/Events/Custom Events/Images/EventBlock.png new file mode 100644 index 0000000000000000000000000000000000000000..f617e371210442d986afc75e5da29f96dcb02856 GIT binary patch literal 10930 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 XwxrOXjN713E&`O~)ZUcJn0)>}oXxrS literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Content/Events/Custom Events/Images/EventBlock.png.import b/addons/dialogic/Documentation/Content/Events/Custom Events/Images/EventBlock.png.import new file mode 100644 index 0000000..21b0dcf --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/Custom Events/Images/EventBlock.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/EventBlock.png-2b24655050114017e0bf923099aa0714.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Documentation/Content/Events/Custom Events/Images/EventBlock.png" +dest_files=[ "res://.import/EventBlock.png-2b24655050114017e0bf923099aa0714.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Documentation/Content/Events/Custom Events/Images/EventBlock_EventData.PNG b/addons/dialogic/Documentation/Content/Events/Custom Events/Images/EventBlock_EventData.PNG new file mode 100644 index 0000000000000000000000000000000000000000..839fe75299f7caf6cae8132f3f3761aab5d77f68 GIT binary patch literal 6727 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 C+LWyT literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Content/Events/Custom Events/Images/EventBlock_EventData.PNG.import b/addons/dialogic/Documentation/Content/Events/Custom Events/Images/EventBlock_EventData.PNG.import new file mode 100644 index 0000000..7dd107c --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/Custom Events/Images/EventBlock_EventData.PNG.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/EventBlock_EventData.PNG-61942483b373332db327bcf3e23e37d4.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Documentation/Content/Events/Custom Events/Images/EventBlock_EventData.PNG" +dest_files=[ "res://.import/EventBlock_EventData.PNG-61942483b373332db327bcf3e23e37d4.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Documentation/Content/Events/Custom Events/ImportCustomEvents.md b/addons/dialogic/Documentation/Content/Events/Custom Events/ImportCustomEvents.md new file mode 100644 index 0000000..6c990f9 --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/Custom Events/ImportCustomEvents.md @@ -0,0 +1,9 @@ +# Importing custom events + +It's very easy to share `custom events` because they are pretty much self-contained. +You will just need to get the folder from someone. If you have it, move it into `res://dialogic/custom-events/`. + +Then enable custom events in Dialogic's settings menu (if you haven't already). +You should now find the custom event in the bottom of the event button panel on the right in the timeline editor. + +*Vòila! Hope it works ;)* \ No newline at end of file diff --git a/addons/dialogic/Documentation/Content/Events/Images/Call_Node.PNG b/addons/dialogic/Documentation/Content/Events/Images/Call_Node.PNG new file mode 100644 index 0000000000000000000000000000000000000000..81ecb56e24c62672681801b8c43301144cf96512 GIT binary patch literal 12523 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 a%|xZOD^Yv*di}P$g!N?y3-rYs_x~H5&YG$K literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Content/Events/Images/Call_Node.PNG.import b/addons/dialogic/Documentation/Content/Events/Images/Call_Node.PNG.import new file mode 100644 index 0000000..de462a5 --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/Images/Call_Node.PNG.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Call_Node.PNG-f719aeb3b34d67d458b47384bffd26dd.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Documentation/Content/Events/Images/Call_Node.PNG" +dest_files=[ "res://.import/Call_Node.PNG-f719aeb3b34d67d458b47384bffd26dd.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Documentation/Content/Events/Images/Event_Change_Timeline.PNG b/addons/dialogic/Documentation/Content/Events/Images/Event_Change_Timeline.PNG new file mode 100644 index 0000000000000000000000000000000000000000..81b1c1e20d150b249e5bda37c9e8ab28cd950a5b GIT binary patch literal 3208 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 literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Content/Events/Images/Event_Change_Timeline.PNG.import b/addons/dialogic/Documentation/Content/Events/Images/Event_Change_Timeline.PNG.import new file mode 100644 index 0000000..b696f35 --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/Images/Event_Change_Timeline.PNG.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Event_Change_Timeline.PNG-3613b62ffaabe4ec350f5c6f97611565.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Documentation/Content/Events/Images/Event_Change_Timeline.PNG" +dest_files=[ "res://.import/Event_Change_Timeline.PNG-3613b62ffaabe4ec350f5c6f97611565.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Documentation/Content/Events/Images/Event_Character_Join.PNG b/addons/dialogic/Documentation/Content/Events/Images/Event_Character_Join.PNG new file mode 100644 index 0000000000000000000000000000000000000000..335a21799869cb55510703a0a7b1879325c8f556 GIT binary patch literal 4945 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 literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Content/Events/Images/Event_Character_Join.PNG.import b/addons/dialogic/Documentation/Content/Events/Images/Event_Character_Join.PNG.import new file mode 100644 index 0000000..11c931f --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/Images/Event_Character_Join.PNG.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Event_Character_Join.PNG-c00e395692cca58b463fed8c9531c914.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Documentation/Content/Events/Images/Event_Character_Join.PNG" +dest_files=[ "res://.import/Event_Character_Join.PNG-c00e395692cca58b463fed8c9531c914.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Documentation/Content/Events/Images/Event_Character_Leave.PNG b/addons/dialogic/Documentation/Content/Events/Images/Event_Character_Leave.PNG new file mode 100644 index 0000000000000000000000000000000000000000..d51e9c13ac75c5519e1c1cc8cf37981c4c690aed GIT binary patch literal 2957 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 X*`d~Qpgmn6gaB4%S4@c}ZV&$ld>f84 literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Content/Events/Images/Event_Character_Leave.PNG.import b/addons/dialogic/Documentation/Content/Events/Images/Event_Character_Leave.PNG.import new file mode 100644 index 0000000..eab4588 --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/Images/Event_Character_Leave.PNG.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Event_Character_Leave.PNG-6bd42ebbbe4c9f56973b0c4c0d706b93.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Documentation/Content/Events/Images/Event_Character_Leave.PNG" +dest_files=[ "res://.import/Event_Character_Leave.PNG-6bd42ebbbe4c9f56973b0c4c0d706b93.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Documentation/Content/Events/Images/Event_Choice.PNG b/addons/dialogic/Documentation/Content/Events/Images/Event_Choice.PNG new file mode 100644 index 0000000000000000000000000000000000000000..d1802590c92d56573b4ba984c7f53ef2562210d6 GIT binary patch literal 3847 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 literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Content/Events/Images/Event_Choice.PNG.import b/addons/dialogic/Documentation/Content/Events/Images/Event_Choice.PNG.import new file mode 100644 index 0000000..39f10a2 --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/Images/Event_Choice.PNG.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Event_Choice.PNG-298ca290c2de63f7b8f94abfe35b45f0.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Documentation/Content/Events/Images/Event_Choice.PNG" +dest_files=[ "res://.import/Event_Choice.PNG-298ca290c2de63f7b8f94abfe35b45f0.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Documentation/Content/Events/Images/Event_Choice_Condition.PNG b/addons/dialogic/Documentation/Content/Events/Images/Event_Choice_Condition.PNG new file mode 100644 index 0000000000000000000000000000000000000000..9ff1a7385a0b8ec99b983254ea7d7c067ba45aaa GIT binary patch literal 6615 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 a?z@yloc4Pinc7*vgY7x{vlW)!3I747T#`-z literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Content/Events/Images/Event_Close_Dialog.PNG.import b/addons/dialogic/Documentation/Content/Events/Images/Event_Close_Dialog.PNG.import new file mode 100644 index 0000000..bda1042 --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/Images/Event_Close_Dialog.PNG.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Event_Close_Dialog.PNG-3654b068ff053b245b5a111cf97e619f.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Documentation/Content/Events/Images/Event_Close_Dialog.PNG" +dest_files=[ "res://.import/Event_Close_Dialog.PNG-3654b068ff053b245b5a111cf97e619f.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Documentation/Content/Events/Images/Event_Condition.PNG b/addons/dialogic/Documentation/Content/Events/Images/Event_Condition.PNG new file mode 100644 index 0000000000000000000000000000000000000000..81b3674567eb911d465214823cb0c32a59ec33f3 GIT binary patch literal 5330 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 IT6ZJ=0g`w2n*aa+ literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Content/Events/Images/Event_Condition.PNG.import b/addons/dialogic/Documentation/Content/Events/Images/Event_Condition.PNG.import new file mode 100644 index 0000000..02ae1a7 --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/Images/Event_Condition.PNG.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Event_Condition.PNG-7f4a2dbe15404fc55c0fdda27cd6fe3d.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Documentation/Content/Events/Images/Event_Condition.PNG" +dest_files=[ "res://.import/Event_Condition.PNG-7f4a2dbe15404fc55c0fdda27cd6fe3d.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Documentation/Content/Events/Images/Event_Condition_in_use.PNG b/addons/dialogic/Documentation/Content/Events/Images/Event_Condition_in_use.PNG new file mode 100644 index 0000000000000000000000000000000000000000..d9dbfb6a8df93043c2901b802f01e22d53634d46 GIT binary patch literal 13948 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%0DxxN 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 literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Content/Events/Images/Event_Emit_Signal.PNG.import b/addons/dialogic/Documentation/Content/Events/Images/Event_Emit_Signal.PNG.import new file mode 100644 index 0000000..2c1e9a4 --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/Images/Event_Emit_Signal.PNG.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Event_Emit_Signal.PNG-29a3fcdd35b5592c3ff1adca2227eaec.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Documentation/Content/Events/Images/Event_Emit_Signal.PNG" +dest_files=[ "res://.import/Event_Emit_Signal.PNG-29a3fcdd35b5592c3ff1adca2227eaec.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Documentation/Content/Events/Images/Event_End_Branch.PNG b/addons/dialogic/Documentation/Content/Events/Images/Event_End_Branch.PNG new file mode 100644 index 0000000000000000000000000000000000000000..3f9e384decb5a14e3694760da3ccad93cd438228 GIT binary patch literal 1999 zcmZ{lX;>5I7RLvrpzIa}%2r#eh#1x=y&%?rKmY*+3k6vlmW0(9mYNW;P(&aIRY7Ho z3IwSv8ny@m778fYAfS*yk{b{qNLXbF0n&;0KKHp_`eA0?_nh;bIWy+ zT_pejR9)a_y#Qc$1-Q1_qX6EoLwnl5haASs*&e84=nKJ(d?d^r1_00Vl(#~^0QY+@ z!~HM-pw=zBDgaLqJn9Et%#b1I%+>dz&rVL&!?dWxwheFV~a#@>&nhdI^{ zk=X(7j|3XqAMlcwQ+AJjyUR&KzEFvGRO3vge@^!K^JlRVWzL!YBWnlP8(l{{*R81~ zbKyx$zt*;f8seRlD}`1oG!?VXt7Q+wyrx6F-+{I0zM1Ovb9 zjB%6_OEAK{+mR}I;$sbZ&!{_vtNINWmaghlpr3^%CZa~4g@X3;ZSM*Rq~lTafEE~* zzWC8Z@sIjWi(GvRQ?B`yQ(!=X3CBX$a^Ve<`uKxN2CRrqXjZFvs#oTe7YDbN{<}|> zqXGE_*^i{oN4P4dLxV{sPI3T12^hS~K8K1%B+WAh4#Ouu4C!ci*ElN5gFo4Sikh5b zm@o{Qv*6D$H4=!84wz^77{^lA%D(}RyODM{|8Z@q(EFK{-miY_cN791gYx0P_vi)`Pjs z7Z`fR^?o&$8@QWmEvv0Vs;D(L+8*@(qGk|DxjuUO#MGm)fyVm^L`CJBzLogH@DiG zS1C)9#;@%P0-4VztA>^|gCnMQ1fsk|9bZvVd|P4!R?tJ5!+PSE?#0jolOazCd6*L- zoBUYGP@j>>G*E-CR=?Rjx?ZB3IEmC@O-#Wor zVoLZ{rE_a`!SC`^(%iT&+YsH19-3D}@UW8Y#;CVcHoqmWxHR{HZE|8bZc9tR|FAI<3S-kp7Sl7s!{i)@!O5kICwyOLQIM&z%U53GnT@h`=3N$RL^Z#~KW zQrlBoi$mi*L#GY(b;X4Z}GXGsIuE{NbErHH;OsM1h z0stX1n;vFt2uG{`WoBd5_tblHjIwqz+0IZWVdA}SyBg~zJqo6~j_Li9PqBtdW5=R# zxC0f4KE^DWMzQOwMa7G5$b!3rcI4TN>Jg0YZzE1eaX(?em zt9G9adZO#o>qAuXldYK3b?q$vM9I#aSR7WOsSA9F9KB!tNQmlCe@xd~voQz#H zVb_E=9gIz7P}HG84PU}a7Q7SYHR=npwkK^St6wT>)rb=Fd%N#^TQd390?l1g8{RWM zdIZGM^_`2Z`9YM$)ylc!J0-Rw0pF{E+p20}uhCk)O(Ap9`C zd|xAjsg%;AHP+41PN|LlJ!Kb$`c8P6(&y=6ELP>webS8uMyqP&MN-p`#ufmqW@e zY?C98s<5_BvszmPk7dve$^q4a(0sf#6}n#mMTyv0jXgYejPw(N8$V8v6~@gKJVz1`!6Cq&uK>LLZb@O9h-ZJev6Ras? n_Fen`7qZXVR!Nzi-Td^!p*PG;LdHWH7zDUDdYrAZ4@vtQ*-6P0 literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Content/Events/Images/Event_End_Branch.PNG.import b/addons/dialogic/Documentation/Content/Events/Images/Event_End_Branch.PNG.import new file mode 100644 index 0000000..8279be2 --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/Images/Event_End_Branch.PNG.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Event_End_Branch.PNG-081876dfa5df74f8bd1922b91957d0f7.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Documentation/Content/Events/Images/Event_End_Branch.PNG" +dest_files=[ "res://.import/Event_End_Branch.PNG-081876dfa5df74f8bd1922b91957d0f7.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Documentation/Content/Events/Images/Event_Question.PNG b/addons/dialogic/Documentation/Content/Events/Images/Event_Question.PNG new file mode 100644 index 0000000000000000000000000000000000000000..bde2108b442f0de61c5e2c93880fde5db9cf286b GIT binary patch literal 12909 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 literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Content/Events/Images/Event_Question.PNG.import b/addons/dialogic/Documentation/Content/Events/Images/Event_Question.PNG.import new file mode 100644 index 0000000..a14b178 --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/Images/Event_Question.PNG.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Event_Question.PNG-03cb0b2c1bd44f6b99ae19336e724884.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Documentation/Content/Events/Images/Event_Question.PNG" +dest_files=[ "res://.import/Event_Question.PNG-03cb0b2c1bd44f6b99ae19336e724884.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Documentation/Content/Events/Images/Event_Question_in_use.PNG b/addons/dialogic/Documentation/Content/Events/Images/Event_Question_in_use.PNG new file mode 100644 index 0000000000000000000000000000000000000000..3fddc060081a86f6896d852aa4616d9bacd455bf GIT binary patch literal 32442 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 WrNYnfA=D2GGzA$|>2gWap#K4gh)Mha literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Content/Events/Images/Event_Set_Value_random.PNG.import b/addons/dialogic/Documentation/Content/Events/Images/Event_Set_Value_random.PNG.import new file mode 100644 index 0000000..a49bd58 --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/Images/Event_Set_Value_random.PNG.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Event_Set_Value_random.PNG-46d4b8d8ff67af47afb6137a22fa0790.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Documentation/Content/Events/Images/Event_Set_Value_random.PNG" +dest_files=[ "res://.import/Event_Set_Value_random.PNG-46d4b8d8ff67af47afb6137a22fa0790.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Documentation/Content/Events/Images/Event_Wait_Seconds.PNG b/addons/dialogic/Documentation/Content/Events/Images/Event_Wait_Seconds.PNG new file mode 100644 index 0000000000000000000000000000000000000000..bc21d5922832dd0a3ff90c0e4c34e60ef88563f0 GIT binary patch literal 3104 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 W|I;tO(SJX{P>@lPE_w4l;Qs)&`cY&6 literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Content/Events/Images/audio_event.png.import b/addons/dialogic/Documentation/Content/Events/Images/audio_event.png.import new file mode 100644 index 0000000..a4cd8b2 --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/Images/audio_event.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/audio_event.png-abe3ddd1bd4a041a15bf5b182b4dc2c6.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Documentation/Content/Events/Images/audio_event.png" +dest_files=[ "res://.import/audio_event.png-abe3ddd1bd4a041a15bf5b182b4dc2c6.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Documentation/Content/Events/Images/text_event_1.png b/addons/dialogic/Documentation/Content/Events/Images/text_event_1.png new file mode 100644 index 0000000000000000000000000000000000000000..2b9a894bc0ebdd27970fda6132eafcffd637a0ae GIT binary patch literal 4844 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 literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Content/Events/Images/text_event_1.png.import b/addons/dialogic/Documentation/Content/Events/Images/text_event_1.png.import new file mode 100644 index 0000000..f99f6eb --- /dev/null +++ b/addons/dialogic/Documentation/Content/Events/Images/text_event_1.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/text_event_1.png-c1ef7be33362776ee815070c9be95e63.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Documentation/Content/Events/Images/text_event_1.png" +dest_files=[ "res://.import/text_event_1.png-c1ef7be33362776ee815070c9be95e63.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Documentation/Content/Events/Images/text_event_2.png b/addons/dialogic/Documentation/Content/Events/Images/text_event_2.png new file mode 100644 index 0000000000000000000000000000000000000000..19cd06c1b50c1b9230dfde5964387e1d7c34ec81 GIT binary patch literal 5219 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 a6@HiKmZ7r&5fuO);;E@0C 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

    I^2n9;60y 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 T9i#^)7I68Z=>^nZH)8(>U_!GV literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Content/Tutorials/Images/Glossary_Example.PNG.import b/addons/dialogic/Documentation/Content/Tutorials/Images/Glossary_Example.PNG.import new file mode 100644 index 0000000..08ad1de --- /dev/null +++ b/addons/dialogic/Documentation/Content/Tutorials/Images/Glossary_Example.PNG.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Glossary_Example.PNG-c2cbcb58bda208cde5fff6ba9306fe10.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Documentation/Content/Tutorials/Images/Glossary_Example.PNG" +dest_files=[ "res://.import/Glossary_Example.PNG-c2cbcb58bda208cde5fff6ba9306fe10.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Documentation/Content/Tutorials/Images/Glossary_ExampleLook.PNG b/addons/dialogic/Documentation/Content/Tutorials/Images/Glossary_ExampleLook.PNG new file mode 100644 index 0000000000000000000000000000000000000000..56588fd75255ff8142a08f7f6eefe25c642eeb4e GIT binary patch literal 85254 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�E)i50Qw8Q;5DLm*)-$yO_29xB+O42hn) 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

    4iCQzalZ+VFErSsK=mu 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 Kt6HpV?*D%$Hr!$W literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Content/Tutorials/Images/Glossary_ExampleLook.PNG.import b/addons/dialogic/Documentation/Content/Tutorials/Images/Glossary_ExampleLook.PNG.import new file mode 100644 index 0000000..c320ef5 --- /dev/null +++ b/addons/dialogic/Documentation/Content/Tutorials/Images/Glossary_ExampleLook.PNG.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Glossary_ExampleLook.PNG-7b274bf4b5547fb36a98967673b795df.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Documentation/Content/Tutorials/Images/Glossary_ExampleLook.PNG" +dest_files=[ "res://.import/Glossary_ExampleLook.PNG-7b274bf4b5547fb36a98967673b795df.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Documentation/Content/Tutorials/Images/Import_Selection.PNG b/addons/dialogic/Documentation/Content/Tutorials/Images/Import_Selection.PNG new file mode 100644 index 0000000000000000000000000000000000000000..c8b51a3933c109a596429b7feae84fe478101b72 GIT binary patch literal 56000 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%0D2hL66$(UkV+EKXp-f^zC4A=roo<%XC5)7&1)P<( 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

    R8O5J5;e>~-7xl8SP&0ltyMj8(R+p) zwJ_-ivg&}^hpQe^?_Epb1dOnqiX!L6_6vmEp&`U(!JPxcv_Ntd7=Po3#hU!`jT%8Z zz&g)wtgi=VSUow)KzJ8pEu0UEt=nt)`ZEo1nb9NUMT3nE_NotctUDoHQ^K;0yrtY6 z#)yj?<5Cd{^p#iFx1#KX7i~?2SKk!k$PyWY_R;owQ-*=Y^;1YtaZqECbh|`e4$#opnU@ICob}bhoS>g|Iw?kBtVRms5T>z6=1)**gg`GEEmCx*f@HkuxUNad&G7*K6>Yh zyiBB|jzooxN-DmR^etPqt4&eb!Wg%7iU-ER_sol9dO--WEc6LhGUcnPsHj=1JHhv(Y{-JUQxFf5-RJ#V;qPfq>j>hvg?MBb6=D>9ETe&{5e zjhh$&$*Xn%i-cLV2~iLzErWsCakCd#F%txD=LKXuB;?Lrv?XgS_m|r8>N(7apQq8? zI{(+6uFycYP7O8wZTNDTv^(LQD|6kF1fK(*vkya##aAR)Riefq)u38wrd}W~sNNSO z^x2{t7DLp;hveqwk@8vrk>gXn72|e6d<}sHwlPA8G7$wxV|mLEQ}mtqgvL`|%ory)k^m+fc*4=V&YX?MBs*&v8%z7~$W*ErZza3#`Vvr(=PxY4#H zj-kWDC)$%_(p!Pkz01n|orM!*B|)n}*p!-8`J#_TQ5FUW9!fv;45(JP*fR)O#zJok zUu53X=B`p;B+nq_QC<=k5y6gFID%k{5riLGHBU!!g>V5SDSB3zf!{9gCS0((T(zKO zAasM;@yuEglW}#2ZiP{Fk0nqh4w5L!MC})-5%o&;6^~ZWI+v<@hzFB5`wli`R2X}& zC5|!zo6E~_qKZL+@Ve;n^g4Qga5B32qF}VFBXxNqH`S#g+~w{CYG@>%fF_|iURcL+ z$m6N!cWYpi$8%2ulXV|xESlX^c2(DrBafgo6wNKLHv_SkXYTvk9#Nn@gsqbq(zdq9J z4(-&oMcQA$J32Ct9|s%9^1$M+>))BEw6U^X`te{oZ$ftX zqgPEJ3xe&$az!DC$9y}V_G;+I#PZjd3mR~IJ~?X-Yb1W@w?87jedL7R)%D8$=a$oE z9@`h2UcOqE-rkh>IK&F*oTL{PwA&;8K0V80^gh#I4_*(3IBZ&ISXg;^+R~5uBZq8# zXNr&ebl0(x|89D)x~qv7VL7|E(A+bm_EkfPJRdYkau1ae#+Pq=qbFFmcfYh`Jmc+q zhrzYr&c4u`$gb@P*@whP8m1GC;mEosxTEk{)AA0#@1_aLk3TKwky)eA0rjUr&Ls!< zX=dQOpjnDlJ(%*Nh;0=4>@nX}&leEufAS+V3JI^^+yv_vIAOv|w#cCY8L(m`33AxfGj#vzE_BZ`FwKC1ANu%gED`}|8EH+D788#*O;P-ya zb4fVhBv&H!uE5qtdSUDeI$`z7J+A#wdSP3u0JTeE;#sW%m~M; z()MHv{GEL#R@f9-H1sEnB!{C?au)YRZ+R`uSsLGq-nyytcdb)a6$Q#2vQ*5U1}z$9 zTp}zK7`G)SPd(X?B9D{3stLX)Sflf4n1n2k`>W`Y`g@)Oh5VR9jStOb9-ih- zJwQ&iw9MJsnI~6T3{^^Wk$=>mwtZ9qMnQXntcgY_sYLPlR3S|&x(MB@ms@k1mP_Yr z;`u!6W_RnHqzsrGqAS?)3I%gPkvfRUkylG2e~Q~-iGnOR2LuH0`iG0GAfg7 zW;w0a?)juIcdKUP##POQ@g4VdN3OGWbWF;~*b>yshfFh`Yks z{TM4N)nn6nx|MDv-vuJgrcSDb138zW`K&fFX?n#9=TUwiK(27m%9r|cl|)I_*%L!`(M6=uJD=AF-Hl?Xy-d$R z;pSv#7+4^G$o7BtPEE}S-}eV%Ye}iYTAhYTuqo8i+P6m2?AgNi&r8tuyCj2Hk$H^N z6cDlgek)y1x<6ATD_SzG>n{!O8prv;u(9TtnC>RV=Yi+=sJ6b2+wtT zz0Tm%o12bcij{n%59DN2NpYtTLQ@M5?FZpSnE zQ?>qT5hk-SraL%WKP6#>Zza#7?tATGZ{UH;yGh5IO*KJLa^r4L<)b9E`aqAB)6&3j zKLW7*81D>}#~G_~nyI7b|1LQNlxZLdjO^G_@WCmrcW~hm!_@>f=k3)V!!_kYKL2p z9#cd*dhP?J&To;pK)L?!cN2jQNtadXMaswdyca(v?kW#|=@W!@D=@Fp7v{OPopWu8 z90eU}RZ?KBD(&d2&{_A;EQDRIQ_vQyOKNQutPM2iTm|n*~!#vj$ zSS4JHc6pV@qJPqj9{|#gAx+^NGU1o`V(|;{wUJxE;~g>+tXLW9K`ezNM7=C74rJZ> zUX_ijk%A1kMZX}n>JT#;lQ4hK@epK|$bHr?Aft1zpuKeZsE<0mE_&YDV`q8SU&k}` zLXEy}_>DFfjLYqtQj?N$%ABu8J~slP3UG9x7cgIQ*dUxhY+X2vMx3OLs9^J{31L?Z z@6J+_b8tY%N+EPLi_9(~NEn3qwOC^&s}VI&(ZoKyh3{iI2)sjfn>&D0-x6=j?cw>e zQFi8cdlg`VKMRpOuh(WO8s8YZ665m^Cx?Z_pTIdo z82ig%P*MQ~^%UQm_->R`$_~5_kVp%Ia7$u(S481Zy%TE zpnT2?YD2rEx4deC*;sS7Sr{!=NDTTZl~QO+5;f4+U^mb};6f>fT@0!w^bENSl}ABX z|8xw6kw$e@cD!9Q0qa}@ubhPnM^G&aA_G<|O=XSIAU9nrvaNP2C*S2n5m@KKmNfYC z48^1oiZ`J^q_hTAv37VLALYbf+nftp66{%+W!$0{mGF3rZ*C zO8ZStcdM>8(^3wUZpNqM*5b2QEDM_0D=;kpk4?(WgI`j9_VKBMlp5;GztU{A3OtLS z=9tGE0J68AMoO-xpFP|=yAV}*6&aL*&Igm&Q>XK^lYbU6K}MaTX4ftB5ZU_NRr(Ng zGPd>!nA&)$=y*}H_rR|QrK?b(&-2~tw=ZF?!vb_2Bln&*I1+f%Y%E^n;6Lrqw$PEt zzeYB2k~{F`$flq7tnrhRleR^1P*HgOmzPs77~x=M>v3C1C3)UY$eINU8`a+ccl z5&Dw9*(1HS?rj8uxGKcv&=NmuX$8EBiu1_!*Xp$!oNrc2`dh%9y=Ayk-zvptduQ8X znwRI-Ct=$f^Pm-dM&&R_hd_emO@asQLsnQ;J`)U`k zPyrn(Zvf|?A1?~B-QRM)Y0bEFYI{R%4VCcQ&D^T_?(Rz4FzTm9Qz3r~XpNLaf4lYD zG`>vTW|tf3kYRrGR^MKir`as420WjWxWF9kD6oB&;S0R4PzE@Pnus?cuJu^qLy$2y zE~TiPXf1wyM4=&ar9K`#d`Yu-Lh?iaFb~A$<-Lg*mvUZa~5U^Y}Cc^hW1H&;GGCG1xT)}e(izGhT!Mwz7 zGWB^}$)(BHwGU*c<2x|8ryAl`VVAm1^lP8k376ZFBuxjd-W5g9Tr+jQ*HGDH04O~9+?Uq z)Y`bW? z`xbmCOWNH&OE5^KQLtfF?8I>z34xEm$<&mbx+>;ZINuv?%96Au6x_7EU@+5P890M; z?Gmqzb9FXyd+Z;cxDzbNPSb#a*MEq`*8v@pdz1t`$f7?tYiobQALF<0y5^MfYvWdW zS2voY^8QkQNsWuF1$*c`DYQ*RWj&I<;(``&`SHFfy7U`QWp3!^8FmWD)wa~9_rOB<+PT@ z4sUaDc+l=3Hq`&o%K*G<9-7AB*+F*|d2@Ilnw=VJXLv}nQ?kd6KcBAyYzMX#}@E5&04-? z+EZ9?6d~}W^Ln29a?TZ)+${e${QO`Z>iC2Jcj0WuUGvfPyaJ=MxjBbhnuIU7Ixrt! z_4PaRZt9pZ&2(v@oB**V@R3?KEz|XTnq5}B@EE(`0%P9BY7wqG+n1dc`m6M39qJ_= zyAOJ}%rKrAACp*|N#X{$vW#mEn=JcGN;3)E{jl z96k~#0BdQfG`nNHEs8d2`&=j^hM-If8DL}7<+-D&rx@G6YjV>v^j)4o-P>OOAFC#wr&;aU!6yB}M#nszLHo$E3$ zDDWBocb8r3IUYGa*G=FNmKrgM*>0?`%o=4YWhYV>*_-y@VA3^2YB_Z;=<&%m1EZJ^ zi3e&UNd$czVHy&iOIdCy)=tG9GSf{bE+{4BT*8h&#v5!tXnifIhb)`vt+YqkXOl{% z@}%5W%D?x@cx|p~mjzbb)Qd0~e`rPeleW%gixUfcW#&rjdcCTkLU~>+HFK3^k)yzL z;%j!pvCu>DX!S|TGHJ-63&l|{8)io4-Fli%@1_4g9r!8$89823KOk91K8W|q!w*C6 znb=37uQaA#VQz+Vn8fs^SFG|qYtPrOtG4bfa%rz+_L^*XJdo<_K0jiqjgdxM_8VAE zXFdSRf_*V%*R1R42Aa?cllzygwj7rqYRP(4xygWz58VYmDbkz%{KSE}bi1!hIkTkZ zcb&`hIgLnM$(0|ro8XbG3_GGd1~4SP#$ZtJO>p6+-QG0Sd(kS;kvCo3wj8)*AI0yX zaP>naV4V;I`O0ax{_r&r@i+@$VuK~O)^lfPivW@tFsj|lB4*G^c$VP$Vs}r<{|jQK zDlLKy^~iH8!$8XHx?gtmkF2$-CV@ubO5y(uTGK(1uPTP=mNnxfA)! zN?t-%vG8GSWjQq*U6Te2A1q)k_9k1mhmPs&oRs^NC;LZkxu6#5!tp7X>$1zBK~Klg zmOL3!sY&zDg5USAOQN}l(3+x&e-W&Y*P)&{a}#^;e>R$5))a;{mgGtZ609v&N=g$* z9f!CK!S;vsYca*OAYGsLRrfYP5x^zJ23e|qHo`xFlFp6nD)r%t3RB|-%l5;o*(|Gy zt{K6nXm$89=p8x{{+LxR$6OV1h0zry2XahR1Jrlp%$TKesg1fEzsZ8p&bH)y#&Oo0 zIp2!!TO_7qEe1;56OR6|ibj_NzOWt&N{!FzOha4sF;VWc@cpZt=x)C#5qHMusj2>j zzfsvhUY#VNHr`7r3(%3X0rihFqH7&)I?tS$P27hTlTv**R|5Ymwul>0 z577I%q>g?m7~b;^+Jq$ZT`j5!y%V|!~%DGMZ>PyMNZPad)-uX98nE9MMC%p4rQjdRlYhV=pQohdXh}PJ! z7JW|43uH*J;bJ*}%5R1A!<(vl1J8*MW{bkLvx<(^*{P%zAagDNAH8^vBZ>5qoruX3 zCz|m$&vdh?*G)C349xw#Gjavi6_(Q?Oym>Ide^!6{yP0ZCNZ~n&H-SYsNiioc6gW^ zV?gV%v5zXZt8}{_O3x1m3@Em%D$x_Q?N>9gRo!QE;EayJMOo-b#*#S$-pQW3Uu{}w zS%giimA6O!-s)>?&MQ5DQ)v{c&j=ZBJ~p@zh6zv)kP5HMKUA0(D~00=Us*M9omsG6 z|FUSCZ=!3VpSQPQ4qt|W@gj0Q_w>oK*ZSKQW$I8Wa^bhg0@Sv21rcF0Kx_NyA}O%y zjrUzz5c9-k3WX)SXN2D&m}eY#E{)4cJ)9TaU6?yJ)7bV>{XlUHAWL(~)6}iai_!7H zunshNIYY(9s1;&MuL^f)JYSJXm=YU>+(O*iDK3R+~ULAFHhw6LM zk7(vY4|_)N4h658qaWa|3_ca#Iwuf{?a$NXe~Jq~&d_0Hmj`ge)(56-$n!-xC%d;> zVoJKaoC&Y=Gyt74%cNE1K!c9hT8u#tDo^*4yjq=0JmP58HK1APlsfsGuH3`kd(|KC z624`kZa6;8x?NVOYqy%iQr0;~*SJ^*jW^Z1d%I8FS}y?z+CE>kJX^FE|AY@`jOB{4 z4VJl9J)e`jbsa1$3#Wb?cEGm6fZ&EN^-yDUyZB&kmEpJj!{N_>(V2dH&7w6_&ux?XKQ}^9 zp&&0sR0U6-9#bbN?WD@ba@8DuALJk}786W|!^{b!&`;6Zo|pQV{d?36h6`tsqQ}l# zjr++7@a+_ke(WX6Gb-@}Yl9w@^+$`fvp9_P16mpEOsO4x0~R+bs-tq_g`${l5lik>pR@nut-W)AKFG1vXtr;g$b@W7 zKD0&o@*77{UwhdHSK~(d$0`MX<*nbEjt$daz5*SO>b~$H+kSPm<6^%u&32HqR(#5; zOr&J2C&`&#?G{Cts(+@{yWC)FkXyF@W{dIiCn~V#xGXOifz+OC~>%6MsJQ}7(`S7Lu=W>nlR}F8mERE!-2luySMk{7{$H$g*z^W*)z>!`*XhIJjcfO*C$TCif5Hj zL@!g=hyW@ABX6a&=GOxTtT3=8I_JkpL5EiQHF5#XivKg6S9QRt)6gft%j0L>c(1%8 zx)go#jDt(1#rU7lhrj06pQx2j=Kt$wpkWU{c)$E}&x&f{WjZ98WV3|zqp|^A7R~ND;mwv4y+FjWixF5b!TX`Gi@Z>#c zHQf7#Mvq~~4|{ASn;#wRP?@75s9dunh>i$$fVm?sAy(B8mqGn5B0HOVdc8yaC+|gd zkMxqp!vbgo|3P|51DCUC`9G3gK-l@uqL{UIYhy8xOuBmzwowCY+w?n>G)lRpLDNw# zV4@omgIT_0JEURS<550Iyl5xtG*SMZv7)-49`%mecOGAIkxW96t(-^vg`ST#gxL&# zIoelZo0goC@<2f$z&@tKWT?_T$l7UhWzq(aQxvtt7yeJ=l$%?wmj7pRir@c0PWd(5 zbp07qVitN-hcdW9Cs_eTqdNe4vHI4gFLz1AIe2C6h88d=yS&PDoX-Hn?e?V5&~N*6 z#W}CR<~maRwq}QRkm61YfA^!7mX}i$6C{o9=H+mE5C*9ojvkfsxi1(Fz~5DFk&VA~9v> zc>Bv@Y2Ty3d-J$RjC&)9mw|yHI4+Lo^bB0CEYclc9%4aH$T++Gr6KU6h48@8G%jP#?9t)EfsEkdCPx&7P-20 z;4Pz=Wf7pS*OgbIbX$YI$~pLMR-Ywq28_BI&J?TUTaiUdT&0HGs+!|45?v^}qAC_W z$gNqbVB7*2WuTlY>+nOiF=!ZHYj>V&>*NK4P}aIJL8~1H+gLO}q+d2XGygoF#CQ-` zru~N>^Z!n+5Z@zLob1T8_`i@VVt2_EcTB1NZ{&((>vb^pj4q?Z+-Qgs?H4y{q_(8{ z%AE_+bQ+Z)h7lgC1n6@)@jKB1<_+tMBhp0R^O-aY>ay8&B&nS`@`nRQXuUQAVIt4s zjV&!L(~-h&S!gkEF$JIFI^6Ox{?}22Y+E72ooZ%p_u1O0+(I=})R@3P(f5c=kL_`9 zG>sa5S}c72Y{gK)_q;(=yWV3_dBJ_QX7d_}?j|KZw&PY0(pr?0<#BmqB2$ZZkNJij z9wGp9=(=^l4WPlc8V&`w8>rGvf(pPYJ5GZZUG z^Y@DIbPw6)tg-W(GqidYE&^tNLt$m#1eRclSq=`44m4cL78o!eJ$=P#GbA`zT;Dny z=nc0)$)hz^#2}!DgClWgn0KeTFizaLqd?~pAQDTtY`qe1B6bKm3d4Y1jj=b}rs2|Z zw13J$>B1gI?jbJo9_ED=(1bPdI|&|Ag3Q`l4ZLySa0_VbP4w{?0XIx9yhP*psock7guO%VCm~y zo>>SzjoxYkX2?VA3~hp_eFF@I{R_K*o2?IF2licnBCakyNXyLbGVxB;T}NbO<-{p5 z$GDq`V;g>sP3DRRRMPa++RdCw%|X?3s@L=cG|aH`VWu}OAgU(waBGQmTR?3EW~lIs zsmzD*rGuRyLQ?8$y1HIbf7HibKLGwv91NIKKu)wjDc`$hvCyX22)WOwi16isIdVH- z;lqQH1Lt+*891Kwmm*DsVH|jVci#P+NZU+85wP+-0I@|tWYt~nY`albMG{jE_>3hl z5TsADS>cP@J9mmu?(+Bi84WG#PE83~^eT09bch?so~EtZoXX+{-Fe&GX^QQ`a?7&4 zupGL1&+eK$d;rXFVMt(|C|8m|`YTld_tZ?+9Jh5yOdQx?b~7`cGDqrd&&=7LA#Prq zB)+TJ-cChaYIheFc+aePxCSct0yND77SoZyrI}MJ0&!Zy`U*XVcw=tL$39hmq`Lq9 zamrFeN1Nr8A(CyEl8n9Ajo`qnW|_QF8Ynfr@*Kb?WeuXPHQHC@tjdUqBQ<26LBf_f zDR<@a-OUEA7lefp+wrEm-zzt}Q4RTqjo_dBH*Oe?HAP)<>gIE~U0OvZRSC_yyb_{u zCeO6)JhU9Dgl`%gwRc^ex;$UL9H3q1z*Bgv_Nc7Cka_(TNIGfSp_F80`{Xcrn@JXhl*!zRi|VA ztS^Zq51RI9ysz9I^VwXzV?(rIaYa)PDc&;*=hiIevXgRq&ss+r03xeiMRs4J1xU#b zpXdGl(SB4xYU171<2}gH8^i$2pfPzUwZ&*ClyEUTiu$4bJfHNHhuY?||F$V9}D*H`;#EDf-hb^b}HFjBEBGV2znck{d4 zRpGXg{{*SoZNZuWyUR^#UplGz>CW^YWQZzyG|nC|2l^w)9A~`w4K~lZ^_eyD@tFgM zkN>eM6Y}jpX%_ATuNqC8+q|4)p|6;v?WOf7--UM@=U$BQea!rax`;BKWEMKQsq6D#uYaJ2uf*p8z0%sd@-~Y-`uh=*b)|GMr@BAI9*&;2XfUX zhZWkyOxpG@Z?q>F`*hM}44_dTe~u$iWgWn9#4jx1?s^sH8BjhGduq}#v!Mx|BvM)vuu zGb?U=Ef>KrseYAnFUHRfxHd3)Rm-)8%u3S0jb$N}u)qWE=qCp*Ioe{mim9jVS3g z)sv#gYm&gMbdNQ$vd39~iscjy@c&PMWA{B%Q62dQpAiy+Z zXjXyTIZRF0nSubl{Gxn4t-AyXZ(#y+evdFgfp(5oL}9ZMF2QkW_elXd&aD^!+UU@W&)PkLM`(c&-yR`jt;2JBGc|+kVc@z4RJC_mDXISp^nh4Q?{YSM zGFGE3tkQ4YHBac!dR)2^5}FhC@Uty;+)|7^rMrx5Z4S|5PTmx)>n_P@afaLK3+=sp zXl+xrQm0OA_3CmBsEwMNcf&yI%l-0XW&(qL(VJQ#9THq=Cp3 zpp>Bm0%}c;&5wz>uFi9;h%G*NwWE#k=D>b!DGJM zUeKx}@?t7m+;t5v{DQv`7_X`p0<^|E>cqdo)swWY8w|9hMSUFaa6))su6MPiXe}B^ zLx7$VIMB21B;v`9g%~m$tNTijFQqxuyDts;Y&-lzp8hzs0aX#4Z@KW&qsCWd=$$0|JOXw%l@B0xJ3M$m7u0UbxWLj>mM zXiH_NXH4B0+IcCb3oFH$tuOz?<{6$3H(1fS8y;rTms;>Vu8bRWg9^{ML3iJ5D6u1r ze4Rl|zw}|OIIgt0F*BR6kjhh*B1e3Ml@wwwc+q&x99p9qR0nIes;!;Yz5WX_0Jq;e zJMq>w-=QYp!tAWFOJgdM0kp)HE&=9UM{Ubit{yM1RfxR|T*@TQ_wPuv%lDRXjeIZ` z$VH18;O!7WsvHSbPC7tOK4BWe=lT|38N)sstn4Qt80Joh292Q}2EZDFK{e85*&!fX zy+Wjmb((Jzd4cyn#-YZc#GYNP-(kXN)^TELSYR3xl?ULcu+wSzDXlL-Z_&e*(j9g6 zV@TH~+4;M2J&|jIvtm`=S(~6 zhRS(r@Bt1MjKK9n*lh(c@$({pMPrLs(8bz^)c$Wr&ox%p5|GG!d6WTtAGB&`qHjaB z#yZO(w=IF4KoE6=)wjPtCnd`fJ@TKeUMWDH<}`olO6c(SM16KRJ>xJFYSxdLZMvE0 zG4CP$|F!qsQB9@$+8oO`Dn&&=C4e1Ang~MZDq=%GW#}DLq!R;#j$_ihj!J@=fu?)uhO*YzKl=G}Y$-u|o4ljan;lyBFj z4*0C=`FTnCZg>s%cSn%*Wo1ewpII>q9+z&4t+3}TpC4-q`!LhlGiR)f61#jYyjbaN zF2-}&2GR|#W1YySAd0EYcZkf5OyB9*GRY9PdQYXz}6B`o|2Wgi{@R< zUoxcRj@^jP=C5>k<2m7#BWa%BnpK~qfV^_k8LY<_B(ZnI1;##reyJFs#^II=Fm*i5 z2FzF=HbnTU=D`wziKa)1Oe2!sjf4*!rB+vZb4}&4bRM}ILu`D2-lI#s6s@G;pm`2W zX+EbrnaFWf+jM@y@V9bNO#aR$}ila{CgAw z$6+mApL1s%DGo0{Y^qn-6})ha`7n`q}|@a)q^u#8MSv+DDI(T;$pyIhj6LeTq97G!O4hFIMw}m61X5|F7sv2u)-4vH;YVoUZ*Cv zuJfV*FVlhO=*tBR8O7e`-Rid%va(FeKXt8i3xMhv+_X9h2)Od_`d`XpKvqlubhhgN z7fOqu2*4?}i&J;9c~tqO@%~#dMgV&D47WR271pk-Hsyu=NULC?n%XdcYv75H8m{C& z0W-AlRk)F$Nqtezj=ej%OX!*1u?5eQ=@!qQ=YvjP#^i z;en2Ac^O|Ca@=_CQ#~$q-pMNtxEBT_DN~+#U)0(B+*4ey92lAEQX6}v`BFh;k)!mn zj1rfBVK5s*-Bcfty__lJk9@B@aGx$e zz-saf@z5(;*6NOmhI?1ttHh|UKkHq4v*UrBy-Zv{X=j*<0zf~8)yd8~T10{o)BnuJJVwd+sfA}P?c0Z6&+#b6?eHutyrF;I|*!K3l*OGI>*f2I~AbF)^*Zm zw1`;=Th`X0WLO457FxRw0fW;Cc@_78Grxn>KL70-g#s4<(~&W+h?0YJ`}IyY2jF#@ zlIg#{&pBuFoV+n$^37l-l(#P72wTb<}TROmGds9rBwgB^TO9^kXt z@EoGv5>*`wk5kP)hWi-S{r3T2j^b{#?)}bPGuZy>sn4QCIif9V@)IKv;30KX%IQP5 zQ|-;op?wmHvB=kp;=1E*K!((T#5H1&HQOxrX-cpA1-Mv>|NN_$k%`wt?pBZP4F)+es|+o{ z#8X1#6(!~IK7d$gsZw6+7iLW- zQ`j?IcF5M`0r8w(9jMII{y7dWAi%pkXhetsSkq>lhsKo!xR?{a7SB!7D6Ij2*<)2L zydA+md3byy6HuE9-57fak#hjRrZpFVk=A`;QaN8?@qsb(ILf;d(>BX1&ZGo-N zAniGoQSFuUm7w*XwCq+*R;xtAo+!h!zS5J4?TrQ(R_vo^`QJ1BLBGyc3<8D!rN^)n zkG2HA+9qFVXU3l|!SI69#pJu)yQ1M24Y$|bdtT;PoSStz<)T(ffja8nKG5x;v@yHH zN&2c$+)h<{jf)p>D?{;<1kmQ-+5mFF*G6(x`{mmE_eow6h>PpgkGTfWlfUlyVT7Rn zI{D!T!J!MD>&|y)M7zXQP=w3_DjY#mRV3K~!sc3ysN+Gv&xH>8Ah<#lK@9(g-@eKK z%(dJRC8>Xww}}aBRm(W^Ez-NXYCtlWauTtOQTT&>1API?T{oUdjQPPTfqr;6;K9pE zZrSmzJYsbTadGWPYP6vuP5-&W&s&tT{B*UyhdiT?^p5@|Cv^QIF0NHwKzlhvwk12@ zl+bWjR8$YA;8nd9mKH@Sg-qiekA8Y57NCIvgqWMPY11M%h9l4PSiAMqJpss`@6$3% z(gNuifB}m{5_Cx2tuDV8UY4xTn0T{!x2pf+j2>)mUJ%6?P|M#hk`bK~ITCa3B$Lr5 zaizo3J};3o+6GlUT;4tK(=Z*?ftwed)n|4E+y)Fr8P&bHgI#vHo9|Lxd?J%C06^Ph zg_4`8#@>W(*QT5d=qm`ohjfpqK0>Y~V~w8Y;~Q<2W_qy!;O)G`?d*#fIK#@Z_3a z|CNqnB%#72Ewy68^#H_Y*i|<1#+cwx@;kQWXkm6|Swwk#o=P!W*_uN53V^QE4dREl z1_t8(lt?X~gh@)YIm?legY}2f)hKy|BM%)h795X_#mVA~idW5vuhhbh7RvBq-y`#Ym zeqR8VYrP9kT7EwEeC9O%;42ex{&+R-*~0c`?*&8d_n@k3Pi*A0JsS}Q_|AXF(M+$e z0lX8b#~ROS7LN)fZH>t~vCo<$y}n-7DfiD)PA?ytL^1$!Ge586JL3!+6@Wo)3~_j@ zBT;xL7XaGXt$Bb}uY~gXlOWHKrl=E{c|8E@u^6JW`h_RqreUDCkSfalQsKn*Yyu8z zgfpJLuF~eZhvGPp(B=88Bgf^I7&As${-ao(-OV>p8XAVA6YtdcAov}?i;4zx34Z~+ ztcJFh4*NoE(Xi)@#(=l<^fWzr@(Tdb-j7iB6#KH9e~HrOGRb;DYR$JG-(k$3xmp%b z+VHxlvz~R994Q+4OO0|m?q3WeP)3LT1Tg6QUQ+{4L>)nqS)9os6Z6a0w^moN`NY&3 z?zsTvZ|i+us~~J%2dX@(GBq!ok`YgDA$d}|sx(!o=wEWFetzVdS9eHY&K_knq>^56 z5GB$5#`4vk>uQ>l%iTu;C-CxpY`wF#ET63SKq4KAAql_DZ`E;MRK${MQ>;n z-{Q_wuWgP7Dj~r1m$xcWUk^+T-zkxOZLZylC3bVBAcJ^{k84E1B3l(PxQ-k<+O`z> z$?WvZr^>tHTZ`k|T#bAP4!x}O5|*cafzJagMX+#AYBm3~4+Y$M-3wZ&m#ngXaZwxI zvrSOw_l|XWqa4$ilQY@-l3Ka}_<2kJ0tmAipi-W_JBPDWLIOfj0#<;dE~6|k4RuzyB?X994?h`O;PY2(#;+CFfIVNAx@OMNQyLW zGc5;xGXP;0yZQB?-`%59o|nH)p;g7Lx+p9hITE^=U5Izctg^0; z5sojxknypa|u*q9;_9f>C4yPz6$ScHK>_%U2ydxuHXqaZ5GA}bb za*G!Na4&e?O6||x=+%VLV%0f{7-uLHP;e&>?EDhb-=)==5h2O}*t)7NzS~tYvd(}# zS~nLuIkiQIRT=6x+z!!U7CrmJ$3gS}ly1$EUhqtJCih(@+Aus{2n{3WPdsalu0N#a zwzABc{&|^!NMo!i+2C%`FFIGRLAaj%PKZ+mg(okuRfOOzK~rs?v1X3Fd8{o>Ye1w` z)}}X7air#F;}D_VV5^CaqqMQtS3*63A-m~?=v$0#O&>xI-Y`chSHDIithMITL~8-t zUH>i$qSQNWH?p_nB||zUAh^Yj;J5r}vjTu2uW6d}AFQDy$~HBgD_o*gTK3v@7$L0m z($Wq9L)qSN#1KnuzE^3qrIJ@S=z#}yX?%+px(k8FD50->iD^#kI+w=f{RyK4VL8y@&?;ITN=%NH@^DjEU^Iicj`ksA;ytT za2;N9Pv?9PNJU59@R3#!Y!qyNb(8cwHLZ0+>%%Kz<*4OH$zNA2IE|e|J_BaHIL7OL zFaTJ;s@?OX$eW8b0r*6PbCR5+BXgOxQf0CEyTJ7o0X$a;kNH;m5BOdwZIo%{0yQCx zDjS~a5@)hJRyaWFQbJMny|*L708i5D+95eG@!Mp6zL@ZrKoK6U(9m;!z@ZgVH1>A? ztY`q|?lxW4HkQ_0+4OvV;0fqGjqVjJ+ijue!L=G;iyS`Jpz z*JNG1We_W1BG`m*>hTnh05s9J&*)qAJ z<2{$LkuwFwoL1_8PcCE%w$w13zb7%TJoj(vivQCrX7dWgOohk3!{;s*bZ<@TdlS9# z#%lZxyijauR-=Opk_uIhuSx6FjmqQho|Ji9$wIHRJP1o_8SH9RU_^kj_^*LO=clT! zK?4niY?|3)<>A{eb-P!L!jlUUvBW|1*0{DoSewF35eR&*WJ-fMNDDIfq)6UpRw<=+ zPBL0S#CIh~{Lp=Eh|560XYK7nX;ZO3RwO6U2h9~@_Ixi{wvmx)$GXMOvlWXK4OYb5 z5utB;no&_)n!8q^4$5=2u>-H&Vog*2nhxIbd*SqNco0d{xWF`hAfOtg##cO{Z;I#e zl@vq5pL&KgPhu&s@E?@_zIgnKV7UBau;dC7n4#aJibeb`JQZD^W`>n#UR&3!9v!0& zUgWDjS<&8TbYaCD-}}x3lZmuQnxOPotz|@WSJ^<`1__?i`eoD6XB#N=uPM}-tFD1< z*M6{OLA37lDWmt4b4H?lL*{;j>L>3vRaH3;eXNUVnRHthbvmR|Un z?^h;&(P|$L$yE+uu65K3W{mE44#)z)1NMX4gc8L%|J9StSv~R&#{x5=r#p%t0A|kP zD@W~yzj|L}0EX0sw4c(YWi*JrDT@n?uf@256vd<8p?eno zMbb1>I-wyCEC00T*K+2r&SC{X9G}uqxnGVUSv+m9bEP9Y!Ck6CvLhmA=w_l+@4 zZUQ2_icZmz6M{Jpfq(QbeBwF4)Sd@eHgsaJUDhIEnU8~scH;F9uiHdAIQi{fiR~R} z1W126+f+TOtJjz`c)&2P6?kBu-6y_UY))gpc~tuEIN#fj|Gja( zpoD3Q>*Q|D8=!>Dr0`l%qB8O=KbV;~NtS}E%q->0U&HHEyoR@`jZ7!SB_j!_^ zUxrW&V1WO270$$+o`mL##0-Pg0(x*sy1d#BhNN z{{;~Aps$;sij#ADRn+4$RVD@4A$WGfy`wys-Fk*u-PejePj|Se$mw|Zl=oa_QeF@? zJ5PwJP23}9wz|eV$slXbd_2|s%1I0mZrr<8`K$k@w?y%6fI^?-Oy6P811qPd$t65gIu z;H>GrOeBW}$dM~@gSu*-S{V(QEnb^)t)$lW8aLYX4{e>-+BpIXnw~S7e|jh6(0Z}(lUo<|OR%e*jCm|+N+a?k;91*dIn0@)GAXGLf zZSU!Yg3y4m*?+R2+IVpVmF>&-NhQ*~(31~*})KD`dH z%l9t)l0tRwYY{2l6m`y>{Z&ayjK?11lLZpC_?||buv=*+u36soyr9!RP}3-3^d>XI z{gOC@&2|wx&MW)YG%b{jRB^eF%XYLI?)sJG(kkN+Vof~J(+2l~-Ck^roP9_%osMSJHcuw-Zf#AWptWSSAK-r0MR$1R%0T0G5rjaLJM*LfK((hOm8R`kKk+0Up}1 zj&0~nuR=IXThV`kX~Yc8bbUP}li)>3+z)RopQKE_XSrqE4;x`?OjqkWwb1-x3~Kr0 ze}`ctB*M}THkN12cAMBfPiSj}hVVqOBkiNdo32AsS8xYwtJ^6^?hh_7UPK>zo`;=I z#3Y(`h~*XWqv^(yeU~j2_E${4PpFAt&>ZQ;hO{B1%!r1dVs2Q%QuNd4kf|hw#Vya} z*gr(ACN7oHb2xiuJdw$V?WB0oA#Z|ai7AyFE5y;_`!-y+U9bho?vf&7AI1%8v<~en zw(GIx&}BUtbr0a&!#mJ_1p{C7i<;hT99yYg?HpVsj@fC#u%w8Y(+|7l1+&MaGs9Bs z7JGj6NxCjVt3@DAjQ!O@z9_Dfxhy;f0!$~!f=wm#k8uox+Uk6MnJhm%+{h=W#c39hu@CXDEq;k=6>dLNl!%N^`r}(lQIkp%; zp0bJe>lLVp_+m@_JU(`4MoMO>wDy)zQf3run#U6ii!3kNm@fU?eS0vcm{rTg^&v+W zHey^h^ysuAht>F$AF+#ai1!H(0{6NB4wH46;wSSm?|Whcp57_(U+j}v7FQelh-5Bp zGHOjmz5FGNIHuTdwtwiH)1>$I$~});idjdG48t+@e*t|UzgMbcvpjybIaQTw=ABwp0>_Z zrC;{w!g%?`^`w>-J4dHEH3DzO$_ZorDh?f?q~<36^qmkS+Qi*0f^JnRfIG?1o<~_ZfQX}SzQpD zN(!nukhzJf_|Ydm{1Y6uf6G=P7gwjA_@w2nxjQtDPy#{HW16R!Fk)W19i3{ix+5sz zL}Jt2JgcN9T?r|ZDWd5H|6Eb-r0Jft%M6A2BUl)XI%uZ^f`GXJT0_GddUQ8*FZ3BL za(?NwLgjRY5I;yGVx2>X1}}D_m*>bq=@L1EBNwmM<{*UBjfL;9s@uzu+y{C2bU|v` zvjetnCNk0zV_#aFT6&h3W@vuYu}3?;iE>tgcbP7>tVk^$O{UmQ#vp{GGQk+uHn2v{ z`p`x{R|D6BvT|z4Q@8Uo!zDoy(xRbkPtv)Iu;8z!@t$nB|H6d=$C(yCUS)e5mtR+x z>O;6H9I=b*b|UW9w^OYtl=y}I?t)zNzJeU>P08g)A`(hGGWWtbG~@6Gd7g}2=V79W zkR7eb|4qJXo7(3W#1mraEDn|iE17@MpkL`^4T;6}|C_;Fg6Jl#u zXn3+a-9x}^e7W>Z*d6HInYwTv!*~x`IOSy7i_n<^-A~JAoN!P#Zyn~5(3rY)`7o$1N{5T*}usKG_iLPe|ssogC7ci+gcZ)M8my`v}1+Z zu*1SM_h@LOPP$gx+*}c$ zNaG32g2_fdv5a!I#Uroo#fRCoQdXshrOG&|?<;o)1U(DsL5yFp|9!d#(RP>FYoI6C z>9XLOK~8>}gYU&GrJ$%t|FMd5I*FFM+ams8Z0V$(@ZwYgTc7*TPcl7*SJa83U()sB z;|^a^pYp5eO{){r!)6DGQ;V*d43FhEg%iincYcjS!(Ahi8qKFro7?N38qkK;U?Xk;C#`af4~k z7bE8XR-EOx{9DV1J=;U*qsbgmgX%h_99d5+aMFk38L8<+@;sB67&Pp{d_+pt6${8$ z$_`>JX501=78ag)Oblx`ce0%ag(t52(wIU=jT(79D`4nlj`XIT(g@G~!HADeDjK)L8alEQT@4mio(^GqG+%VkI*;yHEsLR4Hv%DS76- zldE=}sAZBuKt&%aEJcM*e8itFfECZl4VbyB7s^SBw&bdgJ%r;|%b`J109gB)3#xM%MZJ1BzY3`&EKQVP0 z+@Be(nBJp0b1P4z=~m;$iIP3~f{1bIjK&4I8x{|z)jzj;)G9p{M9ks%Z%jv)GKmCE=I4k5QVp!1{LdshXFOd1I)>Bk}!8HJTKvbyLd(eR)K(Euj0)sEj z(oj84%XZB;&BJL$tnTw|=7ij3?=u~L7;(BeZw_cZQyTnffzxT(wNYA$FkCWw zQCm!Bri+l@zVy@z7Nx#4S!XLkACF~lL{W1FCEPx$#dM`cymjFAWArJ{=Lk~ZCY?(% zl@;n10aWZ!P91GZveMosPlO&Lz3iE{I6x;b{gM;HhPAX~rU)b3$il2)uRz|+6n}LK z-#(q_fa}{W>Wq36?za&!>ZP+(K9&9`3Vl6~AiCs}(@=i^@PFUj@#BHCCjt&L;snmm zxwVLLL`@c8Mq{;C*V7}F9WwJowu{pp>Eo3W*wP|gs)@6hfAxbJrNGkVrfAu`y@5PX{3*!%*NjFM?c(S#5sEt6SAk*mtHO=kXMAP_>C8hyQrKais^A{eo){@^5FjW z@^_g8DXc@BTkvO9`8ko$Qiy!tXvZv{&Id$bKgR}q2XnYm!vsBX-CJ~NS7VR8^ z<@LK~$yJQ>DYm$5WoL#D8=9ZsWU7cAX*B8eQ??5gZp4@E(~0#rrOZ5g z;P5sAl|G|BD?ePR#|-x1A*mqX#gU1}vf;~74rYM_+&J8FX7+`ybfD`Fo7uZMDMAbx zHeoELriKk4-NH<*a?08bGZIcYPVcf6`GRvW>w@LLEDu~G9Tyzy=B`jyj`g^1*hlx*!(i+L;@5Uz=3al?8jU6^{@y!#e(Cw%=7t|&_Czf2ko6AwGzWU zZ_{gC^Snk9-0)WS`p099pIg7>LA~U03%VTs;6z|#ocs$Gy$=qv?FcPV2#lR>XS}oR z3a%Uud6q=K8>c?8us=!{+$QgrjGdIG`OL}Qe~#|iKTx};a{E)ZpSwYP;C$CbZ|cmO z&CI`gDgc41FiC|&JcUlWEJ@h@Rv9vhl^to5|B2{qe#l2@Eg7QZ?4v93qf#?j_T&0m z)l{%y|HY;%iE#hwJblO{$0E&PzaV16fzAtQRa|&!=&l`hr;X~Nx-~?C#)mwXwAyys zs!V%g!ial$pKM3qR`jK3Z8gwIC<3ejzaiu`ieH!P{dQ?Fe)K8W;R9g$h$s)><;IX!f%z>unG}q*g97OvD6l)2@AflV#p=b_+HAh4(e)}8Z|)y74S_gYG5)Utkk*0iJR}> z+SkC7CxNZduwq&O^_&Y>2CJh0MQ@|lq=(k^Wnh9pA{OpO2UWC;FbRv-+SJRz4_q&9 zwAo@T6;bTq)i*Vrg<<%T#TG`<%uO1zkaWikCmTN5HCie@b=$xC7XKdj!V9tGtYuC6 zjHGGpazNWLTvm4ww6%_^?o#a^NSgDlr?UDd?*h{_4j2)YdNApnT^PPNvBiVK(_yb1 zW~h2l#$RnnY$hpDt$&1AddGOR^Rwy*TtU=52vCd5PQSh*Od^ESKkA9(D6e*|_B`EP z(pgMQdMxGD$ADSTipx&Z{=oxRx2xi-(uK?Ol9Kf3cMrA7zUF*}dQcl2TTX(h_m8h< z%yA}H!)h!tds+@Xm3$RoF5}Z%Q__6>=}bSn zsSYawaG09TSsk$*t;0HB($|f*3K?z}A`OZ@Ik0LHM&!ZJbXH{0Li#kKvueF|if)SA zQd=mW2E|;(3m&{BtBPFk|gxMo^PYLZ2`q7+2cpI66fe zErvLyJUHOvQ0vf^!Dw|oPgX6j^jerc2qiG%ommJ^_;g*y`e5*9`!%u^%yY47_B8Y@qT+#2v+u+BRD-UV2udjS{JpF*E*xT|7pkG?C z{1(QQB`csQ$ z9{|VjxigesGx-l&QrNk~WfmXz_KOTF{Gr!gS-z7s9xV+L0H9LLMlpvb73tGgG!q<7 z+@4B*--FxXJ^yNJ^I)Y$R&_klZ|T+z+4PZ8;sgDDp~#5LXu6NB&jaHd&yoIrw!w_H zwBh?P-u~hTQBh(bGyIsK1yzx6@Lum-KJ^l>dSh_>yKO`NbylXjci5+I^m5%r?(mAf z%gSRoaC{Y5x}B4pI@WapO@|?J8pnA&$s%>C)t_pO8VQPvx3DHPmBMbOl?E_Z--f#z zhcT(5&=(9F*a;FM{^!~Edab{@*9Y#y%~6u!weduqRQZ^PA!$c$BzgrbkKsBxHzic= z@`7PTRe(EvD#&i}v#~a=fSr1s%q_voE+7wO$5b7Gl(^fLO(uG9K=oZQ+vb49-w*&= z6i=~+s6MJP@vEzG@)pe1>8efVg_pw*ubd>$`OzwZ)G6cCgvIZU_u8AJ-U%7w zsLHv1jV*c94gx7zj-XBKROCJ9EERTLSeaD5ISuSI@oeKce}r9W1Uv9?j>V`o;spCL z0=JNu=Q{e{0K|f*yY*+fY~FfmhmDOXKb=-156QXh1|uijqg9QWsE&R|&Zb_j?*Ar= zFBwixr*Z640t^O*gq?$^rE6Y2=q?}!E!Ckm5`9*Tz{wPow{%n+fXh+ZZUj<#zADy>83OeN?OE`4XD# zt658w|I4qp-dPoB$hgeDIbQ#hTX3)2n(hW^AYXLWJb{p|R{@k0$k!aM%F8zO&mGF2 zxJTiGQrfJYLrOU@@CugU#NTfG(MS{pKWp9Lkg@2f;SI@|x37Oh79Cl-@MbPRWL2xP zdx?NAd`4?Xs+)UpYCcl0E!SW@bON8DZfv(`D?Z}D7t2=76ECP@-WlD?IU-b#L zFj^C_aSWw>34E2y?o5w)0NjWh1r|D_Lb_DNBsA!Y8y8@idYHcPhSNBZhP>| zNnrY{XiJdKnClt1HCL5E=&Q%q6jvZG*Zb8^u4*V?tNr&wkgE3I1MyX7{qKSJ-#-wX zj+{+9ufVIl=3?R8v}3!sLr#p_t`AmS2GH^xi23n{V|U=(b|zFp$@Q_I1@JppYL3Vo z%t2q%wiUyJ>$WNsVgi3ufYA#5ZM~_`6Skx^zue)Dt%=TSHG}^1f|l-?oYU5K{s;1U BP#XXM literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Content/Tutorials/Images/TimelineEditor_Example.PNG.import b/addons/dialogic/Documentation/Content/Tutorials/Images/TimelineEditor_Example.PNG.import new file mode 100644 index 0000000..cb1356d --- /dev/null +++ b/addons/dialogic/Documentation/Content/Tutorials/Images/TimelineEditor_Example.PNG.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/TimelineEditor_Example.PNG-15eec17720b37f03e5438065226d14ca.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Documentation/Content/Tutorials/Images/TimelineEditor_Example.PNG" +dest_files=[ "res://.import/TimelineEditor_Example.PNG-15eec17720b37f03e5438065226d14ca.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Documentation/Content/Tutorials/Images/Toolbar.PNG b/addons/dialogic/Documentation/Content/Tutorials/Images/Toolbar.PNG new file mode 100644 index 0000000000000000000000000000000000000000..a2f9c83e1cba1a128d9f6c041927c85e2a2f5b09 GIT binary patch literal 3647 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 Qe*j>3`Kn%puFHe}0~b>6=Kufz literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Content/Tutorials/Images/Toolbar.PNG.import b/addons/dialogic/Documentation/Content/Tutorials/Images/Toolbar.PNG.import new file mode 100644 index 0000000..888f998 --- /dev/null +++ b/addons/dialogic/Documentation/Content/Tutorials/Images/Toolbar.PNG.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Toolbar.PNG-c15bbedd058e9f4460ab85836a52b6e3.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Documentation/Content/Tutorials/Images/Toolbar.PNG" +dest_files=[ "res://.import/Toolbar.PNG-c15bbedd058e9f4460ab85836a52b6e3.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Documentation/Content/Tutorials/Images/Value_Example1.PNG b/addons/dialogic/Documentation/Content/Tutorials/Images/Value_Example1.PNG new file mode 100644 index 0000000000000000000000000000000000000000..2f8dfbdfe341f4859232f1ed9f8dfcc3462670ce GIT binary patch literal 3238 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 literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Theme/Font/NotoSans-Italic.ttf b/addons/dialogic/Documentation/Theme/Font/NotoSans-Italic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..27ff1ed60a9afc0e6a4d7604abf6d9ad307ef7fd GIT binary patch literal 274624 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 literal 0 HcmV?d00001 diff --git a/addons/dialogic/Documentation/Theme/Font/NotoSans-Regular.ttf b/addons/dialogic/Documentation/Theme/Font/NotoSans-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..10589e277ed7087dfd2d499a064e8c0e8bd9efad GIT binary patch literal 398968 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 z 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 literal 0 HcmV?d00001 diff --git a/addons/dialogic/Editor/CharacterEditor/CharacterEditor.gd b/addons/dialogic/Editor/CharacterEditor/CharacterEditor.gd new file mode 100644 index 0000000..85edebd --- /dev/null +++ b/addons/dialogic/Editor/CharacterEditor/CharacterEditor.gd @@ -0,0 +1,228 @@ +tool +extends ScrollContainer + +var editor_reference +onready var master_tree = get_node('../MasterTreeContainer/MasterTree') +var opened_character_data +var portrait_entry = load("res://addons/dialogic/Editor/CharacterEditor/PortraitEntry.tscn") +onready var nodes = { + 'editor': $HBoxContainer/Container, + 'name': $HBoxContainer/Container/Name/LineEdit, + 'description': $HBoxContainer/Container/Description/TextEdit, + 'file': $HBoxContainer/Container/FileName/LineEdit, + 'color': $HBoxContainer/Container/Color/ColorPickerButton, + 'mirror_portraits_checkbox' : $HBoxContainer/VBoxContainer/HBoxContainer/MirrorOption/MirrorPortraitsCheckBox, + 'display_name_checkbox': $HBoxContainer/Container/Name/CheckBox, + 'display_name': $HBoxContainer/Container/DisplayName/LineEdit, + 'nickname_checkbox': $HBoxContainer/Container/Name/CheckBox2, + 'nickname': $HBoxContainer/Container/DisplayNickname/LineEdit, + 'new_portrait_button': $HBoxContainer/Container/ScrollContainer/VBoxContainer/HBoxContainer/Button, + 'import_from_folder_button': $HBoxContainer/Container/ScrollContainer/VBoxContainer/HBoxContainer/ImportFromFolder, + 'portrait_preview': $HBoxContainer/VBoxContainer/Control/TextureRect, + 'image_label': $"HBoxContainer/VBoxContainer/Control/TLabel10", + 'scale': $HBoxContainer/VBoxContainer/HBoxContainer/Scale, + 'offset_x': $HBoxContainer/VBoxContainer/HBoxContainer/OffsetX, + 'offset_y': $HBoxContainer/VBoxContainer/HBoxContainer/OffsetY, +} + + +func _ready(): + $"HBoxContainer/Container/ScrollContainer/VBoxContainer/HBoxContainer/Button".text = DTS.translate(" Add new portrait") + $"HBoxContainer/Container/ScrollContainer/VBoxContainer/HBoxContainer/ImportFromFolder".text = DTS.translate(" Import images from folder") + + editor_reference = find_parent('EditorView') + nodes['new_portrait_button'].connect('pressed', self, '_on_New_Portrait_Button_pressed') + nodes['import_from_folder_button'].connect('pressed', self, '_on_Import_Portrait_Folder_Button_pressed') + nodes['display_name_checkbox'].connect('toggled', self, '_on_display_name_toggled') + nodes['nickname_checkbox'].connect('toggled', self, '_on_nickname_toggled') + nodes['name'].connect('text_changed', self, '_on_name_changed') + nodes['name'].connect('focus_exited', self, '_update_name_on_tree') + nodes['color'].connect('color_changed', self, '_on_color_changed') + var style = get('custom_styles/bg') + style.set('bg_color', get_color("base_color", "Editor")) + nodes['new_portrait_button'].icon = get_icon("Add", "EditorIcons") + nodes['import_from_folder_button'].icon = get_icon("Folder", "EditorIcons") + + +func _on_display_name_toggled(button_pressed): + $HBoxContainer/Container/DisplayName.visible = button_pressed + + +func _on_nickname_toggled(button_pressed): + $HBoxContainer/Container/DisplayNickname.visible = button_pressed + + +func is_selected(file: String): + return nodes['file'].text == file + + +func _on_name_changed(value): + save_character() + + +func _update_name_on_tree(): + var item = master_tree.get_selected() + item.set_text(0, nodes['name'].text) + master_tree.build_characters(nodes['file'].text) + + +func _input(event): + if event is InputEventKey and event.pressed: + if nodes['name'].has_focus(): + if event.scancode == KEY_ENTER: + nodes['name'].release_focus() + + +func _on_color_changed(color): + var item = master_tree.get_selected() + item.set_icon_modulate(0, color) + + +func clear_character_editor(): + nodes['file'].text = '' + nodes['name'].text = '' + nodes['description'].text = '' + nodes['color'].color = Color('#ffffff') + nodes['mirror_portraits_checkbox'].pressed = false + nodes['display_name_checkbox'].pressed = false + nodes['nickname_checkbox'].pressed = false + nodes['display_name'].text = '' + nodes['nickname'].text = '' + nodes['portraits'] = [] + nodes['scale'].value = 100 + nodes['offset_x'].value = 0 + nodes['offset_y'].value = 0 + + # Clearing portraits + for p in $HBoxContainer/Container/ScrollContainer/VBoxContainer/PortraitList.get_children(): + p.queue_free() + nodes['portrait_preview'].texture = null + + +# Character Creation +func create_character(): + var character_file = 'character-' + str(OS.get_unix_time()) + '.json' + var character = { + 'color': '#ffffff', + 'id': character_file, + 'portraits': [], + 'mirror_portraits' :false + } + DialogicResources.set_character(character) + character['metadata'] = {'file': character_file} + return character + + +# Saving and Loading +func generate_character_data_to_save(): + var portraits = [] + for p in $HBoxContainer/Container/ScrollContainer/VBoxContainer/PortraitList.get_children(): + var entry = {} + entry['name'] = p.get_node("NameEdit").text + entry['path'] = p.get_node("PathEdit").text + portraits.append(entry) + var info_to_save = { + 'id': nodes['file'].text, + 'description': nodes['description'].text, + 'color': '#' + nodes['color'].color.to_html(), + 'mirror_portraits': nodes["mirror_portraits_checkbox"].pressed, + 'portraits': portraits, + 'display_name_bool': nodes['display_name_checkbox'].pressed, + 'display_name': nodes['display_name'].text, + 'nickname_bool': nodes['nickname_checkbox'].pressed, + 'nickname': nodes['nickname'].text, + 'scale': nodes['scale'].value, + 'offset_x': nodes['offset_x'].value, + 'offset_y': nodes['offset_y'].value, + } + # Adding name later for cases when no name is provided + if nodes['name'].text != '': + info_to_save['name'] = nodes['name'].text + + return info_to_save + + +func save_character(): + var info_to_save = generate_character_data_to_save() + if info_to_save['id']: + DialogicResources.set_character(info_to_save) + opened_character_data = info_to_save + + +func load_character(filename: String): + clear_character_editor() + var data = DialogicResources.get_character_json(filename) + opened_character_data = data + nodes['file'].text = data['id'] + nodes['name'].text = data.get('name', '') + nodes['description'].text = data.get('description', '') + nodes['color'].color = Color(data.get('color','#ffffffff')) + nodes['display_name_checkbox'].pressed = data.get('display_name_bool', false) + nodes['display_name'].text = data.get('display_name', '') + nodes['scale'].value = float(data.get('scale', 100)) + nodes['nickname_checkbox'].pressed = data.get('nickname_bool', false) + nodes['nickname'].text = data.get('nickname', '') + nodes['offset_x'].value = data.get('offset_x', 0) + nodes['offset_y'].value = data.get('offset_y', 0) + nodes['mirror_portraits_checkbox'].pressed = data.get('mirror_portraits', false) + nodes['portrait_preview'].flip_h = data.get('mirror_portraits', false) + + # Portraits + var default_portrait = create_portrait_entry() + default_portrait.get_node('NameEdit').text = 'Default' + default_portrait.get_node('NameEdit').editable = false + if data.has('portraits'): + for p in data['portraits']: + if p['name'] == 'Default': + default_portrait.get_node('PathEdit').text = p['path'] + default_portrait.update_preview(p['path']) + else: + create_portrait_entry(p['name'], p['path']) + + +# Portraits +func _on_New_Portrait_Button_pressed(): + create_portrait_entry('', '', true) + + +func create_portrait_entry(p_name = '', path = '', grab_focus = false): + var p = portrait_entry.instance() + p.editor_reference = editor_reference + p.image_node = nodes['portrait_preview'] + p.image_label = nodes['image_label'] + var p_list = $HBoxContainer/Container/ScrollContainer/VBoxContainer/PortraitList + p_list.add_child(p) + if p_name != '': + p.get_node("NameEdit").text = p_name + if path != '': + p.get_node("PathEdit").text = path + if grab_focus: + p.get_node("NameEdit").grab_focus() + p._on_ButtonSelect_pressed() + return p + + +func _on_Import_Portrait_Folder_Button_pressed(): + editor_reference.godot_dialog("*", EditorFileDialog.MODE_OPEN_DIR) + editor_reference.godot_dialog_connect(self, "_on_dir_selected", "dir_selected") + + +func _on_dir_selected(path, target): + var dir = Directory.new() + if dir.open(path) == OK: + dir.list_dir_begin() + var file_name = dir.get_next() + while file_name != "": + if not dir.current_is_dir(): + var file_lower = file_name.to_lower() + if '.svg' in file_lower or '.png' in file_lower: + if not '.import' in file_lower: + var final_name = path+ "/" + file_name + create_portrait_entry(DialogicResources.get_filename_from_path(file_name), final_name) + file_name = dir.get_next() + else: + print("An error occurred when trying to access the path.") + + +func _on_MirrorPortraitsCheckBox_toggled(button_pressed): + nodes['portrait_preview'].flip_h = button_pressed diff --git a/addons/dialogic/Editor/CharacterEditor/CharacterEditor.tscn b/addons/dialogic/Editor/CharacterEditor/CharacterEditor.tscn new file mode 100644 index 0000000..7ea39b2 --- /dev/null +++ b/addons/dialogic/Editor/CharacterEditor/CharacterEditor.tscn @@ -0,0 +1,429 @@ +[gd_scene load_steps=7 format=2] + +[ext_resource path="res://addons/dialogic/Editor/CharacterEditor/PortraitEntry.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/dialogic/Editor/CharacterEditor/CharacterEditor.gd" type="Script" id=2] +[ext_resource path="res://addons/dialogic/Editor/Common/TLabel.tscn" type="PackedScene" id=3] + +[sub_resource type="StyleBoxFlat" id=1] +content_margin_left = 5.0 +content_margin_right = 5.0 +content_margin_top = 5.0 +content_margin_bottom = 5.0 +bg_color = Color( 0, 0, 0, 1 ) + +[sub_resource type="Image" id=2] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=3] +flags = 4 +flags = 4 +image = SubResource( 2 ) +size = Vector2( 16, 16 ) + +[node name="CharacterEditor" type="ScrollContainer"] +margin_left = 192.0 +margin_right = 1253.0 +margin_bottom = 661.0 +custom_styles/bg = SubResource( 1 ) +script = ExtResource( 2 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="HBoxContainer" type="HBoxContainer" parent="."] +margin_left = 5.0 +margin_top = 5.0 +margin_right = 1149.0 +margin_bottom = 644.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="Container" type="VBoxContainer" parent="HBoxContainer"] +margin_right = 613.0 +margin_bottom = 639.0 +grow_horizontal = 2 +grow_vertical = 2 +size_flags_horizontal = 3 +size_flags_vertical = 9 + +[node name="Name" type="HBoxContainer" parent="HBoxContainer/Container"] +margin_right = 613.0 +margin_bottom = 24.0 + +[node name="TLabel" parent="HBoxContainer/Container/Name" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 5.0 +margin_right = 130.0 +margin_bottom = 19.0 +rect_min_size = Vector2( 130, 0 ) +text = "Name: " +text_key = "Name: " + +[node name="LineEdit" type="LineEdit" parent="HBoxContainer/Container/Name"] +margin_left = 134.0 +margin_right = 274.0 +margin_bottom = 24.0 +rect_min_size = Vector2( 140, 0 ) + +[node name="CheckBox" type="CheckBox" parent="HBoxContainer/Container/Name"] +margin_left = 278.0 +margin_right = 302.0 +margin_bottom = 24.0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TLabel2" parent="HBoxContainer/Container/Name" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 306.0 +margin_top = 5.0 +margin_right = 451.0 +margin_bottom = 19.0 +rect_min_size = Vector2( 130, 0 ) +text = "Different display name" +text_key = "Different display name" + +[node name="CheckBox2" type="CheckBox" parent="HBoxContainer/Container/Name"] +margin_left = 455.0 +margin_right = 479.0 +margin_bottom = 24.0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TLabel3" parent="HBoxContainer/Container/Name" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 483.0 +margin_top = 5.0 +margin_right = 613.0 +margin_bottom = 19.0 +rect_min_size = Vector2( 130, 0 ) +text = "Enable Nicknames" +text_key = "Enable Nicknames" + +[node name="DisplayName" type="HBoxContainer" parent="HBoxContainer/Container"] +visible = false +margin_top = 28.0 +margin_right = 604.0 +margin_bottom = 52.0 +__meta__ = { +"_editor_description_": "Display name is the name that will +show up on the dialogs in game." +} + +[node name="TLabel2" parent="HBoxContainer/Container/DisplayName" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 5.0 +margin_right = 97.0 +margin_bottom = 19.0 +rect_min_size = Vector2( 130, 0 ) +text = "Display Name: " +text_key = "Display Name: " + +[node name="LineEdit" type="LineEdit" parent="HBoxContainer/Container/DisplayName"] +margin_left = 101.0 +margin_right = 241.0 +margin_bottom = 24.0 +rect_min_size = Vector2( 140, 0 ) + +[node name="DisplayNickname" type="HBoxContainer" parent="HBoxContainer/Container"] +visible = false +margin_top = 28.0 +margin_right = 604.0 +margin_bottom = 52.0 +__meta__ = { +"_editor_description_": "Display name is the name that will +show up on the dialogs in game." +} + +[node name="TLabel3" parent="HBoxContainer/Container/DisplayNickname" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 5.0 +margin_right = 79.0 +margin_bottom = 19.0 +rect_min_size = Vector2( 130, 0 ) +text = "Nicknames: " +text_key = "Nicknames: " + +[node name="LineEdit" type="LineEdit" parent="HBoxContainer/Container/DisplayNickname"] +margin_left = 83.0 +margin_right = 223.0 +margin_bottom = 24.0 +rect_min_size = Vector2( 140, 0 ) + +[node name="Color" type="HBoxContainer" parent="HBoxContainer/Container"] +margin_top = 28.0 +margin_right = 613.0 +margin_bottom = 48.0 + +[node name="TLabel4" parent="HBoxContainer/Container/Color" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 3.0 +margin_right = 130.0 +margin_bottom = 17.0 +rect_min_size = Vector2( 130, 0 ) +text = "Color: " +text_key = "Color: " + +[node name="ColorPickerButton" type="ColorPickerButton" parent="HBoxContainer/Container/Color"] +margin_left = 134.0 +margin_right = 274.0 +margin_bottom = 20.0 +rect_min_size = Vector2( 140, 0 ) +color = Color( 1, 1, 1, 1 ) +edit_alpha = false + +[node name="Description" type="HBoxContainer" parent="HBoxContainer/Container"] +margin_top = 52.0 +margin_right = 613.0 +margin_bottom = 152.0 + +[node name="TLabel5" parent="HBoxContainer/Container/Description" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 43.0 +margin_right = 130.0 +margin_bottom = 57.0 +rect_min_size = Vector2( 130, 0 ) +text = "Description: " +text_key = "Description: " + +[node name="TextEdit" type="TextEdit" parent="HBoxContainer/Container/Description"] +margin_left = 134.0 +margin_right = 613.0 +margin_bottom = 100.0 +rect_min_size = Vector2( 100, 100 ) +size_flags_horizontal = 3 + +[node name="Separator" type="Control" parent="HBoxContainer/Container"] +margin_top = 156.0 +margin_right = 613.0 +margin_bottom = 166.0 +rect_min_size = Vector2( 0, 10 ) + +[node name="Portraits" type="HBoxContainer" parent="HBoxContainer/Container"] +margin_top = 170.0 +margin_right = 613.0 +margin_bottom = 184.0 + +[node name="TLabel6" parent="HBoxContainer/Container/Portraits" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_right = 143.0 +margin_bottom = 14.0 +text = "Portraits / Expressions" +text_key = "Portraits / Expressions" + +[node name="Labels" type="HBoxContainer" parent="HBoxContainer/Container"] +margin_top = 188.0 +margin_right = 613.0 +margin_bottom = 202.0 + +[node name="TLabel7" parent="HBoxContainer/Container/Labels" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_right = 100.0 +margin_bottom = 14.0 +rect_min_size = Vector2( 100, 0 ) +text = "Name" +text_key = "Name" + +[node name="TLabel8" parent="HBoxContainer/Container/Labels" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 104.0 +margin_right = 132.0 +margin_bottom = 14.0 +text = "Path" +text_key = "Path" + +[node name="ScrollContainer" type="ScrollContainer" parent="HBoxContainer/Container"] +margin_top = 206.0 +margin_right = 613.0 +margin_bottom = 639.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="VBoxContainer" type="VBoxContainer" parent="HBoxContainer/Container/ScrollContainer"] +margin_right = 613.0 +margin_bottom = 433.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="PortraitList" type="VBoxContainer" parent="HBoxContainer/Container/ScrollContainer/VBoxContainer"] +margin_right = 613.0 +margin_bottom = 24.0 +size_flags_horizontal = 3 + +[node name="PortraitEntry" parent="HBoxContainer/Container/ScrollContainer/VBoxContainer/PortraitList" instance=ExtResource( 1 )] +margin_right = 613.0 + +[node name="HBoxContainer" type="HBoxContainer" parent="HBoxContainer/Container/ScrollContainer/VBoxContainer"] +margin_top = 28.0 +margin_right = 613.0 +margin_bottom = 50.0 + +[node name="Button" type="Button" parent="HBoxContainer/Container/ScrollContainer/VBoxContainer/HBoxContainer"] +margin_right = 144.0 +margin_bottom = 22.0 +text = " Add new portrait" +icon = SubResource( 3 ) + +[node name="ImportFromFolder" type="Button" parent="HBoxContainer/Container/ScrollContainer/VBoxContainer/HBoxContainer"] +margin_left = 148.0 +margin_right = 355.0 +margin_bottom = 22.0 +text = " Import images from folder" +icon = SubResource( 3 ) + +[node name="FileName" type="HBoxContainer" parent="HBoxContainer/Container"] +visible = false +margin_top = 599.0 +margin_right = 523.0 +margin_bottom = 623.0 + +[node name="TLabel9" parent="HBoxContainer/Container/FileName" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 112.0 +margin_top = -411.0 +margin_right = 112.0 +margin_bottom = -397.0 +text = "File:" +text_key = "File:" + +[node name="LineEdit" type="LineEdit" parent="HBoxContainer/Container/FileName"] +margin_left = 134.0 +margin_right = 523.0 +margin_bottom = 24.0 +rect_min_size = Vector2( 140, 0 ) +size_flags_horizontal = 3 +editable = false + +[node name="VBoxContainer" type="VBoxContainer" parent="HBoxContainer"] +margin_left = 617.0 +margin_right = 1144.0 +margin_bottom = 639.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="Control" type="Panel" parent="HBoxContainer/VBoxContainer"] +margin_right = 527.0 +margin_bottom = 611.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="TextureRect" type="TextureRect" parent="HBoxContainer/VBoxContainer/Control"] +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 30.0 +margin_top = 30.0 +margin_right = -30.0 +margin_bottom = -30.0 +rect_min_size = Vector2( 100, 100 ) +size_flags_horizontal = 3 +size_flags_vertical = 3 +expand = true +stretch_mode = 6 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TLabel10" parent="HBoxContainer/VBoxContainer/Control" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_right = 50.0 +margin_bottom = 14.0 +text = "Preview" +text_key = "Preview" + +[node name="HBoxContainer" type="HBoxContainer" parent="HBoxContainer/VBoxContainer"] +margin_top = 615.0 +margin_right = 527.0 +margin_bottom = 639.0 + +[node name="TLabel11" parent="HBoxContainer/VBoxContainer/HBoxContainer" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 5.0 +margin_right = 33.0 +margin_bottom = 19.0 +text = "Scale" +text_key = "Scale" + +[node name="Scale" type="SpinBox" parent="HBoxContainer/VBoxContainer/HBoxContainer"] +margin_left = 37.0 +margin_right = 111.0 +margin_bottom = 24.0 +value = 100.0 +allow_greater = true +align = 2 +suffix = "%" + +[node name="Spacer" type="Label" parent="HBoxContainer/VBoxContainer/HBoxContainer"] +margin_left = 115.0 +margin_top = 5.0 +margin_right = 147.0 +margin_bottom = 19.0 +text = " " + +[node name="TLabel12" parent="HBoxContainer/VBoxContainer/HBoxContainer" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 151.0 +margin_top = 5.0 +margin_right = 190.0 +margin_bottom = 19.0 +text = "Offset" +text_key = "Offset" + +[node name="OffsetX" type="SpinBox" parent="HBoxContainer/VBoxContainer/HBoxContainer"] +margin_left = 194.0 +margin_right = 294.0 +margin_bottom = 24.0 +rect_min_size = Vector2( 100, 0 ) +allow_greater = true +allow_lesser = true +suffix = "X" + +[node name="OffsetY" type="SpinBox" parent="HBoxContainer/VBoxContainer/HBoxContainer"] +margin_left = 298.0 +margin_right = 398.0 +margin_bottom = 24.0 +rect_min_size = Vector2( 100, 0 ) +allow_greater = true +allow_lesser = true +suffix = "Y" + +[node name="MirrorOption" type="HBoxContainer" parent="HBoxContainer/VBoxContainer/HBoxContainer"] +margin_left = 402.0 +margin_right = 527.0 +margin_bottom = 24.0 + +[node name="MirrorPortraitsCheckBox" type="CheckBox" parent="HBoxContainer/VBoxContainer/HBoxContainer/MirrorOption"] +margin_right = 24.0 +margin_bottom = 24.0 + +[node name="TLabel11" parent="HBoxContainer/VBoxContainer/HBoxContainer/MirrorOption" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 28.0 +margin_top = 5.0 +margin_right = 125.0 +margin_bottom = 19.0 +text = "Mirror portraits" +text_key = "Mirror portraits" + +[connection signal="toggled" from="HBoxContainer/VBoxContainer/HBoxContainer/MirrorOption/MirrorPortraitsCheckBox" to="." method="_on_MirrorPortraitsCheckBox_toggled"] diff --git a/addons/dialogic/Editor/CharacterEditor/PortraitEntry.gd b/addons/dialogic/Editor/CharacterEditor/PortraitEntry.gd new file mode 100644 index 0000000..c8b40c0 --- /dev/null +++ b/addons/dialogic/Editor/CharacterEditor/PortraitEntry.gd @@ -0,0 +1,50 @@ +tool +extends HBoxContainer + +var editor_reference +var image_node +var image_label + +func _ready(): + $ButtonDelete.icon = get_icon("Remove", "EditorIcons") + + +func _on_ButtonDelete_pressed(): + if $NameEdit.text == 'Default': + $PathEdit.text = '' + update_preview('') + else: + queue_free() + + +func _on_ButtonSelect_pressed(): + editor_reference.godot_dialog("*.png, *.svg, *.tscn") + editor_reference.godot_dialog_connect(self, "_on_file_selected") + + +func _on_file_selected(path, target): + update_preview(path) + $PathEdit.text = path + if $NameEdit.text == '': + $NameEdit.text = DialogicResources.get_filename_from_path(path) + + +func _on_focus_entered(): + if $PathEdit.text == '': + image_label.text = 'Preview - No image on this portrait entry.' + image_node.texture = null + else: + update_preview($PathEdit.text) + + +func update_preview(path): + image_label.text = 'Preview' + var l_path = path.to_lower() + if '.png' in l_path or '.svg' in l_path: + image_node.texture = load(path) + image_label.text = 'Preview - ' + str(image_node.texture.get_width()) + 'x' + str(image_node.texture.get_height()) + elif '.tscn' in l_path: + image_node.texture = null + image_label.text = '[!] Can\'t show previews of custom scenes.' + else: + image_node.texture = null diff --git a/addons/dialogic/Editor/CharacterEditor/PortraitEntry.tscn b/addons/dialogic/Editor/CharacterEditor/PortraitEntry.tscn new file mode 100644 index 0000000..ef5c2bc --- /dev/null +++ b/addons/dialogic/Editor/CharacterEditor/PortraitEntry.tscn @@ -0,0 +1,61 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://addons/dialogic/Editor/CharacterEditor/PortraitEntry.gd" type="Script" id=2] + +[sub_resource type="Image" id=3] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=2] +flags = 4 +flags = 4 +image = SubResource( 3 ) +size = Vector2( 16, 16 ) + +[node name="PortraitEntry" type="HBoxContainer"] +margin_right = 451.0 +margin_bottom = 24.0 +script = ExtResource( 2 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="NameEdit" type="LineEdit" parent="."] +margin_right = 160.0 +margin_bottom = 24.0 +rect_min_size = Vector2( 160, 0 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="PathEdit" type="LineEdit" parent="."] +margin_left = 164.0 +margin_right = 391.0 +margin_bottom = 24.0 +rect_min_size = Vector2( 150, 0 ) +size_flags_horizontal = 3 +editable = false +selecting_enabled = false + +[node name="ButtonSelect" type="Button" parent="."] +margin_left = 395.0 +margin_right = 419.0 +margin_bottom = 24.0 +text = "..." + +[node name="ButtonDelete" type="Button" parent="."] +margin_left = 423.0 +margin_right = 451.0 +margin_bottom = 24.0 +icon = SubResource( 2 ) +flat = true + +[connection signal="focus_entered" from="NameEdit" to="." method="_on_focus_entered"] +[connection signal="focus_entered" from="PathEdit" to="." method="_on_focus_entered"] +[connection signal="pressed" from="ButtonSelect" to="." method="_on_ButtonSelect_pressed"] +[connection signal="pressed" from="ButtonDelete" to="." method="_on_ButtonDelete_pressed"] diff --git a/addons/dialogic/Editor/Common/SectionTitle.gd b/addons/dialogic/Editor/Common/SectionTitle.gd new file mode 100644 index 0000000..385811f --- /dev/null +++ b/addons/dialogic/Editor/Common/SectionTitle.gd @@ -0,0 +1,10 @@ +tool +extends Label +export var text_key : String = "" + +func set_text_from_key(value): + text = DTS.translate(value) + +func _ready(): + if text_key != '': + set_text_from_key(text_key) diff --git a/addons/dialogic/Editor/Common/SectionTitle.tscn b/addons/dialogic/Editor/Common/SectionTitle.tscn new file mode 100644 index 0000000..8d19bf6 --- /dev/null +++ b/addons/dialogic/Editor/Common/SectionTitle.tscn @@ -0,0 +1,20 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Common/SectionTitle.gd" type="Script" id=1] + +[sub_resource type="StyleBoxFlat" id=1] +content_margin_left = 4.0 +content_margin_right = 4.0 +content_margin_top = 4.0 +content_margin_bottom = 4.0 +bg_color = Color( 0.252, 0.2718, 0.3246, 1 ) + +[node name="SectionTitle" type="Label"] +margin_right = 270.0 +margin_bottom = 22.0 +custom_styles/normal = SubResource( 1 ) +text = "Visuals" +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} diff --git a/addons/dialogic/Editor/Common/TLabel.gd b/addons/dialogic/Editor/Common/TLabel.gd new file mode 100644 index 0000000..2832365 --- /dev/null +++ b/addons/dialogic/Editor/Common/TLabel.gd @@ -0,0 +1,9 @@ +tool +extends Label +export var text_key : String = "" + +func set_text_from_key(value): + text = DTS.translate(value) + +func _ready(): + set_text_from_key(text_key) diff --git a/addons/dialogic/Editor/Common/TLabel.tscn b/addons/dialogic/Editor/Common/TLabel.tscn new file mode 100644 index 0000000..4d066f3 --- /dev/null +++ b/addons/dialogic/Editor/Common/TLabel.tscn @@ -0,0 +1,11 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Common/TLabel.gd" type="Script" id=1] + +[node name="TLabel" type="Label"] +anchor_right = 1.0 +anchor_bottom = 1.0 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} diff --git a/addons/dialogic/Editor/DocumentationViewer/DocumentationViewer.gd b/addons/dialogic/Editor/DocumentationViewer/DocumentationViewer.gd new file mode 100644 index 0000000..85bdd2f --- /dev/null +++ b/addons/dialogic/Editor/DocumentationViewer/DocumentationViewer.gd @@ -0,0 +1,61 @@ +tool +extends Control + +onready var master_tree = get_node('../MasterTreeContainer/MasterTree') +var current_page : String = "" + +var previous_pages = [] +var next_pages = [] + +signal open_link(link) + +onready var nodes = { + 'DocsViewer': $DocsViewer +} + +func _ready(): + $HBoxContainer/Previous.icon = get_icon("Back", "EditorIcons") + $HBoxContainer/Next.icon = get_icon("Forward", "EditorIcons") + + set("custom_styles/panel", get_stylebox("Background", "EditorStyles")) + + var _scale = get_constant("inspector_margin", "Editor") + _scale = _scale * 0.125 + nodes['DocsViewer'].MarkdownParser.editor_scale = _scale + + +func load_page(page): + if current_page: + previous_pages.push_back(current_page) + $HBoxContainer/Previous.disabled = false + next_pages = [] + current_page = page + nodes['DocsViewer'].load_page(current_page) + $HBoxContainer/Next.disabled = true + + +func open_previous_page(): + if len(previous_pages): + next_pages.push_front(current_page) + current_page = previous_pages.pop_back() + nodes['DocsViewer'].load_page(current_page) + $HBoxContainer/Previous.disabled = len(previous_pages) == 0 + $HBoxContainer/Next.disabled = false + + +func open_next_page(): + if len(next_pages): + previous_pages.push_back(current_page) + current_page = next_pages.pop_front() + nodes['DocsViewer'].load_page(current_page) + $HBoxContainer/Next.disabled = len(next_pages) == 0 + $HBoxContainer/Previous.disabled = false + + +func toggle_editing(): + nodes['DocsViewer'].toggle_editing() + + +func _on_DocsViewer_open_non_html_link(link, section): + #print(link, " ", section) + master_tree.select_documentation_item(link) diff --git a/addons/dialogic/Editor/DocumentationViewer/DocumentationViewer.tscn b/addons/dialogic/Editor/DocumentationViewer/DocumentationViewer.tscn new file mode 100644 index 0000000..71be93e --- /dev/null +++ b/addons/dialogic/Editor/DocumentationViewer/DocumentationViewer.tscn @@ -0,0 +1,49 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://addons/dialogic/Editor/DocumentationViewer/DocumentationViewer.gd" type="Script" id=1] +[ext_resource path="res://addons/dialogic/Documentation/Nodes/DocsPageViewer.tscn" type="PackedScene" id=2] + +[node name="DocumentationViewer" type="Panel"] +anchor_right = 1.0 +anchor_bottom = 1.0 +script = ExtResource( 1 ) + +[node name="DocsViewer" parent="." instance=ExtResource( 2 )] +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_right = 0.0 +margin_bottom = 0.0 +rect_min_size = Vector2( 50, 0 ) + +[node name="HBoxContainer" type="HBoxContainer" parent="."] +margin_left = 5.0 +margin_top = 4.0 +margin_right = 69.0 +margin_bottom = 24.0 +custom_constants/separation = 0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Previous" type="Button" parent="HBoxContainer"] +margin_right = 22.0 +margin_bottom = 22.0 +rect_min_size = Vector2( 22, 22 ) +focus_mode = 0 +disabled = true +flat = true +expand_icon = true + +[node name="Next" type="Button" parent="HBoxContainer"] +margin_left = 22.0 +margin_right = 44.0 +margin_bottom = 22.0 +rect_min_size = Vector2( 22, 22 ) +focus_mode = 0 +disabled = true +flat = true +expand_icon = true + +[connection signal="open_non_html_link" from="DocsViewer" to="." method="_on_DocsViewer_open_non_html_link"] +[connection signal="pressed" from="HBoxContainer/Previous" to="." method="open_previous_page"] +[connection signal="pressed" from="HBoxContainer/Next" to="." method="open_next_page"] diff --git a/addons/dialogic/Editor/EditorView.gd b/addons/dialogic/Editor/EditorView.gd new file mode 100644 index 0000000..d6b88a5 --- /dev/null +++ b/addons/dialogic/Editor/EditorView.gd @@ -0,0 +1,170 @@ +tool +extends Control + +var editor_file_dialog # EditorFileDialog +var file_picker_data: Dictionary = {'method': '', 'node': self} +var version_string: String + +# this is set when the plugins main-view is instanced in dialogic.gd +var editor_interface = null + +func _ready(): + # Adding file dialog to get used by Events + editor_file_dialog = EditorFileDialog.new() + add_child(editor_file_dialog) + + $ToolBar/Docs.text = DTS.translate('Help') + $ToolBar/Web.text = DTS.translate('Website') + + $MainPanel/MasterTreeContainer/MasterTree.connect("editor_selected", self, 'on_master_tree_editor_selected') + + # Updating the folder structure + DialogicUtil.update_resource_folder_structure() + + # Sizes + # This part of the code is a bit terrible. But there is no better way + # of doing this in Godot at the moment. I'm sorry. + var separation = get_constant("separation", "BoxContainer") + $MainPanel.margin_left = separation + $MainPanel.margin_right = separation * -1 + $MainPanel.margin_bottom = separation * -1 + $MainPanel.margin_top = 38 + var modifier = '' + var _scale = get_constant("inspector_margin", "Editor") + _scale = _scale * 0.125 + if _scale == 1: + $MainPanel.margin_top = 30 + if _scale == 1.25: + modifier = '-1.25' + $MainPanel.margin_top = 37 + if _scale == 1.5: + modifier = '-1.25' + $MainPanel.margin_top = 46 + if _scale == 1.75: + modifier = '-1.25' + $MainPanel.margin_top = 53 + if _scale == 2: + $MainPanel.margin_top = 59 + modifier = '-2' + $ToolBar/NewTimelineButton.icon = load("res://addons/dialogic/Images/Toolbar/add-timeline" + modifier + ".svg") + $ToolBar/NewCharactersButton.icon = load("res://addons/dialogic/Images/Toolbar/add-character" + modifier + ".svg") + $ToolBar/NewValueButton.icon = load("res://addons/dialogic/Images/Toolbar/add-definition" + modifier + ".svg") + $ToolBar/NewGlossaryEntryButton.icon = load("res://addons/dialogic/Images/Toolbar/add-glossary" + modifier + ".svg") + $ToolBar/NewThemeButton.icon = load("res://addons/dialogic/Images/Toolbar/add-theme" + modifier + ".svg") + + var modulate_color = Color.white + if not get_constant("dark_theme", "Editor"): + modulate_color = get_color("property_color", "Editor") + $ToolBar/NewTimelineButton.modulate = modulate_color + $ToolBar/NewCharactersButton.modulate = modulate_color + $ToolBar/NewValueButton.modulate = modulate_color + $ToolBar/NewGlossaryEntryButton.modulate = modulate_color + $ToolBar/NewThemeButton.modulate = modulate_color + + $ToolBar/FoldTools/ButtonFold.icon = get_icon("GuiTreeArrowRight", "EditorIcons") + $ToolBar/FoldTools/ButtonUnfold.icon = get_icon("GuiTreeArrowDown", "EditorIcons") + # Toolbar + $ToolBar/NewTimelineButton.connect('pressed', $MainPanel/MasterTreeContainer/MasterTree, 'new_timeline') + $ToolBar/NewCharactersButton.connect('pressed', $MainPanel/MasterTreeContainer/MasterTree, 'new_character') + $ToolBar/NewThemeButton.connect('pressed', $MainPanel/MasterTreeContainer/MasterTree, 'new_theme') + $ToolBar/NewValueButton.connect('pressed', $MainPanel/MasterTreeContainer/MasterTree, 'new_value_definition') + $ToolBar/NewGlossaryEntryButton.connect('pressed', $MainPanel/MasterTreeContainer/MasterTree, 'new_glossary_entry') + $ToolBar/Web.icon = get_icon("Instance", "EditorIcons") + $ToolBar/Web.connect('pressed', OS, "shell_open", ["https://dialogic.coppolaemilio.com"]) + $ToolBar/Docs.icon = get_icon("HelpSearch", "EditorIcons") + $ToolBar/Docs.connect('pressed', + $MainPanel/MasterTreeContainer/MasterTree, + "select_documentation_item", + ['/']) + $ToolBar/FoldTools/ButtonFold.connect('pressed', $MainPanel/TimelineEditor, 'fold_all_nodes') + $ToolBar/FoldTools/ButtonUnfold.connect('pressed', $MainPanel/TimelineEditor, 'unfold_all_nodes') + + + #Connecting confirmation + $RemoveFolderConfirmation.connect('confirmed', self, '_on_RemoveFolderConfirmation_confirmed') + + # Loading the version number + var config = ConfigFile.new() + var err = config.load("res://addons/dialogic/plugin.cfg") + if err == OK: + version_string = config.get_value("plugin", "version", "?") + $ToolBar/Version.text = 'Dialogic v' + version_string + + $MainPanel/MasterTreeContainer/FilterMasterTreeEdit.right_icon = get_icon("Search", "EditorIcons") + + +func on_master_tree_editor_selected(editor: String): + $ToolBar/FoldTools.visible = editor == 'timeline' + + +func popup_remove_confirmation(what): + var remove_text = "Are you sure you want to remove this [resource]? \n (Can't be restored)" + $RemoveConfirmation.dialog_text = remove_text.replace('[resource]', what) + if $RemoveConfirmation.is_connected( + 'confirmed', self, '_on_RemoveConfirmation_confirmed'): + $RemoveConfirmation.disconnect( + 'confirmed', self, '_on_RemoveConfirmation_confirmed') + $RemoveConfirmation.connect('confirmed', self, '_on_RemoveConfirmation_confirmed', [what]) + $RemoveConfirmation.popup_centered() + + +func _on_RemoveFolderConfirmation_confirmed(): + var item_path = $MainPanel/MasterTreeContainer/MasterTree.get_item_path($MainPanel/MasterTreeContainer/MasterTree.get_selected()) + DialogicUtil.remove_folder(item_path) + $MainPanel/MasterTreeContainer/MasterTree.build_full_tree() + + +func _on_RemoveConfirmation_confirmed(what: String = ''): + if what == 'Timeline': + var target = $MainPanel/TimelineEditor.timeline_file + DialogicResources.delete_timeline(target) + elif what == 'GlossaryEntry': + var target = $MainPanel/GlossaryEntryEditor.current_definition['id'] + DialogicResources.delete_default_definition(target) + elif what == 'Value': + var target = $MainPanel/ValueEditor.current_definition['id'] + DialogicResources.delete_default_definition(target) + elif what == 'Theme': + var filename = $MainPanel/MasterTreeContainer/MasterTree.get_selected().get_metadata(0)['file'] + DialogicResources.delete_theme(filename) + elif what == 'Character': + var filename = $MainPanel/CharacterEditor.opened_character_data['id'] + DialogicResources.delete_character(filename) + DialogicUtil.update_resource_folder_structure() + $MainPanel/MasterTreeContainer/MasterTree.remove_selected() + $MainPanel/MasterTreeContainer/MasterTree.hide_all_editors() + + +# Godot dialog +func godot_dialog(filter, mode = EditorFileDialog.MODE_OPEN_FILE): + editor_file_dialog.mode = mode + editor_file_dialog.clear_filters() + editor_file_dialog.popup_centered_ratio(0.75) + editor_file_dialog.add_filter(filter) + return editor_file_dialog + + +func godot_dialog_connect(who, method_name, signal_name = "file_selected"): + # You can pass multiple signal_name using an array + + # Checking if previous connections exist, if they do, disconnect them. + for test_signal in editor_file_dialog.get_signal_list(): + if not file_picker_data['node'] or not is_instance_valid(file_picker_data['node']): + continue + + if editor_file_dialog.is_connected( + test_signal.name, + file_picker_data['node'], + file_picker_data['method'] + ): + editor_file_dialog.disconnect( + test_signal.name, + file_picker_data['node'], + file_picker_data['method'] + ) + # Connect new signals + for new_signal_name in signal_name if typeof(signal_name) == TYPE_ARRAY else [signal_name]: + editor_file_dialog.connect(new_signal_name, who, method_name, [who]) + + file_picker_data['method'] = method_name + file_picker_data['node'] = who diff --git a/addons/dialogic/Editor/EditorView.tscn b/addons/dialogic/Editor/EditorView.tscn new file mode 100644 index 0000000..bec4842 --- /dev/null +++ b/addons/dialogic/Editor/EditorView.tscn @@ -0,0 +1,282 @@ +[gd_scene load_steps=20 format=2] + +[ext_resource path="res://addons/dialogic/Editor/EditorView.gd" type="Script" id=1] +[ext_resource path="res://addons/dialogic/Editor/TimelineEditor/TimelineEditor.tscn" type="PackedScene" id=2] +[ext_resource path="res://addons/dialogic/Images/Toolbar/add-character.svg" type="Texture" id=3] +[ext_resource path="res://addons/dialogic/Images/Toolbar/add-timeline.svg" type="Texture" id=4] +[ext_resource path="res://addons/dialogic/Images/Toolbar/add-definition.svg" type="Texture" id=5] +[ext_resource path="res://addons/dialogic/Editor/SettingsEditor/SettingsEditor.tscn" type="PackedScene" id=6] +[ext_resource path="res://addons/dialogic/Editor/CharacterEditor/CharacterEditor.tscn" type="PackedScene" id=7] +[ext_resource path="res://addons/dialogic/Editor/ThemeEditor/ThemeEditor.tscn" type="PackedScene" id=8] +[ext_resource path="res://addons/dialogic/Editor/GlossaryEntryEditor/GlossaryEntryEditor.tscn" type="PackedScene" id=9] +[ext_resource path="res://addons/dialogic/Images/Toolbar/add-glossary.svg" type="Texture" id=10] +[ext_resource path="res://addons/dialogic/Editor/DocumentationViewer/DocumentationViewer.tscn" type="PackedScene" id=11] +[ext_resource path="res://addons/dialogic/Editor/ValueEditor/ValueEditor.tscn" type="PackedScene" id=12] +[ext_resource path="res://addons/dialogic/Images/Toolbar/add-theme.svg" type="Texture" id=13] +[ext_resource path="res://addons/dialogic/Editor/MasterTree/MasterTree.tscn" type="PackedScene" id=35] + +[sub_resource type="Image" id=1] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=2] +flags = 4 +flags = 4 +image = SubResource( 1 ) +size = Vector2( 16, 16 ) + +[sub_resource type="Image" id=3] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=4] +flags = 4 +flags = 4 +image = SubResource( 3 ) +size = Vector2( 16, 16 ) + +[sub_resource type="StyleBoxTexture" id=5] +texture = SubResource( 4 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 2.0 +margin_right = 2.0 +margin_top = 2.0 +margin_bottom = 2.0 + +[node name="EditorView" type="Control"] +anchor_right = 1.0 +anchor_bottom = 1.0 +rect_min_size = Vector2( 0, 200 ) +size_flags_horizontal = 3 +size_flags_vertical = 3 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="ToolBar" type="HBoxContainer" parent="."] +anchor_right = 1.0 +margin_bottom = 32.0 +custom_constants/separation = 0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="NewTimelineButton" type="Button" parent="ToolBar"] +modulate = Color( 0, 0, 0, 1 ) +margin_right = 28.0 +margin_bottom = 32.0 +hint_tooltip = "New Timeline" +icon = ExtResource( 4 ) +flat = true + +[node name="NewCharactersButton" type="ToolButton" parent="ToolBar"] +modulate = Color( 0, 0, 0, 1 ) +self_modulate = Color( 0.870588, 0.870588, 0.870588, 1 ) +margin_left = 28.0 +margin_right = 56.0 +margin_bottom = 32.0 +hint_tooltip = "New Character" +icon = ExtResource( 3 ) + +[node name="NewValueButton" type="Button" parent="ToolBar"] +modulate = Color( 0, 0, 0, 1 ) +margin_left = 56.0 +margin_right = 84.0 +margin_bottom = 32.0 +hint_tooltip = "New Value" +icon = ExtResource( 5 ) +flat = true + +[node name="NewGlossaryEntryButton" type="Button" parent="ToolBar"] +modulate = Color( 0, 0, 0, 1 ) +margin_left = 84.0 +margin_right = 112.0 +margin_bottom = 32.0 +hint_tooltip = "New Definition" +icon = ExtResource( 10 ) +flat = true +__meta__ = { +"_editor_description_": "" +} + +[node name="NewThemeButton" type="Button" parent="ToolBar"] +modulate = Color( 0, 0, 0, 1 ) +margin_left = 112.0 +margin_right = 140.0 +margin_bottom = 32.0 +hint_tooltip = "New Theme" +icon = ExtResource( 13 ) +flat = true + +[node name="FoldTools" type="HBoxContainer" parent="ToolBar"] +visible = false +margin_left = 112.0 +margin_right = 203.0 +margin_bottom = 32.0 + +[node name="Label" type="Label" parent="ToolBar/FoldTools"] +margin_top = 9.0 +margin_right = 59.0 +margin_bottom = 23.0 +text = " Fold " + +[node name="ButtonFold" type="ToolButton" parent="ToolBar/FoldTools"] +margin_left = 63.0 +margin_right = 75.0 +margin_bottom = 32.0 +icon = SubResource( 2 ) +align = 0 + +[node name="ButtonUnfold" type="ToolButton" parent="ToolBar/FoldTools"] +margin_left = 79.0 +margin_right = 91.0 +margin_bottom = 32.0 +icon = SubResource( 2 ) +align = 0 + +[node name="Spacer" type="Control" parent="ToolBar"] +margin_left = 140.0 +margin_right = 752.0 +margin_bottom = 32.0 +size_flags_horizontal = 3 + +[node name="Web" type="ToolButton" parent="ToolBar"] +self_modulate = Color( 0.870588, 0.870588, 0.870588, 1 ) +margin_left = 752.0 +margin_right = 836.0 +margin_bottom = 32.0 +hint_tooltip = "Theme Editor" +mouse_default_cursor_shape = 2 +text = "Website" +icon = SubResource( 2 ) + +[node name="Docs" type="ToolButton" parent="ToolBar"] +self_modulate = Color( 0.870588, 0.870588, 0.870588, 1 ) +margin_left = 836.0 +margin_right = 897.0 +margin_bottom = 32.0 +hint_tooltip = "Theme Editor" +mouse_default_cursor_shape = 2 +text = "Help" +icon = SubResource( 2 ) + +[node name="Version" type="Label" parent="ToolBar"] +self_modulate = Color( 1, 1, 1, 0.631373 ) +margin_left = 897.0 +margin_top = 9.0 +margin_right = 1024.0 +margin_bottom = 23.0 +text = "Dialogic v1.3 - BETA" + +[node name="MainPanel" type="HSplitContainer" parent="."] +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_top = 38.0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="MasterTreeContainer" type="VBoxContainer" parent="MainPanel"] +margin_right = 150.0 +margin_bottom = 562.0 + +[node name="FilterMasterTreeEdit" type="LineEdit" parent="MainPanel/MasterTreeContainer"] +margin_right = 150.0 +margin_bottom = 26.0 +clear_button_enabled = true +right_icon = SubResource( 2 ) +placeholder_text = "Filter" + +[node name="MasterTree" parent="MainPanel/MasterTreeContainer" instance=ExtResource( 35 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 30.0 +margin_right = 150.0 +margin_bottom = 562.0 +size_flags_vertical = 3 + +[node name="TimelineEditor" parent="MainPanel" instance=ExtResource( 2 )] +visible = false + +[node name="CharacterEditor" parent="MainPanel" instance=ExtResource( 7 )] +visible = false + +[node name="GlossaryEntryEditor" parent="MainPanel" instance=ExtResource( 9 )] +visible = false +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 162.0 +margin_right = 1024.0 +margin_bottom = 562.0 + +[node name="ValueEditor" parent="MainPanel" instance=ExtResource( 12 )] +visible = false + +[node name="ThemeEditor" parent="MainPanel" instance=ExtResource( 8 )] +visible = false + +[node name="SettingsEditor" parent="MainPanel" instance=ExtResource( 6 )] +visible = false +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 192.0 +margin_right = 1253.0 +margin_bottom = 661.0 + +[node name="DocumentationViewer" parent="MainPanel" instance=ExtResource( 11 )] +visible = false +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 162.0 +margin_right = 1024.0 +margin_bottom = 562.0 +custom_styles/panel = SubResource( 5 ) + +[node name="Empty" type="CenterContainer" parent="MainPanel"] +margin_left = 162.0 +margin_right = 1024.0 +margin_bottom = 562.0 + +[node name="VBoxContainer" type="VBoxContainer" parent="MainPanel/Empty"] +margin_left = 291.0 +margin_top = 274.0 +margin_right = 571.0 +margin_bottom = 288.0 + +[node name="Label" type="Label" parent="MainPanel/Empty/VBoxContainer"] +margin_right = 280.0 +margin_bottom = 14.0 +text = "Select or create an element to start working" + +[node name="RemoveConfirmation" type="ConfirmationDialog" parent="."] +margin_right = 325.0 +margin_bottom = 88.0 +rect_min_size = Vector2( 250, 87.5 ) +window_title = "Por favor, Confirma..." +dialog_text = "Are you sure you want to remove this [resource]? +(Can't be restored)" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="RemoveFolderConfirmation" type="ConfirmationDialog" parent="."] +margin_right = 325.0 +margin_bottom = 88.0 +rect_min_size = Vector2( 250, 87.5 ) +window_title = "Por favor, Confirma..." +dialog_text = "Are you sure you want to remove this folder and all the items contained in it? +(Can't be restored)" +__meta__ = { +"_edit_use_anchors_": false +} diff --git a/addons/dialogic/Editor/Events/AudioEvent.tscn b/addons/dialogic/Editor/Events/AudioEvent.tscn new file mode 100644 index 0000000..b2d2b7d --- /dev/null +++ b/addons/dialogic/Editor/Events/AudioEvent.tscn @@ -0,0 +1,55 @@ +[gd_scene load_steps=5 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Audio/AudioPicker.tscn" type="PackedScene" id=3] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/AudioEvent.tres" type="StyleBox" id=4] +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/audio-event.svg" type="Texture" id=5] + +[node name="AudioEvent" instance=ExtResource( 1 )] +event_name = "Audio Event" +event_data = { +"audio": "stop", +"audio_bus": "Master", +"event_id": "dialogic_030", +"event_name": "AudioEvent", +"file": "", +"volume": 0.0 +} +event_icon = ExtResource( 5 ) +event_style = ExtResource( 4 ) +body_scene = ExtResource( 3 ) +expand_on_default = false +help_page_path = "res://addons/dialogic/Documentation/Content/Events/030.md" + +[node name="PanelContainer" parent="." index="1"] +custom_styles/panel = ExtResource( 4 ) + +[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="1"] +margin_right = 32.0 +texture = ExtResource( 5 ) + +[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"] +margin_left = 42.0 +margin_right = 118.0 +text = "Audio Event" + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="3"] +margin_left = 128.0 +margin_right = 138.0 + +[node name="ExpandControl" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="4"] +visible = true +margin_left = 148.0 +margin_right = 373.0 + +[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="5"] +margin_left = 383.0 + +[node name="OptionsControl" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="7"] +items = [ "Move Up", null, 0, false, false, 0, 0, null, "", false, "Move Down", null, 0, false, false, 1, 0, null, "", false, "", null, 0, false, false, 2, 0, null, "", false, "Remove", null, 0, false, false, 3, 0, null, "", false ] + +[node name="Body" parent="PanelContainer/MarginContainer/VBoxContainer" index="1"] +margin_bottom = 62.0 + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Body" index="0"] +margin_bottom = 28.0 diff --git a/addons/dialogic/Editor/Events/BackgroundMusic.tscn b/addons/dialogic/Editor/Events/BackgroundMusic.tscn new file mode 100644 index 0000000..ce4cdee --- /dev/null +++ b/addons/dialogic/Editor/Events/BackgroundMusic.tscn @@ -0,0 +1,64 @@ +[gd_scene load_steps=5 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Audio/AudioPickerComplex.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=2] +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/background-music.svg" type="Texture" id=3] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/BackgroundMusic.tres" type="StyleBox" id=4] + +[node name="BackgroundMusic" instance=ExtResource( 2 )] +margin_bottom = 74.0 +event_name = "Background Music" +event_data = { +"audio_bus": "Master", +"background-music": "stop", +"event_id": "dialogic_031", +"event_name": "BackgroundMusic", +"fade_length": 1.0, +"file": "", +"volume": 0 +} +event_icon = ExtResource( 3 ) +event_style = ExtResource( 4 ) +body_scene = ExtResource( 1 ) +expand_on_default = false +help_page_path = "res://addons/dialogic/Documentation/Content/Events/030.md" + +[node name="PanelContainer" parent="." index="1"] +margin_bottom = 74.0 +custom_styles/panel = ExtResource( 4 ) + +[node name="MarginContainer" parent="PanelContainer" index="1"] +margin_bottom = 74.0 + +[node name="VBoxContainer" parent="PanelContainer/MarginContainer" index="0"] +margin_bottom = 68.0 + +[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="1"] +margin_right = 32.0 +texture = ExtResource( 3 ) + +[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"] +margin_left = 42.0 +margin_right = 158.0 +text = "Background Music" + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="3"] +margin_left = 168.0 +margin_right = 178.0 + +[node name="ExpandControl" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="4"] +visible = true +margin_left = 188.0 +margin_right = 454.0 + +[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="5"] +margin_left = 464.0 + +[node name="OptionsControl" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="7"] +items = [ "Move Up", null, 0, false, false, 0, 0, null, "", false, "Move Down", null, 0, false, false, 1, 0, null, "", false, "", null, 0, false, false, 2, 0, null, "", false, "Remove", null, 0, false, false, 3, 0, null, "", false ] + +[node name="Body" parent="PanelContainer/MarginContainer/VBoxContainer" index="1"] +margin_bottom = 66.0 + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Body" index="0"] +margin_bottom = 32.0 diff --git a/addons/dialogic/Editor/Events/CallNode.tscn b/addons/dialogic/Editor/Events/CallNode.tscn new file mode 100644 index 0000000..4d3c79a --- /dev/null +++ b/addons/dialogic/Editor/Events/CallNode.tscn @@ -0,0 +1,61 @@ +[gd_scene load_steps=5 format=2] + +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/call-node.svg" type="Texture" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/CallNode.tres" type="StyleBox" id=3] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/CallNode/CallNodePicker.tscn" type="PackedScene" id=4] + +[node name="CallNode" instance=ExtResource( 2 )] +event_data = { +"call_node": { +"arguments": [ ], +"method_name": "", +"target_node_path": "" +}, +"event_id": "dialogic_042" +} +event_style = ExtResource( 3 ) +event_icon = ExtResource( 1 ) +event_name = "Call Node" +body_scene = ExtResource( 4 ) +expand_on_default = false + +[node name="PanelContainer" parent="." index="1"] +margin_bottom = 100.0 +custom_styles/panel = ExtResource( 3 ) + +[node name="MarginContainer" parent="PanelContainer" index="0"] +margin_bottom = 100.0 + +[node name="VBoxContainer" parent="PanelContainer/MarginContainer" index="0"] +margin_bottom = 94.0 + +[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="0"] +margin_right = 32.0 +texture = ExtResource( 3 ) + +[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="0"] +margin_right = 66.0 +text = "Call Node" + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="3"] +margin_left = 132.0 +margin_right = 142.0 + +[node name="ExpandControl" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="4"] +visible = true +margin_left = 146.0 +margin_right = 198.0 + +[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="5"] +margin_left = 202.0 + +[node name="Body" parent="PanelContainer/MarginContainer/VBoxContainer" index="1"] +visible = true +margin_right = 1012.0 +margin_bottom = 88.0 + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Body" index="1"] +margin_top = 4.0 +margin_right = 1012.0 +margin_bottom = 54.0 diff --git a/addons/dialogic/Editor/Events/ChangeBackground.tscn b/addons/dialogic/Editor/Events/ChangeBackground.tscn new file mode 100644 index 0000000..8ff1807 --- /dev/null +++ b/addons/dialogic/Editor/Events/ChangeBackground.tscn @@ -0,0 +1,48 @@ +[gd_scene load_steps=6 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Images/BackgroundPreview.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/ChangeBackground.tres" type="StyleBox" id=3] +[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=4] +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/change-background.svg" type="Texture" id=6] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Images/BackgroundPicker.tscn" type="PackedScene" id=7] + +[node name="ChangeBackground" instance=ExtResource( 4 )] +event_name = "Set Background" +event_data = { +"background": "", +"event_id": "dialogic_021" +} +event_icon = ExtResource( 6 ) +event_style = ExtResource( 3 ) +header_scene = ExtResource( 7 ) +body_scene = ExtResource( 1 ) +expand_on_default = false + +[node name="PanelContainer" parent="." index="1"] +custom_styles/panel = ExtResource( 3 ) + +[node name="SelectedStyle" parent="PanelContainer" index="0"] +modulate = Color( 0, 0, 0, 1 ) + +[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="1"] +margin_right = 32.0 +texture = ExtResource( 6 ) + +[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"] +margin_left = 42.0 +margin_right = 166.0 +text = "Change Background" + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="3"] +margin_left = 176.0 +margin_right = 512.0 + +[node name="ExpandControl" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="4"] +margin_left = 535.0 +margin_right = 587.0 + +[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="5"] +margin_left = 522.0 + +[node name="OptionsControl" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="7"] +items = [ "Move Up", null, 0, false, false, 0, 0, null, "", false, "Move Down", null, 0, false, false, 1, 0, null, "", false, "", null, 0, false, false, 2, 0, null, "", false, "Remove", null, 0, false, false, 3, 0, null, "", false ] diff --git a/addons/dialogic/Editor/Events/ChangeScene.tscn b/addons/dialogic/Editor/Events/ChangeScene.tscn new file mode 100644 index 0000000..f39a5eb --- /dev/null +++ b/addons/dialogic/Editor/Events/ChangeScene.tscn @@ -0,0 +1,37 @@ +[gd_scene load_steps=5 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/ChangeScene.tres" type="StyleBox" id=2] +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/change-scene.svg" type="Texture" id=3] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Scenes/ScenePicker.tscn" type="PackedScene" id=4] + +[node name="ChangeScene" instance=ExtResource( 1 )] +event_data = { +"change_scene": "", +"event_id": "dialogic_041" +} +event_style = ExtResource( 2 ) +event_icon = ExtResource( 3 ) +event_name = "Change Scene" +header_scene = ExtResource( 4 ) + +[node name="PanelContainer" parent="." index="1"] +custom_styles/panel = ExtResource( 2 ) + +[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="0"] +margin_right = 32.0 +texture = ExtResource( 3 ) + +[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="0"] +margin_right = 93.0 +text = "Change Scene" + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"] +margin_left = 159.0 +margin_right = 169.0 + +[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="4"] +margin_left = 173.0 + +[node name="OptionsControl" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="6"] +items = [ "Move Up", null, 0, false, false, 0, 0, null, "", false, "Move Down", null, 0, false, false, 1, 0, null, "", false, "", null, 0, false, false, 2, 0, null, "", false, "Remove", null, 0, false, false, 3, 0, null, "", false ] diff --git a/addons/dialogic/Editor/Events/ChangeTimeline.tscn b/addons/dialogic/Editor/Events/ChangeTimeline.tscn new file mode 100644 index 0000000..abf3627 --- /dev/null +++ b/addons/dialogic/Editor/Events/ChangeTimeline.tscn @@ -0,0 +1,38 @@ +[gd_scene load_steps=5 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/Timeline.tres" type="StyleBox" id=2] +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/change-timeline.svg" type="Texture" id=3] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Timelines/TimelinePicker.tscn" type="PackedScene" id=4] + +[node name="ChangeTimeline" instance=ExtResource( 1 )] +event_data = { +"change_timeline": "", +"event_id": "dialogic_020" +} +event_style = ExtResource( 2 ) +event_icon = ExtResource( 3 ) +event_name = "Change Timeline" +header_scene = ExtResource( 4 ) + +[node name="PanelContainer" parent="." index="1"] +custom_styles/panel = ExtResource( 2 ) + +[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="0"] +margin_right = 32.0 +texture = ExtResource( 3 ) + +[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="0"] +margin_right = 111.0 +text = "Change Timeline" + + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"] +margin_left = 177.0 +margin_right = 306.0 + +[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="4"] +margin_left = 310.0 + +[node name="OptionsControl" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="6"] +items = [ "Move Up", null, 0, false, false, 0, 0, null, "", false, "Move Down", null, 0, false, false, 1, 0, null, "", false, "", null, 0, false, false, 2, 0, null, "", false, "Remove", null, 0, false, false, 3, 0, null, "", false ] diff --git a/addons/dialogic/Editor/Events/CharacterJoin.tscn b/addons/dialogic/Editor/Events/CharacterJoin.tscn new file mode 100644 index 0000000..ac2cef5 --- /dev/null +++ b/addons/dialogic/Editor/Events/CharacterJoin.tscn @@ -0,0 +1,67 @@ +[gd_scene load_steps=7 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/CharacterJoin.tres" type="StyleBox" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/CharacterJoining.tscn" type="PackedScene" id=3] +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/character-join.svg" type="Texture" id=4] + +[sub_resource type="Image" id=3] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=2] +flags = 4 +flags = 4 +image = SubResource( 3 ) +size = Vector2( 16, 16 ) + +[node name="CharacterJoin" instance=ExtResource( 1 )] +event_name = "Character Join" +event_data = { +"action": "join", +"character": "", +"event_id": "dialogic_002", +"mirror": false, +"portrait": "", +"position": { +"0": false, +"1": false, +"2": false, +"3": false, +"4": false +} +} +event_icon = ExtResource( 4 ) +event_style = ExtResource( 2 ) +header_scene = ExtResource( 3 ) +help_page_path = "res://addons/dialogic/Documentation/Content/Events/001.md" + +[node name="PanelContainer" parent="." index="1"] +custom_styles/panel = ExtResource( 2 ) + +[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="1"] +margin_right = 32.0 +texture = ExtResource( 4 ) + +[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"] +margin_left = 42.0 +margin_right = 129.0 +text = "Character Join" + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="3"] +margin_left = 139.0 +margin_right = 588.0 + +[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="5"] +margin_left = 598.0 + +[node name="HelpButton" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="6"] +icon = SubResource( 2 ) + +[node name="OptionsControl" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="7"] +items = [ "Move Up", null, 0, false, false, 0, 0, null, "", false, "Move Down", null, 0, false, false, 1, 0, null, "", false, "", null, 0, false, false, 2, 0, null, "", false, "Remove", null, 0, false, false, 3, 0, null, "", false ] diff --git a/addons/dialogic/Editor/Events/CharacterLeave.tscn b/addons/dialogic/Editor/Events/CharacterLeave.tscn new file mode 100644 index 0000000..b922a91 --- /dev/null +++ b/addons/dialogic/Editor/Events/CharacterLeave.tscn @@ -0,0 +1,42 @@ +[gd_scene load_steps=5 format=2] + +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/character-leave.svg" type="Texture" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/CharacterLeave.tres" type="StyleBox" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=3] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/CharacterPicker.tscn" type="PackedScene" id=4] + +[node name="CharacterLeave" instance=ExtResource( 3 )] +event_name = "Character Leave" +event_data = { +"action": "leaveall", +"character": "[All]", +"event_id": "dialogic_003" +} +event_icon = ExtResource( 1 ) +event_style = ExtResource( 2 ) +header_scene = ExtResource( 4 ) + +[node name="PanelContainer" parent="." index="1"] +custom_styles/panel = ExtResource( 2 ) + +[node name="SelectedStyle" parent="PanelContainer" index="0"] +modulate = Color( 0, 0, 0, 1 ) + +[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="1"] +margin_right = 32.0 +texture = ExtResource( 1 ) + +[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"] +margin_left = 42.0 +margin_right = 143.0 +text = "Character Leave" + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="3"] +margin_left = 153.0 +margin_right = 562.0 + +[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="5"] +margin_left = 572.0 + +[node name="OptionsControl" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="7"] +items = [ "Move Up", null, 0, false, false, 0, 0, null, "", false, "Move Down", null, 0, false, false, 1, 0, null, "", false, "", null, 0, false, false, 2, 0, null, "", false, "Remove", null, 0, false, false, 3, 0, null, "", false ] diff --git a/addons/dialogic/Editor/Events/Choice.tscn b/addons/dialogic/Editor/Events/Choice.tscn new file mode 100644 index 0000000..f04f308 --- /dev/null +++ b/addons/dialogic/Editor/Events/Choice.tscn @@ -0,0 +1,65 @@ +[gd_scene load_steps=7 format=2] + +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/choice.svg" type="Texture" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/Logic.tres" type="StyleBox" id=3] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Logic/ChoicePicker.tscn" type="PackedScene" id=4] + +[sub_resource type="Image" id=1] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=2] +flags = 4 +flags = 4 +image = SubResource( 1 ) +size = Vector2( 16, 16 ) + +[node name="Choice" instance=ExtResource( 2 )] +event_name = "Choice" +event_data = { +"choice": "", +"condition": "", +"definition": "", +"event_id": "dialogic_011", +"value": "" +} +event_icon = ExtResource( 1 ) +event_style = ExtResource( 3 ) +header_scene = ExtResource( 4 ) +expand_on_default = false +needs_indentation = true +help_page_path = "res://addons/dialogic/Documentation/Content/Events/011.md" + +[node name="PanelContainer" parent="." index="1"] +custom_styles/panel = ExtResource( 3 ) + +[node name="Warning" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="0"] +margin_right = 16.0 +hint_tooltip = "This event needs a question event around it!" +texture = SubResource( 2 ) + +[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="1"] +margin_left = 26.0 +margin_right = 48.0 +texture = ExtResource( 1 ) + +[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"] +margin_left = 58.0 +margin_right = 101.0 +text = "Choice" + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="3"] +margin_left = 111.0 +margin_right = 323.0 + +[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="5"] +margin_left = 333.0 + +[node name="OptionsControl" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="7"] +items = [ "Move Up", null, 0, false, false, 0, 0, null, "", false, "Move Down", null, 0, false, false, 1, 0, null, "", false, "", null, 0, false, false, 2, 0, null, "", false, "Remove", null, 0, false, false, 3, 0, null, "", false ] diff --git a/addons/dialogic/Editor/Events/CloseDialog.tscn b/addons/dialogic/Editor/Events/CloseDialog.tscn new file mode 100644 index 0000000..d3eabbc --- /dev/null +++ b/addons/dialogic/Editor/Events/CloseDialog.tscn @@ -0,0 +1,38 @@ +[gd_scene load_steps=5 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/close-dialog.svg" type="Texture" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/CloseDialog.tres" type="StyleBox" id=3] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Numbers/TransitonLengthPicker.tscn" type="PackedScene" id=4] + +[node name="CloseDialog" instance=ExtResource( 1 )] +event_data = { +"event_id": "dialogic_022", +"transition_duration": 1.0 +} +event_style = ExtResource( 3 ) +event_icon = ExtResource( 2 ) +event_name = "Close Dialog" +header_scene = ExtResource( 4 ) + +[node name="PanelContainer" parent="." index="1"] +custom_styles/panel = ExtResource( 3 ) + +[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="1"] +margin_right = 32.0 +texture = ExtResource( 2 ) + +[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"] +margin_left = 42.0 +margin_right = 121.0 +text = "Close Dialog" + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="3"] +margin_left = 131.0 +margin_right = 336.0 + +[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="5"] +margin_left = 346.0 + +[node name="OptionsControl" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="6"] +items = [ "Move Up", null, 0, false, false, 0, 0, null, "", false, "Move Down", null, 0, false, false, 1, 0, null, "", false, "", null, 0, false, false, 2, 0, null, "", false, "Remove", null, 0, false, false, 3, 0, null, "", false ] diff --git a/addons/dialogic/Editor/Events/Condition.tscn b/addons/dialogic/Editor/Events/Condition.tscn new file mode 100644 index 0000000..15bdd07 --- /dev/null +++ b/addons/dialogic/Editor/Events/Condition.tscn @@ -0,0 +1,43 @@ +[gd_scene load_steps=5 format=2] + +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/condition.svg" type="Texture" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/Logic.tres" type="StyleBox" id=3] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Logic/ConditionPicker.tscn" type="PackedScene" id=4] + +[node name="Condition" instance=ExtResource( 2 )] +event_data = { +"condition": "", +"definition": "", +"event_id": "dialogic_012", +"value": "" +} +event_icon = ExtResource( 1 ) +event_style = ExtResource( 3 ) +header_scene = ExtResource( 4 ) +help_page_path = "res://addons/dialogic/Documentation/Content/Events/012.md" + +[node name="PanelContainer" parent="." index="1"] +custom_styles/panel = ExtResource( 3 ) + +[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="1"] +margin_right = 32.0 +texture = ExtResource( 1 ) + +[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"] +margin_left = 42.0 +margin_right = 42.0 + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="3"] +margin_left = 52.0 +margin_right = 360.0 + +[node name="ExpandControl" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="4"] +margin_left = 146.0 +margin_right = 210.0 + +[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="5"] +margin_left = 370.0 + +[node name="OptionsControl" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="7"] +items = [ "Move Up", null, 0, false, false, 0, 0, null, "", false, "Move Down", null, 0, false, false, 1, 0, null, "", false, "", null, 0, false, false, 2, 0, null, "", false, "Remove", null, 0, false, false, 3, 0, null, "", false ] diff --git a/addons/dialogic/Editor/Events/DummyEvent.tscn b/addons/dialogic/Editor/Events/DummyEvent.tscn new file mode 100644 index 0000000..4506c76 --- /dev/null +++ b/addons/dialogic/Editor/Events/DummyEvent.tscn @@ -0,0 +1,46 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/DummyEventDataShower.tscn" type="PackedScene" id=2] + +[sub_resource type="StyleBoxFlat" id=1] +content_margin_left = 0.0 +content_margin_right = 0.0 +content_margin_top = 0.0 +content_margin_bottom = 0.0 +bg_color = Color( 0.615686, 0.615686, 0.615686, 0.639216 ) +border_width_left = 2 +border_width_top = 2 +border_width_right = 2 +border_width_bottom = 2 +border_color = Color( 0.12549, 0.12549, 0.12549, 1 ) +corner_radius_top_left = 6 +corner_radius_top_right = 6 +corner_radius_bottom_right = 6 +corner_radius_bottom_left = 6 + +[node name="DummyEvent" instance=ExtResource( 1 )] +event_data = { +"event_id": "" +} +event_style = SubResource( 1 ) +event_name = "Event couldn't be found. The data will be preserved in this dummy." +body_scene = ExtResource( 2 ) +expand_on_default = false + +[node name="PanelContainer" parent="." index="1"] +custom_styles/panel = SubResource( 1 ) + +[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"] +margin_right = 463.0 +text = "Event couldn't be found. The data will be preserved in this dummy." + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="3"] +margin_left = 473.0 +margin_right = 483.0 + +[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="5"] +margin_left = 493.0 + +[node name="OptionsControl" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="6"] +items = [ "Move Up", null, 0, false, false, 0, 0, null, "", false, "Move Down", null, 0, false, false, 1, 0, null, "", false, "", null, 0, false, false, 2, 0, null, "", false, "Remove", null, 0, false, false, 3, 0, null, "", false ] diff --git a/addons/dialogic/Editor/Events/EmitSignal.tscn b/addons/dialogic/Editor/Events/EmitSignal.tscn new file mode 100644 index 0000000..56bfe6f --- /dev/null +++ b/addons/dialogic/Editor/Events/EmitSignal.tscn @@ -0,0 +1,37 @@ +[gd_scene load_steps=7 format=2] + +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/emit-signal.svg" type="Texture" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Text/SignalArgumentPicker.tscn" type="PackedScene" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=3] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/EmitSignal.tres" type="StyleBox" id=4] + +[sub_resource type="Image" id=3] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=2] +flags = 4 +flags = 4 +image = SubResource( 3 ) +size = Vector2( 16, 16 ) + +[node name="EmitSignal" instance=ExtResource( 3 )] +event_data = { +"emit_signal": "", +"event_id": "dialogic_040" +} +event_style = ExtResource( 4 ) +event_icon = ExtResource( 1 ) +event_name = "Emit Signal" +header_scene = ExtResource( 2 ) + +[node name="Warning" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="0"] +icon = SubResource( 2 ) + +[node name="OptionsControl" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="7"] +items = [ "Move Up", null, 0, false, false, 0, 0, null, "", false, "Move Down", null, 0, false, false, 1, 0, null, "", false, "", null, 0, false, false, 2, 0, null, "", false, "Remove", null, 0, false, false, 3, 0, null, "", false ] diff --git a/addons/dialogic/Editor/Events/EndBranch.tscn b/addons/dialogic/Editor/Events/EndBranch.tscn new file mode 100644 index 0000000..2df83c7 --- /dev/null +++ b/addons/dialogic/Editor/Events/EndBranch.tscn @@ -0,0 +1,36 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/Logic.tres" type="StyleBox" id=2] +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/end-branch.svg" type="Texture" id=5] + +[node name="EndBranch" instance=ExtResource( 1 )] +event_name = "End Branch" +event_data = { +"event_id": "dialogic_013" +} +event_icon = ExtResource( 5 ) +event_style = ExtResource( 2 ) +help_page_path = "res://addons/dialogic/Documentation/Content/Events/013.md" + +[node name="PanelContainer" parent="." index="1"] +custom_styles/panel = ExtResource( 2 ) + +[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="1"] +margin_right = 32.0 +texture = ExtResource( 5 ) + +[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"] +margin_left = 42.0 +margin_right = 113.0 +text = "End Branch" + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="3"] +margin_left = 123.0 +margin_right = 133.0 + +[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="5"] +margin_left = 143.0 + +[node name="OptionsControl" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="7"] +items = [ "Move Up", null, 0, false, false, 0, 0, null, "", false, "Move Down", null, 0, false, false, 1, 0, null, "", false, "", null, 0, false, false, 2, 0, null, "", false, "Remove", null, 0, false, false, 3, 0, null, "", false ] diff --git a/addons/dialogic/Editor/Events/Parts/Audio/AudioPicker.tscn b/addons/dialogic/Editor/Events/Parts/Audio/AudioPicker.tscn new file mode 100644 index 0000000..5fbe106 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Audio/AudioPicker.tscn @@ -0,0 +1,214 @@ +[gd_scene load_steps=7 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Audio/EventPart_AudioPicker.gd" type="Script" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/SectionPanel.tres" type="StyleBox" id=2] +[ext_resource path="res://addons/dialogic/Images/Pieces/closed-icon.svg" type="Texture" id=3] +[ext_resource path="res://addons/dialogic/Images/Pieces/open-icon.svg" type="Texture" id=4] + +[sub_resource type="Image" id=3] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=2] +flags = 4 +flags = 4 +image = SubResource( 3 ) +size = Vector2( 16, 16 ) + +[node name="AudioPicker" type="PanelContainer"] +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_right = -718.0 +margin_bottom = -580.0 +custom_styles/panel = ExtResource( 2 ) +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} +event_name = "AudioEvent" + +[node name="VBox" type="VBoxContainer" parent="."] +margin_left = 6.0 +margin_top = 5.0 +margin_right = 316.0 +margin_bottom = 40.0 + +[node name="Preview" type="Label" parent="VBox"] +visible = false +margin_left = -6.0 +margin_top = -5.0 +margin_right = 372.0 +margin_bottom = 9.0 +custom_colors/font_color = Color( 1, 1, 1, 0.513726 ) +text = " ..." + +[node name="prime_settings" type="HBoxContainer" parent="VBox"] +margin_right = 310.0 +margin_bottom = 30.0 +size_flags_horizontal = 3 + +[node name="ButtonClear" type="Button" parent="VBox/prime_settings"] +visible = false +margin_left = 87.0 +margin_right = 115.0 +margin_bottom = 30.0 +hint_tooltip = "Remove" +disabled = true +icon = SubResource( 2 ) +flat = true + +[node name="ButtonAudio" type="Button" parent="VBox/prime_settings"] +margin_right = 274.0 +margin_bottom = 30.0 +text = "No sound (will stop previous AudioEvent)" + +[node name="ButtonPreviewPlay" type="Button" parent="VBox/prime_settings"] +visible = false +margin_left = 87.0 +margin_right = 115.0 +margin_bottom = 30.0 +disabled = true +icon = SubResource( 2 ) + +[node name="AudioPreview" type="AudioStreamPlayer" parent="VBox/prime_settings"] + +[node name="show_adv" type="CheckBox" parent="VBox/prime_settings"] +margin_left = 278.0 +margin_right = 308.0 +margin_bottom = 30.0 +custom_icons/checked = ExtResource( 4 ) +custom_icons/unchecked = ExtResource( 3 ) +flat = true +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="adv_settings" type="HBoxContainer" parent="VBox"] +visible = false +margin_left = -6.0 +margin_top = 29.0 +margin_right = 508.0 +margin_bottom = 80.0 +custom_constants/separation = 8 + +[node name="AudioVolume" type="PanelContainer" parent="VBox/adv_settings"] +margin_right = 86.0 +margin_bottom = 51.0 +custom_styles/panel = ExtResource( 2 ) + +[node name="VBox" type="VBoxContainer" parent="VBox/adv_settings/AudioVolume"] +margin_left = 6.0 +margin_top = 5.0 +margin_right = 80.0 +margin_bottom = 47.0 + +[node name="Label" type="Label" parent="VBox/adv_settings/AudioVolume/VBox"] +margin_right = 74.0 +margin_bottom = 14.0 +text = "Volume:" + +[node name="Volume" type="SpinBox" parent="VBox/adv_settings/AudioVolume/VBox"] +margin_top = 18.0 +margin_right = 74.0 +margin_bottom = 42.0 +min_value = -80.0 +max_value = 24.0 +step = 0.01 +suffix = "dB" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="AudioBus" type="PanelContainer" parent="VBox/adv_settings"] +margin_left = 94.0 +margin_right = 179.0 +margin_bottom = 51.0 +custom_styles/panel = ExtResource( 2 ) + +[node name="VBox" type="VBoxContainer" parent="VBox/adv_settings/AudioBus"] +margin_left = 6.0 +margin_top = 5.0 +margin_right = 79.0 +margin_bottom = 47.0 + +[node name="Label" type="Label" parent="VBox/adv_settings/AudioBus/VBox"] +margin_right = 73.0 +margin_bottom = 14.0 +text = "AudioBus:" + +[node name="BusSelector" type="OptionButton" parent="VBox/adv_settings/AudioBus/VBox"] +margin_top = 18.0 +margin_right = 73.0 +margin_bottom = 38.0 +size_flags_vertical = 5 +text = "Master" +items = [ "Master", null, false, 0, null, "Voice Lines", null, false, 1, null ] +selected = 0 + +[node name="AudioRegion" type="PanelContainer" parent="VBox/adv_settings"] +visible = false +margin_left = 187.0 +margin_right = 419.0 +margin_bottom = 51.0 +custom_styles/panel = ExtResource( 2 ) + +[node name="VBox" type="VBoxContainer" parent="VBox/adv_settings/AudioRegion"] +margin_left = 6.0 +margin_top = 5.0 +margin_right = 226.0 +margin_bottom = 47.0 + +[node name="Label" type="Label" parent="VBox/adv_settings/AudioRegion/VBox"] +margin_right = 220.0 +margin_bottom = 14.0 +text = "Audio-region:" + +[node name="HBox" type="HBoxContainer" parent="VBox/adv_settings/AudioRegion/VBox"] +margin_top = 18.0 +margin_right = 220.0 +margin_bottom = 42.0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="StartAtLabel" type="Label" parent="VBox/adv_settings/AudioRegion/VBox/HBox"] +margin_top = 5.0 +margin_right = 33.0 +margin_bottom = 19.0 +text = "Start:" + +[node name="StartAt" type="SpinBox" parent="VBox/adv_settings/AudioRegion/VBox/HBox"] +margin_left = 37.0 +margin_right = 111.0 +margin_bottom = 24.0 +hint_tooltip = "Leave both at 0 to use the whole file." +max_value = 9999.0 +step = 0.1 +suffix = "sec" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="StopAtLabel" type="Label" parent="VBox/adv_settings/AudioRegion/VBox/HBox"] +margin_left = 115.0 +margin_top = 5.0 +margin_right = 142.0 +margin_bottom = 19.0 +text = "End:" + +[node name="StopAt" type="SpinBox" parent="VBox/adv_settings/AudioRegion/VBox/HBox"] +margin_left = 146.0 +margin_right = 220.0 +margin_bottom = 24.0 +hint_tooltip = "Leave both at 0 to use the whole file." +max_value = 9999.0 +step = 0.1 +suffix = "sec" +__meta__ = { +"_edit_use_anchors_": false +} diff --git a/addons/dialogic/Editor/Events/Parts/Audio/AudioPickerComplex.tscn b/addons/dialogic/Editor/Events/Parts/Audio/AudioPickerComplex.tscn new file mode 100644 index 0000000..e41234c --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Audio/AudioPickerComplex.tscn @@ -0,0 +1,41 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Audio/EventPart_AudioPickerComplex.gd" type="Script" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Audio/AudioPicker.tscn" type="PackedScene" id=2] + +[node name="AudioPickerComplex" type="VBoxContainer"] +margin_right = 40.0 +margin_bottom = 40.0 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="VBox" type="VBoxContainer" parent="."] +margin_right = 364.0 +margin_bottom = 67.0 + +[node name="Fade" type="HBoxContainer" parent="VBox"] +margin_right = 364.0 +margin_bottom = 24.0 + +[node name="FadeLengthLabel" type="Label" parent="VBox/Fade"] +margin_top = 5.0 +margin_right = 87.0 +margin_bottom = 19.0 +text = " Fade-length:" + +[node name="FadeLength" type="SpinBox" parent="VBox/Fade"] +margin_left = 91.0 +margin_right = 165.0 +margin_bottom = 24.0 +step = 0.01 +suffix = "s" + +[node name="AudioPicker" parent="VBox" instance=ExtResource( 2 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 28.0 +margin_right = 364.0 +margin_bottom = 67.0 +event_name = "Background Music" diff --git a/addons/dialogic/Editor/Events/Parts/Audio/EventPart_AudioPicker.gd b/addons/dialogic/Editor/Events/Parts/Audio/EventPart_AudioPicker.gd new file mode 100644 index 0000000..9d5c3bc --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Audio/EventPart_AudioPicker.gd @@ -0,0 +1,197 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! +signal audio_loaded + +export (String) var event_name = "Audio Event" + +## node references +onready var volume_input := $VBox/adv_settings/AudioVolume/VBox/Volume +onready var region_group := $VBox/adv_settings/AudioRegion +onready var start_at_input := $VBox/adv_settings/AudioRegion/VBox/HBox/StartAt +onready var stop_at_input := $VBox/adv_settings/AudioRegion/VBox/HBox/StopAt +onready var bus_selector := $VBox/adv_settings/AudioBus/VBox/BusSelector +onready var clear_button := $VBox/prime_settings/ButtonClear +onready var audio_button := $VBox/prime_settings/ButtonAudio +onready var audio_preview := $VBox/prime_settings/AudioPreview +onready var preview_play_button := $VBox/prime_settings/ButtonPreviewPlay +onready var show_advanced_button := $VBox/prime_settings/show_adv +onready var advanced_options_group := $VBox/adv_settings + +# used to connect the signals +func _ready(): + + # signals + audio_button.connect("pressed", self, '_on_ButtonAudio_pressed') + preview_play_button.connect("pressed", self, '_on_ButtonPreviewPlay_pressed') + audio_preview.connect("finished", self, '_on_AudioPreview_finished') + clear_button.connect('pressed', self, "_on_ButtonClear_pressed") + bus_selector.connect("item_selected", self, "_on_BusSelector_item_selected") + volume_input.connect("value_changed", self, "_on_Volume_value_changed") + start_at_input.connect("value_changed", self, "_on_StartAt_value_changed") + stop_at_input.connect("value_changed", self, "_on_StopAt_value_changed") + show_advanced_button.connect("toggled", self, "_on_advanced_toggled") + + advanced_options_group.hide() + + audio_button.text = 'No sound (will stop previous '+event_name+')' + + # icons + clear_button.icon = get_icon("Reload", "EditorIcons") + preview_play_button.icon = get_icon("Play", "EditorIcons") + + # AudioBusPicker update + AudioServer.connect("bus_layout_changed", self, "update_bus_selector") + update_bus_selector() + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + if data.has('audio_bus'): + for idx in range(bus_selector.get_item_count()): + if bus_selector.get_item_text(idx) == data['audio_bus']: + bus_selector.select(idx) + + if data.has('volume'): + volume_input.value = data['volume'] + if data.has('start_time'): + start_at_input.value = data["start_time"] + if data.has('stop_time'): + stop_at_input.value = data["stop_time"] + if data.has('file'): + load_audio(data['file']) + + if not data.has("event_id"): + region_group.show() + + +# has to return the wanted preview, only useful for body parts +func get_preview(): + if event_data['file']: + return 'Plays '+event_data['file'].get_file() + else: + if event_data['event_id'] == 'dialogic_030': + return 'Stops previous audio event' + if event_data['event_id'] == 'dialogic_031': + return 'Stops previous background music' + +### The AudioFile selection +func _on_ButtonAudio_pressed(): + editor_reference.godot_dialog("*.wav, *.ogg, *.mp3") + editor_reference.godot_dialog_connect(self, "_on_file_selected") + +func _on_file_selected(path, target): + target.load_audio(path) # why is the targer needed? Couldn't it just call itself? + emit_signal("audio_loaded") + +### Loading the audio +func load_audio(path: String): + if not path.empty(): + audio_button.text = path.get_file() + audio_button.hint_tooltip = path + clear_button.disabled = false + preview_play_button.disabled = false + event_data['file'] = path + #update the bus and the volume too so it works with voices + event_data['audio_bus'] = bus_selector.get_item_text(max(0, bus_selector.selected)) + event_data['volume'] = volume_input.value + + if event_data.has('audio'): event_data['audio'] = 'play' + if event_data.has('background-music'): event_data['background-music'] = 'play' + + data_changed() + + show_options() + + else: + audio_button.text = 'No sound (will stop previous '+event_name+')' + event_data['file'] = '' + + if event_data.has('audio'): event_data['audio'] = 'stop' + if event_data.has('background-music'): event_data['background-music'] = 'stop' + + data_changed() + + hide_options() + + + +func _on_ButtonPreviewPlay_pressed(): + if audio_preview.is_playing(): + audio_preview.stop() + else: + audio_preview.stream = load(event_data['file']) + audio_preview.bus = event_data['audio_bus'] + audio_preview.volume_db = event_data['volume'] + if event_data.has('start_time'): + audio_preview.play(event_data['start_time']) + else: + audio_preview.play() + preview_play_button.icon = get_icon("Stop", "EditorIcons") + +func _on_AudioPreview_finished(): + preview_play_button.icon = get_icon("Play", "EditorIcons") + +func _on_ButtonClear_pressed(): + load_audio('') + +func update_bus_selector(): + if bus_selector != null: + var previous_selected_bus_name = bus_selector.get_item_text(max(0, bus_selector.selected)) + + bus_selector.clear() + for i in range(AudioServer.bus_count): + var bus_name = AudioServer.get_bus_name(i) + bus_selector.add_item(bus_name) + + if previous_selected_bus_name == bus_name: + bus_selector.select(i) + +func _on_BusSelector_item_selected(index): + event_data['audio_bus'] = bus_selector.get_item_text(index) + data_changed() + +func _on_Volume_value_changed(value): + event_data['volume'] = value + data_changed() + +func _on_StopAt_value_changed(value): + event_data['stop_time'] = value + data_changed() + + +func _on_StartAt_value_changed(value): + event_data['start_time'] = value + data_changed() + +func _on_advanced_toggled(show:bool): + if show: + advanced_options_group.show() + else: + advanced_options_group.hide() + +func show_options(): + clear_button.show() + preview_play_button.show() + + volume_input.show() + + show_advanced_button.show() + if show_advanced_button.pressed: + advanced_options_group.show() + +func hide_options(): + clear_button.hide() + preview_play_button.hide() + volume_input.hide() + advanced_options_group.hide() + show_advanced_button.hide() + +func _process(_delta): + #Will automatically stop playing when reaching stop_time + if(audio_preview.playing && event_data.has('stop_time') && audio_preview.get_playback_position() >= event_data['stop_time']): + audio_preview.stop() diff --git a/addons/dialogic/Editor/Events/Parts/Audio/EventPart_AudioPickerComplex.gd b/addons/dialogic/Editor/Events/Parts/Audio/EventPart_AudioPickerComplex.gd new file mode 100644 index 0000000..56f1a80 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Audio/EventPart_AudioPickerComplex.gd @@ -0,0 +1,42 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! + +## node references +onready var audio_picker = $VBox/AudioPicker +onready var fade_length_input = $VBox/Fade/FadeLength + +# used to connect the signals +func _ready(): + audio_picker.connect("data_changed", self, "_on_AudioPicker_data_changed") + fade_length_input.connect("value_changed", self, "_on_FadeLength_value_changed") + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + audio_picker.editor_reference = editor_reference + audio_picker.load_data(event_data) + + fade_length_input.value = event_data['fade_length'] + +# has to return the wanted preview, only useful for body parts +func get_preview(): + return audio_picker.get_preview() + +func _on_AudioPicker_data_changed(data): + event_data = data + + # informs the parent about the changes! + data_changed() + +func _on_FadeLength_value_changed(value): + event_data['fade_length'] = value + audio_picker.load_data(event_data) + + # informs the parent about the changes! + data_changed() + diff --git a/addons/dialogic/Editor/Events/Parts/Audio/EventPart_VoiceEditor.gd b/addons/dialogic/Editor/Events/Parts/Audio/EventPart_VoiceEditor.gd new file mode 100644 index 0000000..a94b073 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Audio/EventPart_VoiceEditor.gd @@ -0,0 +1,97 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + + +export(PackedScene) var audio_picker + +#onready var voices_container = $List/VoicesList +#onready var label_container = $List/Label +var audio_lines = 1 # how many lines does the text event has + + +func load_data(data): + .load_data(data) + + update_data() + +func repopulate() -> void: + for child in $List.get_children(): + child.queue_free() + + var settings = DialogicResources.get_settings_config() + #recraete audio pickers + for i in range(audio_lines): + var label = Label.new() + label.text = "Line "+str(i+1)+":" + label.size_flags_vertical = 0 + $List.add_child(label) + + var a_picker = audio_picker.instance() + a_picker.editor_reference = editor_reference + a_picker.event_name = "voice line" + a_picker.connect("audio_loaded", self, "_on_audio_picker_audio_loaded", [i]) + $List.add_child(a_picker) + + #loaded data + if event_data.has('voice_data'): + var voice_data = event_data['voice_data'] + if voice_data.has(str(i)): + var _d = voice_data[str(i)] + if _d.has('file'): + a_picker.load_data(_d) + continue + + a_picker.load_data({'audio_bus':settings.get_value("dialog", "text_event_audio_default_bus", "Master")}) + + +func _on_text_changed(text:String) -> void: + # This is called when the text has changed + # Are we adding new text events per new line ? + var settings_file = DialogicResources.get_settings_config() + + if not (settings_file.get_value("dialog", "new_lines", true)): + $Label.text = "Audio Picker:" + return + + var prev_lines = audio_lines + $Label.text = "Audio Pickers:" + audio_lines = max(1, len(text.split('\n'))) + + if prev_lines != audio_lines: + repopulate() + +#Since the nodes are now in a grid sharing indicies with lables, index must +#be multiplied by 2, then added an offset of 1 to get the requested node +func _get_audio_picker(index:int): + var data = $List.get_child(index * 2 + 1) + return data + +func _on_audio_picker_audio_loaded(index:int) -> void: + # update the data + #var data_loaded = voices_container.get_child(index).event_data + var data_loaded = _get_audio_picker(index).event_data + if not event_data.has('voice_data'): + event_data['voice_data'] = {} + + event_data['voice_data'][str(index)] = data_loaded + + #load the data + load_data(event_data) + + # informs the parent about the data change + data_changed() + + +func update_data(): + if not event_data.has('voice_data'): + return + var keys = event_data['voice_data'].keys() + # This subroutine was already a hack before I got to it, so don't blame me. + # divide by two, again becouse the two merged nodes. + # reused _get_audio_picker wherein we multiply by two again :D + # - KvaGram + for i in range($List.get_child_count() / 2): + if keys.has(str(i)): + var data = event_data['voice_data'][str(i)] + #voices_container.get_child(i).load_data(data) + _get_audio_picker(i).load_data(data) diff --git a/addons/dialogic/Editor/Events/Parts/Audio/VoiceEditor.tscn b/addons/dialogic/Editor/Events/Parts/Audio/VoiceEditor.tscn new file mode 100644 index 0000000..2c67b9f --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Audio/VoiceEditor.tscn @@ -0,0 +1,24 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Audio/EventPart_VoiceEditor.gd" type="Script" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Audio/AudioPicker.tscn" type="PackedScene" id=2] + +[node name="VoiceEditor" type="VBoxContainer"] +margin_right = 40.0 +margin_bottom = 40.0 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} +audio_picker = ExtResource( 2 ) + +[node name="Label" type="Label" parent="."] +margin_right = 86.0 +margin_bottom = 14.0 +text = "Voice Picker :" + +[node name="List" type="GridContainer" parent="."] +margin_top = 18.0 +margin_right = 86.0 +margin_bottom = 18.0 +columns = 2 diff --git a/addons/dialogic/Editor/Events/Parts/CallNode/CallNodePicker.tscn b/addons/dialogic/Editor/Events/Parts/CallNode/CallNodePicker.tscn new file mode 100644 index 0000000..4dc6075 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/CallNode/CallNodePicker.tscn @@ -0,0 +1,66 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/CallNode/EventPart_CallNodePicker.gd" type="Script" id=1] + +[node name="CallNodePicker" type="VBoxContainer"] +margin_right = 40.0 +margin_bottom = 40.0 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Label" type="Label" parent="."] +margin_right = 820.0 +margin_bottom = 14.0 +text = "This event calls the method [Method Name] on the node [Target Node]. It passes an array to the method." + +[node name="Properties" type="HBoxContainer" parent="."] +margin_top = 18.0 +margin_right = 820.0 +margin_bottom = 42.0 +custom_constants/separation = 8 + +[node name="TargetNodeLabel" type="Label" parent="Properties"] +margin_top = 5.0 +margin_right = 81.0 +margin_bottom = 19.0 +text = "Target Node:" + +[node name="TargetNodeEdit" type="LineEdit" parent="Properties"] +margin_left = 89.0 +margin_right = 339.0 +margin_bottom = 24.0 +rect_min_size = Vector2( 250, 0 ) + +[node name="CallMethodLabel" type="Label" parent="Properties"] +margin_left = 347.0 +margin_top = 5.0 +margin_right = 442.0 +margin_bottom = 19.0 +text = "Method Name:" + +[node name="CallMethodEdit" type="LineEdit" parent="Properties"] +margin_left = 450.0 +margin_right = 650.0 +margin_bottom = 24.0 +rect_min_size = Vector2( 200, 0 ) + +[node name="ArgumentsLabel" type="Label" parent="Properties"] +margin_left = 658.0 +margin_top = 5.0 +margin_right = 738.0 +margin_bottom = 19.0 +text = "ArrayLength:" + +[node name="ArgumentsSpinBox" type="SpinBox" parent="Properties"] +margin_left = 746.0 +margin_right = 820.0 +margin_bottom = 24.0 +max_value = 99.0 + +[node name="Arguments" type="VBoxContainer" parent="."] +margin_top = 46.0 +margin_right = 820.0 +margin_bottom = 46.0 +custom_constants/separation = 5 diff --git a/addons/dialogic/Editor/Events/Parts/CallNode/EventPart_CallNodePicker.gd b/addons/dialogic/Editor/Events/Parts/CallNode/EventPart_CallNodePicker.gd new file mode 100644 index 0000000..a78fca7 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/CallNode/EventPart_CallNodePicker.gd @@ -0,0 +1,107 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! + +## node references +onready var target_path_input = $Properties/TargetNodeEdit +onready var method_name_input = $Properties/CallMethodEdit +onready var argument_length = $Properties/ArgumentsSpinBox +onready var arguments_container = $Arguments + +# used to connect the signals +func _ready(): + target_path_input.connect("text_changed", self, "_on_TargetPathInput_text_changed") + method_name_input.connect("text_changed", self, "_on_MethodName_text_changed") + argument_length.connect("value_changed", self, "_on_AgrumentLength_value_changed") + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + target_path_input.text = event_data['call_node']['target_node_path'] + method_name_input.text = event_data['call_node']['method_name'] + + for i in range(event_data['call_node']['arguments'].size()): + if (event_data['call_node']['arguments'][i] == null): + event_data['call_node']['arguments'][i] = '' + + argument_length.value = len(event_data['call_node']['arguments']) + + _create_argument_controls() + +# has to return the wanted preview, only useful for body parts +func get_preview(): + if event_data['call_node']["target_node_path"] and event_data['call_node']['method_name']: + return 'Calls `'+event_data['call_node']['method_name']+ "` on node `"+event_data['call_node']["target_node_path"]+"` with an array with "+str(len( event_data['call_node']['arguments'])) +" items." + else: + return '' + +func _on_TargetPathInput_text_changed(text): + event_data['call_node']['target_node_path'] = text + + # informs the parent about the changes! + data_changed() + +func _on_MethodName_text_changed(text): + event_data['call_node']['method_name'] = text + + # informs the parent about the changes! + data_changed() + +func _on_AgrumentLength_value_changed(value): + event_data['call_node']['arguments'].resize(max(0, value)) + + for i in range(event_data['call_node']['arguments'].size()): + if (event_data['call_node']['arguments'][i] == null): + event_data['call_node']['arguments'][i] = '' + + _create_argument_controls() + + # informs the parent about the changes! + data_changed() + +func _on_argument_value_changed(value, arg_index): + if (arg_index < 0 or arg_index >= event_data['call_node']['arguments'].size()): + return + + event_data['call_node']['arguments'][arg_index] = str(value) + + # informs the parent about the changes! + data_changed() + + +# helpers +func _create_argument_controls(): + if (not event_data['call_node']['arguments'] is Array): + return + + # clear old + for c in arguments_container.get_children(): + arguments_container.remove_child(c) + c.queue_free() + + # create controls + var index = 0 + for a in event_data['call_node']['arguments']: + var container = HBoxContainer.new() + container.name = "Argument%s" % index + + var label = Label.new() + label.name = "IndexLabel" + label.text = "Index %s:" % index + label.rect_min_size.x = 100 + container.add_child(label) + + var edit = LineEdit.new() + edit.name = "IndexValue" + edit.text = str(a) + edit.connect("text_changed", self, "_on_argument_value_changed", [ index ]) + edit.rect_min_size.x = 250 + container.add_child(edit) + + arguments_container.add_child(container) + + index += 1 diff --git a/addons/dialogic/Editor/Events/Parts/DummyEventDataShower.tscn b/addons/dialogic/Editor/Events/Parts/DummyEventDataShower.tscn new file mode 100644 index 0000000..8121dbd --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/DummyEventDataShower.tscn @@ -0,0 +1,23 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/EventPart_DummyEventDataShower.gd" type="Script" id=1] + +[node name="DummyEventDataShower" type="HBoxContainer"] +margin_right = 40.0 +margin_bottom = 40.0 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Text" type="Label" parent="."] +margin_top = 13.0 +margin_right = 62.0 +margin_bottom = 27.0 +text = "Event ID: " + +[node name="EventId" type="Label" parent="."] +margin_left = 66.0 +margin_top = 13.0 +margin_right = 66.0 +margin_bottom = 27.0 diff --git a/addons/dialogic/Editor/Events/Parts/EventBlock/ExpandControl.gd b/addons/dialogic/Editor/Events/Parts/EventBlock/ExpandControl.gd new file mode 100644 index 0000000..da26df0 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/EventBlock/ExpandControl.gd @@ -0,0 +1,51 @@ +tool +extends HBoxContainer + +onready var visible_toggle = $VisibleToggle +onready var preview = $MarginContainer/Preview + +var enabled : bool +var expanded: bool + +var max_preview_characters = 50 + +signal state_changed(expanded) + +func _ready(): + $MarginContainer/Preview.set("custom_colors/font_color", get_color("disabled_font_color", "Editor")) + set_enabled(false) + visible_toggle.connect("toggled", self, "_on_VisibleToggle_toggled") + + +func set_preview(text: String): + if len(text) > 50: + text = text.substr(0, 50) + text += "..." + preview.text = text + + +func set_enabled(enabled: bool): + self.enabled = enabled + set_expanded(enabled) + if enabled: + show() + else: + hide() + + +func set_expanded(expanded: bool): + if not enabled: + return + self.expanded = expanded + visible_toggle.pressed = expanded + if expanded: + preview.hide() + else: + preview.show() + visible_toggle.release_focus() + emit_signal("state_changed", expanded) + + +func _on_VisibleToggle_toggled(button_pressed: bool): + if enabled: + set_expanded(button_pressed) diff --git a/addons/dialogic/Editor/Events/Parts/EventBlock/ExpandControl.tscn b/addons/dialogic/Editor/Events/Parts/EventBlock/ExpandControl.tscn new file mode 100644 index 0000000..9daf8c7 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/EventBlock/ExpandControl.tscn @@ -0,0 +1,38 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/EventBlock/ExpandControl.gd" type="Script" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/EventBlock/VisibleToggle.tscn" type="PackedScene" id=4] + +[node name="ExpandControl" type="HBoxContainer"] +visible = false +margin_right = 62.0 +margin_bottom = 30.0 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="VSeparator" type="VSeparator" parent="."] +margin_right = 4.0 +margin_bottom = 30.0 + +[node name="VisibleToggle" parent="." instance=ExtResource( 4 )] +margin_left = 8.0 +margin_right = 38.0 +pressed = false +script = null + +[node name="MarginContainer" type="MarginContainer" parent="."] +margin_left = 42.0 +margin_right = 64.0 +margin_bottom = 30.0 +mouse_filter = 1 +custom_constants/margin_left = 10 + +[node name="Preview" type="Label" parent="MarginContainer"] +margin_left = 10.0 +margin_top = 8.0 +margin_right = 22.0 +margin_bottom = 22.0 +custom_colors/font_color = Color( 1, 1, 1, 0.52549 ) +text = "..." diff --git a/addons/dialogic/Editor/Events/Parts/EventBlock/OptionsControl.gd b/addons/dialogic/Editor/Events/Parts/EventBlock/OptionsControl.gd new file mode 100644 index 0000000..bae3b4d --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/EventBlock/OptionsControl.gd @@ -0,0 +1,17 @@ +tool +extends MenuButton + +signal action(action_name) + +func _ready(): + var popup = get_popup() + popup.connect("index_pressed", self, "_on_OptionSelected") + + +func _on_OptionSelected(index): + if index == 0: + emit_signal("action", "up") + elif index == 1: + emit_signal("action", "down") + elif index == 3: + emit_signal("action","remove") diff --git a/addons/dialogic/Editor/Events/Parts/EventBlock/OptionsControl.tscn b/addons/dialogic/Editor/Events/Parts/EventBlock/OptionsControl.tscn new file mode 100644 index 0000000..359f73b --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/EventBlock/OptionsControl.tscn @@ -0,0 +1,17 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/EventBlock/OptionsControl.gd" type="Script" id=1] +[ext_resource path="res://addons/dialogic/Images/Pieces/expand-icon.svg" type="Texture" id=2] + + +[node name="OptionsControl" type="MenuButton"] +margin_right = 29.0 +margin_bottom = 20.0 +icon = ExtResource( 2 ) +clip_text = true +align = 2 +items = [ "Move Up", null, 0, false, false, 0, 0, null, "", false, "Move Down", null, 0, false, false, 1, 0, null, "", false, "", null, 0, false, false, 2, 0, null, "", true, "Remove", null, 0, false, false, 3, 0, null, "", false ] +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} diff --git a/addons/dialogic/Editor/Events/Parts/EventBlock/PieceExtraSettings.gd b/addons/dialogic/Editor/Events/Parts/EventBlock/PieceExtraSettings.gd new file mode 100644 index 0000000..38f125b --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/EventBlock/PieceExtraSettings.gd @@ -0,0 +1,27 @@ +tool +extends MenuButton + +var current_piece + +func _ready(): + # Gotta love the nodes system some times + # Praise the paths (っ´ω`c)♡ + current_piece = get_parent().get_parent().get_parent().get_parent() + var popup = get_popup() + popup.connect("index_pressed", self, "_on_OptionSelected") + + +func _on_OptionSelected(index): + var timeline_editor = current_piece.editor_reference.get_node('MainPanel/TimelineEditor') + if index == 0: + # Moving this up + timeline_editor.move_block(current_piece, 'up') + elif index == 1: + # Moving piece down + timeline_editor.move_block(current_piece, 'down') + elif index == 3: + # Removing a piece + if timeline_editor._is_item_selected(current_piece): + timeline_editor.select_item(current_piece) + timeline_editor.delete_selected_events() + timeline_editor.indent_events() diff --git a/addons/dialogic/Editor/Events/Parts/EventBlock/PieceExtraSettings.tscn b/addons/dialogic/Editor/Events/Parts/EventBlock/PieceExtraSettings.tscn new file mode 100644 index 0000000..1df0efc --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/EventBlock/PieceExtraSettings.tscn @@ -0,0 +1,19 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://addons/dialogic/Images/Pieces/expand-icon.svg" type="Texture" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/EventBlock/PieceExtraSettings.gd" type="Script" id=2] + + +[node name="OptionButton" type="MenuButton"] +margin_left = 1749.0 +margin_right = 1786.0 +margin_bottom = 30.0 +text = "Item 0" +icon = ExtResource( 1 ) +clip_text = true +align = 2 +items = [ "Move Up (Alt+Up)", null, 0, false, false, 0, 0, null, "", false, "Move Down (Alt+Down)", null, 0, false, false, 1, 0, null, "", false, "", null, 0, false, false, 2, 0, null, "", true, "Remove", null, 0, false, false, 3, 0, null, "", false ] +script = ExtResource( 2 ) +__meta__ = { +"_edit_use_anchors_": false +} diff --git a/addons/dialogic/Editor/Events/Parts/EventBlock/Spacer.tscn b/addons/dialogic/Editor/Events/Parts/EventBlock/Spacer.tscn new file mode 100644 index 0000000..7e5330d --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/EventBlock/Spacer.tscn @@ -0,0 +1,8 @@ +[gd_scene format=2] + +[node name="Spacer" type="Control"] +mouse_filter = 1 +size_flags_horizontal = 3 +__meta__ = { +"_edit_use_anchors_": false +} diff --git a/addons/dialogic/Editor/Events/Parts/EventBlock/VisibleToggle.gd b/addons/dialogic/Editor/Events/Parts/EventBlock/VisibleToggle.gd new file mode 100644 index 0000000..9d2de02 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/EventBlock/VisibleToggle.gd @@ -0,0 +1,49 @@ +tool +extends CheckBox + +var current_piece +var is_disabled = false + + +func _ready(): + # Gotta love the nodes system some times + # Praise the paths (っ´ω`c)♡ + current_piece = get_parent().get_parent().get_parent().get_parent() + connect("toggled", self, "_on_VisibleToggle_toggled") + + +func disabled(): + self_modulate = Color(0,0,0,0) + is_disabled = true + + +func set_visible(visible: bool): + pressed = visible + var current_rect_size = current_piece.get("rect_size") + if visible: + current_piece.get_node("PanelContainer/VBoxContainer/Header/Preview").hide() + + var index = 0 + for node in current_piece.get_node("PanelContainer/VBoxContainer").get_children(): + if index > 0: + node.show() + index += 1 + else: + if current_piece.has_node("PanelContainer/VBoxContainer/Header/Preview"): + current_piece.get_node("PanelContainer/VBoxContainer/Header/Preview").show() + + var index = 0 + for node in current_piece.get_node("PanelContainer/VBoxContainer").get_children(): + if index > 0: + node.hide() + index += 1 + if "preview" in current_piece: + current_piece.get_node("PanelContainer/VBoxContainer/Header/Preview").text = current_piece.preview + current_piece.set("rect_size", Vector2(current_rect_size.x,0)) + release_focus() + + +func _on_VisibleToggle_toggled(button_pressed): + if is_disabled: + return + set_visible(button_pressed) diff --git a/addons/dialogic/Editor/Events/Parts/EventBlock/VisibleToggle.tscn b/addons/dialogic/Editor/Events/Parts/EventBlock/VisibleToggle.tscn new file mode 100644 index 0000000..19fbe3e --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/EventBlock/VisibleToggle.tscn @@ -0,0 +1,68 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://addons/dialogic/Images/Pieces/open-icon.svg" type="Texture" id=1] +[ext_resource path="res://addons/dialogic/Images/Pieces/closed-icon.svg" type="Texture" id=2] + +[sub_resource type="GDScript" id=1] +script/source = "tool +extends CheckBox + +var current_piece +var is_disabled = false + + +func _ready(): + # Gotta love the nodes system some times + # Praise the paths (っ´ω`c)♡ + current_piece = get_parent().get_parent().get_parent().get_parent() + connect(\"toggled\", self, \"_on_VisibleToggle_toggled\") + + +func disabled(): + self_modulate = Color(0,0,0,0) + is_disabled = true + + +func set_visible(visible: bool): + pressed = visible + var current_rect_size = current_piece.get(\"rect_size\") + if visible: + current_piece.get_node(\"PanelContainer/VBoxContainer/Header/Preview\").hide() + + var index = 0 + for node in current_piece.get_node(\"PanelContainer/VBoxContainer\").get_children(): + if index > 0: + node.show() + index += 1 + else: + if current_piece.has_node(\"PanelContainer/VBoxContainer/Header/Preview\"): + current_piece.get_node(\"PanelContainer/VBoxContainer/Header/Preview\").show() + + var index = 0 + for node in current_piece.get_node(\"PanelContainer/VBoxContainer\").get_children(): + if index > 0: + node.hide() + index += 1 + if \"preview\" in current_piece: + current_piece.get_node(\"PanelContainer/VBoxContainer/Header/Preview\").text = current_piece.preview + current_piece.set(\"rect_size\", Vector2(current_rect_size.x,0)) + release_focus() + + +func _on_VisibleToggle_toggled(button_pressed): + if is_disabled: + return + set_visible(button_pressed) +" + +[node name="VisibleToggle" type="CheckBox"] +margin_right = 30.0 +margin_bottom = 30.0 +custom_icons/checked = ExtResource( 1 ) +custom_icons/unchecked = ExtResource( 2 ) +pressed = true +flat = true +script = SubResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} diff --git a/addons/dialogic/Editor/Events/Parts/EventPart.gd b/addons/dialogic/Editor/Events/Parts/EventPart.gd new file mode 100644 index 0000000..1ccf6d2 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/EventPart.gd @@ -0,0 +1,44 @@ +tool +extends Control + +# has to be set by the parent before adding it to the tree +var editor_reference +#var editorPopup + +var event_data = {} + +signal data_changed + +# emit this to set the enabling of the body +signal request_set_body_enabled(enabled) + +# emit these if you want the body to be closed/opened +signal request_open_body +signal request_close_body + +# emit these if you want the event to be selected +signal request_selection + +# emit this if you want a warning to be displayed/hidden +signal set_warning(text) +signal remove_warning() + + +# when the node is ready +func _ready(): + pass + +# to be overwritten by the subclasses +func load_data(data:Dictionary): + event_data = data + + +# to be overwritten by body-parts that provide a preview +func get_preview_text(): + return '' + + +# has to be called everytime the data got changed +func data_changed(): + emit_signal("data_changed", event_data) + diff --git a/addons/dialogic/Editor/Events/Parts/EventPart_DummyEventDataShower.gd b/addons/dialogic/Editor/Events/Parts/EventPart_DummyEventDataShower.gd new file mode 100644 index 0000000..43ef80b --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/EventPart_DummyEventDataShower.gd @@ -0,0 +1,23 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! + +## node references +onready var text_field = $EventId + +# used to connect the signals +func _ready(): + pass + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + text_field.text = event_data['event_id'] + +# has to return the wanted preview, only useful for body parts +func get_preview(): + return '' diff --git a/addons/dialogic/Editor/Events/Parts/ExampleEventPartScript.gd b/addons/dialogic/Editor/Events/Parts/ExampleEventPartScript.gd new file mode 100644 index 0000000..20400cc --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/ExampleEventPartScript.gd @@ -0,0 +1,36 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +## BEFORE EDITING THIS MAKE SURE YOU HAVE CREATED A UNIQUE SCRIPT!!! + +# has an event_data variable that stores the current data!!! + +## node references +# e.g. +onready var input_field = $Box/InputField + +# used to connect the signals +func _ready(): + # e.g. + input_field.connect("text_changed", self, "_on_InputField_text_changed") + pass + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + # e.g. + input_field.text = event_data['my_text_key'] + +# has to return the wanted preview, only useful for body parts +func get_preview(): + return '' + +## EXAMPLE CHANGE IN ONE OF THE NODES +func _on_InputField_text_changed(text): + event_data['my_text_key'] = text + + # informs the parent about the changes! + data_changed() diff --git a/addons/dialogic/Editor/Events/Parts/Images/BackgroundPicker.tscn b/addons/dialogic/Editor/Events/Parts/Images/BackgroundPicker.tscn new file mode 100644 index 0000000..2680928 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Images/BackgroundPicker.tscn @@ -0,0 +1,63 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://addons/dialogic/Images/Context Menus/Remove.svg" type="Texture" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Images/EventPart_BackgroundPicker.gd" type="Script" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/SpinBoxPreventDnD.gd" type="Script" id=3] + +[node name="BackgroundPicker" type="VBoxContainer"] +margin_top = 1.0 +margin_right = 331.0 +margin_bottom = 23.0 +script = ExtResource( 2 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="HBox" type="HBoxContainer" parent="."] +margin_right = 533.0 +margin_bottom = 24.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Name" type="Label" parent="HBox"] +margin_top = 5.0 +margin_right = 271.0 +margin_bottom = 19.0 +text = "No image (will clear previous scene event)" + +[node name="ImageButton" type="Button" parent="HBox"] +margin_left = 275.0 +margin_right = 299.0 +margin_bottom = 24.0 +text = "..." + +[node name="ClearButton" type="Button" parent="HBox"] +margin_left = 303.0 +margin_right = 331.0 +margin_bottom = 24.0 +disabled = true +icon = ExtResource( 1 ) + +[node name="FadeLabel" type="Label" parent="HBox"] +margin_left = 335.0 +margin_top = 5.0 +margin_right = 455.0 +margin_bottom = 19.0 +text = " Fade-in duration:" + +[node name="NumberBox" type="SpinBox" parent="HBox"] +margin_left = 459.0 +margin_right = 533.0 +margin_bottom = 24.0 +size_flags_vertical = 6 +step = 0.1 +value = 1.0 +allow_greater = true +align = 1 +script = ExtResource( 3 ) + +[connection signal="pressed" from="HBox/ImageButton" to="HBox" method="_on_ImageButton_pressed"] +[connection signal="pressed" from="HBox/ClearButton" to="HBox" method="_on_ClearButton_pressed"] diff --git a/addons/dialogic/Editor/Events/Parts/Images/BackgroundPreview.tscn b/addons/dialogic/Editor/Events/Parts/Images/BackgroundPreview.tscn new file mode 100644 index 0000000..39445b3 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Images/BackgroundPreview.tscn @@ -0,0 +1,30 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Images/EventPart_BackgroundPreview.gd" type="Script" id=1] + +[node name="BackgroundPreview" type="VBoxContainer"] +margin_right = 40.0 +margin_bottom = 40.0 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Box" type="CenterContainer" parent="."] +margin_right = 200.0 +margin_bottom = 200.0 +mouse_filter = 1 +size_flags_horizontal = 3 +size_flags_vertical = 3 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TextureRect" type="TextureRect" parent="Box"] +margin_right = 200.0 +margin_bottom = 200.0 +rect_min_size = Vector2( 200, 200 ) +size_flags_horizontal = 5 +size_flags_vertical = 5 +expand = true +stretch_mode = 6 diff --git a/addons/dialogic/Editor/Events/Parts/Images/EventPart_BackgroundPicker.gd b/addons/dialogic/Editor/Events/Parts/Images/EventPart_BackgroundPicker.gd new file mode 100644 index 0000000..43e154d --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Images/EventPart_BackgroundPicker.gd @@ -0,0 +1,83 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! + +## node references +onready var image_button = $HBox/ImageButton +onready var clear_button = $HBox/ClearButton +onready var name_label = $HBox/Name +onready var fade_duration_label = $HBox/FadeLabel +onready var fade_duration = $HBox/NumberBox + +# used to connect the signals +func _ready(): + image_button.connect("pressed", self, "_on_ImageButton_pressed") + clear_button.connect('pressed', self, "_on_ClearButton_pressed") + fade_duration.connect('value_changed', self, '_on_fade_duration_changed') + pass + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + if event_data['background']: + name_label.text = event_data['background'].get_file() + image_button.hint_tooltip = event_data['background'] + fade_duration_label.visible = true + fade_duration.visible = true + emit_signal("request_close_body") + else: + name_label.text = 'No image (will clear previous background)' + image_button.hint_tooltip = 'No background selected' + fade_duration_label.visible = false + fade_duration.visible = false + emit_signal("request_close_body") + + fade_duration.value = event_data.get('fade_duration', 1) + + clear_button.disabled = not bool(event_data['background']) + + +# has to return the wanted preview, only useful for body parts +func get_preview(): + return '' + +func _on_ImageButton_pressed(): + editor_reference.godot_dialog("*.png, *.jpg, *.jpeg, *.tga, *.svg, *.svgz, *.bmp, *.webp, *.tscn") + editor_reference.godot_dialog_connect(self, "_on_file_selected") + +func _on_file_selected(path, target): + event_data['background'] = path + + clear_button.disabled = false + name_label.text = event_data['background'].get_file() + image_button.hint_tooltip = event_data['background'] + fade_duration.visible = true + fade_duration_label.visible = true + + emit_signal("request_open_body") + # informs the parent about the changes! + data_changed() + +func _on_ClearButton_pressed(): + event_data['background'] = '' + + clear_button.disabled = true + name_label.text = 'No image (will clear previous background)' + image_button.hint_tooltip = 'No background selected' + fade_duration.visible = false + fade_duration_label.visible = false + fade_duration.value = 1 + + emit_signal("request_close_body") + + # informs the parent about the changes! + data_changed() + +func _on_fade_duration_changed(value: float): + event_data['fade_duration'] = value + # informs the parent about the changes! + data_changed() diff --git a/addons/dialogic/Editor/Events/Parts/Images/EventPart_BackgroundPreview.gd b/addons/dialogic/Editor/Events/Parts/Images/EventPart_BackgroundPreview.gd new file mode 100644 index 0000000..b288043 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Images/EventPart_BackgroundPreview.gd @@ -0,0 +1,39 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! + +## node references +onready var texture_rect = $Box/TextureRect + +# used to connect the signals +func _ready(): + pass + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + if event_data['background']: + if not event_data['background'].ends_with('.tscn'): + emit_signal("request_set_body_enabled", true) + texture_rect.texture = load(event_data['background']) + else: + emit_signal("request_set_body_enabled", false) + if editor_reference and editor_reference.editor_interface: + editor_reference.editor_interface.get_resource_previewer().queue_resource_preview(event_data['background'], self, "show_scene_preview", null) + else: + emit_signal("request_set_body_enabled", false) + +# has to return the wanted preview, only useful for body parts +func get_preview(): + return '' + +func show_scene_preview(path:String, preview:Texture, user_data): + if preview: + texture_rect.texture = preview + emit_signal("request_set_body_enabled", true) + + diff --git a/addons/dialogic/Editor/Events/Parts/Logic/ChoicePicker.tscn b/addons/dialogic/Editor/Events/Parts/Logic/ChoicePicker.tscn new file mode 100644 index 0000000..3db13e4 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Logic/ChoicePicker.tscn @@ -0,0 +1,42 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Logic/ConditionPicker.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Text/CustomLineEdit.tscn" type="PackedScene" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Logic/EventPart_ChoicePicker.gd" type="Script" id=3] + +[node name="ChoicePicker" type="HBoxContainer"] +margin_right = 437.0 +margin_bottom = 24.0 +script = ExtResource( 3 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="HBox" type="HBoxContainer" parent="."] +margin_right = 76.0 +margin_bottom = 27.0 +size_flags_vertical = 3 + +[node name="Spacer2" type="Control" parent="HBox"] +margin_right = 10.0 +margin_bottom = 27.0 +rect_min_size = Vector2( 10, 0 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="ChoiceText" parent="HBox" instance=ExtResource( 2 )] +margin_left = 14.0 +margin_right = 62.0 +margin_bottom = 27.0 + +[node name="Spacer" type="Control" parent="HBox"] +margin_left = 66.0 +margin_right = 76.0 +margin_bottom = 27.0 +rect_min_size = Vector2( 10, 0 ) + +[node name="ConditionPicker" parent="." instance=ExtResource( 1 )] +margin_left = 80.0 +margin_right = 202.0 +margin_bottom = 27.0 diff --git a/addons/dialogic/Editor/Events/Parts/Logic/ConditionPicker.tscn b/addons/dialogic/Editor/Events/Parts/Logic/ConditionPicker.tscn new file mode 100644 index 0000000..a3b4be9 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Logic/ConditionPicker.tscn @@ -0,0 +1,74 @@ +[gd_scene load_steps=6 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/DefinitionPicker.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Logic/ConditionTypePicker.tscn" type="PackedScene" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Text/CustomLineEdit.tscn" type="PackedScene" id=3] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Logic/EventPart_ConditionPicker.gd" type="Script" id=4] + +[sub_resource type="StyleBoxFlat" id=1] +bg_color = Color( 0.745098, 0.745098, 0.745098, 1 ) +corner_radius_top_left = 4 +corner_radius_top_right = 4 +corner_radius_bottom_right = 4 +corner_radius_bottom_left = 4 +expand_margin_left = 5.0 +expand_margin_right = 5.0 + +[node name="ConditionPicker" type="VBoxContainer"] +margin_left = -1.0 +margin_right = 430.0 +margin_bottom = 24.0 +script = ExtResource( 4 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="HBox" type="HBoxContainer" parent="."] +margin_right = 431.0 +margin_bottom = 30.0 +size_flags_vertical = 3 + +[node name="HasCondition" type="HBoxContainer" parent="HBox"] +margin_right = 122.0 +margin_bottom = 30.0 +size_flags_vertical = 3 + +[node name="UseCondition" type="CheckBox" parent="HBox/HasCondition"] +margin_right = 122.0 +margin_bottom = 30.0 +size_flags_vertical = 7 +text = "Has condition?" + +[node name="Values" type="HBoxContainer" parent="HBox"] +margin_left = 126.0 +margin_right = 422.0 +margin_bottom = 30.0 + +[node name="DefinitionPicker" parent="HBox/Values" instance=ExtResource( 1 )] + +[node name="Label" type="Label" parent="HBox/Values"] +margin_left = 136.0 +margin_top = 8.0 +margin_right = 147.0 +margin_bottom = 22.0 +text = "is" + +[node name="ConditionTypePicker" parent="HBox/Values" instance=ExtResource( 2 )] +margin_left = 151.0 +margin_right = 230.0 +margin_bottom = 30.0 + +[node name="Control" type="Control" parent="HBox/Values"] +margin_left = 234.0 +margin_right = 244.0 +margin_bottom = 30.0 +rect_min_size = Vector2( 10, 0 ) + +[node name="Value" parent="HBox/Values" instance=ExtResource( 3 )] +margin_left = 248.0 +margin_top = 1.0 +margin_right = 296.0 +margin_bottom = 28.0 +custom_styles/read_only = SubResource( 1 ) +custom_styles/focus = SubResource( 1 ) +custom_styles/normal = SubResource( 1 ) diff --git a/addons/dialogic/Editor/Events/Parts/Logic/ConditionPickerOld.gd b/addons/dialogic/Editor/Events/Parts/Logic/ConditionPickerOld.gd new file mode 100644 index 0000000..d8df8f4 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Logic/ConditionPickerOld.gd @@ -0,0 +1,58 @@ +tool +extends MenuButton + +var options = [ + { + "text": "[ Equal to ]", + "condition": "==" + }, + { + "text": "[ Different from ]", + "condition": "!=" + }, + { + "text": "[ Greater than ]", + "condition": ">" + }, + { + "text": "[ Greater or equal to ]", + "condition": ">=" + }, + { + "text": "[ Less than ]", + "condition": "<" + }, + { + "text": "[ Less or equal to ]", + "condition": "<=" + } +] + +func _ready(): + get_popup().connect("index_pressed", self, '_on_entry_selected') + get_popup().clear() + connect("about_to_show", self, "_on_MenuButton_about_to_show") + + +func _on_MenuButton_about_to_show(): + get_popup().clear() + var index = 0 + for o in options: + get_popup().add_item(o['text']) + get_popup().set_item_metadata(index, o) + index += 1 + + +func _on_entry_selected(index): + var _text = get_popup().get_item_text(index) + var metadata = get_popup().get_item_metadata(index) + text = _text + + +func load_condition(condition): + if condition != '': + for o in options: + if (o['condition'] == condition): + text = o['text'] + else: + text = options[0]['text'] diff --git a/addons/dialogic/Editor/Events/Parts/Logic/ConditionTypePicker.tscn b/addons/dialogic/Editor/Events/Parts/Logic/ConditionTypePicker.tscn new file mode 100644 index 0000000..fefcc1d --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Logic/ConditionTypePicker.tscn @@ -0,0 +1,23 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Logic/EventPart_ConditionTypePicker.gd" type="Script" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Logic/ConditionPickerOld.gd" type="Script" id=2] + +[node name="ConditionTypePicker" type="VBoxContainer"] +margin_right = 40.0 +margin_bottom = 40.0 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="MenuButton" type="MenuButton" parent="."] +margin_top = 10.0 +margin_right = 79.0 +margin_bottom = 30.0 +size_flags_vertical = 6 +text = "[ Equal to ]" +script = ExtResource( 2 ) +__meta__ = { +"_edit_use_anchors_": false +} diff --git a/addons/dialogic/Editor/Events/Parts/Logic/EventPart_ChoicePicker.gd b/addons/dialogic/Editor/Events/Parts/Logic/EventPart_ChoicePicker.gd new file mode 100644 index 0000000..bd4a349 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Logic/EventPart_ChoicePicker.gd @@ -0,0 +1,47 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! + +## node references +onready var input_field = $HBox/ChoiceText +onready var condition_picker = $ConditionPicker + +# used to connect the signals +func _ready(): + # e.g. + input_field.connect("text_changed", self, "_on_ChoiceText_text_changed") + condition_picker.connect("data_changed", self, "_on_ConditionPicker_data_changed") + condition_picker.connect("remove_warning", self, "emit_signal", ["remove_warning"]) + condition_picker.connect("set_warning", self, "set_warning") + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + input_field.text = event_data['choice'] + + # Loading the data on the selectors + condition_picker.load_data(event_data) + + +# has to return the wanted preview, only useful for body parts +func get_preview(): + return '' + + +func _on_ChoiceText_text_changed(text): + event_data['choice'] = text + + # informs the parent about the changes! + data_changed() + +func _on_ConditionPicker_data_changed(data): + event_data = data + + data_changed() + +func set_warning(text): + emit_signal("set_warning", text) diff --git a/addons/dialogic/Editor/Events/Parts/Logic/EventPart_ConditionPicker.gd b/addons/dialogic/Editor/Events/Parts/Logic/EventPart_ConditionPicker.gd new file mode 100644 index 0000000..dd473f9 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Logic/EventPart_ConditionPicker.gd @@ -0,0 +1,85 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! + +onready var enabled_view = $HBox/Values +onready var definition_picker = $HBox/Values/DefinitionPicker +onready var condition_type_picker = $HBox/Values/ConditionTypePicker +onready var value_input = $HBox/Values/Value + +onready var optional_view = $HBox/HasCondition +onready var use_condition_check = $HBox/HasCondition/UseCondition + +# used to connect the signals +func _ready(): + definition_picker.connect("data_changed", self, '_on_DefinitionPicker_data_changed') + + condition_type_picker.connect("data_changed", self, '_on_ConditionTypePicker_data_changed') + + value_input.connect("text_changed", self, "_on_Value_text_changed") + + use_condition_check.connect("toggled", self, "_on_UseCondition_toggled") + + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Loading the data on the selectors + definition_picker.load_data(data) + condition_type_picker.load_data(data) + value_input.text = data['value'] + + if data['event_id'] == 'dialogic_011': + optional_view.show() + if data['definition'] == '': # Checking if definition is selected + use_condition_check.pressed = false + enabled_view.hide() + else: + use_condition_check.pressed = true + enabled_view.show() + else: + optional_view.hide() + +# has to return the wanted preview, only useful for body parts +func get_preview(): + return '' + + +func _on_UseCondition_toggled(checkbox_value): + enabled_view.visible = checkbox_value + if checkbox_value == false: + event_data['definition'] = '' + event_data['condition'] = '' + event_data['value'] = '' + + data_changed() + +func _on_DefinitionPicker_data_changed(data): + event_data = data + + data_changed() + +func _on_ConditionTypePicker_data_changed(data): + event_data = data + check_data() + data_changed() + + # Focusing the value input + value_input.call_deferred('grab_focus') + +func _on_Value_text_changed(text): + event_data['value'] = text + check_data() + + data_changed() + +func check_data(): + if event_data['condition'] != '==' and event_data['condition'] != '!=': + if not event_data['value'].is_valid_float(): + emit_signal("set_warning", DTS.translate("The selected operator requires a number!")) + return + + emit_signal("remove_warning") diff --git a/addons/dialogic/Editor/Events/Parts/Logic/EventPart_ConditionTypePicker.gd b/addons/dialogic/Editor/Events/Parts/Logic/EventPart_ConditionTypePicker.gd new file mode 100644 index 0000000..766235d --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Logic/EventPart_ConditionTypePicker.gd @@ -0,0 +1,75 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! +var options = [ + { + "text": "[ Equal to ]", + "condition": "==" + }, + { + "text": "[ Different from ]", + "condition": "!=" + }, + { + "text": "[ Greater than ]", + "condition": ">" + }, + { + "text": "[ Greater or equal to ]", + "condition": ">=" + }, + { + "text": "[ Less than ]", + "condition": "<" + }, + { + "text": "[ Less or equal to ]", + "condition": "<=" + } +] +## node references +onready var picker_menu = $MenuButton + +# used to connect the signals +func _ready(): + # e.g. + picker_menu.get_popup().connect("index_pressed", self, '_on_PickerMenu_selected') + picker_menu.connect("about_to_show", self, "_on_PickerMenu_about_to_show") + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + select_condition_type(data['condition']) + + +# has to return the wanted preview, only useful for body parts +func get_preview(): + return '' + +func select_condition_type(condition): + if condition != '': + for o in options: + if (o['condition'] == condition): + picker_menu.text = o['text'] + else: + picker_menu.text = options[0]['text'] + +func _on_PickerMenu_selected(index): + event_data['condition'] = picker_menu.get_popup().get_item_metadata(index).get('condition', '') + + select_condition_type(event_data['condition']) + + # informs the parent about the changes! + data_changed() + +func _on_PickerMenu_about_to_show(): + picker_menu.get_popup().clear() + var index = 0 + for o in options: + picker_menu.get_popup().add_item(o['text']) + picker_menu.get_popup().set_item_metadata(index, o) + index += 1 diff --git a/addons/dialogic/Editor/Events/Parts/Logic/EventPart_OperationPicker.gd b/addons/dialogic/Editor/Events/Parts/Logic/EventPart_OperationPicker.gd new file mode 100644 index 0000000..6d8cf9a --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Logic/EventPart_OperationPicker.gd @@ -0,0 +1,70 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! + +var options = [ + { + "text": "[ to be ]", + "operation": "=" + }, + { + "text": "[ to itself plus ]", + "operation": "+" + }, + { + "text": "[ to itself minus ]", + "operation": "-" + }, + { + "text": "[ to itself multiplied by ]", + "operation": "*" + }, + { + "text": "[ to itself divided by ]", + "operation": "/" + }, +] + +## node references +onready var picker_menu = $MenuButton + +# used to connect the signals +func _ready(): + picker_menu.get_popup().connect("index_pressed", self, '_on_PickerMenu_selected') + picker_menu.connect("about_to_show", self, "_on_PickerMenu_about_to_show") + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + select_operation() + +# has to return the wanted preview, only useful for body parts +func get_preview(): + return '' + +func select_operation(): + for o in options: + if (o['operation'] == event_data['operation']): + picker_menu.text = o['text'] + + +func _on_PickerMenu_selected(index): + event_data['operation'] = picker_menu.get_popup().get_item_metadata(index).get('operation') + + select_operation() + + # informs the parent about the changes! + data_changed() + +func _on_PickerMenu_about_to_show(): + picker_menu.get_popup().clear() + + var index = 0 + for o in options: + picker_menu.get_popup().add_item(o['text']) + picker_menu.get_popup().set_item_metadata(index, o) + index += 1 diff --git a/addons/dialogic/Editor/Events/Parts/Logic/EventPart_Save.gd b/addons/dialogic/Editor/Events/Parts/Logic/EventPart_Save.gd new file mode 100644 index 0000000..2814deb --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Logic/EventPart_Save.gd @@ -0,0 +1,42 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! + +## node references +onready var default_slot = $DefaultSlot +onready var custom_slot = $CustomSlot + +# used to connect the signals +func _ready(): + default_slot.connect("toggled", self, "_on_DefaultSlot_toggled") + custom_slot.connect("text_changed", self, '_on_CustomSlot_text_changed') + + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + default_slot.pressed = event_data.get('use_default_slot', true) + custom_slot.text = event_data.get('custom_slot', '') + + custom_slot.visible = not default_slot.pressed + $Label.visible = not default_slot.pressed + + +func _on_DefaultSlot_toggled(pressed): + event_data['use_default_slot'] = pressed + + custom_slot.visible = not pressed + $Label.visible = not pressed + + # informs the parent about the changes! + data_changed() + +func _on_CustomSlot_text_changed(text): + event_data['custom_slot'] = text + + # informs the parent about the changes! + data_changed() diff --git a/addons/dialogic/Editor/Events/Parts/Logic/EventPart_Save.tscn b/addons/dialogic/Editor/Events/Parts/Logic/EventPart_Save.tscn new file mode 100644 index 0000000..d6958ed --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Logic/EventPart_Save.tscn @@ -0,0 +1,36 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Text/CustomLineEdit.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Logic/EventPart_Save.gd" type="Script" id=2] + +[node name="EventPart_Save" type="HBoxContainer"] +margin_right = 40.0 +margin_bottom = 40.0 +custom_constants/separation = 9 +script = ExtResource( 2 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="DefaultSlot" type="CheckBox" parent="."] +margin_right = 129.0 +margin_bottom = 40.0 +pressed = true +text = "Use default slot" + +[node name="Label" type="Label" parent="."] +margin_left = 138.0 +margin_top = 13.0 +margin_right = 219.0 +margin_bottom = 27.0 +text = "Custom slot:" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="CustomSlot" parent="." instance=ExtResource( 1 )] +margin_left = 228.0 +margin_top = 6.0 +margin_right = 276.0 +margin_bottom = 33.0 +hint_tooltip = "Also allows for value definitions like this: [my_value_name]" diff --git a/addons/dialogic/Editor/Events/Parts/Logic/EventPart_SetValuePicker.gd b/addons/dialogic/Editor/Events/Parts/Logic/EventPart_SetValuePicker.gd new file mode 100644 index 0000000..656abd6 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Logic/EventPart_SetValuePicker.gd @@ -0,0 +1,99 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! + +## node references +onready var input_feature = $HBox/InputValue +onready var input_field = $HBox/InputValue/InputField +onready var definition_picker = $HBox/DefinitionPicker +onready var operation_picker = $HBox/OperationPicker + +onready var random_enabled_button = $HBox/RandomEnabled +onready var random_features = $HBox/RandomValue +onready var random_lower_limit = $HBox/RandomValue/LowerLimit +onready var random_upper_limit = $HBox/RandomValue/UpperLimit + +# used to connect the signals +func _ready(): + input_field.connect("text_changed", self, "_on_InputField_text_changed") + definition_picker.connect("data_changed", self, "_on_DefintionPicker_data_changed") + operation_picker.connect("data_changed", self, "_on_OperationPicker_data_changed") + + random_enabled_button.icon = get_icon("MaterialPreviewCube", "EditorIcons") + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + input_field.text = event_data['set_value'] + definition_picker.load_data(data) + operation_picker.load_data(data) + + switch_random_features(data.get('set_random', false)) + + random_lower_limit.value = data.get("random_lower_limit", 0) + random_upper_limit.value = data.get("random_upper_limit", 100) + +# has to return the wanted preview, only useful for body parts +func get_preview(): + return '' + +func check_data(): + if event_data['operation'] != '=': + if not event_data['set_value'].is_valid_float(): + emit_signal("set_warning", DTS.translate("The selected operator requires a number!")) + return + + emit_signal("remove_warning") + +func _on_InputField_text_changed(text): + event_data['set_value'] = text + + operation_picker.load_data(event_data) + definition_picker.load_data(event_data) + + check_data() + + # informs the parent about the changes! + data_changed() + +func _on_DefintionPicker_data_changed(data): + event_data = data + + operation_picker.load_data(data) + + # informs the parent about the changes! + data_changed() + +func _on_OperationPicker_data_changed(data): + event_data = data + + definition_picker.load_data(data) + + check_data() + + # informs the parent about the changes! + data_changed() + +func switch_random_features(enabled): + random_features.visible = enabled + input_feature.visible = !enabled + random_enabled_button.pressed = enabled + event_data['set_random'] = enabled + + +func _on_LowerLimit_value_changed(value): + event_data['random_lower_limit'] = value + + data_changed() + +func _on_UpperLimit_value_changed(value): + event_data['random_upper_limit'] = value + + data_changed() + +func _on_RandomEnabled_toggled(button_pressed): + switch_random_features(button_pressed) diff --git a/addons/dialogic/Editor/Events/Parts/Logic/OperationPicker.tscn b/addons/dialogic/Editor/Events/Parts/Logic/OperationPicker.tscn new file mode 100644 index 0000000..9f4edc4 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Logic/OperationPicker.tscn @@ -0,0 +1,26 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Logic/EventPart_OperationPicker.gd" type="Script" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/MenuButtonNormal.tres" type="StyleBox" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/MenuButtonHover.tres" type="StyleBox" id=3] + +[node name="OperationPicker" type="VBoxContainer"] +margin_right = 40.0 +margin_bottom = 40.0 +size_flags_vertical = 3 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="MenuButton" type="MenuButton" parent="."] +margin_right = 71.0 +margin_bottom = 40.0 +size_flags_vertical = 3 +custom_styles/hover = ExtResource( 3 ) +custom_styles/normal = ExtResource( 2 ) +text = "[ To be ]" +flat = false +__meta__ = { +"_edit_use_anchors_": false +} diff --git a/addons/dialogic/Editor/Events/Parts/Logic/SetValuePicker.tscn b/addons/dialogic/Editor/Events/Parts/Logic/SetValuePicker.tscn new file mode 100644 index 0000000..cb8e9e7 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Logic/SetValuePicker.tscn @@ -0,0 +1,124 @@ +[gd_scene load_steps=7 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Logic/OperationPicker.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Text/CustomLineEdit.tscn" type="PackedScene" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/DefinitionPicker.tscn" type="PackedScene" id=3] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Logic/EventPart_SetValuePicker.gd" type="Script" id=4] + +[sub_resource type="Image" id=3] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=2] +flags = 4 +flags = 4 +image = SubResource( 3 ) +size = Vector2( 16, 16 ) + +[node name="SetValuePicker" type="VBoxContainer"] +margin_right = 40.0 +margin_bottom = 40.0 +script = ExtResource( 4 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="HBox" type="HBoxContainer" parent="."] +margin_right = 671.0 +margin_bottom = 30.0 + +[node name="Label" type="Label" parent="HBox"] +margin_top = 8.0 +margin_right = 20.0 +margin_bottom = 22.0 +text = "Set" + +[node name="DefinitionPicker" parent="HBox" instance=ExtResource( 3 )] +margin_left = 24.0 +margin_right = 156.0 + +[node name="OperationPicker" parent="HBox" instance=ExtResource( 1 )] +margin_left = 160.0 +margin_right = 231.0 +margin_bottom = 30.0 + +[node name="InputValue" type="HBoxContainer" parent="HBox"] +margin_left = 235.0 +margin_right = 297.0 +margin_bottom = 30.0 + +[node name="Spacer" type="Control" parent="HBox/InputValue"] +margin_right = 10.0 +margin_bottom = 30.0 +rect_min_size = Vector2( 10, 0 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="InputField" parent="HBox/InputValue" instance=ExtResource( 2 )] +margin_left = 14.0 +margin_top = 1.0 +margin_right = 62.0 +margin_bottom = 28.0 + +[node name="RandomValue" type="HBoxContainer" parent="HBox"] +margin_left = 301.0 +margin_right = 625.0 +margin_bottom = 30.0 +custom_constants/separation = 5 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Label" type="Label" parent="HBox/RandomValue"] +margin_top = 8.0 +margin_right = 148.0 +margin_bottom = 22.0 +text = "a random number from" + +[node name="LowerLimit" type="SpinBox" parent="HBox/RandomValue"] +margin_left = 153.0 +margin_right = 227.0 +margin_bottom = 30.0 +allow_greater = true +allow_lesser = true + +[node name="Label2" type="Label" parent="HBox/RandomValue"] +margin_left = 232.0 +margin_top = 8.0 +margin_right = 245.0 +margin_bottom = 22.0 +text = "to" + +[node name="UpperLimit" type="SpinBox" parent="HBox/RandomValue"] +margin_left = 250.0 +margin_right = 324.0 +margin_bottom = 30.0 +allow_greater = true +allow_lesser = true + +[node name="Spacer" type="Control" parent="HBox"] +margin_left = 629.0 +margin_right = 639.0 +margin_bottom = 30.0 +rect_min_size = Vector2( 10, 0 ) + +[node name="RandomEnabled" type="Button" parent="HBox"] +self_modulate = Color( 1, 1, 1, 0.501961 ) +margin_left = 643.0 +margin_right = 671.0 +margin_bottom = 30.0 +hint_tooltip = "Set to a random integer" +focus_mode = 0 +toggle_mode = true +icon = SubResource( 2 ) +flat = true + +[connection signal="value_changed" from="HBox/RandomValue/LowerLimit" to="." method="_on_LowerLimit_value_changed"] +[connection signal="value_changed" from="HBox/RandomValue/UpperLimit" to="." method="_on_UpperLimit_value_changed"] +[connection signal="toggled" from="HBox/RandomEnabled" to="." method="_on_RandomEnabled_toggled"] diff --git a/addons/dialogic/Editor/Events/Parts/Numbers/EventPart_SecondsSelector.gd b/addons/dialogic/Editor/Events/Parts/Numbers/EventPart_SecondsSelector.gd new file mode 100644 index 0000000..7fc13c9 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Numbers/EventPart_SecondsSelector.gd @@ -0,0 +1,30 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! + +## node references +onready var seconds_input = $HBox/SecondsBox + +# used to connect the signals +func _ready(): + seconds_input.connect("value_changed", self, "_on_SecondsInput_value_changed") + pass + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + seconds_input.value = event_data['wait_seconds'] + +# has to return the wanted preview, only useful for body parts +func get_preview(): + return '' + +func _on_SecondsInput_value_changed(value): + event_data['wait_seconds'] = value + + # informs the parent about the changes! + data_changed() diff --git a/addons/dialogic/Editor/Events/Parts/Numbers/EventPart_TransitonLengthPicker.gd b/addons/dialogic/Editor/Events/Parts/Numbers/EventPart_TransitonLengthPicker.gd new file mode 100644 index 0000000..3911251 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Numbers/EventPart_TransitonLengthPicker.gd @@ -0,0 +1,29 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! + +## node references +onready var number_box = $HBox/NumberBox + +# used to connect the signals +func _ready(): + number_box.connect("value_changed", self, "_on_NumberBox_value_changed") + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + number_box.value = event_data['transition_duration'] + +# has to return the wanted preview, only useful for body parts +func get_preview(): + return '' + +func _on_NumberBox_value_changed(value): + event_data['transition_duration'] = value + + # informs the parent about the changes! + data_changed() diff --git a/addons/dialogic/Editor/Events/Parts/Numbers/SecondsSelector.tscn b/addons/dialogic/Editor/Events/Parts/Numbers/SecondsSelector.tscn new file mode 100644 index 0000000..19a17a0 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Numbers/SecondsSelector.tscn @@ -0,0 +1,33 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/SpinBoxPreventDnD.gd" type="Script" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Numbers/EventPart_SecondsSelector.gd" type="Script" id=2] + +[node name="SecondsSelector" type="VBoxContainer"] +margin_right = 40.0 +margin_bottom = 40.0 +script = ExtResource( 2 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="HBox" type="HBoxContainer" parent="."] +margin_right = 145.0 +margin_bottom = 24.0 + +[node name="SecondsBox" type="SpinBox" parent="HBox"] +margin_right = 74.0 +margin_bottom = 24.0 +min_value = 0.1 +step = 0.1 +value = 1.0 +allow_greater = true +align = 1 +script = ExtResource( 1 ) + +[node name="Title" type="Label" parent="HBox"] +margin_left = 78.0 +margin_top = 5.0 +margin_right = 139.0 +margin_bottom = 19.0 +text = " Seconds" diff --git a/addons/dialogic/Editor/Events/Parts/Numbers/TransitonLengthPicker.tscn b/addons/dialogic/Editor/Events/Parts/Numbers/TransitonLengthPicker.tscn new file mode 100644 index 0000000..a5eccfc --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Numbers/TransitonLengthPicker.tscn @@ -0,0 +1,35 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/SpinBoxPreventDnD.gd" type="Script" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Numbers/EventPart_TransitonLengthPicker.gd" type="Script" id=2] + +[node name="TransitonLengthPicker" type="VBoxContainer"] +margin_right = 195.0 +margin_bottom = 24.0 +size_flags_vertical = 3 +script = ExtResource( 2 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="HBox" type="HBoxContainer" parent="."] +margin_right = 195.0 +margin_bottom = 24.0 +size_flags_vertical = 3 + +[node name="NameLabel" type="Label" parent="HBox"] +margin_top = 5.0 +margin_right = 117.0 +margin_bottom = 19.0 +text = "Fade-out duration:" + +[node name="NumberBox" type="SpinBox" parent="HBox"] +margin_left = 121.0 +margin_right = 195.0 +margin_bottom = 24.0 +size_flags_vertical = 6 +step = 0.1 +value = 1.0 +allow_greater = true +align = 1 +script = ExtResource( 1 ) diff --git a/addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/CharacterAndPortraitPicker.tscn b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/CharacterAndPortraitPicker.tscn new file mode 100644 index 0000000..3c21293 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/CharacterAndPortraitPicker.tscn @@ -0,0 +1,32 @@ +[gd_scene load_steps=5 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/PortraitPicker.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/CharacterPicker.tscn" type="PackedScene" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/EventPart_CharacterAndPortraitPicker.gd" type="Script" id=3] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/DefinitionPicker.tscn" type="PackedScene" id=4] + +[node name="CharacterAndPortraitPicker" type="VBoxContainer"] +margin_right = 177.0 +margin_bottom = 22.0 +script = ExtResource( 3 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="HBox" type="HBoxContainer" parent="."] +margin_right = 219.0 +margin_bottom = 30.0 +size_flags_vertical = 3 + +[node name="CharacterPicker" parent="HBox" instance=ExtResource( 2 )] +margin_right = 115.0 +margin_bottom = 30.0 + +[node name="PortraitPicker" parent="HBox" instance=ExtResource( 1 )] +margin_left = 119.0 +margin_right = 219.0 + +[node name="DefinitionPicker" parent="HBox" instance=ExtResource( 4 )] +visible = false +margin_left = 222.0 +margin_right = 354.0 diff --git a/addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/CharacterJoining.tscn b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/CharacterJoining.tscn new file mode 100644 index 0000000..c8f2d9e --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/CharacterJoining.tscn @@ -0,0 +1,74 @@ +[gd_scene load_steps=6 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/CharacterAndPortraitPicker.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/PositionPicker.tscn" type="PackedScene" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/EventPart_CharacterJoining.gd" type="Script" id=3] + +[sub_resource type="Image" id=3] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=2] +flags = 4 +flags = 4 +image = SubResource( 3 ) +size = Vector2( 16, 16 ) + +[node name="CharacterJoining" type="VBoxContainer"] +margin_right = 40.0 +margin_bottom = 40.0 +script = ExtResource( 3 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="HBox" type="HBoxContainer" parent="."] +margin_right = 399.0 + +[node name="CharacterAndPortraitPicker" parent="HBox" instance=ExtResource( 1 )] +visible = false +margin_right = 210.0 +margin_bottom = 30.0 +allow_portrait_dont_change = false + +[node name="PositionPicker" parent="HBox" instance=ExtResource( 2 )] +visible = false +margin_right = 254.0 + +[node name="MirrorButton" type="ToolButton" parent="HBox"] +visible = false +margin_left = 258.0 +margin_right = 286.0 +margin_bottom = 30.0 +hint_tooltip = "Mirrors the character" +toggle_mode = true +icon = SubResource( 2 ) + +[node name="NoCharacterContainer" type="HBoxContainer" parent="."] +margin_top = 4.0 +margin_right = 399.0 +margin_bottom = 24.0 + +[node name="NoCharacterLabel1" type="Label" parent="NoCharacterContainer"] +margin_top = 3.0 +margin_right = 261.0 +margin_bottom = 17.0 +text = "You haven't created a character yet. Click" + +[node name="NoCharacterButton" type="Button" parent="NoCharacterContainer"] +margin_left = 265.0 +margin_right = 306.0 +margin_bottom = 20.0 +text = "here" + +[node name="NoCharacterLabel2" type="Label" parent="NoCharacterContainer"] +margin_left = 310.0 +margin_top = 3.0 +margin_right = 399.0 +margin_bottom = 17.0 +text = "to create one." diff --git a/addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/CharacterPicker.tscn b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/CharacterPicker.tscn new file mode 100644 index 0000000..87ba628 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/CharacterPicker.tscn @@ -0,0 +1,69 @@ +[gd_scene load_steps=5 format=2] + +[ext_resource path="res://addons/dialogic/Images/Event Icons/character.svg" type="Texture" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/EventPart_CharacterPicker.gd" type="Script" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/MenuButtonNormal.tres" type="StyleBox" id=3] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/MenuButtonHover.tres" type="StyleBox" id=4] + +[node name="CharacterPicker" type="VBoxContainer"] +margin_right = 114.0 +margin_bottom = 22.0 +rect_min_size = Vector2( 0, 30 ) +size_flags_vertical = 3 +script = ExtResource( 2 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="HBox" type="HBoxContainer" parent="."] +margin_right = 399.0 +margin_bottom = 6.0 +size_flags_vertical = 3 + +[node name="Icon" type="TextureRect" parent="HBox"] +visible = false +margin_top = 4.0 +margin_right = 22.0 +margin_bottom = 26.0 +size_flags_vertical = 4 +texture = ExtResource( 1 ) +stretch_mode = 6 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="MenuButton" type="MenuButton" parent="HBox"] +visible = false +margin_left = 26.0 +margin_right = 106.0 +margin_bottom = 30.0 +size_flags_vertical = 3 +custom_styles/hover = ExtResource( 4 ) +custom_styles/pressed = ExtResource( 3 ) +custom_styles/normal = ExtResource( 3 ) +text = "Character" +flat = false + +[node name="NoCharacterContainer" type="HBoxContainer" parent="."] +margin_top = 10.0 +margin_right = 399.0 +margin_bottom = 30.0 + +[node name="NoCharacterLabel1" type="Label" parent="NoCharacterContainer"] +margin_top = 3.0 +margin_right = 261.0 +margin_bottom = 17.0 +text = "You haven't created a character yet. Click" + +[node name="NoCharacterButton" type="Button" parent="NoCharacterContainer"] +margin_left = 265.0 +margin_right = 306.0 +margin_bottom = 20.0 +text = "here" + +[node name="NoCharacterLabel2" type="Label" parent="NoCharacterContainer"] +margin_left = 310.0 +margin_top = 3.0 +margin_right = 399.0 +margin_bottom = 17.0 +text = "to create one." diff --git a/addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/EventPart_CharacterAndPortraitPicker.gd b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/EventPart_CharacterAndPortraitPicker.gd new file mode 100644 index 0000000..b5aeb38 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/EventPart_CharacterAndPortraitPicker.gd @@ -0,0 +1,75 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! +export (bool) var allow_portrait_dont_change := true +export (bool) var allow_portrait_defintion := true + +## node references +onready var character_picker = $HBox/CharacterPicker +onready var portrait_picker = $HBox/PortraitPicker +onready var definition_picker = $HBox/DefinitionPicker + +# used to connect the signals +func _ready(): + if DialogicUtil.get_character_list().size() == 0: + hide() + character_picker.connect("data_changed", self, "_on_CharacterPicker_data_changed") + portrait_picker.connect("data_changed", self, "_on_PortraitPicker_data_changed") + portrait_picker.allow_dont_change = allow_portrait_dont_change + portrait_picker.allow_definition = allow_portrait_defintion + definition_picker.connect("data_changed", self, "_on_DefinitionPicker_data_changed") + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + portrait_picker.load_data(data) + character_picker.load_data(data) + portrait_picker.visible = get_character_data() and len(get_character_data()['portraits']) > 1 + + var has_port_defn = data['portrait'] == '[Definition]' + if has_port_defn and data.has('port_defn'): + definition_picker.load_data({ 'definition': data['port_defn'] }) + definition_picker.visible = has_port_defn + +# has to return the wanted preview, only useful for body parts +func get_preview(): + return '' + + +func get_character_data(): + for ch in DialogicUtil.get_character_list(): + if ch['file'] == event_data['character']: + return ch + + +func _on_CharacterPicker_data_changed(data): + event_data = data + + # update the portrait picker data + portrait_picker.load_data(data) + portrait_picker.visible = get_character_data() and len(get_character_data()['portraits']) > 1 + + # informs the parent about the changes! + data_changed() + + +func _on_PortraitPicker_data_changed(data): + event_data = data + + # update the portrait picker data + character_picker.load_data(data) + definition_picker.visible = event_data['portrait'] == '[Definition]' + + # informs the parent about the changes! + data_changed() + + +func _on_DefinitionPicker_data_changed(data): + event_data['port_defn'] = data['definition'] + + # informs the parent about the changes! + data_changed() diff --git a/addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/EventPart_CharacterJoining.gd b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/EventPart_CharacterJoining.gd new file mode 100644 index 0000000..ab1db6c --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/EventPart_CharacterJoining.gd @@ -0,0 +1,71 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! + +## node references +onready var character_portrait_picker = $HBox/CharacterAndPortraitPicker +onready var position_picker = $HBox/PositionPicker +onready var mirror_button = $HBox/MirrorButton +onready var no_character_button = $NoCharacterContainer/NoCharacterButton +onready var no_character_container = $NoCharacterContainer + +# used to connect the signals +func _ready(): + if DialogicUtil.get_character_list().size() > 0: + character_portrait_picker.show() + position_picker.show() + mirror_button.show() + no_character_container.hide() + else: + character_portrait_picker.hide() + position_picker.hide() + mirror_button.hide() + no_character_container.show() + var editor_reference = find_parent('EditorView') + no_character_button.connect('pressed', editor_reference.get_node('MainPanel/MasterTreeContainer/MasterTree'), 'new_character') + + + mirror_button.connect("toggled", self, "_on_MirrorButton_toggled") + character_portrait_picker.connect('data_changed', self, '_on_CharacterPortraitPicker_data_changed') + position_picker.connect('data_changed', self, '_on_PositionPicker_data_changed') + + # icons + mirror_button.icon = get_icon("MirrorX", "EditorIcons") + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + character_portrait_picker.load_data(data) + position_picker.load_data(data) + mirror_button.pressed = data['mirror'] + +# has to return the wanted preview, only useful for body parts +func get_preview(): + return '' + +func _on_MirrorButton_toggled(toggle): + event_data['mirror'] = toggle + + character_portrait_picker.load_data(event_data) + position_picker.load_data(event_data) + + # informs the parent about the changes! + data_changed() + +func _on_PositionPicker_data_changed(data): + event_data = data + + character_portrait_picker.load_data(event_data) + + # informs the parent about the changes! + data_changed() + +func _on_CharacterPortraitPicker_data_changed(data): + event_data = data + + # informs the parent about the changes! + data_changed() diff --git a/addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/EventPart_CharacterPicker.gd b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/EventPart_CharacterPicker.gd new file mode 100644 index 0000000..399dbab --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/EventPart_CharacterPicker.gd @@ -0,0 +1,138 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! + +export (bool) var allow_no_character := false + +## node references +onready var picker_menu = $HBox/MenuButton +onready var icon = $HBox/Icon +onready var no_character_button = $NoCharacterContainer/NoCharacterButton +onready var no_character_container = $NoCharacterContainer + + + +func _ready(): + if DialogicUtil.get_character_list().size() > 0: + picker_menu.show() + icon.show() + no_character_container.hide() + else: + picker_menu.hide() + icon.hide() + no_character_container.show() + var editor_reference = find_parent('EditorView') + no_character_button.connect('pressed', editor_reference.get_node('MainPanel/MasterTreeContainer/MasterTree'), 'new_character') + + # So... not having real events makes me do this kind of hacks + # I hope to improve how events work, but in the mean time + # this is what I have to do to get by :') + var event_node = get_node('../../../../../../../..') + if event_node.get_node_or_null('AllowNoCharacter'): + allow_no_character = true + no_character_container.hide()#We dont want the button on text events + + # Connections + picker_menu.connect("about_to_show", self, "_on_PickerMenu_about_to_show") + + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + update_to_character() + + +# has to return the wanted preview, only useful for body parts +func get_preview(): + return '' + + +# helper to not have the same code everywhere +func update_to_character(): + if event_data['character'] != '': + if event_data['character'] == '[All]': + picker_menu.text = "All characters" + icon.modulate = Color.white + else: + for ch in DialogicUtil.get_character_list(): + if ch['file'] == event_data['character']: + picker_menu.text = ch['name'] + icon.modulate = ch['color'] + else: + if allow_no_character: + picker_menu.text = 'No Character' + else: + picker_menu.text = 'Select Character' + icon.modulate = Color.white + + +# when an index is selected on one of the menus. +func _on_PickerMenu_selected(index, menu): + var metadata = menu.get_item_metadata(index) + + event_data['character'] = metadata.get('file','') + + update_to_character() + + # informs the parent about the changes! + data_changed() + + +func _on_PickerMenu_about_to_show(): + build_PickerMenu() + + +func build_PickerMenu(): + picker_menu.get_popup().clear() + var folder_structure = DialogicUtil.get_characters_folder_structure() + + ## building the root level + build_PickerMenuFolder(picker_menu.get_popup(), folder_structure, "MenuButton") + + +# is called recursively to build all levels of the folder structure +func build_PickerMenuFolder(menu:PopupMenu, folder_structure:Dictionary, current_folder_name:String): + var index = 0 + + ## THIS IS JUST FOR THE ROOT FOLDER + if menu == picker_menu.get_popup(): + if allow_no_character: + menu.add_item('No character') + menu.set_item_metadata(index, {'file':''}) + menu.set_item_icon(index, get_icon("GuiRadioUnchecked", "EditorIcons")) + index += 1 + + # in case this is a leave event + if event_data['event_id'] == 'dialogic_003': + menu.add_item('All characters') + menu.set_item_metadata(index, {'file': '[All]'}) + menu.set_item_icon(index, get_icon("GuiEllipsis", "EditorIcons")) + index += 1 + + + for folder_name in folder_structure['folders'].keys(): + var submenu = PopupMenu.new() + var submenu_name = build_PickerMenuFolder(submenu, folder_structure['folders'][folder_name], folder_name) + submenu.name = submenu_name + menu.add_submenu_item(folder_name, submenu_name) + menu.set_item_icon(index, get_icon("Folder", "EditorIcons")) + menu.add_child(submenu) + index += 1 + + var files_info = DialogicUtil.get_characters_dict() + for file in folder_structure['files']: + menu.add_item(files_info[file]['name']) + # this doesn't work right now, because it doesn't have the editor_reference. Would be nice though + #menu.set_item_icon(index, editor_reference.get_node("MainPanel/MasterTreeContainer/MasterTree").character_icon) + menu.set_item_icon(index, load("res://addons/dialogic/Images/Resources/character.svg")) + menu.set_item_metadata(index, {'file':file}) + index += 1 + + if not menu.is_connected("index_pressed", self, "_on_PickerMenu_selected"): + menu.connect("index_pressed", self, '_on_PickerMenu_selected', [menu]) + + return current_folder_name diff --git a/addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/EventPart_PortraitPicker.gd b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/EventPart_PortraitPicker.gd new file mode 100644 index 0000000..80897d4 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/EventPart_PortraitPicker.gd @@ -0,0 +1,130 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! + +export (bool) var allow_dont_change := true +export (bool) var allow_definition := true + +## node references +onready var picker_menu = $HBox/MenuButton +onready var preview = $Node2D/PreviewContainer +onready var preview_title = preview.get_node("VBox/Title") +onready var preview_texture = preview.get_node("VBox/TextureRect") + +var current_hovered = null + +var character_data = null + +# used to connect the signals +func _ready(): + picker_menu.get_popup().connect("index_pressed", self, '_on_PickerMenu_selected') + picker_menu.get_popup().connect("gui_input", self, "popup_gui_input") + picker_menu.get_popup().connect("mouse_exited", self, "mouse_exited_popup") + picker_menu.get_popup().connect("popup_hide", self, "mouse_exited_popup") + + picker_menu.connect("about_to_show", self, "_on_PickerMenu_about_to_show") + preview_title.set('custom_fonts/font', get_font("title", "EditorFonts")) + preview.set('custom_styles/panel', get_stylebox("panel", "PopupMenu")) + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + picker_menu.text = event_data['portrait'] + +# has to return the wanted preview, only useful for body parts +func get_preview(): + return '' + +func _on_PickerMenu_selected(index): + if index == 0 and allow_dont_change: + event_data['portrait'] = "(Don't change)" + elif allow_definition and ((allow_dont_change and index == 1) or index == 0): + event_data['portrait'] = "[Definition]" + else: + event_data['portrait'] = picker_menu.get_popup().get_item_text(index) + + picker_menu.text = event_data['portrait'] + + # informs the parent about the changes! + data_changed() + +func get_character_data(): + for ch in DialogicUtil.get_character_list(): + if ch['file'] == event_data['character']: + return ch + +func _on_PickerMenu_about_to_show(): + character_data = get_character_data() + picker_menu.get_popup().clear() + var index = 0 + if allow_dont_change: + picker_menu.get_popup().add_item("(Don't change)") + index += 1 + if allow_definition: + picker_menu.get_popup().add_item("[Definition]") + index += 1 + if event_data['character']: + if character_data.has('portraits'): + for p in character_data['portraits']: + picker_menu.get_popup().add_item(p['name']) + index += 1 + +func popup_gui_input(event): + if event is InputEventMouseMotion: + if current_hovered != picker_menu.get_popup().get_current_index(): + current_hovered = picker_menu.get_popup().get_current_index() + + # hide if this is not a previewable portrait + # this isn't even an item + if current_hovered == -1: + preview.hide() + return + var idx_add = 0 + if allow_dont_change: + idx_add -= 1 + if current_hovered == 0: + preview.hide() + return + if allow_definition and current_hovered == 1: + preview.hide() + return + if allow_definition: + idx_add -= 1 + if not allow_dont_change and current_hovered == 0: + preview.hide() + return + + ## show the preview + preview.rect_position.x = picker_menu.get_popup().rect_size.x + 20 + var current = character_data['portraits'][current_hovered + idx_add] + preview_title.text = ' ' + current['name'] + preview_title.icon = null + if current['path']: + if current['path'].ends_with('.tscn'): + preview_texture.expand = false + var editor_reference = find_parent('EditorView') + if editor_reference and editor_reference.editor_interface: + editor_reference.editor_interface.get_resource_previewer().queue_resource_preview(current['path'], self, "show_scene_preview", null) + preview_title.icon = get_icon("PackedScene", "EditorIcons") + return + else: + preview_title.icon = get_icon("Sprite", "EditorIcons") + preview_texture.expand = true + preview_texture.texture = load(current['path']) + else: + preview_texture.texture = null + preview.show() + + +func mouse_exited_popup(): + preview.hide() + current_hovered = null + + +func show_scene_preview(path:String, preview:Texture, user_data): + if preview: + preview_texture.texture = preview diff --git a/addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/EventPart_PositionPicker.gd b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/EventPart_PositionPicker.gd new file mode 100644 index 0000000..28da01c --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/EventPart_PositionPicker.gd @@ -0,0 +1,59 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! +var default_icon_color = Color("#65989898") + +## node references +onready var positions_container = $HBox/PositionsContainer + +# used to connect the signals +func _ready(): + for p in positions_container.get_children(): + p.connect('pressed', self, "position_button_pressed", [p.name]) + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + check_active_position() + +# has to return the wanted preview, only useful for body parts +func get_preview(): + return '' + +func get_character_color(): + for ch in DialogicUtil.get_character_list(): + if ch['file'] == event_data['character']: + return ch['color'] + return default_icon_color + +func position_button_pressed(name): + clear_all_positions() + var selected_index = name.split('-')[1] + var button = positions_container.get_node('position-' + selected_index) + button.set('self_modulate', get_character_color()) + button.pressed = true + + event_data['position'][selected_index] = true + + data_changed() + +func clear_all_positions(): + for i in range(5): + event_data['position'][str(i)] = false + for p in positions_container.get_children(): + p.set('self_modulate', default_icon_color) + p.pressed = false + + +func check_active_position(active_color = Color("#ffffff")): + var index = 0 + for p in positions_container.get_children(): + if event_data['position'][str(index)]: + p.pressed = true + p.set('self_modulate', get_character_color()) + index += 1 + diff --git a/addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/PortraitPicker.tscn b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/PortraitPicker.tscn new file mode 100644 index 0000000..0695b58 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/PortraitPicker.tscn @@ -0,0 +1,117 @@ +[gd_scene load_steps=11 format=2] + +[ext_resource path="res://addons/dialogic/Images/Event Icons/Portrait.svg" type="Texture" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/EventPart_PortraitPicker.gd" type="Script" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/MenuButtonNormal.tres" type="StyleBox" id=3] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/MenuButtonHover.tres" type="StyleBox" id=4] + +[sub_resource type="Image" id=1] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 10, 0, 0, 0, 11, 0, 0, 0, 11, 0, 0, 0, 11, 0, 0, 0, 11, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 10, 0, 0, 0, 19, 0, 0, 0, 25, 0, 0, 0, 31, 0, 0, 0, 34, 0, 0, 0, 35, 0, 0, 0, 35, 0, 0, 0, 34, 0, 0, 0, 31, 0, 0, 0, 25, 0, 0, 0, 19, 0, 0, 0, 10, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 10, 0, 0, 0, 22, 0, 0, 0, 39, 0, 0, 0, 53, 0, 0, 0, 63, 0, 0, 0, 69, 0, 0, 0, 70, 0, 0, 0, 70, 0, 0, 0, 69, 0, 0, 0, 63, 0, 0, 0, 53, 0, 0, 0, 39, 0, 0, 0, 22, 0, 0, 0, 10, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 19, 0, 0, 0, 39, 59, 59, 67, 148, 66, 66, 75, 245, 62, 62, 71, 250, 62, 62, 70, 251, 62, 62, 70, 251, 62, 62, 70, 251, 62, 62, 70, 251, 62, 62, 71, 250, 66, 66, 75, 245, 59, 59, 67, 148, 0, 0, 0, 39, 0, 0, 0, 19, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 25, 0, 0, 0, 53, 65, 65, 74, 245, 47, 47, 54, 255, 45, 45, 51, 255, 45, 45, 51, 255, 45, 45, 51, 255, 45, 45, 51, 255, 45, 45, 51, 255, 45, 45, 51, 255, 47, 47, 54, 255, 65, 65, 74, 245, 0, 0, 0, 53, 0, 0, 0, 25, 0, 0, 0, 8, 0, 0, 0, 10, 0, 0, 0, 31, 0, 0, 0, 64, 61, 61, 69, 252, 45, 45, 51, 255, 44, 44, 50, 255, 44, 44, 50, 255, 44, 44, 50, 255, 44, 44, 50, 255, 44, 44, 50, 255, 44, 44, 50, 255, 45, 45, 51, 255, 61, 61, 69, 252, 0, 0, 0, 64, 0, 0, 0, 31, 0, 0, 0, 10, 0, 0, 0, 11, 0, 0, 0, 34, 0, 0, 0, 69, 59, 59, 67, 251, 44, 44, 50, 255, 43, 43, 49, 255, 43, 43, 49, 255, 43, 43, 49, 255, 43, 43, 49, 255, 43, 43, 49, 255, 43, 43, 49, 255, 44, 44, 50, 255, 59, 59, 67, 251, 0, 0, 0, 69, 0, 0, 0, 34, 0, 0, 0, 11, 0, 0, 0, 11, 0, 0, 0, 35, 0, 0, 0, 70, 58, 58, 66, 251, 42, 42, 49, 255, 42, 42, 48, 255, 42, 42, 48, 255, 42, 42, 48, 255, 42, 42, 48, 255, 42, 42, 48, 255, 42, 42, 48, 255, 42, 42, 49, 255, 58, 58, 66, 251, 0, 0, 0, 70, 0, 0, 0, 35, 0, 0, 0, 11, 0, 0, 0, 11, 0, 0, 0, 35, 0, 0, 0, 70, 56, 56, 65, 251, 41, 41, 48, 255, 41, 41, 47, 255, 41, 41, 47, 255, 41, 41, 47, 255, 41, 41, 47, 255, 41, 41, 47, 255, 41, 41, 47, 255, 41, 41, 48, 255, 56, 56, 65, 251, 0, 0, 0, 70, 0, 0, 0, 35, 0, 0, 0, 11, 0, 0, 0, 11, 0, 0, 0, 34, 0, 0, 0, 69, 55, 55, 62, 251, 40, 40, 46, 255, 40, 40, 45, 255, 40, 40, 45, 255, 40, 40, 45, 255, 40, 40, 45, 255, 40, 40, 45, 255, 40, 40, 45, 255, 40, 40, 46, 255, 55, 55, 62, 251, 0, 0, 0, 69, 0, 0, 0, 34, 0, 0, 0, 11, 0, 0, 0, 10, 0, 0, 0, 31, 0, 0, 0, 64, 54, 54, 61, 252, 39, 39, 45, 255, 39, 39, 44, 255, 39, 39, 44, 255, 39, 39, 44, 255, 39, 39, 44, 255, 39, 39, 44, 255, 39, 39, 44, 255, 39, 39, 45, 255, 53, 53, 60, 252, 0, 0, 0, 64, 0, 0, 0, 31, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 26, 0, 0, 0, 53, 56, 56, 64, 245, 41, 41, 46, 255, 39, 39, 44, 255, 38, 38, 44, 255, 38, 38, 44, 255, 38, 38, 44, 255, 38, 38, 44, 255, 39, 39, 44, 255, 41, 41, 46, 255, 56, 56, 64, 246, 0, 0, 0, 53, 0, 0, 0, 26, 0, 0, 0, 8, 0, 0, 0, 5, 0, 0, 0, 19, 0, 0, 0, 39, 49, 49, 56, 149, 56, 56, 64, 245, 52, 52, 59, 250, 52, 52, 59, 251, 52, 52, 59, 251, 52, 52, 59, 251, 52, 52, 59, 251, 52, 52, 59, 250, 57, 57, 63, 244, 49, 49, 56, 148, 0, 0, 0, 39, 0, 0, 0, 19, 0, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 10, 0, 0, 0, 22, 0, 0, 0, 39, 0, 0, 0, 53, 0, 0, 0, 64, 0, 0, 0, 69, 0, 0, 0, 70, 0, 0, 0, 70, 0, 0, 0, 69, 0, 0, 0, 63, 0, 0, 0, 53, 0, 0, 0, 39, 0, 0, 0, 22, 0, 0, 0, 10, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 10, 0, 0, 0, 19, 0, 0, 0, 25, 0, 0, 0, 31, 0, 0, 0, 34, 0, 0, 0, 35, 0, 0, 0, 35, 0, 0, 0, 34, 0, 0, 0, 31, 0, 0, 0, 25, 0, 0, 0, 19, 0, 0, 0, 10, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 10, 0, 0, 0, 11, 0, 0, 0, 11, 0, 0, 0, 11, 0, 0, 0, 11, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0 ), +"format": "RGBA8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=2] +flags = 4 +flags = 4 +image = SubResource( 1 ) +size = Vector2( 16, 16 ) + +[sub_resource type="StyleBoxTexture" id=3] +content_margin_left = 10.0 +content_margin_right = 10.0 +content_margin_top = 10.0 +content_margin_bottom = 10.0 +texture = SubResource( 2 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 4.0 +margin_right = 4.0 +margin_top = 4.0 +margin_bottom = 4.0 + +[sub_resource type="Image" id=4] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 26, 255, 255, 255, 254, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 80, 255, 255, 255, 255, 255, 255, 255, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 65, 255, 255, 255, 254, 255, 255, 255, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 5, 255, 255, 255, 228, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 30, 255, 255, 255, 255, 255, 255, 255, 40, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 167, 255, 255, 255, 188, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 34, 255, 255, 255, 255, 255, 255, 255, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 72, 255, 255, 255, 205, 255, 255, 255, 249, 255, 255, 255, 218, 255, 255, 255, 73, 255, 255, 255, 92, 255, 255, 255, 218, 255, 255, 255, 246, 255, 255, 255, 199, 255, 255, 255, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 144, 255, 255, 255, 194, 255, 255, 255, 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 147, 255, 255, 255, 255, 255, 255, 255, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 203, 255, 255, 255, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 152, 255, 255, 255, 193, 255, 255, 255, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 138, 255, 255, 255, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 95, 255, 255, 255, 202, 255, 255, 255, 8, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 217, 255, 255, 255, 98, 0, 0, 0, 0, 255, 255, 255, 4, 255, 255, 255, 219, 255, 255, 255, 217, 255, 255, 255, 12, 0, 0, 0, 0, 255, 255, 255, 94, 255, 255, 255, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 110, 255, 255, 255, 239, 255, 255, 255, 142, 255, 255, 255, 32, 255, 255, 255, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 217, 255, 255, 255, 55, 255, 255, 255, 20, 255, 255, 255, 156, 255, 255, 255, 243, 255, 255, 255, 201, 255, 255, 255, 44, 255, 255, 255, 23, 255, 255, 255, 179, 255, 255, 255, 193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 202, 0, 0, 0, 0, 255, 255, 255, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 210, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 154, 255, 255, 255, 166, 255, 255, 255, 38, 255, 255, 255, 168, 255, 255, 255, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 124, 255, 255, 255, 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 223, 255, 255, 255, 74, 255, 255, 255, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 212, 255, 255, 255, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 211, 255, 255, 255, 89, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 149, 255, 255, 255, 156, 0, 0, 0, 0, 255, 255, 255, 66, 255, 255, 255, 176, 255, 255, 255, 160, 255, 255, 255, 78, 0, 0, 0, 0, 255, 255, 255, 153, 255, 255, 255, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 201, 255, 255, 255, 34, 255, 255, 255, 142, 255, 255, 255, 240, 255, 255, 255, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 105, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 44, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 72, 255, 255, 255, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 220, 255, 255, 255, 255, 255, 255, 255, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 46, 255, 255, 255, 254, 255, 255, 255, 25, 0, 0, 0, 0, 255, 255, 255, 39, 255, 255, 255, 226, 0, 0, 0, 0, 255, 255, 255, 228, 255, 255, 255, 27, 0, 0, 0, 0, 255, 255, 255, 29, 255, 255, 255, 255, 255, 255, 255, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 73, 255, 255, 255, 227, 255, 255, 255, 4, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 80, 255, 255, 255, 213, 0, 0, 0, 0, 255, 255, 255, 143, 255, 255, 255, 106, 255, 255, 255, 96, 255, 255, 255, 151, 0, 0, 0, 0, 255, 255, 255, 213, 255, 255, 255, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 67, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 32, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 180, 255, 255, 255, 173, 255, 255, 255, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 73, 255, 255, 255, 255, 255, 255, 255, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 73, 255, 255, 255, 255, 255, 255, 255, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 223, 255, 255, 255, 97, 0, 0, 0, 0, 255, 255, 255, 110, 255, 255, 255, 156, 0, 0, 0, 0, 255, 255, 255, 160, 255, 255, 255, 96, 0, 0, 0, 0, 255, 255, 255, 103, 255, 255, 255, 219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 190, 255, 255, 255, 118, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 15, 255, 255, 255, 250, 255, 255, 255, 15, 255, 255, 255, 219, 255, 255, 255, 30, 255, 255, 255, 26, 255, 255, 255, 222, 255, 255, 255, 16, 255, 255, 255, 250, 255, 255, 255, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 73, 255, 255, 255, 255, 255, 255, 255, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 28, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 33, 255, 255, 255, 245, 255, 255, 255, 29, 255, 255, 255, 245, 255, 255, 255, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 180, 255, 255, 255, 173, 255, 255, 255, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 180, 255, 255, 255, 173, 255, 255, 255, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 145, 255, 255, 255, 170, 0, 0, 0, 0, 255, 255, 255, 182, 255, 255, 255, 85, 0, 0, 0, 0, 255, 255, 255, 91, 255, 255, 255, 164, 0, 0, 0, 0, 255, 255, 255, 176, 255, 255, 255, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 50, 255, 255, 255, 243, 255, 255, 255, 16, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 199, 255, 255, 255, 95, 255, 255, 255, 210, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 210, 255, 255, 255, 97, 255, 255, 255, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 180, 255, 255, 255, 173, 255, 255, 255, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 28, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 138, 255, 255, 255, 173, 0, 0, 0, 0, 255, 255, 255, 174, 255, 255, 255, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 33, 255, 255, 255, 245, 255, 255, 255, 29, 255, 255, 255, 245, 255, 255, 255, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 33, 255, 255, 255, 245, 255, 255, 255, 29, 255, 255, 255, 245, 255, 255, 255, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 67, 255, 255, 255, 239, 255, 255, 255, 9, 255, 255, 255, 242, 255, 255, 255, 17, 0, 0, 0, 0, 255, 255, 255, 23, 255, 255, 255, 230, 255, 255, 255, 5, 255, 255, 255, 242, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 167, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 131, 255, 255, 255, 196, 255, 255, 255, 134, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 139, 255, 255, 255, 199, 255, 255, 255, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 33, 255, 255, 255, 245, 255, 255, 255, 29, 255, 255, 255, 245, 255, 255, 255, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 28, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 236, 255, 255, 255, 84, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 236, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 138, 255, 255, 255, 173, 0, 0, 0, 0, 255, 255, 255, 174, 255, 255, 255, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 138, 255, 255, 255, 173, 0, 0, 0, 0, 255, 255, 255, 174, 255, 255, 255, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 4, 255, 255, 255, 239, 255, 255, 255, 103, 255, 255, 255, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 209, 255, 255, 255, 91, 255, 255, 255, 234, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 250, 255, 255, 255, 42, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 62, 255, 255, 255, 255, 255, 255, 255, 58, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 255, 255, 255, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 138, 255, 255, 255, 173, 0, 0, 0, 0, 255, 255, 255, 174, 255, 255, 255, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 28, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 95, 255, 255, 255, 242, 255, 255, 255, 9, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 241, 255, 255, 255, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 236, 255, 255, 255, 84, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 236, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 236, 255, 255, 255, 84, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 236, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 166, 255, 255, 255, 201, 255, 255, 255, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 140, 255, 255, 255, 199, 255, 255, 255, 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 145, 255, 255, 255, 177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 236, 255, 255, 255, 84, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 236, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 202, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 95, 255, 255, 255, 242, 255, 255, 255, 9, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 241, 255, 255, 255, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 95, 255, 255, 255, 242, 255, 255, 255, 9, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 241, 255, 255, 255, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 87, 255, 255, 255, 255, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 71, 255, 255, 255, 255, 255, 255, 255, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 17, 255, 255, 255, 244, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 95, 255, 255, 255, 242, 255, 255, 255, 9, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 241, 255, 255, 255, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 53, 255, 255, 255, 253, 255, 255, 255, 39, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 37, 255, 255, 255, 253, 255, 255, 255, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 202, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 202, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 202, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 160, 255, 255, 255, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 176, 255, 255, 255, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 53, 255, 255, 255, 253, 255, 255, 255, 39, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 37, 255, 255, 255, 253, 255, 255, 255, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 53, 255, 255, 255, 253, 255, 255, 255, 39, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 37, 255, 255, 255, 253, 255, 255, 255, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 53, 255, 255, 255, 253, 255, 255, 255, 39, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 37, 255, 255, 255, 253, 255, 255, 255, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 19, 255, 255, 255, 247, 255, 255, 255, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 67, 255, 255, 255, 247, 255, 255, 255, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 160, 255, 255, 255, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 176, 255, 255, 255, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 160, 255, 255, 255, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 176, 255, 255, 255, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 160, 255, 255, 255, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 176, 255, 255, 255, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 19, 255, 255, 255, 247, 255, 255, 255, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 67, 255, 255, 255, 247, 255, 255, 255, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 19, 255, 255, 255, 247, 255, 255, 255, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 67, 255, 255, 255, 247, 255, 255, 255, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 19, 255, 255, 255, 247, 255, 255, 255, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 67, 255, 255, 255, 247, 255, 255, 255, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 73, 255, 255, 255, 255, 255, 255, 255, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 233, 255, 255, 255, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 167, 255, 255, 255, 233, 255, 255, 255, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 180, 255, 255, 255, 173, 255, 255, 255, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 143, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 144, 255, 255, 255, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 33, 255, 255, 255, 245, 255, 255, 255, 29, 255, 255, 255, 245, 255, 255, 255, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 22, 255, 255, 255, 251, 255, 255, 255, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 70, 255, 255, 255, 251, 255, 255, 255, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 138, 255, 255, 255, 173, 0, 0, 0, 0, 255, 255, 255, 174, 255, 255, 255, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 73, 255, 255, 255, 255, 255, 255, 255, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 73, 255, 255, 255, 255, 255, 255, 255, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 182, 255, 255, 255, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 155, 255, 255, 255, 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 10, 255, 255, 255, 214, 255, 255, 255, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 110, 255, 255, 255, 214, 255, 255, 255, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 145, 255, 255, 255, 223, 255, 255, 255, 219, 255, 255, 255, 142, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 228, 255, 255, 255, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 236, 255, 255, 255, 84, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 236, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 180, 255, 255, 255, 173, 255, 255, 255, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 180, 255, 255, 255, 173, 255, 255, 255, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 19, 255, 255, 255, 161, 255, 255, 255, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 228, 255, 255, 255, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 249, 255, 255, 255, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 6, 255, 255, 255, 235, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 89, 255, 255, 255, 233, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 4, 255, 255, 255, 235, 255, 255, 255, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 45, 255, 255, 255, 243, 255, 255, 255, 65, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 55, 255, 255, 255, 240, 255, 255, 255, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 40, 255, 255, 255, 3, 255, 255, 255, 44, 255, 255, 255, 227, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 164, 255, 255, 255, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 95, 255, 255, 255, 242, 255, 255, 255, 9, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 241, 255, 255, 255, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 33, 255, 255, 255, 245, 255, 255, 255, 29, 255, 255, 255, 245, 255, 255, 255, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 33, 255, 255, 255, 245, 255, 255, 255, 29, 255, 255, 255, 245, 255, 255, 255, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 168, 255, 255, 255, 91, 255, 255, 255, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 164, 255, 255, 255, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 200, 255, 255, 255, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 198, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 10, 255, 255, 255, 242, 255, 255, 255, 66, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 242, 255, 255, 255, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 102, 255, 255, 255, 232, 255, 255, 255, 25, 255, 255, 255, 19, 255, 255, 255, 225, 255, 255, 255, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 193, 255, 255, 255, 235, 255, 255, 255, 100, 0, 0, 0, 0, 255, 255, 255, 49, 255, 255, 255, 220, 255, 255, 255, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 202, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 138, 255, 255, 255, 173, 0, 0, 0, 0, 255, 255, 255, 174, 255, 255, 255, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 138, 255, 255, 255, 173, 0, 0, 0, 0, 255, 255, 255, 174, 255, 255, 255, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 49, 255, 255, 255, 220, 255, 255, 255, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 120, 255, 255, 255, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 182, 255, 255, 255, 109, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 160, 255, 255, 255, 151, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 153, 255, 255, 255, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 168, 255, 255, 255, 194, 255, 255, 255, 182, 255, 255, 255, 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 25, 255, 255, 255, 237, 0, 0, 0, 0, 255, 255, 255, 186, 255, 255, 255, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 53, 255, 255, 255, 253, 255, 255, 255, 39, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 37, 255, 255, 255, 253, 255, 255, 255, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 236, 255, 255, 255, 84, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 236, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 236, 255, 255, 255, 84, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 236, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 186, 255, 255, 255, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 67, 255, 255, 255, 223, 255, 255, 255, 39, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 27, 255, 255, 255, 204, 255, 255, 255, 66, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 233, 255, 255, 255, 3, 255, 255, 255, 3, 255, 255, 255, 234, 255, 255, 255, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 13, 255, 255, 255, 228, 255, 255, 255, 234, 255, 255, 255, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 29, 0, 0, 0, 0, 255, 255, 255, 41, 255, 255, 255, 227, 255, 255, 255, 69, 255, 255, 255, 205, 255, 255, 255, 1, 255, 255, 255, 91, 255, 255, 255, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 160, 255, 255, 255, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 176, 255, 255, 255, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 95, 255, 255, 255, 242, 255, 255, 255, 9, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 241, 255, 255, 255, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 95, 255, 255, 255, 242, 255, 255, 255, 9, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 241, 255, 255, 255, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 0, 0, 0, 0, 255, 255, 255, 69, 255, 255, 255, 205, 255, 255, 255, 127, 255, 255, 255, 216, 255, 255, 255, 225, 255, 255, 255, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 255, 255, 255, 131, 255, 255, 255, 133, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 123, 255, 255, 255, 108, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 229, 255, 255, 255, 66, 255, 255, 255, 65, 255, 255, 255, 228, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 53, 255, 255, 255, 241, 255, 255, 255, 245, 255, 255, 255, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 201, 255, 255, 255, 219, 255, 255, 255, 211, 255, 255, 255, 77, 255, 255, 255, 205, 255, 255, 255, 68, 255, 255, 255, 38, 255, 255, 255, 160, 255, 255, 255, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 19, 255, 255, 255, 247, 255, 255, 255, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 67, 255, 255, 255, 247, 255, 255, 255, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 202, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 202, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 255, 255, 255, 1, 255, 255, 255, 205, 255, 255, 255, 68, 255, 255, 255, 57, 255, 255, 255, 9, 255, 255, 255, 16, 255, 255, 255, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 255, 255, 255, 37, 255, 255, 255, 225, 255, 255, 255, 2, 255, 255, 255, 1, 255, 255, 255, 213, 255, 255, 255, 17, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 139, 255, 255, 255, 143, 255, 255, 255, 145, 255, 255, 255, 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 215, 255, 255, 255, 107, 255, 255, 255, 117, 255, 255, 255, 223, 255, 255, 255, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 90, 255, 255, 255, 185, 255, 255, 255, 7, 255, 255, 255, 188, 255, 255, 255, 24, 255, 255, 255, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 53, 255, 255, 255, 253, 255, 255, 255, 39, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 37, 255, 255, 255, 253, 255, 255, 255, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 53, 255, 255, 255, 253, 255, 255, 255, 39, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 37, 255, 255, 255, 253, 255, 255, 255, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 90, 255, 255, 255, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 71, 255, 255, 255, 183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 255, 255, 255, 198, 255, 255, 255, 67, 255, 255, 255, 64, 255, 255, 255, 168, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 47, 255, 255, 255, 214, 255, 255, 255, 217, 255, 255, 255, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 142, 255, 255, 255, 187, 255, 255, 255, 1, 255, 255, 255, 3, 255, 255, 255, 203, 255, 255, 255, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 6, 255, 255, 255, 220, 255, 255, 255, 48, 255, 255, 255, 149, 255, 255, 255, 84, 0, 0, 0, 0, 255, 255, 255, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 160, 255, 255, 255, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 176, 255, 255, 255, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 160, 255, 255, 255, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 176, 255, 255, 255, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 6, 255, 255, 255, 220, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 57, 255, 255, 255, 191, 255, 255, 255, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 255, 255, 255, 104, 255, 255, 255, 161, 255, 255, 255, 163, 255, 255, 255, 69, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 209, 255, 255, 255, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 62, 255, 255, 255, 238, 255, 255, 255, 29, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 46, 255, 255, 255, 249, 255, 255, 255, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 112, 255, 255, 255, 163, 0, 0, 0, 0, 255, 255, 255, 215, 255, 255, 255, 216, 255, 255, 255, 216, 255, 255, 255, 255, 255, 255, 255, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 19, 255, 255, 255, 247, 255, 255, 255, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 67, 255, 255, 255, 247, 255, 255, 255, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 19, 255, 255, 255, 247, 255, 255, 255, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 67, 255, 255, 255, 247, 255, 255, 255, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 112, 255, 255, 255, 163, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 66, 255, 255, 255, 169, 255, 255, 255, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 255, 255, 255, 17, 255, 255, 255, 237, 255, 255, 255, 215, 255, 255, 255, 2, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 11, 255, 255, 255, 221, 255, 255, 255, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 131, 255, 255, 255, 222, 255, 255, 255, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 14, 255, 255, 255, 229, 255, 255, 255, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 14, 255, 255, 255, 229, 255, 255, 255, 32, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 247, 255, 255, 255, 219, 255, 255, 255, 216, 255, 255, 255, 216, 255, 255, 255, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 171, 255, 255, 255, 129, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 63, 255, 255, 255, 221, 255, 255, 255, 218, 255, 255, 255, 55, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 27, 255, 255, 255, 225, 255, 255, 255, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 202, 255, 255, 255, 66, 255, 255, 255, 73, 255, 255, 255, 193, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 158, 255, 255, 255, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 245, 255, 255, 255, 11, 255, 255, 255, 12, 255, 255, 255, 241, 0, 0, 0, 0, 255, 255, 255, 44, 255, 255, 255, 218, 255, 255, 255, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 243, 255, 255, 255, 11, 255, 255, 255, 12, 255, 255, 255, 242, 0, 0, 0, 0, 255, 255, 255, 181, 255, 255, 255, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 19, 255, 255, 255, 161, 255, 255, 255, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 228, 255, 255, 255, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 73, 255, 255, 255, 180, 255, 255, 255, 187, 255, 255, 255, 187, 255, 255, 255, 180, 255, 255, 255, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 246, 255, 255, 255, 210, 255, 255, 255, 126, 255, 255, 255, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 249, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 56, 255, 255, 255, 250, 255, 255, 255, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 196, 255, 255, 255, 66, 255, 255, 255, 73, 255, 255, 255, 197, 255, 255, 255, 64, 255, 255, 255, 204, 255, 255, 255, 65, 255, 255, 255, 221, 255, 255, 255, 218, 255, 255, 255, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 168, 255, 255, 255, 91, 255, 255, 255, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 164, 255, 255, 255, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 131, 255, 255, 255, 155, 255, 255, 255, 19, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 21, 255, 255, 255, 155, 255, 255, 255, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 73, 255, 255, 255, 180, 255, 255, 255, 187, 255, 255, 255, 187, 255, 255, 255, 180, 255, 255, 255, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 131, 255, 255, 255, 217, 255, 255, 255, 248, 255, 255, 255, 217, 255, 255, 255, 71, 255, 255, 255, 113, 255, 255, 255, 232, 255, 255, 255, 234, 255, 255, 255, 151, 255, 255, 255, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 43, 255, 255, 255, 165, 255, 255, 255, 229, 255, 255, 255, 235, 255, 255, 255, 220, 255, 255, 255, 137, 255, 255, 255, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 32, 255, 255, 255, 79, 255, 255, 255, 205, 255, 255, 255, 202, 255, 255, 255, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 25, 255, 255, 255, 155, 255, 255, 255, 229, 255, 255, 255, 249, 255, 255, 255, 224, 255, 255, 255, 158, 255, 255, 255, 244, 255, 255, 255, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 169, 255, 255, 255, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 151, 255, 255, 255, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 58, 255, 255, 255, 219, 255, 255, 255, 220, 255, 255, 255, 61, 255, 255, 255, 202, 255, 255, 255, 66, 255, 255, 255, 202, 255, 255, 255, 66, 255, 255, 255, 73, 255, 255, 255, 193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 49, 255, 255, 255, 220, 255, 255, 255, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 75, 255, 255, 255, 168, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 241, 255, 255, 255, 230, 255, 255, 255, 117, 0, 0, 0, 0, 255, 255, 255, 155, 255, 255, 255, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 131, 255, 255, 255, 155, 255, 255, 255, 19, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 21, 255, 255, 255, 155, 255, 255, 255, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 89, 255, 255, 255, 53, 255, 255, 255, 17, 255, 255, 255, 102, 255, 255, 255, 246, 255, 255, 255, 216, 255, 255, 255, 44, 255, 255, 255, 30, 255, 255, 255, 196, 255, 255, 255, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 81, 255, 255, 255, 219, 255, 255, 255, 86, 255, 255, 255, 8, 0, 0, 0, 0, 255, 255, 255, 22, 255, 255, 255, 152, 255, 255, 255, 210, 255, 255, 255, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 12, 255, 255, 255, 222, 255, 255, 255, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 225, 255, 255, 255, 175, 255, 255, 255, 47, 255, 255, 255, 14, 255, 255, 255, 51, 255, 255, 255, 242, 255, 255, 255, 226, 255, 255, 255, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 242, 255, 255, 255, 10, 0, 0, 0, 0, 255, 255, 255, 7, 255, 255, 255, 239, 255, 255, 255, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 88, 255, 255, 255, 182, 0, 0, 0, 0, 255, 255, 255, 245, 255, 255, 255, 11, 255, 255, 255, 12, 255, 255, 255, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 186, 255, 255, 255, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 20, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 24, 255, 255, 255, 37, 255, 255, 255, 254, 255, 255, 255, 10, 255, 255, 255, 21, 255, 255, 255, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 75, 255, 255, 255, 168, 0, 0, 0, 0, 255, 255, 255, 30, 255, 255, 255, 192, 255, 255, 255, 239, 255, 255, 255, 178, 0, 0, 0, 0, 255, 255, 255, 155, 255, 255, 255, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 4, 255, 255, 255, 253, 255, 255, 255, 102, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 226, 255, 255, 255, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 164, 255, 255, 255, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 122, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 141, 255, 255, 255, 216, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 122, 255, 255, 255, 221, 255, 255, 255, 213, 255, 255, 255, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 1, 255, 255, 255, 222, 255, 255, 255, 94, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 230, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 6, 255, 255, 255, 218, 255, 255, 255, 46, 0, 0, 0, 0, 255, 255, 255, 243, 255, 255, 255, 11, 255, 255, 255, 12, 255, 255, 255, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 0, 0, 0, 0, 255, 255, 255, 69, 255, 255, 255, 205, 255, 255, 255, 1, 255, 255, 255, 91, 255, 255, 255, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 188, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 83, 255, 255, 255, 119, 255, 255, 255, 223, 255, 255, 255, 2, 0, 0, 0, 0, 255, 255, 255, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 20, 0, 0, 0, 0, 255, 255, 255, 178, 255, 255, 255, 139, 255, 255, 255, 2, 255, 255, 255, 32, 0, 0, 0, 0, 255, 255, 255, 21, 255, 255, 255, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 28, 255, 255, 255, 166, 255, 255, 255, 225, 255, 255, 255, 225, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 144, 255, 255, 255, 119, 0, 0, 0, 0, 255, 255, 255, 37, 255, 255, 255, 198, 255, 255, 255, 228, 255, 255, 255, 224, 255, 255, 255, 28, 255, 255, 255, 39, 255, 255, 255, 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 80, 255, 255, 255, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 217, 255, 255, 255, 119, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 44, 255, 255, 255, 247, 255, 255, 255, 62, 255, 255, 255, 119, 255, 255, 255, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 123, 255, 255, 255, 190, 0, 0, 0, 0, 255, 255, 255, 181, 255, 255, 255, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 111, 255, 255, 255, 160, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 197, 255, 255, 255, 65, 255, 255, 255, 73, 255, 255, 255, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 255, 255, 255, 1, 255, 255, 255, 205, 255, 255, 255, 68, 255, 255, 255, 38, 255, 255, 255, 160, 255, 255, 255, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 188, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 183, 255, 255, 255, 234, 255, 255, 255, 43, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 188, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 240, 255, 255, 255, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 189, 255, 255, 255, 173, 255, 255, 255, 14, 255, 255, 255, 2, 255, 255, 255, 255, 255, 255, 255, 87, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 216, 255, 255, 255, 42, 0, 0, 0, 0, 255, 255, 255, 190, 255, 255, 255, 106, 0, 0, 0, 0, 255, 255, 255, 249, 255, 255, 255, 23, 255, 255, 255, 2, 255, 255, 255, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 82, 255, 255, 255, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 86, 0, 0, 0, 0, 255, 255, 255, 4, 255, 255, 255, 204, 255, 255, 255, 143, 0, 0, 0, 0, 255, 255, 255, 85, 255, 255, 255, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 26, 255, 255, 255, 250, 255, 255, 255, 43, 255, 255, 255, 251, 255, 255, 255, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 14, 255, 255, 255, 227, 255, 255, 255, 29, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 58, 255, 255, 255, 219, 255, 255, 255, 220, 255, 255, 255, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 90, 255, 255, 255, 185, 255, 255, 255, 7, 255, 255, 255, 188, 255, 255, 255, 24, 255, 255, 255, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 19, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 24, 255, 255, 255, 95, 255, 255, 255, 153, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 188, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 240, 255, 255, 255, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 245, 255, 255, 255, 76, 0, 0, 0, 0, 255, 255, 255, 33, 255, 255, 255, 255, 255, 255, 255, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 247, 255, 255, 255, 10, 0, 0, 0, 0, 255, 255, 255, 245, 255, 255, 255, 31, 255, 255, 255, 12, 255, 255, 255, 255, 255, 255, 255, 6, 255, 255, 255, 17, 255, 255, 255, 235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 130, 255, 255, 255, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 85, 0, 0, 0, 0, 255, 255, 255, 124, 255, 255, 255, 217, 255, 255, 255, 9, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 178, 255, 255, 255, 186, 255, 255, 255, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 6, 255, 255, 255, 220, 255, 255, 255, 48, 255, 255, 255, 149, 255, 255, 255, 84, 0, 0, 0, 0, 255, 255, 255, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 167, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 24, 255, 255, 255, 1, 255, 255, 255, 194, 255, 255, 255, 56, 255, 255, 255, 155, 255, 255, 255, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 19, 0, 0, 0, 0, 255, 255, 255, 177, 255, 255, 255, 138, 255, 255, 255, 2, 255, 255, 255, 20, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 216, 255, 255, 255, 139, 255, 255, 255, 23, 255, 255, 255, 166, 255, 255, 255, 198, 255, 255, 255, 240, 255, 255, 255, 87, 255, 255, 255, 33, 255, 255, 255, 59, 255, 255, 255, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 245, 255, 255, 255, 15, 0, 0, 0, 0, 255, 255, 255, 223, 255, 255, 255, 62, 255, 255, 255, 70, 255, 255, 255, 249, 255, 255, 255, 22, 255, 255, 255, 103, 255, 255, 255, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 22, 255, 255, 255, 232, 255, 255, 255, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 217, 255, 255, 255, 120, 255, 255, 255, 45, 255, 255, 255, 246, 255, 255, 255, 57, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 120, 255, 255, 255, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 255, 255, 255, 255, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 112, 255, 255, 255, 163, 0, 0, 0, 0, 255, 255, 255, 215, 255, 255, 255, 216, 255, 255, 255, 216, 255, 255, 255, 255, 255, 255, 255, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 135, 255, 255, 255, 167, 255, 255, 255, 19, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 168, 255, 255, 255, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 167, 0, 0, 0, 0, 255, 255, 255, 30, 255, 255, 255, 187, 255, 255, 255, 239, 255, 255, 255, 215, 0, 0, 0, 0, 255, 255, 255, 155, 255, 255, 255, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 69, 255, 255, 255, 225, 255, 255, 255, 241, 255, 255, 255, 148, 255, 255, 255, 4, 255, 255, 255, 114, 255, 255, 255, 225, 255, 255, 255, 251, 255, 255, 255, 224, 255, 255, 255, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 206, 255, 255, 255, 64, 0, 0, 0, 0, 255, 255, 255, 82, 255, 255, 255, 224, 255, 255, 255, 216, 255, 255, 255, 71, 255, 255, 255, 207, 255, 255, 255, 213, 255, 255, 255, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 9, 255, 255, 255, 28, 255, 255, 255, 92, 255, 255, 255, 222, 255, 255, 255, 190, 255, 255, 255, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 143, 255, 255, 255, 214, 255, 255, 255, 205, 255, 255, 255, 137, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 217, 255, 255, 255, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 73, 255, 255, 255, 245, 255, 255, 255, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 14, 255, 255, 255, 229, 255, 255, 255, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 183, 255, 255, 255, 188, 255, 255, 255, 188, 255, 255, 255, 183, 255, 255, 255, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 135, 255, 255, 255, 167, 255, 255, 255, 19, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 168, 255, 255, 255, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 115, 255, 255, 255, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 242, 255, 255, 255, 202, 255, 255, 255, 112, 255, 255, 255, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 22, 255, 255, 255, 230, 255, 255, 255, 247, 255, 255, 255, 53, 255, 255, 255, 13, 255, 255, 255, 43, 255, 255, 255, 184, 255, 255, 255, 216, 255, 255, 255, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 12, 255, 255, 255, 39, 255, 255, 255, 212, 255, 255, 255, 139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 183, 255, 255, 255, 188, 255, 255, 255, 188, 255, 255, 255, 183, 255, 255, 255, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 5, 255, 255, 255, 190, 255, 255, 255, 172, 255, 255, 255, 44, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 22, 255, 255, 255, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 21, 255, 255, 255, 240, 255, 255, 255, 171, 255, 255, 255, 229, 255, 255, 255, 250, 255, 255, 255, 228, 255, 255, 255, 148, 255, 255, 255, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 28, 255, 255, 255, 248, 255, 255, 255, 240, 255, 255, 255, 158, 255, 255, 255, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 5, 255, 255, 255, 113, 255, 255, 255, 204, 255, 255, 255, 239, 255, 255, 255, 237, 255, 255, 255, 221, 255, 255, 255, 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 110, 255, 255, 255, 239, 255, 255, 255, 142, 255, 255, 255, 32, 255, 255, 255, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 201, 255, 255, 255, 34, 255, 255, 255, 142, 255, 255, 255, 240, 255, 255, 255, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 21, 255, 255, 255, 250, 255, 255, 255, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 55, 255, 255, 255, 249, 255, 255, 255, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 233, 255, 255, 255, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 25, 255, 255, 255, 155, 255, 255, 255, 229, 255, 255, 255, 250, 255, 255, 255, 228, 255, 255, 255, 150, 255, 255, 255, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 173, 255, 255, 255, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 150, 255, 255, 255, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 143, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 233, 255, 255, 255, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 225, 255, 255, 255, 176, 255, 255, 255, 47, 255, 255, 255, 14, 255, 255, 255, 45, 255, 255, 255, 173, 255, 255, 255, 219, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 75, 255, 255, 255, 234, 255, 255, 255, 4, 0, 0, 0, 0, 255, 255, 255, 6, 255, 255, 255, 237, 255, 255, 255, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 210, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 143, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 59, 255, 255, 255, 206, 255, 255, 255, 246, 255, 255, 255, 209, 255, 255, 255, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 147, 255, 255, 255, 255, 255, 255, 255, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 233, 255, 255, 255, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 141, 255, 255, 255, 218, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 217, 255, 255, 255, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 229, 255, 255, 255, 75, 0, 0, 0, 0, 255, 255, 255, 82, 255, 255, 255, 225, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 249, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 56, 255, 255, 255, 250, 255, 255, 255, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 220, 255, 255, 255, 136, 255, 255, 255, 18, 255, 255, 255, 139, 255, 255, 255, 219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 210, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 154, 255, 255, 255, 166, 255, 255, 255, 38, 255, 255, 255, 168, 255, 255, 255, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 143, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 217, 255, 255, 255, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 120, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 135, 255, 255, 255, 166, 0, 0, 0, 0, 255, 255, 255, 175, 255, 255, 255, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 169, 255, 255, 255, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 151, 255, 255, 255, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 249, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 56, 255, 255, 255, 250, 255, 255, 255, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 16, 255, 255, 255, 239, 255, 255, 255, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 88, 255, 255, 255, 238, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 243, 255, 255, 255, 75, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 37, 255, 255, 255, 241, 255, 255, 255, 19, 255, 255, 255, 246, 255, 255, 255, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 242, 255, 255, 255, 10, 0, 0, 0, 0, 255, 255, 255, 7, 255, 255, 255, 239, 255, 255, 255, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 169, 255, 255, 255, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 151, 255, 255, 255, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 126, 255, 255, 255, 212, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 208, 255, 255, 255, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 162, 255, 255, 255, 194, 255, 255, 255, 71, 255, 255, 255, 230, 255, 255, 255, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 25, 255, 255, 255, 155, 255, 255, 255, 229, 255, 255, 255, 250, 255, 255, 255, 228, 255, 255, 255, 150, 255, 255, 255, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 25, 255, 255, 255, 155, 255, 255, 255, 229, 255, 255, 255, 250, 255, 255, 255, 228, 255, 255, 255, 150, 255, 255, 255, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 25, 255, 255, 255, 155, 255, 255, 255, 229, 255, 255, 255, 250, 255, 255, 255, 228, 255, 255, 255, 150, 255, 255, 255, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 195, 255, 255, 255, 152, 255, 255, 255, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 1, 255, 255, 255, 222, 255, 255, 255, 94, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 230, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 242, 255, 255, 255, 10, 0, 0, 0, 0, 255, 255, 255, 7, 255, 255, 255, 239, 255, 255, 255, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 14, 255, 255, 255, 238, 255, 255, 255, 77, 0, 0, 0, 0, 255, 255, 255, 74, 255, 255, 255, 236, 255, 255, 255, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 45, 255, 255, 255, 252, 255, 255, 255, 254, 255, 255, 255, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 225, 255, 255, 255, 176, 255, 255, 255, 47, 255, 255, 255, 14, 255, 255, 255, 45, 255, 255, 255, 173, 255, 255, 255, 219, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 225, 255, 255, 255, 176, 255, 255, 255, 47, 255, 255, 255, 14, 255, 255, 255, 45, 255, 255, 255, 173, 255, 255, 255, 219, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 225, 255, 255, 255, 176, 255, 255, 255, 47, 255, 255, 255, 14, 255, 255, 255, 45, 255, 255, 255, 173, 255, 255, 255, 219, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 216, 255, 255, 255, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 120, 255, 255, 255, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 97, 255, 255, 255, 252, 255, 255, 255, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 123, 255, 255, 255, 190, 0, 0, 0, 0, 255, 255, 255, 181, 255, 255, 255, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 1, 255, 255, 255, 222, 255, 255, 255, 94, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 230, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 123, 255, 255, 255, 196, 0, 0, 0, 0, 255, 255, 255, 195, 255, 255, 255, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 59, 255, 255, 255, 238, 255, 255, 255, 145, 255, 255, 255, 221, 255, 255, 255, 166, 255, 255, 255, 2, 0, 0, 0, 0, 255, 255, 255, 108, 255, 255, 255, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 141, 255, 255, 255, 218, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 217, 255, 255, 255, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 141, 255, 255, 255, 218, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 217, 255, 255, 255, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 141, 255, 255, 255, 218, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 217, 255, 255, 255, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 140, 255, 255, 255, 219, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 217, 255, 255, 255, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 26, 255, 255, 255, 250, 255, 255, 255, 43, 255, 255, 255, 251, 255, 255, 255, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 123, 255, 255, 255, 190, 0, 0, 0, 0, 255, 255, 255, 181, 255, 255, 255, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 13, 255, 255, 255, 236, 255, 255, 255, 121, 255, 255, 255, 233, 255, 255, 255, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 210, 255, 255, 255, 130, 0, 0, 0, 0, 255, 255, 255, 30, 255, 255, 255, 224, 255, 255, 255, 158, 255, 255, 255, 26, 255, 255, 255, 230, 255, 255, 255, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 217, 255, 255, 255, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 120, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 217, 255, 255, 255, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 120, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 217, 255, 255, 255, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 120, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 225, 255, 255, 255, 187, 255, 255, 255, 44, 255, 255, 255, 13, 255, 255, 255, 43, 255, 255, 255, 184, 255, 255, 255, 219, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 178, 255, 255, 255, 186, 255, 255, 255, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 26, 255, 255, 255, 250, 255, 255, 255, 43, 255, 255, 255, 251, 255, 255, 255, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 119, 255, 255, 255, 255, 255, 255, 255, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 244, 255, 255, 255, 81, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 34, 255, 255, 255, 227, 255, 255, 255, 243, 255, 255, 255, 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 25, 255, 255, 255, 155, 255, 255, 255, 230, 255, 255, 255, 250, 255, 255, 255, 228, 255, 255, 255, 150, 255, 255, 255, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 255, 255, 255, 255, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 178, 255, 255, 255, 186, 255, 255, 255, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 33, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 186, 255, 255, 255, 200, 255, 255, 255, 50, 255, 255, 255, 33, 255, 255, 255, 91, 255, 255, 255, 223, 255, 255, 255, 248, 255, 255, 255, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 73, 255, 255, 255, 245, 255, 255, 255, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 255, 255, 255, 255, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 26, 255, 255, 255, 170, 255, 255, 255, 235, 255, 255, 255, 247, 255, 255, 255, 207, 255, 255, 255, 95, 255, 255, 255, 38, 255, 255, 255, 229, 255, 255, 255, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 216, 255, 255, 255, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 120, 255, 255, 255, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 216, 255, 255, 255, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 120, 255, 255, 255, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 216, 255, 255, 255, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 120, 255, 255, 255, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 25, 255, 255, 255, 155, 255, 255, 255, 229, 255, 255, 255, 250, 255, 255, 255, 228, 255, 255, 255, 150, 255, 255, 255, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 12, 255, 255, 255, 39, 255, 255, 255, 212, 255, 255, 255, 139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 73, 255, 255, 255, 245, 255, 255, 255, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 140, 255, 255, 255, 219, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 217, 255, 255, 255, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 140, 255, 255, 255, 219, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 217, 255, 255, 255, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 140, 255, 255, 255, 219, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 217, 255, 255, 255, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 225, 255, 255, 255, 176, 255, 255, 255, 47, 255, 255, 255, 14, 255, 255, 255, 45, 255, 255, 255, 173, 255, 255, 255, 221, 255, 255, 255, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 28, 255, 255, 255, 248, 255, 255, 255, 240, 255, 255, 255, 158, 255, 255, 255, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 12, 255, 255, 255, 39, 255, 255, 255, 212, 255, 255, 255, 139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 225, 255, 255, 255, 187, 255, 255, 255, 44, 255, 255, 255, 13, 255, 255, 255, 43, 255, 255, 255, 184, 255, 255, 255, 219, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 225, 255, 255, 255, 187, 255, 255, 255, 44, 255, 255, 255, 13, 255, 255, 255, 43, 255, 255, 255, 184, 255, 255, 255, 219, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 225, 255, 255, 255, 187, 255, 255, 255, 44, 255, 255, 255, 13, 255, 255, 255, 43, 255, 255, 255, 184, 255, 255, 255, 219, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 141, 255, 255, 255, 218, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 217, 255, 255, 255, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 28, 255, 255, 255, 248, 255, 255, 255, 240, 255, 255, 255, 158, 255, 255, 255, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 25, 255, 255, 255, 155, 255, 255, 255, 230, 255, 255, 255, 250, 255, 255, 255, 228, 255, 255, 255, 150, 255, 255, 255, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 25, 255, 255, 255, 155, 255, 255, 255, 230, 255, 255, 255, 250, 255, 255, 255, 228, 255, 255, 255, 150, 255, 255, 255, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 25, 255, 255, 255, 155, 255, 255, 255, 230, 255, 255, 255, 250, 255, 255, 255, 228, 255, 255, 255, 150, 255, 255, 255, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 167, 255, 255, 255, 233, 255, 255, 255, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 217, 255, 255, 255, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 120, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 144, 255, 255, 255, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 25, 255, 255, 255, 155, 255, 255, 255, 229, 255, 255, 255, 250, 255, 255, 255, 228, 255, 255, 255, 150, 255, 255, 255, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 216, 255, 255, 255, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 120, 255, 255, 255, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 16, 255, 255, 255, 239, 255, 255, 255, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 88, 255, 255, 255, 238, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 6, 255, 255, 255, 116, 255, 255, 255, 206, 255, 255, 255, 245, 255, 255, 255, 244, 255, 255, 255, 213, 255, 255, 255, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 225, 255, 255, 255, 176, 255, 255, 255, 47, 255, 255, 255, 14, 255, 255, 255, 45, 255, 255, 255, 173, 255, 255, 255, 219, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 140, 255, 255, 255, 219, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 217, 255, 255, 255, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 126, 255, 255, 255, 212, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 208, 255, 255, 255, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 25, 255, 255, 255, 155, 255, 255, 255, 229, 255, 255, 255, 250, 255, 255, 255, 228, 255, 255, 255, 150, 255, 255, 255, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 6, 255, 255, 255, 193, 255, 255, 255, 205, 255, 255, 255, 70, 255, 255, 255, 16, 255, 255, 255, 23, 255, 255, 255, 78, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 25, 255, 255, 255, 234, 0, 0, 0, 0, 255, 255, 255, 21, 255, 255, 255, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 246, 255, 255, 255, 210, 255, 255, 255, 126, 255, 255, 255, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 160, 255, 255, 255, 193, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 255, 255, 255, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 141, 255, 255, 255, 218, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 217, 255, 255, 255, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 225, 255, 255, 255, 187, 255, 255, 255, 44, 255, 255, 255, 13, 255, 255, 255, 43, 255, 255, 255, 184, 255, 255, 255, 211, 255, 255, 255, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 14, 255, 255, 255, 238, 255, 255, 255, 77, 0, 0, 0, 0, 255, 255, 255, 74, 255, 255, 255, 236, 255, 255, 255, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 225, 255, 255, 255, 176, 255, 255, 255, 47, 255, 255, 255, 14, 255, 255, 255, 45, 255, 255, 255, 173, 255, 255, 255, 219, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 119, 255, 255, 255, 235, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 76, 255, 255, 255, 183, 0, 0, 0, 0, 255, 255, 255, 72, 255, 255, 255, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 32, 255, 255, 255, 79, 255, 255, 255, 205, 255, 255, 255, 202, 255, 255, 255, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 133, 255, 255, 255, 206, 255, 255, 255, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 217, 255, 255, 255, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 120, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 25, 255, 255, 255, 155, 255, 255, 255, 230, 255, 255, 255, 252, 255, 255, 255, 255, 255, 255, 255, 173, 255, 255, 255, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 123, 255, 255, 255, 196, 0, 0, 0, 0, 255, 255, 255, 195, 255, 255, 255, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 141, 255, 255, 255, 218, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 217, 255, 255, 255, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 209, 255, 255, 255, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 127, 255, 255, 255, 133, 0, 0, 0, 0, 255, 255, 255, 123, 255, 255, 255, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 12, 255, 255, 255, 222, 255, 255, 255, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 255, 255, 255, 104, 255, 255, 255, 217, 255, 255, 255, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 181, 255, 255, 255, 206, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 13, 255, 255, 255, 236, 255, 255, 255, 121, 255, 255, 255, 233, 255, 255, 255, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 217, 255, 255, 255, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 120, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 246, 255, 255, 255, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 240, 255, 255, 255, 240, 255, 255, 255, 252, 255, 255, 255, 243, 255, 255, 255, 240, 255, 255, 255, 252, 255, 255, 255, 243, 255, 255, 255, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 122, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 255, 255, 255, 79, 255, 255, 255, 225, 255, 255, 255, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 38, 255, 255, 255, 241, 255, 255, 255, 177, 255, 255, 255, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 119, 255, 255, 255, 255, 255, 255, 255, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 73, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 247, 255, 255, 255, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 228, 255, 255, 255, 28, 0, 0, 0, 0, 255, 255, 255, 229, 255, 255, 255, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 80, 255, 255, 255, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 114, 255, 255, 255, 245, 255, 255, 255, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 216, 255, 255, 255, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 120, 255, 255, 255, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 54, 255, 255, 255, 175, 255, 255, 255, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 33, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 213, 255, 255, 255, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 73, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 28, 255, 255, 255, 227, 0, 0, 0, 0, 255, 255, 255, 26, 255, 255, 255, 226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 82, 255, 255, 255, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 160, 255, 255, 255, 79, 255, 255, 255, 235, 255, 255, 255, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 140, 255, 255, 255, 219, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 217, 255, 255, 255, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 216, 255, 255, 255, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 120, 255, 255, 255, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 131, 255, 255, 255, 227, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 240, 255, 255, 255, 243, 255, 255, 255, 252, 255, 255, 255, 240, 255, 255, 255, 243, 255, 255, 255, 252, 255, 255, 255, 240, 255, 255, 255, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 130, 255, 255, 255, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 255, 255, 255, 148, 255, 255, 255, 189, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 255, 255, 255, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 74, 255, 255, 255, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 225, 255, 255, 255, 187, 255, 255, 255, 44, 255, 255, 255, 13, 255, 255, 255, 43, 255, 255, 255, 184, 255, 255, 255, 219, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 140, 255, 255, 255, 219, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 217, 255, 255, 255, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 14, 255, 255, 255, 216, 255, 255, 255, 194, 255, 255, 255, 61, 255, 255, 255, 15, 255, 255, 255, 13, 255, 255, 255, 95, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 136, 255, 255, 255, 122, 0, 0, 0, 0, 255, 255, 255, 129, 255, 255, 255, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 22, 255, 255, 255, 232, 255, 255, 255, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 255, 255, 255, 10, 255, 255, 255, 219, 255, 255, 255, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 128, 255, 255, 255, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 25, 255, 255, 255, 155, 255, 255, 255, 230, 255, 255, 255, 250, 255, 255, 255, 228, 255, 255, 255, 150, 255, 255, 255, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 225, 255, 255, 255, 187, 255, 255, 255, 44, 255, 255, 255, 13, 255, 255, 255, 43, 255, 255, 255, 184, 255, 255, 255, 219, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 19, 255, 255, 255, 147, 255, 255, 255, 226, 255, 255, 255, 252, 255, 255, 255, 246, 255, 255, 255, 218, 255, 255, 255, 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 184, 255, 255, 255, 71, 0, 0, 0, 0, 255, 255, 255, 180, 255, 255, 255, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 9, 255, 255, 255, 28, 255, 255, 255, 92, 255, 255, 255, 222, 255, 255, 255, 190, 255, 255, 255, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 57, 255, 255, 255, 247, 255, 255, 255, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 242, 255, 255, 255, 95, 255, 255, 255, 25, 255, 255, 255, 24, 255, 255, 255, 96, 255, 255, 255, 243, 255, 255, 255, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 25, 255, 255, 255, 155, 255, 255, 255, 230, 255, 255, 255, 250, 255, 255, 255, 228, 255, 255, 255, 150, 255, 255, 255, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 231, 255, 255, 255, 21, 0, 0, 0, 0, 255, 255, 255, 231, 255, 255, 255, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 242, 255, 255, 255, 202, 255, 255, 255, 112, 255, 255, 255, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 135, 255, 255, 255, 217, 255, 255, 255, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 204, 255, 255, 255, 247, 255, 255, 255, 246, 255, 255, 255, 200, 255, 255, 255, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 213, 255, 255, 255, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 155, 255, 255, 255, 232, 255, 255, 255, 230, 255, 255, 255, 154, 255, 255, 255, 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 233, 255, 255, 255, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 228, 255, 255, 255, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 159, 255, 255, 255, 180, 255, 255, 255, 18, 255, 255, 255, 15, 255, 255, 255, 165, 255, 255, 255, 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 143, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 167, 255, 255, 255, 233, 255, 255, 255, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 147, 255, 255, 255, 255, 255, 255, 255, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 210, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 28, 255, 255, 255, 244, 255, 255, 255, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 19, 255, 255, 255, 247, 255, 255, 255, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 164, 255, 255, 255, 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 189, 255, 255, 255, 163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 98, 255, 255, 255, 242, 255, 255, 255, 33, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 229, 255, 255, 255, 35, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 14, 255, 255, 255, 235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 144, 255, 255, 255, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 154, 255, 255, 255, 166, 255, 255, 255, 38, 255, 255, 255, 168, 255, 255, 255, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 110, 255, 255, 255, 239, 255, 255, 255, 142, 255, 255, 255, 32, 255, 255, 255, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 156, 255, 255, 255, 181, 255, 255, 255, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 161, 255, 255, 255, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 12, 255, 255, 255, 2, 0, 0, 0, 0, 255, 255, 255, 195, 0, 0, 0, 0, 255, 255, 255, 1, 255, 255, 255, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 14, 255, 255, 255, 222, 255, 255, 255, 98, 0, 0, 0, 0, 255, 255, 255, 99, 255, 255, 255, 221, 255, 255, 255, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 62, 255, 255, 255, 142, 255, 255, 255, 181, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 231, 255, 255, 255, 34, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 13, 255, 255, 255, 219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 255, 255, 255, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 255, 255, 255, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 201, 255, 255, 255, 34, 255, 255, 255, 142, 255, 255, 255, 240, 255, 255, 255, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 39, 255, 255, 255, 221, 255, 255, 255, 7, 255, 255, 255, 211, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 54, 255, 255, 255, 243, 255, 255, 255, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 124, 255, 255, 255, 235, 255, 255, 255, 165, 255, 255, 255, 208, 255, 255, 255, 165, 255, 255, 255, 234, 255, 255, 255, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 56, 255, 255, 255, 234, 255, 255, 255, 48, 255, 255, 255, 234, 255, 255, 255, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 67, 255, 255, 255, 12, 255, 255, 255, 227, 255, 255, 255, 84, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 158, 255, 255, 255, 177, 255, 255, 255, 16, 255, 255, 255, 13, 255, 255, 255, 162, 255, 255, 255, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 255, 255, 255, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 255, 255, 255, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 172, 255, 255, 255, 101, 0, 0, 0, 0, 255, 255, 255, 89, 255, 255, 255, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 204, 255, 255, 255, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 14, 255, 255, 255, 40, 255, 255, 255, 116, 255, 255, 255, 244, 255, 255, 255, 114, 255, 255, 255, 40, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 126, 255, 255, 255, 246, 255, 255, 255, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 255, 255, 255, 83, 255, 255, 255, 229, 255, 255, 255, 13, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 181, 255, 255, 255, 157, 255, 255, 255, 234, 255, 255, 255, 232, 255, 255, 255, 159, 255, 255, 255, 184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 213, 255, 255, 255, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 52, 255, 255, 255, 221, 255, 255, 255, 4, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 217, 255, 255, 255, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 97, 255, 255, 255, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 23, 255, 255, 255, 228, 255, 255, 255, 85, 255, 255, 255, 227, 255, 255, 255, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 159, 255, 255, 255, 228, 255, 255, 255, 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 181, 255, 255, 255, 145, 255, 255, 255, 64, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 228, 255, 255, 255, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 188, 255, 255, 255, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 95, 255, 255, 255, 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 9, 255, 255, 255, 237, 255, 255, 255, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 78, 255, 255, 255, 178, 0, 0, 0, 0, 255, 255, 255, 172, 255, 255, 255, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 227, 255, 255, 255, 25, 255, 255, 255, 228, 255, 255, 255, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 33, 255, 255, 255, 242, 255, 255, 255, 102, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 98, 255, 255, 255, 242, 255, 255, 255, 33, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 141, 255, 255, 255, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 19, 255, 255, 255, 231, 255, 255, 255, 84, 0, 0, 0, 0, 255, 255, 255, 85, 255, 255, 255, 231, 255, 255, 255, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 121, 255, 255, 255, 232, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 62, 255, 255, 255, 142, 255, 255, 255, 181, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 36, 255, 255, 255, 249, 255, 255, 255, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 169, 255, 255, 255, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 186, 255, 255, 255, 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 5, 255, 255, 255, 213, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 255, 255, 255, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 74, 255, 255, 255, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 255, 255, 255, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 74, 255, 255, 255, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 67, 255, 255, 255, 12, 255, 255, 255, 227, 255, 255, 255, 84, 0, 0, 0, 0, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 184, 255, 255, 255, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 128, 255, 255, 255, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 255, 255, 255, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 74, 255, 255, 255, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 255, 255, 255, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 74, 255, 255, 255, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 128, 255, 255, 255, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 255, 255, 255, 83, 255, 255, 255, 229, 255, 255, 255, 13, 255, 255, 255, 68, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 229, 255, 255, 255, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 242, 255, 255, 255, 95, 255, 255, 255, 25, 255, 255, 255, 24, 255, 255, 255, 96, 255, 255, 255, 243, 255, 255, 255, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 128, 255, 255, 255, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 128, 255, 255, 255, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 242, 255, 255, 255, 95, 255, 255, 255, 25, 255, 255, 255, 24, 255, 255, 255, 96, 255, 255, 255, 243, 255, 255, 255, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 181, 255, 255, 255, 145, 255, 255, 255, 64, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 204, 255, 255, 255, 247, 255, 255, 255, 246, 255, 255, 255, 200, 255, 255, 255, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 242, 255, 255, 255, 95, 255, 255, 255, 25, 255, 255, 255, 24, 255, 255, 255, 96, 255, 255, 255, 243, 255, 255, 255, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 242, 255, 255, 255, 95, 255, 255, 255, 25, 255, 255, 255, 24, 255, 255, 255, 96, 255, 255, 255, 243, 255, 255, 255, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 204, 255, 255, 255, 247, 255, 255, 255, 246, 255, 255, 255, 200, 255, 255, 255, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 33, 255, 255, 255, 242, 255, 255, 255, 102, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 204, 255, 255, 255, 247, 255, 255, 255, 246, 255, 255, 255, 200, 255, 255, 255, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 204, 255, 255, 255, 247, 255, 255, 255, 246, 255, 255, 255, 200, 255, 255, 255, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 121, 255, 255, 255, 232, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 41, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 5, 255, 255, 255, 213, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 35, 255, 255, 255, 235, 255, 255, 255, 70, 0, 0, 0, 0, 255, 255, 255, 66, 255, 255, 255, 234, 255, 255, 255, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 39, 255, 255, 255, 255, 255, 255, 255, 42, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 215, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 168, 255, 255, 255, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 62, 255, 255, 255, 235, 255, 255, 255, 123, 255, 255, 255, 235, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 255, 255, 255, 9, 255, 255, 255, 199, 255, 255, 255, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 116, 255, 255, 255, 255, 255, 255, 255, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 37, 255, 255, 255, 188, 255, 255, 255, 244, 255, 255, 255, 231, 255, 255, 255, 167, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 255, 255, 255, 2, 255, 255, 255, 175, 255, 255, 255, 179, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 63, 255, 255, 255, 235, 255, 255, 255, 119, 255, 255, 255, 235, 255, 255, 255, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 198, 255, 255, 255, 169, 255, 255, 255, 22, 255, 255, 255, 40, 255, 255, 255, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 251, 255, 255, 255, 224, 255, 255, 255, 149, 255, 255, 255, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 168, 255, 255, 255, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 147, 255, 255, 255, 228, 255, 255, 255, 248, 255, 255, 255, 223, 255, 255, 255, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 92, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 164, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 53, 255, 255, 255, 146, 255, 255, 255, 199, 255, 255, 255, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 33, 255, 255, 255, 234, 255, 255, 255, 66, 0, 0, 0, 0, 255, 255, 255, 61, 255, 255, 255, 234, 255, 255, 255, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 247, 255, 255, 255, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 13, 255, 255, 255, 54, 255, 255, 255, 211, 255, 255, 255, 166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 14, 255, 255, 255, 217, 255, 255, 255, 188, 255, 255, 255, 50, 255, 255, 255, 17, 255, 255, 255, 61, 255, 255, 255, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 13, 255, 255, 255, 163, 255, 255, 255, 232, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 191, 255, 255, 255, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 131, 255, 255, 255, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 5, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 255, 255, 255, 255, 15, 255, 255, 255, 8, 255, 255, 255, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 147, 255, 255, 255, 255, 255, 255, 255, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 91, 255, 255, 255, 237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 132, 255, 255, 255, 229, 255, 255, 255, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 149, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 216, 255, 255, 255, 24, 255, 255, 255, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 61, 255, 255, 255, 244, 255, 255, 255, 19, 0, 0, 0, 0, 255, 255, 255, 7, 255, 255, 255, 234, 255, 255, 255, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 172, 255, 255, 255, 166, 255, 255, 255, 183, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 74, 255, 255, 255, 249, 255, 255, 255, 193, 255, 255, 255, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 93, 255, 255, 255, 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 164, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 213, 255, 255, 255, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 229, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 212, 0, 0, 0, 0, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 186, 255, 255, 255, 131, 0, 0, 0, 0, 255, 255, 255, 97, 255, 255, 255, 214, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 215, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 168, 255, 255, 255, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 255, 255, 255, 13, 255, 255, 255, 223, 255, 255, 255, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 38, 255, 255, 255, 175, 255, 255, 255, 253, 255, 255, 255, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 13, 255, 255, 255, 55, 255, 255, 255, 212, 255, 255, 255, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 5, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 255, 255, 255, 255, 15, 255, 255, 255, 8, 255, 255, 255, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 212, 0, 0, 0, 0, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 56, 255, 255, 255, 239, 255, 255, 255, 14, 255, 255, 255, 207, 255, 255, 255, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 246, 255, 255, 255, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 139, 255, 255, 255, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 241, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 212, 0, 0, 0, 0, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 181, 255, 255, 255, 179, 255, 255, 255, 228, 255, 255, 255, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 134, 255, 255, 255, 216, 255, 255, 255, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 78, 255, 255, 255, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 255, 255, 255, 202, 255, 255, 255, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 5, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 176, 255, 255, 255, 13, 255, 255, 255, 8, 255, 255, 255, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 216, 255, 255, 255, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 186, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 212, 0, 0, 0, 0, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 64, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 95, 255, 255, 255, 21, 255, 255, 255, 28, 255, 255, 255, 180, 255, 255, 255, 178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 255, 255, 255, 81, 255, 255, 255, 235, 255, 255, 255, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 164, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 142, 255, 255, 255, 223, 255, 255, 255, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 47, 255, 255, 255, 225, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 212, 0, 0, 0, 0, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 15, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 17, 255, 255, 255, 195, 255, 255, 255, 243, 255, 255, 255, 240, 255, 255, 255, 174, 255, 255, 255, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 255, 255, 255, 1, 255, 255, 255, 213, 255, 255, 255, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 21, 255, 255, 255, 227, 255, 255, 255, 197, 255, 255, 255, 53, 255, 255, 255, 14, 255, 255, 255, 33, 255, 255, 255, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 51, 255, 255, 255, 52, 255, 255, 255, 212, 0, 0, 0, 0, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 81, 255, 255, 255, 227, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 93, 255, 255, 255, 238, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 27, 255, 255, 255, 157, 255, 255, 255, 230, 255, 255, 255, 253, 255, 255, 255, 242, 255, 255, 255, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 212, 0, 0, 0, 0, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 187, 255, 255, 255, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 5, 255, 255, 255, 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 40, 255, 255, 255, 192, 255, 255, 255, 230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 230, 255, 255, 255, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 170, 255, 255, 255, 174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 212, 0, 0, 0, 0, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 38, 255, 255, 255, 249, 255, 255, 255, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 75, 255, 255, 255, 209, 255, 255, 255, 246, 255, 255, 255, 201, 255, 255, 255, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 195, 255, 255, 255, 127, 0, 0, 0, 0, 255, 255, 255, 126, 255, 255, 255, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 21, 255, 255, 255, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 212, 0, 0, 0, 0, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 143, 255, 255, 255, 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 217, 255, 255, 255, 52, 255, 255, 255, 22, 255, 255, 255, 176, 255, 255, 255, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 246, 255, 255, 255, 67, 0, 0, 0, 0, 255, 255, 255, 67, 255, 255, 255, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 247, 255, 255, 255, 227, 255, 255, 255, 170, 255, 255, 255, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 195, 255, 255, 255, 202, 255, 255, 255, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 212, 0, 0, 0, 0, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 9, 255, 255, 255, 239, 255, 255, 255, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 105, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 72, 255, 255, 255, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 210, 255, 255, 255, 147, 255, 255, 255, 18, 255, 255, 255, 147, 255, 255, 255, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 93, 255, 255, 255, 255, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 15, 255, 255, 255, 50, 255, 255, 255, 189, 255, 255, 255, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 212, 0, 0, 0, 0, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 99, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 67, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 52, 255, 255, 255, 239, 255, 255, 255, 251, 255, 255, 255, 206, 255, 255, 255, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 10, 255, 255, 255, 212, 255, 255, 255, 242, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 244, 255, 255, 255, 244, 255, 255, 255, 244, 255, 255, 255, 244, 255, 255, 255, 244, 255, 255, 255, 244, 255, 255, 255, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 81, 255, 255, 255, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 204, 255, 255, 255, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 245, 255, 255, 255, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 128, 255, 255, 255, 141, 255, 255, 255, 246, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 255, 255, 255, 5, 255, 255, 255, 37, 255, 255, 255, 182, 255, 255, 255, 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 64, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 55, 255, 255, 255, 243, 255, 255, 255, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 110, 255, 255, 255, 239, 255, 255, 255, 142, 255, 255, 255, 32, 255, 255, 255, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 190, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 232, 255, 255, 255, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 27, 255, 255, 255, 231, 255, 255, 255, 20, 255, 255, 255, 254, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 163, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 161, 255, 255, 255, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 201, 255, 255, 255, 34, 255, 255, 255, 142, 255, 255, 255, 240, 255, 255, 255, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 149, 255, 255, 255, 158, 255, 255, 255, 35, 255, 255, 255, 35, 255, 255, 255, 127, 255, 255, 255, 227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 162, 255, 255, 255, 124, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 12, 255, 255, 255, 63, 255, 255, 255, 217, 255, 255, 255, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 52, 255, 255, 255, 179, 255, 255, 255, 241, 255, 255, 255, 236, 255, 255, 255, 169, 255, 255, 255, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 19, 255, 255, 255, 247, 255, 255, 255, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 244, 255, 255, 255, 54, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 56, 255, 255, 255, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 53, 255, 255, 255, 230, 255, 255, 255, 11, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 91, 255, 255, 255, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 164, 255, 255, 255, 131, 255, 255, 255, 34, 255, 255, 255, 38, 255, 255, 255, 191, 255, 255, 255, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 147, 255, 255, 255, 228, 255, 255, 255, 248, 255, 255, 255, 223, 255, 255, 255, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 64, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 75, 255, 255, 255, 209, 255, 255, 255, 246, 255, 255, 255, 201, 255, 255, 255, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 215, 255, 255, 255, 110, 0, 0, 0, 0, 255, 255, 255, 10, 255, 255, 255, 164, 255, 255, 255, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 196, 255, 255, 255, 134, 255, 255, 255, 36, 255, 255, 255, 36, 255, 255, 255, 255, 255, 255, 255, 77, 255, 255, 255, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 97, 255, 255, 255, 229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 14, 255, 255, 255, 217, 255, 255, 255, 188, 255, 255, 255, 50, 255, 255, 255, 17, 255, 255, 255, 61, 255, 255, 255, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 217, 255, 255, 255, 52, 255, 255, 255, 22, 255, 255, 255, 176, 255, 255, 255, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 56, 255, 255, 255, 205, 255, 255, 255, 229, 255, 255, 255, 223, 255, 255, 255, 155, 255, 255, 255, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 15, 255, 255, 255, 62, 255, 255, 255, 220, 255, 255, 255, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 105, 255, 255, 255, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 132, 255, 255, 255, 229, 255, 255, 255, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 105, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 72, 255, 255, 255, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 255, 255, 255, 221, 255, 255, 255, 131, 255, 255, 255, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 12, 255, 255, 255, 219, 255, 255, 255, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 213, 255, 255, 255, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 67, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 176, 255, 255, 255, 175, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 106, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 178, 255, 255, 255, 228, 255, 255, 255, 228, 255, 255, 255, 236, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 161, 255, 255, 255, 193, 255, 255, 255, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 126, 255, 255, 255, 182, 255, 255, 255, 36, 255, 255, 255, 36, 255, 255, 255, 36, 255, 255, 255, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 161, 255, 255, 255, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 1, 255, 255, 255, 154, 255, 255, 255, 197, 255, 255, 255, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 216, 255, 255, 255, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 34, 255, 255, 255, 168, 255, 255, 255, 230, 255, 255, 255, 249, 255, 255, 255, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 146, 255, 255, 255, 148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 58, 255, 255, 255, 244, 255, 255, 255, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 14, 255, 255, 255, 160, 255, 255, 255, 237, 255, 255, 255, 232, 255, 255, 255, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 147, 255, 255, 255, 218, 255, 255, 255, 50, 255, 255, 255, 36, 255, 255, 255, 36, 255, 255, 255, 36, 255, 255, 255, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 142, 255, 255, 255, 223, 255, 255, 255, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 227, 255, 255, 255, 167, 255, 255, 255, 45, 255, 255, 255, 24, 255, 255, 255, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 166, 255, 255, 255, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 116, 255, 255, 255, 217, 255, 255, 255, 246, 255, 255, 255, 165, 255, 255, 255, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 206, 255, 255, 255, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 152, 255, 255, 255, 195, 255, 255, 255, 37, 255, 255, 255, 60, 255, 255, 255, 226, 255, 255, 255, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 21, 255, 255, 255, 227, 255, 255, 255, 197, 255, 255, 255, 53, 255, 255, 255, 14, 255, 255, 255, 33, 255, 255, 255, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 125, 255, 255, 255, 210, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 180, 255, 255, 255, 243, 255, 255, 255, 250, 255, 255, 255, 230, 255, 255, 255, 150, 255, 255, 255, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 208, 255, 255, 255, 40, 255, 255, 255, 40, 255, 255, 255, 219, 255, 255, 255, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 104, 255, 255, 255, 219, 255, 255, 255, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 230, 255, 255, 255, 72, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 101, 255, 255, 255, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 124, 255, 255, 255, 233, 255, 255, 255, 235, 255, 255, 255, 151, 255, 255, 255, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 27, 255, 255, 255, 157, 255, 255, 255, 230, 255, 255, 255, 253, 255, 255, 255, 242, 255, 255, 255, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 200, 255, 255, 255, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 19, 255, 255, 255, 36, 255, 255, 255, 22, 255, 255, 255, 65, 255, 255, 255, 216, 255, 255, 255, 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 98, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 113, 255, 255, 255, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 19, 255, 255, 255, 237, 255, 255, 255, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 241, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 70, 255, 255, 255, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 90, 255, 255, 255, 215, 255, 255, 255, 44, 255, 255, 255, 30, 255, 255, 255, 196, 255, 255, 255, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 240, 255, 255, 255, 129, 255, 255, 255, 211, 255, 255, 255, 243, 255, 255, 255, 183, 255, 255, 255, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 65, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 152, 255, 255, 255, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 179, 255, 255, 255, 168, 255, 255, 255, 14, 255, 255, 255, 31, 255, 255, 255, 189, 255, 255, 255, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 199, 255, 255, 255, 99, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 255, 255, 255, 194, 255, 255, 255, 36, 255, 255, 255, 16, 255, 255, 255, 174, 255, 255, 255, 178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 91, 255, 255, 255, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 67, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 79, 255, 255, 255, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 253, 255, 255, 255, 238, 255, 255, 255, 228, 255, 255, 255, 228, 255, 255, 255, 228, 255, 255, 255, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 30, 255, 255, 255, 184, 255, 255, 255, 244, 255, 255, 255, 211, 255, 255, 255, 129, 255, 255, 255, 236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 238, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 69, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 243, 255, 255, 255, 76, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 61, 255, 255, 255, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 120, 255, 255, 255, 44, 255, 255, 255, 21, 255, 255, 255, 63, 255, 255, 255, 219, 255, 255, 255, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 101, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 116, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 139, 255, 255, 255, 238, 255, 255, 255, 235, 255, 255, 255, 198, 255, 255, 255, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 121, 255, 255, 255, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 240, 255, 255, 255, 87, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 244, 255, 255, 255, 72, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 108, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 255, 255, 255, 231, 255, 255, 255, 146, 255, 255, 255, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 199, 255, 255, 255, 105, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 73, 255, 255, 255, 229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 173, 255, 255, 255, 238, 255, 255, 255, 249, 255, 255, 255, 216, 255, 255, 255, 123, 255, 255, 255, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 211, 255, 255, 255, 40, 255, 255, 255, 41, 255, 255, 255, 222, 255, 255, 255, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 115, 255, 255, 255, 219, 255, 255, 255, 42, 255, 255, 255, 89, 255, 255, 255, 255, 255, 255, 255, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 206, 255, 255, 255, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 201, 255, 255, 255, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 196, 255, 255, 255, 175, 255, 255, 255, 22, 255, 255, 255, 53, 255, 255, 255, 217, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 13, 255, 255, 255, 56, 255, 255, 255, 213, 255, 255, 255, 167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 33, 255, 255, 255, 177, 255, 255, 255, 240, 255, 255, 255, 240, 255, 255, 255, 176, 255, 255, 255, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 95, 255, 255, 255, 229, 255, 255, 255, 62, 255, 255, 255, 37, 255, 255, 255, 196, 255, 255, 255, 152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 118, 255, 255, 255, 220, 255, 255, 255, 247, 255, 255, 255, 156, 255, 255, 255, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 207, 255, 255, 255, 112, 0, 0, 0, 0, 255, 255, 255, 190, 255, 255, 255, 188, 255, 255, 255, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 7, 255, 255, 255, 5, 255, 255, 255, 19, 255, 255, 255, 142, 255, 255, 255, 228, 255, 255, 255, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 239, 255, 255, 255, 83, 255, 255, 255, 29, 255, 255, 255, 54, 255, 255, 255, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 48, 255, 255, 255, 206, 255, 255, 255, 248, 255, 255, 255, 209, 255, 255, 255, 76, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 92, 255, 255, 255, 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 200, 255, 255, 255, 166, 255, 255, 255, 33, 255, 255, 255, 35, 255, 255, 255, 168, 255, 255, 255, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 36, 255, 255, 255, 36, 255, 255, 255, 36, 255, 255, 255, 36, 255, 255, 255, 140, 255, 255, 255, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 125, 255, 255, 255, 234, 255, 255, 255, 237, 255, 255, 255, 159, 255, 255, 255, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 241, 255, 255, 255, 77, 255, 255, 255, 66, 255, 255, 255, 204, 255, 255, 255, 76, 255, 255, 255, 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 54, 255, 255, 255, 250, 255, 255, 255, 233, 255, 255, 255, 174, 255, 255, 255, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 100, 255, 255, 255, 225, 255, 255, 255, 252, 255, 255, 255, 228, 255, 255, 255, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 97, 255, 255, 255, 229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 243, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 62, 255, 255, 255, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 224, 255, 255, 255, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 69, 255, 255, 255, 206, 255, 255, 255, 247, 255, 255, 255, 228, 255, 255, 255, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 239, 255, 255, 255, 73, 255, 255, 255, 198, 255, 255, 255, 72, 255, 255, 255, 79, 255, 255, 255, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 16, 255, 255, 255, 63, 255, 255, 255, 219, 255, 255, 255, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 159, 255, 255, 255, 173, 255, 255, 255, 12, 255, 255, 255, 12, 255, 255, 255, 179, 255, 255, 255, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 87, 255, 255, 255, 227, 255, 255, 255, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 232, 255, 255, 255, 101, 255, 255, 255, 15, 255, 255, 255, 47, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 203, 255, 255, 255, 181, 255, 255, 255, 195, 0, 0, 0, 0, 255, 255, 255, 114, 255, 255, 255, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 255, 255, 255, 223, 255, 255, 255, 132, 255, 255, 255, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 7, 255, 255, 255, 187, 255, 255, 255, 238, 255, 255, 255, 237, 255, 255, 255, 153, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 201, 255, 255, 255, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 156, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 111, 255, 255, 255, 255, 255, 255, 255, 91, 255, 255, 255, 42, 255, 255, 255, 221, 255, 255, 255, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 82, 255, 255, 255, 232, 255, 255, 255, 68, 255, 255, 255, 111, 255, 255, 255, 238, 255, 255, 255, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 246, 255, 255, 255, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 210, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 64, 255, 255, 255, 251, 255, 255, 255, 241, 255, 255, 255, 135, 255, 255, 255, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 96, 255, 255, 255, 203, 255, 255, 255, 238, 255, 255, 255, 239, 255, 255, 255, 130, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 1, 255, 255, 255, 137, 255, 255, 255, 239, 255, 255, 255, 236, 255, 255, 255, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 217, 255, 255, 255, 93, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 105, 255, 255, 255, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 175, 255, 255, 255, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 55, 255, 255, 255, 206, 255, 255, 255, 246, 255, 255, 255, 211, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 211, 255, 255, 255, 96, 255, 255, 255, 42, 255, 255, 255, 201, 255, 255, 255, 177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 97, 255, 255, 255, 231, 255, 255, 255, 49, 255, 255, 255, 52, 255, 255, 255, 234, 255, 255, 255, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 244, 255, 255, 255, 58, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 63, 255, 255, 255, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 35, 255, 255, 255, 252, 255, 255, 255, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 210, 255, 255, 255, 147, 255, 255, 255, 17, 255, 255, 255, 134, 255, 255, 255, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 243, 255, 255, 255, 73, 0, 0, 0, 0, 255, 255, 255, 58, 255, 255, 255, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 108, 255, 255, 255, 219, 255, 255, 255, 255, 255, 255, 255, 251, 255, 255, 255, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 180, 255, 255, 255, 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 190, 255, 255, 255, 129, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 131, 255, 255, 255, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 184, 255, 255, 255, 176, 255, 255, 255, 33, 255, 255, 255, 37, 255, 255, 255, 185, 255, 255, 255, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 148, 255, 255, 255, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 253, 255, 255, 255, 64, 0, 0, 0, 0, 255, 255, 255, 73, 255, 255, 255, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 138, 255, 255, 255, 234, 255, 255, 255, 97, 255, 255, 255, 127, 255, 255, 255, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 97, 255, 255, 255, 244, 255, 255, 255, 96, 255, 255, 255, 28, 255, 255, 255, 39, 255, 255, 255, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 193, 255, 255, 255, 244, 255, 255, 255, 239, 255, 255, 255, 181, 255, 255, 255, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 65, 255, 255, 255, 247, 255, 255, 255, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 228, 255, 255, 255, 83, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 83, 255, 255, 255, 229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 28, 255, 255, 255, 176, 255, 255, 255, 239, 255, 255, 255, 236, 255, 255, 255, 164, 255, 255, 255, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 17, 255, 255, 255, 244, 255, 255, 255, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 255, 255, 255, 155, 255, 255, 255, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 76, 255, 255, 255, 196, 255, 255, 255, 255, 255, 255, 255, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 209, 255, 255, 255, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 144, 255, 255, 255, 109, 255, 255, 255, 40, 255, 255, 255, 35, 255, 255, 255, 175, 255, 255, 255, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 208, 255, 255, 255, 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 247, 255, 255, 255, 67, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 67, 255, 255, 255, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 255, 255, 255, 240, 255, 255, 255, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 29, 255, 255, 255, 156, 255, 255, 255, 224, 255, 255, 255, 255, 255, 255, 255, 229, 255, 255, 255, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 107, 255, 255, 255, 235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 82, 255, 255, 255, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 100, 255, 255, 255, 231, 255, 255, 255, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 246, 255, 255, 255, 67, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 71, 255, 255, 255, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 255, 255, 255, 242, 255, 255, 255, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 69, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 207, 255, 255, 255, 156, 255, 255, 255, 45, 255, 255, 255, 241, 255, 255, 255, 48, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 15, 255, 255, 255, 90, 255, 255, 255, 25, 255, 255, 255, 17, 255, 255, 255, 122, 255, 255, 255, 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 249, 255, 255, 255, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 10, 255, 255, 255, 59, 255, 255, 255, 211, 255, 255, 255, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 13, 255, 255, 255, 232, 255, 255, 255, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 225, 255, 255, 255, 84, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 255, 255, 255, 131, 255, 255, 255, 242, 255, 255, 255, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 244, 255, 255, 255, 72, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 108, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 232, 255, 255, 255, 107, 0, 0, 0, 0, 255, 255, 255, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 15, 255, 255, 255, 194, 255, 255, 255, 243, 255, 255, 255, 244, 255, 255, 255, 194, 255, 255, 255, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 212, 255, 255, 255, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 255, 255, 255, 149, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 135, 255, 255, 255, 208, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 184, 255, 255, 255, 136, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 138, 255, 255, 255, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 233, 255, 255, 255, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 255, 255, 255, 1, 255, 255, 255, 176, 255, 255, 255, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 196, 255, 255, 255, 175, 255, 255, 255, 22, 255, 255, 255, 53, 255, 255, 255, 217, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 71, 255, 255, 255, 226, 255, 255, 255, 227, 255, 255, 255, 246, 255, 255, 255, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 100, 255, 255, 255, 242, 255, 255, 255, 92, 255, 255, 255, 27, 255, 255, 255, 37, 255, 255, 255, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 16, 255, 255, 255, 29, 255, 255, 255, 80, 255, 255, 255, 225, 255, 255, 255, 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 247, 255, 255, 255, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 236, 255, 255, 255, 50, 255, 255, 255, 59, 255, 255, 255, 238, 255, 255, 255, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 143, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 167, 255, 255, 255, 233, 255, 255, 255, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 147, 255, 255, 255, 255, 255, 255, 255, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 71, 255, 255, 255, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 48, 255, 255, 255, 206, 255, 255, 255, 248, 255, 255, 255, 209, 255, 255, 255, 76, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 4, 255, 255, 255, 62, 255, 255, 255, 252, 255, 255, 255, 241, 255, 255, 255, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 69, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 110, 255, 255, 255, 219, 255, 255, 255, 255, 255, 255, 255, 251, 255, 255, 255, 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 89, 255, 255, 255, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 170, 255, 255, 255, 180, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 129, 255, 255, 255, 238, 255, 255, 255, 239, 255, 255, 255, 138, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 144, 255, 255, 255, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 154, 255, 255, 255, 166, 255, 255, 255, 38, 255, 255, 255, 168, 255, 255, 255, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 255, 255, 255, 58, 255, 255, 255, 111, 255, 255, 255, 227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 240, 255, 255, 255, 76, 255, 255, 255, 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 72, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 108, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 93, 255, 255, 255, 229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 124, 255, 255, 255, 233, 255, 255, 255, 235, 255, 255, 255, 151, 255, 255, 255, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 255, 255, 255, 206, 255, 255, 255, 242, 255, 255, 255, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 125, 255, 255, 255, 59, 255, 255, 255, 23, 255, 255, 255, 242, 255, 255, 255, 143, 255, 255, 255, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 175, 255, 255, 255, 22, 255, 255, 255, 53, 255, 255, 255, 221, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 129, 255, 255, 255, 48, 255, 255, 255, 24, 255, 255, 255, 66, 255, 255, 255, 220, 255, 255, 255, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 90, 255, 255, 255, 215, 255, 255, 255, 44, 255, 255, 255, 30, 255, 255, 255, 196, 255, 255, 255, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 124, 255, 255, 255, 233, 255, 255, 255, 235, 255, 255, 255, 151, 255, 255, 255, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 91, 255, 255, 255, 210, 255, 255, 255, 245, 255, 255, 255, 210, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 174, 255, 255, 255, 227, 255, 255, 255, 250, 255, 255, 255, 254, 255, 255, 255, 196, 255, 255, 255, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 61, 255, 255, 255, 205, 255, 255, 255, 247, 255, 255, 255, 228, 255, 255, 255, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 190, 255, 255, 255, 243, 255, 255, 255, 218, 255, 255, 255, 101, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 164, 255, 255, 255, 234, 255, 255, 255, 249, 255, 255, 255, 221, 255, 255, 255, 133, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 199, 255, 255, 255, 99, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 90, 255, 255, 255, 215, 255, 255, 255, 44, 255, 255, 255, 30, 255, 255, 255, 196, 255, 255, 255, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 66, 255, 255, 255, 60, 255, 255, 255, 18, 255, 255, 255, 145, 255, 255, 255, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 223, 255, 255, 255, 123, 255, 255, 255, 16, 255, 255, 255, 51, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 238, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 199, 255, 255, 255, 99, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 61, 255, 255, 255, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 244, 255, 255, 255, 244, 255, 255, 255, 244, 255, 255, 255, 244, 255, 255, 255, 244, 255, 255, 255, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 234, 255, 255, 255, 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 233, 255, 255, 255, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 240, 255, 255, 255, 87, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 238, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 174, 255, 255, 255, 232, 255, 255, 255, 252, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 89, 255, 255, 255, 246, 255, 255, 255, 189, 255, 255, 255, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 147, 255, 255, 255, 255, 255, 255, 255, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 81, 255, 255, 255, 217, 255, 255, 255, 246, 255, 255, 255, 165, 255, 255, 255, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 143, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 201, 255, 255, 255, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 240, 255, 255, 255, 87, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 192, 255, 255, 255, 188, 255, 255, 255, 45, 255, 255, 255, 71, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 24, 255, 255, 255, 137, 255, 255, 255, 248, 255, 255, 255, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 154, 255, 255, 255, 166, 255, 255, 255, 38, 255, 255, 255, 168, 255, 255, 255, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 207, 255, 255, 255, 40, 255, 255, 255, 40, 255, 255, 255, 219, 255, 255, 255, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 239, 255, 255, 255, 83, 255, 255, 255, 29, 255, 255, 255, 54, 255, 255, 255, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 201, 255, 255, 255, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 246, 255, 255, 255, 76, 0, 0, 0, 0, 255, 255, 255, 87, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 93, 255, 255, 255, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 7, 255, 255, 255, 161, 255, 255, 255, 246, 255, 255, 255, 215, 255, 255, 255, 78, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 98, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 113, 255, 255, 255, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 100, 255, 255, 255, 225, 255, 255, 255, 252, 255, 255, 255, 228, 255, 255, 255, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 239, 255, 255, 255, 83, 255, 255, 255, 29, 255, 255, 255, 54, 255, 255, 255, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 220, 255, 255, 255, 131, 255, 255, 255, 27, 255, 255, 255, 192, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 16, 255, 255, 255, 93, 255, 255, 255, 25, 255, 255, 255, 18, 255, 255, 255, 142, 255, 255, 255, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 127, 255, 255, 255, 223, 255, 255, 255, 42, 255, 255, 255, 44, 255, 255, 255, 214, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 65, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 100, 255, 255, 255, 225, 255, 255, 255, 252, 255, 255, 255, 228, 255, 255, 255, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 83, 255, 255, 255, 237, 255, 255, 255, 229, 255, 255, 255, 76, 255, 255, 255, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 7, 255, 255, 255, 161, 255, 255, 255, 246, 255, 255, 255, 217, 255, 255, 255, 113, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 52, 255, 255, 255, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 139, 255, 255, 255, 238, 255, 255, 255, 238, 255, 255, 255, 132, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 15, 255, 255, 255, 193, 255, 255, 255, 243, 255, 255, 255, 244, 255, 255, 255, 193, 255, 255, 255, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 216, 255, 255, 255, 116, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 106, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 67, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 79, 255, 255, 255, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 127, 255, 255, 255, 223, 255, 255, 255, 42, 255, 255, 255, 44, 255, 255, 255, 215, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 38, 255, 255, 255, 170, 255, 255, 255, 214, 255, 255, 255, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 115, 255, 255, 255, 219, 255, 255, 255, 42, 255, 255, 255, 42, 255, 255, 255, 219, 255, 255, 255, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 249, 255, 255, 255, 78, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 70, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 101, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 116, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 216, 255, 255, 255, 116, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 106, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 26, 255, 255, 255, 152, 255, 255, 255, 212, 255, 255, 255, 91, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 207, 255, 255, 255, 112, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 113, 255, 255, 255, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 110, 255, 255, 255, 239, 255, 255, 255, 142, 255, 255, 255, 32, 255, 255, 255, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 242, 255, 255, 255, 77, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 66, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 211, 255, 255, 255, 40, 255, 255, 255, 41, 255, 255, 255, 222, 255, 255, 255, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 69, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 249, 255, 255, 255, 78, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 70, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 243, 255, 255, 255, 180, 255, 255, 255, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 241, 255, 255, 255, 77, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 201, 255, 255, 255, 34, 255, 255, 255, 142, 255, 255, 255, 240, 255, 255, 255, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 69, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 212, 255, 255, 255, 111, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 101, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 118, 255, 255, 255, 220, 255, 255, 255, 247, 255, 255, 255, 156, 255, 255, 255, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 244, 255, 255, 255, 72, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 108, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 167, 255, 255, 255, 233, 255, 255, 255, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 242, 255, 255, 255, 77, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 66, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 41, 255, 255, 255, 171, 255, 255, 255, 216, 255, 255, 255, 92, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 239, 255, 255, 255, 78, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 79, 255, 255, 255, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 244, 255, 255, 255, 72, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 108, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 122, 255, 255, 255, 218, 255, 255, 255, 40, 255, 255, 255, 37, 255, 255, 255, 205, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 196, 255, 255, 255, 175, 255, 255, 255, 22, 255, 255, 255, 53, 255, 255, 255, 217, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 144, 255, 255, 255, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 149, 255, 255, 255, 242, 255, 255, 255, 207, 255, 255, 255, 88, 255, 255, 255, 18, 255, 255, 255, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 212, 255, 255, 255, 111, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 101, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 49, 255, 255, 255, 181, 255, 255, 255, 216, 255, 255, 255, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 202, 255, 255, 255, 114, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 114, 255, 255, 255, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 187, 255, 255, 255, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 91, 255, 255, 255, 210, 255, 255, 255, 245, 255, 255, 255, 210, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 196, 255, 255, 255, 175, 255, 255, 255, 22, 255, 255, 255, 53, 255, 255, 255, 217, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 165, 255, 255, 255, 247, 255, 255, 255, 220, 255, 255, 255, 116, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 48, 255, 255, 255, 206, 255, 255, 255, 248, 255, 255, 255, 209, 255, 255, 255, 76, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 136, 255, 255, 255, 19, 255, 255, 255, 88, 255, 255, 255, 211, 255, 255, 255, 244, 255, 255, 255, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 122, 255, 255, 255, 218, 255, 255, 255, 40, 255, 255, 255, 37, 255, 255, 255, 206, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 57, 255, 255, 255, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 99, 255, 255, 255, 220, 255, 255, 255, 42, 255, 255, 255, 42, 255, 255, 255, 221, 255, 255, 255, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 89, 255, 255, 255, 214, 255, 255, 255, 169, 255, 255, 255, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 66, 255, 255, 255, 60, 255, 255, 255, 18, 255, 255, 255, 145, 255, 255, 255, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 48, 255, 255, 255, 206, 255, 255, 255, 248, 255, 255, 255, 209, 255, 255, 255, 76, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 165, 255, 255, 255, 247, 255, 255, 255, 220, 255, 255, 255, 82, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 1, 255, 255, 255, 126, 255, 255, 255, 239, 255, 255, 255, 239, 255, 255, 255, 130, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 91, 255, 255, 255, 211, 255, 255, 255, 152, 255, 255, 255, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 61, 255, 255, 255, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 110, 255, 255, 255, 209, 255, 255, 255, 246, 255, 255, 255, 201, 255, 255, 255, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 6, 255, 255, 255, 177, 255, 255, 255, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 174, 255, 255, 255, 232, 255, 255, 255, 252, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 218, 255, 255, 255, 52, 255, 255, 255, 22, 255, 255, 255, 176, 255, 255, 255, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 92, 255, 255, 255, 215, 255, 255, 255, 171, 255, 255, 255, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 192, 255, 255, 255, 188, 255, 255, 255, 45, 255, 255, 255, 71, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 105, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 72, 255, 255, 255, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 92, 255, 255, 255, 216, 255, 255, 255, 180, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 246, 255, 255, 255, 76, 0, 0, 0, 0, 255, 255, 255, 87, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 147, 255, 255, 255, 255, 255, 255, 255, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 69, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 67, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 190, 255, 255, 255, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 220, 255, 255, 255, 131, 255, 255, 255, 27, 255, 255, 255, 192, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 154, 255, 255, 255, 166, 255, 255, 255, 38, 255, 255, 255, 168, 255, 255, 255, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 244, 255, 255, 255, 72, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 108, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 167, 255, 255, 255, 233, 255, 255, 255, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 179, 255, 255, 255, 104, 255, 255, 255, 85, 255, 255, 255, 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 83, 255, 255, 255, 237, 255, 255, 255, 229, 255, 255, 255, 76, 255, 255, 255, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 110, 255, 255, 255, 239, 255, 255, 255, 142, 255, 255, 255, 32, 255, 255, 255, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 196, 255, 255, 255, 175, 255, 255, 255, 22, 255, 255, 255, 53, 255, 255, 255, 217, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 144, 255, 255, 255, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 67, 255, 255, 255, 253, 255, 255, 255, 240, 255, 255, 255, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 201, 255, 255, 255, 34, 255, 255, 255, 142, 255, 255, 255, 240, 255, 255, 255, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 36, 255, 255, 255, 194, 255, 255, 255, 245, 255, 255, 255, 219, 255, 255, 255, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 255, 255, 255, 231, 255, 255, 255, 146, 255, 255, 255, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 139, 255, 255, 255, 238, 255, 255, 255, 238, 255, 255, 255, 132, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 48, 255, 255, 255, 206, 255, 255, 255, 248, 255, 255, 255, 209, 255, 255, 255, 76, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 174, 255, 255, 255, 73, 255, 255, 255, 181, 255, 255, 255, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 189, 255, 255, 255, 176, 255, 255, 255, 28, 255, 255, 255, 61, 255, 255, 255, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 13, 255, 255, 255, 56, 255, 255, 255, 213, 255, 255, 255, 167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 115, 255, 255, 255, 219, 255, 255, 255, 42, 255, 255, 255, 42, 255, 255, 255, 219, 255, 255, 255, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 139, 255, 255, 255, 238, 255, 255, 255, 238, 255, 255, 255, 132, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 60, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 10, 255, 255, 255, 227, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 114, 255, 255, 255, 217, 255, 255, 255, 246, 255, 255, 255, 165, 255, 255, 255, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 139, 255, 255, 255, 238, 255, 255, 255, 238, 255, 255, 255, 132, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 246, 255, 255, 255, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 91, 255, 255, 255, 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 207, 255, 255, 255, 112, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 113, 255, 255, 255, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 115, 255, 255, 255, 219, 255, 255, 255, 42, 255, 255, 255, 42, 255, 255, 255, 219, 255, 255, 255, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 12, 255, 255, 255, 161, 255, 255, 255, 238, 255, 255, 255, 220, 255, 255, 255, 191, 255, 255, 255, 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 207, 255, 255, 255, 40, 255, 255, 255, 40, 255, 255, 255, 219, 255, 255, 255, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 233, 255, 255, 255, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 115, 255, 255, 255, 219, 255, 255, 255, 42, 255, 255, 255, 42, 255, 255, 255, 219, 255, 255, 255, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 97, 255, 255, 255, 229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 241, 255, 255, 255, 77, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 207, 255, 255, 255, 112, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 113, 255, 255, 255, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 142, 255, 255, 255, 210, 255, 255, 255, 39, 255, 255, 255, 42, 255, 255, 255, 214, 255, 255, 255, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 98, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 113, 255, 255, 255, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 143, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 210, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 207, 255, 255, 255, 112, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 113, 255, 255, 255, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 16, 255, 255, 255, 63, 255, 255, 255, 219, 255, 255, 255, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 239, 255, 255, 255, 78, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 79, 255, 255, 255, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 241, 255, 255, 255, 77, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 224, 255, 255, 255, 98, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 96, 255, 255, 255, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 67, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 210, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 241, 255, 255, 255, 77, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 253, 255, 255, 255, 252, 255, 255, 255, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 255, 255, 255, 223, 255, 255, 255, 132, 255, 255, 255, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 202, 255, 255, 255, 114, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 114, 255, 255, 255, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 233, 255, 255, 255, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 239, 255, 255, 255, 78, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 79, 255, 255, 255, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 247, 255, 255, 255, 73, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 76, 255, 255, 255, 235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 67, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 79, 255, 255, 255, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 91, 255, 255, 255, 210, 255, 255, 255, 245, 255, 255, 255, 210, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 91, 255, 255, 255, 210, 255, 255, 255, 245, 255, 255, 255, 210, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 239, 255, 255, 255, 78, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 79, 255, 255, 255, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 99, 255, 255, 255, 220, 255, 255, 255, 42, 255, 255, 255, 42, 255, 255, 255, 221, 255, 255, 255, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 143, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 202, 255, 255, 255, 114, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 114, 255, 255, 255, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 218, 255, 255, 255, 99, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 109, 255, 255, 255, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 101, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 116, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 66, 255, 255, 255, 60, 255, 255, 255, 18, 255, 255, 255, 145, 255, 255, 255, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 66, 255, 255, 255, 60, 255, 255, 255, 18, 255, 255, 255, 145, 255, 255, 255, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 124, 255, 255, 255, 233, 255, 255, 255, 235, 255, 255, 255, 151, 255, 255, 255, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 202, 255, 255, 255, 114, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 114, 255, 255, 255, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 7, 255, 255, 255, 255, 255, 255, 255, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 1, 255, 255, 255, 126, 255, 255, 255, 239, 255, 255, 255, 239, 255, 255, 255, 130, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 99, 255, 255, 255, 220, 255, 255, 255, 42, 255, 255, 255, 42, 255, 255, 255, 221, 255, 255, 255, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 210, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 128, 255, 255, 255, 213, 255, 255, 255, 40, 255, 255, 255, 40, 255, 255, 255, 217, 255, 255, 255, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 210, 255, 255, 255, 40, 255, 255, 255, 41, 255, 255, 255, 222, 255, 255, 255, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 61, 255, 255, 255, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 61, 255, 255, 255, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 90, 255, 255, 255, 215, 255, 255, 255, 44, 255, 255, 255, 30, 255, 255, 255, 196, 255, 255, 255, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 99, 255, 255, 255, 220, 255, 255, 255, 42, 255, 255, 255, 42, 255, 255, 255, 221, 255, 255, 255, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 90, 255, 255, 255, 210, 255, 255, 255, 39, 255, 255, 255, 36, 255, 255, 255, 36, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 139, 255, 255, 255, 238, 255, 255, 255, 238, 255, 255, 255, 132, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 1, 255, 255, 255, 126, 255, 255, 255, 239, 255, 255, 255, 239, 255, 255, 255, 130, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 7, 255, 255, 255, 142, 255, 255, 255, 231, 255, 255, 255, 239, 255, 255, 255, 137, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 251, 255, 255, 255, 75, 255, 255, 255, 220, 255, 255, 255, 247, 255, 255, 255, 156, 255, 255, 255, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 174, 255, 255, 255, 232, 255, 255, 255, 252, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 174, 255, 255, 255, 232, 255, 255, 255, 252, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 199, 255, 255, 255, 99, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 1, 255, 255, 255, 126, 255, 255, 255, 239, 255, 255, 255, 239, 255, 255, 255, 130, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 115, 255, 255, 255, 219, 255, 255, 255, 42, 255, 255, 255, 42, 255, 255, 255, 219, 255, 255, 255, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 139, 255, 255, 255, 238, 255, 255, 255, 238, 255, 255, 255, 132, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 192, 255, 255, 255, 188, 255, 255, 255, 45, 255, 255, 255, 71, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 192, 255, 255, 255, 188, 255, 255, 255, 45, 255, 255, 255, 71, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 238, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 207, 255, 255, 255, 112, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 113, 255, 255, 255, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 115, 255, 255, 255, 219, 255, 255, 255, 42, 255, 255, 255, 42, 255, 255, 255, 219, 255, 255, 255, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 246, 255, 255, 255, 76, 0, 0, 0, 0, 255, 255, 255, 87, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 246, 255, 255, 255, 76, 0, 0, 0, 0, 255, 255, 255, 87, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 240, 255, 255, 255, 87, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 241, 255, 255, 255, 77, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 207, 255, 255, 255, 112, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 113, 255, 255, 255, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 220, 255, 255, 255, 131, 255, 255, 255, 27, 255, 255, 255, 192, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 220, 255, 255, 255, 131, 255, 255, 255, 27, 255, 255, 255, 192, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 201, 255, 255, 255, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 133, 255, 255, 255, 224, 255, 255, 255, 244, 255, 255, 255, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 239, 255, 255, 255, 78, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 79, 255, 255, 255, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 241, 255, 255, 255, 77, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 77, 255, 255, 255, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 83, 255, 255, 255, 237, 255, 255, 255, 229, 255, 255, 255, 76, 255, 255, 255, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 83, 255, 255, 255, 237, 255, 255, 255, 229, 255, 255, 255, 76, 255, 255, 255, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 239, 255, 255, 255, 83, 255, 255, 255, 29, 255, 255, 255, 54, 255, 255, 255, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 112, 255, 255, 255, 233, 255, 255, 255, 71, 255, 255, 255, 35, 255, 255, 255, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 202, 255, 255, 255, 114, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 114, 255, 255, 255, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 239, 255, 255, 255, 78, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 79, 255, 255, 255, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 167, 255, 255, 255, 233, 255, 255, 255, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 88, 255, 255, 255, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 71, 255, 255, 255, 201, 255, 255, 255, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 100, 255, 255, 255, 225, 255, 255, 255, 252, 255, 255, 255, 228, 255, 255, 255, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 147, 255, 255, 255, 255, 255, 255, 255, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 148, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 148, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 209, 255, 255, 255, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 99, 255, 255, 255, 220, 255, 255, 255, 42, 255, 255, 255, 42, 255, 255, 255, 221, 255, 255, 255, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 202, 255, 255, 255, 114, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 114, 255, 255, 255, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 144, 255, 255, 255, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 90, 255, 255, 255, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 234, 255, 255, 255, 131, 255, 255, 255, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 154, 255, 255, 255, 166, 255, 255, 255, 38, 255, 255, 255, 168, 255, 255, 255, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 61, 255, 255, 255, 156, 0, 0, 0, 0, 255, 255, 255, 58, 255, 255, 255, 155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 157, 255, 255, 255, 60, 0, 0, 0, 0, 255, 255, 255, 156, 255, 255, 255, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 247, 255, 255, 255, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 1, 255, 255, 255, 126, 255, 255, 255, 239, 255, 255, 255, 239, 255, 255, 255, 130, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 99, 255, 255, 255, 220, 255, 255, 255, 42, 255, 255, 255, 42, 255, 255, 255, 221, 255, 255, 255, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 180, 255, 255, 255, 52, 0, 0, 0, 0, 255, 255, 255, 180, 255, 255, 255, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 52, 255, 255, 255, 180, 0, 0, 0, 0, 255, 255, 255, 52, 255, 255, 255, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 249, 255, 255, 255, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 1, 255, 255, 255, 126, 255, 255, 255, 239, 255, 255, 255, 239, 255, 255, 255, 130, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 91, 255, 255, 255, 210, 255, 255, 255, 245, 255, 255, 255, 210, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 51, 255, 255, 255, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 124, 255, 255, 255, 233, 255, 255, 255, 235, 255, 255, 255, 151, 255, 255, 255, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 52, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 52, 255, 255, 255, 183, 0, 0, 0, 0, 255, 255, 255, 52, 255, 255, 255, 183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 66, 255, 255, 255, 60, 255, 255, 255, 18, 255, 255, 255, 145, 255, 255, 255, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 127, 255, 255, 255, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 10, 255, 255, 255, 95, 255, 255, 255, 251, 255, 255, 255, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 90, 255, 255, 255, 215, 255, 255, 255, 44, 255, 255, 255, 30, 255, 255, 255, 196, 255, 255, 255, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 63, 255, 255, 255, 156, 0, 0, 0, 0, 255, 255, 255, 61, 255, 255, 255, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 157, 255, 255, 255, 62, 0, 0, 0, 0, 255, 255, 255, 156, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 116, 255, 255, 255, 230, 255, 255, 255, 67, 255, 255, 255, 36, 255, 255, 255, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 61, 255, 255, 255, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 43, 255, 255, 255, 248, 255, 255, 255, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 237, 255, 255, 255, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 210, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 2, 255, 255, 255, 133, 255, 255, 255, 224, 255, 255, 255, 244, 255, 255, 255, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 199, 255, 255, 255, 99, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 84, 255, 255, 255, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 149, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 148, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 139, 255, 255, 255, 228, 255, 255, 255, 246, 255, 255, 255, 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 174, 255, 255, 255, 232, 255, 255, 255, 252, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 176, 255, 255, 255, 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 117, 255, 255, 255, 238, 255, 255, 255, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 112, 255, 255, 255, 233, 255, 255, 255, 71, 255, 255, 255, 35, 255, 255, 255, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 238, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 247, 255, 255, 255, 79, 0, 0, 0, 0, 255, 255, 255, 247, 255, 255, 255, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 126, 255, 255, 255, 216, 255, 255, 255, 225, 255, 255, 255, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 192, 255, 255, 255, 188, 255, 255, 255, 45, 255, 255, 255, 71, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 241, 255, 255, 255, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 4, 255, 255, 255, 255, 255, 255, 255, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 56, 255, 255, 255, 229, 255, 255, 255, 255, 255, 255, 255, 230, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 209, 255, 255, 255, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 240, 255, 255, 255, 87, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 229, 255, 255, 255, 61, 0, 0, 0, 0, 255, 255, 255, 229, 255, 255, 255, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 57, 255, 255, 255, 9, 255, 255, 255, 16, 255, 255, 255, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 111, 255, 255, 255, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 91, 255, 255, 255, 210, 255, 255, 255, 245, 255, 255, 255, 210, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 246, 255, 255, 255, 76, 0, 0, 0, 0, 255, 255, 255, 87, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 244, 255, 255, 255, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 247, 255, 255, 255, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 201, 255, 255, 255, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 211, 255, 255, 255, 43, 0, 0, 0, 0, 255, 255, 255, 211, 255, 255, 255, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 71, 255, 255, 255, 183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 6, 255, 255, 255, 225, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 66, 255, 255, 255, 60, 255, 255, 255, 18, 255, 255, 255, 145, 255, 255, 255, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 220, 255, 255, 255, 131, 255, 255, 255, 27, 255, 255, 255, 192, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 187, 255, 255, 255, 172, 255, 255, 255, 36, 255, 255, 255, 65, 255, 255, 255, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 249, 255, 255, 255, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 86, 255, 255, 255, 239, 255, 255, 255, 83, 255, 255, 255, 29, 255, 255, 255, 54, 255, 255, 255, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 193, 255, 255, 255, 25, 0, 0, 0, 0, 255, 255, 255, 193, 255, 255, 255, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 57, 255, 255, 255, 191, 255, 255, 255, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 196, 255, 255, 255, 255, 255, 255, 255, 234, 255, 255, 255, 228, 255, 255, 255, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 61, 255, 255, 255, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 83, 255, 255, 255, 237, 255, 255, 255, 229, 255, 255, 255, 76, 255, 255, 255, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 34, 255, 255, 255, 190, 255, 255, 255, 245, 255, 255, 255, 221, 255, 255, 255, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 216, 255, 255, 255, 143, 255, 255, 255, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 100, 255, 255, 255, 225, 255, 255, 255, 252, 255, 255, 255, 228, 255, 255, 255, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 56, 255, 255, 255, 229, 255, 255, 255, 255, 255, 255, 255, 230, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 66, 255, 255, 255, 169, 255, 255, 255, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 174, 255, 255, 255, 232, 255, 255, 255, 252, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 51, 255, 255, 255, 192, 255, 255, 255, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 116, 255, 255, 255, 230, 255, 255, 255, 67, 255, 255, 255, 36, 255, 255, 255, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 247, 255, 255, 255, 219, 255, 255, 255, 216, 255, 255, 255, 216, 255, 255, 255, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 192, 255, 255, 255, 188, 255, 255, 255, 45, 255, 255, 255, 71, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 139, 255, 255, 255, 228, 255, 255, 255, 246, 255, 255, 255, 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 246, 255, 255, 255, 76, 0, 0, 0, 0, 255, 255, 255, 87, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 170, 255, 255, 255, 174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 220, 255, 255, 255, 131, 255, 255, 255, 27, 255, 255, 255, 192, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 21, 255, 255, 255, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 167, 255, 255, 255, 233, 255, 255, 255, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 254, 255, 255, 255, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 83, 255, 255, 255, 237, 255, 255, 255, 229, 255, 255, 255, 76, 255, 255, 255, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 195, 255, 255, 255, 202, 255, 255, 255, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 147, 255, 255, 255, 255, 255, 255, 255, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 144, 255, 255, 255, 194, 255, 255, 255, 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 144, 255, 255, 255, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 217, 255, 255, 255, 142, 255, 255, 255, 14, 255, 255, 255, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 167, 255, 255, 255, 233, 255, 255, 255, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 244, 255, 255, 255, 200, 255, 255, 255, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 56, 255, 255, 255, 228, 255, 255, 255, 255, 255, 255, 255, 229, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 154, 255, 255, 255, 166, 255, 255, 255, 38, 255, 255, 255, 168, 255, 255, 255, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 202, 0, 0, 0, 0, 255, 255, 255, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 233, 255, 255, 255, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 63, 255, 255, 255, 216, 255, 255, 255, 251, 255, 255, 255, 229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 144, 255, 255, 255, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 17, 255, 255, 255, 133, 255, 255, 255, 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 147, 255, 255, 255, 193, 255, 255, 255, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 143, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 64, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 56, 255, 255, 255, 229, 255, 255, 255, 255, 255, 255, 255, 230, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 64, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 91, 255, 255, 255, 210, 255, 255, 255, 245, 255, 255, 255, 210, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 56, 255, 255, 255, 228, 255, 255, 255, 255, 255, 255, 255, 229, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 251, 255, 255, 255, 95, 255, 255, 255, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 73, 255, 255, 255, 218, 255, 255, 255, 249, 255, 255, 255, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 66, 255, 255, 255, 60, 255, 255, 255, 18, 255, 255, 255, 145, 255, 255, 255, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 210, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 79, 255, 255, 255, 238, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 226, 255, 255, 255, 127, 255, 255, 255, 15, 255, 255, 255, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 61, 255, 255, 255, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 147, 255, 255, 255, 255, 255, 255, 255, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 129, 255, 255, 255, 217, 255, 255, 255, 245, 255, 255, 255, 195, 255, 255, 255, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 18, 255, 255, 255, 238, 255, 255, 255, 117, 255, 255, 255, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 40, 255, 255, 255, 40, 255, 255, 255, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 254, 255, 255, 255, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 174, 255, 255, 255, 232, 255, 255, 255, 252, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 154, 255, 255, 255, 166, 255, 255, 255, 38, 255, 255, 255, 168, 255, 255, 255, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 109, 255, 255, 255, 68, 255, 255, 255, 36, 255, 255, 255, 158, 255, 255, 255, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 61, 255, 255, 255, 255, 255, 255, 255, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 181, 255, 255, 255, 255, 255, 255, 255, 234, 255, 255, 255, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 192, 255, 255, 255, 188, 255, 255, 255, 45, 255, 255, 255, 71, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 52, 255, 255, 255, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 64, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 246, 255, 255, 255, 76, 0, 0, 0, 0, 255, 255, 255, 87, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 159, 255, 255, 255, 198, 255, 255, 255, 207, 255, 255, 255, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 69, 255, 255, 255, 198, 255, 255, 255, 197, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 105, 255, 255, 255, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 10, 255, 255, 255, 255, 255, 255, 255, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 65, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 220, 255, 255, 255, 131, 255, 255, 255, 27, 255, 255, 255, 192, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 5, 0, 0, 0, 0, 255, 255, 255, 4, 255, 255, 255, 229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 208, 255, 255, 255, 17, 255, 255, 255, 19, 255, 255, 255, 204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 45, 255, 255, 255, 242, 255, 255, 255, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 22, 255, 255, 255, 16, 255, 255, 255, 127, 255, 255, 255, 229, 255, 255, 255, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 18, 255, 255, 255, 146, 255, 255, 255, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 83, 255, 255, 255, 237, 255, 255, 255, 229, 255, 255, 255, 76, 255, 255, 255, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 105, 255, 255, 255, 201, 255, 255, 255, 193, 255, 255, 255, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 224, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 200, 255, 255, 255, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 241, 255, 255, 255, 244, 255, 255, 255, 194, 255, 255, 255, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 243, 255, 255, 255, 191, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 233, 255, 255, 255, 8, 255, 255, 255, 16, 255, 255, 255, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 207, 255, 255, 255, 18, 255, 255, 255, 20, 255, 255, 255, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 255, 255, 255, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 56, 255, 255, 255, 228, 255, 255, 255, 255, 255, 255, 255, 229, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 149, 255, 255, 255, 202, 255, 255, 255, 179, 255, 255, 255, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 65, 255, 255, 255, 198, 255, 255, 255, 198, 255, 255, 255, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 218, 255, 255, 255, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 233, 255, 255, 255, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 219, 255, 255, 255, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 143, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 147, 255, 255, 255, 255, 255, 255, 255, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 90, 255, 255, 255, 252, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 102, 255, 255, 255, 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 170, 255, 255, 255, 174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 154, 255, 255, 255, 166, 255, 255, 255, 38, 255, 255, 255, 168, 255, 255, 255, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 95, 255, 255, 255, 220, 255, 255, 255, 249, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 73, 255, 255, 255, 8, 255, 255, 255, 8, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 13, 255, 255, 255, 239, 255, 255, 255, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 225, 255, 255, 255, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 225, 255, 255, 255, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 21, 255, 255, 255, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 56, 255, 255, 255, 229, 255, 255, 255, 255, 255, 255, 255, 230, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 167, 255, 255, 255, 233, 255, 255, 255, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 233, 255, 255, 255, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 166, 255, 255, 255, 35, 255, 255, 255, 251, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 145, 255, 255, 255, 223, 255, 255, 255, 219, 255, 255, 255, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 102, 255, 255, 255, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 225, 255, 255, 255, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 225, 255, 255, 255, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 195, 255, 255, 255, 202, 255, 255, 255, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 56, 255, 255, 255, 229, 255, 255, 255, 255, 255, 255, 255, 230, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 144, 255, 255, 255, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 143, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 40, 255, 255, 255, 3, 255, 255, 255, 44, 255, 255, 255, 227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 176, 255, 255, 255, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 167, 255, 255, 255, 233, 255, 255, 255, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 193, 255, 255, 255, 235, 255, 255, 255, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 226, 255, 255, 255, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 3, 255, 255, 255, 144, 255, 255, 255, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 25, 255, 255, 255, 237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 46, 255, 255, 255, 208, 255, 255, 255, 235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 247, 255, 255, 255, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 29, 0, 0, 0, 0, 255, 255, 255, 41, 255, 255, 255, 227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 210, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 207, 255, 255, 255, 83, 255, 255, 255, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 201, 255, 255, 255, 219, 255, 255, 255, 211, 255, 255, 255, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 73, 255, 255, 255, 225, 255, 255, 255, 223, 255, 255, 255, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 214, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 229, 255, 255, 255, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 247, 255, 255, 255, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 226, 255, 255, 255, 61, 255, 255, 255, 40, 255, 255, 255, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 210, 255, 255, 255, 48, 255, 255, 255, 50, 255, 255, 255, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 181, 255, 255, 255, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 229, 255, 255, 255, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 228, 255, 255, 255, 57, 255, 255, 255, 36, 255, 255, 255, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 109, 255, 255, 255, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 211, 255, 255, 255, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 216, 255, 255, 255, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 75, 255, 255, 255, 225, 255, 255, 255, 223, 255, 255, 255, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 16, 255, 255, 255, 242, 255, 255, 255, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 193, 255, 255, 255, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 219, 255, 255, 255, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 56, 255, 255, 255, 228, 255, 255, 255, 255, 255, 255, 255, 229, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 205, 255, 255, 255, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 105, 255, 255, 255, 184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 56, 255, 255, 255, 228, 255, 255, 255, 255, 255, 255, 255, 229, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 206, 255, 255, 255, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 241, 255, 255, 255, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 19, 255, 255, 255, 64, 255, 255, 255, 253, 255, 255, 255, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 243, 255, 255, 255, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 186, 255, 255, 255, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 241, 255, 255, 255, 236, 255, 255, 255, 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 245, 255, 255, 255, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 70, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 56, 255, 255, 255, 239, 255, 255, 255, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 247, 255, 255, 255, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 20, 255, 255, 255, 233, 255, 255, 255, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 64, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 217, 255, 255, 255, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 70, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 249, 255, 255, 255, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 183, 255, 255, 255, 143, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 19, 255, 255, 255, 161, 255, 255, 255, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 64, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 150, 255, 255, 255, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 208, 255, 255, 255, 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 251, 255, 255, 255, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 40, 255, 255, 255, 40, 255, 255, 255, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 168, 255, 255, 255, 91, 255, 255, 255, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 64, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 102, 255, 255, 255, 222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 206, 255, 255, 255, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 253, 255, 255, 255, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 64, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 82, 255, 255, 255, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 205, 255, 255, 255, 204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 136, 255, 255, 255, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 64, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 80, 255, 255, 255, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 206, 255, 255, 255, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 179, 255, 255, 255, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 64, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 100, 255, 255, 255, 226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 228, 255, 255, 255, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 64, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 147, 255, 255, 255, 178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 208, 255, 255, 255, 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 64, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 213, 255, 255, 255, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 253, 255, 255, 255, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 206, 255, 255, 255, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 205, 255, 255, 255, 204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 8, 255, 255, 255, 70, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 52, 255, 255, 255, 242, 255, 255, 255, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 251, 255, 255, 255, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 206, 255, 255, 255, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 182, 255, 255, 255, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 70, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 248, 255, 255, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 246, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 244, 255, 255, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 241, 255, 255, 255, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 136, 255, 255, 255, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 179, 255, 255, 255, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 218, 255, 255, 255, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 228, 255, 255, 255, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 219, 255, 255, 255, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "RGBA8", +"height": 256, +"mipmaps": false, +"width": 128 +} + +[sub_resource type="ImageTexture" id=5] +image = SubResource( 4 ) +size = Vector2( 128, 256 ) + +[sub_resource type="BitmapFont" id=6] +textures = [ SubResource( 5 ) ] +chars = PoolIntArray( 32, 0, 0, 0, 0, 0, 0, 11, 4, 160, 0, 1734439808, 0, 0, 0, 0, 11, 4, 96, 0, 2, 216, 3, 2, 3, 0, 8, 192, 0, 32, 16, 11, 13, -1, -2, 9, 224, 0, 85, 180, 5, 11, 1, 0, 7, 64, 0, 72, 34, 10, 11, 1, 1, 12, 97, 0, 76, 188, 5, 8, 1, 3, 7, 65, 0, 2, 16, 11, 10, -1, 1, 9, 161, 0, 2, 222, 2, 11, 1, 3, 4, 193, 0, 17, 16, 11, 13, -1, -2, 9, 225, 0, 112, 169, 5, 11, 1, 0, 7, 33, 0, 65, 234, 2, 10, 1, 1, 4, 34, 0, 49, 187, 5, 4, 1, 1, 6, 162, 0, 12, 136, 6, 10, 1, 1, 8, 66, 0, 46, 109, 7, 10, 1, 1, 9, 194, 0, 113, 2, 11, 13, -1, -2, 9, 226, 0, 72, 143, 6, 11, 1, 0, 7, 98, 0, 102, 165, 6, 11, 1, 0, 8, 99, 0, 40, 179, 5, 8, 1, 3, 7, 67, 0, 68, 115, 7, 10, 1, 1, 8, 227, 0, 2, 155, 6, 12, 1, -1, 7, 195, 0, 53, 2, 11, 14, -1, -3, 9, 163, 0, 22, 167, 6, 10, 1, 1, 8, 35, 0, 78, 66, 8, 10, 0, 1, 9, 164, 0, 14, 79, 8, 7, 0, 3, 8, 68, 0, 90, 66, 8, 10, 1, 1, 10, 100, 0, 82, 150, 6, 11, 1, 0, 8, 36, 0, 102, 137, 6, 12, 1, 0, 8, 196, 0, 98, 2, 11, 13, -1, -2, 9, 228, 0, 121, 169, 5, 11, 1, 0, 7, 101, 0, 32, 124, 6, 8, 1, 3, 8, 197, 0, 83, 2, 11, 12, -1, -1, 9, 229, 0, 20, 196, 5, 12, 1, -1, 7, 165, 0, 79, 98, 7, 10, 0, 1, 8, 69, 0, 29, 191, 5, 10, 1, 1, 7, 37, 0, 2, 30, 10, 10, 1, 1, 12, 230, 0, 58, 34, 10, 8, 1, 3, 12, 102, 0, 2, 201, 5, 11, 0, 0, 4, 166, 0, 95, 228, 2, 14, 3, 0, 7, 198, 0, 21, 2, 12, 10, -1, 1, 12, 70, 0, 101, 105, 6, 10, 1, 1, 7, 38, 0, 67, 49, 9, 10, 1, 1, 10, 39, 0, 119, 219, 2, 4, 1, 1, 3, 167, 0, 112, 131, 6, 11, 0, 0, 7, 103, 0, 13, 107, 7, 11, 1, 3, 7, 199, 0, 57, 97, 7, 13, 1, 1, 8, 231, 0, 2, 186, 5, 11, 1, 3, 7, 71, 0, 66, 65, 8, 10, 1, 1, 10, 168, 0, 77, 217, 4, 2, 2, 0, 8, 104, 0, 72, 158, 6, 11, 1, 0, 8, 40, 0, 93, 212, 4, 12, 1, 1, 4, 200, 0, 47, 195, 5, 13, 1, -2, 7, 232, 0, 62, 143, 6, 11, 1, 0, 8, 72, 0, 54, 65, 8, 10, 1, 1, 10, 105, 0, 109, 213, 3, 11, 0, 0, 4, 41, 0, 51, 226, 3, 12, 0, 1, 4, 201, 0, 56, 197, 5, 13, 1, -2, 7, 233, 0, 52, 142, 6, 11, 1, 0, 8, 169, 0, 44, 34, 10, 10, 1, 1, 12, 73, 0, 38, 191, 5, 10, 0, 1, 5, 170, 0, 29, 205, 4, 5, 0, 1, 5, 42, 0, 108, 80, 7, 6, 0, 0, 8, 202, 0, 65, 202, 5, 13, 1, -2, 7, 74, 0, 92, 195, 5, 13, -2, 1, 3, 106, 0, 101, 213, 4, 14, -1, 0, 4, 234, 0, 12, 181, 6, 11, 1, 0, 8, 171, 0, 22, 181, 5, 6, 1, 4, 7, 43, 0, 101, 94, 7, 7, 0, 3, 8, 107, 0, 112, 92, 7, 11, 1, 0, 7, 203, 0, 83, 200, 5, 13, 1, -2, 7, 235, 0, 2, 171, 6, 11, 1, 0, 8, 75, 0, 102, 66, 8, 10, 1, 1, 8, 44, 0, 107, 231, 2, 3, 1, 9, 4, 172, 0, 2, 104, 7, 4, 0, 6, 8, 108, 0, 113, 228, 2, 11, 1, 0, 4, 204, 0, 101, 196, 5, 13, 0, -2, 5, 236, 0, 30, 214, 3, 11, 0, 0, 4, 76, 0, 22, 124, 6, 10, 1, 1, 7, 173, 0, 16, 229, 3, 2, 1, 7, 5, 45, 0, 123, 201, 3, 2, 1, 7, 5, 109, 0, 68, 2, 11, 8, 1, 3, 13, 205, 0, 11, 211, 5, 13, 0, -2, 5, 237, 0, 37, 214, 3, 11, 1, 0, 4, 77, 0, 62, 20, 10, 10, 1, 1, 12, 46, 0, 101, 231, 2, 2, 1, 9, 4, 110, 0, 111, 107, 6, 8, 1, 3, 8, 206, 0, 20, 212, 5, 13, 0, -2, 5, 238, 0, 11, 196, 5, 11, -1, 0, 4, 174, 0, 30, 33, 10, 10, 1, 1, 12, 78, 0, 2, 79, 8, 10, 1, 1, 10, 175, 0, 35, 111, 7, 1, 0, -1, 7, 111, 0, 102, 153, 6, 8, 1, 3, 8, 207, 0, 119, 184, 5, 13, 0, -2, 5, 239, 0, 69, 219, 4, 11, 0, 0, 4, 79, 0, 41, 66, 9, 10, 1, 1, 11, 47, 0, 90, 105, 7, 10, -1, 1, 5, 176, 0, 61, 219, 4, 4, 1, 1, 6, 112, 0, 32, 150, 6, 11, 1, 3, 8, 240, 0, 82, 165, 6, 11, 1, 0, 8, 208, 0, 86, 33, 9, 10, 0, 1, 10, 80, 0, 52, 128, 6, 10, 1, 1, 8, 48, 0, 42, 135, 6, 10, 1, 1, 8, 177, 0, 46, 97, 7, 8, 0, 3, 8, 113, 0, 22, 152, 6, 11, 1, 3, 8, 241, 0, 2, 112, 6, 12, 1, -1, 8, 81, 0, 15, 59, 9, 13, 1, 1, 11, 209, 0, 74, 80, 8, 14, 1, -3, 10, 49, 0, 45, 212, 4, 10, 2, 1, 8, 178, 0, 58, 187, 5, 6, 0, 1, 5, 114, 0, 85, 217, 4, 8, 1, 3, 5, 210, 0, 2, 62, 9, 13, 1, -2, 11, 242, 0, 62, 165, 6, 11, 1, 0, 8, 82, 0, 35, 97, 7, 10, 1, 1, 8, 50, 0, 57, 114, 7, 10, 1, 1, 8, 179, 0, 53, 214, 4, 6, 0, 1, 5, 115, 0, 112, 146, 6, 8, 0, 3, 7, 211, 0, 106, 49, 9, 13, 1, -2, 11, 243, 0, 52, 172, 6, 11, 1, 0, 8, 83, 0, 24, 96, 7, 10, 0, 1, 7, 51, 0, 22, 138, 6, 10, 1, 1, 8, 180, 0, 9, 228, 3, 2, 3, 0, 8, 116, 0, 67, 188, 5, 10, 0, 1, 5, 212, 0, 93, 49, 9, 13, 1, -2, 11, 244, 0, 42, 164, 6, 11, 1, 0, 8, 84, 0, 13, 93, 7, 10, 0, 1, 7, 52, 0, 24, 110, 7, 10, 1, 1, 8, 245, 0, 12, 165, 6, 12, 1, -1, 8, 181, 0, 2, 140, 6, 11, 1, 3, 8, 117, 0, 42, 123, 6, 8, 1, 3, 8, 53, 0, 92, 119, 6, 10, 1, 1, 8, 85, 0, 114, 66, 8, 10, 1, 1, 10, 213, 0, 2, 44, 9, 14, 1, -3, 11, 118, 0, 15, 47, 9, 8, -1, 3, 7, 182, 0, 68, 98, 7, 13, 1, 0, 9, 214, 0, 80, 49, 9, 13, 1, -2, 11, 246, 0, 72, 173, 6, 11, 1, 0, 8, 86, 0, 76, 18, 10, 10, -1, 1, 8, 54, 0, 82, 121, 6, 10, 1, 1, 8, 183, 0, 77, 223, 2, 2, 1, 5, 4, 215, 0, 2, 93, 7, 7, 0, 3, 8, 247, 0, 90, 94, 7, 7, 0, 3, 8, 119, 0, 37, 2, 12, 8, -1, 3, 10, 87, 0, 2, 2, 15, 10, -1, 1, 13, 55, 0, 72, 129, 6, 10, 1, 1, 8, 184, 0, 116, 212, 3, 3, 0, 11, 3, 120, 0, 119, 80, 7, 8, 0, 3, 7, 248, 0, 2, 128, 6, 8, 1, 3, 8, 216, 0, 99, 33, 9, 12, 1, 0, 11, 88, 0, 90, 19, 10, 10, -1, 1, 8, 56, 0, 62, 129, 6, 10, 1, 1, 8, 185, 0, 23, 229, 3, 6, 0, 1, 5, 57, 0, 12, 122, 6, 10, 1, 1, 8, 121, 0, 112, 33, 9, 11, -1, 3, 7, 249, 0, 52, 157, 6, 11, 1, 0, 8, 217, 0, 38, 80, 8, 13, 1, -2, 10, 89, 0, 28, 65, 9, 10, -1, 1, 7, 186, 0, 37, 205, 4, 5, 0, 1, 5, 58, 0, 89, 229, 2, 8, 1, 3, 4, 122, 0, 112, 119, 6, 8, 1, 3, 7, 90, 0, 32, 136, 6, 10, 1, 1, 8, 250, 0, 42, 149, 6, 11, 1, 0, 8, 218, 0, 26, 79, 8, 13, 1, -2, 10, 187, 0, 31, 181, 5, 6, 1, 4, 7, 59, 0, 71, 234, 2, 9, 1, 3, 4, 251, 0, 12, 150, 6, 11, 1, 0, 8, 123, 0, 103, 180, 5, 12, 0, 1, 5, 91, 0, 58, 227, 3, 12, 1, 1, 4, 219, 0, 50, 80, 8, 13, 1, -2, 10, 60, 0, 92, 153, 6, 7, 1, 3, 8, 92, 0, 97, 80, 7, 10, -1, 1, 5, 252, 0, 92, 133, 6, 11, 1, 0, 8, 220, 0, 62, 79, 8, 13, 1, -2, 10, 124, 0, 83, 229, 2, 14, 3, 0, 7, 188, 0, 16, 33, 10, 10, 0, 1, 10, 61, 0, 79, 112, 7, 5, 0, 4, 8, 125, 0, 110, 196, 5, 12, 0, 1, 5, 93, 0, 44, 226, 3, 12, 0, 1, 4, 221, 0, 54, 48, 9, 13, -1, -2, 7, 253, 0, 28, 47, 9, 14, -1, 0, 7, 189, 0, 47, 20, 11, 10, 0, 1, 10, 126, 0, 62, 158, 6, 3, 1, 5, 8, 94, 0, 86, 80, 7, 6, 0, 1, 7, 62, 0, 112, 158, 6, 7, 1, 3, 8, 254, 0, 102, 119, 6, 14, 1, 0, 8, 222, 0, 32, 165, 6, 10, 1, 1, 8, 190, 0, 104, 19, 10, 10, 0, 1, 10, 95, 0, 92, 148, 6, 1, 0, 12, 6, 63, 0, 74, 202, 5, 10, 0, 1, 6, 191, 0, 94, 180, 5, 11, 0, 3, 6, 255, 0, 41, 48, 9, 14, -1, 0, 7, 223, 0, 82, 135, 6, 11, 1, 0, 8 ) +height = 14.0 +ascent = 11.0 + +[node name="PortraitPicker" type="VBoxContainer"] +margin_right = 100.0 +margin_bottom = 30.0 +rect_min_size = Vector2( 0, 30 ) +script = ExtResource( 2 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Node2D" type="Node2D" parent="."] +z_index = 1 + +[node name="PreviewContainer" type="PanelContainer" parent="Node2D"] +visible = false +margin_left = 3.0 +margin_top = 3.0 +margin_right = 254.0 +margin_bottom = 334.0 +grow_horizontal = 0 +custom_styles/panel = SubResource( 3 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="VBox" type="VBoxContainer" parent="Node2D/PreviewContainer"] +margin_left = 10.0 +margin_top = 10.0 +margin_right = 241.0 +margin_bottom = 321.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="Title" type="Button" parent="Node2D/PreviewContainer/VBox"] +margin_right = 231.0 +margin_bottom = 14.0 +custom_fonts/font = SubResource( 6 ) +text = "Preview" +flat = true +align = 0 + +[node name="TextureRect" type="TextureRect" parent="Node2D/PreviewContainer/VBox"] +margin_top = 18.0 +margin_right = 231.0 +margin_bottom = 311.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +expand = true +stretch_mode = 6 + +[node name="HBox" type="HBoxContainer" parent="."] +margin_right = 100.0 +margin_bottom = 30.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="MenuButton" type="MenuButton" parent="HBox"] +margin_right = 100.0 +margin_bottom = 30.0 +custom_styles/hover = ExtResource( 4 ) +custom_styles/pressed = ExtResource( 3 ) +custom_styles/normal = ExtResource( 3 ) +text = "[Portrait]" +icon = ExtResource( 1 ) +flat = false diff --git a/addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/PositionPicker.tscn b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/PositionPicker.tscn new file mode 100644 index 0000000..f9c12fd --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/PositionPicker.tscn @@ -0,0 +1,61 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/EventPart_PositionPicker.gd" type="Script" id=1] +[ext_resource path="res://addons/dialogic/Images/Event Icons/character.svg" type="Texture" id=2] + +[node name="PositionPicker" type="VBoxContainer"] +margin_right = 186.0 +margin_bottom = 30.0 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="HBox" type="HBoxContainer" parent="."] +margin_right = 258.0 +margin_bottom = 30.0 + +[node name="Label" type="Label" parent="HBox"] +margin_top = 8.0 +margin_right = 64.0 +margin_bottom = 22.0 +text = " Position:" + +[node name="PositionsContainer" type="HBoxContainer" parent="HBox"] +margin_left = 68.0 +margin_right = 254.0 +margin_bottom = 30.0 + +[node name="position-0" type="ToolButton" parent="HBox/PositionsContainer"] +self_modulate = Color( 0.596078, 0.596078, 0.596078, 0.396078 ) +margin_right = 34.0 +margin_bottom = 30.0 +icon = ExtResource( 2 ) + +[node name="position-1" type="ToolButton" parent="HBox/PositionsContainer"] +self_modulate = Color( 0.596078, 0.596078, 0.596078, 0.396078 ) +margin_left = 38.0 +margin_right = 72.0 +margin_bottom = 30.0 +icon = ExtResource( 2 ) + +[node name="position-2" type="ToolButton" parent="HBox/PositionsContainer"] +self_modulate = Color( 0.596078, 0.596078, 0.596078, 0.396078 ) +margin_left = 76.0 +margin_right = 110.0 +margin_bottom = 30.0 +icon = ExtResource( 2 ) + +[node name="position-3" type="ToolButton" parent="HBox/PositionsContainer"] +self_modulate = Color( 0.596078, 0.596078, 0.596078, 0.396078 ) +margin_left = 114.0 +margin_right = 148.0 +margin_bottom = 30.0 +icon = ExtResource( 2 ) + +[node name="position-4" type="ToolButton" parent="HBox/PositionsContainer"] +self_modulate = Color( 0.596078, 0.596078, 0.596078, 0.396078 ) +margin_left = 152.0 +margin_right = 186.0 +margin_bottom = 30.0 +icon = ExtResource( 2 ) diff --git a/addons/dialogic/Editor/Events/Parts/ResourcePickers/Condition/ConditionPicker.gd b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Condition/ConditionPicker.gd new file mode 100644 index 0000000..5f0dc5b --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Condition/ConditionPicker.gd @@ -0,0 +1,114 @@ +tool +extends HBoxContainer + +export (bool) var optional := false + +var default_definition_text = 'Select Definition' +var default_condition_text = 'equal to' +onready var Definition = $Values/Definition +onready var Condition = $Values/Condition +onready var Value = $Values/Value +var options = [{ + "text": "equal to", + "condition": "==" + },{ + "text": "different from", + "condition": "!=" + },{ + "text": "greater than", + "condition": ">" + },{ + "text": "greater or equal to", + "condition": ">=" + },{ + "text": "less than", + "condition": "<" + },{ + "text": "less or equal to", + "condition": "<=" + } +] + + +func _ready(): + Definition.get_popup().connect("index_pressed", self, '_on_definition_selected') + Definition.connect("about_to_show", self, "_on_definition_about_to_show") + + Condition.get_popup().connect("index_pressed", self, '_on_condition_selected') + Condition.connect("about_to_show", self, "_on_condition_about_to_show") + + Value.connect("text_changed", self, "_on_value_changed") + + $HasCondition.visible = false + $Values.visible = true + + if optional: + $HasCondition.visible = true + $HasCondition/CheckBox.connect('toggled', self, '_on_toggle_visibility') + $Values.visible = false + + +func _on_toggle_visibility(checkbox_value): + $Values.visible = checkbox_value + if checkbox_value == false: + Definition.text = default_definition_text + Condition.text = default_condition_text + Value.text = '' + get_parent().event_data['definition'] = '' + get_parent().event_data['condition'] = '' + get_parent().event_data['value'] = '' + + +# Definition picker ------------------------------------------------------------ +func set_definition(definition): + if definition != '': + for d in DialogicResources.get_default_definitions()['variables']: + if d['id'] == definition: + Definition.text = d['name'] + else: + Definition.text = default_definition_text + + +func _on_definition_selected(index): + var definition = Definition.get_popup().get_item_metadata(index).get('id', '') + set_definition(definition) + # Set values on the parent + get_parent().event_data['definition'] = definition + + +func _on_definition_about_to_show(): + Definition.get_popup().clear() + var index = 0 + for d in DialogicUtil.get_default_definitions_list(): + if d['type'] == 0: + Definition.get_popup().add_item(d['name']) + Definition.get_popup().set_item_metadata(index, d) + index += 1 + + +# Condition picker ------------------------------------------------------------- +func set_condition(condition): + for o in options: + if o['condition'] == condition: + Condition.text = o['text'] + + +func _on_condition_selected(index): + var condition = Condition.get_popup().get_item_metadata(index).get('condition') + set_condition(condition) + # Set values on the parent + get_parent().event_data['condition'] = condition + + +func _on_condition_about_to_show(): + Condition.get_popup().clear() + var index = 0 + for o in options: + Condition.get_popup().add_item(o['text']) + Condition.get_popup().set_item_metadata(index, o) + index += 1 + +# Value ------------------------------------------------------------------------ +func _on_value_changed(new_text): + # Set values on the parent + get_parent().event_data['value'] = new_text diff --git a/addons/dialogic/Editor/Events/Parts/ResourcePickers/Condition/ConditionPicker.tscn b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Condition/ConditionPicker.tscn new file mode 100644 index 0000000..eaf373b --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Condition/ConditionPicker.tscn @@ -0,0 +1,65 @@ +[gd_scene load_steps=5 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Text/CustomLineEdit.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Condition/ConditionPicker.gd" type="Script" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/MenuButtonHover.tres" type="StyleBox" id=3] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/MenuButtonNormal.tres" type="StyleBox" id=4] + +[node name="ConditionPicker" type="HBoxContainer"] +margin_right = 24.0 +margin_bottom = 24.0 +rect_min_size = Vector2( 0, 30 ) +script = ExtResource( 2 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="HasCondition" type="HBoxContainer" parent="."] +visible = false +margin_right = 122.0 +margin_bottom = 30.0 + +[node name="CheckBox" type="CheckBox" parent="HasCondition"] +margin_right = 122.0 +margin_bottom = 30.0 +text = "Has condition?" + +[node name="Values" type="HBoxContainer" parent="."] +margin_right = 283.0 +margin_bottom = 30.0 + +[node name="Definition" type="MenuButton" parent="Values"] +margin_right = 126.0 +margin_bottom = 30.0 +custom_styles/hover = ExtResource( 3 ) +custom_styles/normal = ExtResource( 4 ) +text = "Select Definition" +flat = false + +[node name="Label" type="Label" parent="Values"] +margin_left = 130.0 +margin_top = 8.0 +margin_right = 141.0 +margin_bottom = 22.0 +text = "is" + +[node name="Condition" type="MenuButton" parent="Values"] +margin_left = 145.0 +margin_right = 217.0 +margin_bottom = 30.0 +custom_styles/hover = ExtResource( 3 ) +custom_styles/normal = ExtResource( 4 ) +text = "equal to" +flat = false + +[node name="Control" type="Control" parent="Values"] +margin_left = 221.0 +margin_right = 231.0 +margin_bottom = 30.0 +rect_min_size = Vector2( 10, 0 ) + +[node name="Value" parent="Values" instance=ExtResource( 1 )] +margin_left = 235.0 +margin_top = 1.0 +margin_right = 283.0 +margin_bottom = 28.0 diff --git a/addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/DefinitionPicker.tscn b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/DefinitionPicker.tscn new file mode 100644 index 0000000..12f5627 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/DefinitionPicker.tscn @@ -0,0 +1,24 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/EventPart_DefinitionPicker.gd" type="Script" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/MenuButtonNormal.tres" type="StyleBox" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/MenuButtonHover.tres" type="StyleBox" id=3] + +[node name="DefinitionPicker" type="VBoxContainer"] +margin_right = 132.0 +margin_bottom = 30.0 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} +default_text = "[Select Definition]" + +[node name="MenuButton" type="MenuButton" parent="."] +margin_right = 132.0 +margin_bottom = 30.0 +rect_min_size = Vector2( 0, 30 ) +size_flags_vertical = 6 +custom_styles/hover = ExtResource( 3 ) +custom_styles/normal = ExtResource( 2 ) +text = "[Select definition]" +flat = false diff --git a/addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/DefinitionPickerOld.gd b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/DefinitionPickerOld.gd new file mode 100644 index 0000000..ac0b106 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/DefinitionPickerOld.gd @@ -0,0 +1,36 @@ +tool +extends MenuButton + +var default_text = '[ Select a definition ]' + +func _ready(): + get_popup().connect("index_pressed", self, '_on_entry_selected') + get_popup().clear() + connect("about_to_show", self, "_on_MenuButton_about_to_show") + + +func _on_MenuButton_about_to_show(): + get_popup().clear() + var index = 0 + for d in DialogicUtil.get_sorted_default_definitions_list(): + if d['type'] == 0: + get_popup().add_item(d['name']) + get_popup().set_item_metadata(index, { + 'id': d['id'], + }) + index += 1 + + +func _on_entry_selected(index): + var _text = get_popup().get_item_text(index) + var metadata = get_popup().get_item_metadata(index) + text = _text + + +func load_definition(id): + if id != '': + for d in DialogicResources.get_default_definitions()['variables']: + if d['id'] == id: + text = d['name'] + else: + text = default_text diff --git a/addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/DefinitionPickerOld.tscn b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/DefinitionPickerOld.tscn new file mode 100644 index 0000000..7d0dad3 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/DefinitionPickerOld.tscn @@ -0,0 +1,25 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/DefinitionPickerOld.gd" type="Script" id=1] + + + + +[node name="DefinitionPicker" type="MenuButton"] +margin_right = 157.0 +margin_bottom = 30.0 +text = "[ Select a definition ]" +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="ColorRect" type="ColorRect" parent="."] +self_modulate = Color( 0.45098, 0.45098, 0.45098, 0.329412 ) +show_behind_parent = true +anchor_right = 1.0 +anchor_bottom = 1.0 +mouse_filter = 2 +__meta__ = { +"_edit_use_anchors_": false +} diff --git a/addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/EventPart_DefinitionPicker.gd b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/EventPart_DefinitionPicker.gd new file mode 100644 index 0000000..889acfb --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/EventPart_DefinitionPicker.gd @@ -0,0 +1,73 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! +export (String) var default_text = "Select Definition" + +## node references +onready var picker_menu = $MenuButton + +# used to connect the signals +func _ready(): + picker_menu.connect("about_to_show", self, "_on_PickerMenu_about_to_show") + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + select_definition_by_id(data['definition']) + +# has to return the wanted preview, only useful for body parts +func get_preview(): + return '' + +func select_definition_by_id(id): + if id != '': + for d in DialogicResources.get_default_definitions()['variables']: + if d['id'] == id: + picker_menu.text = d['name'] + else: + picker_menu.text = default_text + +# when an index is selected on one of the menus. +func _on_PickerMenu_selected(index, menu): + var text = menu.get_item_text(index) + var metadata = menu.get_item_metadata(index) + picker_menu.text = text + + event_data['definition'] = metadata['file'] + # informs the parent about the changes! + data_changed() + +func _on_PickerMenu_about_to_show(): + # Building the picker menu() + picker_menu.get_popup().clear() + ## building the root level + build_PickerMenuFolder(picker_menu.get_popup(), DialogicUtil.get_definitions_folder_structure(), "MenuButton") + +# is called recursively to build all levels of the folder structure +func build_PickerMenuFolder(menu:PopupMenu, folder_structure:Dictionary, current_folder_name:String): + var index = 0 + for folder_name in folder_structure['folders'].keys(): + var submenu = PopupMenu.new() + var submenu_name = build_PickerMenuFolder(submenu, folder_structure['folders'][folder_name], folder_name) + submenu.name = submenu_name + menu.add_submenu_item(folder_name, submenu_name) + menu.set_item_icon(index, get_icon("Folder", "EditorIcons")) + menu.add_child(submenu) + index += 1 + + var files_info = DialogicUtil.get_default_definitions_dict() + for file in folder_structure['files']: + if files_info[file]["type"] == 0: + menu.add_item(files_info[file]['name']) + menu.set_item_icon(index, load("res://addons/dialogic/Images/Resources/definition.svg")) + menu.set_item_metadata(index, {'file':file}) + index += 1 + + if not menu.is_connected("index_pressed", self, "_on_PickerMenu_selected"): + menu.connect("index_pressed", self, '_on_PickerMenu_selected', [menu]) + + return current_folder_name diff --git a/addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/EventPart_GlossaryPicker.gd b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/EventPart_GlossaryPicker.gd new file mode 100644 index 0000000..34fa827 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/EventPart_GlossaryPicker.gd @@ -0,0 +1,77 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! +export (String) var default_text = "Select Glossary Item" + +## node references +onready var picker_menu = $MenuButton + +# used to connect the signals +func _ready(): + picker_menu.connect("about_to_show", self, "_on_PickerMenu_about_to_show") + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + select_glossary_by_id(data['glossary_id']) + +# has to return the wanted preview, only useful for body parts +func get_preview(): + return '' + +func select_glossary_by_id(id): + if id != '': + for d in DialogicResources.get_default_definitions()['glossary']: + if d['id'] == id: + picker_menu.text = d['name'] + else: + picker_menu.text = default_text + +# when an index is selected on one of the menus. +func _on_PickerMenu_selected(index, menu): + event_data['glossary_id'] = menu.get_item_metadata(index).get('file', '') + + select_glossary_by_id(event_data['glossary_id']) + + # informs the parent about the changes! + data_changed() + +func _on_PickerMenu_about_to_show(): + build_PickerMenu() + +func build_PickerMenu(): + picker_menu.get_popup().clear() + var folder_structure = DialogicUtil.get_definitions_folder_structure() + + ## building the root level + build_PickerMenuFolder(picker_menu.get_popup(), folder_structure, "MenuButton") + +# is called recursively to build all levels of the folder structure +func build_PickerMenuFolder(menu:PopupMenu, folder_structure:Dictionary, current_folder_name:String): + var index = 0 + #menu.name = current_folder_name + for folder_name in folder_structure['folders'].keys(): + var submenu = PopupMenu.new() + var submenu_name = build_PickerMenuFolder(submenu, folder_structure['folders'][folder_name], folder_name) + submenu.name = submenu_name + menu.add_submenu_item(folder_name, submenu_name) + menu.set_item_icon(index, get_icon("Folder", "EditorIcons")) + menu.add_child(submenu) + index += 1 + + var files_info = DialogicUtil.get_default_definitions_dict() + for file in folder_structure['files']: + if files_info[file]["type"] == 1: + menu.add_item(files_info[file]['name']) + menu.set_item_icon(index, editor_reference.get_node("MainPanel/MasterTreeContainer/MasterTree").glossary_icon) + menu.set_item_metadata(index, {'file':file}) + index += 1 + + if not menu.is_connected("index_pressed", self, "_on_PickerMenu_selected"): + menu.connect("index_pressed", self, '_on_PickerMenu_selected', [menu]) + + return current_folder_name diff --git a/addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/EventPart_SetGlossary.gd b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/EventPart_SetGlossary.gd new file mode 100644 index 0000000..d28f1ef --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/EventPart_SetGlossary.gd @@ -0,0 +1,128 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! + +## node references +onready var title_input = $Title/Input +onready var title_check = $Title/Check +onready var text_input = $Text/Input +onready var text_check = $Text/Check +onready var extra_input = $Extra/Input +onready var extra_check = $Extra/Check + +# used to connect the signals +func _ready(): + title_input.connect("text_changed", self, "_on_TitleField_text_changed") + text_input.connect("text_changed", self, "_on_TextField_text_changed") + extra_input.connect("text_changed", self, "_on_ExtraField_text_changed") + + title_check.connect("toggled", self, "_on_TitleCheck_toggled") + text_check.connect("toggled", self, "_on_TextCheck_toggled") + extra_check.connect("toggled", self, "_on_ExtraCheck_toggled") + + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + emit_signal("request_set_body_enabled", event_data['glossary_id'] != '') + + $Title.visible = event_data['glossary_id'] != '' + $Text.visible = event_data['glossary_id'] != '' + $Extra.visible = event_data['glossary_id'] != '' + + if event_data['glossary_id']: + var glossary_default + for d in DialogicResources.get_default_definitions()['glossary']: + if d['id'] == event_data['glossary_id']: + glossary_default = d + title_input.placeholder_text = glossary_default['title'] + text_input.placeholder_text = glossary_default['text'] + extra_input.placeholder_text = glossary_default['extra'] + + # Now update the ui nodes to display the data. + if event_data['title'] == "[No Change]": + title_check.pressed = true + title_input.text = "" + else: + title_check.pressed = false + title_input.text = event_data['title'] + if event_data['text'] == "[No Change]": + text_check.pressed = true + text_input.text = "" + else: + text_check.pressed = false + text_input.text = event_data['text'] + if event_data['extra'] == "[No Change]": + extra_check.pressed = true + extra_input.text = "" + else: + extra_check.pressed = false + extra_input.text = event_data['extra'] + + +# has to return the wanted preview, only useful for body parts +func get_preview(): + if event_data['glossary_id']: + var text := "" + if event_data['title'] != "[No Change]": + text += "Changes title to '"+event_data['title']+"'. " + if event_data['extra'] != "[No Change]": + text += "Changes extra to '"+event_data['extra']+"'. " + if event_data['text'] != "[No Change]": + text += "Changes text to '"+event_data['text']+"'. " + return text + return '' + +func _on_TitleField_text_changed(text): + event_data['title'] = text + + # informs the parent about the changes! + data_changed() + +func _on_TextField_text_changed(text): + event_data['text'] = text + + # informs the parent about the changes! + data_changed() + +func _on_ExtraField_text_changed(text): + event_data['extra'] = text + + # informs the parent about the changes! + data_changed() + +func _on_TitleCheck_toggled(toggle): + if toggle: + event_data['title'] = "[No Change]" + title_input.editable = false + else: + event_data['title'] = title_input.text + title_input.editable = true + + # informs the parent about the changes! + data_changed() + +func _on_TextCheck_toggled(toggle): + if toggle: + event_data['text'] = "[No Change]" + text_input.editable = false + else: + event_data['text'] = text_input.text + text_input.editable = true + + # informs the parent about the changes! + data_changed() + +func _on_ExtraCheck_toggled(toggle): + if toggle: + event_data['extra'] = "[No Change]" + extra_input.editable = false + else: + event_data['extra'] = extra_input.text + extra_input.editable = true + + # informs the parent about the changes! + data_changed() diff --git a/addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/GlossaryPicker.tscn b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/GlossaryPicker.tscn new file mode 100644 index 0000000..8d01cb8 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/GlossaryPicker.tscn @@ -0,0 +1,22 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/EventPart_GlossaryPicker.gd" type="Script" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/MenuButtonNormal.tres" type="StyleBox" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/MenuButtonHover.tres" type="StyleBox" id=3] + +[node name="GlossaryPicker" type="VBoxContainer"] +margin_right = 40.0 +margin_bottom = 40.0 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="MenuButton" type="MenuButton" parent="."] +margin_right = 161.0 +margin_bottom = 40.0 +size_flags_vertical = 3 +custom_styles/hover = ExtResource( 3 ) +custom_styles/normal = ExtResource( 2 ) +text = "Select Glossary Item" +flat = false diff --git a/addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/SetGlossary.tscn b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/SetGlossary.tscn new file mode 100644 index 0000000..b4ce3e3 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/SetGlossary.tscn @@ -0,0 +1,86 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Text/CustomLineEdit.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/EventPart_SetGlossary.gd" type="Script" id=3] + +[node name="SetGlossary" type="VBoxContainer"] +margin_right = 40.0 +margin_bottom = 40.0 +script = ExtResource( 3 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Title" type="HBoxContainer" parent="."] +margin_right = 299.0 +margin_bottom = 27.0 +custom_constants/separation = 20 + +[node name="Label" type="Label" parent="Title"] +margin_top = 6.0 +margin_right = 50.0 +margin_bottom = 20.0 +rect_min_size = Vector2( 50, 0 ) +text = "Title:" + +[node name="Input" parent="Title" instance=ExtResource( 1 )] +margin_left = 70.0 +margin_right = 168.0 +margin_bottom = 27.0 +size_flags_horizontal = 3 + +[node name="Check" type="CheckBox" parent="Title"] +margin_left = 188.0 +margin_right = 299.0 +margin_bottom = 27.0 +text = "Don't change" + +[node name="Text" type="HBoxContainer" parent="."] +margin_top = 31.0 +margin_right = 299.0 +margin_bottom = 58.0 +custom_constants/separation = 20 + +[node name="Label" type="Label" parent="Text"] +margin_top = 6.0 +margin_right = 50.0 +margin_bottom = 20.0 +rect_min_size = Vector2( 50, 0 ) +text = "Text:" + +[node name="Input" parent="Text" instance=ExtResource( 1 )] +margin_left = 70.0 +margin_right = 168.0 +margin_bottom = 27.0 +size_flags_horizontal = 3 + +[node name="Check" type="CheckBox" parent="Text"] +margin_left = 188.0 +margin_right = 299.0 +margin_bottom = 27.0 +text = "Don't change" + +[node name="Extra" type="HBoxContainer" parent="."] +margin_top = 62.0 +margin_right = 299.0 +margin_bottom = 89.0 +custom_constants/separation = 20 + +[node name="Label" type="Label" parent="Extra"] +margin_top = 6.0 +margin_right = 50.0 +margin_bottom = 20.0 +rect_min_size = Vector2( 50, 0 ) +text = "Extra:" + +[node name="Input" parent="Extra" instance=ExtResource( 1 )] +margin_left = 70.0 +margin_right = 168.0 +margin_bottom = 27.0 +size_flags_horizontal = 3 + +[node name="Check" type="CheckBox" parent="Extra"] +margin_left = 188.0 +margin_right = 299.0 +margin_bottom = 27.0 +text = "Don't change" diff --git a/addons/dialogic/Editor/Events/Parts/ResourcePickers/Scenes/EventPart_ScenePicker.gd b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Scenes/EventPart_ScenePicker.gd new file mode 100644 index 0000000..1172a8a --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Scenes/EventPart_ScenePicker.gd @@ -0,0 +1,41 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! + +## node references +onready var name_label = $HBox/Name +onready var scene_button = $HBox/ScenePickerButton + + +# used to connect the signals +func _ready(): + scene_button.connect("pressed", self, "_on_ScenePickerButton_pressed") + pass + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + if event_data['change_scene']: + name_label.text = event_data['change_scene'] + else: + name_label.text = "No scene selected (will do nothing)" + +# has to return the wanted preview, only useful for body parts +func get_preview(): + return '' + +func _on_ScenePickerButton_pressed(): + editor_reference.godot_dialog("*.tscn") + editor_reference.godot_dialog_connect(self, "_on_file_selected") + +func _on_file_selected(path, target): + name_label.text = path + event_data['change_scene'] = path + + data_changed() + + diff --git a/addons/dialogic/Editor/Events/Parts/ResourcePickers/Scenes/ScenePicker.tscn b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Scenes/ScenePicker.tscn new file mode 100644 index 0000000..293c332 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Scenes/ScenePicker.tscn @@ -0,0 +1,25 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Scenes/EventPart_ScenePicker.gd" type="Script" id=1] + +[node name="ScenePicker" type="VBoxContainer"] +margin_right = 40.0 +margin_bottom = 40.0 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="HBox" type="HBoxContainer" parent="."] +margin_right = 40.0 +margin_bottom = 20.0 + +[node name="Name" type="Label" parent="HBox"] +margin_top = 3.0 +margin_bottom = 17.0 + +[node name="ScenePickerButton" type="Button" parent="HBox"] +margin_left = 4.0 +margin_right = 28.0 +margin_bottom = 20.0 +text = "..." diff --git a/addons/dialogic/Editor/Events/Parts/ResourcePickers/Themes/EventPart_ThemePicker.gd b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Themes/EventPart_ThemePicker.gd new file mode 100644 index 0000000..68290af --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Themes/EventPart_ThemePicker.gd @@ -0,0 +1,76 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! +export (String) var default_text = "Select Theme" + +## node references +onready var picker_menu = $MenuButton + +# used to connect the signals +func _ready(): + picker_menu.connect("about_to_show", self, "_on_PickerMenu_about_to_show") + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + select_theme() + +# has to return the wanted preview, only useful for body parts +func get_preview(): + return '' + +func select_theme(): + if event_data['set_theme'] != '': + for theme in DialogicUtil.get_theme_list(): + if theme['file'] == event_data['set_theme']: + picker_menu.text = theme['name'] + else: + picker_menu.text = default_text + +# when an index is selected on one of the menus. +func _on_PickerMenu_selected(index, menu): + event_data['set_theme'] = menu.get_item_metadata(index).get('file', '') + + select_theme() + + # informs the parent about the changes! + data_changed() + + +func _on_PickerMenu_about_to_show(): + build_PickerMenu() + +func build_PickerMenu(): + picker_menu.get_popup().clear() + var folder_structure = DialogicUtil.get_theme_folder_structure() + + ## building the root level + build_PickerMenuFolder(picker_menu.get_popup(), folder_structure, "MenuButton") + +# is called recursively to build all levels of the folder structure +func build_PickerMenuFolder(menu:PopupMenu, folder_structure:Dictionary, current_folder_name:String): + var index = 0 + for folder_name in folder_structure['folders'].keys(): + var submenu = PopupMenu.new() + var submenu_name = build_PickerMenuFolder(submenu, folder_structure['folders'][folder_name], folder_name) + submenu.name = submenu_name + menu.add_submenu_item(folder_name, submenu_name) + menu.set_item_icon(index, get_icon("Folder", "EditorIcons")) + menu.add_child(submenu) + index += 1 + + var files_info = DialogicUtil.get_theme_dict() + for file in folder_structure['files']: + menu.add_item(files_info[file]['name']) + menu.set_item_icon(index, editor_reference.get_node("MainPanel/MasterTreeContainer/MasterTree").theme_icon) + menu.set_item_metadata(index, {'file':file}) + index += 1 + + if not menu.is_connected("index_pressed", self, "_on_PickerMenu_selected"): + menu.connect("index_pressed", self, '_on_PickerMenu_selected', [menu]) + + return current_folder_name diff --git a/addons/dialogic/Editor/Events/Parts/ResourcePickers/Themes/ThemePicker.tscn b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Themes/ThemePicker.tscn new file mode 100644 index 0000000..4ff1fd8 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Themes/ThemePicker.tscn @@ -0,0 +1,22 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Themes/EventPart_ThemePicker.gd" type="Script" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/MenuButtonNormal.tres" type="StyleBox" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/MenuButtonHover.tres" type="StyleBox" id=3] + +[node name="ThemePicker" type="VBoxContainer"] +margin_right = 40.0 +margin_bottom = 40.0 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="MenuButton" type="MenuButton" parent="."] +margin_right = 115.0 +margin_bottom = 40.0 +size_flags_vertical = 3 +custom_styles/hover = ExtResource( 3 ) +custom_styles/normal = ExtResource( 2 ) +text = "Select Theme" +flat = false diff --git a/addons/dialogic/Editor/Events/Parts/ResourcePickers/Timelines/EventPart_TimelinePicker.gd b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Timelines/EventPart_TimelinePicker.gd new file mode 100644 index 0000000..33d19f8 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Timelines/EventPart_TimelinePicker.gd @@ -0,0 +1,78 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! + +## node references +onready var picker_menu = $MenuButton + +# used to connect the signals +func _ready(): + picker_menu.connect("about_to_show", self, "_on_PickerMenu_about_to_show") + + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + if event_data['change_timeline'] != '': + for c in DialogicUtil.get_timeline_list(): + if c['file'] == event_data['change_timeline']: + picker_menu.text = c['name'] + else: + picker_menu.text = 'Select Timeline' + + +# has to return the wanted preview, only useful for body parts +func get_preview(): + return '' + + +# when an index is selected on one of the menus. +func _on_PickerMenu_selected(index, menu): + var text = menu.get_item_text(index) + var metadata = menu.get_item_metadata(index) + picker_menu.text = text + event_data['change_timeline'] = metadata['file'] + + # informs the parent about the changes! + data_changed() + + +func _on_PickerMenu_about_to_show(): + build_PickerMenu() + + +func build_PickerMenu(): + picker_menu.get_popup().clear() + var folder_structure = DialogicUtil.get_timelines_folder_structure() + + ## building the root level + build_PickerMenuFolder(picker_menu.get_popup(), folder_structure, "MenuButton") + + +# is called recursively to build all levels of the folder structure +func build_PickerMenuFolder(menu:PopupMenu, folder_structure:Dictionary, current_folder_name:String): + var index = 0 + for folder_name in folder_structure['folders'].keys(): + var submenu = PopupMenu.new() + var submenu_name = build_PickerMenuFolder(submenu, folder_structure['folders'][folder_name], folder_name) + submenu.name = submenu_name + menu.add_submenu_item(folder_name, submenu_name) + menu.set_item_icon(index, get_icon("Folder", "EditorIcons")) + menu.add_child(submenu) + index += 1 + + var files_info = DialogicUtil.get_timeline_dict() + for file in folder_structure['files']: + menu.add_item(files_info[file]['name']) + menu.set_item_icon(index, editor_reference.get_node("MainPanel/MasterTreeContainer/MasterTree").timeline_icon) + menu.set_item_metadata(index, {'file':file}) + index += 1 + + if not menu.is_connected("index_pressed", self, "_on_PickerMenu_selected"): + menu.connect("index_pressed", self, '_on_PickerMenu_selected', [menu]) + + return current_folder_name diff --git a/addons/dialogic/Editor/Events/Parts/ResourcePickers/Timelines/TimelinePicker.tscn b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Timelines/TimelinePicker.tscn new file mode 100644 index 0000000..445563e --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/ResourcePickers/Timelines/TimelinePicker.tscn @@ -0,0 +1,23 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Timelines/EventPart_TimelinePicker.gd" type="Script" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/MenuButtonNormal.tres" type="StyleBox" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/MenuButtonHover.tres" type="StyleBox" id=3] + +[node name="TimelinePicker" type="VBoxContainer"] +margin_right = 119.0 +margin_bottom = 20.0 +size_flags_vertical = 6 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="MenuButton" type="MenuButton" parent="."] +margin_right = 127.0 +margin_bottom = 22.0 +size_flags_vertical = 3 +custom_styles/hover = ExtResource( 3 ) +custom_styles/normal = ExtResource( 2 ) +text = "Select Timeline" +flat = false diff --git a/addons/dialogic/Editor/Events/Parts/SpinBoxPreventDnD.gd b/addons/dialogic/Editor/Events/Parts/SpinBoxPreventDnD.gd new file mode 100644 index 0000000..1f069b8 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/SpinBoxPreventDnD.gd @@ -0,0 +1,8 @@ +tool +extends SpinBox + +func can_drop_data(position, data): + # this prevents locking the mouse + # on some operating systems + # due to a godot editor bug with SpinBox drag/drop + return false diff --git a/addons/dialogic/Editor/Events/Parts/Text/CustomLineEdit.tscn b/addons/dialogic/Editor/Events/Parts/Text/CustomLineEdit.tscn new file mode 100644 index 0000000..a29b1af --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Text/CustomLineEdit.tscn @@ -0,0 +1,32 @@ +[gd_scene load_steps=2 format=2] + +[sub_resource type="StyleBoxFlat" id=1] +bg_color = Color( 0.823529, 0.823529, 0.823529, 1 ) +corner_radius_top_left = 4 +corner_radius_top_right = 4 +corner_radius_bottom_right = 4 +corner_radius_bottom_left = 4 +expand_margin_left = 5.0 +expand_margin_right = 5.0 + +[node name="CustomLineEdit" type="LineEdit"] +margin_right = 48.0 +margin_bottom = 30.0 +rect_min_size = Vector2( 0, 27 ) +size_flags_vertical = 6 +custom_styles/read_only = SubResource( 1 ) +custom_styles/focus = SubResource( 1 ) +custom_styles/normal = SubResource( 1 ) +custom_colors/selection_color = Color( 0.345098, 0.345098, 0.345098, 1 ) +custom_colors/cursor_color = Color( 0, 0, 0, 1 ) +custom_colors/clear_button_color_pressed = Color( 0, 0, 0, 1 ) +custom_colors/font_color_selected = Color( 0, 0, 0, 1 ) +custom_colors/font_color = Color( 0, 0, 0, 1 ) +custom_colors/clear_button_color = Color( 0, 0, 0, 1 ) +custom_colors/font_color_uneditable = Color( 0, 0, 0, 1 ) +expand_to_text_length = true +caret_blink = true +caret_blink_speed = 0.5 +__meta__ = { +"_edit_use_anchors_": false +} diff --git a/addons/dialogic/Editor/Events/Parts/Text/EventPart_SignalArgumentPicker.gd b/addons/dialogic/Editor/Events/Parts/Text/EventPart_SignalArgumentPicker.gd new file mode 100644 index 0000000..ec1f2e6 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Text/EventPart_SignalArgumentPicker.gd @@ -0,0 +1,29 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! + +## node references +onready var input_field = $HBox/InputField + +# used to connect the signals +func _ready(): + input_field.connect("text_changed", self, "_on_InputField_text_changed") + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + input_field.text = event_data['emit_signal'] + +# has to return the wanted preview, only useful for body parts +func get_preview(): + return '' + +func _on_InputField_text_changed(text): + event_data['emit_signal'] = text + + # informs the parent about the changes! + data_changed() diff --git a/addons/dialogic/Editor/Events/Parts/Text/EventPart_TextAndVoicePicker.gd b/addons/dialogic/Editor/Events/Parts/Text/EventPart_TextAndVoicePicker.gd new file mode 100644 index 0000000..f4d1b08 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Text/EventPart_TextAndVoicePicker.gd @@ -0,0 +1,52 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +onready var text_editor = $VBoxContainer/TextEditor +onready var voice_editor = $VBoxContainer/VoiceEditor + + +func _ready() -> void: + text_editor.connect("data_changed", self, "_on_text_editor_data_changed") + voice_editor.connect("data_changed", self, "_on_voice_editor_data_changed") + voice_editor.visible = use_voices() + voice_editor.editor_reference = editor_reference + voice_editor.repopulate() + + +func load_data(data): + .load_data(data) + + text_editor.load_data(data) + voice_editor.visible = use_voices() + voice_editor.load_data(data) + update_voices_lines() + + +func get_preview(): + return text_editor.get_preview() + + +func use_voices(): + var config = DialogicResources.get_settings_config() + return config.get_value('dialog', 'text_event_audio_enable', false) + + +func _on_text_editor_data_changed(data) -> void: + event_data = data + + #udpate the voice picker to check if we repopulate it + update_voices_lines() + # informs the parent + data_changed() + + +func update_voices_lines(): + var text = text_editor.get_child(0).text + voice_editor._on_text_changed(text) + + +func _on_voice_editor_data_changed(data) -> void: + event_data['voice_data'] = data['voice_data'] + voice_editor.visible = use_voices() + # informs the parent + data_changed() diff --git a/addons/dialogic/Editor/Events/Parts/Text/EventPart_TextEditor.gd b/addons/dialogic/Editor/Events/Parts/Text/EventPart_TextEditor.gd new file mode 100644 index 0000000..fd3c897 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Text/EventPart_TextEditor.gd @@ -0,0 +1,92 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + +# has an event_data variable that stores the current data!!! +var text_height = 21 + +## node references +onready var text_editor = $TextEdit + + +# used to connect the signals +func _ready(): + # signals + text_editor.connect("text_changed", self, "_on_TextEditor_text_changed") + text_editor.connect("focus_entered", self, "_on_TextEditor_focus_entered") + + # stylistig setup + text_editor.syntax_highlighting = true + text_editor.add_color_region('[', ']', get_color("axis_z_color", "Editor")) + text_editor.set('custom_colors/number_color', get_color("font_color", "Editor")) + text_editor.set('custom_colors/function_color', get_color("font_color", "Editor")) + text_editor.set('custom_colors/member_variable_color', get_color("font_color", "Editor")) + text_editor.set('custom_colors/symbol_color', get_color("font_color", "Editor")) + + var _scale = get_constant("inspector_margin", "Editor") + _scale = _scale * 0.125 + text_height = text_height * _scale + text_editor.set("rect_min_size", Vector2(0, text_height*2)) + + +# called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + # in case this is a text event + if data['event_id'] == 'dialogic_001': + text_editor.text = event_data['text'] + # in case this is a question event + elif data['event_id'] == 'dialogic_010': + text_editor.text = event_data['question'] + # otherwise + else: + text_editor.text = event_data['text'] + + # resize the text_editor to the correct size + text_editor.rect_min_size.y = text_height * (2 + text_editor.text.count('\n')) + +# has to return the wanted preview, only useful for body parts +func get_preview(): + var max_preview_characters = 35 + var text = '' + if event_data['event_id'] == 'dialogic_001': + text = event_data['text'] + # in case this is a question event + elif event_data['event_id'] == 'dialogic_010': + text = event_data['question'] + # otherwise + else: + text = event_data['text'] + text = text.replace('\n', '[br]') + var preview = text.substr(0, min(max_preview_characters, len(text))) + if (len(text) > max_preview_characters): + preview += "..." + + return preview + +func _on_TextEditor_text_changed(): + # in case this is a text event + if event_data['event_id'] == 'dialogic_001': + event_data['text'] = text_editor.text + # in case this is a question event + elif event_data['event_id'] == 'dialogic_010': + event_data['question'] = text_editor.text + # otherwise + else: + event_data['text'] = text_editor.text + text_editor.rect_min_size.y = text_height * (2 + text_editor.text.count('\n')) + + # informs the parent about the changes! + data_changed() + +func _on_TextEditor_focus_entered() -> void: + if (Input.is_mouse_button_pressed(BUTTON_LEFT)): + emit_signal("request_selection") + + +func _on_TextEdit_focus_exited(): + # Remove text selection to visually notify the user that the text will not + # be copied if they use a hotkey like CTRL + C + $TextEdit.deselect() diff --git a/addons/dialogic/Editor/Events/Parts/Text/SignalArgumentPicker.tscn b/addons/dialogic/Editor/Events/Parts/Text/SignalArgumentPicker.tscn new file mode 100644 index 0000000..355e7d4 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Text/SignalArgumentPicker.tscn @@ -0,0 +1,33 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Text/CustomLineEdit.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Text/EventPart_SignalArgumentPicker.gd" type="Script" id=2] + +[node name="SignalArgumentPicker" type="VBoxContainer"] +margin_right = 40.0 +margin_bottom = 40.0 +size_flags_vertical = 6 +script = ExtResource( 2 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="HBox" type="HBoxContainer" parent="."] +margin_top = 6.0 +margin_right = 396.0 +margin_bottom = 33.0 +size_flags_vertical = 6 + +[node name="Label" type="Label" parent="HBox"] +margin_top = 6.0 +margin_right = 344.0 +margin_bottom = 20.0 +text = "Emit the dialogic_signal with the following argument: " +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="InputField" parent="HBox" instance=ExtResource( 1 )] +margin_left = 348.0 +margin_right = 396.0 +margin_bottom = 27.0 diff --git a/addons/dialogic/Editor/Events/Parts/Text/TextAndVoiceEditor.tscn b/addons/dialogic/Editor/Events/Parts/Text/TextAndVoiceEditor.tscn new file mode 100644 index 0000000..ca7782a --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Text/TextAndVoiceEditor.tscn @@ -0,0 +1,26 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Text/EventPart_TextAndVoicePicker.gd" type="Script" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Audio/VoiceEditor.tscn" type="PackedScene" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Text/TextEditor.tscn" type="PackedScene" id=3] + +[node name="TextAndVoiceEditor" type="VBoxContainer"] +margin_right = 40.0 +margin_bottom = 40.0 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="VBoxContainer" type="VBoxContainer" parent="."] +margin_right = 358.0 +margin_bottom = 44.0 + +[node name="TextEditor" parent="VBoxContainer" instance=ExtResource( 3 )] +margin_right = 358.0 +margin_bottom = 0.0 + +[node name="VoiceEditor" parent="VBoxContainer" instance=ExtResource( 2 )] +margin_top = 4.0 +margin_right = 358.0 +margin_bottom = 44.0 diff --git a/addons/dialogic/Editor/Events/Parts/Text/TextEditor.tscn b/addons/dialogic/Editor/Events/Parts/Text/TextEditor.tscn new file mode 100644 index 0000000..6695d00 --- /dev/null +++ b/addons/dialogic/Editor/Events/Parts/Text/TextEditor.tscn @@ -0,0 +1,23 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Text/EventPart_TextEditor.gd" type="Script" id=1] + +[node name="TextEditor" type="VBoxContainer"] +margin_right = 40.0 +margin_bottom = 40.0 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TextEdit" type="TextEdit" parent="."] +margin_right = 40.0 +margin_bottom = 40.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +syntax_highlighting = true +show_line_numbers = true +smooth_scrolling = true +wrap_enabled = true + +[connection signal="focus_exited" from="TextEdit" to="." method="_on_TextEdit_focus_exited"] diff --git a/addons/dialogic/Editor/Events/Question.tscn b/addons/dialogic/Editor/Events/Question.tscn new file mode 100644 index 0000000..d68f467 --- /dev/null +++ b/addons/dialogic/Editor/Events/Question.tscn @@ -0,0 +1,66 @@ +[gd_scene load_steps=6 format=2] + +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/question.svg" type="Texture" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/CharacterAndPortraitPicker.tscn" type="PackedScene" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=3] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Text/TextAndVoiceEditor.tscn" type="PackedScene" id=4] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/Logic.tres" type="StyleBox" id=5] + +[node name="Question" instance=ExtResource( 3 )] +event_name = "Question" +event_data = { +"character": "", +"event_id": "dialogic_010", +"options": [ ], +"portrait": "", +"question": "" +} +event_icon = ExtResource( 1 ) +event_style = ExtResource( 5 ) +header_scene = ExtResource( 2 ) +body_scene = ExtResource( 4 ) +help_page_path = "res://addons/dialogic/Documentation/Content/Events/010.md" + +[node name="PanelContainer" parent="." index="1"] +margin_bottom = 50.0 +custom_styles/panel = ExtResource( 5 ) + +[node name="MarginContainer" parent="PanelContainer" index="1"] +margin_bottom = 50.0 + +[node name="VBoxContainer" parent="PanelContainer/MarginContainer" index="0"] +margin_bottom = 44.0 + +[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="1"] +margin_right = 32.0 +texture = ExtResource( 1 ) + +[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"] +margin_left = 42.0 +margin_right = 101.0 +text = "Question" + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="3"] +margin_left = 111.0 +margin_right = 249.0 + +[node name="ExpandControl" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="4"] +visible = true +margin_left = 259.0 +margin_right = 311.0 + +[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="5"] +margin_left = 321.0 + +[node name="OptionsControl" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="7"] +items = [ "Move Up", null, 0, false, false, 0, 0, null, "", false, "Move Down", null, 0, false, false, 1, 0, null, "", false, "", null, 0, false, false, 2, 0, null, "", false, "Remove", null, 0, false, false, 3, 0, null, "", false ] + +[node name="Body" parent="PanelContainer/MarginContainer/VBoxContainer" index="1"] +visible = true +margin_bottom = 38.0 + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Body" index="0"] +margin_top = 0.0 +margin_bottom = 4.0 + +[node name="AllowNoCharacter" type="Node" parent="." index="2"] diff --git a/addons/dialogic/Editor/Events/SaveEvent.tscn b/addons/dialogic/Editor/Events/SaveEvent.tscn new file mode 100644 index 0000000..ff895c0 --- /dev/null +++ b/addons/dialogic/Editor/Events/SaveEvent.tscn @@ -0,0 +1,62 @@ +[gd_scene load_steps=7 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/save-icon.svg" type="Texture" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Logic/EventPart_Save.tscn" type="PackedScene" id=3] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/Timeline.tres" type="StyleBox" id=4] + +[sub_resource type="Image" id=3] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=2] +flags = 4 +flags = 4 +image = SubResource( 3 ) +size = Vector2( 16, 16 ) + +[node name="SaveEvent" instance=ExtResource( 1 )] +event_name = "Save" +event_data = { +"custom_slot": "", +"event_id": "dialogic_026", +"use_default_slot": true +} +event_icon = ExtResource( 2 ) +event_style = ExtResource( 4 ) +header_scene = ExtResource( 3 ) +expand_on_default = false +help_page_path = "res://addons/dialogic/Documentation/Content/Tutorials/Saving.md" + +[node name="PanelContainer" parent="." index="1"] +custom_styles/panel = ExtResource( 4 ) + +[node name="SelectedStyle" parent="PanelContainer" index="0"] +modulate = Color( 0, 0, 0, 1 ) + +[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="1"] +margin_right = 32.0 +texture = ExtResource( 2 ) + +[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"] +margin_left = 42.0 +margin_right = 71.0 +text = "Save" + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="3"] +margin_left = 81.0 +margin_right = 91.0 + +[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="5"] +margin_left = 101.0 + +[node name="HelpButton" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="6"] +icon = SubResource( 2 ) + +[node name="OptionsControl" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="7"] +items = [ "Move Up", null, 0, false, false, 0, 0, null, "", false, "Move Down", null, 0, false, false, 1, 0, null, "", false, "", null, 0, false, false, 2, 0, null, "", false, "Remove", null, 0, false, false, 3, 0, null, "", false ] diff --git a/addons/dialogic/Editor/Events/SetGlossary.tscn b/addons/dialogic/Editor/Events/SetGlossary.tscn new file mode 100644 index 0000000..1189c4e --- /dev/null +++ b/addons/dialogic/Editor/Events/SetGlossary.tscn @@ -0,0 +1,51 @@ +[gd_scene load_steps=6 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/styles/SetGlossary.tres" type="StyleBox" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=3] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/SetGlossary.tscn" type="PackedScene" id=4] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Definitions/GlossaryPicker.tscn" type="PackedScene" id=5] +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/set-glossary.svg" type="Texture" id=6] + +[node name="SetGlossary" instance=ExtResource( 3 )] +event_name = "Set Glossary" +event_data = { +"event_id": "dialogic_025", +"extra": "", +"glossary_id": "", +"text": "", +"title": "" +} +event_icon = ExtResource( 6 ) +event_style = ExtResource( 2 ) +header_scene = ExtResource( 5 ) +body_scene = ExtResource( 4 ) +expand_on_default = false + +[node name="PanelContainer" parent="." index="1"] +custom_styles/panel = ExtResource( 2 ) + +[node name="SelectedStyle" parent="PanelContainer" index="0"] +modulate = Color( 0, 0, 0, 1 ) + +[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="1"] +margin_right = 32.0 +texture = ExtResource( 6 ) + +[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"] +margin_left = 42.0 +margin_right = 121.0 +text = "Set Glossary" + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="3"] +margin_left = 131.0 +margin_right = 294.0 + +[node name="ExpandControl" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="4"] +margin_left = 164.0 +margin_right = 216.0 + +[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="5"] +margin_left = 304.0 + +[node name="OptionsControl" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="7"] +items = [ "Move Up", null, 0, false, false, 0, 0, null, "", false, "Move Down", null, 0, false, false, 1, 0, null, "", false, "", null, 0, false, false, 2, 0, null, "", false, "Remove", null, 0, false, false, 3, 0, null, "", false ] diff --git a/addons/dialogic/Editor/Events/SetTheme.tscn b/addons/dialogic/Editor/Events/SetTheme.tscn new file mode 100644 index 0000000..adfa72a --- /dev/null +++ b/addons/dialogic/Editor/Events/SetTheme.tscn @@ -0,0 +1,41 @@ +[gd_scene load_steps=5 format=2] + +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/set-theme.svg" type="Texture" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/SetTheme.tres" type="StyleBox" id=3] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Themes/ThemePicker.tscn" type="PackedScene" id=4] + +[node name="SetTheme" instance=ExtResource( 2 )] +event_name = "Set Theme" +event_data = { +"event_id": "dialogic_024", +"set_theme": "" +} +event_icon = ExtResource( 1 ) +event_style = ExtResource( 3 ) +header_scene = ExtResource( 4 ) + +[node name="PanelContainer" parent="." index="1"] +custom_styles/panel = ExtResource( 3 ) + +[node name="SelectedStyle" parent="PanelContainer" index="0"] +modulate = Color( 0, 0, 0, 1 ) + +[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="1"] +margin_right = 32.0 +texture = ExtResource( 1 ) + +[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"] +margin_left = 42.0 +margin_right = 108.0 +text = "Set theme" + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="3"] +margin_left = 118.0 +margin_right = 235.0 + +[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="5"] +margin_left = 245.0 + +[node name="OptionsControl" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="7"] +items = [ "Move Up", null, 0, false, false, 0, 0, null, "", false, "Move Down", null, 0, false, false, 1, 0, null, "", false, "", null, 0, false, false, 2, 0, null, "", false, "Remove", null, 0, false, false, 3, 0, null, "", false ] diff --git a/addons/dialogic/Editor/Events/SetValue.tscn b/addons/dialogic/Editor/Events/SetValue.tscn new file mode 100644 index 0000000..bec2436 --- /dev/null +++ b/addons/dialogic/Editor/Events/SetValue.tscn @@ -0,0 +1,41 @@ +[gd_scene load_steps=5 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/set-value.svg" type="Texture" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/Logic.tres" type="StyleBox" id=3] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Logic/SetValuePicker.tscn" type="PackedScene" id=4] + +[node name="SetValue" instance=ExtResource( 1 )] +event_name = "Set Value" +event_data = { +"definition": "", +"event_id": "dialogic_014", +"operation": "=", +"random_upper_limit": 100.0, +"set_random": false, +"set_value": "" +} +event_icon = ExtResource( 2 ) +event_style = ExtResource( 3 ) +header_scene = ExtResource( 4 ) +help_page_path = "res://addons/dialogic/Documentation/Content/Events/014.md" + +[node name="PanelContainer" parent="." index="1"] +custom_styles/panel = ExtResource( 3 ) + +[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="1"] +texture = ExtResource( 2 ) + +[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"] +margin_right = 95.0 +text = "Set Value" + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="3"] +margin_left = 105.0 +margin_right = 458.0 + +[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="5"] +margin_left = 468.0 + +[node name="OptionsControl" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="7"] +items = [ "Move Up", null, 0, false, false, 0, 0, null, "", false, "Move Down", null, 0, false, false, 1, 0, null, "", false, "", null, 0, false, false, 2, 0, null, "", false, "Remove", null, 0, false, false, 3, 0, null, "", false ] diff --git a/addons/dialogic/Editor/Events/Templates/EventBlock.gd b/addons/dialogic/Editor/Events/Templates/EventBlock.gd new file mode 100644 index 0000000..50da8be --- /dev/null +++ b/addons/dialogic/Editor/Events/Templates/EventBlock.gd @@ -0,0 +1,269 @@ +tool +extends HBoxContainer + +# customization options for the event + +# This is the default data that is going to be saved to json +export(String) var event_name : String +export (Dictionary) var event_data: Dictionary = {'event_id':'dialogic_000'} +export(Texture) var event_icon : Texture +export(StyleBoxFlat) var event_style : StyleBoxFlat + +export(PackedScene) var header_scene : PackedScene +export(PackedScene) var body_scene : PackedScene + +export (bool) var expand_on_default := false +export (bool) var needs_indentation := false +export (String) var help_page_path := "" +signal option_action(action_name) + + +### internal node eferences +onready var panel = $PanelContainer +onready var selected_style = $PanelContainer/SelectedStyle +onready var warning = $PanelContainer/MarginContainer/VBoxContainer/Header/Warning +onready var title_label = $PanelContainer/MarginContainer/VBoxContainer/Header/TitleLabel +onready var icon_texture = $PanelContainer/MarginContainer/VBoxContainer/Header/IconTexture +onready var expand_control = $PanelContainer/MarginContainer/VBoxContainer/Header/ExpandControl +onready var options_control = $PanelContainer/MarginContainer/VBoxContainer/Header/OptionsControl +onready var header_content_container = $PanelContainer/MarginContainer/VBoxContainer/Header/Content +onready var body_container = $PanelContainer/MarginContainer/VBoxContainer/Body +onready var body_content_container = $PanelContainer/MarginContainer/VBoxContainer/Body/Content +onready var indent_node = $Indent +onready var help_button = $PanelContainer/MarginContainer/VBoxContainer/Header/HelpButton +var header_node +var body_node + +### extarnal node references +var editor_reference + +### the indent size +const indent_size = 25 + +# Setting this to true will ignore the event while saving +# Useful for making placeholder events in drag and drop +var ignore_save = false + +## ***************************************************************************** +## PUBLIC METHODS +## ***************************************************************************** + +func visual_select(): + selected_style.show() + + +func visual_deselect(): + selected_style.hide() + + +func set_event_style(style: StyleBoxFlat): + panel.set('custom_styles/panel', style) + + +func get_event_style(): + return panel.get('custom_styles/panel') + + +# called by the timeline before adding it to the tree +func load_data(data): + event_data = data + + +func get_body(): + return body_node + + +func get_header(): + return header_node + + +func set_warning(text): + warning.texture = get_icon("NodeWarning", "EditorIcons") + warning.hint_tooltip = text + + +func remove_warning(text = ''): + if warning.hint_tooltip == text or text == '': + warning.texture = null + + +func set_preview(text: String): + expand_control.set_preview(text) + + +func set_indent(indent: int): + indent_node.rect_min_size = Vector2(indent_size * indent, 0) + indent_node.visible = indent != 0 + + +func set_expanded(expanded: bool): + expand_control.set_expanded(expanded) + + +## ***************************************************************************** +## PRIVATE METHODS +## ***************************************************************************** + +func _set_event_icon(icon: Texture): + icon_texture.texture = icon + + +func _set_event_name(text: String): + title_label.text = text + + +func _set_header(scene: PackedScene): + header_node = _set_content(header_content_container, scene) + + +func _set_body(scene: PackedScene): + body_node = _set_content(body_content_container, scene) + # show the expand toggle + expand_control.set_enabled(body_node != null) + + +func _setup_event(): + if event_style != null: + set_event_style(event_style) + if event_icon != null: + _set_event_icon(event_icon) + if event_name != null: + _set_event_name(event_name) + if header_scene != null: + _set_header(header_scene) + if body_scene != null: + _set_body(body_scene) + + +func _set_content(container: Control, scene: PackedScene): + for c in container.get_children(): + container.remove_child(c) + if scene != null: + var node = scene.instance() + node.editor_reference = editor_reference + container.add_child(node) +# node.set_owner(get_tree().get_edited_scene_root()) + return node + return null + + +func _on_ExpandControl_state_changed(expanded: bool): + if expanded: + if body_node: + body_container.show() + else: + if body_node: + body_container.hide() + expand_control.set_preview(body_node.get_preview()) + + +func _on_OptionsControl_action(action_name: String): + # Simply transmit the signal to the timeline editor + emit_signal("option_action", action_name) + + +func _on_Indent_visibility_changed(): + if not indent_node: + return + if needs_indentation: + if indent_node.visible: + remove_warning(DTS.translate("This event needs a question event around it!")) + else: + set_warning(DTS.translate("This event needs a question event around it!")) + + +func _on_gui_input(event): + if event is InputEventMouseButton and event.is_pressed() and event.button_index == 1: + grab_focus() # Grab focus to avoid copy pasting text or events + if event.doubleclick and expand_control.enabled: + expand_control.set_expanded(not expand_control.expanded) + + +# called when the data of the header is changed +func _on_Header_data_changed(new_event_data): + event_data = new_event_data + + # update the body in case it has to + if get_body(): + get_body().load_data(event_data) + + +# called when the data of the body is changed +func _on_Body_data_changed(new_event_data): + event_data = new_event_data + + # update the header in case it has to + if get_header(): + get_header().load_data(event_data) + +func _request_set_body_enabled(enabled:bool): + expand_control.set_enabled(enabled) + + if get_body(): + get_body().visible = enabled + +func _request_selection(): + var timeline_editor = editor_reference.get_node_or_null('MainPanel/TimelineEditor') + if (timeline_editor != null): + # @todo select item and clear selection is marked as "private" in TimelineEditor.gd + # consider to make it "public" or add a public helper function + timeline_editor.select_item(self) + +## ***************************************************************************** +## OVERRIDES +## ***************************************************************************** + +func _ready(): + event_name = DTS.translate(event_name) + + ## DO SOME STYLING + $PanelContainer/SelectedStyle.modulate = get_color("accent_color", "Editor") + + + _setup_event() + + set_focus_mode(1) # Allowing this node to grab focus + + # signals + panel.connect("gui_input", self, '_on_gui_input') + expand_control.connect("state_changed", self, "_on_ExpandControl_state_changed") + options_control.connect("action", self, "_on_OptionsControl_action") + + # load icons + if help_page_path != "": + help_button.icon = get_icon("HelpSearch", "EditorIcons") + help_button.show() + + # when it enters the tree, load the data into the header/body + # If there is any external data, it will be set already BEFORE the event is added to tree + # if you have a header + if get_header(): + get_header().connect("data_changed", self, "_on_Header_data_changed") + get_header().connect("request_open_body", expand_control, "set_expanded", [true]) + get_header().connect("request_close_body", expand_control, "set_expanded", [false]) + get_header().connect("request_selection", self, "_request_selection") + get_header().connect("request_set_body_enabled", self, "_request_set_body_enabled") + get_header().connect("set_warning", self, "set_warning") + get_header().connect("remove_warning", self, "remove_warning") + get_header().load_data(event_data) + # if you have a body + if get_body(): + get_body().connect("data_changed", self, "_on_Body_data_changed") + get_body().connect("request_open_body", expand_control, "set_expanded", [true]) + get_body().connect("request_close_body", expand_control, "set_expanded", [false]) + get_body().connect("request_set_body_enabled", self, "_request_set_body_enabled") + get_body().connect("request_selection", self, "_request_selection") + get_body().connect("set_warning", self, "set_warning") + get_body().connect("remove_warning", self, "remove_warning") + get_body().load_data(event_data) + + if get_body(): + set_expanded(expand_on_default) + + _on_Indent_visibility_changed() + + +func _on_HelpButton_pressed(): + if help_page_path: + var master_tree = editor_reference.get_node_or_null('MainPanel/MasterTreeContainer/MasterTree') + master_tree.select_documentation_item(help_page_path) diff --git a/addons/dialogic/Editor/Events/Templates/EventTemplate.tscn b/addons/dialogic/Editor/Events/Templates/EventTemplate.tscn new file mode 100644 index 0000000..50a26cb --- /dev/null +++ b/addons/dialogic/Editor/Events/Templates/EventTemplate.tscn @@ -0,0 +1,163 @@ +[gd_scene load_steps=8 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventBlock.gd" type="Script" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/EventBlock/ExpandControl.tscn" type="PackedScene" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/selected_styleboxflat.tres" type="StyleBox" id=3] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/EventBlock/Spacer.tscn" type="PackedScene" id=4] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/EventBlock/OptionsControl.tscn" type="PackedScene" id=5] +[ext_resource path="res://addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme.svg" type="Texture" id=6] + +[sub_resource type="StyleBoxFlat" id=1] +content_margin_left = 0.0 +content_margin_right = 0.0 +content_margin_top = 0.0 +content_margin_bottom = 0.0 +bg_color = Color( 0.262745, 0.262745, 0.262745, 1 ) +border_width_left = 2 +border_width_top = 2 +border_width_right = 2 +border_width_bottom = 2 +corner_radius_top_left = 6 +corner_radius_top_right = 6 +corner_radius_bottom_right = 6 +corner_radius_bottom_left = 6 + +[node name="EventTemplate" type="HBoxContainer"] +anchor_right = 1.0 +margin_bottom = 42.0 +rect_min_size = Vector2( 0, 42 ) +focus_mode = 1 +size_flags_horizontal = 3 +size_flags_vertical = 9 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} +event_data = { +"event_id": "dialogic_000" +} +expand_on_default = true + +[node name="Indent" type="Control" parent="."] +visible = false +margin_bottom = 64.0 + +[node name="PanelContainer" type="PanelContainer" parent="."] +margin_right = 1024.0 +margin_bottom = 42.0 +mouse_filter = 1 +size_flags_horizontal = 3 +size_flags_vertical = 3 +custom_styles/panel = SubResource( 1 ) + +[node name="SelectedStyle" type="Panel" parent="PanelContainer"] +visible = false +margin_right = 1024.0 +margin_bottom = 42.0 +custom_styles/panel = ExtResource( 3 ) + +[node name="MarginContainer" type="MarginContainer" parent="PanelContainer"] +margin_right = 1024.0 +margin_bottom = 42.0 +mouse_filter = 1 +custom_constants/margin_right = 6 +custom_constants/margin_top = 6 +custom_constants/margin_left = 6 +custom_constants/margin_bottom = 6 + +[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer/MarginContainer"] +margin_left = 6.0 +margin_top = 6.0 +margin_right = 1018.0 +margin_bottom = 36.0 +rect_min_size = Vector2( 0, 30 ) +size_flags_horizontal = 3 + +[node name="Header" type="HBoxContainer" parent="PanelContainer/MarginContainer/VBoxContainer"] +margin_right = 1012.0 +margin_bottom = 30.0 +rect_min_size = Vector2( 0, 30 ) +size_flags_horizontal = 3 +custom_constants/separation = 10 + +[node name="Warning" type="TextureRect" parent="PanelContainer/MarginContainer/VBoxContainer/Header"] +margin_bottom = 30.0 +hint_tooltip = "Choice events should go +between a [Question] +and [End branch] events. + +[Question] + [Choice] + [...] +[End branch]" +stretch_mode = 4 + +[node name="IconTexture" type="TextureRect" parent="PanelContainer/MarginContainer/VBoxContainer/Header"] +margin_left = 10.0 +margin_right = 26.0 +margin_bottom = 30.0 +grow_horizontal = 0 +texture = ExtResource( 6 ) +stretch_mode = 4 + +[node name="TitleLabel" type="Label" parent="PanelContainer/MarginContainer/VBoxContainer/Header"] +margin_left = 36.0 +margin_top = 8.0 +margin_right = 36.0 +margin_bottom = 22.0 + +[node name="Content" type="MarginContainer" parent="PanelContainer/MarginContainer/VBoxContainer/Header"] +margin_left = 46.0 +margin_right = 56.0 +margin_bottom = 30.0 +mouse_filter = 1 +custom_constants/margin_right = 5 +custom_constants/margin_left = 5 + +[node name="ExpandControl" parent="PanelContainer/MarginContainer/VBoxContainer/Header" instance=ExtResource( 2 )] +margin_left = 178.0 +margin_right = 242.0 + +[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" instance=ExtResource( 4 )] +margin_left = 66.0 +margin_right = 928.0 +margin_bottom = 30.0 + +[node name="HelpButton" type="Button" parent="PanelContainer/MarginContainer/VBoxContainer/Header"] +margin_left = 938.0 +margin_right = 968.0 +margin_bottom = 30.0 +rect_min_size = Vector2( 30, 30 ) +hint_tooltip = "Open the documentation of this event" +flat = true +clip_text = true +expand_icon = true +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="OptionsControl" parent="PanelContainer/MarginContainer/VBoxContainer/Header" instance=ExtResource( 5 )] +margin_left = 978.0 +margin_right = 1012.0 +margin_bottom = 30.0 +items = [ "Move Up", null, 0, false, false, 0, 0, null, "", false, "Move Down", null, 0, false, false, 1, 0, null, "", false, "", null, 0, false, false, 2, 0, null, "", false, "Remove", null, 0, false, false, 3, 0, null, "", false ] + +[node name="Body" type="VBoxContainer" parent="PanelContainer/MarginContainer/VBoxContainer"] +visible = false +margin_top = 34.0 +margin_right = 1012.0 +margin_bottom = 42.0 +custom_constants/separation = 0 + +[node name="Content" type="MarginContainer" parent="PanelContainer/MarginContainer/VBoxContainer/Body"] +margin_top = 4.0 +margin_right = 1012.0 +margin_bottom = 8.0 +mouse_filter = 1 +size_flags_horizontal = 3 +size_flags_vertical = 3 +custom_constants/margin_top = 2 +custom_constants/margin_bottom = 2 + +[connection signal="visibility_changed" from="Indent" to="." method="_on_Indent_visibility_changed"] +[connection signal="pressed" from="PanelContainer/MarginContainer/VBoxContainer/Header/HelpButton" to="." method="_on_HelpButton_pressed"] diff --git a/addons/dialogic/Editor/Events/TextEvent.tscn b/addons/dialogic/Editor/Events/TextEvent.tscn new file mode 100644 index 0000000..ce18ef8 --- /dev/null +++ b/addons/dialogic/Editor/Events/TextEvent.tscn @@ -0,0 +1,86 @@ +[gd_scene load_steps=8 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Characters/CharacterAndPortraitPicker.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/TextEvent.tres" type="StyleBox" id=2] +[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=3] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Text/TextAndVoiceEditor.tscn" type="PackedScene" id=4] +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/text-event.svg" type="Texture" id=5] + +[sub_resource type="Image" id=3] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=2] +flags = 4 +flags = 4 +image = SubResource( 3 ) +size = Vector2( 16, 16 ) + +[node name="TextEvent" instance=ExtResource( 3 )] +event_name = "Text Event" +event_data = { +"character": "", +"event_id": "dialogic_001", +"portrait": "", +"text": "" +} +event_icon = ExtResource( 5 ) +event_style = ExtResource( 2 ) +header_scene = ExtResource( 1 ) +body_scene = ExtResource( 4 ) +help_page_path = "res://addons/dialogic/Documentation/Content/Events/000.md" + +[node name="PanelContainer" parent="." index="1"] +margin_bottom = 50.0 +custom_styles/panel = ExtResource( 2 ) + +[node name="SelectedStyle" parent="PanelContainer" index="0"] +modulate = Color( 0, 0, 0, 1 ) + +[node name="MarginContainer" parent="PanelContainer" index="1"] +margin_bottom = 50.0 + +[node name="VBoxContainer" parent="PanelContainer/MarginContainer" index="0"] +margin_bottom = 44.0 + +[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="1"] +margin_right = 32.0 +texture = ExtResource( 5 ) + +[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"] +margin_left = 42.0 +margin_right = 108.0 +text = "Text Event" + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="3"] +margin_left = 118.0 +margin_right = 256.0 + +[node name="ExpandControl" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="4"] +visible = true +margin_left = 266.0 +margin_right = 318.0 + +[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="5"] +margin_left = 328.0 + +[node name="HelpButton" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="6"] +icon = SubResource( 2 ) + +[node name="OptionsControl" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="7"] +items = [ "Move Up", null, 0, false, false, 0, 0, null, "", false, "Move Down", null, 0, false, false, 1, 0, null, "", false, "", null, 0, false, false, 2, 0, null, "", false, "Remove", null, 0, false, false, 3, 0, null, "", false ] + +[node name="Body" parent="PanelContainer/MarginContainer/VBoxContainer" index="1"] +visible = true +margin_bottom = 38.0 + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Body" index="0"] +margin_top = 0.0 +margin_bottom = 4.0 + +[node name="AllowNoCharacter" type="Node" parent="." index="2"] diff --git a/addons/dialogic/Editor/Events/WaitSeconds.tscn b/addons/dialogic/Editor/Events/WaitSeconds.tscn new file mode 100644 index 0000000..d11f809 --- /dev/null +++ b/addons/dialogic/Editor/Events/WaitSeconds.tscn @@ -0,0 +1,55 @@ +[gd_scene load_steps=7 format=2] + +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/wait-seconds.svg" type="Texture" id=1] +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Numbers/SecondsSelector.tscn" type="PackedScene" id=3] +[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=4] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/WaitSeconds.tres" type="StyleBox" id=5] + +[sub_resource type="Image" id=1] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=2] +flags = 4 +flags = 4 +image = SubResource( 1 ) +size = Vector2( 16, 16 ) + +[node name="WaitSeconds" instance=ExtResource( 4 )] +event_data = { +"event_id": "dialogic_023", +"wait_seconds": 1.0 +} +event_style = ExtResource( 5 ) +event_icon = ExtResource( 1 ) +event_name = "Wait Seconds" +header_scene = ExtResource( 3 ) + +[node name="PanelContainer" parent="." index="1"] +custom_styles/panel = ExtResource( 5 ) + +[node name="Warning" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="0"] +icon = SubResource( 2 ) + +[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="0"] +margin_right = 32.0 +texture = ExtResource( 1 ) + +[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="0"] +margin_right = 91.0 +text = "Wait Seconds" + +[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="3"] +margin_left = 157.0 +margin_right = 306.0 + +[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="5"] +margin_left = 310.0 + +[node name="OptionsControl" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="7"] +items = [ "Move Up", null, 0, false, false, 0, 0, null, "", false, "Move Down", null, 0, false, false, 1, 0, null, "", false, "", null, 0, false, false, 2, 0, null, "", false, "Remove", null, 0, false, false, 3, 0, null, "", false ] diff --git a/addons/dialogic/Editor/Events/styles/AudioEvent.tres b/addons/dialogic/Editor/Events/styles/AudioEvent.tres new file mode 100644 index 0000000..4081fc5 --- /dev/null +++ b/addons/dialogic/Editor/Events/styles/AudioEvent.tres @@ -0,0 +1,17 @@ +[gd_resource type="StyleBoxFlat" format=2] + +[resource] +content_margin_left = 0.0 +content_margin_right = 0.0 +content_margin_top = 0.0 +content_margin_bottom = 0.0 +bg_color = Color( 0.160784, 0.423529, 0.309804, 0.447059 ) +border_width_left = 2 +border_width_top = 2 +border_width_right = 2 +border_width_bottom = 2 +border_color = Color( 0.12549, 0.12549, 0.12549, 1 ) +corner_radius_top_left = 6 +corner_radius_top_right = 6 +corner_radius_bottom_right = 6 +corner_radius_bottom_left = 6 diff --git a/addons/dialogic/Editor/Events/styles/BackgroundMusic.tres b/addons/dialogic/Editor/Events/styles/BackgroundMusic.tres new file mode 100644 index 0000000..4081fc5 --- /dev/null +++ b/addons/dialogic/Editor/Events/styles/BackgroundMusic.tres @@ -0,0 +1,17 @@ +[gd_resource type="StyleBoxFlat" format=2] + +[resource] +content_margin_left = 0.0 +content_margin_right = 0.0 +content_margin_top = 0.0 +content_margin_bottom = 0.0 +bg_color = Color( 0.160784, 0.423529, 0.309804, 0.447059 ) +border_width_left = 2 +border_width_top = 2 +border_width_right = 2 +border_width_bottom = 2 +border_color = Color( 0.12549, 0.12549, 0.12549, 1 ) +corner_radius_top_left = 6 +corner_radius_top_right = 6 +corner_radius_bottom_right = 6 +corner_radius_bottom_left = 6 diff --git a/addons/dialogic/Editor/Events/styles/CallNode.tres b/addons/dialogic/Editor/Events/styles/CallNode.tres new file mode 100644 index 0000000..0adf46e --- /dev/null +++ b/addons/dialogic/Editor/Events/styles/CallNode.tres @@ -0,0 +1,17 @@ +[gd_resource type="StyleBoxFlat" format=2] + +[resource] +content_margin_left = 0.0 +content_margin_right = 0.0 +content_margin_top = 0.0 +content_margin_bottom = 0.0 +bg_color = Color( 0.14902, 0.333333, 0.509804, 0.4 ) +border_width_left = 2 +border_width_top = 2 +border_width_right = 2 +border_width_bottom = 2 +border_color = Color( 0.12549, 0.12549, 0.12549, 1 ) +corner_radius_top_left = 6 +corner_radius_top_right = 6 +corner_radius_bottom_right = 6 +corner_radius_bottom_left = 6 diff --git a/addons/dialogic/Editor/Events/styles/ChangeBackground.tres b/addons/dialogic/Editor/Events/styles/ChangeBackground.tres new file mode 100644 index 0000000..296e5e3 --- /dev/null +++ b/addons/dialogic/Editor/Events/styles/ChangeBackground.tres @@ -0,0 +1,17 @@ +[gd_resource type="StyleBoxFlat" format=2] + +[resource] +content_margin_left = 0.0 +content_margin_right = 0.0 +content_margin_top = 0.0 +content_margin_bottom = 0.0 +bg_color = Color( 0.219608, 0.34902, 0.701961, 0.443137 ) +border_width_left = 2 +border_width_top = 2 +border_width_right = 2 +border_width_bottom = 2 +border_color = Color( 0.12549, 0.12549, 0.12549, 1 ) +corner_radius_top_left = 6 +corner_radius_top_right = 6 +corner_radius_bottom_right = 6 +corner_radius_bottom_left = 6 diff --git a/addons/dialogic/Editor/Events/styles/ChangeScene.tres b/addons/dialogic/Editor/Events/styles/ChangeScene.tres new file mode 100644 index 0000000..0adf46e --- /dev/null +++ b/addons/dialogic/Editor/Events/styles/ChangeScene.tres @@ -0,0 +1,17 @@ +[gd_resource type="StyleBoxFlat" format=2] + +[resource] +content_margin_left = 0.0 +content_margin_right = 0.0 +content_margin_top = 0.0 +content_margin_bottom = 0.0 +bg_color = Color( 0.14902, 0.333333, 0.509804, 0.4 ) +border_width_left = 2 +border_width_top = 2 +border_width_right = 2 +border_width_bottom = 2 +border_color = Color( 0.12549, 0.12549, 0.12549, 1 ) +corner_radius_top_left = 6 +corner_radius_top_right = 6 +corner_radius_bottom_right = 6 +corner_radius_bottom_left = 6 diff --git a/addons/dialogic/Editor/Events/styles/CharacterJoin.tres b/addons/dialogic/Editor/Events/styles/CharacterJoin.tres new file mode 100644 index 0000000..2f04884 --- /dev/null +++ b/addons/dialogic/Editor/Events/styles/CharacterJoin.tres @@ -0,0 +1,17 @@ +[gd_resource type="StyleBoxFlat" format=2] + +[resource] +content_margin_left = 0.0 +content_margin_right = 0.0 +content_margin_top = 0.0 +content_margin_bottom = 0.0 +bg_color = Color( 0.14902, 0.521569, 0.298039, 0.266667 ) +border_width_left = 2 +border_width_top = 2 +border_width_right = 2 +border_width_bottom = 2 +border_color = Color( 0.12549, 0.12549, 0.12549, 1 ) +corner_radius_top_left = 6 +corner_radius_top_right = 6 +corner_radius_bottom_right = 6 +corner_radius_bottom_left = 6 diff --git a/addons/dialogic/Editor/Events/styles/CharacterLeave.tres b/addons/dialogic/Editor/Events/styles/CharacterLeave.tres new file mode 100644 index 0000000..b0829c9 --- /dev/null +++ b/addons/dialogic/Editor/Events/styles/CharacterLeave.tres @@ -0,0 +1,17 @@ +[gd_resource type="StyleBoxFlat" format=2] + +[resource] +content_margin_left = 0.0 +content_margin_right = 0.0 +content_margin_top = 0.0 +content_margin_bottom = 0.0 +bg_color = Color( 0.419608, 0.14902, 0.262745, 0.219608 ) +border_width_left = 2 +border_width_top = 2 +border_width_right = 2 +border_width_bottom = 2 +border_color = Color( 0.12549, 0.12549, 0.12549, 1 ) +corner_radius_top_left = 6 +corner_radius_top_right = 6 +corner_radius_bottom_right = 6 +corner_radius_bottom_left = 6 diff --git a/addons/dialogic/Editor/Events/styles/CloseDialog.tres b/addons/dialogic/Editor/Events/styles/CloseDialog.tres new file mode 100644 index 0000000..b0829c9 --- /dev/null +++ b/addons/dialogic/Editor/Events/styles/CloseDialog.tres @@ -0,0 +1,17 @@ +[gd_resource type="StyleBoxFlat" format=2] + +[resource] +content_margin_left = 0.0 +content_margin_right = 0.0 +content_margin_top = 0.0 +content_margin_bottom = 0.0 +bg_color = Color( 0.419608, 0.14902, 0.262745, 0.219608 ) +border_width_left = 2 +border_width_top = 2 +border_width_right = 2 +border_width_bottom = 2 +border_color = Color( 0.12549, 0.12549, 0.12549, 1 ) +corner_radius_top_left = 6 +corner_radius_top_right = 6 +corner_radius_bottom_right = 6 +corner_radius_bottom_left = 6 diff --git a/addons/dialogic/Editor/Events/styles/EmitSignal.tres b/addons/dialogic/Editor/Events/styles/EmitSignal.tres new file mode 100644 index 0000000..0adf46e --- /dev/null +++ b/addons/dialogic/Editor/Events/styles/EmitSignal.tres @@ -0,0 +1,17 @@ +[gd_resource type="StyleBoxFlat" format=2] + +[resource] +content_margin_left = 0.0 +content_margin_right = 0.0 +content_margin_top = 0.0 +content_margin_bottom = 0.0 +bg_color = Color( 0.14902, 0.333333, 0.509804, 0.4 ) +border_width_left = 2 +border_width_top = 2 +border_width_right = 2 +border_width_bottom = 2 +border_color = Color( 0.12549, 0.12549, 0.12549, 1 ) +corner_radius_top_left = 6 +corner_radius_top_right = 6 +corner_radius_bottom_right = 6 +corner_radius_bottom_left = 6 diff --git a/addons/dialogic/Editor/Events/styles/Logic.tres b/addons/dialogic/Editor/Events/styles/Logic.tres new file mode 100644 index 0000000..466754d --- /dev/null +++ b/addons/dialogic/Editor/Events/styles/Logic.tres @@ -0,0 +1,17 @@ +[gd_resource type="StyleBoxFlat" format=2] + +[resource] +content_margin_left = 0.0 +content_margin_right = 0.0 +content_margin_top = 0.0 +content_margin_bottom = 0.0 +bg_color = Color( 0.270588, 0.243137, 0.572549, 0.407843 ) +border_width_left = 2 +border_width_top = 2 +border_width_right = 2 +border_width_bottom = 2 +border_color = Color( 0.12549, 0.12549, 0.12549, 1 ) +corner_radius_top_left = 6 +corner_radius_top_right = 6 +corner_radius_bottom_right = 6 +corner_radius_bottom_left = 6 diff --git a/addons/dialogic/Editor/Events/styles/MenuButtonHover.tres b/addons/dialogic/Editor/Events/styles/MenuButtonHover.tres new file mode 100644 index 0000000..15179f4 --- /dev/null +++ b/addons/dialogic/Editor/Events/styles/MenuButtonHover.tres @@ -0,0 +1,14 @@ +[gd_resource type="StyleBoxFlat" format=2] + +[resource] +content_margin_left = 10.0 +content_margin_right = 10.0 +bg_color = Color( 0.282353, 0.282353, 0.282353, 0.356863 ) +border_width_left = 1 +border_width_top = 1 +border_width_right = 1 +border_width_bottom = 1 +corner_radius_top_left = 6 +corner_radius_top_right = 6 +corner_radius_bottom_right = 6 +corner_radius_bottom_left = 6 diff --git a/addons/dialogic/Editor/Events/styles/MenuButtonNormal.tres b/addons/dialogic/Editor/Events/styles/MenuButtonNormal.tres new file mode 100644 index 0000000..0d7f8bc --- /dev/null +++ b/addons/dialogic/Editor/Events/styles/MenuButtonNormal.tres @@ -0,0 +1,17 @@ +[gd_resource type="StyleBoxFlat" format=2] + +[resource] +content_margin_left = 10.0 +content_margin_right = 10.0 +content_margin_top = 4.0 +content_margin_bottom = 4.0 +bg_color = Color( 0.105882, 0.105882, 0.105882, 0.207843 ) +border_width_left = 1 +border_width_top = 1 +border_width_right = 1 +border_width_bottom = 1 +border_color = Color( 0.8, 0.8, 0.8, 0.109804 ) +corner_radius_top_left = 4 +corner_radius_top_right = 4 +corner_radius_bottom_right = 4 +corner_radius_bottom_left = 4 diff --git a/addons/dialogic/Editor/Events/styles/SectionPanel.tres b/addons/dialogic/Editor/Events/styles/SectionPanel.tres new file mode 100644 index 0000000..a1adac8 --- /dev/null +++ b/addons/dialogic/Editor/Events/styles/SectionPanel.tres @@ -0,0 +1,16 @@ +[gd_resource type="StyleBoxFlat" format=2] + +[resource] +content_margin_left = 6.0 +content_margin_right = 6.0 +content_margin_top = 5.0 +content_margin_bottom = 4.0 +bg_color = Color( 0.6, 0.6, 0.6, 0 ) +border_width_left = 1 +border_width_top = 1 +border_width_right = 1 +border_width_bottom = 1 +corner_radius_top_left = 3 +corner_radius_top_right = 3 +corner_radius_bottom_right = 3 +corner_radius_bottom_left = 3 diff --git a/addons/dialogic/Editor/Events/styles/SetGlossary.tres b/addons/dialogic/Editor/Events/styles/SetGlossary.tres new file mode 100644 index 0000000..466754d --- /dev/null +++ b/addons/dialogic/Editor/Events/styles/SetGlossary.tres @@ -0,0 +1,17 @@ +[gd_resource type="StyleBoxFlat" format=2] + +[resource] +content_margin_left = 0.0 +content_margin_right = 0.0 +content_margin_top = 0.0 +content_margin_bottom = 0.0 +bg_color = Color( 0.270588, 0.243137, 0.572549, 0.407843 ) +border_width_left = 2 +border_width_top = 2 +border_width_right = 2 +border_width_bottom = 2 +border_color = Color( 0.12549, 0.12549, 0.12549, 1 ) +corner_radius_top_left = 6 +corner_radius_top_right = 6 +corner_radius_bottom_right = 6 +corner_radius_bottom_left = 6 diff --git a/addons/dialogic/Editor/Events/styles/SetTheme.tres b/addons/dialogic/Editor/Events/styles/SetTheme.tres new file mode 100644 index 0000000..e57f816 --- /dev/null +++ b/addons/dialogic/Editor/Events/styles/SetTheme.tres @@ -0,0 +1,17 @@ +[gd_resource type="StyleBoxFlat" format=2] + +[resource] +content_margin_left = 0.0 +content_margin_right = 0.0 +content_margin_top = 0.0 +content_margin_bottom = 0.0 +bg_color = Color( 0.219608, 0.34902, 0.701961, 0.443137 ) +border_width_left = 2 +border_width_top = 2 +border_width_right = 2 +border_width_bottom = 2 +border_color = Color( 0.12549, 0.12549, 0.12549, 1 ) +corner_radius_top_left = 6 +corner_radius_top_right = 6 +corner_radius_bottom_right = 6 +corner_radius_bottom_left = 6 diff --git a/addons/dialogic/Editor/Events/styles/TextEvent.tres b/addons/dialogic/Editor/Events/styles/TextEvent.tres new file mode 100644 index 0000000..aaa1863 --- /dev/null +++ b/addons/dialogic/Editor/Events/styles/TextEvent.tres @@ -0,0 +1,17 @@ +[gd_resource type="StyleBoxFlat" format=2] + +[resource] +content_margin_left = 0.0 +content_margin_right = 0.0 +content_margin_top = 0.0 +content_margin_bottom = 0.0 +bg_color = Color( 0.635294, 0.635294, 0.635294, 0.282353 ) +border_width_left = 2 +border_width_top = 2 +border_width_right = 2 +border_width_bottom = 2 +border_color = Color( 0.12549, 0.12549, 0.12549, 1 ) +corner_radius_top_left = 6 +corner_radius_top_right = 6 +corner_radius_bottom_right = 6 +corner_radius_bottom_left = 6 diff --git a/addons/dialogic/Editor/Events/styles/Timeline.tres b/addons/dialogic/Editor/Events/styles/Timeline.tres new file mode 100644 index 0000000..0ec741a --- /dev/null +++ b/addons/dialogic/Editor/Events/styles/Timeline.tres @@ -0,0 +1,17 @@ +[gd_resource type="StyleBoxFlat" format=2] + +[resource] +content_margin_left = 0.0 +content_margin_right = 0.0 +content_margin_top = 0.0 +content_margin_bottom = 0.0 +bg_color = Color( 0.435294, 0.301961, 0.603922, 0.192157 ) +border_width_left = 2 +border_width_top = 2 +border_width_right = 2 +border_width_bottom = 2 +border_color = Color( 0.12549, 0.12549, 0.12549, 1 ) +corner_radius_top_left = 6 +corner_radius_top_right = 6 +corner_radius_bottom_right = 6 +corner_radius_bottom_left = 6 diff --git a/addons/dialogic/Editor/Events/styles/WaitSeconds.tres b/addons/dialogic/Editor/Events/styles/WaitSeconds.tres new file mode 100644 index 0000000..3d814f7 --- /dev/null +++ b/addons/dialogic/Editor/Events/styles/WaitSeconds.tres @@ -0,0 +1,17 @@ +[gd_resource type="StyleBoxFlat" format=2] + +[resource] +content_margin_left = 0.0 +content_margin_right = 0.0 +content_margin_top = 0.0 +content_margin_bottom = 0.0 +bg_color = Color( 0.435294, 0.301961, 0.603922, 0.192157 ) +border_width_left = 2 +border_width_top = 2 +border_width_right = 2 +border_width_bottom = 2 +border_color = Color( 0.12549, 0.12549, 0.12549, 1 ) +corner_radius_top_left = 6 +corner_radius_top_right = 6 +corner_radius_bottom_right = 6 +corner_radius_bottom_left = 6 diff --git a/addons/dialogic/Editor/Events/styles/selected_styleboxflat.tres b/addons/dialogic/Editor/Events/styles/selected_styleboxflat.tres new file mode 100644 index 0000000..9223453 --- /dev/null +++ b/addons/dialogic/Editor/Events/styles/selected_styleboxflat.tres @@ -0,0 +1,18 @@ +[gd_resource type="StyleBoxFlat" format=2] + +[resource] +content_margin_left = 16.0 +content_margin_right = 6.0 +content_margin_top = 6.0 +content_margin_bottom = 6.0 +bg_color = Color( 0.0941176, 0.254902, 0.380392, 1 ) +draw_center = false +border_width_left = 2 +border_width_top = 2 +border_width_right = 2 +border_width_bottom = 2 +border_color = Color( 1, 1, 1, 1 ) +corner_radius_top_left = 6 +corner_radius_top_right = 6 +corner_radius_bottom_right = 6 +corner_radius_bottom_left = 6 diff --git a/addons/dialogic/Editor/Events/styles/selected_styleboxflat_template.tres b/addons/dialogic/Editor/Events/styles/selected_styleboxflat_template.tres new file mode 100644 index 0000000..270d677 --- /dev/null +++ b/addons/dialogic/Editor/Events/styles/selected_styleboxflat_template.tres @@ -0,0 +1,17 @@ +[gd_resource type="StyleBoxFlat" format=2] + +[resource] +content_margin_left = 0.0 +content_margin_right = 0.0 +content_margin_top = 0.0 +content_margin_bottom = 0.0 +bg_color = Color( 0.0745098, 0.254902, 0.396078, 1 ) +border_width_left = 2 +border_width_top = 2 +border_width_right = 2 +border_width_bottom = 2 +border_color = Color( 0.0901961, 0.560784, 0.937255, 1 ) +corner_radius_top_left = 6 +corner_radius_top_right = 6 +corner_radius_bottom_right = 6 +corner_radius_bottom_left = 6 diff --git a/addons/dialogic/Editor/Events/styles/selected_styleboxflat_text_event.tres b/addons/dialogic/Editor/Events/styles/selected_styleboxflat_text_event.tres new file mode 100644 index 0000000..eff22ef --- /dev/null +++ b/addons/dialogic/Editor/Events/styles/selected_styleboxflat_text_event.tres @@ -0,0 +1,17 @@ +[gd_resource type="StyleBoxFlat" format=2] + +[resource] +content_margin_left = 6.0 +content_margin_right = 6.0 +content_margin_top = 6.0 +content_margin_bottom = 6.0 +bg_color = Color( 0.0980392, 0.329412, 0.509804, 1 ) +border_width_left = 2 +border_width_top = 2 +border_width_right = 2 +border_width_bottom = 2 +border_color = Color( 0.0901961, 0.560784, 0.937255, 1 ) +corner_radius_top_left = 6 +corner_radius_top_right = 6 +corner_radius_bottom_right = 6 +corner_radius_bottom_left = 6 diff --git a/addons/dialogic/Editor/GlossaryEntryEditor/GlossaryEntryEditor.gd b/addons/dialogic/Editor/GlossaryEntryEditor/GlossaryEntryEditor.gd new file mode 100644 index 0000000..9b9f55e --- /dev/null +++ b/addons/dialogic/Editor/GlossaryEntryEditor/GlossaryEntryEditor.gd @@ -0,0 +1,71 @@ +tool +extends ScrollContainer + +var editor_reference +onready var master_tree = get_node('../MasterTreeContainer/MasterTree') +var current_definition = null + +onready var nodes = { + 'name' : $VBoxContainer/HBoxContainer/VBoxContainer/Name, + 'extra_editor': $VBoxContainer/HBoxContainer/ExtraInfo, + 'extra_title': $VBoxContainer/HBoxContainer/ExtraInfo/Title, + 'extra_text': $VBoxContainer/HBoxContainer/ExtraInfo/Text, + 'extra_extra': $VBoxContainer/HBoxContainer/ExtraInfo/Extra, +} + +func _ready(): + editor_reference = find_parent('EditorView') + reset_editor() + nodes['name'].connect('text_changed', self, '_on_name_changed') + nodes['name'].connect('focus_exited', self, '_update_name_on_tree') + + +func is_selected(id: String): + return current_definition != null and current_definition['id'] == id + + +func load_definition(id): + current_definition = DialogicResources.get_default_definition_item(id) + reset_editor() + nodes['name'].editable = true + nodes['name'].text = current_definition['name'] + nodes['extra_title'].text = current_definition['title'] + nodes['extra_text'].text = current_definition['text'] + nodes['extra_extra'].text = current_definition['extra'] + + +func reset_editor(): + nodes['name'].text = '' + nodes['extra_title'].text = '' + nodes['extra_text'].text = '' + nodes['extra_extra'].text = '' + + +func _on_name_changed(text): + if current_definition != null: + save_definition() + + +func _input(event): + if event is InputEventKey and event.pressed: + if nodes['name'].has_focus(): + if event.scancode == KEY_ENTER: + nodes['name'].release_focus() + + +func _update_name_on_tree(): + var item = master_tree.get_selected() + item.set_text(0, nodes['name'].text) + if current_definition != null: + save_definition() + master_tree.build_definitions(current_definition['id']) + + +func create_glossary_entry() -> String: + var id = DialogicUtil.generate_random_id() + DialogicResources.set_default_definition_glossary(id, 'New glossary entry', '', '', '') + return id + +func save_definition(): + if current_definition != null and current_definition['id'] != '': + DialogicResources.set_default_definition_glossary(current_definition['id'], nodes['name'].text, nodes['extra_title'].text, nodes['extra_text'].text, nodes['extra_extra'].text) diff --git a/addons/dialogic/Editor/GlossaryEntryEditor/GlossaryEntryEditor.tscn b/addons/dialogic/Editor/GlossaryEntryEditor/GlossaryEntryEditor.tscn new file mode 100644 index 0000000..021baa6 --- /dev/null +++ b/addons/dialogic/Editor/GlossaryEntryEditor/GlossaryEntryEditor.tscn @@ -0,0 +1,76 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://addons/dialogic/Editor/GlossaryEntryEditor/GlossaryEntryEditor.gd" type="Script" id=1] + +[node name="GlossaryEntryEditor" type="ScrollContainer"] +anchor_right = 1.0 +anchor_bottom = 1.0 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="VBoxContainer" type="VBoxContainer" parent="."] +margin_right = 1024.0 +margin_bottom = 600.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer"] +margin_right = 1024.0 +margin_bottom = 230.0 +custom_constants/separation = 16 + +[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/HBoxContainer"] +margin_right = 300.0 +margin_bottom = 230.0 +rect_min_size = Vector2( 300, 0 ) +custom_constants/separation = 10 + +[node name="Label" type="Label" parent="VBoxContainer/HBoxContainer/VBoxContainer"] +margin_right = 300.0 +margin_bottom = 14.0 +text = "Name" + +[node name="Name" type="LineEdit" parent="VBoxContainer/HBoxContainer/VBoxContainer"] +margin_top = 24.0 +margin_right = 300.0 +margin_bottom = 48.0 + +[node name="ExtraInfo" type="VBoxContainer" parent="VBoxContainer/HBoxContainer"] +margin_left = 316.0 +margin_right = 616.0 +margin_bottom = 230.0 +rect_min_size = Vector2( 300, 0 ) + +[node name="RichTextLabel2" type="Label" parent="VBoxContainer/HBoxContainer/ExtraInfo"] +margin_right = 300.0 +margin_bottom = 31.0 +text = "A popup will display this information when a player hovers the word in a dialog. " +autowrap = true + +[node name="Control" type="Control" parent="VBoxContainer/HBoxContainer/ExtraInfo"] +margin_top = 35.0 +margin_right = 300.0 +margin_bottom = 70.0 +rect_min_size = Vector2( 0, 35 ) + +[node name="Title" type="LineEdit" parent="VBoxContainer/HBoxContainer/ExtraInfo"] +margin_top = 74.0 +margin_right = 300.0 +margin_bottom = 98.0 +placeholder_text = "Title" + +[node name="Text" type="TextEdit" parent="VBoxContainer/HBoxContainer/ExtraInfo"] +margin_top = 102.0 +margin_right = 300.0 +margin_bottom = 202.0 +rect_min_size = Vector2( 0, 100 ) +size_flags_vertical = 3 +wrap_enabled = true + +[node name="Extra" type="LineEdit" parent="VBoxContainer/HBoxContainer/ExtraInfo"] +margin_top = 206.0 +margin_right = 300.0 +margin_bottom = 230.0 +placeholder_text = "Extra" diff --git a/addons/dialogic/Editor/MasterTree/DragPreview.tscn b/addons/dialogic/Editor/MasterTree/DragPreview.tscn new file mode 100644 index 0000000..714cd61 --- /dev/null +++ b/addons/dialogic/Editor/MasterTree/DragPreview.tscn @@ -0,0 +1,47 @@ +[gd_scene load_steps=2 format=2] + +[sub_resource type="StyleBoxFlat" id=1] +bg_color = Color( 1, 1, 1, 1 ) +border_width_left = 4 +border_width_top = 4 +border_width_right = 4 +border_width_bottom = 4 +border_color = Color( 0.568627, 0.568627, 0.568627, 1 ) +corner_radius_top_left = 5 +corner_radius_top_right = 5 +corner_radius_bottom_right = 5 +corner_radius_bottom_left = 5 + +[node name="DragPreview" type="CenterContainer"] +margin_right = 38.0 +margin_bottom = 34.0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Panel" type="PanelContainer" parent="."] +margin_left = 3.0 +margin_top = 3.0 +margin_right = 35.0 +margin_bottom = 31.0 +custom_styles/panel = SubResource( 1 ) + +[node name="HBox" type="HBoxContainer" parent="Panel"] +margin_left = 4.0 +margin_top = 4.0 +margin_right = 28.0 +margin_bottom = 24.0 + +[node name="Icon" type="TextureRect" parent="Panel/HBox"] +margin_right = 20.0 +margin_bottom = 20.0 +rect_min_size = Vector2( 20, 20 ) +expand = true +stretch_mode = 4 + +[node name="Label" type="Label" parent="Panel/HBox"] +margin_left = 24.0 +margin_top = 3.0 +margin_right = 24.0 +margin_bottom = 17.0 +size_flags_horizontal = 3 diff --git a/addons/dialogic/Editor/MasterTree/MasterTree.gd b/addons/dialogic/Editor/MasterTree/MasterTree.gd new file mode 100644 index 0000000..7d2e125 --- /dev/null +++ b/addons/dialogic/Editor/MasterTree/MasterTree.gd @@ -0,0 +1,920 @@ +tool +extends Tree + +var editor_reference +onready var timeline_editor = get_node('../../TimelineEditor') +onready var character_editor = get_node('../../CharacterEditor') +onready var value_editor = get_node('../../ValueEditor') +onready var glossary_entry_editor = get_node('../../GlossaryEntryEditor') +onready var settings_editor = get_node('../../SettingsEditor') +onready var theme_editor = get_node('../../ThemeEditor') +onready var documentation_viewer = get_node('../../DocumentationViewer') +onready var empty_editor = get_node('../../Empty') +onready var filter_tree_edit = get_node('../FilterMasterTreeEdit') + +onready var tree = self + +var timeline_icon +var character_icon +var theme_icon +var definition_icon +var glossary_icon +var documentation_icon + +var timelines_tree +var characters_tree +var definitions_tree +var themes_tree +var settings_tree +var documentation_tree + + +var item_path_before_edit = "" + +# dragging items +var dragging_item = null +var drag_preview = load("res://addons/dialogic/Editor/MasterTree/DragPreview.tscn") + +var rmb_popup_menus = {} + +var filter_tree_term = '' + +signal editor_selected(selected) + +func _ready(): + editor_reference = find_parent('EditorView') + # Tree Settings + allow_rmb_select = true + var root = tree.create_item() + tree.set_hide_root(true) + + # Scaling + var modifier = '' + var _scale = get_constant("inspector_margin", "Editor") + _scale = _scale * 0.125 + rect_min_size.x = 150 + if _scale == 1.25: + modifier = '-1.25' + rect_min_size.x = 180 + if _scale == 1.5: + modifier = '-1.25' + rect_min_size.x = 250 + if _scale == 1.75: + modifier = '-1.25' + rect_min_size.x = 250 + if _scale == 2: + modifier = '-2' + rect_min_size.x = 360 + rect_size.x = 0 + + # Icons + timeline_icon = load("res://addons/dialogic/Images/Resources/timeline" + modifier + ".svg") + character_icon = load("res://addons/dialogic/Images/Resources/character" + modifier + ".svg") + theme_icon = load("res://addons/dialogic/Images/Resources/theme" + modifier + ".svg") + definition_icon = load("res://addons/dialogic/Images/Resources/definition" + modifier + ".svg") + glossary_icon = get_icon("ListSelect", "EditorIcons") + + # Creating the root items + for tree_info in [ + # variable name editor + ["Timelines", "Timeline Root"], + ["Characters", "Character Root"], + ["Definitions", "Definition Root"], + ["Themes", "Theme Root"], + ]: + # create tree item + var sub_tree = tree.create_item(root) + # set the item + sub_tree.set_icon(0, get_icon("Folder", "EditorIcons")) + sub_tree.set_icon_modulate(0, get_color("folder_icon_modulate", "FileDialog")) + # set info + sub_tree.set_text(0, tree_info[0]) + sub_tree.collapsed = DialogicUtil.get_folder_meta(tree_info[0], 'folded') + sub_tree.set_metadata(0, {'editor': tree_info[1]}) + # set the correct tree variable + match tree_info[0]: + "Timelines": + timelines_tree = sub_tree + "Characters": + characters_tree = sub_tree + "Definitions": + definitions_tree = sub_tree + "Themes": + themes_tree = sub_tree + + settings_tree = tree.create_item(root) + settings_tree.set_text(0, "Settings") + settings_tree.set_icon(0, get_icon("GDScript", "EditorIcons")) + settings_tree.set_metadata(0, {'editor': 'Settings'}) + + documentation_tree = tree.create_item(root) + documentation_tree.set_text(0, "Help") + documentation_tree.set_icon(0, get_icon("HelpSearch", "EditorIcons")) + documentation_tree.set_metadata(0, {'editor': 'Documentation Root', 'name':'Start', 'path':'Welcome.md'}) + + + # creates the context menus + create_rmb_context_menus() + + # connecting signals + connect('item_selected', self, '_on_item_selected') + connect('item_rmb_selected', self, '_on_item_rmb_selected') + connect('item_collapsed', self, '_on_item_collapsed') + connect('gui_input', self, '_on_gui_input') + connect('item_edited', self, '_on_item_edited') + $RenamerReset.connect("timeout", self, '_on_renamer_reset_timeout') + filter_tree_edit.connect("text_changed", self, '_on_filter_tree_edit_changed') + + # build all tree parts + build_full_tree() + + # Adding docs + build_documentation() + + # Default empty screen. + hide_all_editors() + + # AutoSave timer + $AutoSave.connect("timeout", self, '_on_autosave_timeout') + $AutoSave.start(0.5) + +## ***************************************************************************** +## BUILDING THE TREE +## ***************************************************************************** + +func build_full_tree(selected_item: String = ''): + # Adding timelines + build_timelines(selected_item) + # Adding characters + build_characters(selected_item) + # Adding Definitions + build_definitions(selected_item) + # Adding Themes + build_themes(selected_item) + + +func _clear_tree_children(parent: TreeItem): + while parent.get_children() != null: + parent.get_children().free() + + +func build_resource_folder(parent_folder_item:TreeItem, folder_data:Dictionary, selected_item:String, folder_editor:String, resource_type: String): + ## BUILD ALL THE FOLDER ITEMS (by calling this method for them) + for folder in folder_data["folders"].keys(): + var folder_item = _add_folder_item(parent_folder_item, folder, folder_editor, folder_data["folders"][folder]['metadata']) + var contains_something = build_resource_folder(folder_item, folder_data["folders"][folder], selected_item, folder_editor, resource_type) + if (not filter_tree_term.empty()) and (not contains_something): + folder_item.free() + + ## BUILD ALL THE FILE ITEMS + for file in folder_data["files"]: + # get the file_metadata + var file_metadata + match resource_type: + "Timeline": + file_metadata = DialogicUtil.get_timeline_dict()[file] + "Character": + file_metadata = DialogicUtil.get_characters_dict()[file] + "Theme": + file_metadata = DialogicUtil.get_theme_dict()[file] + "Definition": + file_metadata = DialogicUtil.get_default_definitions_dict()[file] + + # add the file item (considering the filter_term) + if (filter_tree_term == '') or (filter_tree_term.to_lower() in file_metadata['name'].to_lower()): + _add_resource_item(resource_type, parent_folder_item, file_metadata, not selected_item.empty() and file == selected_item) + + # force redraw control + update() + + return true if (parent_folder_item.get_children() != null) else false + + +func _add_folder_item(parent_item: TreeItem, folder_name: String, editor:String, meta_folder_info:Dictionary): + # create item + var folder_item:TreeItem= tree.create_item(parent_item) + # set text and icon + folder_item.set_text(0, folder_name) + folder_item.set_icon(0, get_icon("Folder", "EditorIcons")) + folder_item.set_icon_modulate(0, get_color("folder_icon_modulate", "FileDialog")) + # set metadata + folder_item.set_metadata(0, {'editor': editor, 'editable': true}) + # set collapsed + if filter_tree_term.empty(): + folder_item.collapsed = meta_folder_info['folded'] + return folder_item + + +func _add_resource_item(resource_type, parent_item, resource_data, select): + # create item + var item = tree.create_item(parent_item) + # set the text + if resource_data.has('name'): + item.set_text(0, resource_data['name']) + else: + item.set_text(0, resource_data['file']) + if not get_constant("dark_theme", "Editor"): + item.set_icon_modulate(0, get_color("property_color", "Editor")) + # set it as editable + resource_data['editable'] = true + # resource specific changes + match resource_type: + "Timeline": + item.set_icon(0, timeline_icon) + resource_data['editor'] = 'Timeline' + "Character": + item.set_icon(0, character_icon) + resource_data['editor'] = 'Character' + if resource_data.has('color'): + item.set_icon_modulate(0, resource_data['color']) + "Definition": + if resource_data['type'] == 0: + item.set_icon(0, definition_icon) + resource_data['editor'] = 'Value' + else: + item.set_icon(0, glossary_icon) + resource_data['editor'] = 'GlossaryEntry' + "Theme": + item.set_icon(0, theme_icon) + resource_data['editor'] = 'Theme' + + item.set_metadata(0, resource_data) + + if select: + item.select(0) + + +## TIMELINES +func build_timelines(selected_item: String=''): + _clear_tree_children(timelines_tree) + + DialogicUtil.update_resource_folder_structure() + var structure = DialogicUtil.get_timelines_folder_structure() + build_resource_folder(timelines_tree, structure, selected_item, "Timeline Root", "Timeline") + + +## CHARACTERS +func build_characters(selected_item: String=''): + _clear_tree_children(characters_tree) + + DialogicUtil.update_resource_folder_structure() + var structure = DialogicUtil.get_characters_folder_structure() + build_resource_folder(characters_tree, structure, selected_item, "Character Root", "Character") + + +## DEFINTIONS +func build_definitions(selected_item: String=''): + _clear_tree_children(definitions_tree) + + DialogicUtil.update_resource_folder_structure() + var structure = DialogicUtil.get_definitions_folder_structure() + build_resource_folder(definitions_tree, structure, selected_item, "Definition Root", "Definition") + + +## THEMES +func build_themes(selected_item: String=''): + _clear_tree_children(themes_tree) + + DialogicUtil.update_resource_folder_structure() + var structure = DialogicUtil.get_theme_folder_structure() + build_resource_folder(themes_tree, structure, selected_item, "Theme Root", "Theme") + + +func _on_item_collapsed(item: TreeItem): + if filter_tree_term.empty() and item != null and 'Root' in item.get_metadata(0)['editor'] and not 'Documentation' in item.get_metadata(0)['editor']: + DialogicUtil.set_folder_meta(get_item_folder(item, ''), 'folded', item.collapsed) + +func build_documentation(selected_item: String=''): + var child = documentation_tree.get_children() + while child: + child.call_recursive("call_deferred", "free") + child = child.get_next() + $DocsTreeHelper.build_documentation_tree(self, documentation_tree, {'editor':'Documentation Root', 'editable':false}, {'editor':'Documentation', 'editable':false}, filter_tree_term) + call_deferred("update") + +## ***************************************************************************** +## OPENING EDITORS +## ***************************************************************************** + +func _on_item_selected(): + # TODO: Ideally I would perform a "save" here before opening the next + # resource. Unfortunately there has been so many bugs doing that + # that I'll revisit it in the future. + # save_current_resource() + var metadata = get_selected().get_metadata(0) + match metadata['editor']: + 'Timeline': + # Remember to also update this on the `inspector_timeline_picker.gd` + timeline_editor.batches.clear() + timeline_editor.load_timeline(metadata['file']) + show_timeline_editor() + 'Character': + character_editor.load_character(metadata['file']) + show_character_editor() + 'Value': + value_editor.load_definition(metadata['id']) + show_value_editor() + 'GlossaryEntry': + glossary_entry_editor.load_definition(metadata['id']) + show_glossary_entry_editor() + 'Theme': + theme_editor.load_theme(metadata['file']) + show_theme_editor() + 'Settings': + settings_editor.update_data() + show_settings_editor() + 'Documentation', 'Documentation Root': + if metadata['path']: + documentation_viewer.load_page(metadata['path']) + show_documentatio_editor() + get_selected().collapsed = false + _: + hide_all_editors() + +func show_timeline_editor(): + emit_signal("editor_selected", 'timeline') + hide_editors() + timeline_editor.visible = true + +func show_character_editor(): + emit_signal("editor_selected", 'character') + hide_editors() + character_editor.visible = true + +func show_value_editor(): + emit_signal("editor_selected", 'definition') + hide_editors() + value_editor.visible = true + +func show_glossary_entry_editor(): + emit_signal("editor_selected", 'glossary_entry') + hide_editors() + glossary_entry_editor.visible = true + +func show_theme_editor(): + emit_signal("editor_selected", 'theme') + hide_editors() + theme_editor.visible = true + + +func show_settings_editor(): + emit_signal("editor_selected", 'theme') + hide_editors() + settings_editor.visible = true + + +func show_documentatio_editor(): + emit_signal("editor_selected", "documentation") + hide_editors() + documentation_viewer.visible = true + + +func hide_all_editors(): + emit_signal("editor_selected", 'none') + hide_editors() + empty_editor.visible = true + + +func hide_editors(): + character_editor.visible = false + timeline_editor.visible = false + value_editor.visible = false + glossary_entry_editor.visible = false + theme_editor.visible = false + settings_editor.visible = false + documentation_viewer.visible = false + empty_editor.visible = false + +## ***************************************************************************** +## CONTEXT POPUPS on RMB SELECT +## ***************************************************************************** + +func create_rmb_context_menus(): + var timeline_popup = PopupMenu.new() + timeline_popup.add_icon_item(get_icon("Filesystem", "EditorIcons"), 'Show in File Manager') + timeline_popup.add_icon_item(get_icon("ActionCopy", "EditorIcons"), 'Copy Timeline Name') + timeline_popup.add_icon_item(get_icon("Remove", "EditorIcons"), 'Remove Timeline') + add_child(timeline_popup) + rmb_popup_menus["Timeline"] = timeline_popup + + var character_popup = PopupMenu.new() + character_popup.add_icon_item(get_icon("Filesystem", "EditorIcons"), 'Show in File Manager') + character_popup.add_icon_item(get_icon("Remove", "EditorIcons"), 'Remove Character') + add_child(character_popup) + rmb_popup_menus["Character"] = character_popup + + var theme_popup = PopupMenu.new() + theme_popup.add_icon_item(get_icon("Filesystem", "EditorIcons"), 'Show in File Manager') + theme_popup.add_icon_item(get_icon("Duplicate", "EditorIcons"), 'Duplicate Theme') + theme_popup.add_icon_item(get_icon("Remove", "EditorIcons"), 'Remove Theme') + add_child(theme_popup) + rmb_popup_menus["Theme"] = theme_popup + + var definition_popup = PopupMenu.new() + definition_popup.add_icon_item(get_icon("Edit", "EditorIcons"), 'Edit Definitions File') + definition_popup.add_icon_item(get_icon("Remove", "EditorIcons"), 'Remove Definition entry') + add_child(definition_popup) + rmb_popup_menus["Value"] = definition_popup + rmb_popup_menus["GlossaryEntry"] = definition_popup + + ## FOLDER / ROOT ITEMS + var timeline_folder_popup = PopupMenu.new() + timeline_folder_popup.add_icon_item(get_icon("Add", "EditorIcons") ,'Add Timeline') + timeline_folder_popup.add_icon_item(get_icon("Folder", "EditorIcons") ,'Create Subfolder') + timeline_folder_popup.add_icon_item(get_icon("Remove", "EditorIcons") ,'Delete Folder') + add_child(timeline_folder_popup) + rmb_popup_menus['Timeline Root'] = timeline_folder_popup + + var character_folder_popup = PopupMenu.new() + character_folder_popup.add_icon_item(get_icon("Add", "EditorIcons") ,'Add Character') + character_folder_popup.add_icon_item(get_icon("Folder", "EditorIcons") ,'Create Subfolder') + character_folder_popup.add_icon_item(get_icon("Remove", "EditorIcons") ,'Delete Folder') + add_child(character_folder_popup) + rmb_popup_menus['Character Root'] = character_folder_popup + + var theme_folder_popup = PopupMenu.new() + theme_folder_popup.add_icon_item(get_icon("Add", "EditorIcons") ,'Add Theme') + theme_folder_popup.add_icon_item(get_icon("Folder", "EditorIcons") ,'Create Subfolder') + theme_folder_popup.add_icon_item(get_icon("Remove", "EditorIcons") ,'Delete Folder') + add_child(theme_folder_popup) + rmb_popup_menus["Theme Root"] = theme_folder_popup + + var definition_folder_popup = PopupMenu.new() + definition_folder_popup.add_icon_item(get_icon("Add", "EditorIcons") ,'Add Value') + definition_folder_popup.add_icon_item(get_icon("Add", "EditorIcons") ,'Add Glossary Entry') + definition_folder_popup.add_icon_item(get_icon("Folder", "EditorIcons") ,'Create Subfolder') + definition_folder_popup.add_icon_item(get_icon("Remove", "EditorIcons") ,'Delete Folder') + add_child(definition_folder_popup) + rmb_popup_menus["Definition Root"] = definition_folder_popup + + var documentation_folder_popup = PopupMenu.new() + documentation_folder_popup.add_icon_item(get_icon("Edit", "EditorIcons") ,'Toggle Editing Tools') + add_child(documentation_folder_popup) + rmb_popup_menus["Documentation Root"] = documentation_folder_popup + + var documentation_popup = PopupMenu.new() + documentation_popup.add_icon_item(get_icon("Edit", "EditorIcons") ,'Toggle Editing Tools') + add_child(documentation_popup) + rmb_popup_menus["Documentation"] = documentation_popup + + # Connecting context menus + timeline_popup.connect('id_pressed', self, '_on_TimelinePopupMenu_id_pressed') + character_popup.connect('id_pressed', self, '_on_CharacterPopupMenu_id_pressed') + theme_popup.connect('id_pressed', self, '_on_ThemePopupMenu_id_pressed') + definition_popup.connect('id_pressed', self, '_on_DefinitionPopupMenu_id_pressed') + documentation_popup.connect('id_pressed', self, '_on_DocumentationPopupMenu_id_pressed') + + timeline_folder_popup.connect('id_pressed', self, '_on_TimelineRootPopupMenu_id_pressed') + character_folder_popup.connect('id_pressed', self, '_on_CharacterRootPopupMenu_id_pressed') + theme_folder_popup.connect('id_pressed', self, '_on_ThemeRootPopupMenu_id_pressed') + definition_folder_popup.connect('id_pressed', self, '_on_DefinitionRootPopupMenu_id_pressed') + documentation_folder_popup.connect('id_pressed', self, '_on_DocumentationPopupMenu_id_pressed') + + +func _on_item_rmb_selected(position): + var item = get_selected().get_metadata(0) + if item.has('editor'): + rmb_popup_menus[item["editor"]].rect_position = get_viewport().get_mouse_position() + rmb_popup_menus[item["editor"]].popup() + +## item paths (for the folder structure management) +# this returns the folder path, or the folder the item is in (if it's not a folder) +# it makes sure the folder_path begins with @root! +func get_item_folder(item: TreeItem, root : String): + if not item: + return root + var current_path:String = get_item_path(item) + if not "Root" in item.get_metadata(0)['editor']: + current_path = DialogicUtil.get_parent_path(current_path) + if not current_path.begins_with(root): + return root + return current_path + + +func get_item_path(item: TreeItem) -> String: + if item == null: + return '' + return create_item_path_recursive(item, "").trim_suffix("/") + + +func create_item_path_recursive(item:TreeItem, path:String) -> String: + # don't use this function directly + # use get_item_path() or get_item_folder() + path = item.get_text(0)+'/'+path + if item.get_parent() == get_root(): + return path + else: + path = create_item_path_recursive(item.get_parent(), path) + return path + +## RESOURCE POPUPS + +# Timeline context menu +func _on_TimelinePopupMenu_id_pressed(id): + if id == 0: # View files + OS.shell_open(ProjectSettings.globalize_path(DialogicResources.get_path('TIMELINE_DIR'))) + if id == 1: # Copy to clipboard + OS.set_clipboard(get_item_path(get_selected()).replace('Timelines', '')) + if id == 2: # Remove + editor_reference.popup_remove_confirmation('Timeline') + + +# Character context menu +func _on_CharacterPopupMenu_id_pressed(id): + if id == 0: + OS.shell_open(ProjectSettings.globalize_path(DialogicResources.get_path('CHAR_DIR'))) + if id == 1: + editor_reference.popup_remove_confirmation('Character') + + +# Theme context menu +func _on_ThemePopupMenu_id_pressed(id): + if id == 0: + OS.shell_open(ProjectSettings.globalize_path(DialogicResources.get_path('THEME_DIR'))) + if id == 1: + var filename = editor_reference.get_node('MainPanel/MasterTreeContainer/MasterTree').get_selected().get_metadata(0)['file'] + if (filename.begins_with('theme-')): + theme_editor.duplicate_theme(filename) + if id == 2: + editor_reference.popup_remove_confirmation('Theme') + + +# Definition context menu +func _on_DefinitionPopupMenu_id_pressed(id): + if id == 0: + var paths = DialogicResources.get_config_files_paths() + OS.shell_open(ProjectSettings.globalize_path(paths['DEFAULT_DEFINITIONS_FILE'])) + if id == 1: + if value_editor.visible: + editor_reference.popup_remove_confirmation('Value') + elif glossary_entry_editor.visible: + editor_reference.popup_remove_confirmation('GlossaryEntry') + +## FOLDER POPUPS + +# Timeline Folder context menu +func _on_TimelineRootPopupMenu_id_pressed(id): + if id == 0: # Add Timeline + new_timeline() + if id == 1: # add subfolder + DialogicUtil.add_folder(get_item_path(get_selected()), "New Folder "+str(OS.get_unix_time())) + build_timelines() + if id == 2: # remove folder and substuff + if get_selected().get_parent() == get_root(): + return + editor_reference.get_node('RemoveFolderConfirmation').popup_centered() + + +# Character Folder context menu +func _on_CharacterRootPopupMenu_id_pressed(id): + if id == 0: # Add Character + new_character() + if id == 1: # add subfolder + DialogicUtil.add_folder(get_item_path(get_selected()), "New Folder "+str(OS.get_unix_time())) + + build_characters() + if id == 2: # remove folder and substuff + if get_selected().get_parent() == get_root(): + return + editor_reference.get_node('RemoveFolderConfirmation').popup_centered() + + +# Definition Folder context menu +func _on_DefinitionRootPopupMenu_id_pressed(id): + if id == 0: # Add Value Definition + new_value_definition() + if id == 1: # Add Glossary Definition + new_glossary_entry() + if id == 2: # add subfolder + DialogicUtil.add_folder(get_item_path(get_selected()), "New Folder "+str(OS.get_unix_time())) + build_definitions() + if id == 3: # remove folder and substuff + if get_selected().get_parent() == get_root(): + return + editor_reference.get_node('RemoveFolderConfirmation').popup_centered() + + +# Theme Folder context menu +func _on_ThemeRootPopupMenu_id_pressed(id): + if id == 0: # Add Theme + new_theme() + if id == 1: # add subfolder + DialogicUtil.add_folder(get_item_path(get_selected()), "New Folder "+str(OS.get_unix_time())) + build_themes() + if id == 2: # remove folder and substuff + if get_selected().get_parent() == get_root(): + return + editor_reference.get_node('RemoveFolderConfirmation').popup_centered() + + +func _on_DocumentationPopupMenu_id_pressed(id): + if id == 0: # edit text toggled + documentation_viewer.toggle_editing() +## ***************************************************************************** +## CREATING AND REMOVING +## ***************************************************************************** + +# creates a new timeline and opens it +# it will be added to the selected folder (if it's a timeline folder) or the Timeline root folder +func new_timeline(): + var timeline = editor_reference.get_node('MainPanel/TimelineEditor').create_timeline() + var folder = get_item_folder(get_selected(), "Timelines") + DialogicUtil.add_file_to_folder(folder, timeline['metadata']['file']) + build_timelines(timeline['metadata']['file']) + rename_selected() + + +# creates a new character and opens it +# it will be added to the selected folder (if it's a character folder) or the Character root folder +func new_character(): + var character = editor_reference.get_node("MainPanel/CharacterEditor").create_character() + var folder = get_item_folder(get_selected(), "Characters") + DialogicUtil.add_file_to_folder(folder, character['metadata']['file']) + build_characters(character['metadata']['file']) + rename_selected() + +# creates a new theme and opens it +# it will be added to the selected folder (if it's a theme folder) or the Theme root folder +func new_theme(): + var theme_file = editor_reference.get_node("MainPanel/ThemeEditor").create_theme() + var folder = get_item_folder(get_selected(), "Themes") + DialogicUtil.add_file_to_folder(folder, theme_file) + build_themes(theme_file) + rename_selected() + +# creates a new value and opens it +# it will be added to the selected folder (if it's a definition folder) or the Definition root folder +func new_value_definition(): + var definition_id = editor_reference.get_node("MainPanel/ValueEditor").create_value() + var folder = get_item_folder(get_selected(), "Definitions") + DialogicUtil.add_file_to_folder(folder, definition_id) + build_definitions(definition_id) + rename_selected() + +# creates a new glossary entry and opens it +# it will be added to the selected folder (if it's a definition folder) or the Definition root folder +func new_glossary_entry(): + var definition_id = editor_reference.get_node("MainPanel/GlossaryEntryEditor").create_glossary_entry() + var folder = get_item_folder(get_selected(), "Definitions") + DialogicUtil.add_file_to_folder(folder, definition_id) + build_definitions(definition_id) + rename_selected() + + +func remove_selected(): + var item = get_selected() + item.free() + timelines_tree.select(0) + settings_editor.update_data() + + +func rename_selected(): + yield(get_tree(), "idle_frame") + _start_rename() + edit_selected() + +## ***************************************************************************** +## DRAGGING ITEMS +## ***************************************************************************** + +func can_drop_data(position, data) -> bool: + var item = get_item_at_position(position) + if item == null: + return false + # if the data isn't empty and it's a valid DICT + if data != null and data is Dictionary and data.has('item_type'): + # if it's not trying to add a folder to a file + if not (data['item_type'] == "folder" and not 'Root' in item.get_metadata(0)["editor"]): + # if it's the same type of folder as before + if get_item_folder(item, '').split("/")[0] == data['orig_path'].split("/")[0]: + # make sure the folder/item is not a subfolder of the original folder + if data['item_type'] == "file" or (not get_item_folder(item, '').begins_with(data['orig_path'])): + return true + return false + +func drop_data(position, data): + var item = get_item_at_position(position) + var drop_section = get_drop_section_at_position(position) + if not data.has('item_type'): + return + if data['orig_path'] == get_item_folder(item, ''): + return + # dragging a folder + if data['item_type'] == 'folder': + # on a folder + if 'Root' in item.get_metadata(0)['editor']: + DialogicUtil.move_folder_to_folder(data['orig_path'], get_item_folder(item, data['orig_path'].split('/')[0])) + # dragging a file + elif data['item_type'] == 'file': + # on a folder + if 'Root' in item.get_metadata(0)['editor']: + if data.has('file_name'): + DialogicUtil.move_file_to_folder(data['file_name'], data['orig_path'], get_item_folder(item, data['orig_path'].split('/')[0])) + elif data.has('resource_id'): + DialogicUtil.move_file_to_folder(data['resource_id'], data['orig_path'], get_item_folder(item, data['orig_path'].split('/')[0])) + pass # WORK TODO + # on a file + else: + DialogicUtil.move_file_to_folder(data['file_name'], data['orig_path'], get_item_folder(item, data['orig_path'].split('/')[0])) + dragging_item.queue_free() + dragging_item = null + build_full_tree() + +func get_drag_data(position): + var item = get_item_at_position(position) + # if it is a folder and it's not one of the root folders + if 'Root' in item.get_metadata(0)['editor'] and item.get_parent().get_parent(): + instance_drag_preview(item.get_icon(0), item.get_text(0)) + return {'item_type': 'folder', 'orig_path': get_item_folder(item, "")} + else: + if item.get_metadata(0).has('file'): + instance_drag_preview(item.get_icon(0), item.get_text(0)) + return {'item_type': 'file', 'orig_path': get_item_folder(item, ""), 'file_name':item.get_metadata(0)['file']} + elif item.get_metadata(0).has('id'): + instance_drag_preview(item.get_icon(0), item.get_text(0)) + return {'item_type': 'file', 'orig_path': get_item_folder(item, ""), 'resource_id':item.get_metadata(0)['id']} + return null + +func instance_drag_preview(icon, text): + dragging_item = drag_preview.instance() + dragging_item.get_node("Panel").self_modulate = get_color("base_color", "Editor") + dragging_item.get_node("Panel/HBox/Icon").texture = icon + dragging_item.get_node("Panel/HBox/Label").text = text + editor_reference.add_child(dragging_item) + +func _process(delta): + if dragging_item != null: + if Input.is_mouse_button_pressed(1): + dragging_item.rect_global_position = get_global_mouse_position()+Vector2(10,10) + else: + dragging_item.queue_free() + dragging_item = null + + +## ***************************************************************************** +## ITEM EDITING (RENAMING) +## ***************************************************************************** + +func _on_renamer_reset_timeout(): + get_selected().set_editable(0, false) + + +func _on_gui_input(event): + if event is InputEventMouseButton and event.button_index == 1: + if event.is_pressed() and event.doubleclick: + _start_rename() + + +func _start_rename(): + var item = get_selected() + var metadata = item.get_metadata(0) + if metadata.has("editable") and metadata["editable"]: + item_path_before_edit = get_item_path(item) + item.set_editable(0, true) + $RenamerReset.start(0.5) + + +func _on_item_edited(): + var item = get_selected() + var metadata = item.get_metadata(0) + if metadata['editor'] == 'Timeline': + timeline_editor.timeline_name = item.get_text(0) + save_current_resource() + build_timelines(metadata['file']) + if metadata['editor'] == 'Theme': + DialogicResources.set_theme_value(metadata['file'], 'settings', 'name', item.get_text(0)) + build_themes(metadata['file']) + if metadata['editor'] == 'Character': + character_editor.nodes['name'].text = item.get_text(0) + save_current_resource() + build_characters(metadata['file']) + if metadata['editor'] == 'Value': + value_editor.nodes['name'].text = item.get_text(0) + # Not sure why this signal doesn't triggers + value_editor._on_name_changed(item.get_text(0)) + save_current_resource() + build_definitions(metadata['id']) + if metadata['editor'] == 'GlossaryEntry': + glossary_entry_editor.nodes['name'].text = item.get_text(0) + # Not sure why this signal doesn't triggers + glossary_entry_editor._on_name_changed(item.get_text(0)) + save_current_resource() + build_definitions(metadata['id']) + + if "Root" in metadata['editor']: + if item.get_text(0) == item_path_before_edit.split("/")[-1]: + return + var result = DialogicUtil.rename_folder(item_path_before_edit, item.get_text(0)) + if result != OK: + item.set_text(0, item_path_before_edit.split("/")[-1]) + +## ***************************************************************************** +## AUTO SAVING +## ***************************************************************************** + +func _on_autosave_timeout(): + save_current_resource() + +func save_current_resource(): + if editor_reference and editor_reference.visible: #Only save if the editor is open + var item: TreeItem = get_selected() + var metadata: Dictionary + if item != null: + metadata = item.get_metadata(0) + if metadata['editor'] == 'Timeline': + timeline_editor.save_timeline() + if metadata['editor'] == 'Character': + character_editor.save_character() + if metadata['editor'] == 'Value': + value_editor.save_definition() + if metadata['editor'] == 'GlossaryEntry': + glossary_entry_editor.save_definition() + # Note: Theme files auto saves on change + + +## ***************************************************************************** +## SEARCHING/FILTERING +## ***************************************************************************** + + +func _on_filter_tree_edit_changed(value): + filter_tree_term = value + if not filter_tree_term.empty(): + timelines_tree.collapsed = false + characters_tree.collapsed = false + definitions_tree.collapsed = false + themes_tree.collapsed = false + else: + timelines_tree.collapsed = DialogicUtil.get_folder_meta('Timelines', 'folded') + characters_tree.collapsed = DialogicUtil.get_folder_meta('Timelines', 'folded') + definitions_tree.collapsed = DialogicUtil.get_folder_meta('Timelines', 'folded') + themes_tree.collapsed = DialogicUtil.get_folder_meta('Timelines', 'folded') + + if get_selected(): + build_full_tree(get_selected().get_metadata(0).get('file', '')) + else: + build_full_tree() + + # This was merged, not sure if it is properly placed + build_documentation() + + +## ***************************************************************************** +## SELECTING AN ITEM +## ***************************************************************************** + +func select_timeline_item(timeline_name): + if (timeline_name == ''): + return + + var main_item = tree.get_root().get_children() + + # wow, godots tree traversal is extremly odd, or I just don't get it + while (main_item): + + if (main_item == null): + break + + if (main_item.has_method("get_text") && main_item.get_text(0) == "Timelines"): + var item = main_item.get_children() + while (item): + + if (not item.has_method("get_metadata")): + item = item.get_next() + continue + + var meta = item.get_metadata(0) + + if (meta == null): + item = item.get_next() + continue + + if (not meta.has("editor") or meta["editor"] != "Timeline"): + item = item.get_next() + continue + + # search for filename + if (meta.has("file") and meta["file"] == timeline_name): + # select this one + item.select(0) + return; + + # search for name + if (meta.has("name") and meta["name"] == timeline_name): + # select this one + item.select(0) + return; + + item = item.get_next() + break + else: + main_item = main_item.get_next() + + # fallback + hide_all_editors() + pass + + +func select_documentation_item(docs_page_path): + if not $DocsTreeHelper.search_and_select_docs(documentation_tree, docs_page_path): + hide_all_editors() diff --git a/addons/dialogic/Editor/MasterTree/MasterTree.tscn b/addons/dialogic/Editor/MasterTree/MasterTree.tscn new file mode 100644 index 0000000..fc69c56 --- /dev/null +++ b/addons/dialogic/Editor/MasterTree/MasterTree.tscn @@ -0,0 +1,28 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://addons/dialogic/Editor/MasterTree/MasterTree.gd" type="Script" id=1] +[ext_resource path="res://addons/dialogic/Documentation/Nodes/DocsTreeHelper.tscn" type="PackedScene" id=2] + +[node name="MasterTree" type="Tree"] +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_right = -874.0 +rect_min_size = Vector2( 150, 0 ) +custom_colors/drop_position_color = Color( 0.321569, 0.529412, 0.815686, 0 ) +allow_rmb_select = true +hide_root = true +drop_mode_flags = 1 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="RenamerReset" type="Timer" parent="."] +one_shot = true + +[node name="AutoSave" type="Timer" parent="."] + +[node name="DocsTreeHelper" parent="." instance=ExtResource( 2 )] +margin_right = 47.0 +margin_bottom = 45.0 +mouse_filter = 2 diff --git a/addons/dialogic/Editor/SettingsEditor/SettingsEditor.gd b/addons/dialogic/Editor/SettingsEditor/SettingsEditor.gd new file mode 100644 index 0000000..dd1b250 --- /dev/null +++ b/addons/dialogic/Editor/SettingsEditor/SettingsEditor.gd @@ -0,0 +1,287 @@ +tool +extends ScrollContainer + +var editor_reference + +onready var nodes = { + # Theme + 'themes': $VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer/HBoxContainer/ThemeOptionButton, + 'advanced_themes': $VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer/HBoxContainer2/AdvancedThemes, + 'canvas_layer' : $VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer/HBoxContainer3/CanvasLayer, + + # Dialog + 'new_lines': $VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2/HBoxContainer2/NewLines, + 'remove_empty_messages': $VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2/HBoxContainer/RemoveEmptyMessages, + 'auto_color_names': $VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2/HBoxContainer3/AutoColorNames, + 'propagate_input': $VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2/HBoxContainer4/PropagateInput, + 'dim_characters': $VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2/HBoxContainer5/DimCharacters, + 'text_event_audio_enable': $VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2/HBoxContainer7/EnableVoices, + 'text_event_audio_default_bus' : $VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2/TextAudioDefaultBus/AudioBus, + 'translations': $VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2/HBoxContainer6/Translations, + + # Save + 'autosave': $VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer3/HBoxContainer/Autosave, + + # Input Settings + 'delay_after_options': $VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer/HBoxContainer/LineEdit, + 'default_action_key': $VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer/HBoxContainer2/DefaultActionKey, + 'new_custom_event_open':$VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/HBoxContainer/NewCustomEvent, + 'new_custom_event_section': $VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/CreateCustomEventSection, + 'new_custom_event_name': $VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/CreateCustomEventSection/CeName, + 'new_custom_event_directory': $VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/CreateCustomEventSection/CeDirectory, + 'new_custom_event_id': $VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/CreateCustomEventSection/CeEventId, + 'new_custom_event_create':$VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/CreateCustomEventSection/HBoxContainer/CreateCustomEvent, + 'new_custom_event_cancel':$VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/CreateCustomEventSection/HBoxContainer/CancelCustomEvent, + } + +var THEME_KEYS := [ + 'advanced_themes', + 'canvas_layer', + ] + +var INPUT_KEYS := [ + 'delay_after_options', + 'default_action_key' + ] + +var DIALOG_KEYS := [ + 'translations', + 'new_lines', + 'remove_empty_messages', + 'auto_color_names', + 'propagate_input', + 'dim_characters', + 'text_event_audio_enable', + ] + +var SAVING_KEYS := [ + 'autosave', + ] + +func _ready(): + editor_reference = find_parent('EditorView') + update_bus_selector() + + update_data() + + # Themes + nodes['themes'].connect('item_selected', self, '_on_default_theme_selected') + nodes['delay_after_options'].connect('text_changed', self, '_on_delay_options_text_changed') + # TODO move to theme section later + nodes['advanced_themes'].connect('toggled', self, '_on_item_toggled', ['dialog', 'advanced_themes']) + nodes['canvas_layer'].connect('text_changed', self, '_on_canvas_layer_text_changed') + + nodes['default_action_key'].connect('pressed', self, '_on_default_action_key_presssed') + nodes['default_action_key'].connect('item_selected', self, '_on_default_action_key_item_selected') + + AudioServer.connect("bus_layout_changed", self, "update_bus_selector") + nodes['text_event_audio_default_bus'].connect('item_selected', self, '_on_text_audio_default_bus_item_selected') + + for k in DIALOG_KEYS: + nodes[k].connect('toggled', self, '_on_item_toggled', ['dialog', k]) + + for k in SAVING_KEYS: + nodes[k].connect('toggled', self, '_on_item_toggled', ['saving', k]) + + ## The custom event section + nodes['new_custom_event_open'].connect("pressed", self, "new_custom_event_pressed") + nodes['new_custom_event_section'].hide() + nodes['new_custom_event_name'].connect("text_changed", self, "custom_event_name_entered") + nodes['new_custom_event_id'].connect("text_changed", self, "custom_event_id_entered") + nodes['new_custom_event_cancel'].connect("pressed", self, "cancel_custom_event") + nodes['new_custom_event_create'].connect("pressed", self, "create_custom_event") + $VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/HBoxContainer/Message.set('custom_colors/font_color', get_color("error_color", "Editor")) + $VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/HBoxContainer/CustomEventsDocs.icon = get_icon("HelpSearch", "EditorIcons") + $VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/HBoxContainer/CustomEventsDocs.connect("pressed", self, 'open_custom_event_docs') + + +func update_data(): + var settings = DialogicResources.get_settings_config() + nodes['canvas_layer'].text = settings.get_value("theme", "canvas_layer", '1') + refresh_themes(settings) + load_values(settings, "dialog", DIALOG_KEYS) + load_values(settings, "saving", SAVING_KEYS) + load_values(settings, "input", INPUT_KEYS) + select_bus(settings.get_value("dialog", 'text_event_audio_default_bus', "Master")) + +func load_values(settings: ConfigFile, section: String, key: Array): + for k in key: + if settings.has_section_key(section, k): + if nodes[k] is LineEdit: + nodes[k].text = settings.get_value(section, k) + else: + if k == 'default_action_key': + nodes['default_action_key'].text = settings.get_value(section, k) + else: + nodes[k].pressed = settings.get_value(section, k, false) + + +func refresh_themes(settings: ConfigFile): + # TODO move to theme section later + if settings.has_section_key('dialog', 'advanced_themes'): + nodes['advanced_themes'].pressed = settings.get_value('dialog', 'advanced_themes') + + nodes['themes'].clear() + var theme_list = DialogicUtil.get_sorted_theme_list() + var theme_indexes = {} + var index = 0 + for theme in theme_list: + nodes['themes'].add_item(theme['name']) + nodes['themes'].set_item_metadata(index, {'file': theme['file']}) + theme_indexes[theme['file']] = index + index += 1 + + # Only one item added, then save as default + if index == 1: + set_value('theme', 'default', theme_list[0]['file']) + + # More than one theme? Select which the default one is + if index > 1: + if settings.has_section_key('theme', 'default'): + nodes['themes'].select(theme_indexes[settings.get_value('theme', 'default', null)]) + else: + # Fallback + set_value('theme', 'default', theme_list[0]['file']) + + +func _on_default_theme_selected(index): + set_value('theme', 'default', nodes['themes'].get_item_metadata(index)['file']) + + +func _on_delay_options_text_changed(text): + set_value('input', 'delay_after_options', text) + + +func _on_item_toggled(value: bool, section: String, key: String): + set_value(section, key, value) + + +func _on_default_action_key_presssed() -> void: + var settings = DialogicResources.get_settings_config() + nodes['default_action_key'].clear() + nodes['default_action_key'].add_item(settings.get_value('input', 'default_action_key', '[Default]')) + nodes['default_action_key'].add_item('[Default]') + InputMap.load_from_globals() + for a in InputMap.get_actions(): + nodes['default_action_key'].add_item(a) + + +func _on_default_action_key_item_selected(index) -> void: + set_value('input', 'default_action_key', nodes['default_action_key'].text) + + +func _on_canvas_layer_text_changed(text) -> void: + set_value('theme', 'canvas_layer', text) + + +# Reading and saving data to the settings file +func set_value(section, key, value): + DialogicResources.set_settings_value(section, key, value) + +func update_bus_selector(): + if nodes["text_event_audio_default_bus"] != null: + var previous_selected_bus_name = "" + if nodes["text_event_audio_default_bus"].get_item_count(): + previous_selected_bus_name = nodes["text_event_audio_default_bus"].get_item_text(max(0, nodes["text_event_audio_default_bus"].selected)) + + nodes["text_event_audio_default_bus"].clear() + for i in range(AudioServer.bus_count): + var bus_name = AudioServer.get_bus_name(i) + nodes["text_event_audio_default_bus"].add_item(bus_name) + + if previous_selected_bus_name == bus_name: + nodes["text_event_audio_default_bus"].select(i) + + +func select_bus(text): + for item_idx in range(nodes["text_event_audio_default_bus"].get_item_count()): + if nodes["text_event_audio_default_bus"].get_item_text(item_idx) == text: + nodes["text_event_audio_default_bus"].select(item_idx) + return + nodes["text_event_audio_default_bus"].select(0) + + +func _on_text_audio_default_bus_item_selected(index): + var text = nodes['text_event_audio_default_bus'].get_item_text(index) + set_value('dialog', 'text_event_audio_default_bus', text) + + +################################################################################ +## CUSTOM EVENT SECTION +################################################################################ + +func open_custom_event_docs(): + editor_reference.get_node("MainPanel/MasterTreeContainer/MasterTree").select_documentation_item("res://addons/dialogic/Documentation/Content/Events/Custom Events/CreateCustomEvents.md") + +func new_custom_event_pressed(): + nodes['new_custom_event_section'].show() + nodes['new_custom_event_name'].text = '' + nodes['new_custom_event_directory'].text = '' + nodes['new_custom_event_id'].text = '' + + nodes['new_custom_event_create'].disabled = true + $VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/HBoxContainer/Message.text = "" + +func custom_event_name_entered(text:String): + nodes['new_custom_event_directory'].text = text + + nodes['new_custom_event_create'].disabled = nodes['new_custom_event_id'].text != '' + $VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/HBoxContainer/Message.text = "" + + +func custom_event_id_entered(text): + if nodes['new_custom_event_name'].text != '': + nodes['new_custom_event_create'].disabled = false + $VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/HBoxContainer/Message.text = "" + +func cancel_custom_event(): + nodes['new_custom_event_section'].hide() + $VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/HBoxContainer/Message.text = "" + +func create_custom_event(): + # do checks for incomplete input + if nodes['new_custom_event_directory'].text.empty(): + print('[D] No directory specified!') + $VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/HBoxContainer/Message.text = "Enter a directory name!" + return + if nodes['new_custom_event_name'].text.empty(): + print('[D] No name specified!') + $VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/HBoxContainer/Message.text = "Enter a event name!" + return + if nodes['new_custom_event_id'].text.empty(): + print('[D] No id specified!') + $VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/HBoxContainer/Message.text = "Enter an id!" + return + + # create new directory + var dir_name = 'res://dialogic/custom-events/'+nodes['new_custom_event_directory'].text + var dir = Directory.new() + if dir.dir_exists(dir_name): + $VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/HBoxContainer/Message.text = "The folder already exists!" + print("[D] Custom Events folder '"+nodes['new_custom_event_directory'].text+"' already exists!") + return + dir.make_dir(dir_name) + + # copy all necessary files + for file in ['EventBlock.tscn', 'Stylebox.tres', 'EventPart_Example.gd', 'EventPart_Example.tscn', 'event_yourname_000.gd']: + dir.copy("res://addons/dialogic/Example Assets/CustomEvents/"+file, dir_name+"/"+file) + + # rename the event handler script + dir.rename(dir_name+'/event_yourname_000.gd', dir_name+'/event_'+nodes['new_custom_event_id'].text+'.gd') + + # edit the EventBlock scene + var event_block_scene = load(dir_name+'/EventBlock.tscn').instance(PackedScene.GEN_EDIT_STATE_INSTANCE) + event_block_scene.event_name = nodes['new_custom_event_name'].text + event_block_scene.event_data = {'event_id':nodes['new_custom_event_id'].text} + event_block_scene.event_style = load(dir_name+"/Stylebox.tres") + event_block_scene.event_icon = load("res://addons/dialogic/Images/Event Icons/Main Icons/custom-event.svg") + var packed = PackedScene.new() + packed.pack(event_block_scene) + ResourceSaver.save(dir_name+'/EventBlock.tscn', packed) + + # close the section + nodes['new_custom_event_section'].hide() + + # force godot to show the folder + editor_reference.editor_interface.get_resource_filesystem().scan() + $VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/HBoxContainer/Message.text = "" diff --git a/addons/dialogic/Editor/SettingsEditor/SettingsEditor.tscn b/addons/dialogic/Editor/SettingsEditor/SettingsEditor.tscn new file mode 100644 index 0000000..ccdaf19 --- /dev/null +++ b/addons/dialogic/Editor/SettingsEditor/SettingsEditor.tscn @@ -0,0 +1,538 @@ +[gd_scene load_steps=6 format=2] + +[ext_resource path="res://addons/dialogic/Editor/SettingsEditor/SettingsEditor.gd" type="Script" id=1] +[ext_resource path="res://addons/dialogic/Editor/Common/SectionTitle.tscn" type="PackedScene" id=2] +[ext_resource path="res://addons/dialogic/Editor/Common/TLabel.tscn" type="PackedScene" id=3] + +[sub_resource type="Image" id=3] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=2] +flags = 4 +flags = 4 +image = SubResource( 3 ) +size = Vector2( 16, 16 ) + +[node name="SettingsEditor" type="ScrollContainer"] +anchor_right = 1.0 +anchor_bottom = 1.0 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="VBoxContainer" type="VBoxContainer" parent="."] +margin_right = 1024.0 +margin_bottom = 600.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="HBoxContainer3" type="HBoxContainer" parent="VBoxContainer"] +margin_right = 1024.0 +margin_bottom = 482.0 + +[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/HBoxContainer3"] +margin_right = 356.0 +margin_bottom = 482.0 +custom_constants/separation = 16 + +[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer"] +margin_right = 356.0 +margin_bottom = 102.0 + +[node name="SectionTitle" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer" instance=ExtResource( 2 )] +margin_right = 356.0 +text = "Theme" +text_key = "Theme" + +[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer"] +margin_top = 26.0 +margin_right = 356.0 +margin_bottom = 46.0 + +[node name="TLabel" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer/HBoxContainer" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 3.0 +margin_right = 46.0 +margin_bottom = 17.0 +text = "Default" +text_key = "Default" + +[node name="ThemeOptionButton" type="OptionButton" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer/HBoxContainer"] +margin_left = 50.0 +margin_right = 190.0 +margin_bottom = 20.0 +rect_min_size = Vector2( 140, 0 ) +text = "NightTheme" +items = [ "DayTheme", null, false, 0, { +"file": "theme-1621517790.cfg" +}, "NightTheme", null, false, 1, { +"file": "theme-1621517668.cfg" +} ] +selected = 1 + +[node name="HBoxContainer2" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer"] +margin_top = 50.0 +margin_right = 356.0 +margin_bottom = 74.0 +hint_tooltip = "These options can lead to unexpected behaviors. Make sure to read the documentation before using these." + +[node name="TLabel2" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer/HBoxContainer2" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 5.0 +margin_right = 160.0 +margin_bottom = 19.0 +text = "Advanced theme options" +text_key = "Advanced theme options" + +[node name="AdvancedThemes" type="CheckBox" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer/HBoxContainer2"] +margin_left = 164.0 +margin_right = 188.0 +margin_bottom = 24.0 +pressed = true + +[node name="HBoxContainer3" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer"] +margin_top = 78.0 +margin_right = 356.0 +margin_bottom = 102.0 + +[node name="TLabel3" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer/HBoxContainer3" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 5.0 +margin_right = 83.0 +margin_bottom = 19.0 +text = "Canvas layer:" +text_key = "Canvas layer:" + +[node name="CanvasLayer" type="LineEdit" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer/HBoxContainer3"] +margin_left = 87.0 +margin_right = 145.0 +margin_bottom = 24.0 +text = "1" + +[node name="VBoxContainer2" type="VBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer"] +margin_top = 118.0 +margin_right = 356.0 +margin_bottom = 416.0 + +[node name="SectionTitle" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2" instance=ExtResource( 2 )] +margin_right = 356.0 +text = "Dialog" +text_key = "Dialog" + +[node name="HBoxContainer2" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2"] +margin_top = 26.0 +margin_right = 356.0 +margin_bottom = 50.0 + +[node name="TLabel" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2/HBoxContainer2" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 5.0 +margin_right = 237.0 +margin_bottom = 19.0 +text = "New lines will create extra messages" +text_key = "New lines will create extra messages" + +[node name="NewLines" type="CheckBox" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2/HBoxContainer2"] +margin_left = 241.0 +margin_right = 265.0 +margin_bottom = 24.0 +hint_tooltip = "If enabled, every new line will be displayed +as a separated message." +pressed = true + +[node name="HBoxContainer2" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2"] +margin_top = 54.0 +margin_right = 356.0 +margin_bottom = 54.0 + +[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2"] +margin_top = 58.0 +margin_right = 356.0 +margin_bottom = 82.0 + +[node name="TLabel2" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2/HBoxContainer" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 5.0 +margin_right = 165.0 +margin_bottom = 19.0 +text = "Remove empty messages" +text_key = "Remove empty messages" + +[node name="RemoveEmptyMessages" type="CheckBox" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2/HBoxContainer"] +margin_left = 169.0 +margin_right = 356.0 +margin_bottom = 24.0 +size_flags_horizontal = 3 + +[node name="HBoxContainer3" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2"] +margin_top = 86.0 +margin_right = 356.0 +margin_bottom = 110.0 + +[node name="TLabel3" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2/HBoxContainer3" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 5.0 +margin_right = 260.0 +margin_bottom = 19.0 +text = "Auto color character names in messages" +text_key = "Auto color character names in messages" + +[node name="AutoColorNames" type="CheckBox" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2/HBoxContainer3"] +margin_left = 264.0 +margin_right = 288.0 +margin_bottom = 24.0 +pressed = true + +[node name="HBoxContainer4" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2"] +margin_top = 114.0 +margin_right = 356.0 +margin_bottom = 138.0 + +[node name="TLabel4" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2/HBoxContainer4" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 5.0 +margin_right = 219.0 +margin_bottom = 19.0 +text = "Propagate input to rest of the Tree" +text_key = "Propagate input to rest of the Tree" + +[node name="PropagateInput" type="CheckBox" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2/HBoxContainer4"] +margin_left = 223.0 +margin_right = 247.0 +margin_bottom = 24.0 +pressed = true + +[node name="HBoxContainer5" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2"] +margin_top = 142.0 +margin_right = 356.0 +margin_bottom = 166.0 + +[node name="TLabel5" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2/HBoxContainer5" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 5.0 +margin_right = 276.0 +margin_bottom = 19.0 +text = "Dim characters when they are not speaking" +text_key = "Dim characters when they are not speaking" + +[node name="DimCharacters" type="CheckBox" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2/HBoxContainer5"] +margin_left = 280.0 +margin_right = 304.0 +margin_bottom = 24.0 +pressed = true + +[node name="HSeparator2" type="HSeparator" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2"] +margin_top = 170.0 +margin_right = 356.0 +margin_bottom = 174.0 + +[node name="TLabel6" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 178.0 +margin_right = 356.0 +margin_bottom = 192.0 +text = "Audio for Text events:" +text_key = "Audio for Text events:" + +[node name="HBoxContainer7" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2"] +margin_top = 196.0 +margin_right = 356.0 +margin_bottom = 220.0 + +[node name="TLabel7" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2/HBoxContainer7" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 5.0 +margin_right = 180.0 +margin_bottom = 19.0 +text = "Enable audio for Text events" +text_key = "Enable audio for Text events" + +[node name="EnableVoices" type="CheckBox" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2/HBoxContainer7"] +margin_left = 184.0 +margin_right = 208.0 +margin_bottom = 24.0 + +[node name="TextAudioDefaultBus" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2"] +margin_top = 224.0 +margin_right = 356.0 +margin_bottom = 244.0 + +[node name="TLabel8" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2/TextAudioDefaultBus" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 3.0 +margin_right = 204.0 +margin_bottom = 17.0 +text = "Default bus for Text event audio" +text_key = "Default bus for Text event audio" + +[node name="AudioBus" type="OptionButton" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2/TextAudioDefaultBus"] +margin_left = 208.0 +margin_right = 281.0 +margin_bottom = 20.0 +text = "Master" +items = [ "Master", null, false, 0, null ] +selected = 0 + +[node name="HSeparator" type="HSeparator" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2"] +margin_top = 248.0 +margin_right = 356.0 +margin_bottom = 252.0 + +[node name="TLabel9" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 256.0 +margin_right = 356.0 +margin_bottom = 270.0 +text = "Experimental Translations:" +text_key = "Experimental Translations:" + +[node name="HBoxContainer6" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2"] +margin_top = 274.0 +margin_right = 356.0 +margin_bottom = 298.0 + +[node name="TLabel9" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2/HBoxContainer6" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 5.0 +margin_right = 328.0 +margin_bottom = 19.0 +text = "Inputs for text events will be treated as keys for tr()" +text_key = "Inputs for text events will be treated as keys for tr()" + +[node name="Translations" type="CheckBox" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2/HBoxContainer6"] +margin_left = 332.0 +margin_right = 356.0 +margin_bottom = 24.0 +hint_tooltip = "If enabled, inputs for text events will be treated as keys for tr()" +pressed = true + +[node name="VBoxContainer3" type="VBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer"] +margin_top = 432.0 +margin_right = 356.0 +margin_bottom = 482.0 + +[node name="SectionTitle" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer3" instance=ExtResource( 2 )] +margin_right = 356.0 +text = "Saving" +text_key = "Saving" + +[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer3"] +margin_top = 26.0 +margin_right = 356.0 +margin_bottom = 50.0 +hint_tooltip = "The saved timeline can then be used to automatically start the dialog back to the last timeline" + +[node name="TLabel10" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer3/HBoxContainer" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 5.0 +margin_right = 59.0 +margin_bottom = 19.0 +text = "Autosave" +text_key = "Autosave" + +[node name="Autosave" type="CheckBox" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer3/HBoxContainer"] +margin_left = 63.0 +margin_right = 356.0 +margin_bottom = 24.0 +hint_tooltip = "Will save to the default slot on timeline end and timeline start." +size_flags_horizontal = 3 + +[node name="VBoxContainer2" type="VBoxContainer" parent="VBoxContainer/HBoxContainer3"] +margin_left = 360.0 +margin_right = 664.0 +margin_bottom = 482.0 + +[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer2"] +margin_right = 304.0 +margin_bottom = 74.0 + +[node name="SectionTitle2" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer" instance=ExtResource( 2 )] +margin_right = 304.0 +text = "Input settings" +text_key = "Input settings" + +[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer"] +margin_top = 26.0 +margin_right = 304.0 +margin_bottom = 50.0 + +[node name="TLabel14" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer/HBoxContainer" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 5.0 +margin_right = 181.0 +margin_bottom = 19.0 +text = "Enable choice options after " +text_key = "Enable choice options after " + +[node name="LineEdit" type="LineEdit" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer/HBoxContainer"] +margin_left = 185.0 +margin_right = 243.0 +margin_bottom = 24.0 +text = "0.1" + +[node name="TLabel15" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer/HBoxContainer" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 247.0 +margin_top = 5.0 +margin_right = 304.0 +margin_bottom = 19.0 +text = " seconds" +text_key = " seconds" + +[node name="HBoxContainer2" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer"] +margin_top = 54.0 +margin_right = 304.0 +margin_bottom = 74.0 + +[node name="TLabel16" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer/HBoxContainer2" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 3.0 +margin_right = 115.0 +margin_bottom = 17.0 +text = "Default action key" +text_key = "Default action key" + +[node name="DefaultActionKey" type="OptionButton" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer/HBoxContainer2"] +margin_left = 119.0 +margin_right = 208.0 +margin_bottom = 20.0 +hint_tooltip = "The default value is \"ui_accept\"" +text = "ui_accept" + +[node name="CustomEvents" type="VBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer2"] +margin_top = 78.0 +margin_right = 304.0 +margin_bottom = 236.0 + +[node name="SectionTitle" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents" instance=ExtResource( 2 )] +margin_right = 304.0 +text = "Custom events" +text_key = "Custom events" + +[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents"] +margin_top = 26.0 +margin_right = 304.0 +margin_bottom = 50.0 + +[node name="Message" type="Label" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/HBoxContainer"] +margin_top = 5.0 +margin_right = 228.0 +margin_bottom = 19.0 +size_flags_horizontal = 3 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="NewCustomEvent" type="Button" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/HBoxContainer"] +margin_left = 232.0 +margin_right = 272.0 +margin_bottom = 24.0 +text = "New" + +[node name="CustomEventsDocs" type="ToolButton" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/HBoxContainer"] +margin_left = 276.0 +margin_right = 304.0 +margin_bottom = 24.0 +icon = SubResource( 2 ) + +[node name="CreateCustomEventSection" type="GridContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents"] +margin_top = 54.0 +margin_right = 304.0 +margin_bottom = 158.0 +columns = 2 + +[node name="TLabel" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/CreateCustomEventSection" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 5.0 +margin_right = 105.0 +margin_bottom = 19.0 +text = "Event Name:" +text_key = "Event Name:" + +[node name="CeName" type="LineEdit" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/CreateCustomEventSection"] +margin_left = 109.0 +margin_right = 304.0 +margin_bottom = 24.0 +size_flags_horizontal = 3 + +[node name="TLabel2" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/CreateCustomEventSection" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 33.0 +margin_right = 105.0 +margin_bottom = 47.0 +text = "Directory Name:" +text_key = "Directory Name:" + +[node name="CeDirectory" type="LineEdit" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/CreateCustomEventSection"] +margin_left = 109.0 +margin_top = 28.0 +margin_right = 304.0 +margin_bottom = 52.0 +size_flags_horizontal = 3 + +[node name="TLabel3" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/CreateCustomEventSection" instance=ExtResource( 3 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 61.0 +margin_right = 105.0 +margin_bottom = 75.0 +text = "Event id:" +text_key = "Event id:" + +[node name="CeEventId" type="LineEdit" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/CreateCustomEventSection"] +margin_left = 109.0 +margin_top = 56.0 +margin_right = 304.0 +margin_bottom = 80.0 +size_flags_horizontal = 3 +placeholder_text = "myname_001" + +[node name="Control" type="Control" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/CreateCustomEventSection"] +margin_top = 84.0 +margin_right = 105.0 +margin_bottom = 104.0 + +[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/CreateCustomEventSection"] +margin_left = 109.0 +margin_top = 84.0 +margin_right = 304.0 +margin_bottom = 104.0 +alignment = 2 + +[node name="CreateCustomEvent" type="Button" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/CreateCustomEventSection/HBoxContainer"] +margin_left = 84.0 +margin_right = 137.0 +margin_bottom = 20.0 +text = "Create" + +[node name="CancelCustomEvent" type="Button" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/CreateCustomEventSection/HBoxContainer"] +margin_left = 141.0 +margin_right = 195.0 +margin_bottom = 20.0 +text = "Cancel" diff --git a/addons/dialogic/Editor/ThemeEditor/AudioPicker.gd b/addons/dialogic/Editor/ThemeEditor/AudioPicker.gd new file mode 100644 index 0000000..e53d88c --- /dev/null +++ b/addons/dialogic/Editor/ThemeEditor/AudioPicker.gd @@ -0,0 +1,110 @@ +tool +extends GridContainer + +signal data_updated(section) + +var editor_reference +var path = "" + +onready var n : Dictionary = { + 'enable': $"FileHBoxContainer/EnableCheckBox", + 'path': $"FileHBoxContainer/PathButton", + 'volume': $"VolumeHBoxContainer/VolumeSpinBox", + 'volume_rand_range': $"VolumeHBoxContainer/VolumeRandRangeSpinBox", + 'pitch': $"PitchHBoxContainer/PitchSpinBox", + 'pitch_rand_range': $"PitchHBoxContainer/PitchRandRangeSpinBox", + 'allow_interrupt': $"AllowInterruptCheckBox", + 'audio_bus': $"AudioBusOptionButton" +} + +func _ready(): + editor_reference = find_parent('EditorView') + + AudioServer.connect("bus_layout_changed", self, "_on_bus_layout_changed") + update_audio_bus_option_buttons() + +func set_data(data): + n['enable'].set_pressed(data['enable']) + + path = data['path'] + _on_Path_selected(path) + + n['volume'].set_value(data['volume']) + n['volume_rand_range'].set_value(data['volume_rand_range']) + n['pitch'].set_value(data['pitch']) + n['pitch_rand_range'].set_value(data['pitch_rand_range']) + n['allow_interrupt'].set_pressed(data['allow_interrupt']) + + update_audio_bus_option_buttons(data['audio_bus']) + + _set_disabled(!data['enable']) + +func get_data(): + return { + 'enable': n['enable'].is_pressed(), + 'path': path, + 'volume': n['volume'].get_value(), + 'volume_rand_range': n['volume_rand_range'].get_value(), + 'pitch': n['pitch'].get_value(), + 'pitch_rand_range': n['pitch_rand_range'].get_value(), + 'allow_interrupt': n['allow_interrupt'].is_pressed(), + 'audio_bus': AudioServer.get_bus_name(n['audio_bus'].get_selected_id()) + } + +func _on_EnableCheckBox_toggled(button_pressed): + emit_signal("data_updated", name.to_lower()) + _set_disabled(!button_pressed) + +func _set_disabled(disabled): + n['path'].set_disabled(disabled) + n['volume'].set_editable(!disabled) + n['volume_rand_range'].set_editable(!disabled) + n['pitch'].set_editable(!disabled) + n['pitch_rand_range'].set_editable(!disabled) + n['allow_interrupt'].set_disabled(disabled) + n['audio_bus'].set_disabled(disabled) + +func _on_PathButton_pressed(): + editor_reference.godot_dialog("*.ogg, *.wav", EditorFileDialog.MODE_OPEN_ANY) + editor_reference.godot_dialog_connect(self, "_on_Path_selected", ["dir_selected", "file_selected"]) + +func _on_Path_selected(selected_path, target = ""): + if typeof(selected_path) == TYPE_STRING and path != "": + path = selected_path + n['path'].text = DialogicResources.get_filename_from_path(path) + emit_signal("data_updated", name.to_lower()) + +func _on_VolumeSpinBox_value_changed(value): + emit_signal("data_updated", name.to_lower()) + +func _on_VolumeRandRangeSpinBox_value_changed(value): + n['volume_rand_range'].set_value(abs(value)) + emit_signal("data_updated", name.to_lower()) + +func _on_PitchSpinBox_value_changed(value): + n['pitch'].set_value(max(0.01, value)) + emit_signal("data_updated", name.to_lower()) + +func _on_PitchRandRangeSpinBox_value_changed(value): + n['pitch_rand_range'].set_value(abs(value)) + emit_signal("data_updated", name.to_lower()) + +func _on_AllowInterruptCheckBox_toggled(button_pressed): + emit_signal("data_updated", name.to_lower()) + +func _on_AudioBusOptionButton_item_selected(index): + emit_signal("data_updated", name.to_lower()) + +func _on_bus_layout_changed(): + var selected_id = n['audio_bus'].get_selected_id() + var selected_text = n['audio_bus'].get_item_text(selected_id) + update_audio_bus_option_buttons(selected_text) + +func update_audio_bus_option_buttons(selected_text = ''): + n['audio_bus'].clear() + for i in range(AudioServer.bus_count): + var bus_name = AudioServer.get_bus_name(i) + n['audio_bus'].add_item(bus_name) + if bus_name == selected_text: + n['audio_bus'].select(i) + diff --git a/addons/dialogic/Editor/ThemeEditor/AudioPicker.tscn b/addons/dialogic/Editor/ThemeEditor/AudioPicker.tscn new file mode 100644 index 0000000..d35c8c0 --- /dev/null +++ b/addons/dialogic/Editor/ThemeEditor/AudioPicker.tscn @@ -0,0 +1,132 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://addons/dialogic/Editor/ThemeEditor/AudioPicker.gd" type="Script" id=1] + +[node name="AudioPicker" type="GridContainer"] +margin_right = 265.0 +margin_bottom = 132.0 +size_flags_horizontal = 3 +custom_constants/hseparation = 10 +columns = 2 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="FileLabel" type="Label" parent="."] +margin_top = 5.0 +margin_right = 103.0 +margin_bottom = 19.0 +hint_tooltip = "Either select an audio file or a folder full of audio files." +mouse_filter = 1 +text = "Use audio file(s)" + +[node name="FileHBoxContainer" type="HBoxContainer" parent="."] +margin_left = 113.0 +margin_right = 265.0 +margin_bottom = 24.0 + +[node name="EnableCheckBox" type="CheckBox" parent="FileHBoxContainer"] +margin_right = 24.0 +margin_bottom = 24.0 + +[node name="PathButton" type="Button" parent="FileHBoxContainer"] +margin_left = 28.0 +margin_right = 152.0 +margin_bottom = 24.0 +size_flags_horizontal = 3 +text = "File or Folder" + +[node name="VolumeLabel" type="Label" parent="."] +margin_top = 33.0 +margin_right = 103.0 +margin_bottom = 47.0 +text = "Volume (dB)" + +[node name="VolumeHBoxContainer" type="HBoxContainer" parent="."] +margin_left = 113.0 +margin_top = 28.0 +margin_right = 265.0 +margin_bottom = 52.0 +size_flags_horizontal = 3 + +[node name="VolumeSpinBox" type="SpinBox" parent="VolumeHBoxContainer"] +margin_right = 74.0 +margin_bottom = 24.0 +size_flags_horizontal = 3 +size_flags_vertical = 4 +min_value = -80.0 +step = 0.01 + +[node name="VolumeRandRangeSpinBox" type="SpinBox" parent="VolumeHBoxContainer"] +margin_left = 78.0 +margin_right = 152.0 +margin_bottom = 24.0 +hint_tooltip = "Random Range" +step = 0.01 +prefix = "±" + +[node name="PitchLabel" type="Label" parent="."] +margin_top = 61.0 +margin_right = 103.0 +margin_bottom = 75.0 +text = "Pitch" + +[node name="PitchHBoxContainer" type="HBoxContainer" parent="."] +margin_left = 113.0 +margin_top = 56.0 +margin_right = 265.0 +margin_bottom = 80.0 +size_flags_horizontal = 3 + +[node name="PitchSpinBox" type="SpinBox" parent="PitchHBoxContainer"] +margin_right = 74.0 +margin_bottom = 24.0 +size_flags_horizontal = 3 +size_flags_vertical = 4 +step = 0.01 + +[node name="PitchRandRangeSpinBox" type="SpinBox" parent="PitchHBoxContainer"] +margin_left = 78.0 +margin_right = 152.0 +margin_bottom = 24.0 +hint_tooltip = "Random Range" +max_value = 10.0 +step = 0.01 +prefix = "±" + +[node name="AllowInterruptLabel" type="Label" parent="."] +margin_top = 89.0 +margin_right = 103.0 +margin_bottom = 103.0 +text = "Allow interrupt" + +[node name="AllowInterruptCheckBox" type="CheckBox" parent="."] +margin_left = 113.0 +margin_top = 84.0 +margin_right = 265.0 +margin_bottom = 108.0 + +[node name="AudioBusLabel" type="Label" parent="."] +margin_top = 115.0 +margin_right = 103.0 +margin_bottom = 129.0 +text = "Audio Bus" + +[node name="AudioBusOptionButton" type="OptionButton" parent="."] +margin_left = 113.0 +margin_top = 112.0 +margin_right = 265.0 +margin_bottom = 132.0 +text = "Master" +items = [ "Master", null, false, 0, null, "Voice Lines", null, false, 1, null, "New Bus", null, false, 2, null ] +selected = 0 + +[connection signal="toggled" from="FileHBoxContainer/EnableCheckBox" to="." method="_on_EnableCheckBox_toggled"] +[connection signal="pressed" from="FileHBoxContainer/PathButton" to="." method="_on_PathButton_pressed"] +[connection signal="value_changed" from="VolumeHBoxContainer/VolumeSpinBox" to="." method="_on_VolumeSpinBox_value_changed"] +[connection signal="value_changed" from="VolumeHBoxContainer/VolumeRandRangeSpinBox" to="." method="_on_VolumeRandRangeSpinBox_value_changed"] +[connection signal="value_changed" from="PitchHBoxContainer/PitchSpinBox" to="." method="_on_PitchSpinBox_value_changed"] +[connection signal="value_changed" from="PitchHBoxContainer/PitchRandRangeSpinBox" to="." method="_on_PitchRandRangeSpinBox_value_changed"] +[connection signal="toggled" from="AllowInterruptCheckBox" to="." method="_on_AllowInterruptCheckBox_toggled"] +[connection signal="item_selected" from="AudioBusOptionButton" to="." method="_on_AudioBusOptionButton_item_selected"] diff --git a/addons/dialogic/Editor/ThemeEditor/ButtonStylePicker.gd b/addons/dialogic/Editor/ThemeEditor/ButtonStylePicker.gd new file mode 100644 index 0000000..4de6201 --- /dev/null +++ b/addons/dialogic/Editor/ThemeEditor/ButtonStylePicker.gd @@ -0,0 +1,81 @@ +tool +extends GridContainer + +signal style_modified(section) +signal picking_background(section) + +var real_file_path = 'res://addons/dialogic/Example Assets/backgrounds/background-2.png' + + +func load_style(data): + $TextColor/CheckBox.pressed = data[0] + $TextColor/ColorPickerButton.color = data[1] + + $FlatBackground/CheckBox.pressed = data[2] + $FlatBackground/ColorPickerButton.color = data[3] + + $BackgroundTexture/CheckBox.pressed = data[4] + set_path(data[5]) + + $TextureModulation/CheckBox.pressed = data[6] + $TextureModulation/ColorPickerButton.color = data[7] + + check_visible_buttons() + + +func get_style_array(): + var results = [] + results.append($TextColor/CheckBox.pressed) + results.append($TextColor/ColorPickerButton.color) + + results.append($FlatBackground/CheckBox.pressed) + results.append($FlatBackground/ColorPickerButton.color) + + results.append($BackgroundTexture/CheckBox.pressed) + results.append(real_file_path) + + results.append($TextureModulation/CheckBox.pressed) + results.append($TextureModulation/ColorPickerButton.color) + + return results + + +func set_path(path): + $BackgroundTexture/Button.text = DialogicResources.get_filename_from_path(path) + + +func check_visible_buttons(): + $FlatBackground/ColorPickerButton.visible = $FlatBackground/CheckBox.pressed + + if $FlatBackground/CheckBox.pressed: + $BackgroundTexture.visible = false + $BackgroundTextureLabel.visible = false + $TextureModulation.visible = false + $TextureModulationLabel.visible = false + else: + $BackgroundTexture.visible = true + $BackgroundTextureLabel.visible = true + $TextureModulation.visible = true + $TextureModulationLabel.visible = true + + +func _on_CheckBox_toggled(button_pressed): + emit_signal("style_modified", name.to_lower()) + check_visible_buttons() + + +func _on_ColorPickerButton_color_changed(color): + emit_signal("style_modified", name.to_lower()) + + +func _on_Button_pressed(): + emit_signal("picking_background", name.to_lower()) + + +func _on_button_texture_selected(path, target) -> void: + emit_signal("style_modified", name.to_lower()) + + +func _on_TextColor_ColorPickerButton_color_changed(color): + $TextColor/CheckBox.pressed = true + emit_signal("style_modified", name.to_lower()) diff --git a/addons/dialogic/Editor/ThemeEditor/ButtonStylePicker.tscn b/addons/dialogic/Editor/ThemeEditor/ButtonStylePicker.tscn new file mode 100644 index 0000000..12992a4 --- /dev/null +++ b/addons/dialogic/Editor/ThemeEditor/ButtonStylePicker.tscn @@ -0,0 +1,133 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://addons/dialogic/Editor/ThemeEditor/ButtonStylePicker.gd" type="Script" id=1] +[ext_resource path="res://addons/dialogic/Editor/Common/TLabel.tscn" type="PackedScene" id=2] + +[node name="ButtonStylePicker" type="GridContainer"] +margin_right = 380.0 +margin_bottom = 112.0 +size_flags_horizontal = 3 +custom_constants/hseparation = 10 +columns = 2 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TLabel" parent="." instance=ExtResource( 2 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 5.0 +margin_right = 126.0 +margin_bottom = 19.0 +text = "Text Color" +text_key = "Text Color" + +[node name="TextColor" type="HBoxContainer" parent="."] +margin_left = 136.0 +margin_right = 296.0 +margin_bottom = 24.0 +rect_min_size = Vector2( 160, 0 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="CheckBox" type="CheckBox" parent="TextColor"] +margin_right = 24.0 +margin_bottom = 24.0 + +[node name="ColorPickerButton" type="ColorPickerButton" parent="TextColor"] +margin_left = 28.0 +margin_right = 160.0 +margin_bottom = 24.0 +size_flags_horizontal = 3 +color = Color( 1, 1, 1, 1 ) + +[node name="TLabel2" parent="." instance=ExtResource( 2 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 33.0 +margin_right = 126.0 +margin_bottom = 47.0 +text = "Flat background" +text_key = "Flat background" + +[node name="FlatBackground" type="HBoxContainer" parent="."] +margin_left = 136.0 +margin_top = 28.0 +margin_right = 296.0 +margin_bottom = 52.0 + +[node name="CheckBox" type="CheckBox" parent="FlatBackground"] +margin_right = 24.0 +margin_bottom = 24.0 + +[node name="ColorPickerButton" type="ColorPickerButton" parent="FlatBackground"] +visible = false +margin_left = 28.0 +margin_right = 160.0 +margin_bottom = 24.0 +size_flags_horizontal = 3 + +[node name="BackgroundTextureLabel" parent="." instance=ExtResource( 2 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 61.0 +margin_right = 126.0 +margin_bottom = 75.0 +text = "Background Texture" +text_key = "Background Texture" + +[node name="BackgroundTexture" type="HBoxContainer" parent="."] +margin_left = 136.0 +margin_top = 56.0 +margin_right = 296.0 +margin_bottom = 80.0 +rect_min_size = Vector2( 123, 0 ) + +[node name="CheckBox" type="CheckBox" parent="BackgroundTexture"] +margin_right = 24.0 +margin_bottom = 24.0 + +[node name="Button" type="Button" parent="BackgroundTexture"] +margin_left = 28.0 +margin_right = 160.0 +margin_bottom = 24.0 +size_flags_horizontal = 3 +text = "Don't change" + +[node name="TextureModulationLabel" parent="." instance=ExtResource( 2 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 89.0 +margin_right = 126.0 +margin_bottom = 103.0 +text = "Texture Modulation" +text_key = "Texture Modulation" + +[node name="TextureModulation" type="HBoxContainer" parent="."] +margin_left = 136.0 +margin_top = 84.0 +margin_right = 296.0 +margin_bottom = 108.0 +rect_min_size = Vector2( 123, 0 ) + +[node name="CheckBox" type="CheckBox" parent="TextureModulation"] +margin_right = 24.0 +margin_bottom = 24.0 + +[node name="ColorPickerButton" type="ColorPickerButton" parent="TextureModulation"] +margin_left = 28.0 +margin_right = 160.0 +margin_bottom = 24.0 +size_flags_horizontal = 3 +color = Color( 1, 1, 1, 1 ) + +[connection signal="toggled" from="TextColor/CheckBox" to="." method="_on_CheckBox_toggled"] +[connection signal="color_changed" from="TextColor/ColorPickerButton" to="." method="_on_TextColor_ColorPickerButton_color_changed"] +[connection signal="toggled" from="FlatBackground/CheckBox" to="." method="_on_CheckBox_toggled"] +[connection signal="color_changed" from="FlatBackground/ColorPickerButton" to="." method="_on_ColorPickerButton_color_changed"] +[connection signal="toggled" from="BackgroundTexture/CheckBox" to="." method="_on_CheckBox_toggled"] +[connection signal="pressed" from="BackgroundTexture/Button" to="." method="_on_Button_pressed"] +[connection signal="toggled" from="TextureModulation/CheckBox" to="." method="_on_CheckBox_toggled"] +[connection signal="color_changed" from="TextureModulation/ColorPickerButton" to="." method="_on_ColorPickerButton_color_changed"] diff --git a/addons/dialogic/Editor/ThemeEditor/ThemeEditor.gd b/addons/dialogic/Editor/ThemeEditor/ThemeEditor.gd new file mode 100644 index 0000000..1faefd5 --- /dev/null +++ b/addons/dialogic/Editor/ThemeEditor/ThemeEditor.gd @@ -0,0 +1,1084 @@ +tool +extends Control + +var editor_reference +onready var master_tree = get_node('../MasterTreeContainer/MasterTree') +onready var settings_editor = get_node('../SettingsEditor') +var current_theme : String = '' +var use_advanced_themes : bool = false +var preview_character_selected : String = 'random' +var current_choice_modifier_selected = 'hover' + +# When loading the variables to the input fields in the +# load_theme function, every element thinks the value was updated +# so it has to perform a "saving" of that property. +# The loading variable is a way to check if the values should be saved +# or not. +var loading : bool = true + + +# If the first time you open a theme it is a "full_width" one, the editor +# doesn't trigger the Panel resized() signal before the dialog resize_main() +# So what I do here, is doing a check for the first time and force a double +# refresh that will make sure that the full_width background will display +# as expected. + +# The stuff used for this hack are: +# Variable: first_time_loading_theme_full_size_bug +# Node: $FirstTimeLoadingFullSizeBug +# This function: _on_FirstTimeLoadingFullSizeBug_timeout() + +# If you know how to fix this, please let me know or send a pull request :) +var first_time_loading_theme_full_size_bug := 0 + + +# The amazing and revolutionary path system that magically works and you can't +# complain because "that is not how you are supposed to work". If there was only +# a way to set an id and then access that node via id... +# Here you have paths in all its glory. Praise the paths (っ´ω`c)♡ +onready var advanced_containers := { + 'buttons' : { + 'container': $"VBoxContainer/TabContainer/Choice Buttons/Column3/GridContainer", + 'disabled_text': $"VBoxContainer/TabContainer/Choice Buttons/Column3/Label" + } +} + +onready var n : Dictionary = { + # Dialog Text + 'theme_text_shadow': $"VBoxContainer/TabContainer/Dialog Text/Column2/GridContainer/HBoxContainer2/CheckBoxShadow", + 'theme_text_shadow_color': $"VBoxContainer/TabContainer/Dialog Text/Column2/GridContainer/HBoxContainer2/ColorPickerButtonShadow", + 'theme_text_color': $"VBoxContainer/TabContainer/Dialog Text/Column2/GridContainer/ColorPickerButton", + 'theme_font': $"VBoxContainer/TabContainer/Dialog Text/Column/GridContainer/RegularFont/RegularFontButton", + 'theme_font_bold':$"VBoxContainer/TabContainer/Dialog Text/Column/GridContainer/BoldFont/BoldFontButton", + 'theme_font_italic':$"VBoxContainer/TabContainer/Dialog Text/Column/GridContainer/ItalicFont/ItalicFontButton", + 'theme_shadow_offset_x': $"VBoxContainer/TabContainer/Dialog Text/Column2/GridContainer/HBoxContainer/ShadowOffsetX", + 'theme_shadow_offset_y': $"VBoxContainer/TabContainer/Dialog Text/Column2/GridContainer/HBoxContainer/ShadowOffsetY", + 'theme_text_speed': $"VBoxContainer/TabContainer/Dialog Text/Column3/GridContainer/TextSpeed", + 'alignment': $"VBoxContainer/TabContainer/Dialog Text/Column3/GridContainer/HBoxContainer3/Alignment", + 'single_portrait_mode': $"VBoxContainer/TabContainer/Dialog Text/Column3/GridContainer/SinglePortraitModeCheckBox", + + # Dialog box + 'background_texture_button_visible': $"VBoxContainer/TabContainer/Dialog Box/Column/GridContainer/HBoxContainer3/CheckBox", + 'theme_background_image': $"VBoxContainer/TabContainer/Dialog Box/Column/GridContainer/HBoxContainer3/BackgroundTextureButton", + 'theme_background_color': $"VBoxContainer/TabContainer/Dialog Box/Column/GridContainer/HBoxContainer2/ColorPickerButton", + 'background_modulation': $"VBoxContainer/TabContainer/Dialog Box/Column/GridContainer/HBoxContainer6/CheckBox", + 'background_modulation_color': $"VBoxContainer/TabContainer/Dialog Box/Column/GridContainer/HBoxContainer6/ColorPickerButton", + 'background_full_width': $"VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2/HBoxContainer7/CheckBox", + + 'dialog_box_anchor':$"VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2/PositionSelector", + 'theme_text_margin': $"VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2/HBoxContainer/BoxPaddingV", + 'theme_text_margin_h': $"VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2/HBoxContainer/BoxPaddingH", + 'size_w': $"VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2/HBoxContainer4/BoxSizeW", + 'size_h': $"VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2/HBoxContainer4/BoxSizeH", + 'box_margin_v': $"VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2/BoxMargin/MarginV", + 'box_margin_h': $"VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2/BoxMargin/MarginH", + + + 'theme_next_image': $"VBoxContainer/TabContainer/Dialog Box/Column2/GridContainer/NextIndicatorButton", + 'next_indicator_offset_x': $"VBoxContainer/TabContainer/Dialog Box/Column2/GridContainer/HBoxContainer2/NextOffsetX", + 'next_indicator_offset_y': $"VBoxContainer/TabContainer/Dialog Box/Column2/GridContainer/HBoxContainer2/NextOffsetY", + 'theme_background_color_visible': $"VBoxContainer/TabContainer/Dialog Box/Column/GridContainer/HBoxContainer2/CheckBox", + 'next_animation': $"VBoxContainer/TabContainer/Dialog Box/Column2/GridContainer/NextAnimation", + 'next_indicator_scale': $"VBoxContainer/TabContainer/Dialog Box/Column2/GridContainer/HBoxContainer7/IndicatorScale", + + 'theme_action_key': $"VBoxContainer/TabContainer/Dialog Box/Column3/GridContainer/BoxContainer/ActionOptionButton", + 'animation_show_time': $"VBoxContainer/TabContainer/Dialog Box/Column3/GridContainer/ShowTime/SpinBox", + + # Character Names + 'name_font': $"VBoxContainer/TabContainer/Name Label/Column/GridContainer/RegularFont/NameFontButton", + 'name_auto_color': $"VBoxContainer/TabContainer/Name Label/Column/GridContainer/CharacterColor", + 'name_background_visible': $"VBoxContainer/TabContainer/Name Label/Column2/GridContainer/HBoxContainer2/CheckBox", + 'name_background': $"VBoxContainer/TabContainer/Name Label/Column2/GridContainer/HBoxContainer2/ColorPickerButton", + 'name_image': $"VBoxContainer/TabContainer/Name Label/Column2/GridContainer/HBoxContainer3/BackgroundTextureButton", + 'name_image_visible': $"VBoxContainer/TabContainer/Name Label/Column2/GridContainer/HBoxContainer3/CheckBox", + 'name_shadow': $"VBoxContainer/TabContainer/Name Label/Column/GridContainer/HBoxContainer4/ColorPickerButtonShadow", + 'name_shadow_visible': $"VBoxContainer/TabContainer/Name Label/Column/GridContainer/HBoxContainer4/CheckBoxShadow", + 'name_shadow_offset_x': $"VBoxContainer/TabContainer/Name Label/Column/GridContainer/HBoxContainer/ShadowOffsetX", + 'name_shadow_offset_y': $"VBoxContainer/TabContainer/Name Label/Column/GridContainer/HBoxContainer/ShadowOffsetY", + 'name_bottom_gap': $"VBoxContainer/TabContainer/Name Label/Column3/GridContainer/HBoxContainer5/BottomGap", + 'name_horizontal_offset': $"VBoxContainer/TabContainer/Name Label/Column3/GridContainer/HBoxContainer5/HorizontalOffset", + 'name_background_modulation': $"VBoxContainer/TabContainer/Name Label/Column2/GridContainer/HBoxContainer6/CheckBox", + 'name_background_modulation_color': $"VBoxContainer/TabContainer/Name Label/Column2/GridContainer/HBoxContainer6/ColorPickerButton", + 'name_padding_x': $"VBoxContainer/TabContainer/Name Label/Column2/GridContainer/HBoxContainer/NamePaddingX", + 'name_padding_y': $"VBoxContainer/TabContainer/Name Label/Column2/GridContainer/HBoxContainer/NamePaddingY", + 'name_position': $"VBoxContainer/TabContainer/Name Label/Column3/GridContainer/HBoxContainer/Positions", + + + # Choice Buttons + + 'button_fixed': $"VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer/HBoxContainer2/FixedSize", + 'button_fixed_x': $"VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer/HBoxContainer2/ButtonSizeX", + 'button_fixed_y': $"VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer/HBoxContainer2/ButtonSizeY", + + 'button_use_native': $"VBoxContainer/TabContainer/Choice Buttons/Column3/GridContainer/CheckBox", + 'button_use_custom': $"VBoxContainer/TabContainer/Choice Buttons/Column3/GridContainer/HBoxContainer5/CustomButtonsCheckBox", + 'button_custom_path': $"VBoxContainer/TabContainer/Choice Buttons/Column3/GridContainer/HBoxContainer5/CustomButtonsButton", + 'button_padding_x': $"VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer/HBoxContainer/TextOffsetH", + 'button_padding_y': $"VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer/HBoxContainer/TextOffsetV", + 'button_separation': $"VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer/VerticalSeparation", + + 'button_layout': $"VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer/Layout", + + 'button_position_on_screen': $"VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer/PositionOnScreenOptionButton", + + 'button_offset_x': $"VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer/HBoxContainer3/ButtonOffsetX", + 'button_offset_y': $"VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer/HBoxContainer3/ButtonOffsetY", + + # Button modifiers (Inherited scenes) + 'button_normal': $"VBoxContainer/TabContainer/Choice Buttons/Column/TabContainer/Normal", + 'button_hover': $"VBoxContainer/TabContainer/Choice Buttons/Column/TabContainer/Hover", + 'button_pressed': $"VBoxContainer/TabContainer/Choice Buttons/Column/TabContainer/Pressed", + 'button_disabled': $"VBoxContainer/TabContainer/Choice Buttons/Column/TabContainer/Disabled", + + # Glossary + 'glossary_title_font': $VBoxContainer/TabContainer/Glossary/Column3/GridContainer/TitleFont/TitleFontButton, + 'glossary_text_font': $VBoxContainer/TabContainer/Glossary/Column3/GridContainer/TextFont/TextFontButton, + 'glossary_extra_font': $VBoxContainer/TabContainer/Glossary/Column3/GridContainer/ExtraFont/ExtraFontButton, + 'glossary_highlight_color': $VBoxContainer/TabContainer/Glossary/Column/GridContainer/HighlightColorPicker, + 'glossary_title_color': $VBoxContainer/TabContainer/Glossary/Column3/GridContainer/TitleColorPicker, + 'glossary_text_color': $VBoxContainer/TabContainer/Glossary/Column3/GridContainer/TextColorPicker, + 'glossary_extra_color': $VBoxContainer/TabContainer/Glossary/Column3/GridContainer/ExtraColorPicker, + + 'glossary_background_panel': $VBoxContainer/TabContainer/Glossary/Column/GridContainer/BackgroundPanel/BgPanelButton, + + 'glossary_enabled': $VBoxContainer/TabContainer/Glossary/Column2/GridContainer/ShowGlossaryCheckBox, + + # Audio + 'audio_pickers': { + 'typing': $"VBoxContainer/TabContainer/Audio/Column/Typing", + 'waiting': $"VBoxContainer/TabContainer/Audio/Column2/Waiting", + 'passing': $"VBoxContainer/TabContainer/Audio/Column2/Passing", + 'hovering': $"VBoxContainer/TabContainer/Audio/Column3/Hovering", + 'selecting': $"VBoxContainer/TabContainer/Audio/Column3/Selecting" + }, + + # Text preview + 'text_preview': $VBoxContainer/HBoxContainer3/TextEdit, + 'character_picker': $VBoxContainer/HBoxContainer3/CharacterPicker, +} + +## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +## GENERAL EDITOR STUFF +## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +func _ready() -> void: + editor_reference = find_parent('EditorView') + AudioServer.connect("bus_layout_changed", self, "_on_bus_layout_changed") + # Signal connection to free up some memory + connect("visibility_changed", self, "_on_visibility_changed") + if get_constant("dark_theme", "Editor"): + $VBoxContainer/HBoxContainer3/PreviewButton.icon = load("res://addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme.svg") + else: + $VBoxContainer/HBoxContainer3/PreviewButton.icon = load("res://addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme.svg") + + $DelayPreviewTimer.one_shot = true + $DelayPreviewTimer.connect("timeout", self, '_on_DelayPreview_timer_timeout') + + var title_style = $"VBoxContainer/TabContainer/Dialog Text/Column/SectionTitle".get('custom_styles/normal') + title_style.set('bg_color', get_color("prop_category", "Editor")) + + $"VBoxContainer/TabContainer/Name Label/Column/GridContainer/RegularFont/NameFontOpen".icon = get_icon("Edit", "EditorIcons") + $"VBoxContainer/TabContainer/Dialog Text/Column/GridContainer/BoldFont/BoldFontOpen".icon = get_icon("Edit", "EditorIcons") + $"VBoxContainer/TabContainer/Dialog Text/Column/GridContainer/ItalicFont/ItalicFontOpen".icon = get_icon("Edit", "EditorIcons") + $"VBoxContainer/TabContainer/Dialog Text/Column/GridContainer/RegularFont/RegularFontOpen".icon = get_icon("Edit", "EditorIcons") + $"VBoxContainer/TabContainer/Glossary/Column3/GridContainer/TitleFont/TitleFontOpen".icon = get_icon("Edit", "EditorIcons") + $"VBoxContainer/TabContainer/Glossary/Column3/GridContainer/TextFont/TextFontOpen".icon = get_icon("Edit", "EditorIcons") + $"VBoxContainer/TabContainer/Glossary/Column3/GridContainer/ExtraFont/ExtraFontOpen".icon = get_icon("Edit", "EditorIcons") + $"VBoxContainer/TabContainer/Glossary/Column/GridContainer/BackgroundPanel/BGPanelOpen".icon = get_icon("Edit", "EditorIcons") + + n['text_preview'].syntax_highlighting = true + n['text_preview'].add_color_region('[', ']', get_color("axis_z_color", "Editor")) + + # Dialog Text tab + n['theme_text_shadow'].connect('toggled', self, '_on_generic_checkbox', ['text', 'shadow']) + n['single_portrait_mode'].connect('toggled', self, '_on_generic_checkbox', ['settings', 'single_portrait_mode']) + n['theme_text_speed'].connect('value_changed', self, '_on_generic_value_change', ['text','speed']) + + # Dialog Box tab + n['theme_background_color_visible'].connect('toggled', self, '_on_generic_checkbox', ['background', 'use_color']) + n['background_texture_button_visible'].connect('toggled', self, '_on_generic_checkbox', ['background', 'use_image']) + n['background_modulation'].connect('toggled', self, '_on_generic_checkbox', ['background', 'modulation']) + n['background_full_width'].connect('toggled', self, '_on_generic_checkbox', ['background', 'full_width']) + n['animation_show_time'].connect('value_changed', self, '_on_generic_value_change', ['animation', 'show_time']) + n['box_margin_v'].connect('value_changed', self, '_on_generic_value_change', ['box', 'box_margin_v']) + n['box_margin_h'].connect('value_changed', self, '_on_generic_value_change', ['box', 'box_margin_h']) + + n['next_indicator_scale'].connect('value_changed', self, '_on_generic_value_change', ['next_indicator', 'scale']) + + # Name tab + n['name_shadow_visible'].connect('toggled', self, '_on_generic_checkbox', ['name', 'shadow_visible']) + n['name_background_visible'].connect('toggled', self, '_on_generic_checkbox', ['name', 'background_visible']) + n['name_image_visible'].connect('toggled', self, '_on_generic_checkbox', ['name', 'image_visible']) + n['name_background_modulation'].connect('toggled', self, '_on_generic_checkbox', ['name', 'modulation']) + + # Buttons tab + n['button_fixed'].connect('toggled', self, '_on_generic_checkbox', ['buttons', 'fixed']) + + # Choice button style modifiers + n['button_normal'].connect('picking_background', self, '_on_ButtonTextureButton_pressed') + n['button_hover'].connect('picking_background', self, '_on_ButtonTextureButton_pressed') + n['button_pressed'].connect('picking_background', self, '_on_ButtonTextureButton_pressed') + n['button_disabled'].connect('picking_background', self, '_on_ButtonTextureButton_pressed') + + n['button_normal'].connect('style_modified', self, '_on_choice_style_modified') + n['button_hover'].connect('style_modified', self, '_on_choice_style_modified') + n['button_pressed'].connect('style_modified', self, '_on_choice_style_modified') + n['button_disabled'].connect('style_modified', self, '_on_choice_style_modified') + + n['button_layout'].connect('item_selected', self, '_on_button_layout_selected') + + for button in ['dialog_box_anchor', 'button_position_on_screen']: + var button_positions_popup = n[button].get_popup() + button_positions_popup.clear() + button_positions_popup.add_icon_item( + get_icon("ControlAlignTopLeft", "EditorIcons"), "Top Left", 0) + button_positions_popup.add_icon_item( + get_icon("ControlAlignTopCenter", "EditorIcons"), "Top Center", 1) + button_positions_popup.add_icon_item( + get_icon("ControlAlignTopRight", "EditorIcons"), "Top Right", 2) + button_positions_popup.add_separator() + button_positions_popup.add_icon_item( + get_icon("ControlAlignLeftCenter", "EditorIcons"), "Center Left", 3) + button_positions_popup.add_icon_item( + get_icon("ControlAlignCenter", "EditorIcons"), "Center", 4) + button_positions_popup.add_icon_item( + get_icon("ControlAlignRightCenter", "EditorIcons"), "Center Right", 5) + button_positions_popup.add_separator() + button_positions_popup.add_icon_item( + get_icon("ControlAlignBottomLeft", "EditorIcons"), "Bottom Left", 6) + button_positions_popup.add_icon_item( + get_icon("ControlAlignBottomCenter", "EditorIcons"), "Bottom Center", 7) + button_positions_popup.add_icon_item( + get_icon("ControlAlignBottomRight", "EditorIcons"), "Bottom Right", 8) + + n['button_position_on_screen'].connect('item_selected', self, '_on_button_anchor_selected') + n['dialog_box_anchor'].connect('item_selected', self, '_on_button_dialogbox_anchor_selected') + + n['button_offset_x'].connect('value_changed', self, '_on_button_offset_changed') + n['button_offset_y'].connect('value_changed', self, '_on_button_offset_changed') + + + + n['name_position'].text = 'Left' + n['name_position'].connect('item_selected', self, '_on_name_position_selected') + var name_positions_popup = n['name_position'].get_popup() + name_positions_popup.clear() + name_positions_popup.add_radio_check_item('Left') + name_positions_popup.add_radio_check_item('Center') + name_positions_popup.add_radio_check_item('Right') + n['name_position'].select(0) + + # Glossary tab + n['glossary_enabled'].connect('toggled', self, '_on_generic_checkbox', ['definitions','show_glossary']) + + # Audio tab + for name in n['audio_pickers']: + n['audio_pickers'][name].connect('data_updated', self, '_on_audio_data_updated') + + # Character Picker + n['character_picker'].connect('about_to_show', self, 'character_picker_about_to_show') + n['character_picker'].get_popup().connect('index_pressed', self, 'character_picker_selected') + + # Force preview update + _on_visibility_changed() + + + +func character_picker_about_to_show(): + var characters : Array = DialogicUtil.get_character_list() + n['character_picker'].get_popup().clear() + n['character_picker'].get_popup().add_item('Random Character') + n['character_picker'].get_popup().set_item_metadata(0, 'random') + var index = 1 + for c in characters: + n['character_picker'].get_popup().add_item(c['name']) + n['character_picker'].get_popup().set_item_metadata(index, c['file']) + index += 1 + + +func character_picker_selected(index): + preview_character_selected = n['character_picker'].get_popup().get_item_metadata(index) + n['character_picker'].text = n['character_picker'].get_popup().get_item_text(index) + _on_PreviewButton_pressed() + + +func setup_advanced_containers(): + use_advanced_themes = DialogicResources.get_settings_config().get_value('dialog', 'advanced_themes', false) + + for key in advanced_containers: + var c = advanced_containers[key] + if use_advanced_themes: + c["container"].show() + c["disabled_text"].hide() + else: + c["container"].hide() + c["disabled_text"].show() + + +func load_theme(filename): + loading = true + current_theme = filename + var theme = DialogicResources.get_theme_config(filename) + var default_background = 'res://addons/dialogic/Example Assets/backgrounds/background-2.png' + setup_advanced_containers() + # Settings + n['theme_action_key'].text = theme.get_value('settings', 'action_key', '[Default]') + n['single_portrait_mode'].pressed = theme.get_value('settings', 'single_portrait_mode', false) # Currently in Dialog Text tab + + # Background + n['theme_background_image'].text = DialogicResources.get_filename_from_path(theme.get_value('background', 'image', default_background)) + n['background_texture_button_visible'].pressed = theme.get_value('background', 'use_image', true) + n['theme_background_color'].color = Color(theme.get_value('background', 'color', '#ff000000')) + n['theme_background_color_visible'].pressed = theme.get_value('background', 'use_color', false) + n['theme_next_image'].text = DialogicResources.get_filename_from_path(theme.get_value('next_indicator', 'image', 'res://addons/dialogic/Example Assets/next-indicator/next-indicator.png')) + n['next_indicator_scale'].value = theme.get_value('next_indicator', 'scale', 0.4) + var next_indicator_offset = theme.get_value('next_indicator', 'offset', Vector2(13,10)) + n['next_indicator_offset_x'].value = next_indicator_offset.x + n['next_indicator_offset_y'].value = next_indicator_offset.y + + n['background_modulation'].pressed = theme.get_value('background', 'modulation', false) + n['background_modulation_color'].color = Color(theme.get_value('background', 'modulation_color', '#ffffffff')) + n['background_full_width'].pressed = theme.get_value('background', 'full_width', false) + + + var size_value = theme.get_value('box', 'size', Vector2(910, 167)) + n['size_w'].value = size_value.x + n['size_h'].value = size_value.y + n['dialog_box_anchor'].select(theme.get_value('box', 'anchor', 9)) + # TODO: remove backups in 2.0 + n['box_margin_v'].value = theme.get_value('box', 'box_margin_v', theme.get_value('box', 'bottom_gap', 40)) + n['box_margin_h'].value = theme.get_value('box', 'box_margin_h', theme.get_value('box', 'bottom_gap', 40)) + + # Buttons + n['button_use_native'].pressed = theme.get_value('buttons', 'use_native', false) + n['button_use_custom'].pressed = theme.get_value('buttons', 'use_custom', false) + n['button_custom_path'].text = DialogicResources.get_filename_from_path(theme.get_value('buttons', 'custom_path', "")) + n['button_padding_x'].value = theme.get_value('buttons', 'padding', Vector2(5,5)).x + n['button_padding_y'].value = theme.get_value('buttons', 'padding', Vector2(5,5)).y + n['button_separation'].value = theme.get_value('buttons', 'gap', 5) + n['button_fixed'].pressed = theme.get_value('buttons', 'fixed', false) + n['button_fixed_x'].value = theme.get_value('buttons', 'fixed_size', Vector2(130,40)).x + n['button_fixed_y'].value = theme.get_value('buttons', 'fixed_size', Vector2(130,40)).y + + n['button_layout'].selected = theme.get_value('buttons', 'layout', 0) + n['button_position_on_screen'].selected = theme.get_value('buttons', 'anchor', 5) + + n['button_offset_x'].value = theme.get_value('buttons', 'offset', Vector2(0,0)).x + n['button_offset_y'].value = theme.get_value('buttons', 'offset', Vector2(0,0)).y + + + var default_style = [false, Color.white, false, Color.black, true, default_background, false, Color.white] + n['button_normal'].load_style(theme.get_value('buttons', 'normal', default_style)) + n['button_hover'].load_style(theme.get_value('buttons', 'hover', default_style)) + n['button_pressed'].load_style(theme.get_value('buttons', 'pressed', default_style)) + n['button_disabled'].load_style(theme.get_value('buttons', 'disabled', default_style)) + + toggle_button_customization_fields(theme.get_value('buttons', 'use_native', false), theme.get_value('buttons', 'use_custom', false)) + + # Definitions + n['glossary_highlight_color'].color = Color(theme.get_value('definitions', 'color', "#ffffffff")) + + n['glossary_title_font'].text = DialogicResources.get_filename_from_path(theme.get_value('definitions', 'font', "res://addons/dialogic/Example Assets/Fonts/GlossaryFont.tres")) + n['glossary_title_color'].color = Color(theme.get_value('definitions', 'title_color', "#ffffffff")) + + n['glossary_text_font'].text = DialogicResources.get_filename_from_path(theme.get_value('definitions', 'text_font', "res://addons/dialogic/Example Assets/Fonts/GlossaryFont.tres")) + n['glossary_text_color'].color = Color(theme.get_value('definitions', 'text_color', "#ffffffff")) + + n['glossary_extra_font'].text = DialogicResources.get_filename_from_path(theme.get_value('definitions', 'extra_font', "res://addons/dialogic/Example Assets/Fonts/GlossaryFont.tres")) + n['glossary_extra_color'].color = Color(theme.get_value('definitions', 'extra_color', "#ffffffff")) + + n['glossary_background_panel'].text = DialogicResources.get_filename_from_path(theme.get_value('definitions', 'background_panel', "res://addons/dialogic/Example Assets/backgrounds/GlossaryBackground.tres")) + + n['glossary_enabled'].pressed = theme.get_value('definitions', 'show_glossary', true) + + # Text + n['theme_text_speed'].value = theme.get_value('text','speed', 2) + n['theme_font'].text = DialogicResources.get_filename_from_path(theme.get_value('text', 'font', 'res://addons/dialogic/Example Assets/Fonts/DefaultFont.tres')) + n['theme_font_bold'].text = DialogicResources.get_filename_from_path(theme.get_value('text', 'bold_font', 'res://addons/dialogic/Example Assets/Fonts/DefaultBoldFont.tres')) + n['theme_font_italic'].text = DialogicResources.get_filename_from_path(theme.get_value('text', 'italic_font', 'res://addons/dialogic/Example Assets/Fonts/DefaultItalicFont.tres')) + n['theme_text_color'].color = Color(theme.get_value('text', 'color', '#ffffffff')) + n['theme_text_shadow'].pressed = theme.get_value('text', 'shadow', false) + n['theme_text_shadow_color'].color = Color(theme.get_value('text', 'shadow_color', '#9e000000')) + n['theme_shadow_offset_x'].value = theme.get_value('text', 'shadow_offset', Vector2(2,2)).x + n['theme_shadow_offset_y'].value = theme.get_value('text', 'shadow_offset', Vector2(2,2)).y + n['theme_text_margin'].value = theme.get_value('text', 'margin', Vector2(20, 10)).x + n['theme_text_margin_h'].value = theme.get_value('text', 'margin', Vector2(20, 10)).y + n['alignment'].text = theme.get_value('text', 'alignment', 'Left') + match n['alignment'].text: + 'Left': + n['alignment'].select(0) + 'Center': + n['alignment'].select(1) + 'Right': + n['alignment'].select(2) + + + # Name + n['name_font'].text = DialogicResources.get_filename_from_path(theme.get_value('name', 'font', 'res://addons/dialogic/Example Assets/Fonts/NameFont.tres')) + n['name_auto_color'].pressed = theme.get_value('name', 'auto_color', true) + n['name_background_visible'].pressed = theme.get_value('name', 'background_visible', false) + n['name_background'].color = Color(theme.get_value('name', 'background', "#ff000000")) + n['name_image_visible'].pressed = theme.get_value('name', 'image_visible', false) + + n['name_image'].text = DialogicResources.get_filename_from_path(theme.get_value('name', 'image', 'res://addons/dialogic/Example Assets/backgrounds/background-2.png')) + n['name_background_modulation'].pressed = theme.get_value('name', 'modulation', false) + n['name_background_modulation_color'].color = Color(theme.get_value('name', 'modulation_color', '#ffffffff')) + + n['name_padding_x'].value = theme.get_value('name', 'name_padding', Vector2(10,0)).x + n['name_padding_y'].value = theme.get_value('name', 'name_padding', Vector2(10,0)).y + + n['name_shadow'].color = Color(theme.get_value('name', 'shadow', "#9e000000")) + n['name_shadow_visible'].pressed = theme.get_value('name', 'shadow_visible', true) + n['name_shadow_offset_x'].value = theme.get_value('name', 'shadow_offset', Vector2(2,2)).x + n['name_shadow_offset_y'].value = theme.get_value('name', 'shadow_offset', Vector2(2,2)).y + n['name_bottom_gap'].value = theme.get_value('name', 'bottom_gap', 48) + n['name_horizontal_offset'].value = theme.get_value('name', 'horizontal_offset', 0) + + n['name_position'].select(theme.get_value('name', 'position', 0)) + + # Audio + var default_audio_file = "res://addons/dialogic/Example Assets/Sound Effects/Beep.wav" + var default_audio_data = { + 'enable': false, + 'path': default_audio_file, + 'volume': 0.0, + 'volume_rand_range': 0.0, + 'pitch': 1.0, + 'pitch_rand_range': 0.0, + 'allow_interrupt': true, + 'audio_bus': AudioServer.get_bus_name(0) + } + + for name in n['audio_pickers']: + n['audio_pickers'][name].set_data(theme.get_value('audio', name, default_audio_data)) + + # Next indicator animations + var animations = ['Up and down', 'Pulse', 'Static'] # TODO: dynamically get all the animations from the Dialog.tscn NextIndicator + n['next_animation'].clear() + var next_animation_selected = theme.get_value('next_indicator', 'animation', 'Up and down') + var nix = 0 + for a in animations: + n['next_animation'].add_item(a) + if a == next_animation_selected: + n['next_animation'].select(nix) + nix += 1 + + # Preview text + n['text_preview'].text = theme.get_value('text', 'preview', 'This is preview text. You can use [color=#A5EFAC]BBCode[/color] to style it.\n[wave amp=50 freq=2]You can even use effects![/wave]') + + # Finished loading + loading = false + # Updating the preview + _on_PreviewButton_pressed() + + +func create_theme() -> String: + var theme_file : String = 'theme-' + str(OS.get_unix_time()) + '.cfg' + DialogicResources.add_theme(theme_file) + load_theme(theme_file) + # Check if it is the only theme to set as default + if DialogicUtil.get_theme_list().size() == 1: + #print('only theme, setting as default') + settings_editor.set_value('theme', 'default', theme_file) + return theme_file + + +func duplicate_theme(from_filename) -> void: + var duplicate_theme : String = 'theme-' + str(OS.get_unix_time()) + '.cfg' + DialogicResources.duplicate_theme(from_filename, duplicate_theme) + DialogicResources.set_theme_value(duplicate_theme, 'settings', 'name', duplicate_theme) + master_tree.build_themes(duplicate_theme) + load_theme(duplicate_theme) + + +func _on_visibility_changed() -> void: + if visible: + # Refreshing the dialog + _on_PreviewButton_pressed() + if first_time_loading_theme_full_size_bug == 0: + yield(get_tree().create_timer(0.01), "timeout") + for i in $VBoxContainer/Panel.get_children(): + i.resize_main() + first_time_loading_theme_full_size_bug += 1 + else: + # Erasing all previews since them keeps working on background + for i in $VBoxContainer/Panel.get_children(): + i.queue_free() + +## ------------ Preview ------------------------------------ + +func _on_DelayPreview_timer_timeout() -> void: + _on_PreviewButton_pressed() # Refreshing the preview + + +func _on_PreviewButton_pressed() -> void: + for i in $VBoxContainer/Panel.get_children(): + i.free() + var preview_dialog = Dialogic.start('', '', "res://addons/dialogic/Nodes/DialogNode.tscn", false, false) + preview_dialog.preview = true + + if n['character_picker']: # Sometimes it can't find the node + if n['character_picker'].text == 'Random Character': + var characters : Array = DialogicUtil.get_character_list() + if characters.size(): + characters.shuffle() + preview_character_selected = characters[0]['file'] + + preview_dialog.dialog_script = { + "events":[ + { 'event_id':'dialogic_024', "set_theme": current_theme }, + { 'event_id':'dialogic_001', "character": preview_character_selected, "portrait":"", "text":n['text_preview'].text } + ] + } + preview_dialog.parse_characters(preview_dialog.dialog_script) + $VBoxContainer/Panel.add_child(preview_dialog) + + # maintaining the preview panel big enough for the dialog box + var box_size = preview_dialog.current_theme.get_value('box', 'size', Vector2(910, 167)).y + var bottom_gap = preview_dialog.current_theme.get_value('box', 'bottom_gap', 40) + var extra = 90 + $VBoxContainer/Panel.rect_min_size.y = box_size + extra + bottom_gap + $VBoxContainer/Panel.rect_size.y = 0 + preview_dialog.call_deferred('resize_main') + + +func _on_Preview_text_changed() -> void: + if loading: + return + DialogicResources.set_theme_value(current_theme, 'text', 'preview', n['text_preview'].text) + +## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +## THEME OPTIONS +## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +## ------------ GENERICS + +func _on_generic_checkbox(button_pressed, section, key, update_preview = true) -> void: + # Many methods here are the same, so I want to replace all those instances + # with this generic checkbox logic. TODO + if loading: + return + DialogicResources.set_theme_value(current_theme, section, key, button_pressed) + if update_preview: + _on_PreviewButton_pressed() # Refreshing the preview + + +func _on_generic_value_change(value, section, key, update_preview = true) -> void: + if loading: + return + DialogicResources.set_theme_value(current_theme, section, key, value) + if update_preview: + _on_PreviewButton_pressed() # Refreshing the preview + + +## ------------ DIALOG TEXT TAB ------------------------------------ + +# Fonts +func _on_FontButton_pressed() -> void: + editor_reference.godot_dialog("*.tres") + editor_reference.godot_dialog_connect(self, "_on_Font_selected") + + +func _on_Font_selected(path, target) -> void: + if loading: + return + DialogicResources.set_theme_value(current_theme, 'text','font', path) + n['theme_font'].text = DialogicResources.get_filename_from_path(path) + _on_PreviewButton_pressed() # Refreshing the preview + + +func _on_FontOpen_pressed(): + var theme = DialogicResources.get_theme_config(current_theme) + editor_reference.editor_interface.inspect_object(load(theme.get_value('text', 'font', 'res://addons/dialogic/Example Assets/Fonts/DefaultFont.tres'))) + + +func _on_BoldFontButton_pressed(): + editor_reference.godot_dialog("*.tres") + editor_reference.godot_dialog_connect(self, "_on_BoldFont_selected") + + +func _on_BoldFont_selected(path, target) -> void: + if loading: + return + DialogicResources.set_theme_value(current_theme, 'text','bold_font', path) + n['theme_font_bold'].text = DialogicResources.get_filename_from_path(path) + _on_PreviewButton_pressed() # Refreshing the preview + + +func _on_BoldFontOpen_pressed(): + var theme = DialogicResources.get_theme_config(current_theme) + editor_reference.editor_interface.inspect_object(load(theme.get_value('text', 'bold_font', 'res://addons/dialogic/Example Assets/Fonts/DefaultBoldFont.tres'))) + + +func _on_ItalicFontButton_pressed(): + editor_reference.godot_dialog("*.tres") + editor_reference.godot_dialog_connect(self, "_on_ItalicFont_selected") + + +func _on_ItalicFont_selected(path, target) -> void: + if loading: + return + DialogicResources.set_theme_value(current_theme, 'text', 'italic_font', path) + n['theme_font_italic'].text = DialogicResources.get_filename_from_path(path) + _on_PreviewButton_pressed() # Refreshing the preview + + +func _on_ItalicFontOpen_pressed(): + var theme = DialogicResources.get_theme_config(current_theme) + editor_reference.editor_interface.inspect_object(load(theme.get_value('text', 'italic_font', 'res://addons/dialogic/Example Assets/Fonts/DefaultItalicFont.tres'))) + + +func _on_NameFont_pressed(): + editor_reference.godot_dialog("*.tres") + editor_reference.godot_dialog_connect(self, "_on_NameFont_selected") + + +func _on_NameFont_selected(path, target) -> void: + if loading: + return + DialogicResources.set_theme_value(current_theme, 'name', 'font', path) + n['name_font'].text = DialogicResources.get_filename_from_path(path) + _on_PreviewButton_pressed() # Refreshing the preview + + +func _on_NameFontOpen_pressed(): + var theme = DialogicResources.get_theme_config(current_theme) + editor_reference.editor_interface.inspect_object(load(theme.get_value('name', 'font', 'res://addons/dialogic/Example Assets/Fonts/NameFont.tres'))) + + +func _on_Alignment_item_selected(index) -> void: + if loading: + return + if index == 0: + DialogicResources.set_theme_value(current_theme, 'text', 'alignment', 'Left') + elif index == 1: + DialogicResources.set_theme_value(current_theme, 'text', 'alignment', 'Center') + elif index == 2: + DialogicResources.set_theme_value(current_theme, 'text', 'alignment', 'Right') + _on_PreviewButton_pressed() # Refreshing the preview + + +func _on_ColorPickerButton_color_changed(color) -> void: + if loading: + return + DialogicResources.set_theme_value(current_theme, 'text','color', '#' + color.to_html()) + $DelayPreviewTimer.start(0.5) # Calling a timer so the update doesn't get triggered many times + + +func _on_ColorPickerButtonShadow_color_changed(color) -> void: + if loading: + return + DialogicResources.set_theme_value(current_theme, 'text','shadow_color', '#' + color.to_html()) + $DelayPreviewTimer.start(0.5) # Calling a timer so the update doesn't get triggered many times + + +func _on_ShadowOffset_value_changed(_value) -> void: + if loading: + return + DialogicResources.set_theme_value(current_theme, 'text','shadow_offset', Vector2(n['theme_shadow_offset_x'].value,n['theme_shadow_offset_y'].value)) + _on_PreviewButton_pressed() # Refreshing the preview + + +## ------------ DIALOG BOX TAB ------------------------------------ + +func _on_TextMargin_value_changed(value) -> void: + if loading: + return + var final_vector = Vector2( + n['theme_text_margin'].value, + n['theme_text_margin_h'].value + ) + DialogicResources.set_theme_value(current_theme, 'text', 'margin', final_vector) + _on_PreviewButton_pressed() # Refreshing the preview + + +func _on_BoxSize_value_changed(value) -> void: + if loading: + return + var size_value = Vector2(n['size_w'].value, n['size_h'].value) + DialogicResources.set_theme_value(current_theme, 'box', 'size', size_value) + _on_PreviewButton_pressed() # Refreshing the preview + +func _on_button_dialogbox_anchor_selected(index): + if loading: + return + DialogicResources.set_theme_value(current_theme, 'box', 'anchor', index) + _on_PreviewButton_pressed() # Refreshing the preview + + +# Background Texture +func _on_BackgroundTextureButton_pressed() -> void: + editor_reference.godot_dialog("*.png") + editor_reference.godot_dialog_connect(self, "_on_background_selected") + + +func _on_background_selected(path, target) -> void: + if loading: + return + DialogicResources.set_theme_value(current_theme, 'background','image', path) + n['theme_background_image'].text = DialogicResources.get_filename_from_path(path) + _on_PreviewButton_pressed() # Refreshing the preview + + +func _on_ColorPicker_Background_texture_modulation_color_changed(color) -> void: + if loading: + return + DialogicResources.set_theme_value(current_theme, 'background', 'modulation_color', '#' + color.to_html()) + $DelayPreviewTimer.start(0.5) # Calling a timer so the update doesn't get triggered many times + +# Background Color +func _on_BackgroundColor_ColorPickerButton_color_changed(color) -> void: + if loading: + return + DialogicResources.set_theme_value(current_theme, 'background', 'color', '#' + color.to_html()) + $DelayPreviewTimer.start(0.5) # Calling a timer so the update doesn't get triggered many times + +# Next indicator +func _on_NextIndicatorButton_pressed() -> void: + editor_reference.godot_dialog("*.png") + editor_reference.godot_dialog_connect(self, "_on_indicator_selected") + + +func _on_indicator_selected(path, target) -> void: + if loading: + return + DialogicResources.set_theme_value(current_theme, 'next_indicator','image', path) + n['theme_next_image'].text = DialogicResources.get_filename_from_path(path) + # Since people will probably want the sprite on fresh values and the default + # ones are for the custom dialogic theme, I reset the next indicator properties + # here so they can set the scale and offset they want. + DialogicResources.set_theme_value(current_theme, 'next_indicator', 'scale', 1) + DialogicResources.set_theme_value(current_theme, 'offset', 'scale', Vector2(10,10)) + n['next_indicator_scale'].value = 1 + n['next_indicator_offset_x'].value = 10 + n['next_indicator_offset_y'].value = 10 + _on_PreviewButton_pressed() # Refreshing the preview + + +func _on_NextAnimation_item_selected(index) -> void: + DialogicResources.set_theme_value(current_theme, 'next_indicator', 'animation', n['next_animation'].get_item_text(index)) + _on_PreviewButton_pressed() # Refreshing the preview + + +func _on_NextOffset_value_changed(value): + if loading: + return + var offset_value = Vector2(n['next_indicator_offset_x'].value, n['next_indicator_offset_y'].value) + DialogicResources.set_theme_value(current_theme, 'next_indicator', 'offset', offset_value) + _on_PreviewButton_pressed() # Refreshing the preview + + +func _on_ActionOptionButton_item_selected(index) -> void: + if loading: + return + DialogicResources.set_theme_value(current_theme, 'settings','action_key', n['theme_action_key'].text) + + +func _on_ActionOptionButton_pressed() -> void: + var theme = DialogicResources.get_theme_config(current_theme) + n['theme_action_key'].clear() + n['theme_action_key'].add_item(theme.get_value('settings', 'action_key', '[Default]')) + n['theme_action_key'].add_item('[Default]') + InputMap.load_from_globals() + for a in InputMap.get_actions(): + n['theme_action_key'].add_item(a) + + +## ------------ NAME LABEL TAB ------------------------------------ + +# Text Color +func _on_name_auto_color_toggled(button_pressed) -> void: + if loading: + return + DialogicResources.set_theme_value(current_theme, 'name', 'auto_color', button_pressed) + _on_PreviewButton_pressed() # Refreshing the preview + + +# Background Color +func _on_name_background_color_changed(color) -> void: + if loading: + return + DialogicResources.set_theme_value(current_theme, 'name', 'background', '#' + color.to_html()) + $DelayPreviewTimer.start(0.5) # Calling a timer so the update doesn't get triggered many times + + +# Background Texture +func _on_name_image_pressed() -> void: + editor_reference.godot_dialog("*.png") + editor_reference.godot_dialog_connect(self, "_on_name_texture_selected") + + +func _on_name_texture_selected(path, target) -> void: + if loading: + return + DialogicResources.set_theme_value(current_theme, 'name', 'image', path) + n['name_image'].text = DialogicResources.get_filename_from_path(path) + _on_PreviewButton_pressed() # Refreshing the preview + + +func _on_ColorPicker_NameLabel_modulation_color_changed(color) -> void: + if loading: + return + DialogicResources.set_theme_value(current_theme, 'name', 'modulation_color', '#' + color.to_html()) + $DelayPreviewTimer.start(0.5) # Calling a timer so the update doesn't get triggered many times + + +func _on_name_shadow_color_changed(color) -> void: + if loading: + return + DialogicResources.set_theme_value(current_theme, 'name', 'shadow', '#' + color.to_html()) + $DelayPreviewTimer.start(0.5) # Calling a timer so the update doesn't get triggered many times + + +func _on_name_ShadowOffset_value_changed(_value) -> void: + if loading: + return + DialogicResources.set_theme_value(current_theme, 'name','shadow_offset', + Vector2(n['name_shadow_offset_x'].value, n['name_shadow_offset_y'].value)) + _on_PreviewButton_pressed() # Refreshing the preview + + +func _on_name_padding_value_changed(_value) -> void: + if loading: + return + DialogicResources.set_theme_value(current_theme, 'name','name_padding', + Vector2(n['name_padding_x'].value, n['name_padding_y'].value)) + _on_PreviewButton_pressed() # Refreshing the preview + + +func _on_name_BottomGap_value_changed(value) -> void: + if loading: + return + # Todo in 2.0: Replace for a single Vector2 instead of two variables + DialogicResources.set_theme_value(current_theme, 'name', 'bottom_gap', n['name_bottom_gap'].value) + DialogicResources.set_theme_value(current_theme, 'name', 'horizontal_offset', n['name_horizontal_offset'].value) + _on_PreviewButton_pressed() # Refreshing the preview + + +func _on_name_position_selected(index): + if loading: + return + DialogicResources.set_theme_value(current_theme, 'name', 'position', index) + _on_PreviewButton_pressed() # Refreshing the preview + +## ------------ CHOICE BUTTON TAB -------------------------------- +func _on_ButtonSize_value_changed(value): + if loading: + return + DialogicResources.set_theme_value(current_theme, 'buttons','fixed_size', Vector2(n['button_fixed_x'].value,n['button_fixed_y'].value)) + _on_PreviewButton_pressed() # Refreshing the preview + + +func _on_ButtonOffset_value_changed(value) -> void: + if loading: + return + var final_vector = Vector2( + n['button_padding_x'].value, + n['button_padding_y'].value + ) + DialogicResources.set_theme_value(current_theme, 'buttons', 'padding', final_vector) + + +func _on_button_layout_selected(index): + if loading: + return + DialogicResources.set_theme_value(current_theme, 'buttons', 'layout', index) + _on_PreviewButton_pressed() # Refreshing the preview + + +func _on_button_anchor_selected(index): + if loading: + return + DialogicResources.set_theme_value(current_theme, 'buttons', 'anchor', index) + _on_PreviewButton_pressed() # Refreshing the preview + + +func _on_button_offset_changed(_value): + if loading: + return + var offset_vector = Vector2(n['button_offset_x'].value, n['button_offset_y'].value) + DialogicResources.set_theme_value(current_theme, 'buttons', 'offset', offset_vector) + _on_PreviewButton_pressed() # Refreshing the preview + + +func _on_VerticalSeparation_value_changed(value) -> void: + if loading: + return + DialogicResources.set_theme_value(current_theme, 'buttons', 'gap', n['button_separation'].value) + + +# Background Texture +func _on_button_texture_toggled(button_pressed) -> void: + if loading: + return + DialogicResources.set_theme_value(current_theme, 'buttons', 'use_image', button_pressed) + + +func _on_ButtonTextureButton_pressed(section = '') -> void: + editor_reference.godot_dialog("*.png") + if section != '': + # Special modifier + current_choice_modifier_selected = section + editor_reference.godot_dialog_connect(self, "_on_modifier_button_image_selected") + + +func _on_modifier_button_image_selected(path, _target): + if loading: + return + n['button_' + current_choice_modifier_selected].set_path(path) + n['button_' + current_choice_modifier_selected].real_file_path = path + n['button_' + current_choice_modifier_selected].get_node('BackgroundTexture/Button').text = DialogicResources.get_filename_from_path(path) + _on_choice_style_modified(current_choice_modifier_selected) + + +func _on_choice_style_modified(section): + DialogicResources.set_theme_value(current_theme, 'buttons', section, n['button_' + section].get_style_array()) + +func _on_native_button_toggled(button_pressed) -> void: + if loading: + return + DialogicResources.set_theme_value(current_theme, 'buttons', 'use_native', button_pressed) + toggle_button_customization_fields(button_pressed, false) + + +func toggle_button_customization_fields(native_enabled: bool, custom_enabled: bool) -> void: + var customization_disabled = native_enabled or custom_enabled + n['button_use_native'].disabled = custom_enabled + n['button_use_custom'].disabled = native_enabled + n['button_custom_path'].disabled = native_enabled + n['button_padding_x'].editable = not customization_disabled + n['button_padding_y'].editable = not customization_disabled + + +func _on_CustomButtonsCheckBox_toggled(button_pressed): + if loading: + return + DialogicResources.set_theme_value(current_theme, 'buttons', 'use_custom', button_pressed) + toggle_button_customization_fields(false, button_pressed) + + +func _on_CustomButtonsButton_pressed(): + editor_reference.godot_dialog("*.tscn") + editor_reference.godot_dialog_connect(self, "_on_custom_button_selected") + + +func _on_custom_button_selected(path, target) -> void: + if loading: + return + DialogicResources.set_theme_value(current_theme, 'buttons', 'custom_path', path) + n['button_custom_path'].text = DialogicResources.get_filename_from_path(path) + + +## ------------ GLOSSARY TAB ------------------------------------ + +## TITLE FONT +func _on_Glossary_TitleFontButton_pressed(): + editor_reference.godot_dialog("*.tres") + editor_reference.godot_dialog_connect(self, "_on_Glossary_TitleFont_selected") + + +func _on_Glossary_TitleFontOpen_pressed(): + var theme = DialogicResources.get_theme_config(current_theme) + editor_reference.editor_interface.inspect_object(load(theme.get_value('definitions', 'font', 'res://addons/dialogic/Example Assets/Fonts/GlossaryFont.tres'))) + + +func _on_Glossary_TitleFont_selected(path, target) -> void: + if loading: + return + DialogicResources.set_theme_value(current_theme, 'definitions', 'font', path) + n['glossary_title_font'].text = DialogicResources.get_filename_from_path(path) + _on_PreviewButton_pressed() # Refreshing the preview + + +func _on_Glossary_TitleColorPicker_color_changed(color): + if loading: + return + DialogicResources.set_theme_value(current_theme, 'definitions', 'title_color', '#' + color.to_html()) + $DelayPreviewTimer.start(0.5) # Calling a timer so the update doesn't get triggered many times + + +## TEXT +func _on_Glossary_TextFontButton_pressed(): + editor_reference.godot_dialog("*.tres") + editor_reference.godot_dialog_connect(self, "_on_Glossary_TextFont_selected") + + +func _on_Glossary_TextFont_selected(path, target): + if loading: + return + DialogicResources.set_theme_value(current_theme, 'definitions', 'text_font', path) + n['glossary_text_font'].text = DialogicResources.get_filename_from_path(path) + _on_PreviewButton_pressed() # Refreshing the preview + + +func _on_Glossary_TextFontOpen_pressed(): + var theme = DialogicResources.get_theme_config(current_theme) + editor_reference.editor_interface.inspect_object(load(theme.get_value('definitions', 'text_font', 'res://addons/dialogic/Example Assets/Fonts/GlossaryFont.tres'))) + + +func _on_Glossary_TextColorPicker_color_changed(color): + if loading: + return + DialogicResources.set_theme_value(current_theme, 'definitions', 'text_color', '#' + color.to_html()) + $DelayPreviewTimer.start(0.5) # Calling a timer so the update doesn't get triggered many times + + +## EXTRA FONT +func _on_Glossary_ExtraFontButton_pressed(): + editor_reference.godot_dialog("*.tres") + editor_reference.godot_dialog_connect(self, "_on_Glossary_ExtraFont_selected") + + +func _on_Glossary_ExtraFont_selected(path, target): + if loading: + return + DialogicResources.set_theme_value(current_theme, 'definitions', 'extra_font', path) + n['glossary_extra_font'].text = DialogicResources.get_filename_from_path(path) + _on_PreviewButton_pressed() # Refreshing the preview + + +func _on_Glossary_ExtraFontOpen_pressed(): + var theme = DialogicResources.get_theme_config(current_theme) + editor_reference.editor_interface.inspect_object(load(theme.get_value('definitions', 'extra_font', 'res://addons/dialogic/Example Assets/Fonts/GlossaryFont.tres'))) + + +func _on_Glossary_ExtraColorPicker_color_changed(color): + if loading: + return + DialogicResources.set_theme_value(current_theme, 'definitions', 'extra_color', '#' + color.to_html()) + $DelayPreviewTimer.start(0.5) # Calling a timer so the update doesn't get triggered many times + + +## HIGHLIGHT COLOR +func _on_Glossary_HighlightColorPicker_color_changed(color): + if loading: + return + DialogicResources.set_theme_value(current_theme, 'definitions', 'color', '#' + color.to_html()) + $DelayPreviewTimer.start(0.5) # Calling a timer so the update doesn't get triggered many times + +## BACKGROUNDPANEL + + +func _on_BgPanelSelection_pressed(): + editor_reference.godot_dialog("*.tres") + editor_reference.godot_dialog_connect(self, "_on_Glossary_BackgroundPanel_selected") + + +func _on_BGPanelOpen_pressed(): + var theme = DialogicResources.get_theme_config(current_theme) + editor_reference.editor_interface.inspect_object(load(theme.get_value('definitions', 'background_panel', 'res://addons/dialogic/Example Assets/backgrounds/GlossaryBackground.tres'))) + + +func _on_Glossary_BackgroundPanel_selected(path, target): + if loading: + return + DialogicResources.set_theme_value(current_theme, 'definitions', 'background_panel', path) + n['glossary_background_panel'].text = DialogicResources.get_filename_from_path(path) + _on_PreviewButton_pressed() # Refreshing the preview + +## ------------ AUDIO TAB ------------------------------------ +func _on_audio_data_updated(section): + DialogicResources.set_theme_value(current_theme, 'audio', section, n['audio_pickers'][section].get_data()) + _on_PreviewButton_pressed() + + diff --git a/addons/dialogic/Editor/ThemeEditor/ThemeEditor.tscn b/addons/dialogic/Editor/ThemeEditor/ThemeEditor.tscn new file mode 100644 index 0000000..280663e --- /dev/null +++ b/addons/dialogic/Editor/ThemeEditor/ThemeEditor.tscn @@ -0,0 +1,1982 @@ +[gd_scene load_steps=13 format=2] + +[ext_resource path="res://addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme.svg" type="Texture" id=1] +[ext_resource path="res://addons/dialogic/Editor/ThemeEditor/ThemeEditor.gd" type="Script" id=2] +[ext_resource path="res://addons/dialogic/Editor/Common/SectionTitle.tscn" type="PackedScene" id=3] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/MenuButtonHover.tres" type="StyleBox" id=4] +[ext_resource path="res://addons/dialogic/Editor/Events/styles/MenuButtonNormal.tres" type="StyleBox" id=5] +[ext_resource path="res://addons/dialogic/Editor/ThemeEditor/ButtonStylePicker.tscn" type="PackedScene" id=6] +[ext_resource path="res://addons/dialogic/Editor/ThemeEditor/AudioPicker.tscn" type="PackedScene" id=7] +[ext_resource path="res://addons/dialogic/Editor/Common/TLabel.tscn" type="PackedScene" id=8] + +[sub_resource type="Image" id=5] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=2] +flags = 4 +flags = 4 +image = SubResource( 5 ) +size = Vector2( 16, 16 ) + +[sub_resource type="Image" id=6] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=4] +flags = 4 +flags = 4 +image = SubResource( 6 ) +size = Vector2( 16, 16 ) + +[node name="ThemeEditor" type="ScrollContainer"] +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_right = -6.0 +margin_bottom = 311.0 +script = ExtResource( 2 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="VBoxContainer" type="VBoxContainer" parent="."] +margin_right = 1018.0 +margin_bottom = 911.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +custom_constants/separation = 15 + +[node name="Panel" type="Panel" parent="VBoxContainer"] +margin_right = 1018.0 +margin_bottom = 277.0 +rect_min_size = Vector2( 0, 277 ) + +[node name="HBoxContainer3" type="HBoxContainer" parent="VBoxContainer"] +margin_top = 292.0 +margin_right = 1018.0 +margin_bottom = 352.0 +custom_constants/separation = 10 + +[node name="TextEdit" type="TextEdit" parent="VBoxContainer/HBoxContainer3"] +margin_right = 710.0 +margin_bottom = 60.0 +rect_min_size = Vector2( 400, 60 ) +size_flags_horizontal = 3 +text = "This is [i]preview[/i] text. You can use [color=#A5EFAC]BBCode[/color] to [b]style[/b] it. +[wave amp=50 freq=2]You can even use effects![/wave]" +syntax_highlighting = true +wrap_enabled = true + +[node name="CharacterPicker" type="MenuButton" parent="VBoxContainer/HBoxContainer3"] +margin_left = 720.0 +margin_right = 856.0 +margin_bottom = 60.0 +custom_styles/hover = ExtResource( 4 ) +custom_styles/normal = ExtResource( 5 ) +text = "Random Character" +flat = false + +[node name="PreviewButton" type="Button" parent="VBoxContainer/HBoxContainer3"] +margin_left = 866.0 +margin_right = 1018.0 +margin_bottom = 60.0 +text = " Preview changes " +icon = ExtResource( 1 ) + +[node name="TabContainer" type="TabContainer" parent="VBoxContainer"] +margin_top = 367.0 +margin_right = 1018.0 +margin_bottom = 911.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +tab_align = 0 + +[node name="Dialog Text" type="HBoxContainer" parent="VBoxContainer/TabContainer"] +visible = false +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 4.0 +margin_top = 32.0 +margin_right = -4.0 +margin_bottom = -4.0 +custom_constants/separation = 10 + +[node name="Column" type="VBoxContainer" parent="VBoxContainer/TabContainer/Dialog Text"] +margin_right = 270.0 +margin_bottom = 508.0 +rect_min_size = Vector2( 270, 0 ) +size_flags_vertical = 3 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="SectionTitle" parent="VBoxContainer/TabContainer/Dialog Text/Column" instance=ExtResource( 3 )] +text = "Fonts" +text_key = "Fonts" + +[node name="GridContainer" type="GridContainer" parent="VBoxContainer/TabContainer/Dialog Text/Column"] +margin_top = 26.0 +margin_right = 270.0 +margin_bottom = 100.0 +size_flags_horizontal = 3 +custom_constants/hseparation = 10 +columns = 2 + +[node name="TLabel" parent="VBoxContainer/TabContainer/Dialog Text/Column/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 4.0 +margin_right = 79.0 +margin_bottom = 18.0 +text = "Regular Font" +text_key = "Regular Font" + +[node name="RegularFont" type="HBoxContainer" parent="VBoxContainer/TabContainer/Dialog Text/Column/GridContainer"] +margin_left = 89.0 +margin_right = 239.0 +margin_bottom = 22.0 + +[node name="RegularFontButton" type="Button" parent="VBoxContainer/TabContainer/Dialog Text/Column/GridContainer/RegularFont"] +margin_top = 1.0 +margin_right = 118.0 +margin_bottom = 21.0 +size_flags_horizontal = 3 +size_flags_vertical = 4 +text = "DefaultFont" + +[node name="RegularFontOpen" type="Button" parent="VBoxContainer/TabContainer/Dialog Text/Column/GridContainer/RegularFont"] +margin_left = 122.0 +margin_right = 150.0 +margin_bottom = 22.0 +size_flags_vertical = 4 +icon = SubResource( 2 ) + +[node name="TLabel2" parent="VBoxContainer/TabContainer/Dialog Text/Column/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 30.0 +margin_right = 79.0 +margin_bottom = 44.0 +text = "Bold Font" +text_key = "Bold Font" + +[node name="BoldFont" type="HBoxContainer" parent="VBoxContainer/TabContainer/Dialog Text/Column/GridContainer"] +margin_left = 89.0 +margin_top = 26.0 +margin_right = 239.0 +margin_bottom = 48.0 + +[node name="BoldFontButton" type="Button" parent="VBoxContainer/TabContainer/Dialog Text/Column/GridContainer/BoldFont"] +margin_top = 1.0 +margin_right = 118.0 +margin_bottom = 21.0 +size_flags_horizontal = 3 +size_flags_vertical = 4 +text = "DefaultBoldFont" + +[node name="BoldFontOpen" type="Button" parent="VBoxContainer/TabContainer/Dialog Text/Column/GridContainer/BoldFont"] +margin_left = 122.0 +margin_right = 150.0 +margin_bottom = 22.0 +size_flags_vertical = 4 +icon = SubResource( 2 ) + +[node name="TLabel3" parent="VBoxContainer/TabContainer/Dialog Text/Column/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 56.0 +margin_right = 79.0 +margin_bottom = 70.0 +text = "Italic Font" +text_key = "Italic Font" + +[node name="ItalicFont" type="HBoxContainer" parent="VBoxContainer/TabContainer/Dialog Text/Column/GridContainer"] +margin_left = 89.0 +margin_top = 52.0 +margin_right = 239.0 +margin_bottom = 74.0 + +[node name="ItalicFontButton" type="Button" parent="VBoxContainer/TabContainer/Dialog Text/Column/GridContainer/ItalicFont"] +margin_top = 1.0 +margin_right = 118.0 +margin_bottom = 21.0 +size_flags_horizontal = 3 +size_flags_vertical = 4 +text = "DefaultItalicFont" + +[node name="ItalicFontOpen" type="Button" parent="VBoxContainer/TabContainer/Dialog Text/Column/GridContainer/ItalicFont"] +margin_left = 122.0 +margin_right = 150.0 +margin_bottom = 22.0 +size_flags_vertical = 4 +icon = SubResource( 2 ) + +[node name="VSeparator" type="VSeparator" parent="VBoxContainer/TabContainer/Dialog Text"] +margin_left = 280.0 +margin_right = 284.0 +margin_bottom = 508.0 + +[node name="Column2" type="VBoxContainer" parent="VBoxContainer/TabContainer/Dialog Text"] +margin_left = 294.0 +margin_right = 564.0 +margin_bottom = 508.0 +rect_min_size = Vector2( 270, 0 ) +size_flags_vertical = 3 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="SectionTitle" parent="VBoxContainer/TabContainer/Dialog Text/Column2" instance=ExtResource( 3 )] +text = "Colors" +text_key = "Colors" + +[node name="GridContainer" type="GridContainer" parent="VBoxContainer/TabContainer/Dialog Text/Column2"] +margin_top = 26.0 +margin_right = 270.0 +margin_bottom = 118.0 +size_flags_horizontal = 3 +custom_constants/hseparation = 10 +columns = 2 + +[node name="TLabel" parent="VBoxContainer/TabContainer/Dialog Text/Column2/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 8.0 +margin_right = 91.0 +margin_bottom = 22.0 +text = "Text Color" +text_key = "Text Color" + +[node name="ColorPickerButton" type="ColorPickerButton" parent="VBoxContainer/TabContainer/Dialog Text/Column2/GridContainer"] +margin_left = 101.0 +margin_right = 259.0 +margin_bottom = 30.0 +rect_min_size = Vector2( 50, 30 ) +color = Color( 1, 1, 1, 1 ) + +[node name="TLabel2" parent="VBoxContainer/TabContainer/Dialog Text/Column2/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 42.0 +margin_right = 91.0 +margin_bottom = 56.0 +text = "Shadow" +text_key = "Shadow" + +[node name="HBoxContainer2" type="HBoxContainer" parent="VBoxContainer/TabContainer/Dialog Text/Column2/GridContainer"] +margin_left = 101.0 +margin_top = 34.0 +margin_right = 259.0 +margin_bottom = 64.0 + +[node name="CheckBoxShadow" type="CheckBox" parent="VBoxContainer/TabContainer/Dialog Text/Column2/GridContainer/HBoxContainer2"] +margin_right = 24.0 +margin_bottom = 30.0 + +[node name="ColorPickerButtonShadow" type="ColorPickerButton" parent="VBoxContainer/TabContainer/Dialog Text/Column2/GridContainer/HBoxContainer2"] +margin_left = 28.0 +margin_right = 158.0 +margin_bottom = 30.0 +rect_min_size = Vector2( 50, 30 ) +size_flags_horizontal = 3 +color = Color( 0, 0, 0, 0.619608 ) + +[node name="TLabel3" parent="VBoxContainer/TabContainer/Dialog Text/Column2/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 73.0 +margin_right = 91.0 +margin_bottom = 87.0 +text = "Shadow Offset" +text_key = "Shadow Offset" + +[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/TabContainer/Dialog Text/Column2/GridContainer"] +margin_left = 101.0 +margin_top = 68.0 +margin_right = 259.0 +margin_bottom = 92.0 +custom_constants/separation = 10 + +[node name="ShadowOffsetX" type="SpinBox" parent="VBoxContainer/TabContainer/Dialog Text/Column2/GridContainer/HBoxContainer"] +margin_right = 74.0 +margin_bottom = 24.0 +value = 2.0 +rounded = true +allow_lesser = true +prefix = "X" + +[node name="ShadowOffsetY" type="SpinBox" parent="VBoxContainer/TabContainer/Dialog Text/Column2/GridContainer/HBoxContainer"] +margin_left = 84.0 +margin_right = 158.0 +margin_bottom = 24.0 +value = 2.0 +rounded = true +allow_lesser = true +prefix = "Y" + +[node name="VSeparator2" type="VSeparator" parent="VBoxContainer/TabContainer/Dialog Text"] +margin_left = 574.0 +margin_right = 578.0 +margin_bottom = 508.0 + +[node name="Column3" type="VBoxContainer" parent="VBoxContainer/TabContainer/Dialog Text"] +margin_left = 588.0 +margin_right = 858.0 +margin_bottom = 508.0 +rect_min_size = Vector2( 270, 0 ) +size_flags_vertical = 3 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="SectionTitle" parent="VBoxContainer/TabContainer/Dialog Text/Column3" instance=ExtResource( 3 )] +text = "Behaviour" +text_key = "Behaviour" + +[node name="GridContainer" type="GridContainer" parent="VBoxContainer/TabContainer/Dialog Text/Column3"] +margin_top = 26.0 +margin_right = 270.0 +margin_bottom = 102.0 +size_flags_horizontal = 3 +custom_constants/hseparation = 10 +columns = 2 + +[node name="TLabel" parent="VBoxContainer/TabContainer/Dialog Text/Column3/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 5.0 +margin_right = 148.0 +margin_bottom = 19.0 +text = "Speed (bigger = slower)" +text_key = "Speed (bigger = slower)" + +[node name="TextSpeed" type="SpinBox" parent="VBoxContainer/TabContainer/Dialog Text/Column3/GridContainer"] +margin_left = 158.0 +margin_right = 232.0 +margin_bottom = 24.0 +max_value = 10.0 +step = 0.01 +value = 2.0 + +[node name="TLabel2" parent="VBoxContainer/TabContainer/Dialog Text/Column3/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 31.0 +margin_right = 148.0 +margin_bottom = 45.0 +text = "Alignment" +text_key = "Alignment" + +[node name="HBoxContainer3" type="HBoxContainer" parent="VBoxContainer/TabContainer/Dialog Text/Column3/GridContainer"] +margin_left = 158.0 +margin_top = 28.0 +margin_right = 232.0 +margin_bottom = 48.0 + +[node name="Alignment" type="OptionButton" parent="VBoxContainer/TabContainer/Dialog Text/Column3/GridContainer/HBoxContainer3"] +margin_right = 74.0 +margin_bottom = 20.0 +size_flags_horizontal = 3 +text = "Left" +items = [ "Left", null, false, 0, null, "Center", null, false, 1, null, "Right", null, false, 2, null ] +selected = 0 + +[node name="TLabel3" parent="VBoxContainer/TabContainer/Dialog Text/Column3/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 57.0 +margin_right = 148.0 +margin_bottom = 71.0 +text = "Single Portrait Mode" +text_key = "Single Portrait Mode" + +[node name="SinglePortraitModeCheckBox" type="CheckBox" parent="VBoxContainer/TabContainer/Dialog Text/Column3/GridContainer"] +margin_left = 158.0 +margin_top = 52.0 +margin_right = 232.0 +margin_bottom = 76.0 + +[node name="Dialog Box" type="HBoxContainer" parent="VBoxContainer/TabContainer"] +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 4.0 +margin_top = 32.0 +margin_right = -4.0 +margin_bottom = -4.0 +custom_constants/separation = 10 + +[node name="Column" type="VBoxContainer" parent="VBoxContainer/TabContainer/Dialog Box"] +margin_right = 270.0 +margin_bottom = 508.0 +rect_min_size = Vector2( 270, 0 ) +size_flags_vertical = 3 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="SectionTitle" parent="VBoxContainer/TabContainer/Dialog Box/Column" instance=ExtResource( 3 )] +text_key = "Visuals" + +[node name="GridContainer" type="GridContainer" parent="VBoxContainer/TabContainer/Dialog Box/Column"] +margin_top = 26.0 +margin_right = 270.0 +margin_bottom = 106.0 +size_flags_horizontal = 3 +custom_constants/hseparation = 10 +columns = 2 + +[node name="TLabel" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 5.0 +margin_right = 126.0 +margin_bottom = 19.0 +text = "Background Color" +text_key = "Background Color" + +[node name="HBoxContainer2" type="HBoxContainer" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer"] +margin_left = 136.0 +margin_right = 262.0 +margin_bottom = 24.0 + +[node name="CheckBox" type="CheckBox" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer/HBoxContainer2"] +margin_right = 24.0 +margin_bottom = 24.0 + +[node name="ColorPickerButton" type="ColorPickerButton" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer/HBoxContainer2"] +margin_left = 28.0 +margin_right = 126.0 +margin_bottom = 24.0 +size_flags_horizontal = 3 + +[node name="TLabel2" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 33.0 +margin_right = 126.0 +margin_bottom = 47.0 +text = "Background Texture" +text_key = "Background Texture" + +[node name="HBoxContainer3" type="HBoxContainer" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer"] +margin_left = 136.0 +margin_top = 28.0 +margin_right = 262.0 +margin_bottom = 52.0 + +[node name="CheckBox" type="CheckBox" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer/HBoxContainer3"] +margin_right = 24.0 +margin_bottom = 24.0 +pressed = true + +[node name="BackgroundTextureButton" type="Button" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer/HBoxContainer3"] +margin_left = 28.0 +margin_right = 126.0 +margin_bottom = 24.0 +size_flags_horizontal = 3 +text = "background-2" + +[node name="TLabel3" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 61.0 +margin_right = 126.0 +margin_bottom = 75.0 +text = "Texture Modulation" +text_key = "Texture Modulation" + +[node name="HBoxContainer6" type="HBoxContainer" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer"] +margin_left = 136.0 +margin_top = 56.0 +margin_right = 262.0 +margin_bottom = 80.0 + +[node name="CheckBox" type="CheckBox" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer/HBoxContainer6"] +margin_right = 24.0 +margin_bottom = 24.0 + +[node name="ColorPickerButton" type="ColorPickerButton" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer/HBoxContainer6"] +margin_left = 28.0 +margin_right = 126.0 +margin_bottom = 24.0 +size_flags_horizontal = 3 + +[node name="SectionTitle2" parent="VBoxContainer/TabContainer/Dialog Box/Column" instance=ExtResource( 3 )] +margin_top = 110.0 +margin_bottom = 132.0 +text = "Size and Position" +text_key = "Size and Position" + +[node name="GridContainer2" type="GridContainer" parent="VBoxContainer/TabContainer/Dialog Box/Column"] +margin_top = 136.0 +margin_right = 270.0 +margin_bottom = 268.0 +size_flags_horizontal = 3 +custom_constants/hseparation = 10 +columns = 2 + +[node name="TLabel4" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 5.0 +margin_right = 104.0 +margin_bottom = 19.0 +text = "Full width" +text_key = "Full width" + +[node name="HBoxContainer7" type="HBoxContainer" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2"] +margin_left = 114.0 +margin_right = 266.0 +margin_bottom = 24.0 + +[node name="CheckBox" type="CheckBox" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2/HBoxContainer7"] +margin_right = 24.0 +margin_bottom = 24.0 + +[node name="TLabel6" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 33.0 +margin_right = 104.0 +margin_bottom = 47.0 +text = "Box size (pixels)" +text_key = "Box size (pixels)" + +[node name="HBoxContainer4" type="HBoxContainer" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2"] +margin_left = 114.0 +margin_top = 28.0 +margin_right = 266.0 +margin_bottom = 52.0 + +[node name="BoxSizeW" type="SpinBox" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2/HBoxContainer4"] +margin_right = 74.0 +margin_bottom = 24.0 +value = 100.0 +rounded = true +allow_greater = true +allow_lesser = true + +[node name="BoxSizeH" type="SpinBox" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2/HBoxContainer4"] +margin_left = 78.0 +margin_right = 152.0 +margin_bottom = 24.0 +max_value = 999.0 +value = 167.0 +rounded = true +allow_greater = true +allow_lesser = true + +[node name="TLabel8" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 59.0 +margin_right = 104.0 +margin_bottom = 73.0 +text = "Position" +text_key = "Position" + +[node name="PositionSelector" type="OptionButton" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2"] +margin_left = 114.0 +margin_top = 56.0 +margin_right = 266.0 +margin_bottom = 76.0 +text = "Bottom" +items = [ "Top Left", SubResource( 2 ), false, 0, null, "Top Center", SubResource( 2 ), false, 1, null, "Top Right", SubResource( 2 ), false, 2, null, "", null, false, -1, null, "Center Left", SubResource( 2 ), false, 3, null, "Center", SubResource( 2 ), false, 4, null, "Center Right", SubResource( 2 ), false, 5, null, "", null, false, -1, null, "Bottom Left", SubResource( 2 ), false, 6, null, "Bottom Center", SubResource( 2 ), false, 7, null, "Bottom Right", SubResource( 2 ), false, 8, null ] +selected = 0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TLabel7" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 85.0 +margin_right = 104.0 +margin_bottom = 99.0 +text = "Box margin" +text_key = "Box margin" + +[node name="BoxMargin" type="HBoxContainer" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2"] +margin_left = 114.0 +margin_top = 80.0 +margin_right = 266.0 +margin_bottom = 104.0 + +[node name="MarginV" type="SpinBox" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2/BoxMargin"] +margin_right = 74.0 +margin_bottom = 24.0 +max_value = 999.0 +value = 40.0 +rounded = true +allow_greater = true +allow_lesser = true + +[node name="MarginH" type="SpinBox" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2/BoxMargin"] +margin_left = 78.0 +margin_right = 152.0 +margin_bottom = 24.0 +max_value = 999.0 +value = 40.0 +rounded = true +allow_greater = true +allow_lesser = true + +[node name="TLabel5" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 113.0 +margin_right = 104.0 +margin_bottom = 127.0 +text = "Box padding" +text_key = "Box padding" + +[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2"] +margin_left = 114.0 +margin_top = 108.0 +margin_right = 266.0 +margin_bottom = 132.0 + +[node name="BoxPaddingV" type="SpinBox" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2/HBoxContainer"] +margin_right = 74.0 +margin_bottom = 24.0 +max_value = 1e+07 +value = 10.0 +rounded = true +allow_greater = true +allow_lesser = true + +[node name="BoxPaddingH" type="SpinBox" parent="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2/HBoxContainer"] +margin_left = 78.0 +margin_right = 152.0 +margin_bottom = 24.0 +max_value = 1e+07 +value = 20.0 +rounded = true +allow_greater = true +allow_lesser = true + +[node name="VSeparator" type="VSeparator" parent="VBoxContainer/TabContainer/Dialog Box"] +margin_left = 280.0 +margin_right = 284.0 +margin_bottom = 508.0 + +[node name="Column2" type="VBoxContainer" parent="VBoxContainer/TabContainer/Dialog Box"] +margin_left = 294.0 +margin_right = 564.0 +margin_bottom = 508.0 +rect_min_size = Vector2( 270, 0 ) +size_flags_vertical = 3 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="SectionTitle" parent="VBoxContainer/TabContainer/Dialog Box/Column2" instance=ExtResource( 3 )] +text = "Next Indicator" +text_key = "Next Indicator" + +[node name="GridContainer" type="GridContainer" parent="VBoxContainer/TabContainer/Dialog Box/Column2"] +margin_top = 26.0 +margin_right = 270.0 +margin_bottom = 126.0 +size_flags_horizontal = 3 +custom_constants/hseparation = 10 +columns = 2 + +[node name="TLabel" parent="VBoxContainer/TabContainer/Dialog Box/Column2/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 3.0 +margin_right = 66.0 +margin_bottom = 17.0 +text = "Image" +text_key = "Image" + +[node name="NextIndicatorButton" type="Button" parent="VBoxContainer/TabContainer/Dialog Box/Column2/GridContainer"] +margin_left = 76.0 +margin_right = 228.0 +margin_bottom = 20.0 +text = "next-indicator" + +[node name="TLabel2" parent="VBoxContainer/TabContainer/Dialog Box/Column2/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 27.0 +margin_right = 66.0 +margin_bottom = 41.0 +text = "Animation" +text_key = "Animation" + +[node name="NextAnimation" type="OptionButton" parent="VBoxContainer/TabContainer/Dialog Box/Column2/GridContainer"] +margin_left = 76.0 +margin_top = 24.0 +margin_right = 228.0 +margin_bottom = 44.0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TLabel3" parent="VBoxContainer/TabContainer/Dialog Box/Column2/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 53.0 +margin_right = 66.0 +margin_bottom = 67.0 +text = "Scale" +text_key = "Scale" + +[node name="HBoxContainer7" type="HBoxContainer" parent="VBoxContainer/TabContainer/Dialog Box/Column2/GridContainer"] +margin_left = 76.0 +margin_top = 48.0 +margin_right = 228.0 +margin_bottom = 72.0 + +[node name="IndicatorScale" type="SpinBox" parent="VBoxContainer/TabContainer/Dialog Box/Column2/GridContainer/HBoxContainer7"] +margin_right = 74.0 +margin_bottom = 24.0 +max_value = 999.0 +step = 0.1 +value = 1.0 +allow_greater = true +allow_lesser = true + +[node name="TLabel4" parent="VBoxContainer/TabContainer/Dialog Box/Column2/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 81.0 +margin_right = 66.0 +margin_bottom = 95.0 +text = "Offset" +text_key = "Offset" + +[node name="HBoxContainer2" type="HBoxContainer" parent="VBoxContainer/TabContainer/Dialog Box/Column2/GridContainer"] +margin_left = 76.0 +margin_top = 76.0 +margin_right = 228.0 +margin_bottom = 100.0 + +[node name="NextOffsetX" type="SpinBox" parent="VBoxContainer/TabContainer/Dialog Box/Column2/GridContainer/HBoxContainer2"] +margin_right = 74.0 +margin_bottom = 24.0 +max_value = 1e+07 +value = 10.0 +rounded = true +allow_greater = true +allow_lesser = true + +[node name="NextOffsetY" type="SpinBox" parent="VBoxContainer/TabContainer/Dialog Box/Column2/GridContainer/HBoxContainer2"] +margin_left = 78.0 +margin_right = 152.0 +margin_bottom = 24.0 +max_value = 1e+07 +value = 20.0 +rounded = true +allow_greater = true +allow_lesser = true + +[node name="VSeparator2" type="VSeparator" parent="VBoxContainer/TabContainer/Dialog Box"] +margin_left = 574.0 +margin_right = 578.0 +margin_bottom = 508.0 + +[node name="Column3" type="VBoxContainer" parent="VBoxContainer/TabContainer/Dialog Box"] +margin_left = 588.0 +margin_right = 858.0 +margin_bottom = 508.0 +rect_min_size = Vector2( 270, 0 ) +size_flags_vertical = 3 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="SectionTitle" parent="VBoxContainer/TabContainer/Dialog Box/Column3" instance=ExtResource( 3 )] +text = "Behaviour" +text_key = "Behaviour" + +[node name="GridContainer" type="GridContainer" parent="VBoxContainer/TabContainer/Dialog Box/Column3"] +margin_top = 26.0 +margin_right = 270.0 +margin_bottom = 74.0 +size_flags_horizontal = 3 +custom_constants/hseparation = 10 +columns = 2 + +[node name="TLabel" parent="VBoxContainer/TabContainer/Dialog Box/Column3/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 3.0 +margin_right = 84.0 +margin_bottom = 17.0 +text = "Action key" +text_key = "Action key" + +[node name="BoxContainer" type="HBoxContainer" parent="VBoxContainer/TabContainer/Dialog Box/Column3/GridContainer"] +margin_left = 94.0 +margin_right = 215.0 +margin_bottom = 20.0 + +[node name="ActionOptionButton" type="OptionButton" parent="VBoxContainer/TabContainer/Dialog Box/Column3/GridContainer/BoxContainer"] +margin_right = 121.0 +margin_bottom = 20.0 +hint_tooltip = "To add/remove actions go to Project > Project Settings > Input Map" +size_flags_horizontal = 3 +text = "[Select Action]" +items = [ "[Select Action]", null, false, 0, null, "ui_accept", null, false, 1, null, "ui_select", null, false, 2, null, "ui_cancel", null, false, 3, null, "ui_focus_next", null, false, 4, null, "ui_focus_prev", null, false, 5, null, "ui_left", null, false, 6, null, "ui_right", null, false, 7, null, "ui_up", null, false, 8, null, "ui_down", null, false, 9, null, "ui_page_up", null, false, 10, null, "ui_page_down", null, false, 11, null, "ui_home", null, false, 12, null, "ui_end", null, false, 13, null ] +selected = 0 + +[node name="TLabel2" parent="VBoxContainer/TabContainer/Dialog Box/Column3/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 29.0 +margin_right = 84.0 +margin_bottom = 43.0 +text = "Fade in time:" +text_key = "Fade in time:" + +[node name="ShowTime" type="HBoxContainer" parent="VBoxContainer/TabContainer/Dialog Box/Column3/GridContainer"] +margin_left = 94.0 +margin_top = 24.0 +margin_right = 215.0 +margin_bottom = 48.0 + +[node name="SpinBox" type="SpinBox" parent="VBoxContainer/TabContainer/Dialog Box/Column3/GridContainer/ShowTime"] +margin_right = 74.0 +margin_bottom = 24.0 +max_value = 999.0 +step = 0.1 +value = 0.5 +allow_greater = true + +[node name="Name Label" type="HBoxContainer" parent="VBoxContainer/TabContainer"] +visible = false +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 4.0 +margin_top = 32.0 +margin_right = -4.0 +margin_bottom = -4.0 +custom_constants/separation = 10 + +[node name="Column" type="VBoxContainer" parent="VBoxContainer/TabContainer/Name Label"] +margin_right = 287.0 +margin_bottom = 488.0 +rect_min_size = Vector2( 270, 0 ) +size_flags_vertical = 3 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="SectionTitle" parent="VBoxContainer/TabContainer/Name Label/Column" instance=ExtResource( 3 )] +margin_right = 287.0 +text = "Text" +text_key = "Text" + +[node name="GridContainer" type="GridContainer" parent="VBoxContainer/TabContainer/Name Label/Column"] +margin_top = 26.0 +margin_right = 287.0 +margin_bottom = 138.0 +columns = 2 + +[node name="TLabel" parent="VBoxContainer/TabContainer/Name Label/Column/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 4.0 +margin_right = 125.0 +margin_bottom = 18.0 +text = "Name label Font" +text_key = "Name label Font" + +[node name="RegularFont" type="HBoxContainer" parent="VBoxContainer/TabContainer/Name Label/Column/GridContainer"] +margin_left = 129.0 +margin_right = 287.0 +margin_bottom = 22.0 + +[node name="NameFontButton" type="Button" parent="VBoxContainer/TabContainer/Name Label/Column/GridContainer/RegularFont"] +margin_top = 1.0 +margin_right = 126.0 +margin_bottom = 21.0 +size_flags_horizontal = 3 +size_flags_vertical = 4 +text = "DefaultFont" + +[node name="NameFontOpen" type="Button" parent="VBoxContainer/TabContainer/Name Label/Column/GridContainer/RegularFont"] +margin_left = 130.0 +margin_right = 158.0 +margin_bottom = 22.0 +size_flags_vertical = 4 +icon = SubResource( 2 ) + +[node name="TLabel2" parent="VBoxContainer/TabContainer/Name Label/Column/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 31.0 +margin_right = 125.0 +margin_bottom = 45.0 +text = "Use character Color" +text_key = "Use character Color" + +[node name="CharacterColor" type="CheckBox" parent="VBoxContainer/TabContainer/Name Label/Column/GridContainer"] +margin_left = 129.0 +margin_top = 26.0 +margin_right = 287.0 +margin_bottom = 50.0 + +[node name="TLabel3" parent="VBoxContainer/TabContainer/Name Label/Column/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 62.0 +margin_right = 125.0 +margin_bottom = 76.0 +text = "Shadow" +text_key = "Shadow" + +[node name="HBoxContainer4" type="HBoxContainer" parent="VBoxContainer/TabContainer/Name Label/Column/GridContainer"] +margin_left = 129.0 +margin_top = 54.0 +margin_right = 287.0 +margin_bottom = 84.0 + +[node name="CheckBoxShadow" type="CheckBox" parent="VBoxContainer/TabContainer/Name Label/Column/GridContainer/HBoxContainer4"] +margin_right = 24.0 +margin_bottom = 30.0 + +[node name="ColorPickerButtonShadow" type="ColorPickerButton" parent="VBoxContainer/TabContainer/Name Label/Column/GridContainer/HBoxContainer4"] +margin_left = 28.0 +margin_right = 158.0 +margin_bottom = 30.0 +rect_min_size = Vector2( 50, 30 ) +size_flags_horizontal = 3 +color = Color( 0, 0, 0, 0.619608 ) + +[node name="TLabel4" parent="VBoxContainer/TabContainer/Name Label/Column/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 93.0 +margin_right = 125.0 +margin_bottom = 107.0 +text = "Shadow Offset" +text_key = "Shadow Offset" + +[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/TabContainer/Name Label/Column/GridContainer"] +margin_left = 129.0 +margin_top = 88.0 +margin_right = 287.0 +margin_bottom = 112.0 +custom_constants/separation = 10 + +[node name="ShadowOffsetX" type="SpinBox" parent="VBoxContainer/TabContainer/Name Label/Column/GridContainer/HBoxContainer"] +margin_right = 74.0 +margin_bottom = 24.0 +value = 2.0 +rounded = true +allow_lesser = true +prefix = "X" + +[node name="ShadowOffsetY" type="SpinBox" parent="VBoxContainer/TabContainer/Name Label/Column/GridContainer/HBoxContainer"] +margin_left = 84.0 +margin_right = 158.0 +margin_bottom = 24.0 +value = 2.0 +rounded = true +allow_lesser = true +prefix = "Y" + +[node name="VSeparator" type="VSeparator" parent="VBoxContainer/TabContainer/Name Label"] +margin_left = 297.0 +margin_right = 301.0 +margin_bottom = 488.0 + +[node name="Column2" type="VBoxContainer" parent="VBoxContainer/TabContainer/Name Label"] +margin_left = 311.0 +margin_right = 599.0 +margin_bottom = 488.0 +rect_min_size = Vector2( 270, 0 ) +size_flags_vertical = 3 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="SectionTitle" parent="VBoxContainer/TabContainer/Name Label/Column2" instance=ExtResource( 3 )] +margin_right = 288.0 +text = "Box" +text_key = "Box" + +[node name="GridContainer" type="GridContainer" parent="VBoxContainer/TabContainer/Name Label/Column2"] +margin_top = 26.0 +margin_right = 288.0 +margin_bottom = 134.0 +columns = 2 + +[node name="TLabel" parent="VBoxContainer/TabContainer/Name Label/Column2/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 5.0 +margin_right = 126.0 +margin_bottom = 19.0 +text = "Background Color" +text_key = "Background Color" + +[node name="HBoxContainer2" type="HBoxContainer" parent="VBoxContainer/TabContainer/Name Label/Column2/GridContainer"] +margin_left = 130.0 +margin_right = 288.0 +margin_bottom = 24.0 + +[node name="CheckBox" type="CheckBox" parent="VBoxContainer/TabContainer/Name Label/Column2/GridContainer/HBoxContainer2"] +margin_right = 24.0 +margin_bottom = 24.0 + +[node name="ColorPickerButton" type="ColorPickerButton" parent="VBoxContainer/TabContainer/Name Label/Column2/GridContainer/HBoxContainer2"] +margin_left = 28.0 +margin_right = 158.0 +margin_bottom = 24.0 +size_flags_horizontal = 3 + +[node name="TLabel2" parent="VBoxContainer/TabContainer/Name Label/Column2/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 33.0 +margin_right = 126.0 +margin_bottom = 47.0 +text = "Background Texture" +text_key = "Background Texture" + +[node name="HBoxContainer3" type="HBoxContainer" parent="VBoxContainer/TabContainer/Name Label/Column2/GridContainer"] +margin_left = 130.0 +margin_top = 28.0 +margin_right = 288.0 +margin_bottom = 52.0 + +[node name="CheckBox" type="CheckBox" parent="VBoxContainer/TabContainer/Name Label/Column2/GridContainer/HBoxContainer3"] +margin_right = 24.0 +margin_bottom = 24.0 +pressed = true + +[node name="BackgroundTextureButton" type="Button" parent="VBoxContainer/TabContainer/Name Label/Column2/GridContainer/HBoxContainer3"] +margin_left = 28.0 +margin_right = 158.0 +margin_bottom = 24.0 +size_flags_horizontal = 3 +text = "background-2" + +[node name="TLabel3" parent="VBoxContainer/TabContainer/Name Label/Column2/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 61.0 +margin_right = 126.0 +margin_bottom = 75.0 +text = "Texture Modulation" +text_key = "Texture Modulation" + +[node name="HBoxContainer6" type="HBoxContainer" parent="VBoxContainer/TabContainer/Name Label/Column2/GridContainer"] +margin_left = 130.0 +margin_top = 56.0 +margin_right = 288.0 +margin_bottom = 80.0 + +[node name="CheckBox" type="CheckBox" parent="VBoxContainer/TabContainer/Name Label/Column2/GridContainer/HBoxContainer6"] +margin_right = 24.0 +margin_bottom = 24.0 + +[node name="ColorPickerButton" type="ColorPickerButton" parent="VBoxContainer/TabContainer/Name Label/Column2/GridContainer/HBoxContainer6"] +margin_left = 28.0 +margin_right = 158.0 +margin_bottom = 24.0 +size_flags_horizontal = 3 + +[node name="TLabel4" parent="VBoxContainer/TabContainer/Name Label/Column2/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 89.0 +margin_right = 126.0 +margin_bottom = 103.0 +text = "Box Padding" +text_key = "Box Padding" + +[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/TabContainer/Name Label/Column2/GridContainer"] +margin_left = 130.0 +margin_top = 84.0 +margin_right = 288.0 +margin_bottom = 108.0 +custom_constants/separation = 10 + +[node name="NamePaddingX" type="SpinBox" parent="VBoxContainer/TabContainer/Name Label/Column2/GridContainer/HBoxContainer"] +margin_right = 74.0 +margin_bottom = 24.0 +step = 0.1 +value = 10.0 +allow_greater = true +allow_lesser = true + +[node name="NamePaddingY" type="SpinBox" parent="VBoxContainer/TabContainer/Name Label/Column2/GridContainer/HBoxContainer"] +margin_left = 84.0 +margin_right = 158.0 +margin_bottom = 24.0 +step = 0.1 +allow_greater = true +allow_lesser = true + +[node name="VSeparator2" type="VSeparator" parent="VBoxContainer/TabContainer/Name Label"] +margin_left = 609.0 +margin_right = 613.0 +margin_bottom = 488.0 + +[node name="Column3" type="VBoxContainer" parent="VBoxContainer/TabContainer/Name Label"] +margin_left = 623.0 +margin_right = 893.0 +margin_bottom = 488.0 +rect_min_size = Vector2( 270, 0 ) +size_flags_vertical = 3 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="SectionTitle" parent="VBoxContainer/TabContainer/Name Label/Column3" instance=ExtResource( 3 )] +text = "Placement" +text_key = "Placement" + +[node name="GridContainer" type="GridContainer" parent="VBoxContainer/TabContainer/Name Label/Column3"] +margin_top = 26.0 +margin_right = 270.0 +margin_bottom = 74.0 +columns = 2 + +[node name="TLabel" parent="VBoxContainer/TabContainer/Name Label/Column3/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 3.0 +margin_right = 52.0 +margin_bottom = 17.0 +text = "Position" +text_key = "Position" + +[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/TabContainer/Name Label/Column3/GridContainer"] +margin_left = 56.0 +margin_right = 208.0 +margin_bottom = 20.0 + +[node name="Positions" type="OptionButton" parent="VBoxContainer/TabContainer/Name Label/Column3/GridContainer/HBoxContainer"] +margin_right = 152.0 +margin_bottom = 20.0 +size_flags_horizontal = 3 +text = "Left" +items = [ "Left", null, false, 0, null, "Center", null, false, 1, null, "Right", null, false, 2, null ] +selected = 0 + +[node name="TLabel2" parent="VBoxContainer/TabContainer/Name Label/Column3/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 29.0 +margin_right = 52.0 +margin_bottom = 43.0 +text = "Offset" +text_key = "Offset" + +[node name="HBoxContainer5" type="HBoxContainer" parent="VBoxContainer/TabContainer/Name Label/Column3/GridContainer"] +margin_left = 56.0 +margin_top = 24.0 +margin_right = 208.0 +margin_bottom = 48.0 + +[node name="HorizontalOffset" type="SpinBox" parent="VBoxContainer/TabContainer/Name Label/Column3/GridContainer/HBoxContainer5"] +margin_right = 74.0 +margin_bottom = 24.0 +step = 0.1 +allow_greater = true +allow_lesser = true + +[node name="BottomGap" type="SpinBox" parent="VBoxContainer/TabContainer/Name Label/Column3/GridContainer/HBoxContainer5"] +margin_left = 78.0 +margin_right = 152.0 +margin_bottom = 24.0 +step = 0.1 +value = 48.0 +allow_greater = true +allow_lesser = true + +[node name="Choice Buttons" type="HBoxContainer" parent="VBoxContainer/TabContainer"] +visible = false +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 4.0 +margin_top = 32.0 +margin_right = -4.0 +margin_bottom = -4.0 +custom_constants/separation = 10 + +[node name="Column" type="VBoxContainer" parent="VBoxContainer/TabContainer/Choice Buttons"] +margin_right = 380.0 +margin_bottom = 488.0 +rect_min_size = Vector2( 380, 0 ) +size_flags_vertical = 3 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="SectionTitle" parent="VBoxContainer/TabContainer/Choice Buttons/Column" instance=ExtResource( 3 )] +margin_right = 380.0 +text = "Button Style" +text_key = "Button Style" + +[node name="TabContainer" type="TabContainer" parent="VBoxContainer/TabContainer/Choice Buttons/Column"] +margin_top = 26.0 +margin_right = 380.0 +margin_bottom = 170.0 +tab_align = 0 + +[node name="Normal" parent="VBoxContainer/TabContainer/Choice Buttons/Column/TabContainer" instance=ExtResource( 6 )] +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 4.0 +margin_top = 32.0 +margin_right = -4.0 +margin_bottom = -4.0 + +[node name="Hover" parent="VBoxContainer/TabContainer/Choice Buttons/Column/TabContainer" instance=ExtResource( 6 )] +visible = false +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 4.0 +margin_top = 32.0 +margin_right = -4.0 +margin_bottom = -4.0 + +[node name="Pressed" parent="VBoxContainer/TabContainer/Choice Buttons/Column/TabContainer" instance=ExtResource( 6 )] +visible = false +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 4.0 +margin_top = 32.0 +margin_right = -4.0 +margin_bottom = -4.0 + +[node name="Disabled" parent="VBoxContainer/TabContainer/Choice Buttons/Column/TabContainer" instance=ExtResource( 6 )] +visible = false +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 4.0 +margin_top = 32.0 +margin_right = -4.0 +margin_bottom = -4.0 + +[node name="VSeparator" type="VSeparator" parent="VBoxContainer/TabContainer/Choice Buttons"] +margin_left = 390.0 +margin_right = 394.0 +margin_bottom = 488.0 + +[node name="Column2" type="VBoxContainer" parent="VBoxContainer/TabContainer/Choice Buttons"] +margin_left = 404.0 +margin_right = 713.0 +margin_bottom = 488.0 +size_flags_vertical = 3 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="SectionTitle" parent="VBoxContainer/TabContainer/Choice Buttons/Column2" instance=ExtResource( 3 )] +margin_right = 309.0 +text = "Placement" +text_key = "Placement" + +[node name="GridContainer" type="GridContainer" parent="VBoxContainer/TabContainer/Choice Buttons/Column2"] +margin_top = 26.0 +margin_right = 309.0 +margin_bottom = 184.0 +size_flags_horizontal = 3 +custom_constants/hseparation = 10 +columns = 2 + +[node name="TLabel" parent="VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 5.0 +margin_right = 119.0 +margin_bottom = 19.0 +text = "Box padding" +text_key = "Box padding" + +[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer"] +margin_left = 129.0 +margin_right = 309.0 +margin_bottom = 24.0 + +[node name="TextOffsetV" type="SpinBox" parent="VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer/HBoxContainer"] +margin_right = 74.0 +margin_bottom = 24.0 +value = 5.0 +rounded = true +allow_greater = true +allow_lesser = true + +[node name="TextOffsetH" type="SpinBox" parent="VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer/HBoxContainer"] +margin_left = 78.0 +margin_right = 152.0 +margin_bottom = 24.0 +value = 5.0 +rounded = true +allow_greater = true +allow_lesser = true + +[node name="TLabel2" parent="VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 33.0 +margin_right = 119.0 +margin_bottom = 47.0 +text = "Fixed button size" +text_key = "Fixed button size" + +[node name="HBoxContainer2" type="HBoxContainer" parent="VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer"] +margin_left = 129.0 +margin_top = 28.0 +margin_right = 309.0 +margin_bottom = 52.0 + +[node name="FixedSize" type="CheckBox" parent="VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer/HBoxContainer2"] +margin_right = 24.0 +margin_bottom = 24.0 + +[node name="ButtonSizeX" type="SpinBox" parent="VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer/HBoxContainer2"] +margin_left = 28.0 +margin_right = 102.0 +margin_bottom = 24.0 +rounded = true +allow_greater = true +allow_lesser = true + +[node name="ButtonSizeY" type="SpinBox" parent="VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer/HBoxContainer2"] +margin_left = 106.0 +margin_right = 180.0 +margin_bottom = 24.0 +rounded = true +allow_greater = true +allow_lesser = true + +[node name="TLabel3" parent="VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 61.0 +margin_right = 119.0 +margin_bottom = 75.0 +text = "Separation" +text_key = "Separation" + +[node name="VerticalSeparation" type="SpinBox" parent="VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer"] +margin_left = 129.0 +margin_top = 56.0 +margin_right = 309.0 +margin_bottom = 80.0 +value = 5.0 +rounded = true +allow_lesser = true + +[node name="TLabel4" parent="VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 87.0 +margin_right = 119.0 +margin_bottom = 101.0 +text = "Button layout" +text_key = "Button layout" + +[node name="Layout" type="OptionButton" parent="VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer"] +margin_left = 129.0 +margin_top = 84.0 +margin_right = 309.0 +margin_bottom = 104.0 +size_flags_horizontal = 3 +text = "Vertical" +items = [ "Vertical", null, false, 0, null, "Horizontal", null, false, 1, null ] +selected = 0 + +[node name="TLabel5" parent="VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 112.0 +margin_right = 119.0 +margin_bottom = 126.0 +text = "Position on screen" +text_key = "Position on screen" + +[node name="PositionOnScreenOptionButton" type="OptionButton" parent="VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer"] +margin_left = 129.0 +margin_top = 108.0 +margin_right = 309.0 +margin_bottom = 130.0 +size_flags_horizontal = 3 +text = "Top Left" +icon = SubResource( 4 ) +items = [ "Top Left", SubResource( 2 ), false, 0, null, "Top Center", SubResource( 2 ), false, 1, null, "Top Right", SubResource( 2 ), false, 2, null, "", null, false, -1, null, "Center Left", SubResource( 2 ), false, 3, null, "Center", SubResource( 2 ), false, 4, null, "Center Right", SubResource( 2 ), false, 5, null, "", null, false, -1, null, "Bottom Left", SubResource( 2 ), false, 6, null, "Bottom Center", SubResource( 2 ), false, 7, null, "Bottom Right", SubResource( 2 ), false, 8, null ] +selected = 0 + +[node name="TLabel6" parent="VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 139.0 +margin_right = 119.0 +margin_bottom = 153.0 +text = "Offset x-y" +text_key = "Offset x-y" + +[node name="HBoxContainer3" type="HBoxContainer" parent="VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer"] +margin_left = 129.0 +margin_top = 134.0 +margin_right = 309.0 +margin_bottom = 158.0 + +[node name="ButtonOffsetX" type="SpinBox" parent="VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer/HBoxContainer3"] +margin_right = 74.0 +margin_bottom = 24.0 +rounded = true +allow_lesser = true + +[node name="ButtonOffsetY" type="SpinBox" parent="VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer/HBoxContainer3"] +margin_left = 78.0 +margin_right = 152.0 +margin_bottom = 24.0 +rounded = true +allow_lesser = true + +[node name="VSeparator2" type="VSeparator" parent="VBoxContainer/TabContainer/Choice Buttons"] +margin_left = 723.0 +margin_right = 727.0 +margin_bottom = 488.0 + +[node name="Column3" type="VBoxContainer" parent="VBoxContainer/TabContainer/Choice Buttons"] +margin_left = 737.0 +margin_right = 1007.0 +margin_bottom = 488.0 +rect_min_size = Vector2( 270, 0 ) +size_flags_vertical = 3 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="SectionTitle" parent="VBoxContainer/TabContainer/Choice Buttons/Column3" instance=ExtResource( 3 )] +text = "Advanced" +text_key = "Advanced" + +[node name="Label" type="Label" parent="VBoxContainer/TabContainer/Choice Buttons/Column3"] +margin_top = 26.0 +margin_right = 270.0 +margin_bottom = 57.0 +text = "Go to settings to enable those +options. Procede at your own risk." + +[node name="GridContainer" type="GridContainer" parent="VBoxContainer/TabContainer/Choice Buttons/Column3"] +margin_top = 61.0 +margin_right = 270.0 +margin_bottom = 113.0 +size_flags_horizontal = 3 +custom_constants/hseparation = 10 +columns = 2 + +[node name="CustomButtonsLabel" type="Label" parent="VBoxContainer/TabContainer/Choice Buttons/Column3/GridContainer"] +margin_top = 5.0 +margin_right = 132.0 +margin_bottom = 19.0 +hint_tooltip = "The selected scene must have the 'pressed' signal and the 'text' property'" +mouse_filter = 1 +text = "Use Custom Buttons" +__meta__ = { +"_editor_description_": "" +} + +[node name="HBoxContainer5" type="HBoxContainer" parent="VBoxContainer/TabContainer/Choice Buttons/Column3/GridContainer"] +margin_left = 142.0 +margin_right = 230.0 +margin_bottom = 24.0 + +[node name="CustomButtonsCheckBox" type="CheckBox" parent="VBoxContainer/TabContainer/Choice Buttons/Column3/GridContainer/HBoxContainer5"] +margin_right = 24.0 +margin_bottom = 24.0 + +[node name="CustomButtonsButton" type="Button" parent="VBoxContainer/TabContainer/Choice Buttons/Column3/GridContainer/HBoxContainer5"] +margin_left = 28.0 +margin_right = 88.0 +margin_bottom = 24.0 +hint_tooltip = "The selected scene must have the 'pressed' signal and the 'text' property'" +size_flags_horizontal = 3 +text = "custom" + +[node name="Label2" type="Label" parent="VBoxContainer/TabContainer/Choice Buttons/Column3/GridContainer"] +margin_top = 33.0 +margin_right = 132.0 +margin_bottom = 47.0 +text = "Use Native Buttons" + +[node name="CheckBox" type="CheckBox" parent="VBoxContainer/TabContainer/Choice Buttons/Column3/GridContainer"] +margin_left = 142.0 +margin_top = 28.0 +margin_right = 230.0 +margin_bottom = 52.0 + +[node name="Glossary" type="HBoxContainer" parent="VBoxContainer/TabContainer"] +visible = false +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 4.0 +margin_top = 32.0 +margin_right = -4.0 +margin_bottom = -4.0 +custom_constants/separation = 10 + +[node name="Column" type="VBoxContainer" parent="VBoxContainer/TabContainer/Glossary"] +margin_right = 270.0 +margin_bottom = 488.0 +rect_min_size = Vector2( 270, 0 ) + +[node name="SectionTitle" parent="VBoxContainer/TabContainer/Glossary/Column" instance=ExtResource( 3 )] +text_key = "Visuals" + +[node name="GridContainer" type="GridContainer" parent="VBoxContainer/TabContainer/Glossary/Column"] +margin_top = 26.0 +margin_right = 270.0 +margin_bottom = 82.0 +size_flags_horizontal = 3 +custom_constants/hseparation = 10 +columns = 2 + +[node name="TLabel" parent="VBoxContainer/TabContainer/Glossary/Column/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 8.0 +margin_right = 113.0 +margin_bottom = 22.0 +text = "Word color" +text_key = "Word color" + +[node name="HighlightColorPicker" type="ColorPickerButton" parent="VBoxContainer/TabContainer/Glossary/Column/GridContainer"] +margin_left = 123.0 +margin_right = 241.0 +margin_bottom = 30.0 +rect_min_size = Vector2( 50, 30 ) +color = Color( 0.215686, 0.654902, 0.67451, 1 ) + +[node name="TLabel2" parent="VBoxContainer/TabContainer/Glossary/Column/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 38.0 +margin_right = 113.0 +margin_bottom = 52.0 +text = "Background Panel" +text_key = "Background Panel" + +[node name="BackgroundPanel" type="HBoxContainer" parent="VBoxContainer/TabContainer/Glossary/Column/GridContainer"] +margin_left = 123.0 +margin_top = 34.0 +margin_right = 241.0 +margin_bottom = 56.0 + +[node name="BgPanelButton" type="Button" parent="VBoxContainer/TabContainer/Glossary/Column/GridContainer/BackgroundPanel"] +margin_top = 1.0 +margin_right = 86.0 +margin_bottom = 21.0 +size_flags_horizontal = 3 +size_flags_vertical = 4 +text = "DefaultFont" + +[node name="BGPanelOpen" type="Button" parent="VBoxContainer/TabContainer/Glossary/Column/GridContainer/BackgroundPanel"] +margin_left = 90.0 +margin_right = 118.0 +margin_bottom = 22.0 +size_flags_vertical = 4 +icon = SubResource( 2 ) + +[node name="VSeparator" type="VSeparator" parent="VBoxContainer/TabContainer/Glossary"] +margin_left = 280.0 +margin_right = 284.0 +margin_bottom = 488.0 + +[node name="Column3" type="VBoxContainer" parent="VBoxContainer/TabContainer/Glossary"] +margin_left = 294.0 +margin_right = 564.0 +margin_bottom = 488.0 +rect_min_size = Vector2( 270, 0 ) + +[node name="SectionTitle" parent="VBoxContainer/TabContainer/Glossary/Column3" instance=ExtResource( 3 )] +text = "Text" +text_key = "Text" + +[node name="GridContainer" type="GridContainer" parent="VBoxContainer/TabContainer/Glossary/Column3"] +margin_top = 26.0 +margin_right = 270.0 +margin_bottom = 202.0 +size_flags_horizontal = 3 +custom_constants/hseparation = 10 +columns = 2 + +[node name="TLabel" parent="VBoxContainer/TabContainer/Glossary/Column3/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 4.0 +margin_right = 67.0 +margin_bottom = 18.0 +text = "Title Font" +text_key = "Title Font" + +[node name="TitleFont" type="HBoxContainer" parent="VBoxContainer/TabContainer/Glossary/Column3/GridContainer"] +margin_left = 77.0 +margin_right = 195.0 +margin_bottom = 22.0 + +[node name="TitleFontButton" type="Button" parent="VBoxContainer/TabContainer/Glossary/Column3/GridContainer/TitleFont"] +margin_top = 1.0 +margin_right = 86.0 +margin_bottom = 21.0 +size_flags_horizontal = 3 +size_flags_vertical = 4 +text = "DefaultFont" + +[node name="TitleFontOpen" type="Button" parent="VBoxContainer/TabContainer/Glossary/Column3/GridContainer/TitleFont"] +margin_left = 90.0 +margin_right = 118.0 +margin_bottom = 22.0 +size_flags_vertical = 4 +icon = SubResource( 2 ) + +[node name="TLabel2" parent="VBoxContainer/TabContainer/Glossary/Column3/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 34.0 +margin_right = 67.0 +margin_bottom = 48.0 +text = "Title color" +text_key = "Title color" + +[node name="TitleColorPicker" type="ColorPickerButton" parent="VBoxContainer/TabContainer/Glossary/Column3/GridContainer"] +margin_left = 77.0 +margin_top = 26.0 +margin_right = 195.0 +margin_bottom = 56.0 +rect_min_size = Vector2( 50, 30 ) +color = Color( 0.215686, 0.654902, 0.67451, 1 ) + +[node name="TLabel3" parent="VBoxContainer/TabContainer/Glossary/Column3/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 64.0 +margin_right = 67.0 +margin_bottom = 78.0 +text = "Text Font" +text_key = "Text Font" + +[node name="TextFont" type="HBoxContainer" parent="VBoxContainer/TabContainer/Glossary/Column3/GridContainer"] +margin_left = 77.0 +margin_top = 60.0 +margin_right = 195.0 +margin_bottom = 82.0 + +[node name="TextFontButton" type="Button" parent="VBoxContainer/TabContainer/Glossary/Column3/GridContainer/TextFont"] +margin_top = 1.0 +margin_right = 86.0 +margin_bottom = 21.0 +size_flags_horizontal = 3 +size_flags_vertical = 4 +text = "DefaultFont" + +[node name="TextFontOpen" type="Button" parent="VBoxContainer/TabContainer/Glossary/Column3/GridContainer/TextFont"] +margin_left = 90.0 +margin_right = 118.0 +margin_bottom = 22.0 +size_flags_vertical = 4 +icon = SubResource( 2 ) + +[node name="TLabel4" parent="VBoxContainer/TabContainer/Glossary/Column3/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 94.0 +margin_right = 67.0 +margin_bottom = 108.0 +text = "Text color" +text_key = "Text color" + +[node name="TextColorPicker" type="ColorPickerButton" parent="VBoxContainer/TabContainer/Glossary/Column3/GridContainer"] +margin_left = 77.0 +margin_top = 86.0 +margin_right = 195.0 +margin_bottom = 116.0 +rect_min_size = Vector2( 50, 30 ) +color = Color( 0.215686, 0.654902, 0.67451, 1 ) + +[node name="TLabel5" parent="VBoxContainer/TabContainer/Glossary/Column3/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 124.0 +margin_right = 67.0 +margin_bottom = 138.0 +text = "Extra Font" +text_key = "Extra Font" + +[node name="ExtraFont" type="HBoxContainer" parent="VBoxContainer/TabContainer/Glossary/Column3/GridContainer"] +margin_left = 77.0 +margin_top = 120.0 +margin_right = 195.0 +margin_bottom = 142.0 + +[node name="ExtraFontButton" type="Button" parent="VBoxContainer/TabContainer/Glossary/Column3/GridContainer/ExtraFont"] +margin_top = 1.0 +margin_right = 86.0 +margin_bottom = 21.0 +size_flags_horizontal = 3 +size_flags_vertical = 4 +text = "DefaultFont" + +[node name="ExtraFontOpen" type="Button" parent="VBoxContainer/TabContainer/Glossary/Column3/GridContainer/ExtraFont"] +margin_left = 90.0 +margin_right = 118.0 +margin_bottom = 22.0 +size_flags_vertical = 4 +icon = SubResource( 2 ) + +[node name="TLabel6" parent="VBoxContainer/TabContainer/Glossary/Column3/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 154.0 +margin_right = 67.0 +margin_bottom = 168.0 +text = "Extra color" +text_key = "Extra color" + +[node name="ExtraColorPicker" type="ColorPickerButton" parent="VBoxContainer/TabContainer/Glossary/Column3/GridContainer"] +margin_left = 77.0 +margin_top = 146.0 +margin_right = 195.0 +margin_bottom = 176.0 +rect_min_size = Vector2( 50, 30 ) +color = Color( 0.215686, 0.654902, 0.67451, 1 ) + +[node name="VSeparator2" type="VSeparator" parent="VBoxContainer/TabContainer/Glossary"] +margin_left = 574.0 +margin_right = 578.0 +margin_bottom = 488.0 + +[node name="Column2" type="VBoxContainer" parent="VBoxContainer/TabContainer/Glossary"] +margin_left = 588.0 +margin_right = 858.0 +margin_bottom = 488.0 +rect_min_size = Vector2( 270, 0 ) + +[node name="SectionTitle" parent="VBoxContainer/TabContainer/Glossary/Column2" instance=ExtResource( 3 )] +text = "Behaviour" +text_key = "Behaviour" + +[node name="GridContainer" type="GridContainer" parent="VBoxContainer/TabContainer/Glossary/Column2"] +margin_top = 26.0 +margin_right = 270.0 +margin_bottom = 50.0 +size_flags_horizontal = 3 +custom_constants/hseparation = 10 +columns = 2 + +[node name="TLabel" parent="VBoxContainer/TabContainer/Glossary/Column2/GridContainer" instance=ExtResource( 8 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 5.0 +margin_right = 33.0 +margin_bottom = 19.0 +text = "Show" +text_key = "Show" + +[node name="ShowGlossaryCheckBox" type="CheckBox" parent="VBoxContainer/TabContainer/Glossary/Column2/GridContainer"] +margin_left = 43.0 +margin_right = 67.0 +margin_bottom = 24.0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Audio" type="HBoxContainer" parent="VBoxContainer/TabContainer"] +visible = false +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 4.0 +margin_top = 32.0 +margin_right = -4.0 +margin_bottom = -4.0 +custom_constants/separation = 10 + +[node name="Column" type="VBoxContainer" parent="VBoxContainer/TabContainer/Audio"] +margin_right = 270.0 +margin_bottom = 488.0 +rect_min_size = Vector2( 270, 0 ) + +[node name="SectionTitle" parent="VBoxContainer/TabContainer/Audio/Column" instance=ExtResource( 3 )] +text = "Typing Sound Effects" +text_key = "Typing Sound Effects" + +[node name="Typing" parent="VBoxContainer/TabContainer/Audio/Column" instance=ExtResource( 7 )] +margin_top = 26.0 +margin_right = 270.0 +margin_bottom = 158.0 + +[node name="VSeparator" type="VSeparator" parent="VBoxContainer/TabContainer/Audio"] +margin_left = 280.0 +margin_right = 284.0 +margin_bottom = 488.0 + +[node name="Column2" type="VBoxContainer" parent="VBoxContainer/TabContainer/Audio"] +margin_left = 294.0 +margin_right = 564.0 +margin_bottom = 488.0 +rect_min_size = Vector2( 270, 0 ) + +[node name="SectionTitle" parent="VBoxContainer/TabContainer/Audio/Column2" instance=ExtResource( 3 )] +text = "Next Sound Effects" +text_key = "Next Sound Effects" + +[node name="Label" type="Label" parent="VBoxContainer/TabContainer/Audio/Column2"] +margin_top = 26.0 +margin_right = 270.0 +margin_bottom = 40.0 +text = "Waiting" +align = 1 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Waiting" parent="VBoxContainer/TabContainer/Audio/Column2" instance=ExtResource( 7 )] +margin_top = 44.0 +margin_right = 270.0 +margin_bottom = 176.0 + +[node name="HSeparator" type="HSeparator" parent="VBoxContainer/TabContainer/Audio/Column2"] +margin_top = 180.0 +margin_right = 270.0 +margin_bottom = 184.0 + +[node name="Label2" type="Label" parent="VBoxContainer/TabContainer/Audio/Column2"] +margin_top = 188.0 +margin_right = 270.0 +margin_bottom = 202.0 +text = "Passing" +align = 1 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Passing" parent="VBoxContainer/TabContainer/Audio/Column2" instance=ExtResource( 7 )] +margin_top = 206.0 +margin_right = 270.0 +margin_bottom = 338.0 + +[node name="VSeparator2" type="VSeparator" parent="VBoxContainer/TabContainer/Audio"] +margin_left = 574.0 +margin_right = 578.0 +margin_bottom = 488.0 + +[node name="Column3" type="VBoxContainer" parent="VBoxContainer/TabContainer/Audio"] +margin_left = 588.0 +margin_right = 858.0 +margin_bottom = 488.0 +rect_min_size = Vector2( 270, 0 ) + +[node name="SectionTitle" parent="VBoxContainer/TabContainer/Audio/Column3" instance=ExtResource( 3 )] +text = "Choice Sound Effects" +text_key = "Choice Sound Effects" + +[node name="Label" type="Label" parent="VBoxContainer/TabContainer/Audio/Column3"] +margin_top = 26.0 +margin_right = 270.0 +margin_bottom = 40.0 +text = "Hovering" +align = 1 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Hovering" parent="VBoxContainer/TabContainer/Audio/Column3" instance=ExtResource( 7 )] +margin_top = 44.0 +margin_right = 270.0 +margin_bottom = 176.0 + +[node name="HSeparator" type="HSeparator" parent="VBoxContainer/TabContainer/Audio/Column3"] +margin_top = 180.0 +margin_right = 270.0 +margin_bottom = 184.0 + +[node name="Label2" type="Label" parent="VBoxContainer/TabContainer/Audio/Column3"] +margin_top = 188.0 +margin_right = 270.0 +margin_bottom = 202.0 +text = "Selecting" +align = 1 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Selecting" parent="VBoxContainer/TabContainer/Audio/Column3" instance=ExtResource( 7 )] +margin_top = 206.0 +margin_right = 270.0 +margin_bottom = 338.0 + +[node name="DelayPreviewTimer" type="Timer" parent="."] +one_shot = true + +[connection signal="text_changed" from="VBoxContainer/HBoxContainer3/TextEdit" to="." method="_on_Preview_text_changed"] +[connection signal="pressed" from="VBoxContainer/HBoxContainer3/PreviewButton" to="." method="_on_PreviewButton_pressed"] +[connection signal="pressed" from="VBoxContainer/TabContainer/Dialog Text/Column/GridContainer/RegularFont/RegularFontButton" to="." method="_on_FontButton_pressed"] +[connection signal="pressed" from="VBoxContainer/TabContainer/Dialog Text/Column/GridContainer/RegularFont/RegularFontOpen" to="." method="_on_FontOpen_pressed"] +[connection signal="pressed" from="VBoxContainer/TabContainer/Dialog Text/Column/GridContainer/BoldFont/BoldFontButton" to="." method="_on_BoldFontButton_pressed"] +[connection signal="pressed" from="VBoxContainer/TabContainer/Dialog Text/Column/GridContainer/BoldFont/BoldFontOpen" to="." method="_on_BoldFontOpen_pressed"] +[connection signal="pressed" from="VBoxContainer/TabContainer/Dialog Text/Column/GridContainer/ItalicFont/ItalicFontButton" to="." method="_on_ItalicFontButton_pressed"] +[connection signal="pressed" from="VBoxContainer/TabContainer/Dialog Text/Column/GridContainer/ItalicFont/ItalicFontOpen" to="." method="_on_ItalicFontOpen_pressed"] +[connection signal="color_changed" from="VBoxContainer/TabContainer/Dialog Text/Column2/GridContainer/ColorPickerButton" to="." method="_on_ColorPickerButton_color_changed"] +[connection signal="color_changed" from="VBoxContainer/TabContainer/Dialog Text/Column2/GridContainer/HBoxContainer2/ColorPickerButtonShadow" to="." method="_on_ColorPickerButtonShadow_color_changed"] +[connection signal="value_changed" from="VBoxContainer/TabContainer/Dialog Text/Column2/GridContainer/HBoxContainer/ShadowOffsetX" to="." method="_on_ShadowOffset_value_changed"] +[connection signal="value_changed" from="VBoxContainer/TabContainer/Dialog Text/Column2/GridContainer/HBoxContainer/ShadowOffsetY" to="." method="_on_ShadowOffset_value_changed"] +[connection signal="item_selected" from="VBoxContainer/TabContainer/Dialog Text/Column3/GridContainer/HBoxContainer3/Alignment" to="." method="_on_Alignment_item_selected"] +[connection signal="color_changed" from="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer/HBoxContainer2/ColorPickerButton" to="." method="_on_BackgroundColor_ColorPickerButton_color_changed"] +[connection signal="pressed" from="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer/HBoxContainer3/BackgroundTextureButton" to="." method="_on_BackgroundTextureButton_pressed"] +[connection signal="color_changed" from="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer/HBoxContainer6/ColorPickerButton" to="." method="_on_ColorPicker_Background_texture_modulation_color_changed"] +[connection signal="value_changed" from="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2/HBoxContainer4/BoxSizeW" to="." method="_on_BoxSize_value_changed"] +[connection signal="value_changed" from="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2/HBoxContainer4/BoxSizeH" to="." method="_on_BoxSize_value_changed"] +[connection signal="value_changed" from="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2/HBoxContainer/BoxPaddingV" to="." method="_on_TextMargin_value_changed"] +[connection signal="value_changed" from="VBoxContainer/TabContainer/Dialog Box/Column/GridContainer2/HBoxContainer/BoxPaddingH" to="." method="_on_TextMargin_value_changed"] +[connection signal="pressed" from="VBoxContainer/TabContainer/Dialog Box/Column2/GridContainer/NextIndicatorButton" to="." method="_on_NextIndicatorButton_pressed"] +[connection signal="item_selected" from="VBoxContainer/TabContainer/Dialog Box/Column2/GridContainer/NextAnimation" to="." method="_on_NextAnimation_item_selected"] +[connection signal="value_changed" from="VBoxContainer/TabContainer/Dialog Box/Column2/GridContainer/HBoxContainer2/NextOffsetX" to="." method="_on_NextOffset_value_changed"] +[connection signal="value_changed" from="VBoxContainer/TabContainer/Dialog Box/Column2/GridContainer/HBoxContainer2/NextOffsetY" to="." method="_on_NextOffset_value_changed"] +[connection signal="item_selected" from="VBoxContainer/TabContainer/Dialog Box/Column3/GridContainer/BoxContainer/ActionOptionButton" to="." method="_on_ActionOptionButton_item_selected"] +[connection signal="pressed" from="VBoxContainer/TabContainer/Dialog Box/Column3/GridContainer/BoxContainer/ActionOptionButton" to="." method="_on_ActionOptionButton_pressed"] +[connection signal="pressed" from="VBoxContainer/TabContainer/Name Label/Column/GridContainer/RegularFont/NameFontButton" to="." method="_on_NameFont_pressed"] +[connection signal="pressed" from="VBoxContainer/TabContainer/Name Label/Column/GridContainer/RegularFont/NameFontOpen" to="." method="_on_NameFontOpen_pressed"] +[connection signal="toggled" from="VBoxContainer/TabContainer/Name Label/Column/GridContainer/CharacterColor" to="." method="_on_name_auto_color_toggled"] +[connection signal="color_changed" from="VBoxContainer/TabContainer/Name Label/Column/GridContainer/HBoxContainer4/ColorPickerButtonShadow" to="." method="_on_name_shadow_color_changed"] +[connection signal="value_changed" from="VBoxContainer/TabContainer/Name Label/Column/GridContainer/HBoxContainer/ShadowOffsetX" to="." method="_on_name_ShadowOffset_value_changed"] +[connection signal="value_changed" from="VBoxContainer/TabContainer/Name Label/Column/GridContainer/HBoxContainer/ShadowOffsetY" to="." method="_on_name_ShadowOffset_value_changed"] +[connection signal="color_changed" from="VBoxContainer/TabContainer/Name Label/Column2/GridContainer/HBoxContainer2/ColorPickerButton" to="." method="_on_name_background_color_changed"] +[connection signal="pressed" from="VBoxContainer/TabContainer/Name Label/Column2/GridContainer/HBoxContainer3/BackgroundTextureButton" to="." method="_on_name_image_pressed"] +[connection signal="color_changed" from="VBoxContainer/TabContainer/Name Label/Column2/GridContainer/HBoxContainer6/ColorPickerButton" to="." method="_on_ColorPicker_NameLabel_modulation_color_changed"] +[connection signal="value_changed" from="VBoxContainer/TabContainer/Name Label/Column2/GridContainer/HBoxContainer/NamePaddingX" to="." method="_on_name_padding_value_changed"] +[connection signal="value_changed" from="VBoxContainer/TabContainer/Name Label/Column2/GridContainer/HBoxContainer/NamePaddingY" to="." method="_on_name_padding_value_changed"] +[connection signal="value_changed" from="VBoxContainer/TabContainer/Name Label/Column3/GridContainer/HBoxContainer5/HorizontalOffset" to="." method="_on_name_BottomGap_value_changed"] +[connection signal="value_changed" from="VBoxContainer/TabContainer/Name Label/Column3/GridContainer/HBoxContainer5/BottomGap" to="." method="_on_name_BottomGap_value_changed"] +[connection signal="value_changed" from="VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer/HBoxContainer/TextOffsetV" to="." method="_on_ButtonOffset_value_changed"] +[connection signal="value_changed" from="VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer/HBoxContainer/TextOffsetH" to="." method="_on_ButtonOffset_value_changed"] +[connection signal="value_changed" from="VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer/HBoxContainer2/ButtonSizeX" to="." method="_on_ButtonSize_value_changed"] +[connection signal="value_changed" from="VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer/HBoxContainer2/ButtonSizeY" to="." method="_on_ButtonSize_value_changed"] +[connection signal="value_changed" from="VBoxContainer/TabContainer/Choice Buttons/Column2/GridContainer/VerticalSeparation" to="." method="_on_VerticalSeparation_value_changed"] +[connection signal="toggled" from="VBoxContainer/TabContainer/Choice Buttons/Column3/GridContainer/HBoxContainer5/CustomButtonsCheckBox" to="." method="_on_CustomButtonsCheckBox_toggled"] +[connection signal="pressed" from="VBoxContainer/TabContainer/Choice Buttons/Column3/GridContainer/HBoxContainer5/CustomButtonsButton" to="." method="_on_CustomButtonsButton_pressed"] +[connection signal="toggled" from="VBoxContainer/TabContainer/Choice Buttons/Column3/GridContainer/CheckBox" to="." method="_on_native_button_toggled"] +[connection signal="color_changed" from="VBoxContainer/TabContainer/Glossary/Column/GridContainer/HighlightColorPicker" to="." method="_on_Glossary_HighlightColorPicker_color_changed"] +[connection signal="pressed" from="VBoxContainer/TabContainer/Glossary/Column/GridContainer/BackgroundPanel/BgPanelButton" to="." method="_on_BgPanelSelection_pressed"] +[connection signal="pressed" from="VBoxContainer/TabContainer/Glossary/Column/GridContainer/BackgroundPanel/BGPanelOpen" to="." method="_on_BGPanelOpen_pressed"] +[connection signal="pressed" from="VBoxContainer/TabContainer/Glossary/Column3/GridContainer/TitleFont/TitleFontButton" to="." method="_on_Glossary_TitleFontButton_pressed"] +[connection signal="pressed" from="VBoxContainer/TabContainer/Glossary/Column3/GridContainer/TitleFont/TitleFontOpen" to="." method="_on_Glossary_TitleFontOpen_pressed"] +[connection signal="color_changed" from="VBoxContainer/TabContainer/Glossary/Column3/GridContainer/TitleColorPicker" to="." method="_on_Glossary_TitleColorPicker_color_changed"] +[connection signal="pressed" from="VBoxContainer/TabContainer/Glossary/Column3/GridContainer/TextFont/TextFontButton" to="." method="_on_Glossary_TextFontButton_pressed"] +[connection signal="pressed" from="VBoxContainer/TabContainer/Glossary/Column3/GridContainer/TextFont/TextFontOpen" to="." method="_on_Glossary_TextFontOpen_pressed"] +[connection signal="color_changed" from="VBoxContainer/TabContainer/Glossary/Column3/GridContainer/TextColorPicker" to="." method="_on_Glossary_TextColorPicker_color_changed"] +[connection signal="pressed" from="VBoxContainer/TabContainer/Glossary/Column3/GridContainer/ExtraFont/ExtraFontButton" to="." method="_on_Glossary_ExtraFontButton_pressed"] +[connection signal="pressed" from="VBoxContainer/TabContainer/Glossary/Column3/GridContainer/ExtraFont/ExtraFontOpen" to="." method="_on_Glossary_ExtraFontOpen_pressed"] +[connection signal="color_changed" from="VBoxContainer/TabContainer/Glossary/Column3/GridContainer/ExtraColorPicker" to="." method="_on_Glossary_ExtraColorPicker_color_changed"] diff --git a/addons/dialogic/Editor/ThemeEditor/default-theme.cfg b/addons/dialogic/Editor/ThemeEditor/default-theme.cfg new file mode 100644 index 0000000..ffc0195 --- /dev/null +++ b/addons/dialogic/Editor/ThemeEditor/default-theme.cfg @@ -0,0 +1,3 @@ +[settings] + +name="Default Theme" diff --git a/addons/dialogic/Editor/TimelineEditor/EventButton.gd b/addons/dialogic/Editor/TimelineEditor/EventButton.gd new file mode 100644 index 0000000..9b1d721 --- /dev/null +++ b/addons/dialogic/Editor/TimelineEditor/EventButton.gd @@ -0,0 +1,16 @@ +tool +extends Button + +export (String) var EventName = '' + +func get_drag_data(position): + var preview_label = Label.new() + + if (self.text != ''): + preview_label.text = text + else: + preview_label.text = 'Add Event %s' % [ EventName ] + + set_drag_preview(preview_label) + + return { "source": "EventButton", "event_name": EventName } diff --git a/addons/dialogic/Editor/TimelineEditor/SmallEventButton.gd b/addons/dialogic/Editor/TimelineEditor/SmallEventButton.gd new file mode 100644 index 0000000..3ee8b1c --- /dev/null +++ b/addons/dialogic/Editor/TimelineEditor/SmallEventButton.gd @@ -0,0 +1,37 @@ +tool +extends Button + +export(String) var visible_name = "" +export (String) var event_id = 'dialogic_099' +export (Color) var event_color = Color('#48a2a2a2') +export(Texture) var event_icon = null setget set_icon + + +func _ready(): + $Panel.self_modulate = event_color + self_modulate = Color(1,1,1) + if visible_name != '': + text = ' ' + visible_name + hint_tooltip = DTS.translate(hint_tooltip) + var _scale = get_constant("inspector_margin", "Editor") + _scale = _scale * 0.125 + rect_min_size = Vector2(30,30) + rect_min_size = rect_min_size * _scale + + +func set_icon(texture): + icon = texture + event_icon = texture + + +func get_drag_data(position): + var preview_label = Label.new() + + if (self.text != ''): + preview_label.text = text + else: + preview_label.text = 'Add Event %s' % [ hint_tooltip ] + + set_drag_preview(preview_label) + + return { "source": "EventButton", "event_id": event_id } diff --git a/addons/dialogic/Editor/TimelineEditor/SmallEventButton.tscn b/addons/dialogic/Editor/TimelineEditor/SmallEventButton.tscn new file mode 100644 index 0000000..9a54044 --- /dev/null +++ b/addons/dialogic/Editor/TimelineEditor/SmallEventButton.tscn @@ -0,0 +1,59 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://addons/dialogic/Editor/TimelineEditor/SmallEventButton.gd" type="Script" id=1] + +[sub_resource type="StyleBoxFlat" id=1] +bg_color = Color( 1, 1, 1, 1 ) +border_width_left = 1 +border_width_top = 1 +border_width_right = 1 +border_width_bottom = 1 +border_color = Color( 1, 1, 1, 0 ) +corner_radius_top_left = 4 +corner_radius_top_right = 4 +corner_radius_bottom_right = 4 +corner_radius_bottom_left = 4 + +[sub_resource type="StyleBoxFlat" id=2] +draw_center = false +border_width_left = 1 +border_width_top = 1 +border_width_right = 1 +border_width_bottom = 1 +border_color = Color( 0.0980392, 0.0980392, 0.0980392, 0.784314 ) +corner_radius_top_left = 4 +corner_radius_top_right = 4 +corner_radius_bottom_right = 4 +corner_radius_bottom_left = 4 + +[node name="SmallEventButton" type="Button"] +margin_right = 30.0 +margin_bottom = 30.0 +flat = true +align = 0 +expand_icon = true +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Panel" type="Panel" parent="."] +self_modulate = Color( 0.635294, 0.635294, 0.635294, 0.282353 ) +show_behind_parent = true +anchor_right = 1.0 +anchor_bottom = 1.0 +mouse_filter = 2 +custom_styles/panel = SubResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Border" type="Panel" parent="."] +show_behind_parent = true +anchor_right = 1.0 +anchor_bottom = 1.0 +mouse_filter = 2 +custom_styles/panel = SubResource( 2 ) +__meta__ = { +"_edit_use_anchors_": false +} diff --git a/addons/dialogic/Editor/TimelineEditor/TimelineArea.gd b/addons/dialogic/Editor/TimelineEditor/TimelineArea.gd new file mode 100644 index 0000000..13b55ae --- /dev/null +++ b/addons/dialogic/Editor/TimelineEditor/TimelineArea.gd @@ -0,0 +1,71 @@ +tool +extends ScrollContainer + +# store last attempts since godot sometimes misses drop events +var _is_drag_receiving = false +var _last_event_button_drop_attempt = '' +var _mouse_exited = false + +# todo, getting timeline like this is prone to fail someday +onready var timeline_editor = get_parent() + +func _ready(): + connect("mouse_entered", self, '_on_mouse_entered') + connect("mouse_exited", self, '_on_mouse_exited') + connect("gui_input", self, '_on_gui_input') + + +func can_drop_data(position, data): + if data != null and data is Dictionary and data.has("source"): + if data["source"] == "EventButton": + if _last_event_button_drop_attempt.empty(): + timeline_editor.create_drag_and_drop_event(data["event_id"]) + _is_drag_receiving = true + _last_event_button_drop_attempt = data["event_id"] + return true + return false + + +func cancel_drop(): + _is_drag_receiving = false + _last_event_button_drop_attempt = '' + timeline_editor.cancel_drop_event() + + +func drop_data(position, data): + # add event + if (data["source"] == "EventButton"): + timeline_editor.drop_event() + _is_drag_receiving = false + _last_event_button_drop_attempt = '' + + +func _on_mouse_exited(): + if _is_drag_receiving and not _mouse_exited: + var preview_label = Label.new() + preview_label.text = "Cancel" + set_drag_preview(preview_label) + _mouse_exited = true + + +func _on_mouse_entered(): + if _is_drag_receiving and _mouse_exited: + var preview_label = Label.new() + preview_label.text = "Insert Event" + set_drag_preview(preview_label) + _mouse_exited = false + + +func _input(event): + if (event is InputEventMouseButton and is_visible_in_tree() and event.button_index == BUTTON_LEFT): + if (_mouse_exited and _is_drag_receiving): + cancel_drop() + + +func _on_gui_input(event): + # godot sometimes misses drop events + if (event is InputEventMouseButton and event.button_index == BUTTON_LEFT): + if (_is_drag_receiving): + if (_last_event_button_drop_attempt != ''): + drop_data(Vector2.ZERO, { "source": "EventButton", "event_id": _last_event_button_drop_attempt} ) + _is_drag_receiving = false diff --git a/addons/dialogic/Editor/TimelineEditor/TimelineEditor.gd b/addons/dialogic/Editor/TimelineEditor/TimelineEditor.gd new file mode 100644 index 0000000..659297f --- /dev/null +++ b/addons/dialogic/Editor/TimelineEditor/TimelineEditor.gd @@ -0,0 +1,1062 @@ +tool +extends HSplitContainer + +var editor_reference +var timeline_name: String = '' +var timeline_file: String = '' +var current_timeline: Dictionary = {} +var TimelineUndoRedo := UndoRedo.new() + +onready var master_tree = get_node('../MasterTreeContainer/MasterTree') +onready var timeline = $TimelineArea/TimeLine +onready var events_warning = $ScrollContainer/EventContainer/EventsWarning +onready var custom_events_container = $ScrollContainer/EventContainer/CustomEventsContainer + +var hovered_item = null +var selected_style : StyleBoxFlat = load("res://addons/dialogic/Editor/Events/styles/selected_styleboxflat.tres") +var selected_style_text : StyleBoxFlat = load("res://addons/dialogic/Editor/Events/styles/selected_styleboxflat_text_event.tres") +var selected_style_template : StyleBoxFlat = load("res://addons/dialogic/Editor/Events/styles/selected_styleboxflat_template.tres") +var saved_style : StyleBoxFlat +var selected_items : Array = [] + +var event_scenes : Dictionary = {} + +var currently_draged_event_type = null +var move_start_position = null +var moving_piece = null +var piece_was_dragged = false + +var custom_events = {} + +var id_to_scene_name = { + #Main events + 'dialogic_001':'TextEvent', + 'dialogic_002':'CharacterJoin', + 'dialogic_003':'CharacterLeave', + #Logic + 'dialogic_010':'Question', + 'dialogic_011':'Choice', + 'dialogic_012':'Condition', + 'dialogic_013':'EndBranch', + 'dialogic_014':'SetValue', + #Timeline + 'dialogic_020':'ChangeTimeline', + 'dialogic_021':'ChangeBackground', + 'dialogic_022':'CloseDialog', + 'dialogic_023':'WaitSeconds', + 'dialogic_024':'SetTheme', + 'dialogic_025':'SetGlossary', + 'dialogic_026':'SaveEvent', + #Audio + 'dialogic_030':'AudioEvent', + 'dialogic_031':'BackgroundMusic', + #Godot + 'dialogic_040':'EmitSignal', + 'dialogic_041':'ChangeScene', + 'dialogic_042':'CallNode', + } + +var batches = [] +var building_timeline = true +signal selection_updated +signal batch_loaded + +func _ready(): + editor_reference = find_parent('EditorView') + connect("batch_loaded", self, '_on_batch_loaded') + var modifier = '' + var _scale = get_constant("inspector_margin", "Editor") + _scale = _scale * 0.125 + $ScrollContainer.rect_min_size.x = 180 + if _scale == 1.25: + modifier = '-1.25' + $ScrollContainer.rect_min_size.x = 200 + if _scale == 1.5: + modifier = '-1.25' + $ScrollContainer.rect_min_size.x = 200 + if _scale == 1.75: + modifier = '-1.25' + $ScrollContainer.rect_min_size.x = 390 + if _scale == 2: + modifier = '-2' + $ScrollContainer.rect_min_size.x = 390 + + # We connect all the event buttons to the event creation functions + + for c in range(0, 5): + for button in get_node("ScrollContainer/EventContainer/Grid"+str(c+1)).get_children(): + # Question + if button.event_id == 'dialogic_010': + button.connect('pressed', self, "_on_ButtonQuestion_pressed", []) + # Condition + elif button.event_id == 'dialogic_012': + button.connect('pressed', self, "_on_ButtonCondition_pressed", []) + else: + button.connect('pressed', self, "_create_event_button_pressed", [button.event_id]) + + var style = $TimelineArea.get('custom_styles/bg') + style.set('bg_color', get_color("dark_color_1", "Editor")) + + update_custom_events() + $TimelineArea.connect('resized', self, 'add_extra_scroll_area_to_timeline', []) + + +# handles dragging/moving of events +func _process(delta): + if moving_piece != null: + var current_position = get_global_mouse_position() + var node_position = moving_piece.rect_global_position.y + var height = get_block_height(moving_piece) + var up_offset = get_block_height(get_block_above(moving_piece)) + var down_offset = get_block_height(get_block_below(moving_piece)) + if up_offset != null: + up_offset = (up_offset / 2) + 5 + if current_position.y < node_position - up_offset: + move_block(moving_piece, 'up') + piece_was_dragged = true + if down_offset != null: + down_offset = height + (down_offset / 2) + 5 + if current_position.y > node_position + down_offset: + move_block(moving_piece, 'down') + piece_was_dragged = true + + +# SIGNAL handles input on the events mainly for selection and moving events +func _on_event_block_gui_input(event, item: Node): + if event is InputEventMouseButton and event.button_index == 1: + if (not event.is_pressed()): + if (piece_was_dragged and moving_piece != null and move_start_position): + var to_position = moving_piece.get_index() + if move_start_position != to_position: + # move it back so the DO action works. (Kinda stupid but whatever) + move_block_to_index(to_position, move_start_position) + TimelineUndoRedo.create_action("[D] Moved event (type '"+moving_piece.event_data.event_id+"').") + TimelineUndoRedo.add_do_method(self, "move_block_to_index", move_start_position, to_position) + TimelineUndoRedo.add_undo_method(self, "move_block_to_index", to_position, move_start_position) + TimelineUndoRedo.commit_action() + move_start_position = null + if (moving_piece != null): + + indent_events() + moving_piece = null + elif event.is_pressed(): + moving_piece = item + move_start_position = moving_piece.get_index() + if not _is_item_selected(item): + pass#piece_was_dragged = true + else: + piece_was_dragged = false + select_item(item) + + +## ***************************************************************************** +## SHORTCUTS +## ***************************************************************************** + +func _input(event): + # some shortcuts need to get handled in the common input event + # especially CTRL-based + # because certain godot controls swallow events (like textedit) + # we protect this with is_visible_in_tree to not + # invoke a shortcut by accident + if get_focus_owner() is TextEdit: + return + if (event is InputEventKey and event is InputEventWithModifiers and is_visible_in_tree()): + # CTRL Z # UNDO + if (event.pressed + and event.alt == false + and event.shift == false + and event.control == true + and event.scancode == KEY_Z + and event.echo == false + ): + TimelineUndoRedo.undo() + indent_events() + get_tree().set_input_as_handled() + if (event is InputEventKey and event is InputEventWithModifiers and is_visible_in_tree()): + # CTRL +SHIFT+ Z # REDO + if (event.pressed + and event.alt == false + and event.shift == true + and event.control == true + and event.scancode == KEY_Z + and event.echo == false + ) or (event.pressed + and event.alt == false + and event.shift == false + and event.control == true + and event.scancode == KEY_Y + and event.echo == false): + TimelineUndoRedo.redo() + indent_events() + get_tree().set_input_as_handled() + if (event is InputEventKey and event is InputEventWithModifiers and is_visible_in_tree()): + # CTRL UP + if (event.pressed + and event.alt == false + and event.shift == false + and event.control == false + and event.scancode == KEY_UP + and event.echo == false + ): + # select previous + if (len(selected_items) == 1): + var prev = max(0, selected_items[0].get_index() - 1) + var prev_node = timeline.get_child(prev) + if (prev_node != selected_items[0]): + selected_items = [] + select_item(prev_node) + get_tree().set_input_as_handled() + + + # CTRL DOWN + if (event.pressed + and event.alt == false + and event.shift == false + and event.control == false + and event.scancode == KEY_DOWN + and event.echo == false + ): + # select next + if (len(selected_items) == 1): + var next = min(timeline.get_child_count() - 1, selected_items[0].get_index() + 1) + var next_node = timeline.get_child(next) + if (next_node != selected_items[0]): + selected_items = [] + select_item(next_node) + get_tree().set_input_as_handled() + + # CTRL DELETE + if (event.pressed + and event.alt == false + and event.shift == false + and event.control == false + and event.scancode == KEY_DELETE + and event.echo == false + ): + if (len(selected_items) != 0): + var events_indexed = get_events_indexed(selected_items) + TimelineUndoRedo.create_action("[D] Deleting "+str(len(selected_items))+" event(s).") + TimelineUndoRedo.add_do_method(self, "delete_events_indexed", events_indexed) + TimelineUndoRedo.add_undo_method(self, "add_events_indexed", events_indexed) + TimelineUndoRedo.commit_action() + get_tree().set_input_as_handled() + + # CTRL T + if (event.pressed + and event.alt == false + and event.shift == false + and event.control == true + and event.scancode == KEY_T + and event.echo == false + ): + var at_index = -1 + if selected_items: + at_index = selected_items[-1].get_index()+1 + else: + at_index = timeline.get_child_count() + TimelineUndoRedo.create_action("[D] Add Text event.") + TimelineUndoRedo.add_do_method(self, "create_event", "dialogic_000", {'no-data': true}, true, at_index, true) + TimelineUndoRedo.add_undo_method(self, "remove_events_at_index", at_index, 1) + TimelineUndoRedo.commit_action() + get_tree().set_input_as_handled() + + # CTRL A + if (event.pressed + and event.alt == false + and event.shift == false + and event.control == true + and event.scancode == KEY_A + and event.echo == false + ): + if (len(selected_items) != 0): + select_all_items() + get_tree().set_input_as_handled() + + # CTRL SHIFT A + if (event.pressed + and event.alt == false + and event.shift == true + and event.control == true + and event.scancode == KEY_A + and event.echo == false + ): + if (len(selected_items) != 0): + deselect_all_items() + get_tree().set_input_as_handled() + + # CTRL C + if (event.pressed + and event.alt == false + and event.shift == false + and event.control == true + and event.scancode == KEY_C + and event.echo == false + ): + copy_selected_events() + get_tree().set_input_as_handled() + + # CTRL V + if (event.pressed + and event.alt == false + and event.shift == false + and event.control == true + and event.scancode == KEY_V + and event.echo == false + ): + var events_list = paste_check() + var paste_position = -1 + if selected_items: + paste_position = selected_items[-1].get_index() + else: + paste_position = timeline.get_child_count()-1 + TimelineUndoRedo.create_action("[D] Pasting "+str(len(events_list))+" event(s).") + TimelineUndoRedo.add_do_method(self, "add_events_at_index", events_list, paste_position) + TimelineUndoRedo.add_undo_method(self, "remove_events_at_index", paste_position+1, len(events_list)) + TimelineUndoRedo.commit_action() + get_tree().set_input_as_handled() + + # CTRL X + if (event.pressed + and event.alt == false + and event.shift == false + and event.control == true + and event.scancode == KEY_X + and event.echo == false + ): + var events_indexed = get_events_indexed(selected_items) + TimelineUndoRedo.create_action("[D] Cut "+str(len(selected_items))+" event(s).") + TimelineUndoRedo.add_do_method(self, "cut_events_indexed", events_indexed) + TimelineUndoRedo.add_undo_method(self, "add_events_indexed", events_indexed) + TimelineUndoRedo.commit_action() + get_tree().set_input_as_handled() + + # CTRL D + if (event.pressed + and event.alt == false + and event.shift == false + and event.control == true + and event.scancode == KEY_D + and event.echo == false + ): + + if len(selected_items) > 0: + var events = get_events_indexed(selected_items).values() + var at_index = selected_items[-1].get_index() + TimelineUndoRedo.create_action("[D] Duplicate "+str(len(events))+" event(s).") + TimelineUndoRedo.add_do_method(self, "add_events_at_index", events, at_index) + TimelineUndoRedo.add_undo_method(self, "remove_events_at_index", at_index, len(events)) + TimelineUndoRedo.commit_action() + get_tree().set_input_as_handled() + +func _unhandled_key_input(event): + if (event is InputEventWithModifiers): + # ALT UP + if (event.pressed + and event.alt == true + and event.shift == false + and event.control == false + and event.scancode == KEY_UP + and event.echo == false + ): + # move selected up + if (len(selected_items) == 1): + move_block(selected_items[0], "up") + indent_events() + get_tree().set_input_as_handled() + + # ALT DOWN + if (event.pressed + and event.alt == true + and event.shift == false + and event.control == false + and event.scancode == KEY_DOWN + and event.echo == false + ): + # move selected down + if (len(selected_items) == 1): + move_block(selected_items[0], "down") + indent_events() + get_tree().set_input_as_handled() + +## ***************************************************************************** +## DELETING, COPY, PASTE +## ***************************************************************************** + +func get_events_indexed(events:Array) -> Dictionary: + var indexed_dict = {} + for event in events: + indexed_dict[event.get_index()] = event.event_data.duplicate() + return indexed_dict + +func select_indexed_events(indexed_events:Dictionary) -> void: + selected_items = [] + for event_index in indexed_events.keys(): + selected_items.append(timeline.get_child(event_index)) + +func add_events_indexed(indexed_events:Dictionary) -> void: + var indexes = indexed_events.keys() + indexes.sort() + var events = [] + for event_idx in indexes: + deselect_all_items() + events.append(create_event(indexed_events[event_idx].event_id, indexed_events[event_idx])) + timeline.move_child(events[-1], event_idx) + + selected_items = events + visual_update_selection() + +func delete_events_indexed(indexed_events:Dictionary) -> void: + select_indexed_events(indexed_events) + delete_selected_events() + +func delete_selected_events(): + if len(selected_items) == 0: + return + + # get next element + var next = min(timeline.get_child_count() - 1, selected_items[-1].get_index() + 1) + var next_node = timeline.get_child(next) + if _is_item_selected(next_node): + next_node = null + + for event in selected_items: + event.get_parent().remove_child(event) + event.queue_free() + + # select next + if (next_node != null): + select_item(next_node, false) + else: + if (timeline.get_child_count() > 0): + next_node = timeline.get_child(max(0, timeline.get_child_count() - 1)) + if (next_node != null): + select_item(next_node, false) + else: + deselect_all_items() + + indent_events() + + +func cut_selected_events(): + copy_selected_events() + delete_selected_events() + + +func cut_events_indexed(indexed_events:Dictionary) -> void: + select_indexed_events(indexed_events) + cut_selected_events() + + +func copy_selected_events(): + if len(selected_items) == 0: + return + var event_copy_array = [] + for item in selected_items: + event_copy_array.append(item.event_data) + + OS.clipboard = JSON.print( + { + "events":event_copy_array, + "dialogic_version": editor_reference.version_string, + "project_name": ProjectSettings.get_setting("application/config/name") + }) + +func paste_check(): + var clipboard_parse = JSON.parse(OS.clipboard).result + + if typeof(clipboard_parse) == TYPE_DICTIONARY: + if clipboard_parse.has("dialogic_version"): + if clipboard_parse['dialogic_version'] != editor_reference.version_string: + print("[D] Be careful when copying from older versions!") + if clipboard_parse.has("project_name"): + if clipboard_parse['project_name'] != ProjectSettings.get_setting("application/config/name"): + print("[D] Be careful when copying from another project!") + if clipboard_parse.has('events'): + return clipboard_parse['events'] + +func remove_events_at_index(at_index:int, amount:int = 1)-> void: + selected_items = [] + for i in range(0, amount): + selected_items.append(timeline.get_child(at_index + i)) + delete_selected_events() + +func add_events_at_index(event_list:Array, at_index:int) -> void: + if at_index != -1: + event_list.invert() + selected_items = [timeline.get_child(at_index)] + else: + selected_items = [] + + var new_items = [] + for item in event_list: + if typeof(item) == TYPE_DICTIONARY and item.has('event_id'): + new_items.append(create_event(item['event_id'], item)) + selected_items = new_items + sort_selection() + visual_update_selection() + indent_events() + +func paste_events_indexed(indexed_events): + pass + +func duplicate_events_indexed(indexed_events): + pass + +## ***************************************************************************** +## BLOCK SELECTION +## ***************************************************************************** + +func _is_item_selected(item: Node): + return item in selected_items + + +func select_item(item: Node, multi_possible:bool = true): + if item == null: + return + + if Input.is_key_pressed(KEY_CONTROL) and multi_possible: + # deselect the item if it is selected + if _is_item_selected(item): + selected_items.erase(item) + else: + selected_items.append(item) + elif Input.is_key_pressed(KEY_SHIFT) and multi_possible: + + if len(selected_items) == 0: + selected_items = [item] + else: + var index = selected_items[-1].get_index() + var goal_idx = item.get_index() + while true: + if index < goal_idx: index += 1 + else: index -= 1 + if not timeline.get_child(index) in selected_items: + selected_items.append(timeline.get_child(index)) + + if index == goal_idx: + break + else: + if len(selected_items) == 1: + if _is_item_selected(item): + selected_items.erase(item) + else: + selected_items = [item] + else: + selected_items = [item] + + sort_selection() + + visual_update_selection() + + +# checks all the events and sets their styles (selected/deselected) +func visual_update_selection(): + for item in timeline.get_children(): + item.visual_deselect() + for item in selected_items: + item.visual_select() + + +## Sorts the selection using 'custom_sort_selection' +func sort_selection(): + selected_items.sort_custom(self, 'custom_sort_selection') + + +## Compares two event blocks based on their position in the timeline +func custom_sort_selection(item1, item2): + return item1.get_index() < item2.get_index() + + +## Helpers +func select_all_items(): + selected_items = [] + for event in timeline.get_children(): + selected_items.append(event) + visual_update_selection() + + +func deselect_all_items(): + selected_items = [] + visual_update_selection() + +## ***************************************************************************** +## SPECIAL BLOCK OPERATIONS +## ***************************************************************************** + +# SIGNAL handles the actions of the small menu on the right +func _on_event_options_action(action: String, item: Node): + ### WORK TODO + if action == "remove": + if len(selected_items) != 1 or (len(selected_items) == 1 and selected_items[0] != item): + select_item(item, false) + delete_selected_events() + else: + move_block(item, action) + indent_events() + + +func delete_event(event): + event.get_parent().remove_child(event) + event.queue_free() + + +## ***************************************************************************** +## CREATING NEW EVENTS USING THE BUTTONS +## ***************************************************************************** + +# Event Creation signal for buttons +func _create_event_button_pressed(event_id): + var at_index = -1 + if selected_items: + at_index = selected_items[-1].get_index()+1 + else: + at_index = timeline.get_child_count() + TimelineUndoRedo.create_action("[D] Add event.") + TimelineUndoRedo.add_do_method(self, "create_event", event_id, {'no-data': true}, true, at_index, true) + TimelineUndoRedo.add_undo_method(self, "remove_events_at_index", at_index, 1) + TimelineUndoRedo.commit_action() + scroll_to_piece(at_index) + indent_events() + + +# the Question button adds multiple blocks +func _on_ButtonQuestion_pressed() -> void: + var at_index = -1 + if selected_items: + at_index = selected_items[-1].get_index()+1 + else: + at_index = timeline.get_child_count() + TimelineUndoRedo.create_action("[D] Add question events.") + TimelineUndoRedo.add_do_method(self, "create_question", at_index) + TimelineUndoRedo.add_undo_method(self, "remove_events_at_index", at_index, 4) + TimelineUndoRedo.commit_action() + +func create_question(at_position): + if at_position == 0: selected_items = [] + else: selected_items = [timeline.get_child(at_position-1)] + if len(selected_items) != 0: + # Events are added bellow the selected node + # So we must reverse the adding order + create_event("dialogic_013", {'no-data': true}, true) + create_event("dialogic_011", {'no-data': true}, true) + create_event("dialogic_011", {'no-data': true}, true) + create_event("dialogic_010", {'no-data': true}, true) + else: + create_event("dialogic_010", {'no-data': true}, true) + create_event("dialogic_011", {'no-data': true}, true) + create_event("dialogic_011", {'no-data': true}, true) + create_event("dialogic_013", {'no-data': true}, true) + + +# the Condition button adds multiple blocks +func _on_ButtonCondition_pressed() -> void: + var at_index = -1 + if selected_items: + at_index = selected_items[-1].get_index()+1 + else: + at_index = timeline.get_child_count() + TimelineUndoRedo.create_action("[D] Add condition events.") + TimelineUndoRedo.add_do_method(self, "create_condition", at_index) + TimelineUndoRedo.add_undo_method(self, "remove_events_at_index", at_index, 2) + TimelineUndoRedo.commit_action() + +func create_condition(at_position): + if at_position == 0: selected_items = [] + else: selected_items = [timeline.get_child(at_position-1)] + if len(selected_items) != 0: + # Events are added bellow the selected node + # So we must reverse the adding order + create_event("dialogic_013", {'no-data': true}, true) + create_event("dialogic_012", {'no-data': true}, true) + else: + create_event("dialogic_012", {'no-data': true}, true) + create_event("dialogic_013", {'no-data': true}, true) + + +func update_custom_events() -> void: + ## CLEANUP + custom_events = {} + + # cleaning the 'old' buttons + for child in custom_events_container.get_children(): + child.queue_free() + + var path:String = "res://dialogic/custom-events" + + var dir = Directory.new() + if dir.open(path) == OK: + dir.list_dir_begin() + var file_name = dir.get_next() + # goes through all the folders in the custom events folder + while file_name != "": + # if it found a folder + if dir.current_is_dir() and not file_name in ['.', '..']: + # look through that folder + #print("Found custom event folder: " + file_name) + var event = load(path.plus_file(file_name).plus_file('EventBlock.tscn')).instance() + if event: + custom_events[event.event_data['event_id']] = { + 'event_block_scene' :path.plus_file(file_name).plus_file('EventBlock.tscn'), + 'event_name' : event.event_name, + 'event_icon' : event.event_icon + } + event.queue_free() + else: + print("[D] An error occurred when trying to access a custom event.") + + + else: + pass # files in the directory are ignored + file_name = dir.get_next() + + # After we finishing checking, if any events exist, show the panel + if custom_events.size() == 0: + custom_events_container.hide() + $ScrollContainer/EventContainer/CustomEventsHeadline.hide() + else: + custom_events_container.show() + $ScrollContainer/EventContainer/CustomEventsHeadline.show() + else: + print("[D] An error occurred when trying to access the custom events folder.") + + ## VISUAL UPDATE + + + # adding new ones + for custom_event_id in custom_events.keys(): + var button = load('res://addons/dialogic/Editor/TimelineEditor/SmallEventButton.tscn').instance() + #button.set_script(preload("EventButton.gd")) + button.event_id = custom_event_id + button.visible_name = custom_events[custom_event_id]['event_name'] + button.self_modulate = Color('#494d58') + button.hint_tooltip = custom_events[custom_event_id]['event_name'] + if custom_events[custom_event_id]['event_icon']: + button.event_icon = custom_events[custom_event_id]['event_icon'] + button.connect("pressed", self, "_create_event_button_pressed", [custom_event_id]) + custom_events_container.add_child(button) + +## ***************************************************************************** +## DRAG AND DROP +## ***************************************************************************** + +# Creates a ghost event for drag and drop +func create_drag_and_drop_event(event_id: String): + var index = get_index_under_cursor() + var piece = create_event(event_id) + currently_draged_event_type = event_id + timeline.move_child(piece, index) + moving_piece = piece + piece_was_dragged = true + set_event_ignore_save(piece, true) + select_item(piece) + return piece + + +func drop_event(): + if moving_piece != null: + var at_index = moving_piece.get_index() + moving_piece.queue_free() + TimelineUndoRedo.create_action("[D] Add event.") + TimelineUndoRedo.add_do_method(self, "create_event", currently_draged_event_type, {'no-data': true}, true, at_index, true) + TimelineUndoRedo.add_undo_method(self, "remove_events_at_index", at_index, 1) + TimelineUndoRedo.commit_action() + moving_piece = null + piece_was_dragged = false + indent_events() + add_extra_scroll_area_to_timeline() + + +func cancel_drop_event(): + if moving_piece != null: + moving_piece = null + piece_was_dragged = false + delete_selected_events() + deselect_all_items() + + +## ***************************************************************************** +## CREATING THE TIMELINE +## ***************************************************************************** + +# Adding an event to the timeline +func create_event(event_id: String, data: Dictionary = {'no-data': true} , indent: bool = false, at_index: int = -1, auto_select: bool = false): + var piece = null + + # check if it's a custom event + if event_id in custom_events.keys(): + piece = load(custom_events[event_id]['event_block_scene']).instance() + # check if it's a builtin event + elif event_id in id_to_scene_name.keys(): + piece = load("res://addons/dialogic/Editor/Events/" + id_to_scene_name[event_id] + ".tscn").instance() + # else use dummy event + else: + piece = load("res://addons/dialogic/Editor/Events/DummyEvent.tscn").instance() + + # load the piece with data + piece.editor_reference = editor_reference + + if data.has('no-data') == false: + piece.event_data = data + + if at_index == -1: + if len(selected_items) != 0: + timeline.add_child_below_node(selected_items[0], piece) + else: + timeline.add_child(piece) + else: + timeline.add_child(piece) + timeline.move_child(piece, at_index) + + piece.connect("option_action", self, '_on_event_options_action', [piece]) + piece.connect("gui_input", self, '_on_event_block_gui_input', [piece]) + + events_warning.visible = false + if auto_select: + select_item(piece, false) + # Spacing + add_extra_scroll_area_to_timeline() + # Indent on create + if indent: + indent_events() + return piece + + +func load_timeline(filename: String): + clear_timeline() + update_custom_events() + if timeline_file != filename: + TimelineUndoRedo.clear_history() + building_timeline = true + timeline_file = filename + + var data = DialogicResources.get_timeline_json(filename) + if data['metadata'].has('name'): + timeline_name = data['metadata']['name'] + else: + timeline_name = data['metadata']['file'] + data = data['events'] + + var page = 1 + var batch_size = 12 + while batch_events(data, batch_size, page).size() != 0: + batches.append(batch_events(data, batch_size, page)) + page += 1 + load_batch(batches) + # Reset the scroll position + $TimelineArea.scroll_vertical = 0 + + +func batch_events(array, size, batch_number): + return array.slice((batch_number - 1) * size, batch_number * size - 1) + + +func load_batch(data): + #print('[D] Loading batch') + var current_batch = batches.pop_front() + if current_batch: + for i in current_batch: + create_event(i['event_id'], i) + emit_signal("batch_loaded") + + +func _on_batch_loaded(): + if batches.size() > 0: + yield(get_tree().create_timer(0.01), "timeout") + load_batch(batches) + else: + events_warning.visible = false + indent_events() + building_timeline = false + add_extra_scroll_area_to_timeline() + + +func clear_timeline(): + deselect_all_items() + for event in timeline.get_children(): + event.free() + + +## ***************************************************************************** +## BLOCK GETTERS +## ***************************************************************************** + +func get_block_above(block): + var block_index = block.get_index() + var item = null + if block_index > 0: + item = timeline.get_child(block_index - 1) + return item + + +func get_block_below(block): + var block_index = block.get_index() + var item = null + if block_index < timeline.get_child_count() - 1: + item = timeline.get_child(block_index + 1) + return item + + +func get_block_height(block): + if block != null: + return block.rect_size.y + else: + return null + + +func get_index_under_cursor(): + var current_position = get_global_mouse_position() + var top_pos = 0 + for i in range(timeline.get_child_count()): + var c = timeline.get_child(i) + if c.rect_global_position.y < current_position.y: + top_pos = i + return top_pos + + +# ordering blocks in timeline +func move_block(block, direction): + var block_index = block.get_index() + if direction == 'up': + if block_index > 0: + timeline.move_child(block, block_index - 1) + return true + if direction == 'down': + timeline.move_child(block, block_index + 1) + return true + return false + +func move_block_to_index(block_index, index): + timeline.move_child(timeline.get_child(block_index), index) + +## ***************************************************************************** +## TIMELINE CREATION AND SAVING +## ***************************************************************************** + + +func create_timeline(): + timeline_file = 'timeline-' + str(OS.get_unix_time()) + '.json' + var timeline = { + "events": [], + "metadata":{ + "dialogic-version": editor_reference.version_string, + "file": timeline_file + } + } + DialogicResources.set_timeline(timeline) + return timeline + +# Saving +func generate_save_data(): + var info_to_save = { + 'metadata': { + 'dialogic-version': editor_reference.version_string, + 'name': timeline_name, + 'file': timeline_file + }, + 'events': [] + } + for event in timeline.get_children(): + # Checking that the event is not waiting to be removed + # or that it is not a drag and drop placeholder + if not get_event_ignore_save(event) and event.is_queued_for_deletion() == false: + info_to_save['events'].append(event.event_data) + return info_to_save + + +func set_event_ignore_save(event: Node, ignore: bool): + event.ignore_save = ignore + + +func get_event_ignore_save(event: Node) -> bool: + return event.ignore_save + + +func save_timeline() -> void: + if timeline_file != '' and building_timeline == false: + var info_to_save = generate_save_data() + DialogicResources.set_timeline(info_to_save) + #print('[+] Saving: ' , timeline_file) + + +## ***************************************************************************** +## UTILITIES/HELPERS +## ***************************************************************************** + +# Scrolling +func scroll_to_piece(piece_index) -> void: + var height = 0 + for i in range(0, piece_index): + height += $TimelineArea/TimeLine.get_child(i).rect_size.y + $TimelineArea.scroll_vertical = height + +# Event Indenting +func indent_events() -> void: + # Now indenting + var indent: int = 0 + var starter: bool = false + var event_list: Array = timeline.get_children() + var question_index: int = 0 + var question_indent = {} + if event_list.size() < 2: + return + # Resetting all the indents + for event in event_list: + var indent_node + + event.set_indent(0) + + # Adding new indents + for event in event_list: + # since there are indicators now, not all elements + # in this list have an event_data property + if (not "event_data" in event): + continue + + + if event.event_data['event_id'] == 'dialogic_011': + if question_index > 0: + indent = question_indent[question_index] + 1 + starter = true + elif event.event_data['event_id'] == 'dialogic_010' or event.event_data['event_id'] == 'dialogic_012': + indent += 1 + starter = true + question_index += 1 + question_indent[question_index] = indent + elif event.event_data['event_id'] == 'dialogic_013': + if question_indent.has(question_index): + indent = question_indent[question_index] + indent -= 1 + question_index -= 1 + if indent < 0: + indent = 0 + + if indent > 0: + # Keep old behavior for items without template + if starter: + event.set_indent(indent - 1) + else: + event.set_indent(indent) + starter = false + + +# called from the toolbar +func fold_all_nodes(): + for event in timeline.get_children(): + event.set_expanded(false) + add_extra_scroll_area_to_timeline() + + +# called from the toolbar +func unfold_all_nodes(): + for event in timeline.get_children(): + event.set_expanded(true) + add_extra_scroll_area_to_timeline() + + +func add_extra_scroll_area_to_timeline(): + if timeline.get_children().size() > 4: + timeline.rect_min_size.y = 0 + timeline.rect_size.y = 0 + if timeline.rect_size.y + 200 > $TimelineArea.rect_size.y: + timeline.rect_min_size = Vector2(0, timeline.rect_size.y + 200) diff --git a/addons/dialogic/Editor/TimelineEditor/TimelineEditor.tscn b/addons/dialogic/Editor/TimelineEditor/TimelineEditor.tscn new file mode 100644 index 0000000..c0f2f67 --- /dev/null +++ b/addons/dialogic/Editor/TimelineEditor/TimelineEditor.tscn @@ -0,0 +1,494 @@ +[gd_scene load_steps=29 format=2] + +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/character-join.svg" type="Texture" id=1] +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/text-event.svg" type="Texture" id=2] +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/audio-event.svg" type="Texture" id=3] +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/change-background.svg" type="Texture" id=4] +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/condition.svg" type="Texture" id=5] +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/close-dialog.svg" type="Texture" id=6] +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/character-leave.svg" type="Texture" id=7] +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/question.svg" type="Texture" id=8] +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/end-branch.svg" type="Texture" id=9] +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/change-timeline.svg" type="Texture" id=10] +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/set-value.svg" type="Texture" id=11] +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/choice.svg" type="Texture" id=12] +[ext_resource path="res://addons/dialogic/Images/Tutorials/arrow-down.svg" type="Texture" id=13] +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/wait-seconds.svg" type="Texture" id=14] +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/change-scene.svg" type="Texture" id=15] +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/emit-signal.svg" type="Texture" id=16] +[ext_resource path="res://addons/dialogic/Editor/TimelineEditor/TimelineEditor.gd" type="Script" id=17] +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/set-theme.svg" type="Texture" id=18] +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/background-music.svg" type="Texture" id=19] +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/call-node.svg" type="Texture" id=20] +[ext_resource path="res://addons/dialogic/Editor/Common/TLabel.tscn" type="PackedScene" id=21] +[ext_resource path="res://addons/dialogic/Editor/TimelineEditor/TimelineArea.gd" type="Script" id=22] +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/set-glossary.svg" type="Texture" id=23] +[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/save-icon.svg" type="Texture" id=24] +[ext_resource path="res://addons/dialogic/Editor/TimelineEditor/SmallEventButton.tscn" type="PackedScene" id=25] + +[sub_resource type="StyleBoxFlat" id=1] +content_margin_left = 5.0 +content_margin_right = 5.0 +content_margin_top = 5.0 +content_margin_bottom = 5.0 +bg_color = Color( 0, 0, 0, 1 ) +border_width_left = 1 +border_width_top = 1 +border_width_right = 1 +border_width_bottom = 1 +border_color = Color( 0.0980392, 0.113725, 0.152941, 1 ) + +[sub_resource type="StyleBoxFlat" id=2] +draw_center = false +border_width_left = 2 +border_color = Color( 0.8, 0.8, 0.8, 0 ) + +[sub_resource type="StyleBoxFlat" id=3] +content_margin_right = 6.0 +content_margin_top = 10.0 +content_margin_bottom = 10.0 +bg_color = Color( 0.94902, 1, 0.482353, 1 ) +corner_radius_top_left = 5 +corner_radius_top_right = 5 +corner_radius_bottom_right = 5 +corner_radius_bottom_left = 5 + +[node name="TimelineEditor" type="HSplitContainer"] +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_bottom = 138.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +split_offset = 7 +script = ExtResource( 17 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TimelineArea" type="ScrollContainer" parent="."] +margin_right = 832.0 +margin_bottom = 738.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +custom_styles/bg = SubResource( 1 ) +script = ExtResource( 22 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TimeLine" type="VBoxContainer" parent="TimelineArea"] +margin_left = 5.0 +margin_top = 5.0 +margin_right = 827.0 +margin_bottom = 733.0 +grow_horizontal = 2 +grow_vertical = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="ScrollContainer" type="ScrollContainer" parent="."] +margin_left = 844.0 +margin_right = 1024.0 +margin_bottom = 738.0 +rect_min_size = Vector2( 180, 0 ) +custom_styles/bg = SubResource( 2 ) + +[node name="EventContainer" type="VBoxContainer" parent="ScrollContainer"] +margin_left = 2.0 +margin_right = 180.0 +margin_bottom = 738.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +custom_constants/separation = 9 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="EventsWarning" type="PanelContainer" parent="ScrollContainer/EventContainer"] +margin_right = 178.0 +margin_bottom = 68.0 +custom_styles/panel = SubResource( 3 ) + +[node name="HBoxContainer" type="HBoxContainer" parent="ScrollContainer/EventContainer/EventsWarning"] +margin_top = 10.0 +margin_right = 172.0 +margin_bottom = 58.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TextureRect" type="TextureRect" parent="ScrollContainer/EventContainer/EventsWarning/HBoxContainer"] +margin_right = 40.0 +margin_bottom = 48.0 +rect_min_size = Vector2( 40, 40 ) +texture = ExtResource( 13 ) +stretch_mode = 4 + +[node name="Label" type="Label" parent="ScrollContainer/EventContainer/EventsWarning/HBoxContainer"] +margin_left = 44.0 +margin_right = 172.0 +margin_bottom = 48.0 +rect_min_size = Vector2( 100, 0 ) +size_flags_horizontal = 3 +size_flags_vertical = 1 +custom_colors/font_color = Color( 0, 0, 0, 1 ) +text = "Add an event to start building your timeline" +autowrap = true + +[node name="HBoxContainer6" type="HBoxContainer" parent="ScrollContainer/EventContainer"] +margin_top = 77.0 +margin_right = 178.0 +margin_bottom = 91.0 + +[node name="TLabel" parent="ScrollContainer/EventContainer/HBoxContainer6" instance=ExtResource( 21 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_right = 77.0 +margin_bottom = 14.0 +text = "Main Events" +text_key = "Main Events" + +[node name="HSeparator2" type="HSeparator" parent="ScrollContainer/EventContainer/HBoxContainer6"] +margin_left = 81.0 +margin_right = 178.0 +margin_bottom = 14.0 +size_flags_horizontal = 3 + +[node name="Grid1" type="GridContainer" parent="ScrollContainer/EventContainer"] +margin_top = 100.0 +margin_right = 178.0 +margin_bottom = 120.0 +custom_constants/vseparation = 6 +custom_constants/hseparation = 6 +columns = 3 + +[node name="TextEvent" parent="ScrollContainer/EventContainer/Grid1" instance=ExtResource( 25 )] +margin_right = 12.0 +margin_bottom = 20.0 +hint_tooltip = "Text Event" +icon = ExtResource( 2 ) +event_id = "dialogic_001" +event_color = Color( 0.635294, 0.635294, 0.635294, 0.282353 ) +event_icon = ExtResource( 2 ) + +[node name="CharacterJoin" parent="ScrollContainer/EventContainer/Grid1" instance=ExtResource( 25 )] +margin_left = 18.0 +margin_bottom = 20.0 +hint_tooltip = "Character Join" +icon = ExtResource( 1 ) +event_id = "dialogic_002" +event_color = Color( 0.14902, 0.521569, 0.298039, 0.266667 ) +event_icon = ExtResource( 1 ) + +[node name="CharacterLeave" parent="ScrollContainer/EventContainer/Grid1" instance=ExtResource( 25 )] +margin_left = 36.0 +margin_right = 48.0 +margin_bottom = 20.0 +hint_tooltip = "Character Leave" +icon = ExtResource( 7 ) +event_id = "dialogic_003" +event_color = Color( 0.419608, 0.14902, 0.262745, 0.219608 ) +event_icon = ExtResource( 7 ) + +[node name="HBoxContainer5" type="HBoxContainer" parent="ScrollContainer/EventContainer"] +margin_top = 129.0 +margin_right = 178.0 +margin_bottom = 143.0 + +[node name="TLabel2" parent="ScrollContainer/EventContainer/HBoxContainer5" instance=ExtResource( 21 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_right = 33.0 +margin_bottom = 14.0 +text = "Logic" +text_key = "Logic" + +[node name="HSeparator2" type="HSeparator" parent="ScrollContainer/EventContainer/HBoxContainer5"] +margin_left = 37.0 +margin_right = 178.0 +margin_bottom = 14.0 +size_flags_horizontal = 3 + +[node name="Grid2" type="GridContainer" parent="ScrollContainer/EventContainer"] +margin_top = 152.0 +margin_right = 178.0 +margin_bottom = 198.0 +custom_constants/vseparation = 6 +custom_constants/hseparation = 6 +columns = 5 + +[node name="Question" parent="ScrollContainer/EventContainer/Grid2" instance=ExtResource( 25 )] +margin_right = 12.0 +margin_bottom = 20.0 +hint_tooltip = "Question" +icon = ExtResource( 8 ) +event_id = "dialogic_010" +event_color = Color( 0.270588, 0.243137, 0.572549, 0.407843 ) +event_icon = ExtResource( 8 ) + +[node name="Choice" parent="ScrollContainer/EventContainer/Grid2" instance=ExtResource( 25 )] +margin_left = 18.0 +margin_bottom = 20.0 +hint_tooltip = "Choice" +icon = ExtResource( 12 ) +event_id = "dialogic_011" +event_color = Color( 0.270588, 0.243137, 0.572549, 0.407843 ) +event_icon = ExtResource( 12 ) + +[node name="Condition" parent="ScrollContainer/EventContainer/Grid2" instance=ExtResource( 25 )] +margin_left = 36.0 +margin_right = 48.0 +margin_bottom = 20.0 +hint_tooltip = "Condition" +icon = ExtResource( 5 ) +event_id = "dialogic_012" +event_color = Color( 0.270588, 0.243137, 0.572549, 0.407843 ) +event_icon = ExtResource( 5 ) + +[node name="EndBranch" parent="ScrollContainer/EventContainer/Grid2" instance=ExtResource( 25 )] +margin_left = 54.0 +margin_right = 66.0 +margin_bottom = 20.0 +hint_tooltip = "End Branch" +icon = ExtResource( 9 ) +event_id = "dialogic_013" +event_color = Color( 0.270588, 0.243137, 0.572549, 0.407843 ) +event_icon = ExtResource( 9 ) + +[node name="SetValue" parent="ScrollContainer/EventContainer/Grid2" instance=ExtResource( 25 )] +margin_left = 72.0 +margin_right = 84.0 +margin_bottom = 20.0 +hint_tooltip = "Set Value" +icon = ExtResource( 11 ) +event_id = "dialogic_014" +event_color = Color( 0.270588, 0.243137, 0.572549, 0.407843 ) +event_icon = ExtResource( 11 ) + +[node name="SetGlossary" parent="ScrollContainer/EventContainer/Grid2" instance=ExtResource( 25 )] +margin_top = 26.0 +margin_right = 12.0 +margin_bottom = 46.0 +hint_tooltip = "Set Glossary" +icon = ExtResource( 23 ) +event_id = "dialogic_025" +event_color = Color( 0.270588, 0.243137, 0.572549, 0.407843 ) +event_icon = ExtResource( 23 ) + +[node name="HBoxContainer3" type="HBoxContainer" parent="ScrollContainer/EventContainer"] +margin_top = 207.0 +margin_right = 178.0 +margin_bottom = 221.0 + +[node name="TLabel3" parent="ScrollContainer/EventContainer/HBoxContainer3" instance=ExtResource( 21 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_right = 56.0 +margin_bottom = 14.0 +text = "Timeline" +text_key = "Timeline" + +[node name="HSeparator2" type="HSeparator" parent="ScrollContainer/EventContainer/HBoxContainer3"] +margin_left = 60.0 +margin_right = 178.0 +margin_bottom = 14.0 +size_flags_horizontal = 3 + +[node name="Grid3" type="GridContainer" parent="ScrollContainer/EventContainer"] +margin_top = 230.0 +margin_right = 178.0 +margin_bottom = 276.0 +custom_constants/vseparation = 6 +custom_constants/hseparation = 6 +columns = 5 + +[node name="SaveEvent" parent="ScrollContainer/EventContainer/Grid3" instance=ExtResource( 25 )] +margin_right = 12.0 +margin_bottom = 20.0 +hint_tooltip = "Save" +custom_constants/hseparation = 0 +icon = ExtResource( 24 ) +event_id = "dialogic_026" +event_color = Color( 0.435294, 0.301961, 0.603922, 0.192157 ) +event_icon = ExtResource( 24 ) + +[node name="ChangeTimeline" parent="ScrollContainer/EventContainer/Grid3" instance=ExtResource( 25 )] +margin_left = 18.0 +margin_bottom = 20.0 +hint_tooltip = "Change Timeline" +icon = ExtResource( 10 ) +event_id = "dialogic_020" +event_color = Color( 0.435294, 0.301961, 0.603922, 0.192157 ) +event_icon = ExtResource( 10 ) + +[node name="ChangeBackground" parent="ScrollContainer/EventContainer/Grid3" instance=ExtResource( 25 )] +margin_left = 36.0 +margin_right = 48.0 +margin_bottom = 20.0 +hint_tooltip = "Set Background" +icon = ExtResource( 4 ) +event_id = "dialogic_021" +event_color = Color( 0.219608, 0.34902, 0.701961, 0.443137 ) +event_icon = ExtResource( 4 ) + +[node name="CloseDialog" parent="ScrollContainer/EventContainer/Grid3" instance=ExtResource( 25 )] +margin_left = 54.0 +margin_right = 66.0 +margin_bottom = 20.0 +hint_tooltip = "Close Dialog" +icon = ExtResource( 6 ) +event_id = "dialogic_022" +event_color = Color( 0.419608, 0.14902, 0.262745, 0.219608 ) +event_icon = ExtResource( 6 ) + +[node name="WaitSeconds" parent="ScrollContainer/EventContainer/Grid3" instance=ExtResource( 25 )] +margin_left = 72.0 +margin_right = 84.0 +margin_bottom = 20.0 +hint_tooltip = "Wait Seconds" +icon = ExtResource( 14 ) +event_id = "dialogic_023" +event_color = Color( 0.435294, 0.301961, 0.603922, 0.192157 ) +event_icon = ExtResource( 14 ) + +[node name="SetTheme" parent="ScrollContainer/EventContainer/Grid3" instance=ExtResource( 25 )] +margin_top = 26.0 +margin_right = 12.0 +margin_bottom = 46.0 +hint_tooltip = "Set Theme" +icon = ExtResource( 18 ) +event_id = "dialogic_024" +event_color = Color( 0.219608, 0.34902, 0.701961, 0.443137 ) +event_icon = ExtResource( 18 ) + +[node name="HBoxContainer4" type="HBoxContainer" parent="ScrollContainer/EventContainer"] +margin_top = 285.0 +margin_right = 178.0 +margin_bottom = 299.0 + +[node name="TLabel4" parent="ScrollContainer/EventContainer/HBoxContainer4" instance=ExtResource( 21 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_right = 37.0 +margin_bottom = 14.0 +text = "Audio" +text_key = "Audio" + +[node name="HSeparator2" type="HSeparator" parent="ScrollContainer/EventContainer/HBoxContainer4"] +margin_left = 41.0 +margin_right = 178.0 +margin_bottom = 14.0 +size_flags_horizontal = 3 + +[node name="Grid4" type="GridContainer" parent="ScrollContainer/EventContainer"] +margin_top = 308.0 +margin_right = 178.0 +margin_bottom = 328.0 +custom_constants/vseparation = 6 +custom_constants/hseparation = 6 +columns = 5 + +[node name="AudioEvent" parent="ScrollContainer/EventContainer/Grid4" instance=ExtResource( 25 )] +margin_right = 12.0 +margin_bottom = 20.0 +hint_tooltip = "Audio Event" +icon = ExtResource( 3 ) +event_id = "dialogic_030" +event_color = Color( 0.160784, 0.423529, 0.309804, 0.447059 ) +event_icon = ExtResource( 3 ) + +[node name="BackgroundMusic" parent="ScrollContainer/EventContainer/Grid4" instance=ExtResource( 25 )] +margin_left = 18.0 +margin_bottom = 20.0 +hint_tooltip = "Background Music" +icon = ExtResource( 19 ) +event_id = "dialogic_031" +event_color = Color( 0.160784, 0.423529, 0.309804, 0.447059 ) +event_icon = ExtResource( 19 ) + +[node name="HBoxContainer" type="HBoxContainer" parent="ScrollContainer/EventContainer"] +margin_top = 337.0 +margin_right = 178.0 +margin_bottom = 351.0 + +[node name="TLabel5" parent="ScrollContainer/EventContainer/HBoxContainer" instance=ExtResource( 21 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_right = 39.0 +margin_bottom = 14.0 +text = "Godot" +text_key = "Godot" + +[node name="HSeparator2" type="HSeparator" parent="ScrollContainer/EventContainer/HBoxContainer"] +margin_left = 43.0 +margin_right = 178.0 +margin_bottom = 14.0 +size_flags_horizontal = 3 + +[node name="Grid5" type="GridContainer" parent="ScrollContainer/EventContainer"] +margin_top = 360.0 +margin_right = 178.0 +margin_bottom = 380.0 +custom_constants/vseparation = 6 +custom_constants/hseparation = 6 +columns = 5 + +[node name="EmitSignal" parent="ScrollContainer/EventContainer/Grid5" instance=ExtResource( 25 )] +margin_right = 12.0 +margin_bottom = 20.0 +hint_tooltip = "Emit Signal" +icon = ExtResource( 16 ) +event_id = "dialogic_040" +event_color = Color( 0.14902, 0.333333, 0.509804, 0.4 ) +event_icon = ExtResource( 16 ) + +[node name="ChangeScene" parent="ScrollContainer/EventContainer/Grid5" instance=ExtResource( 25 )] +margin_left = 18.0 +margin_bottom = 20.0 +hint_tooltip = "Change Scene" +icon = ExtResource( 15 ) +event_id = "dialogic_041" +event_color = Color( 0.14902, 0.333333, 0.509804, 0.4 ) +event_icon = ExtResource( 15 ) + +[node name="CallNode" parent="ScrollContainer/EventContainer/Grid5" instance=ExtResource( 25 )] +margin_left = 36.0 +margin_right = 48.0 +margin_bottom = 20.0 +hint_tooltip = "Call Node" +icon = ExtResource( 20 ) +event_id = "dialogic_042" +event_color = Color( 0.14902, 0.333333, 0.509804, 0.4 ) +event_icon = ExtResource( 20 ) + +[node name="CustomEventsHeadline" type="HBoxContainer" parent="ScrollContainer/EventContainer"] +margin_top = 389.0 +margin_right = 178.0 +margin_bottom = 403.0 + +[node name="TLabel6" parent="ScrollContainer/EventContainer/CustomEventsHeadline" instance=ExtResource( 21 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_right = 95.0 +margin_bottom = 14.0 +text = "Custom Events" +text_key = "Custom Events" + +[node name="HSeparator2" type="HSeparator" parent="ScrollContainer/EventContainer/CustomEventsHeadline"] +margin_left = 99.0 +margin_right = 178.0 +margin_bottom = 14.0 +size_flags_horizontal = 3 + +[node name="CustomEventsContainer" type="VBoxContainer" parent="ScrollContainer/EventContainer"] +margin_top = 412.0 +margin_right = 178.0 +margin_bottom = 456.0 + +[node name="Spacer" type="Control" parent="ScrollContainer/EventContainer"] +margin_top = 465.0 +margin_right = 178.0 +margin_bottom = 565.0 +rect_min_size = Vector2( 0, 100 ) diff --git a/addons/dialogic/Editor/ValueEditor/ValueEditor.gd b/addons/dialogic/Editor/ValueEditor/ValueEditor.gd new file mode 100644 index 0000000..73ad91c --- /dev/null +++ b/addons/dialogic/Editor/ValueEditor/ValueEditor.gd @@ -0,0 +1,65 @@ +tool +extends ScrollContainer + +var editor_reference +onready var master_tree = get_node('../MasterTreeContainer/MasterTree') +var current_definition = null + +onready var nodes = { + 'name' : $VBoxContainer/HBoxContainer/VBoxContainer/Name, + 'value_editor': $VBoxContainer/HBoxContainer/Value, + 'value': $VBoxContainer/HBoxContainer/Value/ValueInput, + } + +func _ready(): + editor_reference = find_parent('EditorView') + reset_editor() + nodes['name'].connect('text_changed', self, '_on_name_changed') + nodes['name'].connect('focus_exited', self, '_update_name_on_tree') + + +func is_selected(id: String): + return current_definition != null and current_definition['id'] == id + + +func load_definition(id): + current_definition = DialogicResources.get_default_definition_item(id) + reset_editor() + nodes['name'].editable = true + nodes['name'].text = current_definition['name'] + nodes['value'].text = current_definition['value'] + +func reset_editor(): + nodes['name'].text = '' + nodes['value'].text = '' + + +func _on_name_changed(text): + if current_definition != null: + save_definition() + + +func _input(event): + if event is InputEventKey and event.pressed: + if nodes['name'].has_focus(): + if event.scancode == KEY_ENTER: + nodes['name'].release_focus() + + +func _update_name_on_tree(): + var item = master_tree.get_selected() + item.set_text(0, nodes['name'].text) + if current_definition != null: + save_definition() + master_tree.build_definitions(current_definition['id']) + + +func create_value() -> String: + var id = DialogicUtil.generate_random_id() + DialogicResources.set_default_definition_variable(id, 'New value', '') + return id + + +func save_definition(): + if current_definition != null and current_definition['id'] != '': + DialogicResources.set_default_definition_variable(current_definition['id'], nodes['name'].text, nodes['value'].text) diff --git a/addons/dialogic/Editor/ValueEditor/ValueEditor.tscn b/addons/dialogic/Editor/ValueEditor/ValueEditor.tscn new file mode 100644 index 0000000..df8c165 --- /dev/null +++ b/addons/dialogic/Editor/ValueEditor/ValueEditor.tscn @@ -0,0 +1,55 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://addons/dialogic/Editor/ValueEditor/ValueEditor.gd" type="Script" id=1] + +[node name="ValueEditor" type="ScrollContainer"] +anchor_right = 1.0 +anchor_bottom = 1.0 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="VBoxContainer" type="VBoxContainer" parent="."] +margin_right = 1024.0 +margin_bottom = 600.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer"] +margin_right = 1024.0 +margin_bottom = 48.0 +custom_constants/separation = 16 + +[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/HBoxContainer"] +margin_right = 300.0 +margin_bottom = 48.0 +rect_min_size = Vector2( 300, 0 ) +custom_constants/separation = 10 + +[node name="Label" type="Label" parent="VBoxContainer/HBoxContainer/VBoxContainer"] +margin_right = 300.0 +margin_bottom = 14.0 +text = "Name" + +[node name="Name" type="LineEdit" parent="VBoxContainer/HBoxContainer/VBoxContainer"] +margin_top = 24.0 +margin_right = 300.0 +margin_bottom = 48.0 + +[node name="Value" type="VBoxContainer" parent="VBoxContainer/HBoxContainer"] +margin_left = 316.0 +margin_right = 616.0 +margin_bottom = 48.0 +rect_min_size = Vector2( 300, 0 ) +custom_constants/separation = 10 + +[node name="Label5" type="Label" parent="VBoxContainer/HBoxContainer/Value"] +margin_right = 300.0 +margin_bottom = 14.0 +text = "Value:" + +[node name="ValueInput" type="LineEdit" parent="VBoxContainer/HBoxContainer/Value"] +margin_top = 24.0 +margin_right = 300.0 +margin_bottom = 48.0 diff --git a/addons/dialogic/Example Assets/CustomEvents/EventBlock.tscn b/addons/dialogic/Example Assets/CustomEvents/EventBlock.tscn new file mode 100644 index 0000000..23e2ff2 --- /dev/null +++ b/addons/dialogic/Example Assets/CustomEvents/EventBlock.tscn @@ -0,0 +1,8 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=1] + +[node name="ExampleCustomEvent" instance=ExtResource( 1 )] + +[node name="OptionsControl" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="7"] +items = [ "Move Up", null, 0, false, false, 0, 0, null, "", false, "Move Down", null, 0, false, false, 1, 0, null, "", false, "", null, 0, false, false, 2, 0, null, "", false, "Remove", null, 0, false, false, 3, 0, null, "", false ] diff --git a/addons/dialogic/Example Assets/CustomEvents/EventPart_Example.gd b/addons/dialogic/Example Assets/CustomEvents/EventPart_Example.gd new file mode 100644 index 0000000..832ad98 --- /dev/null +++ b/addons/dialogic/Example Assets/CustomEvents/EventPart_Example.gd @@ -0,0 +1,33 @@ +tool +extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd" + # has an event_data variable that stores the current data!!! + + ## node references + # e.g. +onready var input_field = $InputField + + # used to connect the signals +func _ready(): + # e.g. + input_field.connect("text_changed", self, "_on_InputField_text_changed") + pass + + # called by the event block +func load_data(data:Dictionary): + # First set the event_data + .load_data(data) + + # Now update the ui nodes to display the data. + # e.g. + input_field.text = event_data['my_text_key'] + + # has to return the wanted preview, only useful for body parts +func get_preview(): + return '' + + ## EXAMPLE CHANGE IN ONE OF THE NODES +func _on_InputField_text_changed(text): + event_data['my_text_key'] = text + + # informs the parent about the changes! + data_changed() diff --git a/addons/dialogic/Example Assets/CustomEvents/EventPart_Example.tscn b/addons/dialogic/Example Assets/CustomEvents/EventPart_Example.tscn new file mode 100644 index 0000000..313338c --- /dev/null +++ b/addons/dialogic/Example Assets/CustomEvents/EventPart_Example.tscn @@ -0,0 +1,16 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Text/CustomLineEdit.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/dialogic/Example Assets/CustomEvents/EventPart_Example.gd" type="Script" id=2] + +[node name="EventPart_Example" type="HBoxContainer"] +margin_right = 40.0 +margin_bottom = 40.0 +script = ExtResource( 2 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="InputField" parent="." instance=ExtResource( 1 )] +margin_top = 6.0 +margin_bottom = 33.0 diff --git a/addons/dialogic/Example Assets/CustomEvents/Stylebox.tres b/addons/dialogic/Example Assets/CustomEvents/Stylebox.tres new file mode 100644 index 0000000..a588b5a --- /dev/null +++ b/addons/dialogic/Example Assets/CustomEvents/Stylebox.tres @@ -0,0 +1,17 @@ +[gd_resource type="StyleBoxFlat" format=2] + +[resource] +content_margin_left = 0.0 +content_margin_right = 0.0 +content_margin_top = 0.0 +content_margin_bottom = 0.0 +bg_color = Color( 0.243137, 0.231373, 0.396078, 0.772549 ) +border_width_left = 2 +border_width_top = 2 +border_width_right = 2 +border_width_bottom = 2 +border_color = Color( 0.12549, 0.12549, 0.12549, 1 ) +corner_radius_top_left = 6 +corner_radius_top_right = 6 +corner_radius_bottom_right = 6 +corner_radius_bottom_left = 6 diff --git a/addons/dialogic/Example Assets/CustomEvents/event_yourname_000.gd b/addons/dialogic/Example Assets/CustomEvents/event_yourname_000.gd new file mode 100644 index 0000000..1f38d38 --- /dev/null +++ b/addons/dialogic/Example Assets/CustomEvents/event_yourname_000.gd @@ -0,0 +1,12 @@ +extends Node + + +func handle_event(event_data, dialog_node): + ## if you want to stop the user from progressing while this even is handled + #dialog_node.waiting = true + + pass # fill with event action + + # once you want to continue with the next event + dialog_node._load_next_event() + dialog_node.waiting = false diff --git a/addons/dialogic/Example Assets/Fonts/DefaultBoldFont.tres b/addons/dialogic/Example Assets/Fonts/DefaultBoldFont.tres new file mode 100644 index 0000000..cd25a11 --- /dev/null +++ b/addons/dialogic/Example Assets/Fonts/DefaultBoldFont.tres @@ -0,0 +1,7 @@ +[gd_resource type="DynamicFont" load_steps=2 format=2] + +[ext_resource path="res://addons/dialogic/Example Assets/Fonts/Overlock/Overlock-Black.ttf" type="DynamicFontData" id=1] + +[resource] +size = 30 +font_data = ExtResource( 1 ) diff --git a/addons/dialogic/Example Assets/Fonts/DefaultFont.tres b/addons/dialogic/Example Assets/Fonts/DefaultFont.tres new file mode 100644 index 0000000..211862b --- /dev/null +++ b/addons/dialogic/Example Assets/Fonts/DefaultFont.tres @@ -0,0 +1,7 @@ +[gd_resource type="DynamicFont" load_steps=2 format=2] + +[ext_resource path="res://addons/dialogic/Example Assets/Fonts/Overlock/Overlock-Regular.ttf" type="DynamicFontData" id=1] + +[resource] +size = 30 +font_data = ExtResource( 1 ) diff --git a/addons/dialogic/Example Assets/Fonts/DefaultItalicFont.tres b/addons/dialogic/Example Assets/Fonts/DefaultItalicFont.tres new file mode 100644 index 0000000..d5537a3 --- /dev/null +++ b/addons/dialogic/Example Assets/Fonts/DefaultItalicFont.tres @@ -0,0 +1,7 @@ +[gd_resource type="DynamicFont" load_steps=2 format=2] + +[ext_resource path="res://addons/dialogic/Example Assets/Fonts/Overlock/Overlock-Italic.ttf" type="DynamicFontData" id=1] + +[resource] +size = 30 +font_data = ExtResource( 1 ) diff --git a/addons/dialogic/Example Assets/Fonts/GlossaryFont.tres b/addons/dialogic/Example Assets/Fonts/GlossaryFont.tres new file mode 100644 index 0000000..4fdd2d5 --- /dev/null +++ b/addons/dialogic/Example Assets/Fonts/GlossaryFont.tres @@ -0,0 +1,7 @@ +[gd_resource type="DynamicFont" load_steps=2 format=2] + +[ext_resource path="res://addons/dialogic/Example Assets/Fonts/Overlock/Overlock-Black.ttf" type="DynamicFontData" id=1] + +[resource] +size = 20 +font_data = ExtResource( 1 ) diff --git a/addons/dialogic/Example Assets/Fonts/NameFont.tres b/addons/dialogic/Example Assets/Fonts/NameFont.tres new file mode 100644 index 0000000..cd25a11 --- /dev/null +++ b/addons/dialogic/Example Assets/Fonts/NameFont.tres @@ -0,0 +1,7 @@ +[gd_resource type="DynamicFont" load_steps=2 format=2] + +[ext_resource path="res://addons/dialogic/Example Assets/Fonts/Overlock/Overlock-Black.ttf" type="DynamicFontData" id=1] + +[resource] +size = 30 +font_data = ExtResource( 1 ) diff --git a/addons/dialogic/Example Assets/Fonts/Overlock/OFL.txt b/addons/dialogic/Example Assets/Fonts/Overlock/OFL.txt new file mode 100644 index 0000000..3f4681a --- /dev/null +++ b/addons/dialogic/Example Assets/Fonts/Overlock/OFL.txt @@ -0,0 +1,94 @@ +Copyright (c) 2011, Dario Manuel Muhafara (http://www.tipo.net.ar), +with Reserved Font Names "Overlock" "Overlock SC" + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/addons/dialogic/Example Assets/Fonts/Overlock/Overlock-Black.ttf b/addons/dialogic/Example Assets/Fonts/Overlock/Overlock-Black.ttf new file mode 100644 index 0000000000000000000000000000000000000000..79ab2f6bb1f35ab52891d85b1f7305a2f8f79d23 GIT binary patch literal 38308 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 Q(CfXYjb9x0$w-17Kcaqa_5c6? literal 0 HcmV?d00001 diff --git a/addons/dialogic/Example Assets/Fonts/Overlock/Overlock-BlackItalic.ttf b/addons/dialogic/Example Assets/Fonts/Overlock/Overlock-BlackItalic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..180880d08f477e567a0a6b7bb0da16ff3f7bcceb GIT binary patch literal 38100 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 UTyr`5T5l_3gO`4%CIfx_1>R>HJpcdz literal 0 HcmV?d00001 diff --git a/addons/dialogic/Example Assets/Fonts/Overlock/Overlock-Bold.ttf b/addons/dialogic/Example Assets/Fonts/Overlock/Overlock-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..ed50461deebdaae30491792bd3d663f09f3aee31 GIT binary patch literal 37532 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 wo!~Z?_buYex%=TS(R}%BZG)UbOQQ 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 DvibWf literal 0 HcmV?d00001 diff --git a/addons/dialogic/Example Assets/Fonts/Overlock/Overlock-BoldItalic.ttf b/addons/dialogic/Example Assets/Fonts/Overlock/Overlock-BoldItalic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..75aaf7398bc7944cf49f4f500db7bb0e40f13e47 GIT binary patch literal 39668 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 Ibj14o8#XttaR2}S literal 0 HcmV?d00001 diff --git a/addons/dialogic/Example Assets/Fonts/Overlock/Overlock.tres b/addons/dialogic/Example Assets/Fonts/Overlock/Overlock.tres new file mode 100644 index 0000000..56d4044 --- /dev/null +++ b/addons/dialogic/Example Assets/Fonts/Overlock/Overlock.tres @@ -0,0 +1,7 @@ +[gd_resource type="DynamicFont" load_steps=2 format=2] + +[ext_resource path="res://Fonts/Overlock/Overlock-Black.ttf" type="DynamicFontData" id=1] + +[resource] +size = 30 +font_data = ExtResource( 1 ) diff --git a/addons/dialogic/Example Assets/Sound Effects/Beep.wav b/addons/dialogic/Example Assets/Sound Effects/Beep.wav new file mode 100644 index 0000000000000000000000000000000000000000..f97cfa58fd62a8c09d266ba73ef929f92679d16f GIT binary patch literal 22092 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 PLSxZ7(BzoPmeT(RF(4jz literal 0 HcmV?d00001 diff --git a/addons/dialogic/Example Assets/Sound Effects/Keyboard Noises/typing1.wav.import b/addons/dialogic/Example Assets/Sound Effects/Keyboard Noises/typing1.wav.import new file mode 100644 index 0000000..bd77022 --- /dev/null +++ b/addons/dialogic/Example Assets/Sound Effects/Keyboard Noises/typing1.wav.import @@ -0,0 +1,21 @@ +[remap] + +importer="wav" +type="AudioStreamSample" +path="res://.import/typing1.wav-9ff6b271ce4f3eefe1bc32564dd3460c.sample" + +[deps] + +source_file="res://addons/dialogic/Example Assets/Sound Effects/Keyboard Noises/typing1.wav" +dest_files=[ "res://.import/typing1.wav-9ff6b271ce4f3eefe1bc32564dd3460c.sample" ] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop=false +compress/mode=0 diff --git a/addons/dialogic/Example Assets/Sound Effects/Keyboard Noises/typing2.wav b/addons/dialogic/Example Assets/Sound Effects/Keyboard Noises/typing2.wav new file mode 100644 index 0000000000000000000000000000000000000000..aff48fab775e1ccd46bf3921cd802cb111ff5f2e GIT binary patch literal 21932 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 fci=Nst5d#}CLZB<&7JlhW`sprWuTFU`yIYk6Lt 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 OReLI8XmzS%VEX^4+VRZ* literal 0 HcmV?d00001 diff --git a/addons/dialogic/Example Assets/Sound Effects/Keyboard Noises/typing3.wav.import b/addons/dialogic/Example Assets/Sound Effects/Keyboard Noises/typing3.wav.import new file mode 100644 index 0000000..27ddec8 --- /dev/null +++ b/addons/dialogic/Example Assets/Sound Effects/Keyboard Noises/typing3.wav.import @@ -0,0 +1,21 @@ +[remap] + +importer="wav" +type="AudioStreamSample" +path="res://.import/typing3.wav-c205224330b70994289dbb4ca48b4277.sample" + +[deps] + +source_file="res://addons/dialogic/Example Assets/Sound Effects/Keyboard Noises/typing3.wav" +dest_files=[ "res://.import/typing3.wav-c205224330b70994289dbb4ca48b4277.sample" ] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop=false +compress/mode=0 diff --git a/addons/dialogic/Example Assets/Sound Effects/Keyboard Noises/typing4.wav b/addons/dialogic/Example Assets/Sound Effects/Keyboard Noises/typing4.wav new file mode 100644 index 0000000000000000000000000000000000000000..071ba816540e1cb9c1e64ba7f5329d4768175eb3 GIT binary patch literal 23404 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 literal 0 HcmV?d00001 diff --git a/addons/dialogic/Example Assets/Sound Effects/Keyboard Noises/typing5.wav.import b/addons/dialogic/Example Assets/Sound Effects/Keyboard Noises/typing5.wav.import new file mode 100644 index 0000000..64330f1 --- /dev/null +++ b/addons/dialogic/Example Assets/Sound Effects/Keyboard Noises/typing5.wav.import @@ -0,0 +1,21 @@ +[remap] + +importer="wav" +type="AudioStreamSample" +path="res://.import/typing5.wav-18d3a5e3d0af1e07d53b8606cfa86aa3.sample" + +[deps] + +source_file="res://addons/dialogic/Example Assets/Sound Effects/Keyboard Noises/typing5.wav" +dest_files=[ "res://.import/typing5.wav-18d3a5e3d0af1e07d53b8606cfa86aa3.sample" ] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop=false +compress/mode=0 diff --git a/addons/dialogic/Example Assets/backgrounds/GlossaryBackground.tres b/addons/dialogic/Example Assets/backgrounds/GlossaryBackground.tres new file mode 100644 index 0000000..7fac3de --- /dev/null +++ b/addons/dialogic/Example Assets/backgrounds/GlossaryBackground.tres @@ -0,0 +1,12 @@ +[gd_resource type="StyleBoxFlat" format=2] + +[resource] +bg_color = Color( 0.160784, 0.160784, 0.160784, 1 ) +corner_radius_top_left = 2 +corner_radius_top_right = 2 +corner_radius_bottom_right = 2 +corner_radius_bottom_left = 2 +expand_margin_left = 5.0 +expand_margin_right = 5.0 +expand_margin_top = 5.0 +expand_margin_bottom = 5.0 diff --git a/addons/dialogic/Example Assets/backgrounds/background-1.png b/addons/dialogic/Example Assets/backgrounds/background-1.png new file mode 100644 index 0000000000000000000000000000000000000000..34fd2322a35785b03bccfccd2001c348f09f9165 GIT binary patch literal 43364 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 bO`84>wo1V7cBIVo00000NkvXXu0mjfC_h_G literal 0 HcmV?d00001 diff --git a/addons/dialogic/Example Assets/next-indicator/next-indicator.png.import b/addons/dialogic/Example Assets/next-indicator/next-indicator.png.import new file mode 100644 index 0000000..d771e84 --- /dev/null +++ b/addons/dialogic/Example Assets/next-indicator/next-indicator.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/next-indicator.png-e3b7b80d9da791a1d0a061a728b6f781.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Example Assets/next-indicator/next-indicator.png" +dest_files=[ "res://.import/next-indicator.png-e3b7b80d9da791a1d0a061a728b6f781.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Example Assets/portraits/df-1.png b/addons/dialogic/Example Assets/portraits/df-1.png new file mode 100644 index 0000000000000000000000000000000000000000..0245f48194457b189c55a6c709f815a37a28e204 GIT binary patch literal 7501 zcmZu$c|4SD7alJmk&-2AT9Com)7Tj$YZ&`hh|x&aEXkg|Mq=!{24fiO*!Mj`*>@7j zUNMyQ8~OU);`{IZ%{zh=#f%6$KLo005v;x}%^401#OM0RLdgNeQ30 z%Ts9r02H?#LLeGS5D2@yqn*{mM}+U)Mw6g0ZRi5M)YjyNyh^Z7l!~1e9XY#}e3%by z1SjzF>2u1#m(xb*G#k#}x<$g=o*GPyK={0%)8wTLr5Glgy_}Bl&j=3f*!k#@VKZ30 z^|@;wHzYluyPj0sLsm~t8GT1sQ`CnNEzfp-+P|&2_2Vo^)|cX%J>VR9@q^1wdsm47 zKfEL*d9Kux)dGmz`p%F8>eUkJ1z3U(s2AnqjEQ`n6V*FM+*Bd=p#{i3MaX9YWN#Ds zB*k(<0jVT_`<)i%p8y(sfcsqDpZfqlNk8H|hyX@Wm+6R7BLM6dEQ1vQ))Ii+9^KGe z0DS=ft(8hM7%`Kq{_Cvf>)}mah>xp97hm9*FIFw-N&n?G3Yk%;IH1jqY)bLcSu@)9dd5 zfYb;&LbU69Zrx|G-Q713rDyN)E!L49TroHQv_IE_v6lq^K014S*yrUhX7Z6B^|9Sg z=U64NHa(O2WGl?7h*}m0NL?7!Tem;N=2qIPijk4I+1X*`W_csC4n5C(SmV8Vy}d_2 zy(D+H@YA(3*L;Ocd=*K4OgFyUP(`uyygvQheEf5`;%?cQgI(6XE6qyg75YHhPnt9i z2!;3;>q4k2A@Z-eTR3_T9?VSf?hs2)i2@4X(nKB+eAy-z#G5Ky=k%THXSM)8c6l_I$UId4DuSFLF5t)IhC3uQVb|E-2GeR@QHc<}Bd8Us z&8~BY^}CegKj0wa+m#U#?EoRa-N0%^!6@G%O{soL9Hb&!jOqF9^fT`tI19#y)2Al9 zcPwF&dT}Fd{yoN;dNf=b(k4*<d%O3s*3|`Gbb`normK-} zM<3V}k%6Ol*?HOnW|L-{W`$>&XD@#@qDV5Ab$IgwI&)pC1FpEG8ktgxsE`NF@6;xh2vX9A{!Fuaq{uk%U^Akum^_cg1 zy`2k+Ut+!xZ@5xY1=9Jq1;eg0CR`-D2xD};m>;W}$=Dah*rqKYCb$$kA4eT$r=t%n z1wNyT=%7FPG-(z&KaF`olfm=v?4X!C36Zd)bBx6Zphew3)N8Yvh>= zuqt+swJJ<12b~6n2rCQg6>F_WS;>%nigoyr=&XKv{(4r-x>x8V?HczCH*=jowD)Ycv+#( zV70XRaeyJ%0Hv>EXi|JTFDZ{>uqv-A>wH#)dZaogc@WlA@U8T1DY}fYU~ZUn3|nej z>S+cuXMmNpV4GGWYa%@>Jzwrgkx>PWoW-yjvU)j{IMRyiiciLOC$7qPwroT%@Wb?b z&h-one=5Du$=&=g37XKS2xEX%IQg#!hlQy4b%J7~K?%&Q6YVv#%FcKPlaEh(@kt5A z35_e+WBIE$Rv)egjiUhH}l>GFxMi-jsGs`6T^GQfyLa(%{}ZvHG(1vd+6rcFFewrXb!|4;~ymJ@^2~ z^5GzY5r_E7`5OJR^W*8W%XJ7D@iEKIqLCH37pWC;baLT-d46*Zd6%u*mtW;w-kOi? zj_7`PHbBGc%iw!5v(IK>OTsaUF?v1RCuq*r@ZhQzHh8P3c z)W6>Wsy%(Z98oRmeyv3q#XDE=oD2P`T9rz5B0)TvKHi1hR!B;`M$rFt#488+oXcvF zrLaZVXDgS^T+4u>{g%gJW&CVNvbQ$HuX0Zr@KKb?XMWK(ygmdZD}q_-S=DugbbzBV z$vj;v?}|IdUWp~Hr5vo#G}3&0U5W}+(c@#)|6G#`2Ny{?xQ|hMqC3SCs7snFSsq#n zv>mvMS<#EZdev|~RkQImZRqf8z!BLjozbC~3-DYTA6hZFtIuyRg)`d@Ok$R%3kk*2 zjxog0c@JM7cbj7lvg@de8;>eMW11@-^jP&;EqtEjOEx+iofGpp=ImptkmekC;hf|OovEEZNO^4az|;WcuNKwlC$t5ddJozPuAXyAow;hS;6A&sb$V)xjY@pf<%LJ?N3y<4F03$C zez<)6_xRfh(D)rAbEC?;@1#ErE>1q(RUErSohTw{;I6!`{r2JLf?r=G?0e6PBxI7O z7wG5s{ju~?k9mvkDLA#=TID(CkG;1J!saEaCAy8jmpgwi8k@VISFRVIFMiK<(RopF zKeF#`TUBCJJhsBvregJJ4bH=AYk@ggtb1ak#{C=p!QenLSZbnX{i)qn%NBl$e!|O< zYp=VrYQ&XmHLv<^^}P+*6}b_}M9_eY(f;`G+PF8o-Zgdo!?@xWX@Gyvegr<88geQ; zF1$04DsUDA@)OB%=ehcI@@Qc zy~X+^#{99?##Xl4w{F6MrW?9DD-EvWuB>YrQ`C27pRs#iKd}B;h=;z<+KFV0j65JA zj$Pkf6OHl%0BD+&6y&tsMwcgg!b}HP$)??#eEI{L<=>QBLoYzm*|~|{3Xr@GOf_)M zdrhklb>$^Hxd~Z}e3}Lat@k7NtBp$+As5BZ1^Sx9$*m#pn!hyODiT1NFIi2tu7)~w z3&2*v;Q8_S5!1=7nyqn(6mS^zlti3*mhk&@+!6!E-K}gzTEs!|;;cat2|%6^kVeTK zMRcx%aP;Ae#gR~=GD8j3hOnTZBq1LSQrYXonDUad1`S^qO|Wb3*-2bL&DAD{mOu_o!# z5q0zAEg3XJg)DfieivxdLv&!>F;`_Veu6F$Snjfy9+NZ5eQ52M%SSg3A9|*&SNOCp zFuuD*L3;U@FMqft8mpQG#R#Ml0Enb7392+!UFgt9;1kCR`4^nFF1cO#xh7nmAjHwF z{s$f-Gyp>AgK0Ek1^vp#@5*AZZ}!?I_H=vaqxHPvHY(ydQG4?#bxPIVb*#I_r5YhB z`&DOUF6217bR52zMoGYo;3T=FPcpihidT^X#EApxMfM^K`$enB21;k^mZm|ff7?7X z{~l+cQc$apNN}D{l{N;FNiGnHE~;yIyLczMYM`Vr!uzxp(k!m?u!pF>38iORV4ucD#Gp1 z5X{s#!c!?_>CI+zB3&Bsq9Y+ye^P*u@_q;h$aj=^*BkNtYIFfq$ zQ#|PmlaeS9>_lz1N0kF2r$;wixLjXLZxy$d8CCoJydW;{xiay$PrvzepGP$$!vKvd zW0^uLpG+(%&_SC|aV2lVJ*V>|hb+G@H~8zCvGOP0oNhq}lxTT$%9(%?)zXM->a+*c z|7GMa78KCcsD`NIv3R1;A0*zeu9{?m(@<*a}@s^Q$G0MTa#0R zMPcQ*>TCe!1SbTCvuX57MmN9gw-HLD2jsm73V$Dq@wn>!5x)KeOwfdX2}C&7>(Y8V zz!9THXF1#R_;HUdx0&dy(+?A%asFQgBRu#%b&bcNZ;(G7sbpUmZ=y;~SFMj!H$hNn zLt~1eq}jp$CFRle)*9cq9l(n==*W4;L>2f7Uz;n!J>F#P_P(R`FIhU0z@suE`k*|H z4RX2Wxv-cwre?g`C2^0-6QsDp$Eo|%#!}vtr#7*|?(5o%iHwXLSA&i1Q(WzNCUqAR z*~@IVE=ySY44(coC?C?UP5bkO9h$kDF3Vq^tq-wbI!$(Gr*n)XY zO{v&^IsQM1JxZv7iS`UUr)EF|$A=FnDg>J3f?^CC5<>ciw1$N7qc)Y)VTCqzEYkf= zXPo9;mTl&=$x_(=A6g)wgG8CkMM)R4hhR5e9B2rl#-sCe#n$Sp=z8xk9#uPB=8Od4 zHaAyLJPj5Et!z9_L;-jtjG8Sm^O^k+MB=rVJ$`Tn4wAk>(1GHxg|tTGCnn_~B9DB& z!42M;y~VejgSkbO7n4dF3K2z@xm@mh2uqZc}+ z)noaNUuPw4lirCMo@JUy@&2D7SaLN3dcTV>8E*^~m(mKL(3u^o$}hHb2khpCHS(#hDg#UjO9N6q2@ro-FuD zDemgf31NQbXPm3+yxu+3V8NhXHv@{C2tdtE7bcBeDv=#Nu4JLsR?5b?o0*Oxxpw>} zr`eXwdQBGlOIdJb@th4wUMud@2L+r2PhMX5OCzara%dPZHFH14V_V>M=oB84m@u6& zEsRx83|__`IUvLZ@lHz;lD+k7W;hbf=R&gnRvzWSx;e_=#Rq6ydh8@u1G)z35iRcC z9hhIUBK;tX@&uwDnjv8WDw*8(er#g666($`-kEEL+Z8T2qWO(qz7&;)VjK%`_oQNPX6BWg?-+XY*qH#NUYs-tc@xfkNXnlBCOr7g>eQ0 z-N3659@FinodyduZnXcf)yZBx76518LP>n2`{T!tzeX;Y`58Y%-J4;;09)YJ4AIg4 zZHU#8NM}&k5cX6!s#aUHt)#5?Nrmn{Vp4zGV=?*Hu?X`hk;7HhB;kRKZEC{fC(t5A3oNV zU(3DiQMheLU44@-)#(_sa5^)7eX+WB6KsTHU3TJZr?Q#fB=c`Ge^Sw6GxXXk-x-N@ zzQwm$FUZn(LdWcqmOZA zc5@47WgPoZslEwF2i^tJ$xU`${`m9F+VaPMHx}5M6CK`BkOOgrZQ?-x>o6=vhVLl| zW#a<&vitTO-fL))^}nI+NNT{0nr zLA|(IKFO*Jf3&1uQ-mx5W6^r&3h^jx4PN>*c4KWo+o*b{Lh0>#36%89FM)%uC-Sw5Zq~V?cxvsFJ}WnVOWgYd z>=BKz8Xc||*%iOL>sy;YaS|M$!y{z|o!mb5RF+KIRfS$hlu9mdx?hk0; z8UeiD%5^jVILmP$Jg}KLaid0cgtkj48WH)wr=U9=h)Wu0Y>XcDCha^vQ6>q>EHcw` zX|_`t>Z+|z?N*L2C`M^CZJDvMx@}K0;d9a@-(N%j9)Ji6YO6hSJ$(x}(b)L&4cf|M zp89T(Gy@)TJotJybh9Q-725BI7kyHc&KX^Q99#ijWO+noWp$MJz@rkI=xw39k<)=D zJ)hcAn06%yp8c^{5soz)AvTF#?3Y>I&Y0mv^|Wmo0EviD7nmb&iSe;po}<2X~I^nb~y8A4q8!0h90Gw?(M zTTG=PBOWGj$ME}>^ugz<=|Yx1a;S|RXTu3jcW8z1WFwg_JPJIN_M?>kcMLBj0pK-4 zn9=$#xpgNjJjn)YmAA)Hw$x$=)x5lkmwqGiN5pRy(rNUzQAnxaf!I}S)+yjMoHB#c zgZW6Xy6C2u6%(QR{bhkPl_qkbyx}e`oOz4Uqi@Izu5O zhqX|wExF$mX{J^ep_pIl40C#xsep8V^NZ(mapI$^rLKar(tA;}FF>Lw;@Q?^YOhw;ZcyH}WH31to$*lP8w?3T>SbOit}! z8(vMTdoH*xOm59q?ZT|NXjRpg)Wd&L52vKR5^)GC;fH`exVqKjsmV7zQbnG&i@N(7 z%eP{gb75cgA8C!oPI$UxLGqud5;VL*h|^gXNf-~0dgSjPIs~c>R5a8VnEFVeb>`JK zpRjU$-Xs}Xk63v)6(?>2YCEGLES1tAdWhnQ{gTngS4WhC(1UXNDWG-nZr$cVk;x5g zrsazUMaPJBxQY|T(6E6}t(L_*V7Mw8TDK~P?C#IUt0_wlF-yYy^%R)nl?gNbA1Njr zFX9Lz{ozVO*opDgU)K0Mqntg#8>SB8RgQdakNi(NqSVG+Psqm2u1zmrFx*VE=KX8& t=0!)s20lL*%f6LSo!;Y{{byKNcsQ( literal 0 HcmV?d00001 diff --git a/addons/dialogic/Example Assets/portraits/df-1.png.import b/addons/dialogic/Example Assets/portraits/df-1.png.import new file mode 100644 index 0000000..bf75700 --- /dev/null +++ b/addons/dialogic/Example Assets/portraits/df-1.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/df-1.png-dd38cabf6782fa8ec6317d8193b3bb58.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Example Assets/portraits/df-1.png" +dest_files=[ "res://.import/df-1.png-dd38cabf6782fa8ec6317d8193b3bb58.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Example Assets/portraits/df-2.png b/addons/dialogic/Example Assets/portraits/df-2.png new file mode 100644 index 0000000000000000000000000000000000000000..441c740eaaf7bd3f7b4d397f8a0bf03a5a1d63f8 GIT binary patch literal 7661 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 literal 0 HcmV?d00001 diff --git a/addons/dialogic/Example Assets/portraits/df-3.png.import b/addons/dialogic/Example Assets/portraits/df-3.png.import new file mode 100644 index 0000000..2b8ec80 --- /dev/null +++ b/addons/dialogic/Example Assets/portraits/df-3.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/df-3.png-e1bbeb9edcf0b295ecce73d91ad4c986.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Example Assets/portraits/df-3.png" +dest_files=[ "res://.import/df-3.png-e1bbeb9edcf0b295ecce73d91ad4c986.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Context Menus/Remove.svg b/addons/dialogic/Images/Context Menus/Remove.svg new file mode 100644 index 0000000..9372eb0 --- /dev/null +++ b/addons/dialogic/Images/Context Menus/Remove.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/addons/dialogic/Images/Context Menus/Remove.svg.import b/addons/dialogic/Images/Context Menus/Remove.svg.import new file mode 100644 index 0000000..63c2dd5 --- /dev/null +++ b/addons/dialogic/Images/Context Menus/Remove.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Remove.svg-e6ac0bc0ace4deeae8709012158798f8.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Context Menus/Remove.svg" +dest_files=[ "res://.import/Remove.svg-e6ac0bc0ace4deeae8709012158798f8.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Event Icons/Main Icons/audio-event.svg b/addons/dialogic/Images/Event Icons/Main Icons/audio-event.svg new file mode 100644 index 0000000..76689e0 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/audio-event.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/dialogic/Images/Event Icons/Main Icons/audio-event.svg.import b/addons/dialogic/Images/Event Icons/Main Icons/audio-event.svg.import new file mode 100644 index 0000000..734c2f2 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/audio-event.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/audio-event.svg-d192398662daf4684b0a1cb09391d1c1.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Event Icons/Main Icons/audio-event.svg" +dest_files=[ "res://.import/audio-event.svg-d192398662daf4684b0a1cb09391d1c1.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Event Icons/Main Icons/background-music.svg b/addons/dialogic/Images/Event Icons/Main Icons/background-music.svg new file mode 100644 index 0000000..56219e4 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/background-music.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/dialogic/Images/Event Icons/Main Icons/background-music.svg.import b/addons/dialogic/Images/Event Icons/Main Icons/background-music.svg.import new file mode 100644 index 0000000..dc8e8bf --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/background-music.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/background-music.svg-ed735c7eb8946611ace4908d8c03f881.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Event Icons/Main Icons/background-music.svg" +dest_files=[ "res://.import/background-music.svg-ed735c7eb8946611ace4908d8c03f881.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Event Icons/Main Icons/call-node.svg b/addons/dialogic/Images/Event Icons/Main Icons/call-node.svg new file mode 100644 index 0000000..fe78917 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/call-node.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/dialogic/Images/Event Icons/Main Icons/call-node.svg.import b/addons/dialogic/Images/Event Icons/Main Icons/call-node.svg.import new file mode 100644 index 0000000..9f6b275 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/call-node.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/call-node.svg-18ac09155d5b32a52ebd8691a3af4366.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Event Icons/Main Icons/call-node.svg" +dest_files=[ "res://.import/call-node.svg-18ac09155d5b32a52ebd8691a3af4366.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Event Icons/Main Icons/change-background.svg b/addons/dialogic/Images/Event Icons/Main Icons/change-background.svg new file mode 100644 index 0000000..c6f180e --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/change-background.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/dialogic/Images/Event Icons/Main Icons/change-background.svg.import b/addons/dialogic/Images/Event Icons/Main Icons/change-background.svg.import new file mode 100644 index 0000000..21b3679 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/change-background.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/change-background.svg-b779e98a98d293a18e8d288547972610.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Event Icons/Main Icons/change-background.svg" +dest_files=[ "res://.import/change-background.svg-b779e98a98d293a18e8d288547972610.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Event Icons/Main Icons/change-scene.svg b/addons/dialogic/Images/Event Icons/Main Icons/change-scene.svg new file mode 100644 index 0000000..3d42574 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/change-scene.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/dialogic/Images/Event Icons/Main Icons/change-scene.svg.import b/addons/dialogic/Images/Event Icons/Main Icons/change-scene.svg.import new file mode 100644 index 0000000..6d7173d --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/change-scene.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/change-scene.svg-6725a8049733078ddbd90a4b2658171a.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Event Icons/Main Icons/change-scene.svg" +dest_files=[ "res://.import/change-scene.svg-6725a8049733078ddbd90a4b2658171a.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Event Icons/Main Icons/change-timeline.svg b/addons/dialogic/Images/Event Icons/Main Icons/change-timeline.svg new file mode 100644 index 0000000..5efb8d7 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/change-timeline.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/dialogic/Images/Event Icons/Main Icons/change-timeline.svg.import b/addons/dialogic/Images/Event Icons/Main Icons/change-timeline.svg.import new file mode 100644 index 0000000..6a5bead --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/change-timeline.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/change-timeline.svg-3fc1cb78cceef83db78cae34f53baa54.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Event Icons/Main Icons/change-timeline.svg" +dest_files=[ "res://.import/change-timeline.svg-3fc1cb78cceef83db78cae34f53baa54.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Event Icons/Main Icons/character-join.svg b/addons/dialogic/Images/Event Icons/Main Icons/character-join.svg new file mode 100644 index 0000000..f9ba992 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/character-join.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/addons/dialogic/Images/Event Icons/Main Icons/character-join.svg.import b/addons/dialogic/Images/Event Icons/Main Icons/character-join.svg.import new file mode 100644 index 0000000..7a89d27 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/character-join.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/character-join.svg-21df5cf0ef16cc4703da536cc0ba7600.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Event Icons/Main Icons/character-join.svg" +dest_files=[ "res://.import/character-join.svg-21df5cf0ef16cc4703da536cc0ba7600.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Event Icons/Main Icons/character-leave.svg b/addons/dialogic/Images/Event Icons/Main Icons/character-leave.svg new file mode 100644 index 0000000..ec10a0b --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/character-leave.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/addons/dialogic/Images/Event Icons/Main Icons/character-leave.svg.import b/addons/dialogic/Images/Event Icons/Main Icons/character-leave.svg.import new file mode 100644 index 0000000..8bb67c7 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/character-leave.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/character-leave.svg-2d2e80f905152be7ba982e5eab07041e.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Event Icons/Main Icons/character-leave.svg" +dest_files=[ "res://.import/character-leave.svg-2d2e80f905152be7ba982e5eab07041e.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Event Icons/Main Icons/choice.svg b/addons/dialogic/Images/Event Icons/Main Icons/choice.svg new file mode 100644 index 0000000..8e91ce0 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/choice.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/addons/dialogic/Images/Event Icons/Main Icons/choice.svg.import b/addons/dialogic/Images/Event Icons/Main Icons/choice.svg.import new file mode 100644 index 0000000..0d73c0e --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/choice.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/choice.svg-13eab5623c86309807d0cbedab2ce888.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Event Icons/Main Icons/choice.svg" +dest_files=[ "res://.import/choice.svg-13eab5623c86309807d0cbedab2ce888.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Event Icons/Main Icons/close-dialog.svg b/addons/dialogic/Images/Event Icons/Main Icons/close-dialog.svg new file mode 100644 index 0000000..544be62 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/close-dialog.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/addons/dialogic/Images/Event Icons/Main Icons/close-dialog.svg.import b/addons/dialogic/Images/Event Icons/Main Icons/close-dialog.svg.import new file mode 100644 index 0000000..1af7071 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/close-dialog.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/close-dialog.svg-bb378589acef276803372ba9bd39145a.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Event Icons/Main Icons/close-dialog.svg" +dest_files=[ "res://.import/close-dialog.svg-bb378589acef276803372ba9bd39145a.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Event Icons/Main Icons/condition.svg b/addons/dialogic/Images/Event Icons/Main Icons/condition.svg new file mode 100644 index 0000000..d66cd9b --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/condition.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/dialogic/Images/Event Icons/Main Icons/condition.svg.import b/addons/dialogic/Images/Event Icons/Main Icons/condition.svg.import new file mode 100644 index 0000000..a04a613 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/condition.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/condition.svg-9263ad20f1666fc3284ae39867031dd1.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Event Icons/Main Icons/condition.svg" +dest_files=[ "res://.import/condition.svg-9263ad20f1666fc3284ae39867031dd1.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Event Icons/Main Icons/custom-event.svg b/addons/dialogic/Images/Event Icons/Main Icons/custom-event.svg new file mode 100644 index 0000000..73644fb --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/custom-event.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/addons/dialogic/Images/Event Icons/Main Icons/custom-event.svg.import b/addons/dialogic/Images/Event Icons/Main Icons/custom-event.svg.import new file mode 100644 index 0000000..463fda1 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/custom-event.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/custom-event.svg-61c74689fdedceabc20c58e3a5fdb790.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Event Icons/Main Icons/custom-event.svg" +dest_files=[ "res://.import/custom-event.svg-61c74689fdedceabc20c58e3a5fdb790.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Event Icons/Main Icons/emit-signal.svg b/addons/dialogic/Images/Event Icons/Main Icons/emit-signal.svg new file mode 100644 index 0000000..248fe5f --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/emit-signal.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Event Icons/Main Icons/emit-signal.svg.import b/addons/dialogic/Images/Event Icons/Main Icons/emit-signal.svg.import new file mode 100644 index 0000000..a132328 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/emit-signal.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/emit-signal.svg-e7476cdba0b41b81b70ecd21f85b0b2f.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Event Icons/Main Icons/emit-signal.svg" +dest_files=[ "res://.import/emit-signal.svg-e7476cdba0b41b81b70ecd21f85b0b2f.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Event Icons/Main Icons/end-branch.svg b/addons/dialogic/Images/Event Icons/Main Icons/end-branch.svg new file mode 100644 index 0000000..acee11e --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/end-branch.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/addons/dialogic/Images/Event Icons/Main Icons/end-branch.svg.import b/addons/dialogic/Images/Event Icons/Main Icons/end-branch.svg.import new file mode 100644 index 0000000..374127b --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/end-branch.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/end-branch.svg-393dc31ec86d0bbd6ec737e9a12197f7.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Event Icons/Main Icons/end-branch.svg" +dest_files=[ "res://.import/end-branch.svg-393dc31ec86d0bbd6ec737e9a12197f7.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Event Icons/Main Icons/question.svg b/addons/dialogic/Images/Event Icons/Main Icons/question.svg new file mode 100644 index 0000000..352820b --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/question.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/dialogic/Images/Event Icons/Main Icons/question.svg.import b/addons/dialogic/Images/Event Icons/Main Icons/question.svg.import new file mode 100644 index 0000000..eae79e1 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/question.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/question.svg-e8715956b6df35b64adef0a9d414d62b.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Event Icons/Main Icons/question.svg" +dest_files=[ "res://.import/question.svg-e8715956b6df35b64adef0a9d414d62b.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Event Icons/Main Icons/save-icon.svg b/addons/dialogic/Images/Event Icons/Main Icons/save-icon.svg new file mode 100644 index 0000000..c9ae18e --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/save-icon.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/dialogic/Images/Event Icons/Main Icons/save-icon.svg.import b/addons/dialogic/Images/Event Icons/Main Icons/save-icon.svg.import new file mode 100644 index 0000000..157c0ad --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/save-icon.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/save-icon.svg-c1c4c7c762fbbb1d60a352823ed4a7b3.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Event Icons/Main Icons/save-icon.svg" +dest_files=[ "res://.import/save-icon.svg-c1c4c7c762fbbb1d60a352823ed4a7b3.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Event Icons/Main Icons/set-glossary.svg b/addons/dialogic/Images/Event Icons/Main Icons/set-glossary.svg new file mode 100644 index 0000000..1f0eabb --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/set-glossary.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Event Icons/Main Icons/set-glossary.svg.import b/addons/dialogic/Images/Event Icons/Main Icons/set-glossary.svg.import new file mode 100644 index 0000000..a0e3295 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/set-glossary.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/set-glossary.svg-4d41f2a240341526674b450e964b979b.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Event Icons/Main Icons/set-glossary.svg" +dest_files=[ "res://.import/set-glossary.svg-4d41f2a240341526674b450e964b979b.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Event Icons/Main Icons/set-theme.svg b/addons/dialogic/Images/Event Icons/Main Icons/set-theme.svg new file mode 100644 index 0000000..0a0ae5d --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/set-theme.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/addons/dialogic/Images/Event Icons/Main Icons/set-theme.svg.import b/addons/dialogic/Images/Event Icons/Main Icons/set-theme.svg.import new file mode 100644 index 0000000..ec98b5a --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/set-theme.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/set-theme.svg-1d90327d314f7032240973a0de491cbf.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Event Icons/Main Icons/set-theme.svg" +dest_files=[ "res://.import/set-theme.svg-1d90327d314f7032240973a0de491cbf.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Event Icons/Main Icons/set-value.svg b/addons/dialogic/Images/Event Icons/Main Icons/set-value.svg new file mode 100644 index 0000000..236ca35 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/set-value.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Event Icons/Main Icons/set-value.svg.import b/addons/dialogic/Images/Event Icons/Main Icons/set-value.svg.import new file mode 100644 index 0000000..a73c46a --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/set-value.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/set-value.svg-6fb3742ed5c2df51d2350fc9d9c789b0.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Event Icons/Main Icons/set-value.svg" +dest_files=[ "res://.import/set-value.svg-6fb3742ed5c2df51d2350fc9d9c789b0.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Event Icons/Main Icons/text-event.svg b/addons/dialogic/Images/Event Icons/Main Icons/text-event.svg new file mode 100644 index 0000000..9327d85 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/text-event.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Event Icons/Main Icons/text-event.svg.import b/addons/dialogic/Images/Event Icons/Main Icons/text-event.svg.import new file mode 100644 index 0000000..f4d2a43 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/text-event.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/text-event.svg-c2eab2588af7e9e8b6272730719be2c6.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Event Icons/Main Icons/text-event.svg" +dest_files=[ "res://.import/text-event.svg-c2eab2588af7e9e8b6272730719be2c6.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Event Icons/Main Icons/wait-seconds.svg b/addons/dialogic/Images/Event Icons/Main Icons/wait-seconds.svg new file mode 100644 index 0000000..afa0bf3 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/wait-seconds.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Event Icons/Main Icons/wait-seconds.svg.import b/addons/dialogic/Images/Event Icons/Main Icons/wait-seconds.svg.import new file mode 100644 index 0000000..bc512a2 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Main Icons/wait-seconds.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/wait-seconds.svg-bfe0671e761c4874421ab49eb39943d7.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Event Icons/Main Icons/wait-seconds.svg" +dest_files=[ "res://.import/wait-seconds.svg-bfe0671e761c4874421ab49eb39943d7.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Event Icons/Portrait.svg b/addons/dialogic/Images/Event Icons/Portrait.svg new file mode 100644 index 0000000..e7bc69d --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Portrait.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Event Icons/Portrait.svg.import b/addons/dialogic/Images/Event Icons/Portrait.svg.import new file mode 100644 index 0000000..330cd24 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/Portrait.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Portrait.svg-f37a4a2fd15fb13cfe91413c3b2384b1.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Event Icons/Portrait.svg" +dest_files=[ "res://.import/Portrait.svg-f37a4a2fd15fb13cfe91413c3b2384b1.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Event Icons/character.svg b/addons/dialogic/Images/Event Icons/character.svg new file mode 100644 index 0000000..28ff003 --- /dev/null +++ b/addons/dialogic/Images/Event Icons/character.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/dialogic/Images/Event Icons/character.svg.import b/addons/dialogic/Images/Event Icons/character.svg.import new file mode 100644 index 0000000..35329eb --- /dev/null +++ b/addons/dialogic/Images/Event Icons/character.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/character.svg-89c6ba7fbc42ad2d5168608df91b8534.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Event Icons/character.svg" +dest_files=[ "res://.import/character.svg-89c6ba7fbc42ad2d5168608df91b8534.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Event Icons/warning.svg b/addons/dialogic/Images/Event Icons/warning.svg new file mode 100644 index 0000000..a252bde --- /dev/null +++ b/addons/dialogic/Images/Event Icons/warning.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Event Icons/warning.svg.import b/addons/dialogic/Images/Event Icons/warning.svg.import new file mode 100644 index 0000000..47af37f --- /dev/null +++ b/addons/dialogic/Images/Event Icons/warning.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/warning.svg-b11873783fddb6d7d28efa2bfd5dde85.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Event Icons/warning.svg" +dest_files=[ "res://.import/warning.svg-b11873783fddb6d7d28efa2bfd5dde85.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Pieces/closed-icon.svg b/addons/dialogic/Images/Pieces/closed-icon.svg new file mode 100644 index 0000000..4032eab --- /dev/null +++ b/addons/dialogic/Images/Pieces/closed-icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Pieces/closed-icon.svg.import b/addons/dialogic/Images/Pieces/closed-icon.svg.import new file mode 100644 index 0000000..25eb6a8 --- /dev/null +++ b/addons/dialogic/Images/Pieces/closed-icon.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/closed-icon.svg-b4822d061d964b0ee1a7fa1cc7cd7a4c.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Pieces/closed-icon.svg" +dest_files=[ "res://.import/closed-icon.svg-b4822d061d964b0ee1a7fa1cc7cd7a4c.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Pieces/expand-icon.svg b/addons/dialogic/Images/Pieces/expand-icon.svg new file mode 100644 index 0000000..3ec3def --- /dev/null +++ b/addons/dialogic/Images/Pieces/expand-icon.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/addons/dialogic/Images/Pieces/expand-icon.svg.import b/addons/dialogic/Images/Pieces/expand-icon.svg.import new file mode 100644 index 0000000..d8a789f --- /dev/null +++ b/addons/dialogic/Images/Pieces/expand-icon.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/expand-icon.svg-1c8e60c84d41732547c2efaeb5ea7d61.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Pieces/expand-icon.svg" +dest_files=[ "res://.import/expand-icon.svg-1c8e60c84d41732547c2efaeb5ea7d61.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Pieces/open-icon.svg b/addons/dialogic/Images/Pieces/open-icon.svg new file mode 100644 index 0000000..c66c422 --- /dev/null +++ b/addons/dialogic/Images/Pieces/open-icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Pieces/open-icon.svg.import b/addons/dialogic/Images/Pieces/open-icon.svg.import new file mode 100644 index 0000000..f3fa063 --- /dev/null +++ b/addons/dialogic/Images/Pieces/open-icon.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/open-icon.svg-425ea3b137355c35fcecd5dde0b0ca7b.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Pieces/open-icon.svg" +dest_files=[ "res://.import/open-icon.svg-425ea3b137355c35fcecd5dde0b0ca7b.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Plugin/placeholder.png b/addons/dialogic/Images/Plugin/placeholder.png new file mode 100644 index 0000000000000000000000000000000000000000..513f51ac6ec4b59110593672fae097589bd79909 GIT binary patch literal 1087 zcmV-F1i<@=P)`7)p&{c=F zlOh>H!63yU7>Yt6>HA!L!` zWtqLyMx!wa_flpW4(s*$`q|l8+1%LH0484b`FvkpF5FC&>G{Y^$m(yl7(kI{;=hlW zcn+EHTAv9%a}Or|^N5NkCTUpfZ?qV|#Lr-~QS}$THXXtkZ4BA%gXDMyKyo|-AUU1^ zkQ~ndNX{5+B%jY?Vq&6WdoUO@T-RzfTwGjeuY-dFoSd9!@9&eA-C#5tZD2syP7zHYWr|LN&z1OkC(-(sPp#~UDGC8$TZ z0mDX6pY|fmaC`>n3!jML;CKW0_L_>JbQwVD&sTtK2L};2+5lPtb7*TU0!JIbm%ns2 zK$|2HIMx6XPX&+)pFa9yfpNsLn+PS|!wzgc6KuyI%U2RlFA`5%V_y77{L9QH#-q>i zC?3P#+8_Kb?qe8)WB`fQ3r{2xmVYms&1&M0kB>1wKW|9=r^$pSo)bxZ!o$cj41?`w zf^^Wiv9Up)W4KRIBvG`%F|Y4QIN$SAzjQi{TrSu0+5X^TyhyKOJo4X!(wALSas~8@ zutU+gxjF6hrrUyr=5_O?hWe8^wEgXNcuLSPc$5Ez%fdc>?dC8D!cT>rj_^}qH{lro z$?*(; + + diff --git a/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-0.75.svg.import b/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-0.75.svg.import new file mode 100644 index 0000000..8cfcd90 --- /dev/null +++ b/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-0.75.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/plugin-editor-icon-dark-theme-0.75.svg-e385f2d5f8698a1eb274188a6319de45.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-0.75.svg" +dest_files=[ "res://.import/plugin-editor-icon-dark-theme-0.75.svg-e385f2d5f8698a1eb274188a6319de45.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.25.svg b/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.25.svg new file mode 100644 index 0000000..8a72c73 --- /dev/null +++ b/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.25.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.25.svg.import b/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.25.svg.import new file mode 100644 index 0000000..048c65e --- /dev/null +++ b/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.25.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/plugin-editor-icon-dark-theme-1.25.svg-77426e66de94b03eee223702e494fc59.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.25.svg" +dest_files=[ "res://.import/plugin-editor-icon-dark-theme-1.25.svg-77426e66de94b03eee223702e494fc59.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.5.svg b/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.5.svg new file mode 100644 index 0000000..ff6ec1e --- /dev/null +++ b/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.5.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.5.svg.import b/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.5.svg.import new file mode 100644 index 0000000..001de7d --- /dev/null +++ b/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.5.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/plugin-editor-icon-dark-theme-1.5.svg-929f75a0513df90d21fa132ddf63d8c2.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.5.svg" +dest_files=[ "res://.import/plugin-editor-icon-dark-theme-1.5.svg-929f75a0513df90d21fa132ddf63d8c2.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.75.svg b/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.75.svg new file mode 100644 index 0000000..117953d --- /dev/null +++ b/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.75.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.75.svg.import b/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.75.svg.import new file mode 100644 index 0000000..4ba68d4 --- /dev/null +++ b/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.75.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/plugin-editor-icon-dark-theme-1.75.svg-4aa36b7d72fd87a7a254633a6422ee50.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.75.svg" +dest_files=[ "res://.import/plugin-editor-icon-dark-theme-1.75.svg-4aa36b7d72fd87a7a254633a6422ee50.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.svg b/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.svg new file mode 100644 index 0000000..b85c9a3 --- /dev/null +++ b/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.svg.import b/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.svg.import new file mode 100644 index 0000000..035f498 --- /dev/null +++ b/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/plugin-editor-icon-dark-theme-1.svg-d64b8c8865f9b1cc41ae5f2610c77bca.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-1.svg" +dest_files=[ "res://.import/plugin-editor-icon-dark-theme-1.svg-d64b8c8865f9b1cc41ae5f2610c77bca.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-2.svg b/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-2.svg new file mode 100644 index 0000000..94a9002 --- /dev/null +++ b/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-2.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-2.svg.import b/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-2.svg.import new file mode 100644 index 0000000..f1d0fec --- /dev/null +++ b/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-2.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/plugin-editor-icon-dark-theme-2.svg-a093879dab0b11ee3cff0e5413cc6170.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme-2.svg" +dest_files=[ "res://.import/plugin-editor-icon-dark-theme-2.svg-a093879dab0b11ee3cff0e5413cc6170.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme.svg b/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme.svg new file mode 100644 index 0000000..032b806 --- /dev/null +++ b/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme.svg.import b/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme.svg.import new file mode 100644 index 0000000..75c6b38 --- /dev/null +++ b/addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/plugin-editor-icon-dark-theme.svg-4945c419e7e7434b4eff87c00fedb862.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme.svg" +dest_files=[ "res://.import/plugin-editor-icon-dark-theme.svg-4945c419e7e7434b4eff87c00fedb862.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-0.75.svg b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-0.75.svg new file mode 100644 index 0000000..3943bcd --- /dev/null +++ b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-0.75.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-0.75.svg.import b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-0.75.svg.import new file mode 100644 index 0000000..d3daebf --- /dev/null +++ b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-0.75.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/plugin-editor-icon-light-theme-0.75.svg-b0084f7944d498c708ed5783cbfa3c02.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-0.75.svg" +dest_files=[ "res://.import/plugin-editor-icon-light-theme-0.75.svg-b0084f7944d498c708ed5783cbfa3c02.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.25.svg b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.25.svg new file mode 100644 index 0000000..d7a668d --- /dev/null +++ b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.25.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.25.svg.import b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.25.svg.import new file mode 100644 index 0000000..64f40a3 --- /dev/null +++ b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.25.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/plugin-editor-icon-light-theme-1.25.svg-b4a3d8bc3495118f83700d2ce43b9be7.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.25.svg" +dest_files=[ "res://.import/plugin-editor-icon-light-theme-1.25.svg-b4a3d8bc3495118f83700d2ce43b9be7.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.5.svg b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.5.svg new file mode 100644 index 0000000..4030850 --- /dev/null +++ b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.5.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.5.svg.import b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.5.svg.import new file mode 100644 index 0000000..009e942 --- /dev/null +++ b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.5.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/plugin-editor-icon-light-theme-1.5.svg-f900489ee9fce4301b8f007f506f3191.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.5.svg" +dest_files=[ "res://.import/plugin-editor-icon-light-theme-1.5.svg-f900489ee9fce4301b8f007f506f3191.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.75.svg b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.75.svg new file mode 100644 index 0000000..3ccd37b --- /dev/null +++ b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.75.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.75.svg.import b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.75.svg.import new file mode 100644 index 0000000..894818e --- /dev/null +++ b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.75.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/plugin-editor-icon-light-theme-1.75.svg-bdebfc66b49fc138951dde8a5be12ad7.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.75.svg" +dest_files=[ "res://.import/plugin-editor-icon-light-theme-1.75.svg-bdebfc66b49fc138951dde8a5be12ad7.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.svg b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.svg new file mode 100644 index 0000000..d60c4bd --- /dev/null +++ b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.svg.import b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.svg.import new file mode 100644 index 0000000..cbf07d2 --- /dev/null +++ b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/plugin-editor-icon-light-theme-1.svg-84bb375f8bd3080f4537646a33b4b1f1.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-1.svg" +dest_files=[ "res://.import/plugin-editor-icon-light-theme-1.svg-84bb375f8bd3080f4537646a33b4b1f1.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-2.svg b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-2.svg new file mode 100644 index 0000000..2994d84 --- /dev/null +++ b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-2.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-2.svg.import b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-2.svg.import new file mode 100644 index 0000000..6b9b3ab --- /dev/null +++ b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-2.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/plugin-editor-icon-light-theme-2.svg-c96a194e2c41299d9490146c0e071557.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme-2.svg" +dest_files=[ "res://.import/plugin-editor-icon-light-theme-2.svg-c96a194e2c41299d9490146c0e071557.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme.svg b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme.svg new file mode 100644 index 0000000..3cd57a6 --- /dev/null +++ b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme.svg.import b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme.svg.import new file mode 100644 index 0000000..b3c2882 --- /dev/null +++ b/addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/plugin-editor-icon-light-theme.svg-fbd42cd06e4ce1cb7eef3585a7eb830a.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Plugin/plugin-editor-icon-light-theme.svg" +dest_files=[ "res://.import/plugin-editor-icon-light-theme.svg-fbd42cd06e4ce1cb7eef3585a7eb830a.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Plugin/white-texture.png b/addons/dialogic/Images/Plugin/white-texture.png new file mode 100644 index 0000000000000000000000000000000000000000..3ea329f2b56724c48c1b7822e7198f7de5e7b2d2 GIT binary patch literal 131 zcmeAS@N?(olHy`uVBq!ia0vp^{2jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85o30K$!7fntTONP{Py2F+?Lc`G-H3L})LkTWB)Vt(E`&%QJ+^ WE~r_PQ~VXEhQZU-&t;ucLK6V)N+84l literal 0 HcmV?d00001 diff --git a/addons/dialogic/Images/Plugin/white-texture.png.import b/addons/dialogic/Images/Plugin/white-texture.png.import new file mode 100644 index 0000000..d133cb3 --- /dev/null +++ b/addons/dialogic/Images/Plugin/white-texture.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/white-texture.png-3e7634c71bce7fffbaf080398917b5b3.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Plugin/white-texture.png" +dest_files=[ "res://.import/white-texture.png-3e7634c71bce7fffbaf080398917b5b3.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Resources/character-1.25.svg b/addons/dialogic/Images/Resources/character-1.25.svg new file mode 100644 index 0000000..28ff003 --- /dev/null +++ b/addons/dialogic/Images/Resources/character-1.25.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/dialogic/Images/Resources/character-1.25.svg.import b/addons/dialogic/Images/Resources/character-1.25.svg.import new file mode 100644 index 0000000..192e8b2 --- /dev/null +++ b/addons/dialogic/Images/Resources/character-1.25.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/character-1.25.svg-f8560c64a6c9ea126837d22490545cc1.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Resources/character-1.25.svg" +dest_files=[ "res://.import/character-1.25.svg-f8560c64a6c9ea126837d22490545cc1.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Resources/character-2.svg b/addons/dialogic/Images/Resources/character-2.svg new file mode 100644 index 0000000..abcc1ab --- /dev/null +++ b/addons/dialogic/Images/Resources/character-2.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/dialogic/Images/Resources/character-2.svg.import b/addons/dialogic/Images/Resources/character-2.svg.import new file mode 100644 index 0000000..96db3f0 --- /dev/null +++ b/addons/dialogic/Images/Resources/character-2.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/character-2.svg-6a7c147375663e487c6aad504c0ac5e9.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Resources/character-2.svg" +dest_files=[ "res://.import/character-2.svg-6a7c147375663e487c6aad504c0ac5e9.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Resources/character.svg b/addons/dialogic/Images/Resources/character.svg new file mode 100644 index 0000000..8871f5e --- /dev/null +++ b/addons/dialogic/Images/Resources/character.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/dialogic/Images/Resources/character.svg.import b/addons/dialogic/Images/Resources/character.svg.import new file mode 100644 index 0000000..b2c022b --- /dev/null +++ b/addons/dialogic/Images/Resources/character.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/character.svg-dce8982b5c5669e98479bbff64aab08f.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Resources/character.svg" +dest_files=[ "res://.import/character.svg-dce8982b5c5669e98479bbff64aab08f.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Resources/definition-1.25.svg b/addons/dialogic/Images/Resources/definition-1.25.svg new file mode 100644 index 0000000..ed40659 --- /dev/null +++ b/addons/dialogic/Images/Resources/definition-1.25.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Resources/definition-1.25.svg.import b/addons/dialogic/Images/Resources/definition-1.25.svg.import new file mode 100644 index 0000000..04dee80 --- /dev/null +++ b/addons/dialogic/Images/Resources/definition-1.25.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/definition-1.25.svg-7298ef82f76fa611485bd53d1f0aebe0.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Resources/definition-1.25.svg" +dest_files=[ "res://.import/definition-1.25.svg-7298ef82f76fa611485bd53d1f0aebe0.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Resources/definition-2.svg b/addons/dialogic/Images/Resources/definition-2.svg new file mode 100644 index 0000000..6fca867 --- /dev/null +++ b/addons/dialogic/Images/Resources/definition-2.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Resources/definition-2.svg.import b/addons/dialogic/Images/Resources/definition-2.svg.import new file mode 100644 index 0000000..c9365ca --- /dev/null +++ b/addons/dialogic/Images/Resources/definition-2.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/definition-2.svg-533f2834cedbb3e21c178f7a40ec34a3.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Resources/definition-2.svg" +dest_files=[ "res://.import/definition-2.svg-533f2834cedbb3e21c178f7a40ec34a3.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Resources/definition.svg b/addons/dialogic/Images/Resources/definition.svg new file mode 100644 index 0000000..236ca35 --- /dev/null +++ b/addons/dialogic/Images/Resources/definition.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Resources/definition.svg.import b/addons/dialogic/Images/Resources/definition.svg.import new file mode 100644 index 0000000..329ca3d --- /dev/null +++ b/addons/dialogic/Images/Resources/definition.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/definition.svg-336e1b41e3ab4ef43367e0f0bbc50c2c.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Resources/definition.svg" +dest_files=[ "res://.import/definition.svg-336e1b41e3ab4ef43367e0f0bbc50c2c.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Resources/theme-1.25.svg b/addons/dialogic/Images/Resources/theme-1.25.svg new file mode 100644 index 0000000..e21235f --- /dev/null +++ b/addons/dialogic/Images/Resources/theme-1.25.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/dialogic/Images/Resources/theme-1.25.svg.import b/addons/dialogic/Images/Resources/theme-1.25.svg.import new file mode 100644 index 0000000..0cfbe88 --- /dev/null +++ b/addons/dialogic/Images/Resources/theme-1.25.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/theme-1.25.svg-77e4506f492a590268d4307cdc31e4f8.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Resources/theme-1.25.svg" +dest_files=[ "res://.import/theme-1.25.svg-77e4506f492a590268d4307cdc31e4f8.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Resources/theme-2.svg b/addons/dialogic/Images/Resources/theme-2.svg new file mode 100644 index 0000000..1638601 --- /dev/null +++ b/addons/dialogic/Images/Resources/theme-2.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/dialogic/Images/Resources/theme-2.svg.import b/addons/dialogic/Images/Resources/theme-2.svg.import new file mode 100644 index 0000000..32fb709 --- /dev/null +++ b/addons/dialogic/Images/Resources/theme-2.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/theme-2.svg-17486fa9879ca7d5056e82b248808b3d.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Resources/theme-2.svg" +dest_files=[ "res://.import/theme-2.svg-17486fa9879ca7d5056e82b248808b3d.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Resources/theme.svg b/addons/dialogic/Images/Resources/theme.svg new file mode 100644 index 0000000..c6fd1ef --- /dev/null +++ b/addons/dialogic/Images/Resources/theme.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/dialogic/Images/Resources/theme.svg.import b/addons/dialogic/Images/Resources/theme.svg.import new file mode 100644 index 0000000..1777207 --- /dev/null +++ b/addons/dialogic/Images/Resources/theme.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/theme.svg-d2e167fcbacd86111397e731ff3f28eb.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Resources/theme.svg" +dest_files=[ "res://.import/theme.svg-d2e167fcbacd86111397e731ff3f28eb.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Resources/timeline-1.25.svg b/addons/dialogic/Images/Resources/timeline-1.25.svg new file mode 100644 index 0000000..daaf48b --- /dev/null +++ b/addons/dialogic/Images/Resources/timeline-1.25.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/addons/dialogic/Images/Resources/timeline-1.25.svg.import b/addons/dialogic/Images/Resources/timeline-1.25.svg.import new file mode 100644 index 0000000..b4cf97f --- /dev/null +++ b/addons/dialogic/Images/Resources/timeline-1.25.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/timeline-1.25.svg-1c9e495370ebe35a5587d303d470cad6.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Resources/timeline-1.25.svg" +dest_files=[ "res://.import/timeline-1.25.svg-1c9e495370ebe35a5587d303d470cad6.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Resources/timeline-2.svg b/addons/dialogic/Images/Resources/timeline-2.svg new file mode 100644 index 0000000..732fecd --- /dev/null +++ b/addons/dialogic/Images/Resources/timeline-2.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/addons/dialogic/Images/Resources/timeline-2.svg.import b/addons/dialogic/Images/Resources/timeline-2.svg.import new file mode 100644 index 0000000..f8ce6df --- /dev/null +++ b/addons/dialogic/Images/Resources/timeline-2.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/timeline-2.svg-48d1e0a121d5a544a47b67fe1241eed2.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Resources/timeline-2.svg" +dest_files=[ "res://.import/timeline-2.svg-48d1e0a121d5a544a47b67fe1241eed2.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Resources/timeline.svg b/addons/dialogic/Images/Resources/timeline.svg new file mode 100644 index 0000000..a22928f --- /dev/null +++ b/addons/dialogic/Images/Resources/timeline.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/addons/dialogic/Images/Resources/timeline.svg.import b/addons/dialogic/Images/Resources/timeline.svg.import new file mode 100644 index 0000000..a82b348 --- /dev/null +++ b/addons/dialogic/Images/Resources/timeline.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/timeline.svg-4646668e3960b7f37ecffae1640eccc7.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Resources/timeline.svg" +dest_files=[ "res://.import/timeline.svg-4646668e3960b7f37ecffae1640eccc7.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Toolbar/add-character-1.25.svg b/addons/dialogic/Images/Toolbar/add-character-1.25.svg new file mode 100644 index 0000000..da2fd66 --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-character-1.25.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/dialogic/Images/Toolbar/add-character-1.25.svg.import b/addons/dialogic/Images/Toolbar/add-character-1.25.svg.import new file mode 100644 index 0000000..16a0410 --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-character-1.25.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/add-character-1.25.svg-3c1ef7e0cdcd97fe5a24f5d6eb32b444.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Toolbar/add-character-1.25.svg" +dest_files=[ "res://.import/add-character-1.25.svg-3c1ef7e0cdcd97fe5a24f5d6eb32b444.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Toolbar/add-character-2.svg b/addons/dialogic/Images/Toolbar/add-character-2.svg new file mode 100644 index 0000000..03137b5 --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-character-2.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/dialogic/Images/Toolbar/add-character-2.svg.import b/addons/dialogic/Images/Toolbar/add-character-2.svg.import new file mode 100644 index 0000000..ee42af0 --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-character-2.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/add-character-2.svg-9c2d45663361c0aec7fda875cb579ae0.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Toolbar/add-character-2.svg" +dest_files=[ "res://.import/add-character-2.svg-9c2d45663361c0aec7fda875cb579ae0.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Toolbar/add-character.svg b/addons/dialogic/Images/Toolbar/add-character.svg new file mode 100644 index 0000000..9a42063 --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-character.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/dialogic/Images/Toolbar/add-character.svg.import b/addons/dialogic/Images/Toolbar/add-character.svg.import new file mode 100644 index 0000000..345803e --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-character.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/add-character.svg-24c4802c30d4441d70c317a53eb83e45.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Toolbar/add-character.svg" +dest_files=[ "res://.import/add-character.svg-24c4802c30d4441d70c317a53eb83e45.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Toolbar/add-definition-1.25.svg b/addons/dialogic/Images/Toolbar/add-definition-1.25.svg new file mode 100644 index 0000000..89b70b1 --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-definition-1.25.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/dialogic/Images/Toolbar/add-definition-1.25.svg.import b/addons/dialogic/Images/Toolbar/add-definition-1.25.svg.import new file mode 100644 index 0000000..dcc4d95 --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-definition-1.25.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/add-definition-1.25.svg-4ebed8c9b38e990b8d2551e3cef70881.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Toolbar/add-definition-1.25.svg" +dest_files=[ "res://.import/add-definition-1.25.svg-4ebed8c9b38e990b8d2551e3cef70881.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Toolbar/add-definition-2.svg b/addons/dialogic/Images/Toolbar/add-definition-2.svg new file mode 100644 index 0000000..ec25605 --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-definition-2.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/dialogic/Images/Toolbar/add-definition-2.svg.import b/addons/dialogic/Images/Toolbar/add-definition-2.svg.import new file mode 100644 index 0000000..a25b5d6 --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-definition-2.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/add-definition-2.svg-454918059b27eb1572e6513a053c2567.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Toolbar/add-definition-2.svg" +dest_files=[ "res://.import/add-definition-2.svg-454918059b27eb1572e6513a053c2567.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Toolbar/add-definition.svg b/addons/dialogic/Images/Toolbar/add-definition.svg new file mode 100644 index 0000000..23fbfed --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-definition.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/dialogic/Images/Toolbar/add-definition.svg.import b/addons/dialogic/Images/Toolbar/add-definition.svg.import new file mode 100644 index 0000000..086108c --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-definition.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/add-definition.svg-6c717aad0d8623c9b81b21cb29fd99b6.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Toolbar/add-definition.svg" +dest_files=[ "res://.import/add-definition.svg-6c717aad0d8623c9b81b21cb29fd99b6.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Toolbar/add-glossary-1.25.svg b/addons/dialogic/Images/Toolbar/add-glossary-1.25.svg new file mode 100644 index 0000000..ca3cd08 --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-glossary-1.25.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/dialogic/Images/Toolbar/add-glossary-1.25.svg.import b/addons/dialogic/Images/Toolbar/add-glossary-1.25.svg.import new file mode 100644 index 0000000..a8732ff --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-glossary-1.25.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/add-glossary-1.25.svg-2a0f52cc956c5e96cc6cd47ec2e7c9fc.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Toolbar/add-glossary-1.25.svg" +dest_files=[ "res://.import/add-glossary-1.25.svg-2a0f52cc956c5e96cc6cd47ec2e7c9fc.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Toolbar/add-glossary-2.svg b/addons/dialogic/Images/Toolbar/add-glossary-2.svg new file mode 100644 index 0000000..e2bac55 --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-glossary-2.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/dialogic/Images/Toolbar/add-glossary-2.svg.import b/addons/dialogic/Images/Toolbar/add-glossary-2.svg.import new file mode 100644 index 0000000..29364ff --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-glossary-2.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/add-glossary-2.svg-df70e38f107b9fc6109af658c7e14964.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Toolbar/add-glossary-2.svg" +dest_files=[ "res://.import/add-glossary-2.svg-df70e38f107b9fc6109af658c7e14964.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Toolbar/add-glossary.svg b/addons/dialogic/Images/Toolbar/add-glossary.svg new file mode 100644 index 0000000..9293f3f --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-glossary.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/dialogic/Images/Toolbar/add-glossary.svg.import b/addons/dialogic/Images/Toolbar/add-glossary.svg.import new file mode 100644 index 0000000..77b9cd0 --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-glossary.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/add-glossary.svg-ca3a2211ead16a8ddd6c7fce1fbd838d.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Toolbar/add-glossary.svg" +dest_files=[ "res://.import/add-glossary.svg-ca3a2211ead16a8ddd6c7fce1fbd838d.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Toolbar/add-theme-1.25.svg b/addons/dialogic/Images/Toolbar/add-theme-1.25.svg new file mode 100644 index 0000000..97c347e --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-theme-1.25.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/addons/dialogic/Images/Toolbar/add-theme-1.25.svg.import b/addons/dialogic/Images/Toolbar/add-theme-1.25.svg.import new file mode 100644 index 0000000..e1db6f4 --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-theme-1.25.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/add-theme-1.25.svg-4a12f9dc653eaf7ddeb686d60e81dccd.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Toolbar/add-theme-1.25.svg" +dest_files=[ "res://.import/add-theme-1.25.svg-4a12f9dc653eaf7ddeb686d60e81dccd.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Toolbar/add-theme-2.svg b/addons/dialogic/Images/Toolbar/add-theme-2.svg new file mode 100644 index 0000000..c94ae67 --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-theme-2.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/addons/dialogic/Images/Toolbar/add-theme-2.svg.import b/addons/dialogic/Images/Toolbar/add-theme-2.svg.import new file mode 100644 index 0000000..063192b --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-theme-2.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/add-theme-2.svg-c08a48497308cf495f82550c69ecc0ef.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Toolbar/add-theme-2.svg" +dest_files=[ "res://.import/add-theme-2.svg-c08a48497308cf495f82550c69ecc0ef.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Toolbar/add-theme.svg b/addons/dialogic/Images/Toolbar/add-theme.svg new file mode 100644 index 0000000..3e21c7a --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-theme.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/addons/dialogic/Images/Toolbar/add-theme.svg.import b/addons/dialogic/Images/Toolbar/add-theme.svg.import new file mode 100644 index 0000000..13b59ca --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-theme.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/add-theme.svg-56f6ced420900816b1a7d2a532d59732.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Toolbar/add-theme.svg" +dest_files=[ "res://.import/add-theme.svg-56f6ced420900816b1a7d2a532d59732.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Toolbar/add-timeline-1.25.svg b/addons/dialogic/Images/Toolbar/add-timeline-1.25.svg new file mode 100644 index 0000000..42852f5 --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-timeline-1.25.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/addons/dialogic/Images/Toolbar/add-timeline-1.25.svg.import b/addons/dialogic/Images/Toolbar/add-timeline-1.25.svg.import new file mode 100644 index 0000000..289eea4 --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-timeline-1.25.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/add-timeline-1.25.svg-67e7c82a2cbaaed1f1477d82ecb8ce71.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Toolbar/add-timeline-1.25.svg" +dest_files=[ "res://.import/add-timeline-1.25.svg-67e7c82a2cbaaed1f1477d82ecb8ce71.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Toolbar/add-timeline-2.svg b/addons/dialogic/Images/Toolbar/add-timeline-2.svg new file mode 100644 index 0000000..031a108 --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-timeline-2.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/addons/dialogic/Images/Toolbar/add-timeline-2.svg.import b/addons/dialogic/Images/Toolbar/add-timeline-2.svg.import new file mode 100644 index 0000000..0f28e40 --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-timeline-2.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/add-timeline-2.svg-00b3bf905c7bd2ca1fece872d753dfef.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Toolbar/add-timeline-2.svg" +dest_files=[ "res://.import/add-timeline-2.svg-00b3bf905c7bd2ca1fece872d753dfef.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Toolbar/add-timeline.svg b/addons/dialogic/Images/Toolbar/add-timeline.svg new file mode 100644 index 0000000..5fa7ac1 --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-timeline.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/addons/dialogic/Images/Toolbar/add-timeline.svg.import b/addons/dialogic/Images/Toolbar/add-timeline.svg.import new file mode 100644 index 0000000..c55245c --- /dev/null +++ b/addons/dialogic/Images/Toolbar/add-timeline.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/add-timeline.svg-fc120773b7d10b417503abc3c1b33ca0.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Toolbar/add-timeline.svg" +dest_files=[ "res://.import/add-timeline.svg-fc120773b7d10b417503abc3c1b33ca0.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Images/Tutorials/arrow-down.svg b/addons/dialogic/Images/Tutorials/arrow-down.svg new file mode 100644 index 0000000..eead621 --- /dev/null +++ b/addons/dialogic/Images/Tutorials/arrow-down.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/dialogic/Images/Tutorials/arrow-down.svg.import b/addons/dialogic/Images/Tutorials/arrow-down.svg.import new file mode 100644 index 0000000..135eb3b --- /dev/null +++ b/addons/dialogic/Images/Tutorials/arrow-down.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/arrow-down.svg-82927ec9bdee161b2d27d6f4808e76b4.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogic/Images/Tutorials/arrow-down.svg" +dest_files=[ "res://.import/arrow-down.svg-82927ec9bdee161b2d27d6f4808e76b4.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/addons/dialogic/Localization/dialogic.csv b/addons/dialogic/Localization/dialogic.csv new file mode 100644 index 0000000..544fd0b --- /dev/null +++ b/addons/dialogic/Localization/dialogic.csv @@ -0,0 +1,128 @@ +id,zh_CN,en,es,fr +Default,默认,Default,Predeterminado,défaut +Advanced theme options,高级主题选项,Advanced theme options,Opciones avanzadas,Options avancées du thème +Canvas layer:,帆布层:,Canvas layer:,Canvas layer:, +New lines will create extra messages,新的线条会产生额外的信息,New lines will create extra messages,Nuevas líneas crearan nuevos mensajes, +Remove empty messages,删除空信息,Remove empty messages,Borrar mensajes vacíos, +Auto color character names in messages,信息中的字符名称自动着色,Auto color character names in messages,Colorear nombres automáticamente, +Propagate input to rest of the Tree,传播输入到树的其他部分,Propagate input to rest of the Tree,Propagar input al resto del Tree, +Dim characters when they are not speaking,角色不说话的时候会变暗,Dim characters when they are not speaking,Oscurecer personajes no activos, +Audio for Text events:,文本事件的音频:,Audio for Text events:,Audio para los eventos de texto:, +Enable audio for Text events,启用文本事件的音频,Enable audio for Text events,Habilitar audio para eventos de texto, +Default bus for Text event audio,文本事件音频的默认总线,Default bus for Text event audio,Audio bus predeterminado para eventos de texto, +Experimental Translations:,实验性翻译:,Experimental Translations:,Traducción experimental:, +Inputs for text events will be treated as keys for tr(),文本事件的输入将被视为tr()的按键,Inputs for text events will be treated as keys for tr(),Inputs for text events will be treated as keys for tr(), +Save current timeline on timeline start,在时间轴开始时保存当前的时间轴,Save current timeline on timeline start,Save current timeline on timeline start, +Clear saved timeline on timeline end,在时间线结束时清除保存的时间线,Clear saved timeline on timeline end,Clear saved timeline on timeline end, +Save definitions on timeline start,在时间线开始时保存定义,Save definitions on timeline start,Save definitions on timeline start, +Save definitions on timeline end,在时间线结束时保存定义,Save definitions on timeline end,Save definitions on timeline end, +Enable choice options after ,启用选择选项后 ,Enable choice options after ,Habilitar las opciones después de , + seconds, 秒, seconds, segundos, secondes +Default action key,默认动作按键,Default action key,Tecla de acción predeterminada, +Use custom events,使用自定义事件,Use custom events,Use custom events, +Text Event,文本事件,Text Event,Texto,Texte +Character Join,角色加入,Character Join,Personaje Entra, +Character Leave,角色离开,Character Leave,Personaje Sale, +Question,问题,Question,Pregunta, +Choice,选择,Choice,Opcion, +Condition,条件,Condition,Condicion, +End Branch,结束分支,End Branch,Cerrar rama, +Set Value,设定值,Set Value,Actualizar Valor, +Set Glossary,设置术语,Set Glossary,Actualizar Glosario, +Change Timeline,改变时间线,Change Timeline,Cambiar Secuencia, +Set Background,设置背景,Set Background,Cambiar Fondo, +Close Dialog,关闭对话框,Close Dialog,Cerrar Dialogo, +Wait Seconds,等待秒数,Wait Seconds,Esperar Segundos, +Set Theme,设置主题,Set Theme,Cambiar Tema, +Audio Event,音频事件,Audio Event,Evento de Audio, +Background Music,背景音乐,Background Music,Evento de Musica, +Emit Signal,发出信号,Emit Signal,Emitir Señal, +Change Scene,改变场景,Change Scene,Cambiar Escena,Changer la scène +Call Node,呼叫节点,Call Node,Llamar Nodo, +Save,保存,Save,Guardar,Enregistrer +Name: ,名称,Name: ,Nombre: ,Nom: +Different display name,不同的显示名称,Different display name,Different display name, +Enable Nicknames,启用昵称,Enable Nicknames,Habilitar Apodos, +Display Name: ,显示名称:,Display Name: ,Display Name: , +Nicknames: ,昵称:,Nicknames: ,Apodos: , +Color: ,颜色:,Color: ,Color: ,Couleur: +Colors,颜色,Colors,Colores,Couleurs +Description: ,描述:,Description: ,Descripción: , +Portraits / Expressions,肖像 / 表情,Portraits / Expressions,Retratos / Expresiones, +File:,文件:,File:,Archivo:, + Add new portrait, 添加新的肖像, Add new portrait, Agregar nuevo retrato, + Import images from folder, 从文件夹中导入图片, Import images from folder, Importar imágenes de una carpeta, +The selected operator requires a number!,所选的操作需要一个数字!,The selected operator requires a number!,El operador seleccionado requiere un número, +This event needs a question event around it!,这个事件需要一个围绕它的问题事件!,This event needs a question event around it!,Este evento necesita estar dentro de una pregunta, +Flat background,扁平背景,Flat background,Fondo plano, +Background Texture,背景纹理,Background Texture,Textura de fondo, +Texture Modulation,纹理调制,Texture Modulation,Modulación de textura,Modulation de la texture +Fonts,字体,Fonts,Fuentes,Polices +Regular Font,普通字体,Regular Font,Normal, +Bold Font,粗体字,Bold Font,Negrita, +Italic Font,斜体字,Italic Font,Cursiva,Italic Font +Text Color,文字颜色,Text Color,Color de texto,Couleur du texte +Shadow Offset,阴影偏移,Shadow Offset,Compensación,Décalage de l'ombre +Behaviour,行为,Behaviour,Comportamiento, +Speed (bigger = slower),速度 (更大=更慢),Speed (bigger = slower),Velocidad (a mayor número más lento), +Alignment,对齐,Alignment,Alineación, +Single Portrait Mode,单一肖像模式,Single Portrait Mode,Modo retrato único, +Visuals,视觉效果,Visuals,Visuales, +Background Color,背景颜色,Background Color,Color de fondo, +Full width,全宽,Full width,Ancho completo, +Box padding,箱体填充,Box padding,Box padding, +Box size (pixels),盒子大小 (像素),Box size (pixels),Box size (pixels), +Bottom gap,底部间隙,Bottom gap,Bottom gap, +Next Indicator,下一个指示器,Next Indicator,Indicador de siguiente, +Image,图片,Image,Imágen,Image +Animation,动画,Animation,Animación,Animation +Scale,尺度,Scale,Escala,Échelle +Offset,偏移,Offset,Compensación,Décalage +Behaviour,行为方式,Behaviour,Comportamiento,Comportement +Action key,动作按键,Action key,Tecla de acción,Clé d'action +Fade in time:,淡入时间:,Fade in time:,Tiempo de aparición:, +Text,文本,Text,Texto,Texte +Name label Font,名称标签字体,Name label Font,Fuente del nombre, +Use character Color,使用角色颜色,Use character Color,Usar el color del personaje, +Shadow,阴影,Shadow,Sombra,Ombre +Box,盒子,Box,Box,Boîte +Background Color,背景颜色,Background Color,Color de fondo, +Placement,摆放位置,Placement,Colocación,Placement +Position,位置,Position,Posicion,Position +Button Style,按钮样式,Button Style,Estilo de botones, +Fixed button size,固定按钮尺寸,Fixed button size,Tamaño fijo, +Separation,分离,Separation,Separación,Séparation +Layout,布局,Layout,Ordenar,Disposition +Advanced,高级,Advanced,Avanzado,Avancées +Use Custom Buttons,使用自定义按钮,Use Custom Buttons,Usar botones propios, +Use Native Buttons,使用本地按钮,Use Native Buttons,Usar botones nativos, +Word color,文字颜色,Word color,Color de palabra, +Background Panel,背景板,Background Panel,Panel de fondo, +Title Font,标题字体,Title Font,Título Fuente, +Title color,标题颜色,Title color,Título Color, +Text Font,文本字体,Text Font,Texto Font, +Text color,文本颜色,Text color,Texto Color, +Extra Font,额外字体,Extra Font,Extra Fuente, +Extra color,额外颜色,Extra color,Extra Color, +Behaviour,行为,Behaviour,Comportamiento, +Show,显示,Show,Mostrar,Afficher +Typing Sound Effects,打字音效,Typing Sound Effects,Sonido Del Texto, +Enable,启用,Enable,Habilitar,Activer +File or folder path,文件或文件夹路径,File or folder path,Archivo o carpeta, +Volume,音量,Volume,Volumen,Volume +Volume random range,音量随机范围,Volume random range,Rango de volumen, +Pitch random range,音高随机范围,Pitch random range,Rango de tono, +Allow interrupt,允许中断,Allow interrupt,Permitir interrumpir, +Audio Bus,音频总线,Audio Bus,Bus de Audio,Bus Audio +Button layout,,Button layout,Orden de botones, +Offset x-y,偏移 x-y,Offset x-y,Compensación x-y, +Position on screen,,Position on screen,Posición en la pantalla, +Mirror portraits,镜像肖像,Mirror portraits,Espejar imágen, +Logic,逻辑,Logic,Lógica,Logique +Main Events,主要事件,Main Events,Eventos principales, +Timeline,时间线,Timeline,Secuencia,Chronologie +Audio,音频,Audio,Audio,Audio +Godot,Godot,Godot,Godot,Godot +Custom Events,自定义事件,Custom Events,Eventos personalizados,Événements personnalisés +Help,帮助,Help,Ayuda,Aide +Website,网站,Website,Sitio Web,Site Web \ No newline at end of file diff --git a/addons/dialogic/Localization/dialogic.csv.import b/addons/dialogic/Localization/dialogic.csv.import new file mode 100644 index 0000000..0683fb0 --- /dev/null +++ b/addons/dialogic/Localization/dialogic.csv.import @@ -0,0 +1,16 @@ +[remap] + +importer="csv_translation" +type="Translation" + +[deps] + +files=[ "res://addons/dialogic/Localization/dialogic.zh_CN.translation", "res://addons/dialogic/Localization/dialogic.en.translation", "res://addons/dialogic/Localization/dialogic.es.translation", "res://addons/dialogic/Localization/dialogic.fr.translation" ] + +source_file="res://addons/dialogic/Localization/dialogic.csv" +dest_files=[ "res://addons/dialogic/Localization/dialogic.zh_CN.translation", "res://addons/dialogic/Localization/dialogic.en.translation", "res://addons/dialogic/Localization/dialogic.es.translation", "res://addons/dialogic/Localization/dialogic.fr.translation" ] + +[params] + +compress=true +delimiter=0 diff --git a/addons/dialogic/Localization/dialogic.en.translation b/addons/dialogic/Localization/dialogic.en.translation new file mode 100644 index 0000000000000000000000000000000000000000..5322c3ac26b9c7963858758d417953fa2549878b GIT binary patch literal 5413 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

    M-Gw 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 void: + accent_color = new_accent_color + sub_accent_color = new_sub_accent_color + +### Takes a markdown string and returns it as BBCode +func parse(content : String, file_path:String = '', docs_path:String = ''): + + heading1s = [] + heading2s = [] + heading3s = [] + heading4s = [] + heading5s = [] + result = "" + bolded = [] + italics = [] + striked = [] + coded = [] + linknames = [] + links = [] + imagenames = [] + imagelinks = [] + lists = [] + underlined = [] + + var parsed_text = content + + var regex = RegEx.new() + + ## Remove all comments + # TODO: remove comments + + + ## Find all occurences of bold text + regex.compile('\\*\\*(?(\\.|[^(\\*\\*)])*)\\*\\*') + result = regex.search_all(content) + if result: + for res in result: + parsed_text = parsed_text.replace("**"+res.get_string("boldtext")+"**","[b]"+res.get_string("boldtext")+"[/b]") + + ## Find all occurences of underlined text + regex.compile('\\_\\_(?.*)\\_\\_') + result = regex.search_all(content) + if result: + for res in result: + parsed_text = parsed_text.replace("__"+res.get_string("underlinetext")+"__","[u]"+res.get_string("underlinetext")+"[/u]") + + ## Find all occurences of italic text + regex.compile("\\*(?[^\\*]*)\\*") + result = regex.search_all(content) + if result: + for res in result: + parsed_text = parsed_text.replace("*"+res.get_string('italictext')+'*', "[i]"+res.get_string('italictext')+"[/i]") +# italics.append(res.get_string("italictext")) +# for italic in italics: +# content = content.replace("*"+italic+"*",) + + + ## Find all occurences of underlined text + regex.compile("~~(?.*)~~") + result = regex.search_all(content) + if result: + for res in result: + parsed_text = parsed_text.replace("~~"+res.get_string("strikedtext")+"~~","[s]"+res.get_string("strikedtext")+"[/s]") + + ## Find all occurences of code snippets + regex.compile("\\`(?(?:[^\\`]|\\n)*)\\`") + result = regex.search_all(content) + if result: + for res in result: + parsed_text = parsed_text.replace("`"+res.get_string("coded")+"`","[color=#"+accent_color.lightened(0.6).to_html()+"][code]"+res.get_string("coded")+"[/code][/color]") + + + ## Find all occurences of list items + regex.compile("\\n\\s*(?[-+*])(?\\s.*)") + result = regex.search_all(parsed_text) + if result: + for res in result: + var symbol = res.get_string('symbol') + var element = res.get_string("element") + if parsed_text.find(symbol+" "+element): + parsed_text = parsed_text.replace(symbol+" "+element,"[indent]"+symbol+" "+element+"[/indent]") + + ## Find all occurences of images + regex.compile("!\\[(?.*)\\]\\((?.*)\\)") + result = regex.search_all(content) + if result: + for res in result: + if res.get_string("imglink")!="": + imagelinks.append(res.get_string("imglink")) + if res.get_string("imgname")!="": + imagenames.append(res.get_string("imgname")) + + ## Find all occurences of links (that are not images) + regex.compile("[^!]\\[(?[^\\[]+)\\]\\((?[^\\)]*\\S*?)\\)") + result = regex.search_all(content) + if result: + for res in result: + if res.get_string("link")!="": + links.append(res.get_string("link")) + if res.get_string("linkname")!="": + linknames.append(res.get_string("linkname")) + + ## Find all heading1s + regex.compile("(?:\\n|^)#(?[^#\\n]+[^\\n]+)") + result = regex.search_all(content) + if result: + for res in result: + var heading = res.get_string("heading") + heading1s.append(heading) + parsed_text = parsed_text.replace("#"+heading, "[color=#"+accent_color.lightened(0.2).to_html()+"][font="+heading1_font+"]"+heading.strip_edges()+"[/font][/color]") + + ## Find all heading2s + regex.compile("(?:\\n|^)##(?[^#\\n]+[^\\n]+)") + result = regex.search_all(content) + if result: + for res in result: + var heading = res.get_string("heading") + heading2s.append(heading) + parsed_text = parsed_text.replace("##"+heading, "[color=#"+accent_color.lightened(0.5).to_html()+"][font="+heading2_font+"]"+heading.strip_edges()+"[/font][/color]") + + ## Find all heading3s + regex.compile("(?:\\n|^)###(?[^#\\n]+[^\\n]+)") + result = regex.search_all(content) + if result: + for res in result: + var heading = res.get_string("heading") + parsed_text = parsed_text.replace("###"+heading, "[color=#"+accent_color.lightened(0.7).to_html()+"][font="+heading3_font+"]"+heading.strip_edges()+"[/font][/color]") + + ## Find all heading4s + regex.compile("(?:\\n|^)####(?[^#\\n]+[^\\n]+)") + result = regex.search_all(content) + if result: + for res in result: + var heading = res.get_string("heading") + parsed_text = parsed_text.replace("####"+heading, "[color=#"+accent_color.lightened(0.85).to_html()+"][font="+heading4_font+"]"+heading.strip_edges()+"[/font][/color]") + + + ## Find all heading5s + regex.compile("(?:\\n|^)#####(?[^#\\n]+[^\\n]+)") + result = regex.search_all(content) + if result: + for res in result: + var heading = res.get_string("heading") + parsed_text = parsed_text.replace("#####"+heading, "[color=#"+accent_color.lightened(0.85).to_html()+"][font="+heading5_font+"]"+heading.strip_edges()+"[/font][/color]") + + for i in links.size(): + parsed_text = parsed_text.replace("["+linknames[i]+"]("+links[i]+")","[color=#"+accent_color.to_html()+"][url="+links[i]+"]"+linknames[i]+"[/url][/color]") + + for i in imagenames.size(): + var imagelink_to_use = imagelinks[i] + if imagelink_to_use.begins_with("http"): + var path_parts = imagelink_to_use.split("/Documentation/") + if path_parts.size() > 1: + imagelink_to_use = docs_path +"/"+ path_parts[1] + else: + imagelink_to_use = "icon.png" + if imagelink_to_use.begins_with(".") and file_path: + imagelink_to_use = file_path.trim_suffix(file_path.get_file()).trim_suffix("/") + imagelink_to_use.trim_prefix(".") + parsed_text = parsed_text.replace("!["+imagenames[i]+"]("+imagelinks[i]+")","[img="+str(int(700*editor_scale))+"]"+imagelink_to_use+"[/img]") + + parsed_text += "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" + + return parsed_text diff --git a/addons/dialogic/Documentation/Nodes/DocsPageViewer.gd b/addons/dialogic/Documentation/Nodes/DocsPageViewer.gd new file mode 100644 index 0000000..66e59f2 --- /dev/null +++ b/addons/dialogic/Documentation/Nodes/DocsPageViewer.gd @@ -0,0 +1,206 @@ +tool +extends Control + +export (bool) var enable_editing = false +# needs to be corrected, if you use this on a diffrent plugin!!! +export (String) var documentation_path: String = "res://addons/dialogic/Documentation" +var MarkdownParser = load("res://addons/dialogic/Documentation/Nodes/DocsMarkdownParser.gd").new() + +var current_path: String = "" +var current_headings = [] + +onready var Content = $Content + +signal open_non_html_link(link, section) + +################################################################################ +## PUBLIC FUNCTIONS ## +################################################################################ + +## Opens a page at path PAGE_PATH +## The PAGE_PATH can be a full godot path or a path from Documentation/Content +## E.g.: +## "res://addons/thing/Documentation/Content/Tuts/welcome.md" == "Tuts/welcome" +## +## The section can either be passed as a second argument or in the PAGE_PATH with # +## E.g.: "Tuts/welcome#how-to-use-the-plugin" == "Tuts/welcome", "#how-to-use-the-plugin" +func load_page(page_path: String, section : String=''): + Content.set('custom_styles/normal', StyleBoxEmpty.new()) + Content.get('custom_styles/normal').content_margin_left = 15 + Content.get('custom_styles/normal').content_margin_top = 15 + Content.get('custom_styles/normal').content_margin_right = 15 + Content.get('custom_styles/normal').content_margin_bottom = 15 + + var base_size = 16 + Content.set('custom_fonts/normal_font/size', int(base_size * get_constant("scale", "Editor"))) + Content.set('custom_fonts/bold_font/size', int(base_size * get_constant("scale", "Editor"))) + #Content.set('custom_fonts/italics_font/size', int(base_size * get_constant("scale", "Editor"))) + Content.set('custom_fonts/mono_font/size', int(base_size * get_constant("scale", "Editor"))) + Content.set('custom_fonts/bold_italics_font/size', int(base_size * get_constant("scale", "Editor"))) + + + # Fonts + Content.set('custom_fonts/mono_font', get_font("doc_source", "EditorFonts")) + Content.set('custom_fonts/bold_font', Content.get_font("doc_bold", "EditorFonts")) + + MarkdownParser.set_accent_colors(get_color("accent_color", "Editor"),get_color("disabled_font_color", "Editor")) + # return if no path is given + if page_path == '' and not section: + return + + show() + _on_Content_resized() + + #print("load page ", page_path) + # find a section specifier at the end of the path + if page_path.count("#") > 0: + var result = page_path.split('#') + page_path = result[0] + section = '#'+result[1] + + # add necessary parts to the path + if not page_path.begins_with("res://"): + page_path = documentation_path+"/Content/"+page_path + if not page_path.ends_with('.md'): + page_path += ".md" + + # opening the file + var f = File.new() + f.open(page_path,File.READ) + current_path = page_path + + # parsing the file + Content.bbcode_text = MarkdownParser.parse(f.get_as_text(), current_path, documentation_path) + f.close() + + # saving the headings for going to sections + current_headings = MarkdownParser.heading1s + MarkdownParser.heading2s + MarkdownParser.heading3s + MarkdownParser.heading4s + MarkdownParser.heading5s + create_content_menu(MarkdownParser.heading1s + MarkdownParser.heading2s) + + # scroll to the given section + if not scroll_to_section(section): + Content.scroll_to_line(0) + + # Scroll to top of the document. This probably broke the previews "scroll to the given section" part of the code + yield(get_tree(), "idle_frame") + _on_Up_pressed() + + +# looks if there is a heading similar to the given TITLE and then scrolls there +func scroll_to_section(title): + if not title: + return + # this is not really nicely done... + for heading in current_headings: + if (heading.to_lower().strip_edges().replace(' ', '-') == title.replace('#', '')) or \ + (heading.to_lower().strip_edges() == title.to_lower().strip_edges()): + var x = Content.bbcode_text.find(heading.replace('#', '').strip_edges()+"[/font]") + x = Content.bbcode_text.count("\n", 0, x) + Content.scroll_to_line(x) + + $ContentMenu/Panel.hide() + + return true + + +################################################################################ +## PRIVATE FUNCTIONS ## +################################################################################ + +func _ready(): + $Up.icon = get_icon("ArrowUp", "EditorIcons") + + $Editing.visible = enable_editing + + +# creates the conten menu +func create_content_menu(headings): + for child in $ContentMenu/Panel/VBox.get_children(): + child.queue_free() + if len(headings) < 2: + $ContentMenu.hide() + return + $ContentMenu.show() + headings.pop_front() + for heading in headings: + var button = Button.new() + button.set("custom_styles/normal", get_stylebox("sub_inspector_bg0", "Editor")) + button.text = heading + button.align = Button.ALIGN_LEFT + button.connect("pressed", self, "content_button_pressed", [heading]) + $ContentMenu/Panel/VBox.add_child(button) + + +func content_button_pressed(heading): + scroll_to_section(heading) + $ContentMenu/ToggleContents.pressed = false + + +## When one of the links is clicked +func _on_meta_clicked(meta): + ## Check wether this is a real LINK + if meta.begins_with("http"): + + # test if we can interpret this as a normal link to a docs file + if meta.count("Documentation/Content") > 0: + meta = meta.split("Documentation/Content")[1] + + # else open it with the browser + else: + OS.shell_open(meta) + return + + ## Check wether it is a section + if meta.begins_with("#"): + # try to open it in this document + scroll_to_section(meta) + + ## Else send a signal that the pluginmaker has to interpret + else: + # if the link contains a section + var link = meta + var section = null + if meta.count("#") > 0: + var split = meta.split('#') + link = split[0] + section = split[1] + if link.begins_with('.'): + link = current_path.trim_suffix(current_path.get_file()).trim_suffix("/") + link.trim_prefix(".") + if not link.begins_with("res://"): + link = documentation_path.plus_file('Content').plus_file(link) + if not link.ends_with(".md"): + link += '.md' + + emit_signal("open_non_html_link", link, section) + + +func _on_EditPage_pressed(): + var x = File.new() + x.open(current_path, File.READ) + OS.shell_open(x.get_path_absolute()) + + +func _on_RefreshPage_pressed(): + load_page(current_path) + + +func _on_Up_pressed(): + Content.scroll_to_line(0) + + +func _on_ToggleContents_toggled(button_pressed): + $ContentMenu/Panel.visible = button_pressed + +func toggle_editing(): + enable_editing = !enable_editing + $Editing.visible = enable_editing + +func _on_Content_resized(): + if not Content: return + if Content.rect_size.x < 500: + Content.get('custom_styles/normal').content_margin_left = 15 + Content.get('custom_styles/normal').content_margin_right = 15 + else: + Content.get('custom_styles/normal').content_margin_left = (Content.rect_size.x-500)/4 + Content.get('custom_styles/normal').content_margin_right = (Content.rect_size.x-500)/3 + Content.update() diff --git a/addons/dialogic/Documentation/Nodes/DocsPageViewer.tscn b/addons/dialogic/Documentation/Nodes/DocsPageViewer.tscn new file mode 100644 index 0000000..e0d5dd5 --- /dev/null +++ b/addons/dialogic/Documentation/Nodes/DocsPageViewer.tscn @@ -0,0 +1,178 @@ +[gd_scene load_steps=13 format=2] + +[ext_resource path="res://addons/dialogic/Documentation/Theme/Font/NotoSans-Regular.ttf" type="DynamicFontData" id=1] +[ext_resource path="res://addons/dialogic/Documentation/Theme/Font/NotoSans-Bold.ttf" type="DynamicFontData" id=2] +[ext_resource path="res://addons/dialogic/Documentation/Theme/Font/NotoSans-Italic.ttf" type="DynamicFontData" id=3] +[ext_resource path="res://addons/dialogic/Documentation/Nodes/DocsPageViewer.gd" type="Script" id=6] + +[sub_resource type="StyleBoxEmpty" id=1] +content_margin_left = 89.5 +content_margin_right = 119.333 + +[sub_resource type="DynamicFont" id=2] +use_filter = true +extra_spacing_char = 2 +extra_spacing_space = 2 +font_data = ExtResource( 1 ) + +[sub_resource type="DynamicFont" id=3] +use_filter = true +font_data = ExtResource( 2 ) + +[sub_resource type="DynamicFont" id=4] +font_data = ExtResource( 3 ) + +[sub_resource type="DynamicFont" id=5] +font_data = ExtResource( 2 ) + +[sub_resource type="DynamicFont" id=6] +use_filter = true +font_data = ExtResource( 1 ) + +[sub_resource type="Image" id=9] +data = { +"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), +"format": "LumAlpha8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id=8] +flags = 4 +flags = 4 +image = SubResource( 9 ) +size = Vector2( 16, 16 ) + +[node name="DocsPageViewer" type="Control"] +margin_right = 1024.0 +margin_bottom = 600.0 +focus_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +script = ExtResource( 6 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Content" type="RichTextLabel" parent="."] +anchor_right = 1.0 +anchor_bottom = 1.0 +rect_min_size = Vector2( 50, 0 ) +focus_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +custom_styles/normal = SubResource( 1 ) +custom_fonts/mono_font = SubResource( 2 ) +custom_fonts/bold_italics_font = SubResource( 3 ) +custom_fonts/italics_font = SubResource( 4 ) +custom_fonts/bold_font = SubResource( 5 ) +custom_fonts/normal_font = SubResource( 6 ) +custom_colors/selection_color = Color( 0.45098, 0.45098, 0.45098, 0.45098 ) +bbcode_enabled = true +bbcode_text = "Can't find the specified file." +text = "Can't find the specified file." +scroll_following = true +selection_enabled = true +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Editing" type="HBoxContainer" parent="."] +visible = false +anchor_left = 1.0 +anchor_right = 1.0 +margin_left = -202.807 +margin_top = 8.09956 +margin_right = -8.80664 +margin_bottom = 33.0996 +grow_horizontal = 0 +alignment = 2 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="RefreshPage" type="Button" parent="Editing"] +margin_left = 94.0 +margin_right = 154.0 +margin_bottom = 25.0 +text = "Refresh" + +[node name="EditPage" type="Button" parent="Editing"] +margin_left = 158.0 +margin_right = 194.0 +margin_bottom = 25.0 +text = "Edit" + +[node name="Up" type="Button" parent="."] +anchor_left = 1.0 +anchor_top = 1.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = -40.5946 +margin_top = -41.6541 +margin_right = -10.5946 +margin_bottom = -11.6541 +rect_min_size = Vector2( 30, 30 ) +hint_tooltip = "Back to top" +icon = SubResource( 8 ) +expand_icon = true +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="ContentMenu" type="VBoxContainer" parent="."] +anchor_left = 1.0 +anchor_top = 1.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = -207.0 +margin_top = -590.0 +margin_right = -49.0 +margin_bottom = -13.0 +grow_horizontal = 0 +grow_vertical = 0 +rect_min_size = Vector2( 50, 40 ) +size_flags_horizontal = 0 +size_flags_vertical = 9 +custom_constants/separation = 20 +alignment = 2 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Panel" type="Control" parent="ContentMenu"] +visible = false +margin_top = 537.0 +margin_right = 158.0 +margin_bottom = 537.0 + +[node name="VBox" type="VBoxContainer" parent="ContentMenu/Panel"] +margin_top = -88.0 +margin_right = 156.0 +margin_bottom = 4.0 +grow_horizontal = 0 +grow_vertical = 0 +size_flags_horizontal = 3 +alignment = 2 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="ToggleContents" type="Button" parent="ContentMenu"] +margin_top = 557.0 +margin_right = 158.0 +margin_bottom = 577.0 +toggle_mode = true +text = "Contents" + +[node name="Control" type="Control" parent="."] +margin_right = 40.0 +margin_bottom = 40.0 + +[connection signal="meta_clicked" from="Content" to="." method="_on_meta_clicked"] +[connection signal="resized" from="Content" to="." method="_on_Content_resized"] +[connection signal="pressed" from="Editing/RefreshPage" to="." method="_on_RefreshPage_pressed"] +[connection signal="pressed" from="Editing/EditPage" to="." method="_on_EditPage_pressed"] +[connection signal="pressed" from="Up" to="." method="_on_Up_pressed"] +[connection signal="toggled" from="ContentMenu/ToggleContents" to="." method="_on_ToggleContents_toggled"] diff --git a/addons/dialogic/Documentation/Nodes/DocsTreeHelper.gd b/addons/dialogic/Documentation/Nodes/DocsTreeHelper.gd new file mode 100644 index 0000000..722b4ef --- /dev/null +++ b/addons/dialogic/Documentation/Nodes/DocsTreeHelper.gd @@ -0,0 +1,224 @@ +tool +extends Control + +# Don't change this if possible +export (String) var documentation_path : String = "res://addons/dialogic/Documentation" + +# This enables/disables the use of folder files +# If enabled, the docs will expect a file named +# exactly like a folder for each folder in the docs: +## E.g.: If you have a Tutorials folder somewhere put a Tutorials.md file next to it. +## This way the folder will be clickable and you can see the page, +## but it won't be shown as a separate page +var use_folder_files = true + +# These files will not be listed. Just use the filename! No paths in here +var file_ignore_list = ['Welcome.md'] + + +################################################################################ +## PUBLIC FUNCTIONS ## +################################################################################ + +## Returns a dictionary that contains the important parts of the +## documentations Content folder. +## +## This is mainly used if you want to somehow display a list of the docs content, +## for example to create a file-tree or a list of documents +## +## Only files ending on .md are noticed. +## Folders that contain no such files are ignored +func get_documentation_content(): + return get_dir_contents(documentation_path+"/Content") + +## Will create a hirarchy of TreeItems on the given 'trees' root_item +## If not root_item is given a new root_item will be created +## The root item does not have to be the actual root item of the whole tree, +## but the root of the documentation branch. +## +## With def_folder_info and def_page_info special information can be +## added to the meta of the Items +## +## If a filter_term is given, only items with that filter will be created. +## Right now there will always be all folders. +func build_documentation_tree(tree : Tree, root_item:TreeItem = null, def_folder_info:Dictionary = {}, def_page_info:Dictionary = {}, filter_term:String = ''): + return _build_documentation_tree(tree, root_item, def_folder_info, def_page_info, filter_term) + + +################################################################################ +## PRIVATE FUNCTIONS ## +################################################################################ + + +#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +### LOOKING THROUGH THE DOCS FOLDERS: + +func get_dir_contents(rootPath: String) -> Dictionary: + var directory_structure = {} + var dir := Directory.new() + + if dir.open(rootPath) == OK: + dir.list_dir_begin(true, false) + directory_structure = _add_dir_contents(dir) + else: + push_error("Docs: An error occurred when trying to access the path.") + return directory_structure + +func _add_dir_contents(dir: Directory) -> Dictionary: + var file_name = dir.get_next() + + var structure = {} + while (file_name != ""): + var path = dir.get_current_dir() + "/" + file_name + if dir.current_is_dir(): + #print("Found directory: %s" % path) + var subDir = Directory.new() + subDir.open(path) + subDir.list_dir_begin(true, false) + var dir_content = _add_dir_contents(subDir) + if dir_content.has('_files_'): + structure[path] = dir_content + else: + #print("Found file: %s" % path) + if not file_name.ends_with(".md"): + file_name = dir.get_next() + continue + if file_name in file_ignore_list: + file_name = dir.get_next() + continue + if not structure.has("_files_"): + structure["_files_"] = [] + + structure["_files_"].append(path) + + file_name = dir.get_next() + dir.list_dir_end() + return structure + +#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +### For bouilding the tree + +func _build_documentation_tree(tree : Tree, root_item:TreeItem = null, def_folder_info:Dictionary = {}, def_page_info:Dictionary = {}, filter_term:String =''): + + var documentation_tree + if root_item == null: + documentation_tree = tree.create_item() + documentation_tree.set_text(0, "Documentation") + + else: + documentation_tree = root_item + + # if no search is performed, collapse the tree by default + if not filter_term: + documentation_tree.collapsed = true + else: + documentation_tree.collapsed = false + + # create the rest of the tree based on the dict we get from the DocsHelper + var doc_structure = get_documentation_content() + #print(doc_structure) + create_doc_tree(tree, documentation_tree, def_folder_info, def_page_info, doc_structure, filter_term) + return documentation_tree + +# this calls itself recursivly to create the tree, based on the given dict +func create_doc_tree(tree, parent_item, def_folder_info, def_page_info, doc_structure, filter_term): + for key in doc_structure.keys(): + # if this is a folder + if typeof(doc_structure[key]) == TYPE_DICTIONARY: + var folder_item = _add_documentation_folder(tree, parent_item, {'name':key.get_file(), 'path':key}, def_folder_info) + create_doc_tree(tree, folder_item, def_folder_info, def_page_info, doc_structure[key], filter_term) + if not filter_term: + folder_item.collapsed = true + # if this is a page + elif typeof(doc_structure[key]) == TYPE_ARRAY: + for file in doc_structure[key]: + if use_folder_files and file.trim_suffix('.md') in doc_structure.keys(): + pass + else: + if not filter_term or (filter_term and filter_term.to_lower() in get_title(file, '').to_lower()): + _add_documentation_page(tree, parent_item, {'name':file.get_file().trim_suffix(".md"), 'path': file}, def_page_info) + +func merge_dir(target: Dictionary, patch: Dictionary): + var copy = target.duplicate() + for key in patch: + copy[key] = patch[key] + return copy + +# this adds a folder item to the tree +func _add_documentation_folder(tree, parent_item, folder_info, default_info): + var item = tree.create_item(parent_item) + item.set_text(0, folder_info['name']) + item.set_icon(0, tree.get_icon("HelpSearch", "EditorIcons")) + item.set_editable(0, false) + if use_folder_files: + var x = File.new() + if x.file_exists(folder_info['path']+'.md'): + folder_info['path'] += '.md' + else: + folder_info['path'] = '' + else: + folder_info['path'] = '' + item.set_metadata(0, merge_dir(default_info, folder_info)) + if not tree.get_constant("dark_theme", "Editor"): + item.set_icon_modulate(0, get_color("property_color", "Editor")) + return item + +# this adds a page item to the tree +func _add_documentation_page(tree, parent, page_info, default_info): + var item = tree.create_item(parent) + item.set_text(0, get_title(page_info['path'], page_info['name'])) + item.set_tooltip(0,page_info['path']) + item.set_editable(0, false) + item.set_icon(0, tree.get_icon("Help", "EditorIcons")) + var new_dir = merge_dir(default_info, page_info) + #print(new_dir) + item.set_metadata(0,new_dir) + if not tree.get_constant("dark_theme", "Editor"): + item.set_icon_modulate(0, get_color("property_color", "Editor")) + return item + +# returns the first line of a text_file, a bit cleaned up +func get_title(path, default_name): + # opening the file + var f = File.new() + f.open(path, File.READ) + var arr = f.get_as_text().split('\n', false, 1) + if not arr.empty(): + return arr[0].replace('#', '').strip_edges() + else: + return default_name +## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +## For searching the tree +## used to search and select an item of the tree based on a info saved in the metadata +## in most cases you just want to search for the item that has a certain path +## +## the paren_item parameter is only used so this can call itself recursivly +func search_and_select_docs(docs_tree_item:TreeItem, info:String, key:String = 'path'): + if info == "": return + if info == "/": + docs_tree_item.select(0) + return true + #print("Asearch ", key, " ", info) + #print("Asearchin on item: ", docs_tree_item.get_text(0)) + var item = docs_tree_item.get_children() + while item: + #print("A ",item.get_text(0)) + if not item.has_method('get_metadata'): + item = item.get_next() + + var meta = item.get_metadata(0) + #print(meta) + if meta.has(key): + if meta[key] == info: + item.select(0) + return true + if search_and_select_docs(item, info, key): + return true + item = item.get_next() + return false + +#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +#### For bouilding the tree +#func create_reference(): +# var RefColl = ReferenceCollector.new() +# RefColl._run() diff --git a/addons/dialogic/Documentation/Nodes/DocsTreeHelper.tscn b/addons/dialogic/Documentation/Nodes/DocsTreeHelper.tscn new file mode 100644 index 0000000..e4f6bc9 --- /dev/null +++ b/addons/dialogic/Documentation/Nodes/DocsTreeHelper.tscn @@ -0,0 +1,11 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://addons/dialogic/Documentation/Nodes/DocsTreeHelper.gd" type="Script" id=1] + +[node name="DocsTreeHelper" type="Control"] +margin_right = 40.0 +margin_bottom = 40.0 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} diff --git a/addons/dialogic/Documentation/Nodes/DocumentationTree.gd b/addons/dialogic/Documentation/Nodes/DocumentationTree.gd new file mode 100644 index 0000000..7493c88 --- /dev/null +++ b/addons/dialogic/Documentation/Nodes/DocumentationTree.gd @@ -0,0 +1,32 @@ +tool +extends Tree + +var documentation_tree + +# emited when an item is selceted +signal _page_selected(path) + +################################################################################ +## PUBLIC FUNCTIONS ## +################################################################################ + +func select_item(path): + #DocsHelper.search_and_select_docs(documentation_tree, path) + pass + +################################################################################ +## PRIVATE FUNCTIONS ## +################################################################################ + +func _ready(): + connect('item_selected', self, '_on_item_selected') + #documentation_tree = DocsHelper.build_documentation_tree(self) + # have to do this here, because the DocsHelpe has no access to the theme... + documentation_tree.set_icon(0, get_icon("Folder", "EditorIcons")) + + +func _on_item_selected(): + var item = get_selected() + var metadata = item.get_metadata(0) + if metadata.has('path'): + emit_signal("_page_selected", metadata['path']) diff --git a/addons/dialogic/Documentation/Nodes/DocumentationTree.tscn b/addons/dialogic/Documentation/Nodes/DocumentationTree.tscn new file mode 100644 index 0000000..cf2cca5 --- /dev/null +++ b/addons/dialogic/Documentation/Nodes/DocumentationTree.tscn @@ -0,0 +1,14 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://addons/dialogic/Documentation/Nodes/DocumentationTree.gd" type="Script" id=1] + + +[node name="DocumentationTree" type="Tree"] +margin_right = 506.0 +margin_bottom = 600.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} diff --git a/addons/dialogic/Documentation/Nodes/DocumentationViewer.gd b/addons/dialogic/Documentation/Nodes/DocumentationViewer.gd new file mode 100644 index 0000000..3368d42 --- /dev/null +++ b/addons/dialogic/Documentation/Nodes/DocumentationViewer.gd @@ -0,0 +1,21 @@ +tool +extends Control + +onready var DocTree = $HSplit/VBoxContainer/DocumentationTree +onready var DocPageViewer = $HSplit/DocsPageViewer + + +func _on_DocsPageViewer_open_non_html_link(link, section): + DocTree.select_item(link) + DocPageViewer.scroll_to_section(section) + +func _on_DocumentationTree_page_selected(path): + DocPageViewer.load_page(path) + +func _on_FilterEntry_text_changed(new_text): + var child = DocTree.documentation_tree.get_children() + while child: + child.call_recursive("call_deferred", "free") + child = child.get_next() + #DocsHelper.build_documentation_tree(DocTree, DocTree.documentation_tree,{},{}, new_text) + DocTree.call_deferred("update") diff --git a/addons/dialogic/Documentation/Nodes/DocumentationViewer.tscn b/addons/dialogic/Documentation/Nodes/DocumentationViewer.tscn new file mode 100644 index 0000000..6a6228d --- /dev/null +++ b/addons/dialogic/Documentation/Nodes/DocumentationViewer.tscn @@ -0,0 +1,49 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://addons/dialogic/Documentation/Nodes/DocsPageViewer.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/dialogic/Documentation/Nodes/DocumentationTree.tscn" type="PackedScene" id=2] +[ext_resource path="res://addons/dialogic/Documentation/Nodes/DocumentationViewer.gd" type="Script" id=3] + +[node name="DocumentationViewer" type="Control"] +anchor_right = 1.0 +anchor_bottom = 1.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +script = ExtResource( 3 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="HSplit" type="HSplitContainer" parent="."] +anchor_right = 1.0 +anchor_bottom = 1.0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="VBoxContainer" type="VBoxContainer" parent="HSplit"] +margin_right = 230.0 +margin_bottom = 600.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +size_flags_stretch_ratio = 0.3 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="FilterEntry" type="LineEdit" parent="HSplit/VBoxContainer"] +margin_right = 230.0 +margin_bottom = 24.0 +placeholder_text = "Filter Documentation" +placeholder_alpha = 0.502 + +[node name="DocumentationTree" parent="HSplit/VBoxContainer" instance=ExtResource( 2 )] +margin_top = 28.0 +margin_right = 230.0 + +[node name="DocsPageViewer" parent="HSplit" instance=ExtResource( 1 )] +margin_left = 242.0 +size_flags_horizontal = 3 + +[connection signal="text_changed" from="HSplit/VBoxContainer/FilterEntry" to="." method="_on_FilterEntry_text_changed"] +[connection signal="open_non_html_link" from="HSplit/DocsPageViewer" to="." method="_on_DocsPageViewer_open_non_html_link"] diff --git a/addons/dialogic/Documentation/Theme/DocumentationH1.tres b/addons/dialogic/Documentation/Theme/DocumentationH1.tres new file mode 100644 index 0000000..71794b0 --- /dev/null +++ b/addons/dialogic/Documentation/Theme/DocumentationH1.tres @@ -0,0 +1,7 @@ +[gd_resource type="DynamicFont" load_steps=2 format=2] + +[ext_resource path="res://addons/dialogic/Documentation/Theme/Font/NotoSans-Bold.ttf" type="DynamicFontData" id=1] + +[resource] +size = 30 +font_data = ExtResource( 1 ) diff --git a/addons/dialogic/Documentation/Theme/DocumentationH2.tres b/addons/dialogic/Documentation/Theme/DocumentationH2.tres new file mode 100644 index 0000000..e667335 --- /dev/null +++ b/addons/dialogic/Documentation/Theme/DocumentationH2.tres @@ -0,0 +1,7 @@ +[gd_resource type="DynamicFont" load_steps=2 format=2] + +[ext_resource path="res://addons/dialogic/Documentation/Theme/Font/NotoSans-Bold.ttf" type="DynamicFontData" id=1] + +[resource] +size = 24 +font_data = ExtResource( 1 ) diff --git a/addons/dialogic/Documentation/Theme/DocumentationH3.tres b/addons/dialogic/Documentation/Theme/DocumentationH3.tres new file mode 100644 index 0000000..c12f722 --- /dev/null +++ b/addons/dialogic/Documentation/Theme/DocumentationH3.tres @@ -0,0 +1,7 @@ +[gd_resource type="DynamicFont" load_steps=2 format=2] + +[ext_resource path="res://addons/dialogic/Documentation/Theme/Font/NotoSans-Bold.ttf" type="DynamicFontData" id=1] + +[resource] +size = 20 +font_data = ExtResource( 1 ) diff --git a/addons/dialogic/Documentation/Theme/DocumentationH4.tres b/addons/dialogic/Documentation/Theme/DocumentationH4.tres new file mode 100644 index 0000000..1326b0d --- /dev/null +++ b/addons/dialogic/Documentation/Theme/DocumentationH4.tres @@ -0,0 +1,7 @@ +[gd_resource type="DynamicFont" load_steps=2 format=2] + +[ext_resource path="res://addons/dialogic/Documentation/Theme/Font/NotoSans-BoldItalic.ttf" type="DynamicFontData" id=1] + +[resource] +size = 20 +font_data = ExtResource( 1 ) diff --git a/addons/dialogic/Documentation/Theme/DocumentationH5.tres b/addons/dialogic/Documentation/Theme/DocumentationH5.tres new file mode 100644 index 0000000..122fcab --- /dev/null +++ b/addons/dialogic/Documentation/Theme/DocumentationH5.tres @@ -0,0 +1,7 @@ +[gd_resource type="DynamicFont" load_steps=2 format=2] + +[ext_resource path="res://addons/dialogic/Documentation/Theme/Font/NotoSans-Italic.ttf" type="DynamicFontData" id=1] + +[resource] +size = 18 +font_data = ExtResource( 1 ) diff --git a/addons/dialogic/Documentation/Theme/Font/LICENSE.txt b/addons/dialogic/Documentation/Theme/Font/LICENSE.txt new file mode 100644 index 0000000..75b5248 --- /dev/null +++ b/addons/dialogic/Documentation/Theme/Font/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/addons/dialogic/Documentation/Theme/Font/NotoSans-Bold.ttf b/addons/dialogic/Documentation/Theme/Font/NotoSans-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..54ad879b41b5db8b21dca1aa00a2d474697e7bf0 GIT binary patch literal 398652 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

    9?@SaCGb}6P#Rnwb#w-QeAeJ zn@e$dy)K8YjIZRx)Yw{Wg~%m4tq#7#+Hugy<#n`rtL!dWS9~yF(LjPpSo>T*;HPLIrq^9(#)NsXz?tZNnFX*HMb!Qan3m&ZH!j{Pp(BUYP> z6VqL0b!7LM*h0-0{c5=LYnWUs{*>1h2*o}mF-=pbPJ&@ESv%Z-D<(KsI0d(ON3oT6 z>vDyXD#2M|<+=G)yt|ZlbIFyiQkN%D$BAaW?Uncu{kWYbNPl5VQKFL^RmVhi(-3@_&6l9x+Z!EzkLj}U+XaOoH^9}biW`wo z@f5jnsO#TAL3%7Ugj@1iDmrLR7c=7Vw#;)>B{$bc+PJ!R9<3bfja zev4jw)S%hH^gS@(P?dFE+|ztfwHPX9eRimi15cbnVMBHS?b4;JzlK z{FXFLT-*+G^8{o4{J;P^V1#P#?Yd4?N3_{$3Ii6^0R|;%sFzbkaT&f9nWC3vY}K2? zScs*!WxL!CL?K%!b6dSUms;iaSeGK*xv}3{#IyraHWAi*m%Yk?z7r)ozEEem@N*4{ zOH4lh>dts$0n}Ip&T~0SUAMVB!2!e+^A?3Llx8tw)~fzC+iXpeLBr!X z*%s3=4GI^kVahU#JV;jT@RW8IKL#j!D&qkLtL{J^BZ_w&Z(bP5S zNU1()OqgR12I48fV!D~KD1}<;qCBhMsC4N{1sz|>yRE*Kg~I0UH?H_x8+`no;hl<`0Cu`E=5jI08$ro4t0d#mdNE21dlmaDcAsPl_xeu zy+odi$xC_XGG5Ac)__G0WUhd>vB9aFHi5T;j0U8Bk5EVc((*J8ei?XTUR{)dO)1r2 zxBFHX;*EhJO<1G*yv8UEag$M7u_C|`{YC#h2uONRcU`8Kt4ivNk}Ag>6Q7{T9Pvts zA>OD7A%($?CW;|dneTs)_Zrj$VGA-Ekk37lw&^$`{}%18@eN1+$t0RR#(*SKwy|?` wyFSZeYZvqMgoiXwsm`R-v~+H!S+YPIa4TKJPeigi3p);$Sxa~>2fzFN7h8A;a{vGU literal 0 HcmV?d00001 diff --git a/addons/dialogic/Localization/dialogic.fr.translation b/addons/dialogic/Localization/dialogic.fr.translation new file mode 100644 index 0000000000000000000000000000000000000000..2628be3d37fa365fc0a5066c3e73ce56aa4268ba GIT binary patch literal 4308 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 M4cXZm{CDzy0YMZAx&QzG literal 0 HcmV?d00001 diff --git a/addons/dialogic/Localization/translation_service.gd b/addons/dialogic/Localization/translation_service.gd new file mode 100644 index 0000000..49cecf6 --- /dev/null +++ b/addons/dialogic/Localization/translation_service.gd @@ -0,0 +1,54 @@ +# Alternative to [TranslationServer] that works inside the editor +# This is a modified version of AnidemDex's TranslationService +# https://github.com/AnidemDex/Godot-TranslationService + +tool +class_name DTS + + +# Translates a message using translation catalogs configured in the Editor Settings. +static func translate(message:String)->String: + var translation + + translation = _get_translation(message) + + return translation + + +# Each value is an Array of [PHashTranslation]. +static func get_translations() -> Dictionary: + var translations_resources = ['en', 'zh_CN', 'es', 'fr'] + var translations = {} + + for resource in translations_resources: + var t:PHashTranslation = load('res://addons/dialogic/Localization/dialogic.' + resource + '.translation') + if translations.has(t.locale): + translations[t.locale].append(t) + else: + translations[t.locale] = [t] + return translations + + +static func _get_translation(message)->String: + var returned_translation = message + var translations = get_translations() + var default_fallback = 'en' + + var editor_plugin = EditorPlugin.new() + var editor_settings = editor_plugin.get_editor_interface().get_editor_settings() + var locale = editor_settings.get('interface/editor/editor_language') + + var cases = translations.get( + locale, + translations.get(default_fallback, [PHashTranslation.new()]) + ) + for case in cases: + returned_translation = (case as PHashTranslation).get_message(message) + if returned_translation: + break + else: + # If there's no translation, returns the original string + returned_translation = message + + #print('Message: ', message, ' - locale: ', locale, ' - ', returned_translation) + return returned_translation diff --git a/addons/dialogic/Nodes/Background.gd b/addons/dialogic/Nodes/Background.gd new file mode 100644 index 0000000..160c5b7 --- /dev/null +++ b/addons/dialogic/Nodes/Background.gd @@ -0,0 +1,40 @@ +extends TextureRect + +var native_dialogic_background = true +var tween + +func _ready(): + expand = true + name = 'Background' + anchor_right = 1 + anchor_bottom = 1 + stretch_mode = TextureRect.STRETCH_SCALE + show_behind_parent = true + mouse_filter = Control.MOUSE_FILTER_IGNORE + + +func create_tween(): + tween = Tween.new() + add_child(tween) + + +func fade_out(time = 1): + if tween: + tween.connect('tween_all_completed', self, '_on_tween_over') + tween.interpolate_property(self, "modulate", + Color(1,1,1,1), Color(1,1,1,0), time, + Tween.TRANS_LINEAR, Tween.EASE_IN_OUT) + tween.start() + else: + _on_tween_over() + + +func fade_in(time = 1): + tween.interpolate_property(self, "modulate", + Color(1,1,1,0), Color(1,1,1,1), time, + Tween.TRANS_LINEAR, Tween.EASE_IN_OUT) + tween.start() + + +func _on_tween_over(): + queue_free() diff --git a/addons/dialogic/Nodes/Background.tscn b/addons/dialogic/Nodes/Background.tscn new file mode 100644 index 0000000..277cf47 --- /dev/null +++ b/addons/dialogic/Nodes/Background.tscn @@ -0,0 +1,9 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://addons/dialogic/Nodes/Background.gd" type="Script" id=1] + +[node name="Background" type="TextureRect"] +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} diff --git a/addons/dialogic/Nodes/BackgroundMusic.gd b/addons/dialogic/Nodes/BackgroundMusic.gd new file mode 100644 index 0000000..e09acaf --- /dev/null +++ b/addons/dialogic/Nodes/BackgroundMusic.gd @@ -0,0 +1,62 @@ +extends Control +class_name DialogicBackgroundMusic + +onready var _track1 := $Track1 +onready var _track2 := $Track2 + +var current_path = "" +var current_track = null + +func _ready(): + $Tween.connect("tween_completed", self, "_on_Tween_tween_completed") + +func crossfade_to(path: String, audio_bus:String, volume:float, fade_length: float) -> void: + # find a better solution for this + if _track1.playing and _track2.playing: + return + + var stream: AudioStream = load(path) + var fade_out_track = _track1 + var fade_in_track = _track2 + + if _track2.playing: + fade_out_track = _track2 + fade_in_track = _track1 + + # setup the new track + fade_in_track.stream = stream + fade_in_track.bus = audio_bus + fade_in_track.volume_db = -60 + + + $Tween.interpolate_property(fade_out_track, "volume_db", null, -60, fade_length, Tween.TRANS_EXPO) + $Tween.interpolate_property(fade_in_track, "volume_db", -60, volume, fade_length, Tween.TRANS_EXPO) + $Tween.start() + + # in case the audio is already playing we will attempt a fade into the new one from the current position + if current_path == path: + fade_in_track.play(fade_out_track.get_playback_position()) + # else just play it from the beginning + else: + fade_in_track.play() + current_track = fade_in_track + + current_path = path + +func fade_out(fade_length:float = 1) -> void: + current_path = "" + current_track = null + $Tween.interpolate_property(_track1, "volume_db", null, -60, fade_length, Tween.TRANS_EXPO) + $Tween.interpolate_property(_track2, "volume_db", null, -60, fade_length, Tween.TRANS_EXPO) + $Tween.start() + +func _on_Tween_tween_completed(object, key): + # if the stream was faded out + if object.volume_db == -60: + object.playing = false + object.stream = null + +func get_current_info(): + if current_track != null: + return {"file":current_path, "volume": current_track.volume_db, "audio_bus": current_track.bus} + return null diff --git a/addons/dialogic/Nodes/BackgroundMusic.tscn b/addons/dialogic/Nodes/BackgroundMusic.tscn new file mode 100644 index 0000000..68ea880 --- /dev/null +++ b/addons/dialogic/Nodes/BackgroundMusic.tscn @@ -0,0 +1,19 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://addons/dialogic/Nodes/BackgroundMusic.gd" type="Script" id=1] + +[node name="BackgroundMusic" type="Control"] +margin_right = 40.0 +margin_bottom = 40.0 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Track1" type="AudioStreamPlayer" parent="."] +volume_db = -80.0 + +[node name="Track2" type="AudioStreamPlayer" parent="."] +volume_db = -80.0 + +[node name="Tween" type="Tween" parent="."] diff --git a/addons/dialogic/Nodes/CharacterVoice.gd b/addons/dialogic/Nodes/CharacterVoice.gd new file mode 100644 index 0000000..82667dc --- /dev/null +++ b/addons/dialogic/Nodes/CharacterVoice.gd @@ -0,0 +1,45 @@ +extends AudioStreamPlayer + +var stop_time:float + +func play_voice(data:Dictionary) -> void: + if data == {}: + stop_voice() + return + + if data.has('volume'): + volume_db = data['volume'] + + if data.has('audio_bus'): + bus = data['audio_bus'] + + if data.has('file'): + if data['file'] == '': + stop_voice() + return + var s:AudioStream = load(data['file']) + if s != null: + stream = s + #Will play from start_time when possible + if data.has('start_time'): + play(data['start_time']) + else: + play() + #Stop time will fall back to length of audiostream minus 0.1 secund + #if not defined otherwise. This should allow _process to stop the + #audio before it autorepeats + if data.has('stop_time'): + stop_time = data['stop_time'] + if stop_time <= 0: + stop_time = s.get_length() - 0.1 + else: + stop_time = s.get_length() - 0.1 + else: + stop_voice() +func stop_voice(): + stop() + +func _process(_delta): + #Will automatically stop playing when reaching stop_time + if(playing && get_playback_position() >= stop_time): + stop_voice() diff --git a/addons/dialogic/Nodes/ChoiceButton.gd b/addons/dialogic/Nodes/ChoiceButton.gd new file mode 100644 index 0000000..0f032c3 --- /dev/null +++ b/addons/dialogic/Nodes/ChoiceButton.gd @@ -0,0 +1,9 @@ +extends Button + +func _process(delta): + if has_focus(): + if Input.is_action_pressed(get_meta('input_next')): + emit_signal("button_down") + if Input.is_action_just_released(get_meta('input_next')): + emit_signal("button_up") + emit_signal("pressed") diff --git a/addons/dialogic/Nodes/ChoiceButton.tscn b/addons/dialogic/Nodes/ChoiceButton.tscn new file mode 100644 index 0000000..eadee63 --- /dev/null +++ b/addons/dialogic/Nodes/ChoiceButton.tscn @@ -0,0 +1,12 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://addons/dialogic/Nodes/ChoiceButton.gd" type="Script" id=1] + +[node name="ChoiceButton" type="Button"] +size_flags_horizontal = 4 +size_flags_vertical = 4 +text = "Testing button " +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} diff --git a/addons/dialogic/Nodes/DialogNode.gd b/addons/dialogic/Nodes/DialogNode.gd new file mode 100644 index 0000000..c48e75a --- /dev/null +++ b/addons/dialogic/Nodes/DialogNode.gd @@ -0,0 +1,1602 @@ +tool +extends Control + +## ----------------------------------------------------------------------------- +## VARIABLES +## ----------------------------------------------------------------------------- + +### STARTING +## The timeline to load when starting the scene +var timeline: String + +### MODE +var preview: bool = false +# Should we show debug information when running: +var debug_mode := true + + +### STATE FLAGS +var finished: bool = false +var waiting_for_answer: bool = false +var waiting_for_input: bool = false +# used in events to disable continuing: +var waiting: bool = false +var while_dialog_animation: bool = false +var do_fade_in := true +var dialog_faded_in_already = false +# true if the glossary popup is visible: # TODO rename +var definition_visible: bool = false +# used to reset the mouse mode after questions: +var last_mouse_mode = null + + +### SETTINGS +var input_next: String = 'ui_accept' +var settings: ConfigFile +var custom_events = {} + + +### DATA +var definitions = {} +var characters + +# Parsing results +var questions #for keeping track of the questions answered + +### CURRENT STATE +var current_timeline: String = '' +var dialog_script: Dictionary = {} +var current_event: Dictionary +var dialog_index: int = 0 + +var current_background = "" + +# Theme and Audio +var current_theme: ConfigFile +var audio_data = {} + +# References +var button_container = null + +## ----------------------------------------------------------------------------- +## SCENES +## ----------------------------------------------------------------------------- + +onready var ChoiceButton = load("res://addons/dialogic/Nodes/ChoiceButton.tscn") +onready var Portrait = load("res://addons/dialogic/Nodes/Portrait.tscn") +onready var Background = load("res://addons/dialogic/Nodes/Background.tscn") + + +## ----------------------------------------------------------------------------- +## SIGNALS +## ----------------------------------------------------------------------------- + +# Event end/start +signal event_start(type, event) +signal event_end(type) +# Text Signals +signal text_complete(text_data) +# Timeline end/start +signal timeline_start(timeline_name) +signal timeline_end(timeline_name) +# Custom user signal +signal dialogic_signal(value) + + + +## ----------------------------------------------------------------------------- +## ----------------------------------------------------------------------------- +## SCRIPT +## ----------------------------------------------------------------------------- +## ----------------------------------------------------------------------------- + +func _ready(): + # Set this dialog as the latest (used for saving) + Engine.get_main_loop().set_meta('latest_dialogic_node', self) + + # Loading the config files + load_config_files() + update_custom_events() + + # Checking if the dialog should read the code from a external file + if not timeline.empty(): + set_current_dialog(timeline) + elif dialog_script.keys().size() == 0: + dialog_script = { + "events":[ + {'event_id':'dialogic_001', + "character":"","portrait":"", + "text":"[Dialogic Error] No timeline specified."}] + } + # Load the dialog directly from GDscript + else: + load_dialog() + + # Connecting resize signal + get_viewport().connect("size_changed", self, "resize_main") + resize_main() + + # Connecting some other timers + $OptionsDelayedInput.connect("timeout", self, '_on_OptionsDelayedInput_timeout') + + # Setting everything up for the node to be default + $DefinitionInfo.visible = false + $TextBubble.connect("text_completed", self, "_on_text_completed") + $TextBubble.connect("letter_written", self, "_on_letter_written") + $TextBubble/RichTextLabel.connect('meta_hover_started', self, '_on_RichTextLabel_meta_hover_started') + $TextBubble/RichTextLabel.connect('meta_hover_ended', self, '_on_RichTextLabel_meta_hover_ended') + + # Getting the character information + characters = DialogicUtil.get_character_list() + + if Engine.is_editor_hint(): + if preview: + get_parent().connect("resized", self, "resize_main") + _init_dialog() + $DefinitionInfo.in_theme_editor = true + else: + if do_fade_in: _hide_dialog() + _init_dialog() + + +# loads the definitions, themes and settings +func load_config_files(): + + # defintiions + if not Engine.is_editor_hint(): + definitions = Dialogic._get_definitions() + else: + definitions = DialogicResources.get_default_definitions() + + # settings + settings = DialogicResources.get_settings_config() + + # theme + var theme_file = 'res://addons/dialogic/Editor/ThemeEditor/default-theme.cfg' + if settings.has_section('theme'): + theme_file = settings.get_value('theme', 'default') + current_theme = load_theme(theme_file) + + + +## ----------------------------------------------------------------------------- +## CUSTOM EVENTS +## ----------------------------------------------------------------------------- +func update_custom_events() -> void: + custom_events = {} + + var path:String = DialogicResources.get_working_directories()["CUSTOM_EVENTS_DIR"] + + var dir = Directory.new() + if dir.open(path) == OK: + dir.list_dir_begin() + var file_name = dir.get_next() + # goes through all the folders in the custom events folder + while file_name != "": + # if it found a folder + if dir.current_is_dir() and not file_name in ['.', '..']: + + # look through that folder + #print("Found custom event folder: " + file_name) + var event = load(path.plus_file(file_name).plus_file('EventBlock.tscn')).instance() + if event: + custom_events[event.event_data['event_id']] = { + 'event_script' :path.plus_file(file_name).plus_file('event_'+event.event_data['event_id']+'.gd'), + 'event_name' : event.event_name, + } + event.queue_free() + else: + print("[D] An error occurred when trying to access a custom event.") + + + else: + pass # files in the directory are ignored + file_name = dir.get_next() + else: + print("[D] An error occurred when trying to access the custom event folder.") + + +## ----------------------------------------------------------------------------- +## VISUALS +## ----------------------------------------------------------------------------- + +# This function makes sure that the dialog is displayed at the correct +# size and position in the screen. +func resize_main(): + var reference = rect_size + if not Engine.is_editor_hint(): + set_global_position(Vector2(0,0)) + reference = get_viewport().get_visible_rect().size + + # Update box position + var anchor = current_theme.get_value('box', 'anchor', 9) + # TODO: remove backups in 2.0 + var gap_v = current_theme.get_value('box', 'box_margin_v', current_theme.get_value('box', 'bottom_gap', 40)) + var gap_h = current_theme.get_value('box', 'box_margin_h', current_theme.get_value('box', 'bottom_gap', 40)) + # first the y position + if anchor in [0,1,2]: # TOP + $TextBubble.rect_position.y = gap_h + elif anchor in [4,5,6]: # CENTER + $TextBubble.rect_position.y = (reference.y/2)-($TextBubble.rect_size.y/2) + else: + $TextBubble.rect_position.y = (reference.y) - ($TextBubble.rect_size.y)-gap_h + + # now x position + if anchor in [0,4,8]: # LEFT + $TextBubble.rect_position.x = gap_v + elif anchor in [1,5,9]: # CENTER + $TextBubble.rect_position.x = (reference.x / 2) - ($TextBubble.rect_size.x / 2) + else: + $TextBubble.rect_position.x = reference.x - ($TextBubble.rect_size.x) - gap_v + + # Update TextBubble background size + var pos_x = 0 + if current_theme.get_value('background', 'full_width', false): + if preview: + pos_x = get_parent().rect_global_position.x + $TextBubble/TextureRect.rect_global_position.x = pos_x + $TextBubble/ColorRect.rect_global_position.x = pos_x + $TextBubble/TextureRect.rect_size.x = reference.x + $TextBubble/ColorRect.rect_size.x = reference.x + else: + $TextBubble/TextureRect.rect_global_position.x = $TextBubble.rect_global_position.x + $TextBubble/ColorRect.rect_global_position.x = $TextBubble.rect_global_position.x + $TextBubble/TextureRect.rect_size.x = $TextBubble.rect_size.x + $TextBubble/ColorRect.rect_size.x = $TextBubble.rect_size.x + + # Button positioning + var button_anchor = current_theme.get_value('buttons', 'anchor', 5) + var anchor_vertical = 1 + var anchor_horizontal = 1 + # OMG WHY IS TIHS NOT A MATCH I CAN'T BELIEVE YOU, WHY YOU DOING THIS TO ME + if button_anchor == 0: + anchor_vertical = 0 + anchor_horizontal = 0 + elif button_anchor == 1: + anchor_vertical = 0 + elif button_anchor == 2: + anchor_vertical = 0 + anchor_horizontal = 2 + # Number skip because of the separator + elif button_anchor == 4: + anchor_horizontal = 0 + elif button_anchor == 6: + anchor_horizontal = 2 + # Number skip because of the separator + elif button_anchor == 8: + anchor_vertical = 2 + anchor_horizontal = 0 + elif button_anchor == 9: + anchor_vertical = 2 + elif button_anchor == 10: + anchor_vertical = 2 + anchor_horizontal = 2 + + var theme_choice_offset = current_theme.get_value('buttons', 'offset', Vector2(0,0)) + var position_offset = Vector2(0,0) + + if anchor_horizontal == 0: + position_offset.x = (reference.x / 2) * -1 + elif anchor_horizontal == 1: + position_offset.x = 0 + elif anchor_horizontal == 2: + position_offset.x = (reference.x / 2) + + if anchor_vertical == 0: + position_offset.y -= (reference.y / 2) + elif anchor_vertical == 1: + position_offset.y += 0 + elif anchor_vertical == 2: + position_offset.y += (reference.y / 2) + + $Options.rect_global_position = Vector2(0,0) + theme_choice_offset + position_offset + $Options.rect_size = reference + + + # Background positioning + var background = get_node_or_null('Background') + if background != null: + background.rect_size = reference + + var portraits = get_node_or_null('Portraits') + if portraits != null: + portraits.rect_position.x = reference.x / 2 + portraits.rect_position.y = reference.y + +# calls resize_main +func deferred_resize(current_size, result): + $TextBubble.rect_size = result + if current_size != $TextBubble.rect_size: + resize_main() + +# loads the given theme file +func load_theme(filename): + var theme = DialogicResources.get_theme_config(filename) + + # Box size + call_deferred('deferred_resize', $TextBubble.rect_size, theme.get_value('box', 'size', Vector2(910, 167))) + + # HERE + var settings_input = settings.get_value('input', 'default_action_key', '[Default]') + var theme_input = theme.get_value('settings', 'action_key', '[Default]') + + input_next = 'ui_accept' + if settings_input != '[Default]': + input_next = settings_input + if theme_input != '[Default]': + input_next = theme_input + + + $TextBubble.load_theme(theme) + + $DefinitionInfo.load_theme(theme) + + if theme.get_value('buttons', 'layout', 0) == 0: + button_container = VBoxContainer.new() + else: + button_container = HBoxContainer.new() + button_container.name = 'ButtonContainer' + button_container.alignment = 1 + + for n in $Options.get_children(): + n.queue_free() + $Options.add_child(button_container) + + load_audio(theme) + + return theme + + +## ----------------------------------------------------------------------------- +## AUDIO +## ----------------------------------------------------------------------------- + +func load_audio(theme): + # Audio + var default_audio_file = "res://addons/dialogic/Example Assets/Sound Effects/Beep.wav" + var default_audio_data = { + 'enable': false, + 'path': default_audio_file, + 'volume': 0.0, + 'volume_rand_range': 0.0, + 'pitch': 1.0, + 'pitch_rand_range': 0.0, + 'allow_interrupt': true, + 'audio_bus': AudioServer.get_bus_name(0) + } + + for audio_node in $FX/Audio.get_children(): + var name = audio_node.name.to_lower() + audio_data[name] = theme.get_value('audio', name, default_audio_data) + + var file_system = Directory.new() + if file_system.dir_exists(audio_data[name].path): + audio_node.load_samples_from_folder(audio_data[name].path) + elif file_system.file_exists(audio_data[name].path) or file_system.file_exists(audio_data[name].path + '.import'): + audio_node.samples = [load(audio_data[name].path)] + + audio_node.set_volume_db(audio_data[name].volume) + audio_node.random_volume_range = audio_data[name].volume_rand_range + audio_node.set_pitch_scale(audio_data[name].pitch) + audio_node.random_pitch_range = audio_data[name].pitch_rand_range + audio_node.set_bus(audio_data[name].audio_bus) + +func play_audio(name): + var node = $FX/Audio.get_node(name.capitalize()) + name = name.to_lower() + if audio_data[name].enable: + if audio_data[name].allow_interrupt or not node.is_playing(): + node.play() + + +## ----------------------------------------------------------------------------- +## LOADING/PARSING DIALOG +## ----------------------------------------------------------------------------- +# load a timeline file and start parsing +func set_current_dialog(dialog_path: String): + current_timeline = dialog_path + dialog_script = DialogicResources.get_timeline_json(dialog_path) + return load_dialog() + +# set the dialog script directly +func set_dialog_script(value): + dialog_script = value + +# starts all necessary parsing +func load_dialog(): + # All this parse events should be happening in the same loop ideally + # But until performance is not an issue I will probably stay lazy + # And keep adding different functions for each parsing operation. + if settings.has_section_key('dialog', 'auto_color_names'): + if settings.get_value('dialog', 'auto_color_names'): + dialog_script = parse_characters(dialog_script) + else: + dialog_script = parse_characters(dialog_script) + dialog_script = parse_text_lines(dialog_script) + dialog_script = parse_branches(dialog_script) + return dialog_script + +# adds name coloring to the dialog texts +func parse_characters(dialog_script): + var characters = DialogicUtil.get_character_list() + + var event_index := 0 + for event in dialog_script['events']: + # if this is a text or question event + if event.get('event_id') in ['dialogic_001', 'dialogic_010']: + var text :String = event.get({'dialogic_001':'text', 'dialogic_010':'question'}[event.get('event_id')], '') + + for character in characters: + # check whether to use the name or the display name + var char_names = [character.get('name')] + if character.get('data', {}).get('display_name_bool', false): + char_names.append(character.get('display_name')) + if character.get('data', {}).get('nickname_bool', false): + for nickname in character.get('data').get('nickname', '').split(',', true, 0): + char_names.append(nickname.strip_edges()) + + #Regex purposefully excludes [] as replacing those interferes with the second regex + var escapeRegExp = "(?=[+&|!(){}^\"~*.?:\\\\-])" + + var regex = RegEx.new() + regex.compile(escapeRegExp) + char_names = regex.sub(str(char_names), "\\", true) + + var regex_thing = str(char_names).replace("[", "(").replace("]", ")").replace(", ", "|")+'\\b' + regex.compile(regex_thing) + + var counter = 0 + for result in regex.search_all(text): + text = text.insert(result.get_start()+((9+8+8)*counter), '[color=#' + character['color'].to_html() + ']') + text = text.insert(result.get_end()+9+8+((9+8+8)*counter), '[/color]') + result = regex.search(text) + counter += 1 + dialog_script['events'][event_index][{'dialogic_001':'text', 'dialogic_010':'question'}[event.get('event_id')]] = text + + event_index += 1 + + return dialog_script + +# removes empty lines, splits message at new lines +func parse_text_lines(unparsed_dialog_script: Dictionary) -> Dictionary: + var parsed_dialog: Dictionary = unparsed_dialog_script + var new_events: Array = [] + var split_new_lines = true + var remove_empty_messages = true + + # Return the same thing if it doesn't have events + if unparsed_dialog_script.has('events') == false: + return unparsed_dialog_script + + # Getting extra settings + if settings.has_section_key('dialog', 'remove_empty_messages'): + remove_empty_messages = settings.get_value('dialog', 'remove_empty_messages') + if settings.has_section_key('dialog', 'new_lines'): + split_new_lines = settings.get_value('dialog', 'new_lines') + + # Parsing + for event in unparsed_dialog_script['events']: + if event.has('text') and event.has('character') and event.has('portrait'): + if event['text'].empty() and remove_empty_messages == true: + pass + elif '\n' in event['text'] and preview == false and split_new_lines == true: + var lines = event['text'].split('\n') + var counter = 0 + for line in lines: + if not line.empty(): + var n_event = { + 'event_id':'dialogic_001', + 'text': line, + 'character': event['character'], + 'portrait': event['portrait'], + } + #assigning voices to the new events + if event.has('voice_data'): + if event['voice_data'].has(str(counter)): + n_event['voice_data'] = {'0':event['voice_data'][str(counter)]} + new_events.append(n_event) + counter += 1 + else: + new_events.append(event) + else: + new_events.append(event) + + parsed_dialog['events'] = new_events + + return parsed_dialog + +# adds the alignment BBCode to text events +func parse_alignment(text): + var alignment = current_theme.get_value('text', 'alignment', 'Left') + var fname = current_theme.get_value('settings', 'name', 'none') + if alignment == 'Center': + text = '[center]' + text + '[/center]' + elif alignment == 'Right': + text = '[right]' + text + '[/right]' + return text + +# creates a list of questions to be used at the end of choices +func parse_branches(dialog_script: Dictionary) -> Dictionary: + questions = [] # Resetting the questions + + # Return the same thing if it doesn't have events + if dialog_script.has('events') == false: + return dialog_script + + var parser_queue = [] # This saves the last question opened, and it gets removed once it was consumed by a endbranch event + var event_idx: int = 0 # The current id for jumping later on + var question_idx: int = 0 # identifying the questions to assign options to it + for event in dialog_script['events']: + if event['event_id'] == 'dialogic_011': + var opened_branch = parser_queue.back() + var option = { + 'question_idx': opened_branch['question_idx'], + 'label': parse_definitions(event['choice'], true, false), + 'event_idx': event_idx, + } + if event.has('condition') and event.has('definition') and event.has('value'): + option = { + 'question_idx': opened_branch['question_idx'], + 'label': parse_definitions(event['choice'], true, false), + 'event_idx': event_idx, + 'condition': event['condition'], + 'definition': event['definition'], + 'value': event['value'], + } + else: + option = { + 'question_idx': opened_branch['question_idx'], + 'label': parse_definitions(event['choice'], true, false), + 'event_idx': event_idx, + 'condition': '', + 'definition': '', + 'value': '', + } + dialog_script['events'][opened_branch['event_idx']]['options'].append(option) + event['question_idx'] = opened_branch['question_idx'] + elif event['event_id'] == 'dialogic_010': + event['event_idx'] = event_idx + event['question_idx'] = question_idx + event['answered'] = false + question_idx += 1 + questions.append(event) + parser_queue.append(event) + elif event['event_id'] == 'dialogic_012': + event['event_idx'] = event_idx + event['question_idx'] = question_idx + event['answered'] = false + question_idx += 1 + questions.append(event) + parser_queue.append(event) + elif event['event_id'] == 'dialogic_013': + event['event_idx'] = event_idx + var opened_branch = parser_queue.pop_back() + event['end_branch_of'] = opened_branch['question_idx'] + dialog_script['events'][opened_branch['event_idx']]['end_idx'] = event_idx + event_idx += 1 + + return dialog_script + +# returns the text but with BBcode for glossary and the values of the variables +func parse_definitions(text: String, variables: bool = true, glossary: bool = true): + var final_text: String = text + if not preview: + definitions = Dialogic._get_definitions() + if variables: + final_text = _insert_variable_definitions(text) + if glossary and _should_show_glossary(): + final_text = _insert_glossary_definitions(final_text) + return final_text + +# adds the values of the variables +func _insert_variable_definitions(text: String): + var final_text := text; + for d in definitions['variables']: + var name : String = d['name']; + final_text = final_text.replace('[' + name + ']', d['value']) + return final_text; + +# adds the BBCode for the glossary words +func _insert_glossary_definitions(text: String): + var color = current_theme.get_value('definitions', 'color', '#ffbebebe') + var final_text := text; + # I should use regex here, but this is way easier :) + for d in definitions['glossary']: + final_text = final_text.replace(d['name'], + '[url=' + d['id'] + ']' + + '[color=' + color + ']' + d['name'] + '[/color]' + + '[/url]' + ) + return final_text; + + +## ----------------------------------------------------------------------------- +## MAIN GAME-LOGIC +## ----------------------------------------------------------------------------- +# checks if NextIndicator and ChoiceButtons should be visible +func _process(delta): + $TextBubble/NextIndicatorContainer/NextIndicator.visible = finished + if button_container.get_child_count() > 0: + $TextBubble/NextIndicatorContainer/NextIndicator.visible = false # Hide if question + if waiting_for_answer and Input.is_action_just_released(input_next): + button_container.get_child(0).grab_focus() + + # Hide if no input is required + if current_event.has('text'): + if '[nw]' in current_event['text'] or '[nw=' in current_event['text']: + $TextBubble/NextIndicatorContainer/NextIndicator.visible = false + + # Hide if fading in + if while_dialog_animation: + $TextBubble/NextIndicatorContainer/NextIndicator.visible = false + +# checks for the "input_next" action +func _input(event: InputEvent) -> void: + if not Engine.is_editor_hint() and event.is_action_pressed(input_next) and not waiting: + if not $TextBubble.is_finished(): + # Skip to end if key is pressed during the text animation + $TextBubble.skip() + # Cut the voice + $FX/CharacterVoice.stop_voice() + else: + if waiting_for_answer == false and waiting_for_input == false and while_dialog_animation == false: + $FX/CharacterVoice.stop_voice() # stop the current voice as well + play_audio("passing") + _load_next_event() + if settings.has_section_key('dialog', 'propagate_input'): + var propagate_input: bool = settings.get_value('dialog', 'propagate_input') + if not propagate_input: + get_tree().set_input_as_handled() + +# when the text finished showing +# plays audio, adds buttons, handles [nw] +func _on_text_completed(): + emit_signal('text_complete', current_event) + + play_audio('waiting') + + finished = true + + # Add the choice buttons for questions + if current_event.has('options'): + var waiting_until_options_enabled = float(settings.get_value('input', 'delay_after_options', 0.1)) + $OptionsDelayedInput.start(waiting_until_options_enabled) + + for o in current_event['options']: + add_choice_button(o) + + if current_event.has('text'): + # [p] needs more work + # Setting the timer for how long to wait in the [nw] events + if '[nw]' in current_event['text'] or '[nw=' in current_event['text']: + var waiting_time = 2 + var current_index = dialog_index + if '[nw=' in current_event['text']: # Regex stuff + var regex = RegEx.new() + regex.compile("\\[nw=(.+?)\\](.*?)") + var result = regex.search(current_event['text']) + var wait_settings = result.get_string() + waiting_time = float(wait_settings.split('=')[1]) + + yield(get_tree().create_timer(waiting_time), "timeout") + if dialog_index == current_index: + _load_next_event() + + +# emits timeline_start and handles autosaving +func on_timeline_start(): + if not Engine.is_editor_hint(): + if settings.get_value('saving', 'autosave', true): + # save to the default slot + Dialogic.save('', true) + # TODO remove event_start in 2.0 + emit_signal("event_start", "timeline", current_timeline) + emit_signal("timeline_start", current_timeline) + +# emits timeline_end and handles autosaving +func on_timeline_end(): + if not Engine.is_editor_hint(): + if settings.get_value('saving', 'autosave', true): + # save to the default slot + Dialogic.save('', true) + # TODO remove event_end in 2.0 + emit_signal("event_end", "timeline") + emit_signal("timeline_end", current_timeline) + dprint('[D] Timeline End') + +# does checks and calls the above functions +func _emit_timeline_signals(): + if dialog_script.has('events'): + if dialog_index == 0: + on_timeline_start() + elif _is_dialog_finished(): + on_timeline_end() + + +# resets dialog_index and starts first event +func _init_dialog(): + dialog_index = 0 + _load_event() + +# jumps to the event at the given index +func _load_event_at_index(index: int): + dialog_index = index + _load_event() + +# loads the next event +func _load_next_event(): + dialog_index += 1 + _load_event() + +# returns true if dialog_index is outside of the events indexes +func _is_dialog_finished(): + return dialog_index >= dialog_script['events'].size() + +# calls the event_handler +func _load_event(): + _emit_timeline_signals() + _hide_definition_popup() + + if dialog_script.has('events'): + if not _is_dialog_finished(): + # CHECK IF NECESSARY! + var func_state = event_handler(dialog_script['events'][dialog_index]) + #if (func_state is GDScriptFunctionState): + # print(func_state) + # yield(func_state, "completed") + elif not Engine.is_editor_hint(): + # Do not free the dialog if we are in the preview + queue_free() + +# Handling an event and updating the available nodes accordingly. +func event_handler(event: Dictionary): + $TextBubble.reset() + reset_options() + + dprint('[D] Current Event: ', event) + current_event = event + match event['event_id']: + # MAIN EVENTS + # Text Event + 'dialogic_001': + emit_signal("event_start", "text", event) + fade_in_dialog() + finished = false + if event.has('character'): + var character_data = get_character(event['character']) + update_name(character_data) + grab_portrait_focus(character_data, event) + #voice + handle_voice(event) + update_text(event['text']) + # Join event + 'dialogic_002': + ## PLEASE UPDATE THIS! BUT HOW? + emit_signal("event_start", "action", event) + if event['character'] == '':# No character found on the event. Skip. + _load_next_event() + else: + var character_data = get_character(event['character']) + if portrait_exists(character_data): + for portrait in $Portraits.get_children(): + if portrait.character_data == character_data: + portrait.move_to_position(get_character_position(event['position'])) + portrait.set_mirror(event.get('mirror', false)) + portrait.current_state['position'] = event['position'] + else: + var p = Portrait.instance() + var char_portrait = event['portrait'] + if char_portrait == '': + char_portrait = 'Default' + + if char_portrait == '[Definition]' and event.has('port_defn'): + var portrait_definition = event['port_defn'] + if portrait_definition != '': + for d in DialogicResources.get_default_definitions()['variables']: + if d['id'] == portrait_definition: + char_portrait = d['value'] + break + + if current_theme.get_value('settings', 'single_portrait_mode', false): + p.single_portrait_mode = true + p.character_data = character_data + p.init(char_portrait) + p.set_mirror(event.get('mirror', false)) + $Portraits.add_child(p) + p.move_to_position(get_character_position(event['position'])) + p.current_state['character'] = event['character'] + p.current_state['position'] = event['position'] + _load_next_event() + # Character Leave event + 'dialogic_003': + ## PLEASE UPDATE THIS! BUT HOW? + emit_signal("event_start", "action", event) + if event['character'] == '[All]': + characters_leave_all() + else: + for p in $Portraits.get_children(): + if p.character_data['file'] == event['character']: + p.fade_out() + _load_next_event() + + # LOGIC EVENTS + # Question event + 'dialogic_010': + emit_signal("event_start", "question", event) + fade_in_dialog() + finished = false + waiting_for_answer = true + if event.has('name'): + update_name(event['name']) + elif event.has('character'): + var character_data = get_character(event['character']) + update_name(character_data) + grab_portrait_focus(character_data, event) + #voice + handle_voice(event) + update_text(event['question']) + # Choice event + 'dialogic_011': + emit_signal("event_start", "choice", event) + for q in questions: + if q['question_idx'] == event['question_idx']: + if q['answered']: + # If the option is for an answered question, skip to the end of it. + _load_event_at_index(q['end_idx']) + # Condition event + 'dialogic_012': + # Treating this conditional as an option on a regular question event + var def_value = null + var current_question = questions[event['question_idx']] + + for d in definitions['variables']: + if d['id'] == event['definition']: + def_value = d['value'] + + var condition_met = def_value != null and _compare_definitions(def_value, event['value'], event['condition']); + + current_question['answered'] = !condition_met + if !condition_met: + # condition not met, skipping branch + _load_event_at_index(current_question['end_idx']) + else: + # condition met, entering branch + _load_next_event() + # End Branch event + 'dialogic_013': + emit_signal("event_start", "endbranch", event) + _load_next_event() + # Set Value event + 'dialogic_014': + emit_signal("event_start", "set_value", event) + var operation = '=' + if 'operation' in event and not event['operation'].empty(): + operation = event["operation"] + var value = event['set_value'] + if event.get('set_random', false): + value = str(randi()%int(event.get("random_upper_limit", 100)-event.get('random_lower_limit', 0))+event.get('random_lower_limit', 0)) + Dialogic.set_variable_from_id(event['definition'], value, operation) + _load_next_event() + + + # TIMELINE EVENTS + # Change Timeline event + 'dialogic_020': + dialog_script = set_current_dialog(event['change_timeline']) + _init_dialog() + # Change Backround event + 'dialogic_021': + emit_signal("event_start", "background", event) + var fade_time = event.get('fade_duration', 1) + var value = event.get('background', '') + var background = get_node_or_null('Background') + + current_background = event['background'] + if background != null: + background.name = "BackgroundFadingOut" + background.fade_out(fade_time) + background = null + + if value != '': + background = Background.instance() + add_child(background) + if (event['background'].ends_with('.tscn')): + var bg_scene = load(event['background']) + bg_scene = bg_scene.instance() + background.modulate = Color(1,1,1,0) + background.fade_in(fade_time) + background.add_child(bg_scene) + else: + background.texture = load(value) + background.create_tween() + background.fade_in(fade_time) + call_deferred('resize_main') # Executing the resize main to update the background size + + _load_next_event() + # Close Dialog event + 'dialogic_022': + emit_signal("event_start", "close_dialog", event) + + while_dialog_animation = true + var transition_duration = event.get('transition_duration', 1.0) + + # fade out characters + characters_leave_all() + + # fade out background + var background = get_node_or_null('Background') + if background != null: + background.name = 'BackgroundFadingOut' + background.fade_out(transition_duration) + + if transition_duration != 0: + var tween = Tween.new() + add_child(tween) + tween.interpolate_property($TextBubble, "modulate", + $TextBubble.modulate, Color('#00ffffff'), transition_duration, + Tween.TRANS_LINEAR, Tween.EASE_IN_OUT) + tween.start() + yield(tween, "tween_all_completed") + + on_timeline_end() + queue_free() + # Wait seconds event + 'dialogic_023': + emit_signal("event_start", "wait", event) + $TextBubble.visible = false + waiting = true + yield(get_tree().create_timer(event['wait_seconds']), "timeout") + waiting = false + $TextBubble.visible = true + emit_signal("event_end", "wait") + _load_next_event() + # Set Theme event + 'dialogic_024': + emit_signal("event_start", "set_theme", event) + if event['set_theme'] != '': + current_theme = load_theme(event['set_theme']) + resize_main() + _load_next_event() + # Set Glossary event + 'dialogic_025': + emit_signal("event_start", "set_glossary", event) + if event['glossary_id']: + Dialogic.set_glossary_from_id(event['glossary_id'], event['title'], event['text'],event['extra']) + _load_next_event() + # Save event + 'dialogic_026': + emit_signal('event_start', 'save', event) + var custom_slot :String = event.get('custom_slot', '').strip_edges() + if event.get('use_default_slot', true) or custom_slot == '': + Dialogic.save() + else: + if custom_slot.begins_with("[") and custom_slot.ends_with("]"): + custom_slot = custom_slot.trim_prefix("[").trim_suffix("]") + var saved = false + for definition in definitions['variables']: + if definition['name'] == custom_slot: + Dialogic.save(definition['value']) + saved = true + if not saved: + print("[D] Tried to access value definition '"+custom_slot+"' for saving, but it didn't exist.") + else: + Dialogic.save(custom_slot) + + _load_next_event() + + # AUDIO EVENTS + # Audio event + 'dialogic_030': + emit_signal("event_start", "audio", event) + if event['audio'] == 'play' and 'file' in event.keys() and not event['file'].empty(): + var audio = get_node_or_null('AudioEvent') + if audio == null: + audio = AudioStreamPlayer.new() + audio.name = 'AudioEvent' + add_child(audio) + if event.has('audio_bus'): + if AudioServer.get_bus_index(event['audio_bus']) >= 0: + audio.bus = event['audio_bus'] + if event.has('volume'): + audio.volume_db = event['volume'] + audio.stream = load(event['file']) + audio.play() + else: + var audio = get_node_or_null('AudioEvent') + if audio != null: + audio.stop() + audio.queue_free() + _load_next_event() + # Background Music event + 'dialogic_031': + emit_signal("event_start", "background-music", event) + if event['background-music'] == 'play' and 'file' in event.keys() and not event['file'].empty(): + $FX/BackgroundMusic.crossfade_to(event['file'], event.get('audio_bus', 'Master'), event.get('volume', 0), event.get('fade_length', 1)) + else: + $FX/BackgroundMusic.fade_out(event.get('fade_length', 1)) + _load_next_event() + + # GODOT EVENTS + # Emit signal event + 'dialogic_040': + dprint('[!] Emitting signal: dialogic_signal(', event['emit_signal'], ')') + emit_signal("dialogic_signal", event['emit_signal']) + _load_next_event() + # Change Scene event + 'dialogic_041': + if event.has('scene'): + get_tree().change_scene(event['scene']) + elif event.has('change_scene'): + get_tree().change_scene(event['change_scene']) + # Call Node event + 'dialogic_042': + dprint('[!] Call Node signal: dialogic_signal(call_node) ', var2str(event['call_node'])) + emit_signal("event_start", "call_node", event) + $TextBubble.visible = false + waiting = true + var target = get_node_or_null(event['call_node']['target_node_path']) + if not target: + target = get_tree().root.get_node_or_null(event['call_node']['target_node_path']) + var method_name = event['call_node']['method_name'] + var args = event['call_node']['arguments'] + if (not args is Array): + args = [] + + if (target != null): + if (target.has_method(method_name)): + if (args.empty()): + var func_result = target.call(method_name) + if (func_result is GDScriptFunctionState): + yield(func_result, "completed") + else: + var func_result = target.call(method_name, args) + if (func_result is GDScriptFunctionState): + yield(func_result, "completed") + + waiting = false + $TextBubble.visible = true + _load_next_event() + _: + if event['event_id'] in custom_events.keys(): + dprint("[D] Custom event '"+custom_events[event['event_id']]['event_name']+"'") + + var handler = Node.new() + handler.set_script(load(custom_events[event['event_id']]['event_script'])) + + handler.handle_event(event, self) + + else: + visible = false + dprint('[D] No event found. Recevied data: ', event) + + $Options.visible = waiting_for_answer + +## ----------------------------------------------------------------------------- +## TEXTBOX-FUNCTIONALITY +## ----------------------------------------------------------------------------- +# updates the Name Label +func update_name(character) -> void: + if character.has('name'): + var parsed_name = character['name'] + if character.has('display_name'): + if character['display_name'] != '': + parsed_name = character['display_name'] + parsed_name = parse_definitions(parsed_name, true, false) + $TextBubble.update_name(parsed_name, character.get('color', Color.white), current_theme.get_value('name', 'auto_color', true)) + else: + $TextBubble.update_name('') + +# shows the given text in the Text Bubble +# handles the simple translation feature +func update_text(text: String) -> String: + if settings.has_section_key('dialog', 'translations') and settings.get_value('dialog', 'translations'): + text = tr(text) + var final_text = parse_definitions(parse_alignment(text)) + final_text = final_text.replace('[br]', '\n') + + $TextBubble.update_text(final_text) + return final_text + +# plays a sound +func _on_letter_written(): + play_audio('typing') + + +## ----------------------------------------------------------------------------- +## CHOICE/OPTION BUTTONS +## ----------------------------------------------------------------------------- + +# called when a choice is selected +# hides choices, sets question as answered and jumps to the appropriate event +func answer_question(i, event_idx, question_idx): + if $TextBubble.is_finished(): # CHECK IF NECESSARY! + dprint('[!] Going to ', event_idx + 1, i, 'question_idx:', question_idx) + + play_audio("selecting") + + reset_options() + + # set flags and continue dialog + waiting_for_answer = false + questions[question_idx]['answered'] = true + _load_event_at_index(event_idx + 1) + + # Revert to last mouse mode when selection is done + if last_mouse_mode != null: + Input.set_mouse_mode(last_mouse_mode) + last_mouse_mode = null + +# deletest the choice buttons +func reset_options(): + # Clearing out the options after one was selected. + for option in button_container.get_children(): + option.queue_free() + +# adds a button for the given choice +func add_choice_button(option: Dictionary): + if not _should_add_choice_button(option): + return + + var button + if use_custom_choice_button(): + button = get_custom_choice_button(option['label']) + else: + button = get_classic_choice_button(option['label']) + + if use_native_choice_button() or use_custom_choice_button(): + button_container.set('custom_constants/separation', current_theme.get_value('buttons', 'gap', 20)) + button_container.add_child(button) + + # Selecting the first button added + if button_container.get_child_count() == 1: + button.grab_focus() + + # Adding audio when focused or hovered + button.connect('focus_entered', self, '_on_option_hovered', [button]) + button.connect('mouse_entered', self, '_on_option_focused') + + button.set_meta('event_idx', option['event_idx']) + button.set_meta('question_idx', option['question_idx']) + + if Input.get_mouse_mode() != Input.MOUSE_MODE_VISIBLE: + last_mouse_mode = Input.get_mouse_mode() + Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE) # Make sure the cursor is visible for the options selection + +# checks the condition of the given option +func _should_add_choice_button(option: Dictionary): + if not option['definition'].empty(): + var def_value = null + for d in definitions['variables']: + if d['id'] == option['definition']: + def_value = d['value'] + return def_value != null and _compare_definitions(def_value, option['value'], option['condition']); + else: + return true + +# checks the 'custom_choice_button' setting +func use_custom_choice_button(): + return current_theme.get_value('buttons', 'use_custom', false) and not current_theme.get_value('buttons', 'custom_path', "").empty() + +# checks the 'native_choice_button' setting +func use_native_choice_button(): + return current_theme.get_value('buttons', 'use_native', false) + +# instances a custom choice +func get_custom_choice_button(label: String): + var theme = current_theme + var custom_path = current_theme.get_value('buttons', 'custom_path', "") + var CustomChoiceButton = load(custom_path) + var button = CustomChoiceButton.instance() + button.text = label + return button + +# instances a normal dialogic button +func get_classic_choice_button(label: String): + var theme = current_theme + var button : Button = ChoiceButton.instance() + button.text = label + button.set_meta('input_next', input_next) + + # Removing the blue selected border + button.set('custom_styles/focus', StyleBoxEmpty.new()) + # Text + button.set('custom_fonts/font', DialogicUtil.path_fixer_load(theme.get_value('text', 'font', "res://addons/dialogic/Example Assets/Fonts/DefaultFont.tres"))) + + if not use_native_choice_button(): + if theme.get_value('buttons', 'fixed', false): + var size = theme.get_value('buttons', 'fixed_size', Vector2(130,40)) + button.rect_min_size = size + button.rect_size = size + + button_container.set('custom_constants/separation', theme.get_value('buttons', 'gap', 20)) + + # Different styles + var default_background = 'res://addons/dialogic/Example Assets/backgrounds/background-2.png' + var default_style = [ + false, # 0 $TextColor/CheckBox + Color.white, # 1 $TextColor/ColorPickerButton + false, # 2 $FlatBackground/CheckBox + Color.black, # 3 $FlatBackground/ColorPickerButton + true, # 4 $BackgroundTexture/CheckBox + default_background, # 5 $BackgroundTexture/Button + false, # 6 $TextureModulation/CheckBox + Color.white, # 7 $TextureModulation/ColorPickerButton + ] + + var style_normal = theme.get_value('buttons', 'normal', default_style) + var style_hover = theme.get_value('buttons', 'hover', default_style) + var style_pressed = theme.get_value('buttons', 'pressed', default_style) + var style_disabled = theme.get_value('buttons', 'disabled', default_style) + + # Text color + var default_color = Color(theme.get_value('text', 'color', '#ffffff')) + button.set('custom_colors/font_color', default_color) + button.set('custom_colors/font_color_hover', default_color.lightened(0.2)) + button.set('custom_colors/font_color_pressed', default_color.darkened(0.2)) + button.set('custom_colors/font_color_disabled', default_color.darkened(0.8)) + + if style_normal[0]: + button.set('custom_colors/font_color', style_normal[1]) + if style_hover[0]: + button.set('custom_colors/font_color_hover', style_hover[1]) + if style_pressed[0]: + button.set('custom_colors/font_color_pressed', style_pressed[1]) + if style_disabled[0]: + button.set('custom_colors/font_color_disabled', style_disabled[1]) + + + # Style normal + button_style_setter('normal', style_normal, button, theme) + button_style_setter('hover', style_hover, button, theme) + button_style_setter('pressed', style_pressed, button, theme) + button_style_setter('disabled', style_disabled, button, theme) + return button + +# adds parts of a style to the given button +func button_style_setter(section, data, button, theme): + var style_box = StyleBoxTexture.new() + if data[2]: + # I'm using a white texture to do the flat style because otherwise the padding doesn't work. + style_box.set('texture', DialogicUtil.path_fixer_load("res://addons/dialogic/Images/Plugin/white-texture.png")) + style_box.set('modulate_color', data[3]) + else: + if data[4]: + style_box.set('texture', DialogicUtil.path_fixer_load(data[5])) + if data[6]: + style_box.set('modulate_color', data[7]) + + # Padding + var padding = theme.get_value('buttons', 'padding', Vector2(5,5)) + style_box.set('margin_left', padding.x) + style_box.set('margin_right', padding.x) + style_box.set('margin_top', padding.y) + style_box.set('margin_bottom', padding.y) + button.set('custom_styles/' + section, style_box) + +# focuses button on hover +func _on_option_hovered(button): + button.grab_focus() + +# plays the sound +func _on_option_focused(): + play_audio("hovering") + +# connects the signals after a short delay to make accidental clicking less likely +func _on_OptionsDelayedInput_timeout(): + for button in button_container.get_children(): + if button.is_connected("pressed", self, "answer_question") == false: + button.connect("pressed", self, "answer_question", [button, button.get_meta('event_idx'), button.get_meta('question_idx')]) + +## ----------------------------------------------------------------------------- +## VOICE LINE FEATURE +## ----------------------------------------------------------------------------- +# plays the voice line of the event +func handle_voice(event): + var settings_file = DialogicResources.get_settings_config() + if not settings_file.get_value('dialog', 'text_event_audio_enable', false): + return + # In game only + if Engine.is_editor_hint(): + return + + if event.has('voice_data'): + var voice_data = event['voice_data'] + if voice_data.has('0'): + $FX/CharacterVoice.play_voice(voice_data['0']) + return + + $FX/CharacterVoice.stop_voice() + +## ----------------------------------------------------------------------------- +## PORTRAITS +## ----------------------------------------------------------------------------- +# defocuses all characters except the given one +func grab_portrait_focus(character_data, event: Dictionary = {}) -> bool: + var exists = false + var visually_focus = true + if settings.has_section_key('dialog', 'dim_characters'): + visually_focus = settings.get_value('dialog', 'dim_characters') + + for portrait in $Portraits.get_children(): + if portrait.character_data == character_data: + exists = true + + if visually_focus: + portrait.focus() + if event.has('portrait'): + if event['portrait'] != '': + portrait.set_portrait(event['portrait']) + else: + if visually_focus: + portrait.focusout() + return exists + +# returns true if the a portrait for that character already exists +func portrait_exists(character_data) -> bool: + var exists = false + for portrait in $Portraits.get_children(): + if portrait.character_data == character_data: + exists = true + return exists + +# converts PORTRAIT-WEIRDNESS to a word +func get_character_position(positions) -> String: + if positions['0']: + return 'left' + if positions['1']: + return 'center_left' + if positions['2']: + return 'center' + if positions['3']: + return 'center_right' + if positions['4']: + return 'right' + return 'left' + +# moves out all portraits +func characters_leave_all(): + var portraits = get_node_or_null('Portraits') + if portraits != null: + for p in portraits.get_children(): + p.fade_out() + +## ----------------------------------------------------------------------------- +## GLOSSARY POPUP +## ----------------------------------------------------------------------------- +# cheks the 'show_glossary' setting +func _should_show_glossary(): + if current_theme != null: + return current_theme.get_value('definitions', 'show_glossary', true) + return true + +# shows the glossary popup +func _on_RichTextLabel_meta_hover_started(meta): + var correct_type = false + for d in definitions['glossary']: + if d['id'] == meta: + $DefinitionInfo.load_preview({ + 'title': d['title'], + 'body': parse_definitions(d['text'], true, false), # inserts variables but not other glossary items! + 'extra': d['extra'], + }) + correct_type = true + dprint('[D] Hovered over glossary entry: ', d) + + if correct_type: + definition_visible = true + $DefinitionInfo.visible = definition_visible + # Adding a timer to avoid a graphical glitch + $DefinitionInfo/Timer.stop() + +# hides the glossary popup +func _on_RichTextLabel_meta_hover_ended(meta): + # Adding a timer to avoid a graphical glitch + $DefinitionInfo/Timer.start(0.1) + +# hides the glossary popup +func _hide_definition_popup(): + definition_visible = false + $DefinitionInfo.visible = definition_visible + +# (actually) hides the glossary popup +func _on_Definition_Timer_timeout(): + # Adding a timer to avoid a graphical glitch + definition_visible = false + $DefinitionInfo.visible = definition_visible + + +## ----------------------------------------------------------------------------- +## HELPERS +## ----------------------------------------------------------------------------- +# prints multiple strings if debug_mode is true +func dprint(string, arg1='', arg2='', arg3='', arg4='' ): + # HAHAHA if you are here wondering what this is... + # I ask myself the same question :') + if debug_mode: + print(str(string) + str(arg1) + str(arg2) + str(arg3) + str(arg4)) + + +# helper that allows to get a character by file +func get_character(character_id): + for c in characters: + if c['file'] == character_id: + return c + return {} + +# returns the result of the given dialogic comparison +func _compare_definitions(def_value: String, event_value: String, condition: String): + var condition_met = false; + if def_value != null and event_value != null: + # check if event_value equals a definition name and use that instead + for d in definitions['variables']: + if (d['name'] != '' and d['name'] == event_value): + event_value = d['value'] + break; + var converted_def_value = def_value + var converted_event_value = event_value + if def_value.is_valid_float() and event_value.is_valid_float(): + converted_def_value = float(def_value) + converted_event_value = float(event_value) + if condition == '': + condition = '==' # The default condition is Equal to + match condition: + "==": + condition_met = converted_def_value == converted_event_value + "!=": + condition_met = converted_def_value != converted_event_value + ">": + condition_met = converted_def_value > converted_event_value + ">=": + condition_met = converted_def_value >= converted_event_value + "<": + condition_met = converted_def_value < converted_event_value + "<=": + condition_met = converted_def_value <= converted_event_value + #print('comparing definition: ', def_value, ',', event_value, ',', condition, ' - ', condition_met) + return condition_met + + + +## ----------------------------------------------------------------------------- +## DIALOG FADING +## ----------------------------------------------------------------------------- +# ähm... no clue. What is this @emilio? +# TODO wtf is this name? +func _hide_dialog(): + $TextBubble.update_text('') # Clearing the text + $TextBubble.modulate = Color(1,1,1,0) + while_dialog_animation = true + dialog_faded_in_already = false + +# start a fade in animation +func fade_in_dialog(time = 0.5): + visible = true + time = current_theme.get_value('animation', 'show_time', 0.5) + var has_tween = false + + if Engine.is_editor_hint() == false: + if dialog_faded_in_already == false: + var tween = Tween.new() + add_child(tween) + # The tween created ('fade_in_tween_show_time') is also reference for the $TextBubble + # node to know if it should start showing up the letters of the dialog or not. + tween.name = 'fade_in_tween_show_time' + $TextBubble.modulate.a = 0 + tween.interpolate_property($TextBubble, "modulate", + $TextBubble.modulate, Color(1,1,1,1), time, + Tween.TRANS_LINEAR, Tween.EASE_IN_OUT) + tween.start() + tween.connect("tween_completed", self, "finished_fade_in_dialog", [tween]) + has_tween = true + + if has_tween: + while_dialog_animation = false + dialog_faded_in_already = true + +# at the end of fade animation, reset flags +func finished_fade_in_dialog(object, key, node): + node.queue_free() + while_dialog_animation = false + dialog_faded_in_already = true + +## ----------------------------------------------------------------------------- +## LOADING AND SAVING +## ----------------------------------------------------------------------------- +# returns all important data in a dictionary to be saved +func get_current_state_info(): + var state = {} + + # visible characters: + state["portraits"] = [] + for portrait in $Portraits.get_children(): + state['portraits'].append(portrait.current_state) + + # background music: + state['background_music'] = $FX/BackgroundMusic.get_current_info() + + # current_timeline and event + state["timeline"] = current_timeline + state['event_idx'] = dialog_index + + # current background + state['background'] = current_background + + return state + +# loads all important data from a dictionary +func resume_state_from_info(state_info): + + # wait until the dialog node was added to the tree + do_fade_in = false + yield(self, "ready") + #print(state_info) + + + + # load the characters + for saved_portrait in state_info['portraits']: + var event = saved_portrait + + # this code is ALL copied from the event_handler. So I should probably outsource it to a function... + var character_data = get_character(event['character']) + if portrait_exists(character_data): + for portrait in $Portraits.get_children(): + if portrait.character_data == character_data: + portrait.move_to_position(get_character_position(event['position'])) + portrait.set_mirror(event.get('mirror', false)) + else: + var p = Portrait.instance() + var char_portrait = event['portrait'] + if char_portrait == '': + char_portrait = 'Default' + + if char_portrait == '[Definition]' and event.has('port_defn'): + var portrait_definition = event['port_defn'] + if portrait_definition != '': + for d in DialogicResources.get_default_definitions()['variables']: + if d['id'] == portrait_definition: + char_portrait = d['value'] + break + + if current_theme.get_value('settings', 'single_portrait_mode', false): + p.single_portrait_mode = true + p.character_data = character_data + p.init(char_portrait) + + p.set_mirror(event.get('mirror', false)) + $Portraits.add_child(p) + p.move_to_position(get_character_position(event['position']), 0) + # this info is only used to save the state later + p.current_state['character'] = event['character'] + p.current_state['position'] = event['position'] + + # load the background music + if state_info['background_music'] != null: + $FX/BackgroundMusic.crossfade_to(state_info['background_music']['file'], state_info['background_music']['audio_bus'], state_info['background_music']['volume'], 1) + + # load the background image + if state_info['background']: + current_background = state_info['background'] + + var background = Background.instance() + call_deferred('resize_main') # Executing the resize main to update the background size + + add_child(background) + + if (current_background.ends_with('.tscn')): + var bg_scene = load(current_background) + if (bg_scene): + bg_scene = bg_scene.instance() + background.add_child(bg_scene) + elif (current_background != ''): + background.texture = load(current_background) + + # load the timeline and event + set_current_dialog(state_info['timeline']) + + # mark all previous question events as "answered" + for event_index in range(0, state_info['event_idx']): + if dialog_script['events'][event_index]['event_id'] == 'dialogic_010': + dialog_script['events'][event_index]['answered'] = true + + _load_event_at_index(state_info['event_idx']) diff --git a/addons/dialogic/Nodes/DialogNode.tscn b/addons/dialogic/Nodes/DialogNode.tscn new file mode 100644 index 0000000..355f138 --- /dev/null +++ b/addons/dialogic/Nodes/DialogNode.tscn @@ -0,0 +1,163 @@ +[gd_scene load_steps=11 format=2] + +[ext_resource path="res://addons/dialogic/Nodes/TextBubble.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/dialogic/Example Assets/backgrounds/GlossaryBackground.tres" type="StyleBox" id=2] +[ext_resource path="res://addons/dialogic/Nodes/CharacterVoice.gd" type="Script" id=3] +[ext_resource path="res://addons/dialogic/Example Assets/Fonts/GlossaryFont.tres" type="DynamicFont" id=4] +[ext_resource path="res://addons/dialogic/Nodes/glossary_info.gd" type="Script" id=5] +[ext_resource path="res://addons/dialogic/Nodes/DialogNode.gd" type="Script" id=6] +[ext_resource path="res://addons/dialogic/Nodes/BackgroundMusic.tscn" type="PackedScene" id=7] +[ext_resource path="res://addons/dialogic/Nodes/random_audio_stream_player.gd" type="Script" id=8] +[ext_resource path="res://addons/dialogic/Example Assets/Sound Effects/Beep.wav" type="AudioStream" id=9] + +[sub_resource type="StyleBoxFlat" id=1] +bg_color = Color( 1, 1, 1, 0 ) +expand_margin_left = 10.0 + +[node name="DialogNode" type="Control"] +anchor_right = 1.0 +anchor_bottom = 1.0 +script = ExtResource( 6 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Portraits" type="Control" parent="."] +anchor_left = 0.5 +anchor_top = 1.0 +anchor_right = 0.5 +anchor_bottom = 1.0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TextBubble" parent="." instance=ExtResource( 1 )] +margin_top = -207.0 +margin_bottom = -40.0 + +[node name="Options" type="VBoxContainer" parent="."] +margin_right = 1024.0 +margin_bottom = 600.0 +grow_horizontal = 2 +grow_vertical = 2 +alignment = 1 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="FX" type="Control" parent="."] +anchor_right = 1.0 +anchor_bottom = 1.0 +mouse_filter = 2 +__meta__ = { +"_edit_group_": true, +"_edit_lock_": true, +"_edit_use_anchors_": false +} + +[node name="BackgroundMusic" parent="FX" instance=ExtResource( 7 )] + +[node name="CharacterVoice" type="AudioStreamPlayer" parent="FX"] +script = ExtResource( 3 ) + +[node name="Audio" type="Node" parent="FX"] + +[node name="Typing" type="AudioStreamPlayer" parent="FX/Audio"] +script = ExtResource( 8 ) +samples = [ ExtResource( 9 ) ] +random_strategy = 2 + +[node name="Waiting" type="AudioStreamPlayer" parent="FX/Audio"] +script = ExtResource( 8 ) +samples = [ ExtResource( 9 ) ] +random_strategy = 2 + +[node name="Passing" type="AudioStreamPlayer" parent="FX/Audio"] +script = ExtResource( 8 ) +samples = [ ExtResource( 9 ) ] +random_strategy = 2 + +[node name="Hovering" type="AudioStreamPlayer" parent="FX/Audio"] +script = ExtResource( 8 ) +samples = [ ExtResource( 9 ) ] +random_strategy = 2 + +[node name="Selecting" type="AudioStreamPlayer" parent="FX/Audio"] +script = ExtResource( 8 ) +samples = [ ExtResource( 9 ) ] +random_strategy = 2 + +[node name="DefinitionInfo" type="PanelContainer" parent="."] +visible = false +margin_right = 208.0 +mouse_filter = 1 +size_flags_horizontal = 3 +size_flags_vertical = 3 +custom_styles/panel = ExtResource( 2 ) +script = ExtResource( 5 ) +__meta__ = { +"_edit_group_": true, +"_edit_use_anchors_": false +} + +[node name="VBoxContainer" type="VBoxContainer" parent="DefinitionInfo"] +margin_right = 208.0 +margin_bottom = 143.0 +size_flags_horizontal = 3 +size_flags_vertical = 2 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Title" type="RichTextLabel" parent="DefinitionInfo/VBoxContainer"] +margin_right = 208.0 +margin_bottom = 27.0 +size_flags_horizontal = 3 +size_flags_vertical = 4 +custom_colors/default_color = Color( 1, 1, 1, 1 ) +custom_fonts/normal_font = ExtResource( 4 ) +custom_styles/normal = SubResource( 1 ) +bbcode_enabled = true +bbcode_text = "This is the title" +text = "This is the title" +fit_content_height = true +scroll_active = false + +[node name="Content" type="RichTextLabel" parent="DefinitionInfo/VBoxContainer"] +margin_top = 31.0 +margin_right = 208.0 +margin_bottom = 112.0 +size_flags_horizontal = 3 +custom_colors/default_color = Color( 0.756863, 0.756863, 0.756863, 1 ) +custom_fonts/normal_font = ExtResource( 4 ) +custom_styles/normal = SubResource( 1 ) +bbcode_enabled = true +fit_content_height = true +scroll_active = false +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Extra" type="RichTextLabel" parent="DefinitionInfo/VBoxContainer"] +margin_top = 116.0 +margin_right = 208.0 +margin_bottom = 143.0 +size_flags_horizontal = 3 +custom_colors/default_color = Color( 0.756863, 0.756863, 0.756863, 1 ) +custom_fonts/normal_font = ExtResource( 4 ) +custom_styles/normal = SubResource( 1 ) +bbcode_enabled = true +fit_content_height = true +scroll_active = false +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Timer" type="Timer" parent="DefinitionInfo"] + +[node name="OptionsDelayedInput" type="Timer" parent="."] + +[node name="DialogicTimer" type="Timer" parent="."] +one_shot = true + +[connection signal="timeout" from="DefinitionInfo/Timer" to="." method="_on_Definition_Timer_timeout"] diff --git a/addons/dialogic/Nodes/DialogProxy.gd b/addons/dialogic/Nodes/DialogProxy.gd new file mode 100644 index 0000000..dd34949 --- /dev/null +++ b/addons/dialogic/Nodes/DialogProxy.gd @@ -0,0 +1,18 @@ +extends Control + + +## The timeline to load when starting the scene +export(String, "TimelineDropdown") var timeline: String +export(bool) var add_canvas = true +export(bool) var reset_saves = true +export(bool) var debug_mode = false +export(bool) var show_immediately = false + +func _ready(): + if show_immediately: + show_dialogue() + +func show_dialogue(): + var d = Dialogic.start(timeline, '', "res://addons/dialogic/Nodes/DialogNode.tscn", debug_mode, add_canvas) + get_parent().call_deferred('add_child', d) + queue_free() diff --git a/addons/dialogic/Nodes/Portrait.gd b/addons/dialogic/Nodes/Portrait.gd new file mode 100644 index 0000000..658579b --- /dev/null +++ b/addons/dialogic/Nodes/Portrait.gd @@ -0,0 +1,179 @@ +extends Control + +var character_data = { + 'name': 'Default', + 'image': "res://addons/dialogic/Example Assets/portraits/df-3.png", + 'color': Color(0.973511, 1, 0.152344), + 'file': '', + 'mirror_portraits': false +} + +var single_portrait_mode = false +var direction = 'left' +var debug = false +var fading_out = false + +var current_state := {'character':'', 'portrait':'', 'position':'', 'mirrored':false} + + +func init(expression: String = '') -> void: + set_portrait(expression) + + +func _ready(): + if debug: + print('Character data loaded: ', character_data) + print(rect_position, $TextureRect.rect_size) + + +func set_portrait(expression: String) -> void: + current_state['portrait'] = expression + if expression == "(Don't change)": + return + + if expression == '': + expression = 'Default' + + # Clearing old custom scenes + for n in get_children(): + if 'DialogicCustomPortraitScene' in n.name: + n.queue_free() + + var default + for p in character_data['portraits']: + if p['name'] == expression: + if is_scene(p['path']): + var custom_node = load(p['path']) + var instance = custom_node.instance() + instance.name = 'DialogicCustomPortraitScene' + add_child(instance) + + $TextureRect.texture = ImageTexture.new() + return + else: + if ResourceLoader.exists(p['path']): + $TextureRect.texture = load(p['path']) + else: + $TextureRect.texture = ImageTexture.new() + return + # Saving what the default is to fallback to it. + if p['name'] == 'Default': + default = p['path'] + + # Everything failed, go with the default one + if ResourceLoader.exists(default): + $TextureRect.texture = load(default) + else: + $TextureRect.texture = ImageTexture.new() + + +func set_mirror(value): + current_state['mirrored'] = value + if character_data["data"].has('mirror_portraits'): + if character_data["data"]['mirror_portraits']: + $TextureRect.flip_h = !value + else: + $TextureRect.flip_h = value + else: + $TextureRect.flip_h = value + + +func move_to_position(position_offset, time = 0.5): + var positions = { + 'left': Vector2(-400, 0), + 'right': Vector2(+400, 0), + 'center': Vector2(0, 0), + 'center_right': Vector2(200, 0), + 'center_left': Vector2(-200, 0)} + + direction = position_offset + modulate = Color(1,1,1,0) + tween_modulate(modulate, Color(1,1,1, 1), time) + rect_position = positions[position_offset] + + # Setting the scale of the portrait + var custom_scale = Vector2(1, 1) + if character_data.has('data'): + if character_data['data'].has('scale'): + custom_scale = Vector2( + float(character_data['data']['scale']) / 100, + float(character_data['data']['scale']) / 100 + ) + rect_scale = custom_scale + if character_data['data'].has('offset_x'): + rect_position += Vector2( + character_data['data']['offset_x'], + character_data['data']['offset_y'] + ) + + if $TextureRect.get('texture'): + rect_position -= Vector2( + $TextureRect.texture.get_width() * 0.5, + $TextureRect.texture.get_height() + ) * custom_scale + + fade_in() + + +# Tween stuff +func fade_in(time = 0.5): + tween_modulate(modulate, Color(1,1,1, 1), time) + + if single_portrait_mode == false: + var end_pos = Vector2(0, -40) # starting at center + if direction == 'right': + end_pos = Vector2(+40, 0) + elif direction == 'left': + end_pos = Vector2(-40, 0) + else: + rect_position += Vector2(0, 40) + + $TweenPosition.interpolate_property( + self, "rect_position", rect_position, rect_position + end_pos, time, + Tween.TRANS_LINEAR, Tween.EASE_IN_OUT + ) + $TweenPosition.start() + + +func fade_out(time = 0.5): + fading_out = true + var end = modulate + end.a = 0 + tween_modulate(modulate, end, time) + $Tween.connect("tween_all_completed", self, "queue_free") + + +func focus(): + if not fading_out: + tween_modulate(modulate, Color(1,1,1, 1)) + var _parent = get_parent() + if _parent: + # Make sure that this portrait is the last to be _draw -ed + _parent.move_child(self, _parent.get_child_count()) + + +func focusout(): + var alpha = 1 + if single_portrait_mode: + alpha = 0 + if not fading_out: + tween_modulate(modulate, Color(0.5,0.5,0.5, alpha)) + var _parent = get_parent() + if _parent: + # Render this portrait first + _parent.move_child(self, 0) + + +func tween_modulate(from_value, to_value, time = 0.5): + $Tween.interpolate_property( + self, "modulate", from_value, to_value, time, + Tween.TRANS_LINEAR, Tween.EASE_IN_OUT + ) + $Tween.start() + return $Tween + + +func is_scene(path) -> bool: + if '.tscn' in path.to_lower(): + return true + return false diff --git a/addons/dialogic/Nodes/Portrait.tscn b/addons/dialogic/Nodes/Portrait.tscn new file mode 100644 index 0000000..1d20370 --- /dev/null +++ b/addons/dialogic/Nodes/Portrait.tscn @@ -0,0 +1,19 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://addons/dialogic/Nodes/Portrait.gd" type="Script" id=2] + +[node name="Portrait" type="Control"] +script = ExtResource( 2 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TextureRect" type="TextureRect" parent="."] +stretch_mode = 6 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Tween" type="Tween" parent="."] + +[node name="TweenPosition" type="Tween" parent="."] diff --git a/addons/dialogic/Nodes/TextBubble.gd b/addons/dialogic/Nodes/TextBubble.gd new file mode 100644 index 0000000..ee3781c --- /dev/null +++ b/addons/dialogic/Nodes/TextBubble.gd @@ -0,0 +1,242 @@ +tool +extends Control + +var text_speed := 0.02 # Higher = lower speed +var theme_text_speed = text_speed + +onready var text_label = $RichTextLabel +onready var name_label = $NameLabel +onready var next_indicator = $NextIndicatorContainer/NextIndicator + +var _finished := false +var _theme + +signal text_completed() +signal letter_written() + +## ***************************************************************************** +## PUBLIC METHODS +## ***************************************************************************** + + +func update_name(name: String, color: Color = Color.white, autocolor: bool=false) -> void: + if not name.empty(): + name_label.visible = true + # Hack to reset the size + name_label.rect_min_size = Vector2(0, 0) + name_label.rect_size = Vector2(-1, 40) + # Setting the color and text + name_label.text = name + # Alignment + call_deferred('align_name_label') + if autocolor: + name_label.set('custom_colors/font_color', color) + else: + name_label.visible = false + + +func update_text(text): + var regex = RegEx.new() + var result = null + # Removing commands from the text + #text = text.replace('[p]', '') + + text = text.replace('[nw]', '') + if '[nw=' in text: + regex.compile("\\[nw=(.+?)\\](.*?)") + result = regex.search(text) + if result: + var wait_settings = result.get_string() + text = text.replace(wait_settings, '') + result = null + + # Speed + text_speed = theme_text_speed # Resetting the speed to the default + # Regexing the speed tag + regex.compile("\\[speed=(.+?)\\](.*?)") + result = regex.search(text) + if result: + var speed_settings = result.get_string() + var value = float(speed_settings.split('=')[1]) * 0.01 + text_speed = value + text = text.replace(speed_settings, '') + + # Updating the text and starting the animation from 0 + text_label.bbcode_text = text + text_label.visible_characters = 0 + + text_label.grab_focus() + start_text_timer() + return true + + +func is_finished(): + return _finished + + +func skip(): + text_label.visible_characters = -1 + _handle_text_completed() + + +func reset(): + name_label.text = '' + name_label.visible = false + + +func load_theme(theme: ConfigFile): + # Text + var theme_font = DialogicUtil.path_fixer_load(theme.get_value('text', 'font', 'res://addons/dialogic/Example Assets/Fonts/DefaultFont.tres')) + text_label.set('custom_fonts/normal_font', theme_font) + text_label.set('custom_fonts/bold_font', DialogicUtil.path_fixer_load(theme.get_value('text', 'bold_font', 'res://addons/dialogic/Example Assets/Fonts/DefaultBoldFont.tres'))) + text_label.set('custom_fonts/italics_font', DialogicUtil.path_fixer_load(theme.get_value('text', 'italic_font', 'res://addons/dialogic/Example Assets/Fonts/DefaultItalicFont.tres'))) + name_label.set('custom_fonts/font', DialogicUtil.path_fixer_load(theme.get_value('name', 'font', 'res://addons/dialogic/Example Assets/Fonts/NameFont.tres'))) + + + var text_color = Color(theme.get_value('text', 'color', '#ffffffff')) + text_label.set('custom_colors/default_color', text_color) + name_label.set('custom_colors/font_color', text_color) + + text_label.set('custom_colors/font_color_shadow', Color('#00ffffff')) + name_label.set('custom_colors/font_color_shadow', Color('#00ffffff')) + + if theme.get_value('text', 'shadow', false): + var text_shadow_color = Color(theme.get_value('text', 'shadow_color', '#9e000000')) + text_label.set('custom_colors/font_color_shadow', text_shadow_color) + + var shadow_offset = theme.get_value('text', 'shadow_offset', Vector2(2,2)) + text_label.set('custom_constants/shadow_offset_x', shadow_offset.x) + text_label.set('custom_constants/shadow_offset_y', shadow_offset.y) + + + # Text speed + text_speed = theme.get_value('text','speed', 2) * 0.01 + theme_text_speed = text_speed + + # Margin + var text_margin = theme.get_value('text', 'margin', Vector2(20, 10)) + text_label.set('margin_left', text_margin.x) + text_label.set('margin_right', text_margin.x * -1) + text_label.set('margin_top', text_margin.y) + text_label.set('margin_bottom', text_margin.y * -1) + + # Backgrounds + $TextureRect.texture = DialogicUtil.path_fixer_load(theme.get_value('background','image', "res://addons/dialogic/Example Assets/backgrounds/background-2.png")) + $ColorRect.color = Color(theme.get_value('background','color', "#ff000000")) + + if theme.get_value('background', 'modulation', false): + $TextureRect.modulate = Color(theme.get_value('background', 'modulation_color', '#ffffffff')) + else: + $TextureRect.modulate = Color('#ffffffff') + + $ColorRect.visible = theme.get_value('background', 'use_color', false) + $TextureRect.visible = theme.get_value('background', 'use_image', true) + + # Next image + $NextIndicatorContainer.rect_position = Vector2(0,0) + next_indicator.texture = DialogicUtil.path_fixer_load(theme.get_value('next_indicator', 'image', 'res://addons/dialogic/Example Assets/next-indicator/next-indicator.png')) + # Reset for up and down animation + next_indicator.margin_top = 0 + next_indicator.margin_bottom = 0 + next_indicator.margin_left = 0 + next_indicator.margin_right = 0 + # Scale + var indicator_scale = theme.get_value('next_indicator', 'scale', 0.4) + next_indicator.rect_scale = Vector2(indicator_scale, indicator_scale) + # Offset + var offset = theme.get_value('next_indicator', 'offset', Vector2(13, 10)) + next_indicator.rect_position = theme.get_value('box', 'size', Vector2(910, 167)) - (next_indicator.texture.get_size() * indicator_scale) + next_indicator.rect_position -= offset + + # Character Name + $NameLabel/ColorRect.visible = theme.get_value('name', 'background_visible', false) + $NameLabel/ColorRect.color = Color(theme.get_value('name', 'background', '#282828')) + $NameLabel/TextureRect.visible = theme.get_value('name', 'image_visible', false) + $NameLabel/TextureRect.texture = DialogicUtil.path_fixer_load(theme.get_value('name','image', "res://addons/dialogic/Example Assets/backgrounds/background-2.png")) + + var name_padding = theme.get_value('name', 'name_padding', Vector2( 10, 0 )) + var name_style = name_label.get('custom_styles/normal') + name_style.set('content_margin_left', name_padding.x) + name_style.set('content_margin_right', name_padding.x) + name_style.set('content_margin_bottom', name_padding.y) + + var name_shadow_offset = theme.get_value('name', 'shadow_offset', Vector2(2,2)) + if theme.get_value('name', 'shadow_visible', true): + name_label.set('custom_colors/font_color_shadow', Color(theme.get_value('name', 'shadow', '#9e000000'))) + name_label.set('custom_constants/shadow_offset_x', name_shadow_offset.x) + name_label.set('custom_constants/shadow_offset_y', name_shadow_offset.y) + name_label.rect_position.y = theme.get_value('name', 'bottom_gap', 48) * -1 - (name_padding.y) + if theme.get_value('name', 'modulation', false) == true: + $NameLabel/TextureRect.modulate = Color(theme.get_value('name', 'modulation_color', '#ffffffff')) + else: + $NameLabel/TextureRect.modulate = Color('#ffffffff') + + + # Setting next indicator animation + next_indicator.self_modulate = Color('#ffffff') + var animation = theme.get_value('next_indicator', 'animation', 'Up and down') + next_indicator.get_node('AnimationPlayer').play(animation) + + + # Saving reference to the current theme + _theme = theme + +## ***************************************************************************** +## PRIVATE METHODS +## ***************************************************************************** + + +func _on_writing_timer_timeout(): + # Checks for the 'fade_in_tween_show_time' which only exists during the fade in animation + # if that node doesn't exists, it won't start the letter by letter animation. + if get_parent().has_node('fade_in_tween_show_time') == false: + if _finished == false: + text_label.visible_characters += 1 + + if text_label.visible_characters > text_label.get_total_character_count(): + _handle_text_completed() + elif ( + text_label.visible_characters > 0 and + text_label.text[text_label.visible_characters-1] != " " + ): + emit_signal('letter_written') + else: + $WritingTimer.stop() + + +func start_text_timer(): + if text_speed == 0: + text_label.visible_characters = -1 + _handle_text_completed() + else: + $WritingTimer.start(text_speed) + _finished = false + + +func _handle_text_completed(): + $WritingTimer.stop() + _finished = true + emit_signal("text_completed") + +func align_name_label(): + var name_padding = _theme.get_value('name', 'name_padding', Vector2( 10, 0 )) + var horizontal_offset = _theme.get_value('name', 'horizontal_offset', 0) + var name_label_position = _theme.get_value('name', 'position', 0) + var label_size = name_label.rect_size.x + if name_label_position == 0: + name_label.rect_global_position.x = rect_global_position.x + horizontal_offset + elif name_label_position == 1: # Center + name_label.rect_global_position.x = rect_global_position.x + (rect_size.x / 2) - (label_size / 2) + horizontal_offset + elif name_label_position == 2: # Right + name_label.rect_global_position.x = rect_global_position.x + rect_size.x - label_size + horizontal_offset + +## ***************************************************************************** +## OVERRIDES +## ***************************************************************************** + + +func _ready(): + reset() + $WritingTimer.connect("timeout", self, "_on_writing_timer_timeout") + text_label.meta_underlined = false + diff --git a/addons/dialogic/Nodes/TextBubble.tscn b/addons/dialogic/Nodes/TextBubble.tscn new file mode 100644 index 0000000..101d667 --- /dev/null +++ b/addons/dialogic/Nodes/TextBubble.tscn @@ -0,0 +1,180 @@ +[gd_scene load_steps=11 format=2] + +[ext_resource path="res://addons/dialogic/Example Assets/Fonts/DefaultFont.tres" type="DynamicFont" id=1] +[ext_resource path="res://addons/dialogic/Example Assets/backgrounds/background-2.png" type="Texture" id=2] +[ext_resource path="res://addons/dialogic/Example Assets/next-indicator/next-indicator.png" type="Texture" id=3] +[ext_resource path="res://addons/dialogic/Nodes/TextBubble.gd" type="Script" id=4] + +[sub_resource type="StyleBoxEmpty" id=1] + +[sub_resource type="StyleBoxFlat" id=2] +bg_color = Color( 1, 1, 1, 0 ) +expand_margin_left = 10.0 + +[sub_resource type="Animation" id=3] +loop = true +tracks/0/type = "value" +tracks/0/path = NodePath(".:self_modulate") +tracks/0/interp = 2 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 0.5 ), +"transitions": PoolRealArray( 1, 1 ), +"update": 0, +"values": [ Color( 1, 1, 1, 1 ), Color( 1, 1, 1, 0 ) ] +} + +[sub_resource type="Animation" id=4] + +[sub_resource type="Animation" id=5] +loop = true +tracks/0/type = "value" +tracks/0/path = NodePath("..:rect_position") +tracks/0/interp = 2 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 0.5 ), +"transitions": PoolRealArray( 1, 1 ), +"update": 0, +"values": [ Vector2( 0, 0 ), Vector2( 0, -10 ) ] +} + +[sub_resource type="StyleBoxFlat" id=6] +content_margin_left = 20.0 +content_margin_right = 20.0 +content_margin_bottom = 5.0 +bg_color = Color( 1, 1, 1, 0 ) +expand_margin_left = 10.0 + +[node name="TextBubble" type="Control"] +anchor_left = 0.5 +anchor_top = 1.0 +anchor_right = 0.5 +anchor_bottom = 1.0 +margin_left = -455.0 +margin_top = 393.0 +margin_right = 455.0 +margin_bottom = 560.0 +script = ExtResource( 4 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="ColorRect" type="ColorRect" parent="."] +visible = false +anchor_right = 1.0 +anchor_bottom = 1.0 +color = Color( 0, 0, 0, 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TextureRect" type="TextureRect" parent="."] +anchor_right = 1.0 +anchor_bottom = 1.0 +texture = ExtResource( 2 ) +expand = true +stretch_mode = 1 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="RichTextLabel" type="RichTextLabel" parent="."] +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 20.0 +margin_top = 10.0 +margin_right = -20.0 +margin_bottom = -10.0 +focus_mode = 2 +custom_styles/focus = SubResource( 1 ) +custom_styles/normal = SubResource( 2 ) +custom_fonts/normal_font = ExtResource( 1 ) +custom_colors/default_color = Color( 1, 1, 1, 1 ) +custom_colors/selection_color = Color( 0, 0, 0, 0 ) +custom_colors/font_color_shadow = Color( 1, 1, 1, 0 ) +custom_constants/shadow_offset_x = 2 +custom_constants/shadow_offset_y = 2 +bbcode_enabled = true +bbcode_text = "Placeholder text for testing and formatting." +meta_underlined = false +text = "Placeholder text for testing and formatting." +selection_enabled = true +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="NextIndicatorContainer" type="Control" parent="."] +margin_right = 40.0 +margin_bottom = 40.0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="NextIndicator" type="TextureRect" parent="NextIndicatorContainer"] +margin_top = -10.0 +margin_right = 51.0 +margin_bottom = 41.0 +texture = ExtResource( 3 ) +stretch_mode = 4 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="AnimationPlayer" type="AnimationPlayer" parent="NextIndicatorContainer/NextIndicator"] +autoplay = "Up and down" +anims/Pulse = SubResource( 3 ) +anims/Static = SubResource( 4 ) +"anims/Up and down" = SubResource( 5 ) + +[node name="NameLabel" type="Label" parent="."] +visible = false +margin_top = -48.0 +margin_right = 58.0 +margin_bottom = -8.0 +size_flags_vertical = 1 +custom_styles/normal = SubResource( 6 ) +custom_fonts/font = ExtResource( 1 ) +custom_colors/font_color = Color( 0.423529, 0.580392, 0.74902, 1 ) +custom_colors/font_color_shadow = Color( 0, 0, 0, 0.619608 ) +custom_constants/shadow_offset_x = 2 +custom_constants/shadow_offset_y = 2 +align = 1 +valign = 1 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="ColorRect" type="ColorRect" parent="NameLabel"] +visible = false +show_behind_parent = true +anchor_right = 1.0 +anchor_bottom = 1.0 +size_flags_horizontal = 15 +size_flags_vertical = 15 +color = Color( 0.156863, 0.156863, 0.156863, 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TextureRect" type="TextureRect" parent="NameLabel"] +visible = false +show_behind_parent = true +anchor_right = 1.0 +anchor_bottom = 1.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +texture = ExtResource( 2 ) +expand = true +stretch_mode = 1 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="WritingTimer" type="Timer" parent="."] + +[node name="Tween" type="Tween" parent="."] diff --git a/addons/dialogic/Nodes/canvas_dialog_node.gd b/addons/dialogic/Nodes/canvas_dialog_node.gd new file mode 100644 index 0000000..679041a --- /dev/null +++ b/addons/dialogic/Nodes/canvas_dialog_node.gd @@ -0,0 +1,83 @@ +extends CanvasLayer + +## Mirror node to Dialogic node that duplicate its signals +## and had a reference to that Dialogic node + +# Copied +# Event end/start +signal event_start(type, event) +signal event_end(type) +# Timeline end/start +signal timeline_start(timeline_name) +signal timeline_end(timeline_name) +signal text_complete(text_event) +# Custom user signal +signal dialogic_signal(value) + + +var _dialog_node_scene = load("res://addons/dialogic/Nodes/DialogNode.tscn") +var dialog_node = null + + +func set_dialog_node_scene(scene) -> void: + _dialog_node_scene = scene + dialog_node = _dialog_node_scene.instance() + + +func _enter_tree() -> void: + if dialog_node: + add_child(dialog_node) + dialog_node.connect('tree_exited', self, 'dialog_finished') + + +func dialog_finished(): + queue_free() + + +func set_dialog_script(value): + dialog_node.set_dialog_script(value) + + +func _ready() -> void: + # change the canvas layer + var config = DialogicResources.get_settings_config() + layer = int(config.get_value("theme", "canvas_layer", 1)) + + var _err:int + if dialog_node: + _err = dialog_node.connect("event_start", self, "_on_event_start") + assert(_err == OK) + _err = dialog_node.connect("event_end", self, "_on_event_end") + assert(_err == OK) + _err = dialog_node.connect("timeline_start", self, "_on_timeline_start") + assert(_err == OK) + _err = dialog_node.connect("timeline_end", self, "_on_timeline_end") + assert(_err == OK) + _err = dialog_node.connect("text_complete", self, "_on_text_complete") + assert(_err == OK) + _err = dialog_node.connect("dialogic_signal", self, "_on_dialogic_signal") + assert(_err == OK) + + +func _on_event_start(type, event) -> void: + emit_signal("event_start", type, event) + + +func _on_event_end(type) -> void: + emit_signal("event_end", type) + + +func _on_timeline_start(timeline_name) -> void: + emit_signal("timeline_start", timeline_name) + + +func _on_timeline_end(timeline_name) -> void: + emit_signal("timeline_end", timeline_name) + + +func _on_text_complete(text_event) -> void: + emit_signal("text_complete", text_event) + + +func _on_dialogic_signal(value) -> void: + emit_signal("dialogic_signal", value) diff --git a/addons/dialogic/Nodes/glossary_info.gd b/addons/dialogic/Nodes/glossary_info.gd new file mode 100644 index 0000000..f71c2d2 --- /dev/null +++ b/addons/dialogic/Nodes/glossary_info.gd @@ -0,0 +1,66 @@ +tool +extends PanelContainer + +onready var nodes = { + 'title': $VBoxContainer/Title, + 'body': $VBoxContainer/Content, + 'extra': $VBoxContainer/Extra, +} + +var in_theme_editor = false +var margin = 10 + + +func _ready(): + set_deferred('rect_size.y', 0) + nodes['title'].bbcode_enabled = true + nodes['body'].bbcode_enabled = true + nodes['extra'].bbcode_enabled = true + + +func _process(_delta): + if Engine.is_editor_hint() == false or in_theme_editor == true: + if visible: + if get_global_mouse_position().x < get_viewport().size.x * 0.5: + rect_global_position = get_global_mouse_position() - Vector2(0, rect_size.y + (margin * 2)) + else: + rect_global_position = get_global_mouse_position() - rect_size - Vector2(0, (margin * 2)) + rect_size.y = 0 +# + +func load_preview(info): + nodes['title'].visible = false + nodes['body'].visible = false + nodes['extra'].visible = false + + if info['title'] != '': + nodes['title'].bbcode_text = info['title'] + nodes['title'].visible = true + + if info['body'] != '': + nodes['body'].bbcode_text = info['body'] + nodes['body'].visible = true + + if info['extra'] != '': + nodes['extra'].bbcode_text = info['extra'] + nodes['extra'].visible = true + + +func load_theme(theme): + # Fonts + $VBoxContainer/Title.set( + 'custom_fonts/normal_font', + DialogicUtil.path_fixer_load(theme.get_value('definitions', 'font', "res://addons/dialogic/Example Assets/Fonts/GlossaryFont.tres"))) + $VBoxContainer/Title.set('custom_colors/default_color', theme.get_value('definitions', 'title_color', "#ffffffff")) + + $VBoxContainer/Content.set( + 'custom_fonts/normal_font', + DialogicUtil.path_fixer_load(theme.get_value('definitions', 'text_font', "res://addons/dialogic/Example Assets/Fonts/GlossaryFont.tres"))) + $VBoxContainer/Content.set('custom_colors/default_color', theme.get_value('definitions', 'text_color', "#c1c1c1")) + + $VBoxContainer/Extra.set( + 'custom_fonts/normal_font', + DialogicUtil.path_fixer_load(theme.get_value('definitions', 'extra_font', "res://addons/dialogic/Example Assets/Fonts/GlossaryFont.tres"))) + $VBoxContainer/Extra.set('custom_colors/default_color', theme.get_value('definitions', 'extra_color', "#c1c1c1")) + + set("custom_styles/panel", load(theme.get_value('definitions', 'background_panel', "res://addons/dialogic/Example Assets/backgrounds/GlossaryBackground.tres"))) diff --git a/addons/dialogic/Nodes/random_audio_stream_player.gd b/addons/dialogic/Nodes/random_audio_stream_player.gd new file mode 100644 index 0000000..df17e1a --- /dev/null +++ b/addons/dialogic/Nodes/random_audio_stream_player.gd @@ -0,0 +1,91 @@ +# Random Audio Stream PLayer Godot Engine Add-on +# Copyright (c) Tim Krief. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +tool +extends AudioStreamPlayer + +export(Array, AudioStream) var samples = [] +export(String, DIR) var select_samples_from_folder setget load_samples_from_folder +export(int, "Pure", "No consecutive repetition", "Use all samples before repeat") var random_strategy = 0 +onready var base_volume = volume_db +export(float, 0, 80) var random_volume_range = 0 +onready var base_pitch = pitch_scale +export(float, 0, 4) var random_pitch_range = 0 + +var playing_sample_nb : int = -1 +var last_played_sample_nb : int = -1 # only used if random_strategy = 1 +var to_play = [] # only used if random_strategy = 2 + +# You can use playing_sample_nb to choose what sample to use +func play(from_position=0.0, playing_sample_nb=-1): + var number_of_samples = len(samples) + if number_of_samples > 0: + if playing_sample_nb < 0: + if number_of_samples == 1: + playing_sample_nb = 0 + else: + match random_strategy: + 1: + playing_sample_nb = randi() % (number_of_samples - 1) + if last_played_sample_nb == playing_sample_nb: + playing_sample_nb += 1 + last_played_sample_nb = playing_sample_nb + 2: + if len(to_play) == 0: + for i in range(number_of_samples): + if i != last_played_sample_nb: + to_play.append(i) + to_play.shuffle() + playing_sample_nb = to_play.pop_back() + last_played_sample_nb = playing_sample_nb + _: + playing_sample_nb = randi() % number_of_samples + if random_volume_range != 0: + .set_volume_db(base_volume + (randf() - .5) * random_volume_range) + if random_pitch_range != 0: + .set_pitch_scale(max(0.0001, base_pitch + (randf() - .5) * random_pitch_range)) + set_stream(samples[playing_sample_nb]) + .play(from_position) + +func set_volume_db(new_volume_db): + .set_volume_db(new_volume_db) + base_volume = new_volume_db + +func set_pitch_scale(new_pitch): + .set_pitch_scale(max(0.0001, new_pitch)) + base_pitch = new_pitch + +func load_samples_from_folder(path): + if path != "": + samples.clear() + var dir = Directory.new() + if dir.open(path) == OK: + dir.list_dir_begin(true) + var file_name = dir.get_next() + while file_name != "": + if not dir.current_is_dir() and file_name.ends_with(".import"): + var resource_path = dir.get_current_dir() + "/" + file_name.replace('.import', '') + if resource_path.get_extension().to_lower() in ["wav", "ogg"]: + var resource = load(resource_path) + if resource != null: + samples.append(resource) + file_name = dir.get_next() + select_samples_from_folder = "" diff --git a/addons/dialogic/Other/DialogicClass.gd b/addons/dialogic/Other/DialogicClass.gd new file mode 100644 index 0000000..270b395 --- /dev/null +++ b/addons/dialogic/Other/DialogicClass.gd @@ -0,0 +1,388 @@ +extends Node + +## Exposed and safe to use methods for Dialogic +## See documentation under 'https://github.com/coppolaemilio/dialogic' or in the editor: + +## ### /!\ ### +## Do not use methods from other classes as it could break the plugin's integrity +## ### /!\ ### + +## Trying to follow this documentation convention: https://github.com/godotengine/godot/pull/41095 +class_name Dialogic + + +## Refactor the start function for 2.0 there should be a cleaner way to do it :) + +## Starts the dialog for the given timeline and returns a Dialog node. +## You must then add it manually to the scene to display the dialog. +## +## Example: +## var new_dialog = Dialogic.start('Your Timeline Name Here') +## add_child(new_dialog) +## +## This is similar to using the editor: +## you can drag and drop the scene located at /addons/dialogic/Dialog.tscn +## and set the current timeline via the inspector. +## +## @param timeline The timeline to load. You can provide the timeline name or the filename. +## If you leave it empty, it will try to load from current data +## In that case, you should do Dialogic.load() or Dialogic.import() before. +## @param default_timeline If timeline == '' and no valid data was found, this will be loaded. +## @param dialog_scene_path If you made a custom Dialog scene or moved it from its default path, you can specify its new path here. +## @param debug_mode Debug is disabled by default but can be enabled if needed. +## @param use_canvas_instead Create the Dialog inside a canvas layer to make it show up regardless of the camera 2D/3D situation. +## @returns A Dialog node to be added into the scene tree. +static func start(timeline: String = '', default_timeline: String ='', dialog_scene_path: String="res://addons/dialogic/Nodes/DialogNode.tscn", debug_mode: bool=false, use_canvas_instead=true): + var dialog_scene = load(dialog_scene_path) + var dialog_node = null + var canvas_dialog_node = null + var returned_dialog_node = null + + if use_canvas_instead: + var canvas_dialog_script = load("res://addons/dialogic/Nodes/canvas_dialog_node.gd") + canvas_dialog_node = canvas_dialog_script.new() + canvas_dialog_node.set_dialog_node_scene(dialog_scene) + dialog_node = canvas_dialog_node.dialog_node + else: + dialog_node = dialog_scene.instance() + + dialog_node.debug_mode = debug_mode + + returned_dialog_node = dialog_node if not canvas_dialog_node else canvas_dialog_node + + ## 1. Case: A slot has been loaded OR data has been imported + if timeline == '': + if (Engine.get_main_loop().has_meta('last_dialog_state') + and not Engine.get_main_loop().get_meta('last_dialog_state').empty() + and not Engine.get_main_loop().get_meta('last_dialog_state').get('timeline', '').empty()): + + dialog_node.resume_state_from_info(Engine.get_main_loop().get_meta('last_dialog_state')) + return returned_dialog_node + + ## The loaded data isn't complete + elif (Engine.get_main_loop().has_meta('current_timeline') + and not Engine.get_main_loop().get_meta('current_timeline').empty()): + timeline = Engine.get_main_loop().get_meta('current_timeline') + + ## Else load the default timeline + else: + timeline = default_timeline + + ## 2. Case: A specific timeline should be started + + # check if it's a file name + if timeline.ends_with('.json'): + for t in DialogicUtil.get_timeline_list(): + if t['file'] == timeline: + dialog_node.timeline = t['file'] + return returned_dialog_node + # No file found. Show error + dialog_node.dialog_script = { + "events":[ + {"event_id":'dialogic_001', + "character":"", + "portrait":"", + "text":"[Dialogic Error] Loading dialog [color=red]" + timeline + "[/color]. It seems like the timeline doesn't exists. Maybe the name is wrong?" + }] + } + return returned_dialog_node + + # else get the file from the name + var timeline_file = _get_timeline_file_from_name(timeline) + if timeline_file: + dialog_node.timeline = timeline_file + return returned_dialog_node + + # Just in case everything else fails. + return returned_dialog_node + + + +################################################################################ +## BUILT-IN SAVING/LOADING +################################################################################ + +## Loads the given slot +static func load(slot_name: String = ''): + _load_from_slot(slot_name) + Engine.get_main_loop().set_meta('current_save_slot', slot_name) + + +## Saves the current definitions and the latest added dialog nodes state info. +## +## @param slot_name The name of the save slot. To load this save you have to specify the same +## If the slot folder doesn't exist it will be created. +## Leaving this empty will use the last loaded save slot. +static func save(slot_name: String = '', is_autosave = false) -> void: + # check if to save (if this is a autosave) + if is_autosave and not get_autosave(): + return + + # gather the info + var current_dialog_info = {} + if has_current_dialog_node(): + current_dialog_info = Engine.get_main_loop().get_meta('latest_dialogic_node').get_current_state_info() + + var game_state = {} + if Engine.get_main_loop().has_meta('game_state'): + game_state = Engine.get_main_loop().get_meta('game_state') + + var save_data = { + 'game_state': game_state, + 'dialog_state': current_dialog_info + } + + # save the information + _save_state_and_definitions(slot_name, save_data) + + +## Returns an array with the names of all available slots. +static func get_slot_names() -> Array: + return DialogicResources.get_saves_folders() + + +## Will permanently erase the data in the given save_slot. +## +## @param slot_name The name of the slot folder. +static func erase_slot(slot_name: String) -> void: + DialogicResources.remove_save_folder(slot_name) + + +## Whether a save can be performed +## +## @returns True if a save can be performed; otherwise False +static func has_current_dialog_node() -> bool: + return Engine.get_main_loop().has_meta('latest_dialogic_node') and is_instance_valid(Engine.get_main_loop().get_meta('latest_dialogic_node')) + + +## Resets the state and definitions of the given save slot +## +## By default this will also LOAD that reseted save +static func reset_saves(slot_name: String = '', reload:= true) -> void: + DialogicResources.reset_save(slot_name) + if reload: _load_from_slot(slot_name) + + +## Returns the currently loaded save slot +static func get_current_slot(): + if Engine.get_main_loop().has_meta('current_save_slot'): + return Engine.get_main_loop().get_meta('current_save_slot') + else: + return '' + +## +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +## EXPORT / IMPORT +## +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +# this returns a dictionary with the DEFINITIONS, the GAME STATE and the DIALOG STATE +static func export(dialog_node = null) -> Dictionary: + # gather the data + var current_dialog_info = {} + if dialog_node == null and has_current_dialog_node(): + dialog_node = Engine.get_main_loop().get_meta('latest_dialogic_node') + if dialog_node: + current_dialog_info = dialog_node.get_current_state_info() + + # return it + return { + 'definitions': _get_definitions(), + 'state': Engine.get_main_loop().get_meta('game_state'), + 'dialog_state': current_dialog_info + } + + +# this loads a dictionary with GAME STATE, DEFINITIONS and DIALOG_STATE +static func import(data: Dictionary) -> void: + ## Tell the future we want to use the imported data + Engine.get_main_loop().set_meta('current_save_lot', '/') + + # load the data + Engine.get_main_loop().set_meta('definitions', data['definitions']) + Engine.get_main_loop().set_meta('game_state', data['state']) + Engine.get_main_loop().set_meta('last_dialog_state', data.get('dialog_state', null)) + set_current_timeline(get_saved_state_general_key('timeline')) + + +## +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +## DEFINITIONS +## +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +# sets the value of the value definition with the given name +static func set_variable(name: String, value): + var exists = false + for d in _get_definitions()['variables']: + if d['name'] == name: + d['value'] = str(value) + exists = true + if exists == false: + # TODO it would be great to automatically generate that missing variable here so they don't + # have to create it from the editor. + print("[Dialogic] Warning! the variable [" + name + "] doesn't exists. Create it from the Dialogic editor.") + return value + +# returns the value of the value definition with the given name +static func get_variable(name: String, default = null): + for d in _get_definitions()['variables']: + if d['name'] == name: + return d['value'] + print("[Dialogic] Warning! the variable [" + name + "] doesn't exists.") + return default + + +## +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +## GAME STATE +## +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# the game state is a global dictionary that can be used to store custom data +# these functions should be renamed in 2.0! These names are outdated. + +# this sets a value in the GAME STATE dictionary +static func get_saved_state_general_key(key: String, default = '') -> String: + if not Engine.get_main_loop().has_meta('game_state'): + return default + if key in Engine.get_main_loop().get_meta('game_state').keys(): + return Engine.get_main_loop().get_meta('game_state')[key] + else: + return default + + +# this gets a value from the GAME STATE dictionary +static func set_saved_state_general_key(key: String, value) -> void: + if not Engine.get_main_loop().has_meta('game_state'): + Engine.get_main_loop().set_meta('game_state', {}) + Engine.get_main_loop().get_meta('game_state')[key] = str(value) + save('', true) + + + +################################################################################ +## COULD BE USED +################################################################################ +# these are old things, that have little use. + +static func get_autosave() -> bool: + if Engine.get_main_loop().has_meta('autoload'): + return Engine.get_main_loop().get_meta('autoload') + return true + + +static func set_autosave(autoload): + Engine.get_main_loop().set_meta('autoload', autoload) + + +static func set_current_timeline(timeline): + Engine.get_main_loop().set_meta('current_timeline', timeline) + return timeline + + +static func get_current_timeline(): + var timeline + timeline = Engine.get_main_loop().get_meta('current_timeline') + if timeline == null: + timeline = '' + return timeline + +################################################################################ +## NOT TO BE USED FROM OUTSIDE +################################################################################ +## this loads the saves definitions and returns the saves state_info ditionary +static func _load_from_slot(slot_name: String = '') -> Dictionary: + Engine.get_main_loop().set_meta('definitions', DialogicResources.get_saved_definitions(slot_name)) + + var state_info = DialogicResources.get_saved_state_info(slot_name) + Engine.get_main_loop().set_meta('last_dialog_state', state_info.get('dialog_state', null)) + Engine.get_main_loop().set_meta('game_state', state_info.get('game_state', null)) + + return state_info.get('dialog_state', {}) + + +## this saves the current definitions and the given state info into the save folder @save_name +static func _save_state_and_definitions(save_name: String, state_info: Dictionary) -> void: + DialogicResources.save_definitions(save_name, _get_definitions()) + DialogicResources.save_state_info(save_name, state_info) + + + +static func _get_definitions() -> Dictionary: + var definitions + if Engine.get_main_loop().has_meta('definitions'): + definitions = Engine.get_main_loop().get_meta('definitions') + else: + definitions = DialogicResources.get_default_definitions() + Engine.get_main_loop().set_meta('definitions', definitions) + return definitions + + +# used by the DialogNode +static func set_glossary_from_id(id: String, title: String, text: String, extra:String) -> void: + var target_def: Dictionary; + for d in _get_definitions()['glossary']: + if d['id'] == id: + target_def = d; + if target_def != null: + if title and title != "[No Change]": + target_def['title'] = title + if text and text != "[No Change]": + target_def['text'] = text + if extra and extra != "[No Change]": + target_def['extra'] = extra + +# used by the DialogNode +static func set_variable_from_id(id: String, value: String, operation: String) -> void: + var target_def: Dictionary; + for d in _get_definitions()['variables']: + if d['id'] == id: + target_def = d; + if target_def != null: + var converted_set_value = value + var converted_target_value = target_def['value'] + var is_number = converted_set_value.is_valid_float() and converted_target_value.is_valid_float() + if is_number: + converted_set_value = float(value) + converted_target_value = float(target_def['value']) + var result = target_def['value'] + # Do nothing for -, * and / operations on string + match operation: + '=': + result = converted_set_value + '+': + result = converted_target_value + converted_set_value + '-': + if is_number: + result = converted_target_value - converted_set_value + '*': + if is_number: + result = converted_target_value * converted_set_value + '/': + if is_number: + result = converted_target_value / converted_set_value + target_def['value'] = str(result) + +# tries to find the path of a given timeline +static func _get_timeline_file_from_name(timeline_name_path: String) -> String: + var timelines = DialogicUtil.get_full_resource_folder_structure()['folders']['Timelines'] + var parts = timeline_name_path.split('/', false) + if parts.size() > 1: + var current_data + var current_depth = 0 + for p in parts: + if current_depth == 0: + # Starting the crawl + current_data = timelines['folders'][p] + elif current_depth == parts.size() - 1: + # The final destination + for t in DialogicUtil.get_timeline_list(): + for f in current_data['files']: + if t['file'] == f && t['name'] == p: + return t['file'] + + else: + # Still going deeper + current_data = current_data['folders'][p] + current_depth += 1 + else: + # Searching for any timeline that could match that name + for t in DialogicUtil.get_timeline_list(): + if parts.size(): + if t['name'] == parts[0]: + return t['file'] + return '' diff --git a/addons/dialogic/Other/DialogicDefinitionsUtil.gd b/addons/dialogic/Other/DialogicDefinitionsUtil.gd new file mode 100644 index 0000000..05a67dc --- /dev/null +++ b/addons/dialogic/Other/DialogicDefinitionsUtil.gd @@ -0,0 +1,72 @@ +extends Node +class_name DialogicDefinitionsUtil + +## This class handles definitions + +static func get_definition_by_key(data: Dictionary, key: String, value: String): + var variables : Array = data['variables'] + var glossary : Array = data['glossary'] + for v in variables: + if v[key] == value: + return v + for g in glossary: + if g[key] == value: + return g + return null + + +static func get_definition_by_id(data: Dictionary, id: String): + return get_definition_by_key(data, 'id', id) + + +static func get_definition_by_name(data: Dictionary, id: String): + return get_definition_by_key(data, 'name', id) + + +static func set_definition(section: String, data: Dictionary, elem: Dictionary): + delete_definition(data, elem['id']) + var array: Array = data[section] + var found = false; + for e in array: + if e['id'] == elem['id']: + found = true + array.erase(e) + array.append(elem) + break + if not found: + array.append(elem) + + +static func set_definition_variable(data: Dictionary, id: String, name: String, value): + set_definition('variables', data, { + 'id': id, + 'name': name, + 'value': value, + 'type': 0 + }) + + +static func set_definition_glossary(data: Dictionary, id: String, name: String, title: String, text: String, extra: String): + set_definition('glossary', data, { + 'id': id, + 'name': name, + 'title': title, + 'text': text, + 'extra': extra, + 'type': 1 + }) + + +static func delete_definition(data: Dictionary, id: String): + var variables : Array = data['variables'] + var glossary : Array = data['glossary'] + var item = get_definition_by_id(data, id); + if item != null: + if (item['type'] == 0): + variables.erase(item) + else: + glossary.erase(item) + + +static func definitions_json_to_array(data: Dictionary) -> Array: + return data['variables'] + data['glossary'] diff --git a/addons/dialogic/Other/DialogicResources.gd b/addons/dialogic/Other/DialogicResources.gd new file mode 100644 index 0000000..470f0fc --- /dev/null +++ b/addons/dialogic/Other/DialogicResources.gd @@ -0,0 +1,455 @@ +tool +class_name DialogicResources + +## This class is used by the DialogicEditor to access the resources files +## For example by the Editors (Timeline, Character, Theme), the MasterTree and the EventParts + +## It is also used by the DialogicUtil class + +const RESOURCES_DIR: String = "res://dialogic" # Readonly, used for static data +const WORKING_DIR: String = "user://dialogic" # Readwrite, used for saves + + +## ***************************************************************************** +## BASIC JSON FUNCTION +## ***************************************************************************** +static func load_json(path: String, default: Dictionary={}) -> Dictionary: + # An easy function to load json files and handle common errors. + var file := File.new() + if file.open(path, File.READ) != OK: + file.close() + return default + var data_text: String = file.get_as_text() + file.close() + if data_text.empty(): + return default + var data_parse: JSONParseResult = JSON.parse(data_text) + if data_parse.error != OK: + return default + + var final_data = data_parse.result + if typeof(final_data) == TYPE_DICTIONARY: + return final_data + + # If everything else fails + return default + + +static func set_json(path: String, data: Dictionary): + var file = File.new() + var err = file.open(path, File.WRITE) + if err == OK: + file.store_line(JSON.print(data, '\t', true)) + file.close() + return err + + +## ***************************************************************************** +## INITIALIZATION +## ***************************************************************************** +static func init_dialogic_files() -> void: + # This functions makes sure that the needed files and folders + # exists when the plugin is loaded. If they don't, we create + # them. + # WARNING: only call while in the editor + var directory = Directory.new() + var paths = get_working_directories() + var files = get_config_files_paths() + # Create directories + for dir in paths: + if not directory.dir_exists(paths[dir]): + directory.make_dir_recursive(paths[dir]) + if dir == 'THEME_DIR': + directory.copy('res://addons/dialogic/Editor/ThemeEditor/default-theme.cfg', str(paths[dir], '/default-theme.cfg')) + # Create empty files + for f in files: + if not directory.file_exists(files[f]): + create_empty_file(files[f]) + + +static func get_working_directories() -> Dictionary: + return { + 'RESOURCES_DIR': RESOURCES_DIR, + 'WORKING_DIR': WORKING_DIR, + 'TIMELINE_DIR': RESOURCES_DIR + "/timelines", + 'THEME_DIR': RESOURCES_DIR + "/themes", + 'CHAR_DIR': RESOURCES_DIR + "/characters", + 'CUSTOM_EVENTS_DIR': RESOURCES_DIR + "/custom-events" + } + + +static func get_config_files_paths() -> Dictionary: + return { + 'SETTINGS_FILE': RESOURCES_DIR + "/settings.cfg", + 'DEFAULT_DEFINITIONS_FILE': RESOURCES_DIR + "/definitions.json", + 'FOLDER_STRUCTURE_FILE': RESOURCES_DIR + "/folder_structure.json", + 'DEFINITIONS_DEFAULT_SAVE': WORKING_DIR + "/definitions_default_save.json", + 'STATE_DEFAULT_SAVE': WORKING_DIR + "/state_default_save.json" + } + + +## ***************************************************************************** +## BASIC FILE FUNCTION +## ***************************************************************************** +static func get_path(name: String, extra: String ='') -> String: + var paths: Dictionary = get_working_directories() + if extra != '': + return paths[name] + '/' + extra + else: + return paths[name] + + +static func get_filename_from_path(path: String, extension = false) -> String: + var file_name: String = path.split('/')[-1] + if extension == false: + file_name = file_name.split('.')[0] + return file_name + + +static func listdir(path: String) -> Array: + # https://docs.godotengine.org/en/stable/classes/class_directory.html#description + var files: Array = [] + var dir := Directory.new() + var err = dir.open(path) + if err == OK: + dir.list_dir_begin() + var file_name = dir.get_next() + while file_name != "": + if not dir.current_is_dir() and not file_name.begins_with("."): + files.append(file_name) + file_name = dir.get_next() + dir.list_dir_end() + else: + print("[Dialogic] Error while accessing path " + path + " - Error: " + str(err)) + return files + + +static func create_empty_file(path): + var file = File.new() + file.open(path, File.WRITE) + file.store_string('') + file.close() + + +static func remove_file(path: String): + var dir = Directory.new() + var _err = dir.remove(path) + + if _err != OK: + print("[D] There was an error when deleting file at {filepath}. Error: {error}".format( + {"filepath":path,"error":_err} + )) + + +static func copy_file(path_from, path_to): + if (path_from == ''): + push_error("[Dialogic] Could not copy empty filename") + return ERR_FILE_BAD_PATH + + if (path_to == ''): + push_error("[Dialogic] Could not copy to empty filename") + return ERR_FILE_BAD_PATH + + var dir = Directory.new() + if (not dir.file_exists(path_from)): + push_error("[Dialogic] Could not copy file %s, File does not exists" % [ path_from ]) + return ERR_FILE_NOT_FOUND + + if (dir.file_exists(path_to)): + push_error("[Dialogic] Could not copy file to %s, file already exists" % [ path_to ]) + return ERR_ALREADY_EXISTS + + var error = dir.copy(path_from, path_to) + if (error): + push_error("[Dialogic] Error while copying %s to %s" % [ path_from, path_to ]) + push_error(error) + return error + + return OK + pass + + +## ***************************************************************************** +## CONFIG +## ***************************************************************************** +static func get_config(id: String) -> ConfigFile: + var paths := get_config_files_paths() + var config := ConfigFile.new() + if id in paths.keys(): + var err = config.load(paths[id]) + if err != OK: + print("[Dialogic] Error while opening config file " + paths[id] + ". Error: " + str(err)) + return config + + +## ***************************************************************************** +## TIMELINES +## ***************************************************************************** +# Can only be edited in the editor + +static func get_timeline_json(path: String): + return load_json(get_path('TIMELINE_DIR', path)) + + +static func set_timeline(timeline: Dictionary): + # WARNING: For use in the editor only + set_json(get_path('TIMELINE_DIR', timeline['metadata']['file']), timeline) + + +static func delete_timeline(filename: String): + # WARNING: For use in the editor only + remove_file(get_path('TIMELINE_DIR', filename)) + + +## ***************************************************************************** +## CHARACTERS +## ***************************************************************************** +# Can only be edited in the editor + +static func get_character_json(path: String): + return load_json(get_path('CHAR_DIR', path)) + + +static func set_character(character: Dictionary): + # WARNING: For use in the editor only + set_json(get_path('CHAR_DIR', character['id']), character) + + +static func delete_character(filename: String): + # WARNING: For use in the editor only + remove_file(get_path('CHAR_DIR', filename)) + + +## ***************************************************************************** +## THEMES +## ***************************************************************************** +# Can only be edited in the editor + +static func get_theme_config(filename: String): + var config = ConfigFile.new() + var path + if filename.begins_with('res://'): + path = filename + else: + path = get_path('THEME_DIR', filename) + var err = config.load(path) + if err == OK: + return config + + +static func set_theme_value(filename, section, key, value): + # WARNING: For use in the editor only + var config = get_theme_config(filename) + config.set_value(section, key, value) + config.save(get_path('THEME_DIR', filename)) + + +static func add_theme(filename: String): + create_empty_file(get_path('THEME_DIR', filename)) + + +static func delete_theme(filename: String): + remove_file(get_path('THEME_DIR', filename)) + + +static func duplicate_theme(from_filename: String, to_filename: String): + copy_file(get_path('THEME_DIR', from_filename), get_path('THEME_DIR', to_filename)) + +## ***************************************************************************** +## SETTINGS +## ***************************************************************************** +# Can only be edited in the editor + + +static func get_settings_config() -> ConfigFile: + return get_config("SETTINGS_FILE") + + +static func set_settings_value(section: String, key: String, value): + var config = get_settings_config() + config.set_value(section, key, value) + config.save(get_config_files_paths()['SETTINGS_FILE']) + +## ***************************************************************************** +## DEFAULT DEFINITIONS +## ***************************************************************************** +# Can only be edited in the editor + + +static func get_default_definitions() -> Dictionary: + return load_json(get_config_files_paths()['DEFAULT_DEFINITIONS_FILE'], {'variables': [], 'glossary': []}) + + +static func save_default_definitions(data: Dictionary): + set_json(get_config_files_paths()['DEFAULT_DEFINITIONS_FILE'], data) + + +static func get_default_definition_item(id: String): + var data = get_default_definitions() + return DialogicDefinitionsUtil.get_definition_by_id(data, id) + + +static func set_default_definition_variable(id: String, name: String, value): + # WARNING: For use in the editor only + var data = get_default_definitions() + DialogicDefinitionsUtil.set_definition_variable(data, id, name, value) + save_default_definitions(data) + + +static func set_default_definition_glossary(id: String, name: String, extra_title: String, extra_text: String, extra_extra: String): + # WARNING: For use in the editor only + var data = get_default_definitions() + DialogicDefinitionsUtil.set_definition_glossary(data, id, name, extra_title, extra_text, extra_extra) + save_default_definitions(data) + + +static func delete_default_definition(id: String): + # WARNING: For use in the editor only + var data = get_default_definitions() + DialogicDefinitionsUtil.delete_definition(data, id) + save_default_definitions(data) + + + +## ***************************************************************************** +## SAVES DURING GAME +## ***************************************************************************** +# Folders in the user://dialogic directory function as save_slots. + +# retruns a list of all save folders. +# -> this returns a list of the save_slot-names +static func get_saves_folders() -> Array: + var save_folders = [] + var directory := Directory.new() + if directory.open(WORKING_DIR) != OK: + print("[D] Error: Failed to access working directory.") + return [] + + directory.list_dir_begin() + var file_name = directory.get_next() + while file_name != "": + if directory.current_is_dir() and not file_name.begins_with("."): + save_folders.append(file_name) + file_name = directory.get_next() + + return save_folders + +# this adds a new save folder with the given name +static func add_save_folder(save_name: String) -> void: + var directory := Directory.new() + if directory.open(WORKING_DIR) != OK: + print("[D] Error: Failed to access working directory.") + return + directory.make_dir(save_name) + + var file := File.new() + if file.open(WORKING_DIR+"/"+save_name+"/definitions.json", File.WRITE) == OK: + file.store_string('') + file.close() + if file.open(WORKING_DIR+"/"+save_name+"/state.json", File.WRITE) == OK: + file.store_string('') + file.close() + +# this removes the given folder +static func remove_save_folder(save_name: String) -> void: + var directory := Directory.new() + if directory.open(WORKING_DIR+"/"+save_name) != OK: + print("[D] Error: Failed to access save folder '"+save_name+"'.") + return + + directory.list_dir_begin() + var file_name = directory.get_next() + while file_name != "": + directory.remove(file_name) + file_name = directory.get_next() + directory.remove(WORKING_DIR+"/"+save_name) + +# reset the definitions and state of the given save folder (or default) +static func reset_save(save_name: String = '') -> void: + save_state_info(save_name, {}) + save_definitions(save_name, get_default_definitions()) + +# saves the state_info into the state.json file in the save folder "save_name" +static func save_state_info(save_name: String, state_info: Dictionary) -> void: + if save_name == '': + set_json(get_config_files_paths()['STATE_DEFAULT_SAVE'], state_info) + return + + if not save_name in get_saves_folders(): + add_save_folder(save_name) + + set_json(WORKING_DIR+"/"+save_name+"/state.json", state_info) + +# return the state_info from the state.json file in the save folder "save_name" +static func get_saved_state_info(save_name: String) -> Dictionary: + if save_name == '': + return load_json(get_config_files_paths()['STATE_DEFAULT_SAVE'], {}) + + if not save_name in get_saves_folders(): + return {} + + return load_json(WORKING_DIR+"/"+save_name+"/state.json", {}) + +# saves the given definitions into the definitions.json file in the save folder "save name" +static func save_definitions(save_name: String, definitions_info: Dictionary) -> void: + if save_name == "": + set_json(get_config_files_paths()['DEFINITIONS_DEFAULT_SAVE'], definitions_info) + return + + if not save_name in get_saves_folders(): + add_save_folder(save_name) + + set_json(WORKING_DIR+"/"+save_name+"/definitions.json", definitions_info) + +# return the definition info from the definiiotn.json in the save folder "save name" +static func get_saved_definitions(save_name: String = '') -> Dictionary: + if save_name == '': + return load_json(get_config_files_paths()['DEFINITIONS_DEFAULT_SAVE'], get_default_definitions()) + + if not save_name in get_saves_folders(): + print("[D] Wasn't able to find save '"+save_name+"'. Loaded the default definitions.") + return get_default_definitions() + + return load_json(WORKING_DIR+"/"+save_name+"/definitions.json", {}) + + + +## ***************************************************************************** +## FOLDER STRUCTURE +## ***************************************************************************** +# The DialogicEditor uses a fake folder structure +# Can only be edited in the editor + +static func get_resource_folder_structure() -> Dictionary: + return load_json(get_config_files_paths()['FOLDER_STRUCTURE_FILE'], + {"folders": + {"Timelines": + { + "folders":{}, + "files":[], + 'metadata':{'color':null, 'folded':false} + }, + "Characters": + { + "folders":{}, + "files":[], + 'metadata':{'color':null, 'folded':false} + }, + "Definitions": + { + "folders":{}, + "files":[], + 'metadata':{'color':null, 'folded':false} + }, + "Themes": + { + "folders":{}, + "files":[], + 'metadata':{'color':null, 'folded':false} + }, + }, + "files":[] + }) + +static func save_resource_folder_structure(data): + set_json(get_config_files_paths()['FOLDER_STRUCTURE_FILE'], data) diff --git a/addons/dialogic/Other/DialogicSharp.cs b/addons/dialogic/Other/DialogicSharp.cs new file mode 100644 index 0000000..9d8f3db --- /dev/null +++ b/addons/dialogic/Other/DialogicSharp.cs @@ -0,0 +1,109 @@ +using Godot; +using GC = Godot.Collections; +using System; + +public static class DialogicSharp +{ + private static Script _dialogic = GD.Load